:root{--bg:#06182e;--pn:#0b2545;--ln:#1c4a7a;--tx:#e8f1fb;--mu:#8fb0d1;--ac:#38bdf8;--ok:#22c55e;--wn:#facc15;--bd:#ef4444;--gy:#64748b;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#06182e}}
html{scroll-padding-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:14px/1.45 system-ui,"Segoe UI",Roboto,sans-serif}
header{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--ln)}
header h1{margin:0;font-size:20px;flex:1;min-width:240px;text-align:center;letter-spacing:.3px}header small{color:var(--mu);display:block;font-weight:400;font-size:12px}
.logo{width:46px;height:46px;border-radius:50%;background:#0b3b73;border:2px solid #d4a63a;display:grid;place-items:center;font-size:11px;font-weight:700;color:#f3c85a}
.bar{display:flex;gap:8px;flex-wrap:wrap;padding:10px 18px;align-items:center}
.chip,select,input{background:var(--pn);color:var(--tx);border:1px solid var(--ln);border-radius:8px;padding:7px 12px;font:inherit}
.chip{cursor:pointer}.chip.on{background:var(--ac);color:#04243d;font-weight:700;border-color:var(--ac)}.lbl{color:var(--mu);font-size:12px;margin-left:8px}
.grid{display:grid;gap:12px;padding:0 18px 18px}.k4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.card{background:linear-gradient(160deg,#0d2d52,#08203c);border:1px solid var(--ln);border-radius:14px;padding:12px 14px}
.card h3{margin:0 0 8px;font-size:14px;color:var(--ac)}.kpi b{font-size:30px;display:block;line-height:1.1}.kpi span{color:var(--mu);font-size:12px}
.main{grid-template-columns:minmax(260px,1fr) minmax(300px,1.3fr) minmax(300px,1.3fr)}@media(max-width:1000px){.main{grid-template-columns:1fr}}
.bw{display:flex;align-items:center;gap:8px;margin:5px 0;font-size:12px}.bw i{flex:0 0 104px;font-style:normal;color:var(--mu)}.bt{flex:1;display:flex;height:12px;border-radius:6px;overflow:hidden;background:#12365e}.bt u{display:block}
.Baik{background:var(--ok)}.PP{background:var(--wn)}.BD{background:var(--gy)}
.loc{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--ln);border-radius:10px;margin-bottom:7px;cursor:pointer;background:#0a2646}.loc:hover,.loc.sel{border-color:var(--ac);background:#0e3158}.loc small{color:var(--mu)}
.sc{max-height:560px;overflow:auto}.tg{font-size:11px;padding:2px 8px;border-radius:99px;white-space:nowrap;color:#04120a;font-weight:700;align-self:center}
.tg.Baik{background:var(--ok)}.tg.PP{background:var(--wn)}.tg.BD{background:#94a3b8}
.it{display:flex;align-items:center;gap:10px;padding:8px;border-bottom:1px solid #123a66;cursor:pointer}.it:hover{background:#0e3158}.it div{flex:1}.it small{color:var(--mu);display:block}
table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid #123a66;vertical-align:top}th{color:var(--mu);font-weight:600}
.md{position:fixed;inset:0;background:#000a;display:none;place-items:center;z-index:9;padding:14px}.md.on{display:grid}.mb{background:#0b2545;border:1px solid var(--ac);border-radius:16px;max-width:560px;width:100%;max-height:92vh;overflow:auto;padding:16px}
.ph{height:210px;border-radius:12px;background:repeating-linear-gradient(45deg,#0d2d52,#0d2d52 12px,#0a2646 12px,#0a2646 24px);display:grid;place-items:center;color:var(--mu);text-align:center;overflow:hidden}.ph img{width:100%;height:100%;object-fit:cover}
.row{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}.btn{background:var(--ac);color:#04243d;border:0;border-radius:8px;padding:7px 12px;font-weight:700;cursor:pointer;text-decoration:none;font-size:13px}.btn.g{background:#12365e;color:var(--tx)}
.dl{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;font-size:13px}.dl dt{color:var(--mu)}.dl dd{margin:0}

.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px}
.gi{border:1px solid var(--ln);border-radius:10px;overflow:hidden;cursor:pointer;background:#0a2646;position:relative}.gi:hover{border-color:var(--ac)}
.gi img{width:100%;height:84px;object-fit:cover;display:block}.gi div{padding:5px 7px;font-size:11.5px;line-height:1.25}.gi small{color:var(--mu);display:block}
.gi .tg{position:absolute;top:5px;right:5px;font-size:10px}.tg.RR{background:#fbbf24}.tg.RS{background:#fb923c}.tg.RB{background:#ef4444;color:#fff}
.RR{background:#fbbf24}.RS{background:#fb923c}.RB{background:#ef4444}.uc{margin:8px 0}.mb img.big{width:100%;border-radius:12px;display:block}
.main{grid-template-columns:260px minmax(230px,.9fr) minmax(300px,1.5fr) minmax(250px,1fr)}.gal{max-height:640px;overflow:auto}
.wk{position:fixed;inset:0;z-index:20;background:#06182e;display:none;flex-direction:column}.wk.on{display:flex}.wk-h{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--ln);padding-top:calc(10px + env(safe-area-inset-top,0px))}.wk-h b{flex:1;font-size:15px}.wk iframe{flex:1;border:0;width:100%;background:#f4f6f9}
.shell{display:block}.ct{min-width:0}.sbw{position:relative;min-height:min(720px,calc(100vh - 180px))}
.sb{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;background:#071f3a;border:1px solid var(--ln);border-radius:14px;padding:12px 10px 16px;font-size:13px;scrollbar-width:thin;scrollbar-color:var(--ln) transparent}
.sb button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:left}
.sb button:focus-visible{outline:2px solid var(--ac);outline-offset:1px}
.sb-h{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 10px;color:var(--mu);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.sb .sb-x{display:none;padding:2px 8px;border-radius:6px;color:var(--mu);font-size:14px}
.sb-it{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;border-radius:8px;color:var(--tx);line-height:1.3}
.sb-it span{flex:1;min-width:0;overflow-wrap:anywhere}
.sb-it b{flex:0 0 auto;min-width:28px;text-align:center;padding:1px 7px;border-radius:99px;background:#0e3158;color:var(--mu);font-size:11px;font-weight:600}
.sb-it b.z{opacity:.55}
.sb-it:hover,.sb-t:hover{background:#0e3158}
.sb-it.on{background:rgba(56,189,248,.16);box-shadow:inset 3px 0 0 var(--ac);color:#fff}
.sb-it.on b{background:var(--ac);color:#04243d}
.sb-it.par span{color:var(--ac)}
.sb-all{margin-bottom:6px;font-weight:600}
.sb-r{display:flex;align-items:stretch;gap:2px}
.sb-t{flex:0 0 28px;display:grid;place-items:center;border-radius:8px;color:var(--mu)}
.sb-t i{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s}
.sb-g.op>.sb-r>.sb-t i{transform:rotate(45deg)}
.sb-top>.sb-r>.sb-it{font-weight:700}
.sb-c .sb-r>.sb-it{font-weight:600}
.sb-c{margin:2px 0 4px 14px;padding-left:8px;border-left:1px solid var(--ln)}
.sb-g:not(.op)>.sb-c{display:none}
.sb-it.sb-w{padding:6px 10px;font-size:12.5px;font-weight:400;color:#cfe0f2}
.sb-it.sb-w.on{color:#fff;font-weight:600}
#crumb{gap:8px;align-items:center}#crumb small{font-size:12px}
.sbbk{display:none;position:fixed;inset:0;z-index:15;background:#000a}
header .sbtog{display:none;padding:10px 14px;font-size:16px}
@media(max-width:1180px){.main{grid-template-columns:1fr}.sbw{display:contents;min-height:0}
.sb{position:fixed;z-index:16;inset:0 auto 0 0;border-radius:0;height:auto;width:min(310px,88vw);transform:translateX(-102%);transition:transform .2s;padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
.sb.on{transform:none;box-shadow:0 0 40px #000a}.sbbk.on{display:block}
.sb .sb-x{display:block}header .sbtog{display:inline-block}}
@media(prefers-reduced-motion:reduce){.sb,.sb-t i{transition:none}}
.tg.XB{background:#2dd4bf}.XB{background:#2dd4bf}
.sb .sb-upd{width:100%;margin:8px 0;border:1px dashed var(--ac);color:var(--ac);font-weight:700}.sb .sb-upd:hover{background:rgba(56,189,248,.16)}
.sb-c .sb-c .sb-c{margin-left:8px;padding-left:6px}
.gi .pdf{height:84px;display:grid;place-items:center;background:#0d2d52;padding:0;text-align:center;font-size:12px;color:var(--mu)}
.emp{grid-column:1/-1;padding:18px 8px;text-align:center;color:var(--mu)}
.fm label{display:block;margin:12px 0 4px;color:var(--mu);font-size:12px}.fm select,.fm input{width:100%}.fm input[type=date]{color-scheme:dark}.fm input[type=file]{padding:8px}
.fm .f2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:480px){.fm .f2{grid-template-columns:1fr}}
.rq{color:var(--bd)}.er{color:#fca5a5;font-size:13px;margin-top:10px;min-height:1px}
#toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);max-width:92vw;background:#0e3158;border:1px solid var(--ac);padding:10px 16px;border-radius:10px;z-index:30;display:none;font-size:13px}
.mb.wide{max-width:900px}
.fm textarea{width:100%;background:var(--pn);color:var(--tx);border:1px solid var(--ln);border-radius:8px;padding:7px 12px;font:inherit;resize:vertical}
.sb .sb-lst{border-style:solid;color:var(--tx);margin-top:0}
.ls{border:1px solid var(--ln);border-radius:12px;padding:10px 12px;margin:10px 0;background:#0a2646}
.lh{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lh b{font-size:15px}.lh small{color:var(--mu);flex:1}
.lj{color:var(--mu);font-size:12.5px;margin:6px 0 4px}.lj b{color:var(--tx)}.lk{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.le{display:flex;gap:10px;padding:8px 0;border-top:1px solid #123a66;cursor:pointer}.le:hover{background:#0e3158}.le>div{flex:1;min-width:0}.le small{color:var(--mu)}
.le .ket{margin-top:3px;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}
.lt{flex:0 0 52px;width:52px;height:52px;border-radius:8px;object-fit:cover;background:#0d2d52;display:grid;place-items:center}

/* Bar filter menempel di atas: selalu terlihat di semua menu/sub menu */
.fbw{position:sticky;top:env(safe-area-inset-top,0px);z-index:8;background:var(--bg);border-bottom:1px solid var(--ln);box-shadow:0 6px 14px #0008;max-height:45vh;overflow-y:auto}
.fbw .bar{padding:6px 18px}
@media(max-width:600px){.fbw .bar{padding:5px 10px;gap:6px}.fbw .chip,.fbw select,.fbw input{padding:5px 9px;font-size:13px}.fbw input{flex:1;min-width:120px}}

/* Scrollbar disembunyikan di semua halaman/kolom (tetap bisa di-scroll) */
html,body,*{scrollbar-width:none!important;-ms-overflow-style:none!important}
html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}
