body {
    font-size: 18px;
    height: 100%;
    background-color: #FFF;
    min-width:555px;
}

/*-------- Navbar --------*/

.navbar .nav-link {
    font-size: 20px;
    background-color: #04021c;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.bg-dark {
    background-color: #04021c!important;
}

.navbar-nav > li > a:hover {
    transition: all 0.3s;
    color: #FFF;
}

.navbar .active {
    background: #FFF !important;
    color: #000 !important;    
}

.navbar-nav > li > a:hover {
    cursor:pointer;
    background-color: #FFF;
    color: #000 !important; 
}

#overview {
    min-height: 100%;
}

#leaderboard {
    background-color: #FAFAFA;
    min-height: 800px;
}

#main-footer {
    background: #000;
    color: #636e72;
}

.link { 
    cursor: pointer; 
}

body {
    background-color: #f8f9fa;
    font-family: 'Ubuntu Mono', monospace;
}

/* ── Upload button ── */
.btn-upload {
    background: #0062cc;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 5px 14px;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.2s;
}
.btn-upload:hover { background: #004999; color: #fff; }

/* ── Drop-zone inside modal ── */
.drop-zone {
    border: 2px dashed #0062cc;
    border-radius: 8px;
    padding: 40px 20px;
    text-align: center;
    background: #f0f6ff;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
    position: relative;
}
.drop-zone.dragover {
    background: #d6eaff;
    border-color: #004999;
}
.drop-zone input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}
.drop-zone-icon { font-size: 2.5rem; color: #0062cc; margin-bottom: 10px; }
.drop-zone-label { color: #555; font-size: 0.9rem; }
.drop-zone-label span { color: #0062cc; font-weight: bold; }

/* Selected file pill */
.file-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e8f0fe;
    border: 1px solid #c2d5f8;
    border-radius: 20px;
    padding: 4px 12px;
    font-size: 0.82rem;
    color: #1a3a6b;
    margin-top: 12px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.file-pill .remove-file {
    cursor: pointer;
    color: #c0392b;
    font-weight: bold;
    flex-shrink: 0;
}

/* Progress bar */
.upload-progress { display: none; margin-top: 14px; }

/* Status badge */
.status-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.78rem;
    font-weight: 600;
}
.status-badge.pending   { background:#fff3cd; color:#856404; }
.status-badge.uploading { background:#cce5ff; color:#004085; }
.status-badge.success   { background:#d4edda; color:#155724; }
.status-badge.error     { background:#f8d7da; color:#721c24; }

/* Footer */
#main-footer { padding: 20px 0; background: #343a40; color: #adb5bd; margin-top: 20px; }

/* Table tweaks */
.table td, .table th { vertical-align: middle; }
