/* ================================================================
   JIDC Modern v5 — Complete Design System
   Handles: new login layout + original template markup
   Light & Dark · Mobile-first
   ================================================================ */

:root {
  --primary: #2563eb;
  --primary-dark: #1d4ed8;
  --primary-light: #dbeafe;
  --primary-50: #eff6ff;
  --accent: #0ea5e9;
  --success: #10b981;
  --warning: #f59e0b;
  --danger: #ef4444;
  --bg: #f8fafc;
  --surface: #ffffff;
  --surface-2: #f1f5f9;
  --ink: #0f172a;
  --ink-2: #475569;
  --ink-3: #94a3b8;
  --border: #e2e8f0;
  --shadow-sm: 0 1px 2px 0 rgba(15,23,42,.04);
  --shadow: 0 1px 3px rgba(15,23,42,.06),0 4px 12px rgba(15,23,42,.04);
  --shadow-lg: 0 4px 6px -1px rgba(15,23,42,.05),0 10px 25px -4px rgba(15,23,42,.08);
  --radius-xl: 20px;
  --radius-lg: 16px;
  --radius: 12px;
  --radius-sm: 10px;
  --radius-xs: 8px;
  --font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --transition: all .2s cubic-bezier(.4,0,.2,1);
}

[data-theme="dark"] {
  --primary: #3b82f6;
  --primary-dark: #60a5fa;
  --primary-light: rgba(59,130,246,.15);
  --primary-50: rgba(59,130,246,.08);
  --accent: #38bdf8;
  --bg: #0f172a;
  --surface: #1e293b;
  --surface-2: #334155;
  --ink: #f1f5f9;
  --ink-2: #cbd5e1;
  --ink-3: #64748b;
  --border: #334155;
  --shadow-sm: 0 1px 2px 0 rgba(0,0,0,.3);
  --shadow: 0 1px 3px rgba(0,0,0,.3),0 4px 12px rgba(0,0,0,.2);
  --shadow-lg: 0 4px 6px -1px rgba(0,0,0,.3),0 10px 25px -4px rgba(0,0,0,.4);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font)!important;background:var(--bg)!important;color:var(--ink)!important;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}

/* Theme Toggle */
.theme-toggle{position:fixed;top:1rem;right:1rem;z-index:9999;width:40px;height:40px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);transition:var(--transition);font-size:1.1rem}
.theme-toggle:hover{transform:scale(1.1);box-shadow:var(--shadow-lg)}
[data-theme="dark"] .theme-toggle .sun{display:none}
.theme-toggle .moon{display:none}
[data-theme="dark"] .theme-toggle .moon{display:block}

/* Typography */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font)!important;color:var(--ink)!important;font-weight:700!important;letter-spacing:-.025em!important;line-height:1.25!important}
p,li,td,th,label{color:var(--ink-2)!important}
a{color:var(--primary)!important;text-decoration:none!important;transition:var(--transition)}
a:hover{color:var(--primary-dark)!important}

