:root{--ink:#0b1620;--g:#0f7a5a;--mint:#3ecf9a;--amber:#e9a23b;--red:#c8432f;--bg:#f3f6f5;--line:#e1e8e5;--mute:#5b6670;--r:14px;--sh:0 1px 2px rgba(11,22,32,.04),0 8px 24px rgba(11,22,32,.05)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}
.mono,.kpi b,.hero2 .big{font-family:"JetBrains Mono",ui-monospace,monospace}
.top{background:radial-gradient(900px 200px at 85% -50%,#12352f 0%,transparent 70%),#07101a;color:#f4f7f6;border-bottom:1px solid #1b2b38}.top .in{max-width:1240px;margin:0 auto;padding:16px 24px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}.brand i{width:34px;height:34px;border-radius:9px;background:#0f2a24;border:1px solid #1f4a3d;display:flex;align-items:center;justify-content:center}.brand b{font-size:17px;letter-spacing:-.01em}.brand span{display:block;font-size:12px;color:#8fa0ad;margin-top:-2px}
.priv{font-size:13px;color:#8fa0ad}.priv:before{content:"";display:inline-block;width:8px;height:8px;border-radius:4px;background:var(--mint);margin-right:8px;box-shadow:0 0 0 4px rgba(62,207,154,.15)}
main{max-width:1240px;margin:0 auto;padding:32px 24px 24px}.intro{margin-bottom:22px}.intro h1{font-size:clamp(26px,3.4vw,38px);letter-spacing:-.02em;margin:0 0 6px;line-height:1.15}.intro p{margin:0;color:var(--mute);max-width:720px}
h2{font-size:18px;margin:0;letter-spacing:-.01em}h3{font-size:15px;margin:0 0 8px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:20px;box-shadow:var(--sh)}
.stp{display:flex;gap:12px;align-items:center;margin:0 0 14px}.stp+*{margin-top:0}.stp .n{width:28px;height:28px;border-radius:14px;background:var(--ink);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}.stp .note{margin-left:4px}
.sp{height:26px}
.profiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:12px}
.prof{border:1.5px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;background:#fff;text-align:left;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s}.prof:hover{border-color:#9fb3ac}
.prof.on{border-color:var(--g);background:#f1faf6;box-shadow:0 0 0 3px rgba(15,122,90,.12)}.prof b{display:block;margin-bottom:2px}.prof span{font-size:13px;color:var(--mute)}
.drop{border:1.5px dashed #9fb3ac;border-radius:12px;padding:30px;text-align:center;background:linear-gradient(#fbfdfc,#f6faf8);cursor:pointer;transition:all .15s}.drop:hover,.drop.hov{background:#eaf7f1;border-color:var(--g)}.drop b{font-size:16px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.row label{font-size:12.5px;color:var(--mute);display:flex;flex-direction:column;gap:5px;font-weight:500}
select,input[type=number]{padding:9px 10px;border:1px solid #cfd9d5;border-radius:9px;font:inherit;min-width:150px;max-width:100%;background:#fff;color:var(--ink)}.row label{max-width:100%}
button.p{background:var(--ink);color:#fff;border:0;border-radius:10px;padding:12px 22px;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.1) inset,0 6px 16px rgba(11,22,32,.18)}button.p:hover{background:#16293a}button.p:disabled{opacity:.6;cursor:wait}
button.s{background:#fff;border:1px solid #b8c6c1;color:var(--ink);border-radius:10px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer}button.s:hover{border-color:var(--g);color:var(--g)}
button:focus-visible,.prof:focus-visible,.drop:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.note{font-size:13px;color:var(--mute)}.warn{background:#fff6e0;border-left:4px solid var(--amber);padding:10px 14px;border-radius:8px;font-size:13.5px;margin:12px 0}
#pybarw{height:6px;background:#e1e8e5;border-radius:3px;overflow:hidden;margin-top:10px;max-width:520px}#pybarw div{height:100%;width:0;background:linear-gradient(90deg,var(--g),var(--mint));transition:width .4s}
.hero2{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:#07101a;color:#f4f7f6;border-radius:18px;padding:26px 30px;margin-bottom:18px;box-shadow:0 14px 40px rgba(7,16,26,.25);background-image:radial-gradient(700px 240px at 90% -20%,rgba(62,207,154,.18),transparent 70%)}
.ring{position:relative;width:150px;height:150px}.ring svg{width:150px;height:150px}.ring .big{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:42px;font-weight:700;line-height:1}.ring .big small{font-size:11px;font-weight:500;color:#8fa0ad;margin-top:6px;font-family:Inter,sans-serif}
.hero2 .tg{font-size:12.5px;color:#8fa0ad;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.hero2 h2{font-size:clamp(20px,2.4vw,28px);margin:6px 0 8px;letter-spacing:-.02em;line-height:1.2}.hero2 .msg{color:#c9d5dd;font-size:14.5px;max-width:640px}
.spark{width:100%;max-width:420px;height:60px;margin-top:14px;border-radius:8px;display:block}.hside{display:grid;gap:10px;min-width:170px}.hside div{border:1px solid #1d2f3d;border-radius:12px;padding:10px 14px;background:rgba(255,255,255,.03)}.hside small{display:block;font-size:11.5px;color:#8fa0ad}.hside b{font-family:"JetBrains Mono",monospace;font-size:19px}
@media(max-width:860px){.hero2{grid-template-columns:1fr;text-align:left}.hside{grid-template-columns:repeat(3,1fr)}}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:var(--sh)}
.kpi small{color:var(--mute);display:block;font-size:12px;font-weight:500}.kpi b{font-size:24px;display:block;margin:2px 0}.kpi i{font-style:normal;font-size:12px;color:var(--mute)}
.badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:700;color:#0b1620}.b-Stabil{background:#8fdcbf}.b-Waspada{background:#f6d58e}.b-Risiko{background:#f0a37a}.b-Kritis{background:#e5604d;color:#fff}
.act{background:#fff;border:1px solid var(--line);border-left:5px solid var(--g);padding:16px 20px;border-radius:12px;margin-bottom:18px;box-shadow:var(--sh)}.act ul{margin:8px 0 0 18px;padding:0}.act li{margin:4px 0}
.jump{position:sticky;top:0;z-index:4;background:rgba(243,246,245,.92);backdrop-filter:blur(8px);padding:10px 0;margin-bottom:8px;display:flex;gap:8px;flex-wrap:wrap}.jump a{font-size:13px;font-weight:600;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 14px}.jump a:hover{border-color:var(--g);color:var(--g)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:20px}.ch{position:relative;height:300px}.ch.t{height:340px}
.hm{overflow-x:auto}.hm table{border-collapse:separate;border-spacing:2px;font-size:11px}.hm td{width:26px;height:20px;border-radius:3px}.hm th{font-weight:500;color:var(--mute);padding:0 2px}.hm th.r{text-align:right;padding-right:6px;white-space:nowrap}
.sec{margin:34px 0 12px;padding-top:0}.sec h2{font-size:22px;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}.sec h2:before{content:"";width:6px;height:22px;border-radius:3px;background:linear-gradient(var(--mint),var(--g))}.sec p{margin:4px 0 0;color:var(--mute);font-size:14px}
.fig img{width:100%;height:auto;display:block;border-radius:6px}
table.t{width:100%;border-collapse:collapse;font-size:13px}table.t th{text-align:left;color:var(--mute);font-weight:600;font-size:12px;border-bottom:1.5px solid var(--ink);padding:7px 8px;position:sticky;top:0;background:#fff}table.t td{padding:7px 8px;border-bottom:1px solid var(--line)}.scroll{max-height:340px;overflow:auto}
.hidden{display:none}details summary{cursor:pointer;font-weight:600;color:var(--g);margin:12px 0}
footer{max-width:1240px;margin:0 auto;padding:8px 24px 48px;color:var(--mute);font-size:12.5px}
@media print{.top .priv,#setup,#bar,.jump,.prof,.drop,.noprint{display:none!important}body{background:#fff}.card,.kpi,.hero2{break-inside:avoid;box-shadow:none}.hero2{background:#07101a!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.top{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.vt{background:#fff;border-bottom:1px solid var(--line)}.vt .in2{max-width:1240px;margin:0 auto;padding:0 24px;display:flex;gap:4px;flex-wrap:wrap}.vt button{background:none;border:0;border-bottom:3px solid transparent;padding:13px 16px;font:600 14px Inter,system-ui,sans-serif;color:var(--mute);cursor:pointer}.vt button.on{color:var(--ink);border-bottom-color:var(--g)}.vt button:hover{color:var(--ink)}.vt button:focus-visible{outline:3px solid var(--amber);outline-offset:-3px}
.actrow{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.actrow .ac{display:flex;gap:8px;flex-wrap:wrap}.actrow .ac input{padding:8px 10px;border:1px solid #cfd9d5;border-radius:8px;font:inherit;min-width:0;flex:1 1 110px}.actrow .ac select{min-width:140px}@media(max-width:760px){.actrow{grid-template-columns:1fr}}
#report{display:none}
@media print{body.rep>*:not(#report){display:none!important}body.rep #report{display:block}body.rep{background:#fff}@page{size:A4;margin:13mm}
.rp{font:10.5pt/1.45 Inter,system-ui,sans-serif;color:#14202b}.rp h1{font-size:20pt;margin:10px 0 8px}.rp h2{font-size:12pt;margin:12px 0 5px;border-bottom:2px solid #0f7a5a;padding-bottom:3px;break-after:avoid}.rp img{width:92%;height:auto;break-inside:avoid;display:block}
.rh1{display:flex;justify-content:space-between;border-bottom:3px solid #0b1620;padding-bottom:8px;font-size:11pt}.rh1 span{font-size:9pt;color:#5b6670}
.rm{width:100%;border-collapse:collapse;font-size:9.5pt;margin-bottom:10px}.rm td{border:1px solid #dbe3e0;padding:4px 8px}.rm td:nth-child(odd){background:#f3f6f5;font-weight:600;width:16%}
.rk{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.rk div{border:1px solid #dbe3e0;border-radius:6px;padding:8px 10px;break-inside:avoid}.rk small{display:block;font-size:8.5pt;color:#5b6670}.rk b{font-size:18pt;display:block}.rk span{font-size:8.5pt;color:#5b6670}
.rt{width:100%;border-collapse:collapse;font-size:9pt;margin:6px 0}.rt th{text-align:left;background:#f3f6f5;border:1px solid #dbe3e0;padding:4px 6px}.rt td{border:1px solid #dbe3e0;padding:4px 6px;vertical-align:top}.rt tr{break-inside:avoid}
.rh{border-collapse:separate;border-spacing:1px;font-size:6pt;width:100%}.rh td{height:7px}.rh th{font-weight:400;color:#5b6670;padding:0 1px;text-align:right}
.rsig{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;font-size:9pt;break-inside:avoid}.rn{font-size:8.5pt;color:#5b6670;margin-top:16px}
.badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.tip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:50%;border:1.5px solid var(--g);background:#fff;color:var(--g);font:700 11px Inter,system-ui,sans-serif;cursor:help;padding:0;line-height:1;vertical-align:middle;flex:none}.tip:hover,.tip[aria-expanded=true]{background:var(--g);color:#fff}.tip:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.tipbox{position:absolute;z-index:60;max-width:320px;background:#0b1620;color:#f4f7f6;font:13px/1.5 Inter,system-ui,sans-serif;padding:12px 14px;border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.35)}.lt{display:inline-flex;align-items:center}
@media print{.tip,.tipbox{display:none!important}}