/* style.css: semua tampilan (warna, tata letak, menu atas, login, mode gelap) */
:root{--bg:#eef2f4;--sf:#fff;--ink:#12202b;--mut:#5d6f7c;--ln:#d5dee3;--ok:#0b7f80;--wr:#c97a00;--er:#c2402f;--ac:#12202b;--acx:#fff;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0e1820;--sf:#16232d;--ink:#e6eef2;--mut:#8da0ad;--ln:#26384a;--ok:#34c3c4;--wr:#f0a73a;--er:#ef7867;--ac:#34c3c4;--acx:#0e1820}}
:root[data-theme="dark"]{--bg:#0e1820;--sf:#16232d;--ink:#e6eef2;--mut:#8da0ad;--ln:#26384a;--ok:#34c3c4;--wr:#f0a73a;--er:#ef7867;--ac:#34c3c4;--acx:#0e1820}
*{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3,.num{font-family:"Bricolage Grotesque",system-ui,sans-serif;margin:0;letter-spacing:-.01em}
.app{min-height:100vh}
nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--sf);border-bottom:1px solid var(--ln)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--sf);z-index:31}
.bar{display:flex;align-items:center;gap:14px;padding:10px clamp(14px,3vw,36px)}
.brand{display:flex;align-items:center;gap:10px;font:700 18px "Bricolage Grotesque",sans-serif;line-height:1.1;color:var(--ink);text-decoration:none}
.brand small{display:block;font:400 12px system-ui;color:var(--mut)}
.logo{width:36px;height:36px;flex:none}
.links{display:flex;gap:2px;margin-left:auto}
.links a{padding:8px 12px;border-radius:8px;color:var(--mut);text-decoration:none;font-weight:500}
.links a.on{background:var(--ac);color:var(--acx)}
.kb{display:none;margin-left:auto;font-size:22px;line-height:1;padding:6px 14px;background:transparent;color:var(--ink);border:1px solid var(--ln)}
main{padding:24px clamp(14px,3vw,36px) 40px;max-width:1100px;width:100%}
.hd{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.hd h1{font-size:clamp(22px,4vw,30px)}.hd p{margin:2px 0 0;color:var(--mut)}
.live{display:flex;align-items:center;gap:7px;color:var(--mut);font-size:13px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--ok);display:inline-block}
.dot.er{background:var(--er)}.dot.wr{background:var(--wr)}
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0;border:1px solid var(--ln);border-radius:12px;background:var(--sf);overflow:hidden;margin-bottom:16px}
.sec{padding:14px;border-right:1px solid var(--ln)}.sec:last-child{border:0}
.bars{display:flex;gap:3px;align-items:end;height:42px;margin:8px 0 6px}
.bars i{flex:1;background:var(--ok);border-radius:2px;opacity:.28}.bars i.f{opacity:1}
.bars.wr i.f{background:var(--wr)}.bars.er i.f{background:var(--er)}
.sec b{font-weight:600}.sec span{color:var(--mut);font-size:13px}
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.card{background:var(--sf);border:1px solid var(--ln);border-radius:12px;padding:16px}
.kpi .num{font-size:30px;font-weight:700;line-height:1.1}.kpi span{color:var(--mut);font-size:13px}
.card h2{font-size:17px;margin-bottom:10px}
.g2{display:grid;grid-template-columns:2fr 1fr;gap:12px}
svg.ch{width:100%;height:190px;display:block}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:560px}
th{text-align:left;font-weight:600;color:var(--mut);font-size:13px;padding:8px 10px;border-bottom:1px solid var(--ln)}
td{padding:10px;border-bottom:1px solid var(--ln)}tr:last-child td{border:0}
.pill{padding:2px 9px;border-radius:99px;font-size:12px;font-weight:600;border:1px solid currentColor}
.p-ok{color:var(--ok)}.p-wr{color:var(--wr)}.p-er{color:var(--er)}
input,select,button{font:inherit;color:var(--ink);background:var(--sf);border:1px solid var(--ln);border-radius:8px;padding:8px 12px}
button{cursor:pointer;background:var(--ac);color:var(--acx);border:0;font-weight:600}
button.g{background:transparent;color:var(--ink);border:1px solid var(--ln)}
:focus-visible{outline:2px solid var(--ok);outline-offset:2px}
.tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tools input{flex:1;min-width:160px}
.inc{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--ln);align-items:flex-start}
.inc:last-child{border:0}.inc div{flex:1}.inc small{color:var(--mut)}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--ln)}
.row:last-child{border:0}.row small{display:block;color:var(--mut)}
.up{display:grid;grid-template-columns:130px 1fr 56px;gap:10px;align-items:center;padding:6px 0}
.up div.t{height:10px;background:var(--ln);border-radius:5px;overflow:hidden}.up div.t i{display:block;height:100%;background:var(--ok)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom,0px));background:var(--ac);color:var(--acx);padding:9px 16px;border-radius:99px;font-weight:600;z-index:20}
@media (max-width:820px){
.kb{display:block}
.links{display:none;position:absolute;top:100%;left:10px;right:10px;flex-direction:column;background:var(--sf);border:1px solid var(--ln);border-radius:12px;padding:6px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
nav.open .links{display:flex}.links a{padding:12px}.links button{margin:4px 0 0;padding:12px}
main{padding-bottom:40px}.g2{grid-template-columns:1fr}.sec{border-bottom:1px solid var(--ln)}}
#login{min-height:100vh;display:grid;place-items:center;padding:20px}#login[hidden]{display:none}
.lc{width:100%;max-width:380px}.lc h1{font-size:26px;margin:14px 0 4px}.lc p{color:var(--mut);margin:0 0 14px}
.lc label{display:block;font-weight:600;margin:12px 0 4px}.lc input{width:100%}.pw{display:flex;gap:6px}.pw button{white-space:nowrap}
.lc .go{width:100%;margin-top:18px;padding:11px}#le{color:var(--er);min-height:20px;margin-top:10px;font-size:14px}
.links button{margin-left:6px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
