/* ═══════════════════════════════════════════════════════════════
   MuEclipse — Bootstrap Overrides — Eclipse / Violet Theme
═══════════════════════════════════════════════════════════════ */

/* Tables */
.table>tbody>tr>td,
.table>tbody>tr>th,
.table>tfoot>tr>td,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>thead>tr>th {
    border-top: 1px solid rgba(29,78,216,0.1) !important;
    color: #c9dcf0;
    padding: 10px 12px;
}
.table { color: #c9dcf0; }
.table>thead>tr>th {
    font-family: 'Outfit', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #4ab8ff;
    border-bottom: 1px solid rgba(29,78,216,0.3) !important;
    background: rgba(29,78,216,0.06);
}

a:focus, a:hover { color: inherit !important; text-decoration: none !important; }

/* Form controls */
.form-control {
    background: rgba(9,7,26,0.9);
    border: 1px solid rgba(29,78,216,0.2);
    color: #eef6fb;
    border-radius: 4px;
    box-shadow: none;
    font-family: 'DM Sans', sans-serif;
}
.form-control:focus {
    border: 1px solid rgba(29,78,216,0.55);
    box-shadow: 0 0 8px rgba(29,78,216,0.18);
    background: rgba(9,7,26,0.9);
    color: #eef6fb;
}
.form-control::placeholder { color: #7d8fae; }

/* Utilities */
.nopadding { padding: 0 !important; margin: 0 !important; }
.vcenter { display: inline-block; vertical-align: middle; float: none; }

/* Thumbnails */
.thumbnail {
    background-color: rgba(9,7,26,0.9);
    border: 1px solid rgba(29,78,216,0.15);
    transition: all 0.3s ease;
    border-radius: 4px;
}
a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active {
    border-color: #1d4ed8;
    box-shadow: 0 0 30px rgba(29,78,216,0.25);
}

/* Buttons */
.btn-primary {
    color: #fff;
    background: #1d4ed8;
    border: none;
    border-radius: 4px;
    font-family: 'Outfit', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: all 0.2s ease;
}
.btn-primary:active, .btn-primary:focus, .btn-primary:hover {
    color: #fff !important;
    background: #4ab8ff !important;
    border: none;
    box-shadow: 0 0 15px rgba(29,78,216,0.4);
}
.btn-xs {
    font-family: 'Outfit', sans-serif;
    font-size: 0.62rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-radius: 3px;
    padding: 3px 10px;
}

/* Modal override */
.modal-content {
    -webkit-box-shadow: 0 0 40px rgba(29,78,216,0.25) !important;
    box-shadow: 0 0 40px rgba(29,78,216,0.25) !important;
    background-color: #071019 !important;
    border: 1px solid rgba(29,78,216,0.3) !important;
    border-radius: 8px !important;
}

/* Tables - bordered */
.table-bordered {
    border: 1px solid rgba(29,78,216,0.15) !important;
    background: rgba(9,7,26,0.6);
}
.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: rgba(29,78,216,0.04) !important;
}
.table-hover>tbody>tr:hover {
    background-color: rgba(29,78,216,0.08) !important;
}
.table-bordered>tbody>tr>td,
.table-bordered>tbody>tr>th,
.table-bordered>tfoot>tr>td,
.table-bordered>tfoot>tr>th,
.table-bordered>thead>tr>td,
.table-bordered>thead>tr>th {
    border: 1px solid rgba(29,78,216,0.1) !important;
}

/* Pagination */
.pagination>li>a,
.pagination>li>span {
    background: rgba(9,7,26,0.9);
    border: 1px solid rgba(29,78,216,0.22);
    color: #4ab8ff;
    border-radius: 0 !important;
    font-family: 'Outfit', sans-serif;
}
.pagination>.active>a,
.pagination>.active>span {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #fff;
}
.pagination>li>a:hover { background: rgba(29,78,216,0.12); color: #4ab8ff; }

/* Alerts */
.alert { border-radius: 4px; border: 1px solid rgba(29,78,216,0.3); }
.alert-info { background: rgba(30,58,138,0.12); color: #c9dcf0; border-color: rgba(29,78,216,0.3); }
.alert-success { background: rgba(0,100,50,0.2); color: #a0ffb0; border-color: rgba(0,200,80,0.25); }
.alert-danger { background: rgba(120,20,20,0.2); color: #ffaaaa; border-color: rgba(255,60,60,0.25); }
.alert-warning { background: rgba(100,80,0,0.2); color: #ffe080; border-color: rgba(200,160,0,0.25); }

/* Well */
.well {
    background: rgba(9,7,26,0.8);
    border: 1px solid rgba(29,78,216,0.15);
    border-radius: 6px;
    box-shadow: none;
    color: #c9dcf0;
}

/* Labels/badges */
.label-primary { background: #1d4ed8; }
.label-info    { background: #1e3a8a; }
.badge         { background: #1d4ed8; color: #fff; }

/* Nav pills (used in rankings) */
.nav-pills>li>a {
    border-radius: 3px;
    color: #4ab8ff;
    background: rgba(9,7,26,0.9);
    border: 1px solid rgba(29,78,216,0.22);
    font-family: 'Outfit', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.nav-pills>li.active>a,
.nav-pills>li.active>a:focus,
.nav-pills>li.active>a:hover {
    background: #1d4ed8;
    color: #fff;
    border-color: #1d4ed8;
}
.nav-pills>li>a:hover {
    background: rgba(29,78,216,0.12);
    color: #22d3ee;
    border-color: rgba(29,78,216,0.4);
}

/* Panel overrides */
.panel { background: rgba(9,7,26,0.9); border-color: rgba(29,78,216,0.15); color: #c9dcf0; }
.panel-default>.panel-heading { background: rgba(29,78,216,0.1); border-color: rgba(29,78,216,0.2); color: #eef6fb; }
.panel-body { color: #c9dcf0; }
.panel-title { color: #eef6fb; font-family: 'Outfit', sans-serif; font-weight: 600; letter-spacing: 1px; }

/* Progress bars */
.progress { background: rgba(29,78,216,0.1); border-radius: 4px; box-shadow: none; }
.progress-bar { background: linear-gradient(90deg,#1d4ed8,#4ab8ff); }

/* ══ FORCE VIOLET THEME — always wins ══════════════════════════ */
body { background-color: #04070d !important; color: #eef6fb !important; }
.top-panel { background: rgba(5,4,14,0.85) !important; border-bottom-color: rgba(29,78,216,0.12) !important; }
.top-panel.solid { background: rgba(5,4,14,0.97) !important; }
.btn-logout { color: #7d8fae !important; background: transparent !important; border-color: rgba(255,255,255,0.07) !important; }
.btn-logout:hover { color: #eef6fb !important; }
.button { color: #4ab8ff !important; border-color: rgba(74,184,255,0.45) !important; }
.buttonDark { background: linear-gradient(135deg,#1d4ed8,#1e3a8a) !important; color: #fff !important; }

/* Logo size hard caps */
.nav-brand-wrap img { height: 34px !important; width: auto !important; max-width: none !important; }
.ec-logo-moon { width: 72px !important; max-width: 72px !important; height: auto !important; }
.fb img { height: 42px !important; width: auto !important; max-width: none !important; }
