/* ============================================================
   Tema dark "L2" para el ACM — se carga despues de style.css
   Paleta: fondo azul-noche, acentos dorados, texto pergamino.
   ============================================================ */

:root {
    --l2-bg:        #0d1117;
    --l2-bg2:       #131a26;
    --l2-panel:     #1a2233;
    --l2-panel2:    #212b40;
    --l2-border:    #2e3a52;
    --l2-gold:      #c9a227;
    --l2-gold-hi:   #e8c555;
    --l2-text:      #d8d3c3;
    --l2-text-dim:  #8d94a7;
    --l2-link:      #7ea8e0;
    --l2-danger:    #c0524a;
    --l2-success:   #5a9e6f;
}

/* ---------- Base ---------- */
body, #page-top {
    background-color: var(--l2-bg) !important;
    color: var(--l2-text);
}
#content-wrapper, #content {
    background-color: var(--l2-bg) !important;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 {
    color: var(--l2-gold-hi) !important;
    font-weight: 600;
}
a { color: var(--l2-link); }
a:hover { color: var(--l2-gold-hi); }
hr, .sidebar-divider { border-top: 1px solid var(--l2-border) !important; }
.text-gray-100, .text-gray-200, .text-gray-300, .text-gray-400,
.text-gray-500, .text-gray-600, .text-gray-700, .text-gray-800,
.text-gray-900 { color: var(--l2-text) !important; }
.text-muted, .form-text { color: var(--l2-text-dim) !important; }

