/* ═══════════════════════════════════════════════════════════════
   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(220,38,38,0.1) !important;
    color: #e8cccc;
    padding: 10px 12px;
}
.table { color: #e8cccc; }
.table>thead>tr>th {
    font-family: 'Outfit', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #ef4444;
    border-bottom: 1px solid rgba(220,38,38,0.3) !important;
    background: rgba(220,38,38,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(220,38,38,0.2);
    color: #fbeeee;
    border-radius: 4px;
    box-shadow: none;
    font-family: 'DM Sans', sans-serif;
}
.form-control:focus {
    border: 1px solid rgba(220,38,38,0.55);
    box-shadow: 0 0 8px rgba(220,38,38,0.18);
    background: rgba(9,7,26,0.9);
    color: #fbeeee;
}
.form-control::placeholder { color: #7a6666; }

/* 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(220,38,38,0.15);
    transition: all 0.3s ease;
    border-radius: 4px;
}
a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active {
    border-color: #b91c1c;
    box-shadow: 0 0 30px rgba(220,38,38,0.25);
}

/* Buttons */
.btn-primary {
    color: #fff;
    background: #b91c1c;
    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: #ef4444 !important;
    border: none;
    box-shadow: 0 0 15px rgba(220,38,38,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(220,38,38,0.25) !important;
    box-shadow: 0 0 40px rgba(220,38,38,0.25) !important;
    background-color: #130707 !important;
    border: 1px solid rgba(220,38,38,0.3) !important;
    border-radius: 8px !important;
}

/* Tables - bordered */
.table-bordered {
    border: 1px solid rgba(220,38,38,0.15) !important;
    background: rgba(9,7,26,0.6);
}
.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: rgba(220,38,38,0.04) !important;
}
.table-hover>tbody>tr:hover {
    background-color: rgba(220,38,38,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(220,38,38,0.1) !important;
}

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

/* Alerts */
.alert { border-radius: 4px; border: 1px solid rgba(220,38,38,0.3); }
.alert-info { background: rgba(127,29,29,0.12); color: #e8cccc; border-color: rgba(220,38,38,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(220,38,38,0.15);
    border-radius: 6px;
    box-shadow: none;
    color: #e8cccc;
}

/* Labels/badges */
.label-primary { background: #b91c1c; }
.label-info    { background: #7f1d1d; }
.badge         { background: #b91c1c; color: #fff; }

/* Nav pills (used in rankings) */
.nav-pills>li>a {
    border-radius: 3px;
    color: #ef4444;
    background: rgba(9,7,26,0.9);
    border: 1px solid rgba(220,38,38,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: #b91c1c;
    color: #fff;
    border-color: #b91c1c;
}
.nav-pills>li>a:hover {
    background: rgba(220,38,38,0.12);
    color: #f97316;
    border-color: rgba(220,38,38,0.4);
}

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

/* Progress bars */
.progress { background: rgba(220,38,38,0.1); border-radius: 4px; box-shadow: none; }
.progress-bar { background: linear-gradient(90deg,#b91c1c,#ef4444); }

/* ══ FORCE VIOLET THEME — always wins ══════════════════════════ */
body { background-color: #0a0404 !important; color: #fbeeee !important; }
.top-panel { background: rgba(5,4,14,0.85) !important; border-bottom-color: rgba(220,38,38,0.12) !important; }
.top-panel.solid { background: rgba(5,4,14,0.97) !important; }
.btn-logout { color: #7a6666 !important; background: transparent !important; border-color: rgba(255,255,255,0.07) !important; }
.btn-logout:hover { color: #fbeeee !important; }
.button { color: #ef4444 !important; border-color: rgba(239,68,68,0.45) !important; }
.buttonDark { background: linear-gradient(135deg,#b91c1c,#7f1d1d) !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; }