/* ========== NEW LOGIN LAYOUT (.jidc-auth) ========== */
.jidc-auth{display:flex;min-height:100vh;background:var(--bg);position:relative}
.jidc-auth-brand{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--primary-50) 0%,var(--bg) 100%)}
.jidc-auth-brand::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(37,99,235,.06) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(14,165,233,.06) 0%,transparent 50%)}
.jidc-auth-brand-inner{position:relative;z-index:1;max-width:420px;text-align:center}
.jidc-auth-brand-inner .logo img{height:48px;margin-bottom:2rem}
.jidc-auth-brand-inner h1{font-size:2.5rem;font-weight:800;color:var(--ink);margin-bottom:1rem;line-height:1.2}
.jidc-auth-brand-inner p{font-size:1.1rem;color:var(--ink-2);line-height:1.7}
.jidc-auth-form{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}
.jidc-auth-card{width:100%;max-width:420px;background:var(--surface);border-radius:var(--radius-xl);padding:2.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border)}
.jidc-auth-tabs{display:flex;gap:1.5rem;border-bottom:2px solid var(--border);margin-bottom:1.5rem}
.jidc-auth-tabs a{padding:.75rem 0;color:var(--ink-3);font-weight:600;font-size:.95rem;border-bottom:2.5px solid transparent;margin-bottom:-2px;transition:var(--transition);cursor:pointer}
.jidc-auth-tabs a:hover{color:var(--ink-2)}
.jidc-auth-tabs a.active{color:var(--primary);border-bottom-color:var(--primary)}
.jidc-auth .form-group{margin-bottom:1.25rem}
.jidc-auth label{display:block;font-size:.875rem;font-weight:600;color:var(--ink-2);margin-bottom:.375rem}
.jidc-auth .form-control{width:100%;border:1.5px solid var(--border);border-radius:var(--radius-xs);padding:.875rem 1rem;font-size:.95rem;color:var(--ink);background:var(--surface-2);transition:var(--transition);height:auto}
.jidc-auth .form-control:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 4px var(--primary-light);outline:none}
.jidc-auth .input-group{display:flex}
.jidc-auth .input-group-prepend{flex-shrink:0}
.jidc-auth .input-group-prepend select{border:1.5px solid var(--border);border-right:none;border-radius:var(--radius-xs) 0 0 var(--radius-xs);padding:.875rem .75rem;font-size:.9rem;background:var(--surface-2);color:var(--ink);height:auto}
.jidc-auth .input-group .form-control{border-radius:0 var(--radius-xs) var(--radius-xs) 0}
.jidc-auth .input-group-append{flex-shrink:0}
.jidc-auth .input-group-append .btn{border-radius:0 var(--radius-xs) var(--radius-xs) 0;height:100%;padding:.875rem 1rem}
.jidc-auth .btn-primary{width:100%;padding:.875rem;font-size:1rem;font-weight:600;border-radius:var(--radius-sm);background:var(--primary);color:#fff;border:none;box-shadow:0 4px 14px rgba(37,99,235,.25);transition:var(--transition);cursor:pointer}
.jidc-auth .btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 8px 20px rgba(37,99,235,.35)}
.jidc-auth .btn-primary:disabled{background:var(--ink-3);cursor:not-allowed;box-shadow:none}
.jidc-auth .form-link{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;margin-bottom:1.25rem}
.jidc-auth .form-link a{color:var(--primary);font-weight:500}
.jidc-auth .auth-footer{text-align:center;margin-top:1.5rem;color:var(--ink-3);font-size:.875rem}
.jidc-auth .auth-footer a{color:var(--primary);font-weight:600}
.jidc-auth .social-login{display:flex;justify-content:center;gap:.75rem;margin-top:1.5rem}
.jidc-auth .social-login a{width:40px;height:40px;border-radius:var(--radius-xs);background:var(--surface-2);display:flex;align-items:center;justify-content:center;transition:var(--transition);border:1px solid var(--border)}
.jidc-auth .social-login a:hover{background:var(--primary-light);border-color:var(--primary);transform:translateY(-2px)}

@media(max-width:991px){
  .jidc-auth-brand{display:none!important}
  .jidc-auth-form{padding:1.5rem;background:var(--bg)}
  .jidc-auth-card{padding:0;box-shadow:none;border:none;background:transparent}
  .jidc-auth .form-control{background:var(--surface)}
}