/* ---------- Sidebar ---------- */
.sidebar, .bg-gradient-primary {
    background: linear-gradient(180deg, #141c2e 0%, #0d1420 100%) !important;
    border-right: 1px solid var(--l2-border);
}
.sidebar .sidebar-brand { color: var(--l2-gold-hi) !important; }
.sidebar .sidebar-brand-text {
    font-family: Georgia, 'Times New Roman', serif;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.sidebar .sidebar-heading { color: var(--l2-gold) !important; }
.sidebar .nav-item .nav-link { color: var(--l2-text-dim) !important; }
.sidebar .nav-item .nav-link i { color: var(--l2-gold) !important; }
.sidebar .nav-item .nav-link:hover,
.sidebar .nav-item.active .nav-link { color: var(--l2-gold-hi) !important; }
.sidebar .nav-item.active { background: rgba(201,162,39,.08); }
.sidebar .collapse-item { color: var(--l2-text-dim); }
.sidebar .collapse-item:hover { color: var(--l2-gold-hi); }
#sidebarToggle { background-color: var(--l2-panel2) !important; }
#sidebarToggle::after { color: var(--l2-gold) !important; }

/* ---------- Topbar ---------- */
.topbar, .navbar-light {
    background-color: var(--l2-bg2) !important;
    border-bottom: 1px solid var(--l2-border) !important;
}
.topbar .nav-link, .topbar .nav-link .mr-2 { color: var(--l2-text) !important; }

/* ---------- Cards ---------- */
.card, .card-body, .card-header, .card-footer,
.dropdown-menu, .modal-content, .list-group-item {
    background-color: var(--l2-panel) !important;
    border-color: var(--l2-border) !important;
    color: var(--l2-text);
}
.card { border: 1px solid var(--l2-border); box-shadow: 0 2px 10px rgba(0,0,0,.4); }
.card-header, .card-header .h6, .card-header .m-0 {
    background-color: var(--l2-panel2) !important;
    border-bottom: 1px solid var(--l2-border) !important;
    color: var(--l2-gold-hi) !important;
}
.border-left-primary { border-left: .25rem solid var(--l2-gold) !important; }
.border-left-success { border-left: .25rem solid var(--l2-success) !important; }
.border-left-danger  { border-left: .25rem solid var(--l2-danger) !important; }
.border-left-info    { border-left: .25rem solid var(--l2-link) !important; }
.border-left-warning { border-left: .25rem solid var(--l2-gold) !important; }

/* ---------- Botones ---------- */
.btn-primary {
    background-color: var(--l2-gold) !important;
    border-color: var(--l2-gold) !important;
    color: #14100a !important;
    font-weight: 600;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--l2-gold-hi) !important;
    border-color: var(--l2-gold-hi) !important;
    color: #14100a !important;
}
.btn-secondary {
    background-color: var(--l2-panel2) !important;
    border-color: var(--l2-border) !important;
    color: var(--l2-text) !important;
}
.btn-secondary:hover { background-color: var(--l2-border) !important; }
.btn-danger  { background-color: var(--l2-danger) !important; border-color: var(--l2-danger) !important; }
.btn-success { background-color: var(--l2-success) !important; border-color: var(--l2-success) !important; }
.btn-info    { background-color: #3d5a80 !important; border-color: #3d5a80 !important; }

/* ---------- Formularios ---------- */
.form-control, .form-control:focus, select.form-control, textarea.form-control,
.custom-select, .custom-select:focus, .page-link {
    background-color: var(--l2-bg2) !important;
    border: 1px solid var(--l2-border) !important;
    color: var(--l2-text) !important;
}
.form-control::placeholder { color: var(--l2-text-dim); }
.form-control:focus, .custom-select:focus {
    border-color: var(--l2-gold) !important;
    box-shadow: 0 0 0 .15rem rgba(201,162,39,.25) !important;
}
label, .col-form-label { color: var(--l2-text) !important; }
.input-group-text {
    background-color: var(--l2-panel2) !important;
    border-color: var(--l2-border) !important;
    color: var(--l2-text-dim) !important;
}

/* ---------- Tablas ---------- */
.table, .table td, .table th {
    border-color: var(--l2-border) !important;
    color: var(--l2-text) !important;
}
.table thead th {
    background-color: var(--l2-panel2);
    color: var(--l2-gold-hi) !important;
    border-bottom: 2px solid var(--l2-gold) !important;
}
.table tfoot { display: none; }
.table-striped tbody tr:nth-of-type(odd) { background-color: rgba(255,255,255,.03); }
.table-hover tbody tr:hover { background-color: rgba(201,162,39,.07) !important; color: var(--l2-text); }
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    background-color: var(--l2-bg2); color: var(--l2-text);
    border: 1px solid var(--l2-border);
}
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter { color: var(--l2-text-dim) !important; }
.page-item.active .page-link {
    background-color: var(--l2-gold) !important;
    border-color: var(--l2-gold) !important;
    color: #14100a !important;
}
.page-link:hover { color: var(--l2-gold-hi) !important; }

/* ---------- Dropdowns / modales / badges ---------- */
.dropdown-item { color: var(--l2-text) !important; }
.dropdown-item:hover {
    background-color: var(--l2-panel2) !important;
    color: var(--l2-gold-hi) !important;
}
.dropdown-divider { border-top: 1px solid var(--l2-border) !important; }
.modal-header, .modal-footer { border-color: var(--l2-border) !important; }
.close { color: var(--l2-text) !important; }
.badge-primary { background-color: var(--l2-gold) !important; color: #14100a !important; }
.badge-success { background-color: var(--l2-success) !important; }
.badge-danger  { background-color: var(--l2-danger) !important; }
.badge-warning { background-color: var(--l2-gold) !important; color: #14100a !important; }
.badge-info    { background-color: #3d5a80 !important; }
.badge-secondary { background-color: var(--l2-panel2) !important; color: var(--l2-text); }

/* ---------- Login / páginas públicas ---------- */
body.bg-gradient-primary {
    background: radial-gradient(ellipse at top, #1a2233 0%, #0a0e14 70%) !important;
    min-height: 100vh;
}
.login-logo, .main-logo { filter: drop-shadow(0 0 12px rgba(201,162,39,.35)); }
body.bg-gradient-primary .card {
    border: 1px solid var(--l2-border);
    box-shadow: 0 8px 40px rgba(0,0,0,.6);
}

/* ---------- Scroll to top / scrollbar ---------- */
.scroll-to-top { background: var(--l2-panel2) !important; border: 1px solid var(--l2-border); }
.scroll-to-top:hover { background: var(--l2-gold) !important; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--l2-bg); }
::-webkit-scrollbar-thumb { background: var(--l2-border); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--l2-gold); }

/* ---------- Alertas ---------- */
.alert { border-color: var(--l2-border); }
.alert-success { background-color: #1d3325; color: #a8d5b7; border-color: #2f5138; }
.alert-danger  { background-color: #3a2120; color: #e2a19b; border-color: #5a332f; }
.alert-warning { background-color: #3a3015; color: var(--l2-gold-hi); border-color: #5c4d1e; }
.alert-info    { background-color: #1b2a40; color: #9dbce0; border-color: #2c4160; }

/* ---------- Footer ---------- */
.sticky-footer, footer.sticky-footer {
    background-color: var(--l2-bg2) !important;
    border-top: 1px solid var(--l2-border);
}
