/* ===== Mode gelap/terang — pelengkap untuk seluruh halaman (dimuat paling akhir) ===== */
:root{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}

/* Tombol tema melayang di halaman login */
.theme-fab{position:fixed;top:14px;right:14px;z-index:60;width:42px;height:42px;display:flex;align-items:center;justify-content:center;
  border-radius:999px;background:rgba(255,255,255,.92);color:#0b3a8a;border:1px solid rgba(11,58,138,.18);box-shadow:0 4px 16px rgba(3,15,40,.28);cursor:pointer}
.theme-fab:hover{background:#fff}
.theme-fab .i{width:20px;height:20px}
:root[data-theme="dark"] .theme-fab{background:rgba(18,38,77,.94);color:#ffd36b;border-color:#2d5aa8}
:root[data-theme="dark"] .theme-fab:hover{background:#173766}
#themeBtn{cursor:pointer}

/* Halaman login */
:root[data-theme="dark"] .login-side{background:transparent}
:root[data-theme="dark"] .login-card{background:#12264d;border-color:#22427a;box-shadow:0 10px 40px rgba(0,0,0,.5)}
:root[data-theme="dark"] .login-card h2{color:#8fc0ff}
:root[data-theme="dark"] .login-card label,:root[data-theme="dark"] .login-card .chk{color:#c5d6f5}
:root[data-theme="dark"] .login-card .input-wrap{background:#0e2145;border-color:#22427a}
:root[data-theme="dark"] .login-card .input-wrap input{background:transparent;color:var(--ink)}
:root[data-theme="dark"] .login-card input::placeholder{color:#6f87b3}
:root[data-theme="dark"] .login-card .tabs{background:#0e2145;border-color:#22427a}
:root[data-theme="dark"] .login-card .tab{color:#a9c1ea}
:root[data-theme="dark"] .login-card .tab.active{background:#173766;color:#fff}
:root[data-theme="dark"] .login-card .rules,:root[data-theme="dark"] .login-card .rules li{color:#9db8e3}
:root[data-theme="dark"] .login-card .notice{background:#16294f;border-color:#2d5aa8;color:#c5d6f5}
:root[data-theme="dark"] .login-card .link{color:#8fc0ff}
:root[data-theme="dark"] .login-card .eye{color:#8fa8d6}

/* Menu pengguna, tooltip, toast, kolom isian di semua halaman */
:root[data-theme="dark"] .user-menu,:root[data-theme="dark"] .menu{background:#12264d;border-color:#22427a;color:var(--ink)}
:root[data-theme="dark"] .tip{background:#0e2145;color:var(--ink);border-color:#2d5aa8}
:root[data-theme="dark"] input[type="date"],:root[data-theme="dark"] input[type="search"],:root[data-theme="dark"] input[type="text"],:root[data-theme="dark"] select{color-scheme:dark}
:root[data-theme="dark"] .sel select,:root[data-theme="dark"] .sel input{background:#0e2145;color:var(--ink);border-color:#22427a}
:root[data-theme="dark"] .range-pop{background:#12264d;border-color:#22427a;color:var(--ink)}
:root[data-theme="dark"] .range-pop .quick button{background:#0e2145;color:var(--ink);border-color:#22427a}
:root[data-theme="dark"] .range-pop .quick button:hover{background:#173766}
:root[data-theme="dark"] .rt td{color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] .rt tr:hover td{background:#173766}
:root[data-theme="dark"] .card,:root[data-theme="dark"] .panel{color:var(--ink)}
:root[data-theme="dark"] .src-line,:root[data-theme="dark"] .mut{color:#8fa8d6}

@media print{:root[data-theme="dark"]{--bg:#fff;--card:#fff;--ink:#0b1b3a;--muted:#5b6b8c;--line:#d5dff0}.theme-fab{display:none}}

/* Label filter terbaca di mode gelap */
:root[data-theme="dark"] .sel label,:root[data-theme="dark"] .range label,:root[data-theme="dark"] .fbar label,:root[data-theme="dark"] .filter label{color:#c5d6f5}