/* ========== ORIGINAL AUTH PAGES (register/pwreset) ========== */
.auth-full-bg,.bglogo{display:none!important}
.auth-full-page-content{background:transparent!important;min-height:auto!important;padding:0!important}
.login_right,.register_right{width:100%!important;max-width:460px!important;margin:0 auto!important;background:var(--surface)!important;border-radius:var(--radius-xl)!important;padding:2.5rem!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--border)!important}
.affs-nav{border-bottom:2px solid var(--border)!important;margin-bottom:1.5rem!important;display:flex!important;gap:1.5rem!important}
.affs-nav .nav-link{color:var(--ink-3)!important;font-weight:600!important;padding:.75rem 0!important;border:none!important;border-bottom:2.5px solid transparent!important;margin-right:0!important;margin-bottom:-2px!important;background:transparent!important;font-size:.95rem!important}
.affs-nav .nav-link.active{color:var(--primary)!important;border-bottom-color:var(--primary)!important}
.container-fluid.p-0{padding:0!important}
.row.no-gutters{margin:0!important;justify-content:center!important;align-items:center!important;min-height:100vh!important}
.col-xl-7.bglogo{display:none!important}
.auth-pages .form-control,.auth-full-page-content .form-control{border:1.5px solid var(--border)!important;border-radius:var(--radius-xs)!important;padding:.875rem 1rem!important;font-size:.95rem!important;height:auto!important;background:var(--surface-2)!important;transition:var(--transition)!important}
.auth-pages .form-control:focus,.auth-full-page-content .form-control:focus{border-color:var(--primary)!important;background:var(--surface)!important;box-shadow:0 0 0 4px var(--primary-light)!important}
.auth-pages .btn-primary,.auth-full-page-content .btn-primary{background:var(--primary)!important;border:none!important;border-radius:var(--radius-sm)!important;padding:.875rem!important;font-weight:600!important;font-size:1rem!important;box-shadow:0 4px 14px rgba(37,99,235,.25)!important;transition:var(--transition)!important;color:#fff!important}
.auth-pages .btn-primary:hover,.auth-full-page-content .btn-primary:hover{background:var(--primary-dark)!important;transform:translateY(-1px)!important;box-shadow:0 8px 20px rgba(37,99,235,.35)!important}
.mt-5.text-center p{color:var(--ink-2)!important;font-size:.875rem!important}
.mt-5.text-center a{font-weight:600!important;color:var(--primary)!important}
.social-list-item{border:none!important;background:var(--surface-2)!important;border-radius:var(--radius-xs)!important;padding:8px!important;transition:var(--transition)!important}
.social-list-item:hover{background:var(--primary-light)!important;border-color:var(--primary)!important;transform:translateY(-2px)!important}
.allow_login_code_captcha{display:none!important}
.pointer{cursor:pointer}

/* ========== CARDS ========== */
.card{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow)!important;transition:var(--transition)!important;margin-bottom:1.25rem!important}
.card-body{padding:1.5rem!important}
.card-header{background:transparent!important;border-bottom:1px solid var(--border)!important;padding:1.25rem 1.5rem!important;font-weight:700!important;font-size:1.05rem!important;color:var(--ink)!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
.card-footer{background:transparent!important;border-top:1px solid var(--border)!important;padding:1rem 1.5rem!important}
.card:hover{box-shadow:var(--shadow-lg)!important}

/* ========== BUTTONS ========== */
.btn{border-radius:var(--radius-sm)!important;font-weight:600!important;padding:.6rem 1.2rem!important;font-size:.875rem!important;transition:var(--transition)!important;border:none!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;gap:.5rem!important}
.btn-primary{background:var(--primary)!important;color:#fff!important;box-shadow:0 4px 12px rgba(37,99,235,.2)!important}
.btn-primary:hover{background:var(--primary-dark)!important;transform:translateY(-1px)!important;box-shadow:0 8px 20px rgba(37,99,235,.3)!important;color:#fff!important}
.btn-primary:disabled{background:var(--ink-3)!important;cursor:not-allowed!important;box-shadow:none!important}
.btn-outline-primary{color:var(--primary)!important;border:1.5px solid var(--primary)!important;background:transparent!important}
.btn-outline-primary:hover{background:var(--primary)!important;color:#fff!important}
.btn-light{background:var(--surface-2)!important;color:var(--ink-2)!important}
.btn-light:hover{background:var(--border)!important;color:var(--ink)!important}
.btn-success{background:var(--success)!important;color:#fff!important}
.btn-danger{background:var(--danger)!important;color:#fff!important}
.btn-sm{padding:.45rem .85rem!important;font-size:.8125rem!important;border-radius:var(--radius-xs)!important}

/* ========== FORMS ========== */
.form-control,.custom-select,.bootstrap-select>.dropdown-toggle{border:1.5px solid var(--border)!important;border-radius:var(--radius-xs)!important;padding:.625rem .875rem!important;font-size:.875rem!important;color:var(--ink)!important;background:var(--surface)!important;transition:var(--transition)!important;height:auto!important;min-height:44px!important;width:100%!important}
.form-control:focus,.custom-select:focus,.bootstrap-select>.dropdown-toggle:focus{border-color:var(--primary)!important;background:var(--surface)!important;box-shadow:0 0 0 3px var(--primary-light)!important;outline:none!important}
.form-control::placeholder{color:var(--ink-3)!important}
.input-group-text{background:var(--surface-2)!important;border:1.5px solid var(--border)!important;border-radius:var(--radius-xs)!important;color:var(--ink-2)!important;font-size:.875rem!important}
label{font-weight:600!important;color:var(--ink-2)!important;font-size:.875rem!important;margin-bottom:.375rem!important;display:block!important}
.form-group{margin-bottom:1.25rem!important}
.custom-control-input:checked~.custom-control-label::before{background:var(--primary)!important;border-color:var(--primary)!important}

/* ========== TABLES ========== */
.table{width:100%!important;color:var(--ink-2)!important;border-collapse:separate!important;border-spacing:0!important}
.table th{border-top:none!important;border-bottom:2px solid var(--border)!important;color:var(--ink-3)!important;font-weight:700!important;font-size:.75rem!important;text-transform:uppercase!important;letter-spacing:.05em!important;padding:.75rem 1rem!important;background:var(--surface-2)!important}
.table td{padding:.75rem 1rem!important;border-top:1px solid var(--border)!important;vertical-align:middle!important;font-size:.875rem!important}
.table-hover tbody tr:hover{background:var(--primary-50)!important}

/* ========== SIDEBAR ========== */
.vertical-menu{background:var(--surface)!important;border-right:1px solid var(--border)!important}
#sidebar-menu{padding-top:.5rem!important}
#sidebar-menu .metismenu{list-style:none!important;padding:0!important;margin:0!important}
#sidebar-menu .metismenu li a{display:flex!important;align-items:center!important;gap:.625rem!important;padding:.7rem 1rem!important;margin:.125rem .75rem!important;border-radius:var(--radius-xs)!important;color:var(--ink-2)!important;font-size:.875rem!important;font-weight:500!important;transition:var(--transition)!important}
#sidebar-menu .metismenu li a i{font-size:1.05rem!important;color:var(--ink-3)!important;width:20px!important;text-align:center!important;transition:var(--transition)!important}
#sidebar-menu .metismenu li a:hover{background:var(--surface-2)!important;color:var(--primary)!important}
#sidebar-menu .metismenu li a:hover i{color:var(--primary)!important}
#sidebar-menu .metismenu>li.mm-active>a,#sidebar-menu .metismenu>li>a.active{background:var(--primary-light)!important;color:var(--primary)!important;font-weight:600!important}
#sidebar-menu .metismenu>li.mm-active>a i,#sidebar-menu .metismenu>li>a.active i{color:var(--primary)!important}
#sidebar-menu .sub-menu{padding-left:.625rem!important;list-style:none!important}
#sidebar-menu .sub-menu li a{font-size:.8125rem!important;padding:.5rem 1rem .5rem 2rem!important}
#sidebar-menu .menu-title{padding:1rem 1.25rem .25rem!important;font-size:.6875rem!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--ink-3)!important;font-weight:700!important}

/* ========== PAGE HEADER / BREADCRUMB ========== */
.page-title-box{padding:1.25rem 0 .75rem!important}
.page-title-box h4{font-size:1.35rem!important;font-weight:800!important;color:var(--ink)!important;letter-spacing:-.02em!important}
.breadcrumb{background:transparent!important;padding:0!important;font-size:.875rem!important;margin:0!important}
.breadcrumb-item a{color:var(--ink-3)!important}
.breadcrumb-item.active{color:var(--ink-2)!important}

/* ========== FOOTER ========== */
.footer{background:transparent!important;border-top:1px solid var(--border)!important;color:var(--ink-3)!important;font-size:.875rem!important;padding:1.25rem 0!important}

/* ========== TOPBAR ========== */
.navbar-header{background:var(--surface)!important;border-bottom:1px solid var(--border)!important}
.header-profile-user{width:36px!important;height:36px!important;border-radius:50%!important;object-fit:cover!important;border:2px solid var(--border)!important}

/* ========== NAV TABS ========== */
.nav-tabs{border-bottom:2px solid var(--border)!important;gap:1.5rem!important}
.nav-tabs .nav-link{border:none!important;color:var(--ink-3)!important;font-weight:600!important;padding:.75rem 0!important;background:transparent!important;border-bottom:2px solid transparent!important;margin-bottom:-2px!important;transition:var(--transition)!important}
.nav-tabs .nav-link:hover{color:var(--ink-2)!important}
.nav-tabs .nav-link.active{color:var(--primary)!important;border-bottom-color:var(--primary)!important;background:transparent!important}

/* ========== PAGINATION ========== */
.pagination .page-link{border:1.5px solid var(--border)!important;color:var(--ink-2)!important;background:var(--surface)!important;border-radius:var(--radius-xs)!important;margin:0 .125rem!important;transition:var(--transition)!important;font-weight:500!important}
.pagination .page-link:hover{background:var(--surface-2)!important;border-color:var(--primary)!important;color:var(--primary)!important}
.pagination .page-item.active .page-link{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}

/* ========== BADGES ========== */
.badge{border-radius:6px!important;font-weight:600!important;font-size:.75rem!important;padding:.35em .65em!important}
.badge-primary{background:var(--primary-light)!important;color:var(--primary)!important}
.badge-success{background:rgba(16,185,129,.12)!important;color:var(--success)!important}
.badge-warning{background:rgba(245,158,11,.12)!important;color:var(--warning)!important}
.badge-danger{background:rgba(239,68,68,.12)!important;color:var(--danger)!important}

/* ========== DROPDOWNS ========== */
.dropdown-menu{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;box-shadow:var(--shadow-lg)!important;padding:.5rem 0!important}
.dropdown-item{color:var(--ink-2)!important;font-size:.875rem!important;padding:.5rem 1rem!important;font-weight:500!important;transition:var(--transition)!important}
.dropdown-item:hover{background:var(--surface-2)!important;color:var(--primary)!important}
.dropdown-divider{border-top:1px solid var(--border)!important}

/* ========== ALERTS ========== */
.alert{border-radius:var(--radius-sm)!important;border:none!important;padding:1rem 1.25rem!important;font-size:.875rem!important}
.alert-danger{background:rgba(239,68,68,.08)!important;color:var(--danger)!important}
.alert-success{background:rgba(16,185,129,.08)!important;color:var(--success)!important}
.alert-warning{background:rgba(245,158,11,.08)!important;color:var(--warning)!important}
.alert-info{background:rgba(14,165,233,.08)!important;color:var(--accent)!important}

/* ========== MODALS ========== */
.modal-content{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important}
.modal-header{border-bottom:1px solid var(--border)!important;padding:1.25rem 1.5rem!important}
.modal-header h5{font-weight:700!important;font-size:1.1rem!important}
.modal-body{padding:1.5rem!important}
.modal-footer{border-top:1px solid var(--border)!important;padding:1rem 1.5rem!important}

/* ========== PROGRESS ========== */
.progress{background:var(--surface-2)!important;border-radius:100px!important;height:8px!important;overflow:hidden!important}
.progress-bar{background:var(--primary)!important;border-radius:100px!important}

/* ========== UTILITIES ========== */
.border{border-color:var(--border)!important}
.bg-white,.bg-light{background:var(--surface)!important}
.text-muted{color:var(--ink-3)!important}
.text-primary{color:var(--primary)!important}
.text-success{color:var(--success)!important}
.text-warning{color:var(--warning)!important}
.text-danger{color:var(--danger)!important}
.shadow-sm{box-shadow:var(--shadow-sm)!important}
.shadow{box-shadow:var(--shadow)!important}
.rounded-lg{border-radius:var(--radius-lg)!important}
.rounded{border-radius:var(--radius)!important}

/* ========== ANIMATIONS ========== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ========== RESPONSIVE ========== */
@media(max-width:991px){
  .page-content{padding:1rem!important}
  .card-body{padding:1.25rem!important}
  .d-lg-none{display:block!important}
  .navbar-brand-box{padding-left:1rem!important}
  .topnav{display:none!important}
  .main-content{margin-left:0!important}
}
@media(max-width:768px){
  .page-title-box h4{font-size:1.1rem!important}
  .jidc-auth .jidc-auth-card{padding:1.5rem!important}
  .login_right,.register_right{padding:1.5rem!important}
}

/* ========== BOOTSTRAP SELECT OVERRIDE ========== */
.bootstrap-select>.dropdown-toggle{background:var(--surface)!important;border:1.5px solid var(--border)!important;color:var(--ink)!important;border-radius:var(--radius-xs)!important}
.bootstrap-select .dropdown-menu{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important}
.bootstrap-select .dropdown-item{color:var(--ink-2)!important}
.bootstrap-select .dropdown-item.active,.bootstrap-select .dropdown-item:hover{background:var(--primary-light)!important;color:var(--primary)!important}

/* ========== SUMMERNOTE / EDITOR ========== */
.note-editor{background:var(--surface)!important;border:1.5px solid var(--border)!important;border-radius:var(--radius-sm)!important}
.note-toolbar{background:var(--surface-2)!important;border-bottom:1px solid var(--border)!important}
.note-editable{background:var(--surface)!important;color:var(--ink)!important}

/* ========== SCROLLBAR ========== */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--ink-3);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--ink-2)}
[data-theme="dark"] ::-webkit-scrollbar-thumb{background:var(--ink-3)}

/* ========== CHART CONTAINERS ========== */
#echarts-balance,#echarts-pie{width:100%!important;height:300px!important}

/* ========== ORIGINAL SPECIFIC FIXES ========== */
[style*="background-color: #1a73e8"],[style*="background-color:#1a73e8"]{background:var(--primary)!important}
[style*="background: #1a73e8"],[style*="background:#1a73e8"]{background:var(--primary)!important}
.counter-value{font-size:1.5rem!important;font-weight:700!important;color:var(--ink)!important}
.card .avatar-title{background:var(--primary-light)!important;color:var(--primary)!important;border-radius:var(--radius-xs)!important}
.list-group-item{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--ink-2)!important}
.list-group-item.active{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}

/* ================================================================
   PATCH 1: Logo display + Table backgrounds + White patches
   ================================================================ */

/* --- Logo: dark/light switching --- */
.logo-dark{display:block}
.logo-light{display:none}
[data-theme="dark"] .logo-dark{display:none!important}
[data-theme="dark"] .logo-light{display:block!important}
.navbar-brand-box{display:flex!important;align-items:center!important;padding:0 1.25rem!important;height:70px!important}
.navbar-brand-box .logo{display:flex!important;align-items:center!important}
.navbar-brand-box img{max-height:36px!important;width:auto!important;display:block!important}

/* --- Tables: force theme backgrounds everywhere --- */
.table,.table-responsive,.table tbody,.table thead,.table tfoot{background:transparent!important}
.table tbody tr{background:var(--surface)!important}
.table tbody tr td{background:var(--surface)!important;color:var(--ink-2)!important;border-color:var(--border)!important}
.table thead tr th{background:var(--surface-2)!important;color:var(--ink-3)!important;border-color:var(--border)!important}
.table-striped tbody tr:nth-of-type(odd){background:var(--surface-2)!important}
.table-striped tbody tr:nth-of-type(odd) td{background:var(--surface-2)!important}
.table-hover tbody tr:hover{background:var(--primary-50)!important}
.table-hover tbody tr:hover td{background:var(--primary-50)!important}

/* --- Kill any hardcoded white backgrounds in cards/bodies --- */
.card .table-responsive{background:transparent!important}
.card-body .table{background:transparent!important}

/* --- Pagination / datatables fixes --- */
.dataTables_wrapper .row:last-child,.dataTables_info,.dataTables_paginate,
.pagination-container,.page-info{background:transparent!important;color:var(--ink-2)!important}
.dataTables_length select{background:var(--surface)!important;color:var(--ink)!important;border:1.5px solid var(--border)!important;border-radius:var(--radius-xs)!important}

/* --- Any remaining inline-style white backgrounds --- */
[style*="background-color: #fff"],[style*="background-color:#fff"],
[style*="background-color: #ffffff"],[style*="background-color:#ffffff"],
[style*="background-color: white"],[style*="background-color:white"],
[style*="background: #fff"],[style*="background:#fff"],
[style*="background: #ffffff"],[style*="background:#ffffff"]{
  background:var(--surface)!important
}

/* --- Sidebar logo area background --- */
.vertical-menu .navbar-brand-box,.sidebar-menu .navbar-brand-box{background:transparent!important}

/* --- Ensure card bodies don't leak white --- */
.card .card-body .table td,.card .card-body .table th{border-color:var(--border)!important}

/* --- Logo auto-invert for dark mode (fallback if image is dark-on-dark) --- */
[data-theme="dark"] .logo-light img{filter:brightness(0) invert(1)!important}


/* ================================================================
   PATCH 2: List-group + Logo + Theme toggle position
   ================================================================ */

/* --- 1. 已开通产品按钮(list-group-item)强制主题色 --- */
.list-group-item,.list-group-item-action{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--ink-2)!important}
.list-group-item:hover,.list-group-item-action:hover,.list-group-item:focus,.list-group-item-action:focus{background:var(--surface-2)!important;color:var(--ink)!important}
.list-group-item.active{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}
.list-group-item i{color:var(--primary)!important}
.list-group-item .badge-primary{background:var(--primary-light)!important;color:var(--primary)!important}

/* 原始Bootstrap可能用a标签渲染，确保a标签颜色也正确 */
a.list-group-item,a.list-group-item-action{color:var(--ink-2)!important}
a.list-group-item:hover,a.list-group-item-action:hover{color:var(--ink)!important}

/* --- 2. LOGO强制显示（释放原始模板对logo-lg/logo-sm的隐藏） --- */
.navbar-brand-box .logo,.navbar-brand-box .logo-dark,.navbar-brand-box .logo-light{display:flex!important;align-items:center!important;height:100%!important}
.navbar-brand-box .logo-lg,.navbar-brand-box .logo-sm{display:inline-flex!important;align-items:center!important;visibility:visible!important;opacity:1!important}
.navbar-brand-box img{display:block!important;max-height:32px!important;width:auto!important;visibility:visible!important;opacity:1!important}
/* 夜间模式logo自动反色兜底 */
[data-theme="dark"] .navbar-brand-box .logo-dark img{filter:brightness(0) invert(1)!important}
[data-theme="dark"] .navbar-brand-box .logo-light img{filter:none!important}

/* --- 3. 主题切换按钮位置调整 --- */
/* 桌面端：移到sidebar右侧，内容区左上角，避免和头像重叠 */
.theme-toggle{position:fixed;top:14px;left:260px;right:auto;z-index:9999;width:36px;height:36px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);transition:var(--transition);font-size:1rem}

/* 移动端(<992px)：sidebar折叠，按钮回到右上角但往下移避免重叠header */
@media(max-width:991px){
  .theme-toggle{left:auto;right:10px;top:80px}
}

/* 小屏手机(<768px)：继续下移 */
@media(max-width:767px){
  .theme-toggle{top:70px;right:8px}
}