/* ── KKS DARK THEME — override buat halaman owner (finance + HR) ── */
:root{
  --ink:#f2f5fc; --mut:#9aa3c0; --sub:#9aa3c0; --line:rgba(255,255,255,.10);
  --bg:#0a0c16; --card:rgba(255,255,255,.045);
  --cream:#0e1120; --concrete:rgba(255,255,255,.12);
}
body{
  background:#0a0c16 !important; color:var(--ink) !important;
  background-image:radial-gradient(125% 95% at 50% -10%, #14182e 0%, #080a12 58%) !important;
  background-attachment:fixed !important;
}
.card,.note-card{
  background:rgba(255,255,255,.045) !important; border:1px solid var(--line) !important;
  box-shadow:0 12px 38px rgba(0,0,0,.4) !important; backdrop-filter:blur(16px) saturate(140%);
}
.card h2{color:var(--mut) !important;}
h1{color:var(--ink) !important;}

table{background:transparent !important;}
th{background:rgba(255,255,255,.05) !important; color:var(--mut) !important;}
td,th{border-color:var(--line) !important;}
tr+tr td{border-top-color:var(--line) !important;}
th.nm,td.nm{background:#0f1426 !important;}

/* kasih tau browser halaman ini gelap -> kontrol native (select, date picker, scrollbar) ikut gelap */
:root{ color-scheme: dark; }
input,select,input[type=month],input[type=date]{
  background:rgba(255,255,255,.06) !important; border:1px solid var(--line) !important; color:var(--ink) !important;
}
input::placeholder{color:#6b7494 !important;}
option{background:#14182e !important; color:var(--ink) !important;}
/* label grup dropdown (COGS/Supplies/Utilities dll) — default browser pudar, dibikin kontras */
optgroup{background:#0b0e1c !important; color:#ffd451 !important; font-weight:800 !important; font-style:normal !important;}
optgroup option{color:var(--ink) !important; font-weight:500 !important;}

/* tombol mini (Kelola Akun: Simpan / Nonaktifkan / Hapus) jangan putih */
.mini{ background:rgba(255,255,255,.08) !important; color:var(--ink) !important; border-color:var(--line) !important; }
.mini:hover{ background:rgba(255,255,255,.14) !important; }
.mini.warn{ color:#ffc05a !important; border-color:rgba(255,159,10,.45) !important; }
.mini.on{ color:#7ee0a0 !important; border-color:rgba(52,199,89,.45) !important; }
.mini.del{ color:#ff8a8a !important; border-color:rgba(255,59,48,.40) !important; }

.btn-ghost{background:rgba(255,255,255,.06) !important; color:var(--ink) !important; border:1px solid var(--line) !important;}
.flash{background:rgba(255,199,0,.12) !important; border:1px solid rgba(255,199,0,.32) !important; color:#ffe39a !important;}
.muted{color:var(--mut) !important;}
.pill{background:rgba(255,255,255,.09) !important; color:#c7cee6 !important;}
.row-strong td{border-top-color:rgba(255,255,255,.4) !important;}
.tot td{border-top-color:rgba(255,255,255,.45) !important;}
/* kolom/baris total (FULL/HALF) jangan putih */
.tot,td.tot,th.tot{background:rgba(255,255,255,.07) !important; color:var(--ink) !important;}
.tot td{background:rgba(255,255,255,.07) !important; color:var(--ink) !important;}
/* kartu statistik (jam masuk) jangan putih */
.stat{background:rgba(255,255,255,.045) !important; border:1px solid var(--line) !important;}
a.drill{color:var(--pink) !important;}
details summary{color:var(--mut) !important;}

/* attendance grid cells & legend tetap kebaca */
.wk{color:#ff7a8f !important;}
.legend .muted{color:var(--mut) !important;}

/* status pill di finance_manage biar pas di dark */
.st-pending{background:rgba(255,199,0,.16) !important; color:#ffd451 !important;}
.st-approved{background:rgba(24,215,203,.16) !important; color:#5ce0d6 !important;}
.st-rejected{background:rgba(255,90,90,.16) !important; color:#ff8a8a !important;}

/* ── dashboard utama / incentive (bespoke) ── */
.nav{background:rgba(14,17,36,.74) !important; border-bottom:1px solid var(--line) !important;}
.nav-right b{color:var(--ink) !important;}
.chip{background:rgba(255,255,255,.06) !important; color:var(--ink) !important; box-shadow:0 8px 24px rgba(0,0,0,.35) !important;}
.tile{background:rgba(255,255,255,.045) !important; box-shadow:0 12px 38px rgba(0,0,0,.42) !important;}
.tile .name{color:var(--mut) !important;}
.tile .tgt{background:rgba(255,255,255,.07) !important; color:var(--ink) !important;}
.tile .track{background:rgba(255,255,255,.1) !important;}
.row{border-bottom-color:var(--line) !important;}
.row .muted{color:var(--mut) !important;}
.gate{background:rgba(255,255,255,.05) !important;}
.news-item{border-bottom-color:var(--line) !important;}
.news-title{color:var(--ink) !important;}
.btn-sim{background:linear-gradient(135deg,#7d5cff,#5a2dff) !important; color:#fff !important;}
.simform label{color:var(--mut) !important;}
.eyebrow,.foot{color:var(--mut) !important;}
.perorang .muted{color:var(--ink) !important;}
.warn-card{color:#ff9a9a !important;}

/* login + tombol .btn polos (submit) jadi glass; tombol berwarna (btn-pink dll) gak kesentuh */
.box{background:rgba(255,255,255,.05) !important; border:1px solid var(--line) !important;
  box-shadow:0 16px 50px rgba(0,0,0,.5) !important;}
button.btn:not([class*="btn-"]),a.btn:not([class*="btn-"]){
  background:rgba(255,255,255,.1) !important; color:var(--ink) !important; border:1px solid var(--line) !important;}
.hint,.tagline,.foot,.credit{color:var(--mut) !important;}

/* ── GLOBAL OWNER SIDEBAR (persisten di semua halaman owner) ── */
body:has(aside.gsidebar){ padding-left:248px !important; }
aside.gsidebar{
  position:fixed; left:0; top:0; bottom:0; width:248px; z-index:200;
  background:rgba(8,10,18,.94) !important; backdrop-filter:blur(18px) saturate(140%);
  border-right:1px solid var(--line); padding:16px 14px 18px; overflow-y:auto;
  display:flex; flex-direction:column; gap:2px;
}
aside.gsidebar .gs-brand{ padding:4px 8px 14px; margin-bottom:6px; border-bottom:1px solid var(--line); }
aside.gsidebar .gs-logo{ height:30px; width:auto; display:block; }
aside.gsidebar a{ text-decoration:none; }
.gs-item,.gs-group>summary{ display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:11px;
  font-size:14px; font-weight:600; color:var(--ink) !important; cursor:pointer; }
.gs-item:hover,.gs-group>summary:hover{ background:rgba(255,255,255,.06); }
.gs-item.active{ background:linear-gradient(135deg,#FF2D87,#C71D78); color:#fff !important; box-shadow:0 8px 22px rgba(255,45,135,.32); }
.gs-group{ margin-top:2px; }
.gs-group>summary{ list-style:none; }
.gs-group>summary::-webkit-details-marker{ display:none; }
.gsidebar .g-t{ flex:1; }
.gsidebar .g-ic{ font-size:15px; width:20px; text-align:center; }
.gsidebar .chev{ font-size:18px; line-height:1; color:var(--mut) !important; transition:transform .18s ease; }
.gs-group[open]>summary .chev{ transform:rotate(90deg); }
.gs-sub{ display:flex; align-items:center; gap:8px; margin:2px 0 2px 18px; padding:9px 11px;
  border-left:1px solid var(--line); border-radius:0 9px 9px 0; font-size:13.5px; font-weight:500; color:var(--mut) !important; }
.gs-sub:hover{ background:rgba(255,255,255,.06); color:var(--ink) !important; border-left-color:#FF2D87; }
.gs-sub.active{ color:#fff !important; background:rgba(255,45,135,.16); border-left-color:#FF2D87; font-weight:600; }
.gs-logout{ margin-top:auto; padding:11px 12px; border-radius:11px; font-size:13.5px; font-weight:600; color:#ff9a9a !important; }
.gs-logout:hover{ background:rgba(255,90,90,.12); }
.gs-burger{ display:none; }
@media(max-width:860px){
  body:has(aside.gsidebar){ padding-left:0 !important; }
  aside.gsidebar{ left:-264px; transition:left .22s ease; box-shadow:0 0 44px rgba(0,0,0,.65); }
  .gs-toggle:checked ~ aside.gsidebar{ left:0; }
  .gs-burger{ display:flex; align-items:center; justify-content:center; position:fixed; left:13px; bottom:15px; z-index:201;
    width:50px; height:50px; border-radius:50%; background:linear-gradient(135deg,#FF2D87,#C71D78); color:#fff !important; font-size:22px;
    box-shadow:0 8px 24px rgba(255,45,135,.5); cursor:pointer; }
}

/* ── Update Toko (pre-shift gate) pages ── */
.utitle,.q,.prog,.roles label,.urow .t,.urow .t a,.ans .who{color:var(--ink) !important;}
.ubody{color:#e3e8f5 !important; border-left-color:var(--tosca) !important;}
.ans .txt{color:#e3e8f5 !important;}
.umeta,.sec,.urow .m,.empty{color:var(--mut) !important;}
.qlab,.qlabel{color:#ffd451 !important;}
.badge{background:rgba(255,45,135,.20) !important; color:#ff8cc0 !important;}
.ackrow{background:rgba(24,215,203,.10) !important; border:1px solid rgba(24,215,203,.32) !important; color:var(--ink) !important;}
.ans{background:rgba(255,255,255,.04) !important; border:1px solid var(--line) !important;}
.role{background:rgba(125,140,255,.22) !important; color:#c3ccff !important;}
.ptag{background:rgba(255,255,255,.06) !important; border:1px solid var(--line) !important; color:var(--ink) !important;}
.ptag.nolink{background:rgba(255,199,0,.14) !important; border-color:rgba(255,199,0,.40) !important; color:#ffd451 !important;}
.warn{background:rgba(255,199,0,.12) !important; border:1px solid rgba(255,199,0,.32) !important; color:#ffe39a !important;}
.urow{border-bottom-color:var(--line) !important;}
.pill.on{background:rgba(24,215,203,.16) !important; color:#5ce0d6 !important;}
.pill.off{background:rgba(255,255,255,.08) !important; color:var(--mut) !important;}
textarea{background:rgba(255,255,255,.06) !important; border:1px solid var(--line) !important; color:var(--ink) !important;}
textarea::placeholder{color:#6b7494 !important;}
label{color:var(--ink) !important;}

/* ── Feedback Shift (owner) — fix kontras box uneg-uneg di tema gelap ── */
.fb .cmt{background:rgba(255,255,255,.06) !important; color:#eef1fa !important;
  border:1px solid var(--line) !important; line-height:1.55;}
.anon{background:rgba(24,215,203,.10) !important; border:1px solid rgba(24,215,203,.32) !important; color:#bdeee8 !important;}
.fb .meta,.row .k,.empty{color:var(--mut) !important;}
.fb{border-bottom-color:var(--line) !important;}
.stars .off{color:rgba(255,255,255,.18) !important;}
.stat .n{color:#ffd451 !important;}
.stat .l{color:var(--mut) !important;}
