:root{--bg:#061426;--panel:#0b1e35;--panel2:#0d2743;--line:#193e61;--blue:#2ca9ff;--cyan:#45d4ff;--green:#39d98a;--yellow:#ffc83d;--red:#ff5364;--text:#e8f2ff;--muted:#8ba7c2;--sidebar:#08192d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -10%,#10345a 0,#061426 42%,#04101d 100%);color:var(--text);font:14px Inter,Segoe UI,Arial,sans-serif;min-height:100vh}.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#03101e,#092b49)}.login-card{width:430px;padding:38px;border:1px solid #24577e;background:#071a2fdd;box-shadow:0 30px 80px #0008;border-radius:18px;text-align:center}.brand-mark{font-size:54px;color:#ffd84a}.eyebrow{font-size:11px;color:#8bb4d6;letter-spacing:1.5px;margin-top:8px}.login-card h1{margin:12px 0 4px;font-size:28px}.login-card p{color:var(--muted);margin-bottom:28px}.login-card label{display:block;text-align:left;color:#a9c2d9;margin:14px 0;font-size:12px}.login-card input{width:100%;margin-top:6px}.wide{width:100%;margin-top:8px}.login-card small{display:block;color:#6f8ba6;margin-top:20px}input,select,textarea{background:#07192b;color:var(--text);border:1px solid #234a6b;border-radius:7px;padding:10px 12px;outline:none}input:focus,select:focus{border-color:var(--blue)}button{border:0;border-radius:7px;padding:10px 14px;color:white;background:#123754;cursor:pointer}button:hover{filter:brightness(1.15)}button.primary{background:linear-gradient(135deg,#1687d1,#2cbbff);box-shadow:0 5px 18px #008cff33}.topbar{height:74px;background:#061222eF;border-bottom:1px solid #183652;display:flex;align-items:center;padding:0 20px;gap:18px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;min-width:310px}.logo{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#092f50;border:1px solid #2e8ac3;color:#ffd84a;font-size:25px}.brand strong,.brand span,.title strong,.title span{display:block}.brand strong{font-size:16px}.brand span,.title span{font-size:10px;color:#9bb5cd;letter-spacing:.7px}.divider{height:38px;border-left:1px solid #28465f}.title{flex:1}.title strong{font-size:19px}.top-actions{display:flex;align-items:center;gap:18px}.mode-pill{padding:8px 12px;border-radius:8px;background:#38247b;border:1px solid #7048d5;color:#d9cfff;font-size:11px}.mode-pill em{font-style:normal;color:white}.icon-btn{background:transparent;font-size:20px}.layout{display:grid;grid-template-columns:150px 1fr;min-height:calc(100vh - 74px)}.sidebar{background:#061426cc;border-right:1px solid #173651;padding:14px 10px;display:flex;flex-direction:column;justify-content:space-between}.sidebar nav a,.side-bottom a{display:flex;gap:10px;align-items:center;padding:11px 12px;color:#a6bdd2;text-decoration:none;border-radius:7px;margin:3px 0;cursor:pointer}.sidebar a.active,.sidebar a:hover{background:linear-gradient(90deg,#0c5aa1,#134276);color:#fff}.side-bottom{border-top:1px solid #19344d;padding-top:10px}.page{padding:16px 18px 28px;max-width:1600px;margin:auto;width:100%}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.page-head h2{margin:0;font-size:19px}.page-head p{margin:4px 0;color:var(--muted);font-size:12px}.actions{display:flex;gap:8px;align-items:center}.kpis{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:9px}.card{background:linear-gradient(145deg,#0b2139,#0a1b30);border:1px solid #174265;border-radius:10px;box-shadow:inset 0 1px #ffffff05,0 8px 24px #0002}.kpi{padding:13px;min-height:86px;position:relative;overflow:hidden}.kpi .label{color:#a7bed3;font-size:11px}.kpi .num{font-size:24px;font-weight:800;margin:5px 0}.delta{font-size:11px;color:var(--green)}.kpi .icon{position:absolute;right:11px;top:11px;font-size:22px;opacity:.7}.grid-main{display:grid;grid-template-columns:1.8fr .85fr;gap:10px;margin-top:10px}.map-card{min-height:350px}.panel{padding:13px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.panel-title strong{font-size:14px}.panel-title small{color:var(--muted)}.map{height:285px;position:relative;overflow:hidden;background:radial-gradient(circle at 55% 50%,#0a3a62 0,#06192d 60%);border-radius:8px;border:1px solid #163c5d}.map::before{content:'INDONESIA';position:absolute;inset:0;display:grid;place-items:center;color:#0c5a88;font-size:50px;font-weight:900;letter-spacing:9px;opacity:.12}.dot{position:absolute;width:15px;height:15px;border-radius:50%;box-shadow:0 0 0 5px #ffffff18,0 0 18px currentColor}.dot.normal{background:var(--green);color:var(--green)}.dot.warning{background:var(--yellow);color:var(--yellow)}.dot.priority{background:var(--red);color:var(--red)}.dot:after{content:'';position:absolute;inset:-2px;border-radius:50%;border:1px solid currentColor;animation:pulse 2s infinite}@keyframes pulse{50%{transform:scale(1.7);opacity:.1}}.legend{position:absolute;right:12px;top:12px;background:#07192ddd;border:1px solid #234966;border-radius:8px;padding:9px}.legend div{margin:5px}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.side-stack{display:grid;gap:10px}.alert-list,.activity-list{display:grid;gap:7px}.item{padding:9px;background:#07182a;border:1px solid #173752;border-radius:7px}.item .row{display:flex;justify-content:space-between;gap:10px}.item strong{font-size:12px}.item small{color:var(--muted);font-size:10px}.sev{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.sev.danger{background:var(--red);box-shadow:0 0 10px var(--red)}.sev.warning{background:var(--yellow)}.sev.info{background:var(--cyan)}.charts{display:grid;grid-template-columns:1.3fr .9fr 1fr;gap:10px;margin-top:10px}.chart{height:180px;display:flex;align-items:flex-end;gap:10px;padding:18px 8px 6px}.bar{flex:1;background:linear-gradient(180deg,#31b9ff,#1260a2);border-radius:4px 4px 0 0;min-height:12px;position:relative}.bar span{position:absolute;bottom:-20px;width:100%;text-align:center;color:#7793ad;font-size:9px}.donut{width:145px;height:145px;border-radius:50%;background:conic-gradient(#8244e8 0 42%,#2bbcff 42% 66%,#42d98b 66% 84%,#ffd338 84%);display:grid;place-items:center;margin:auto}.donut:after{content:'1.248\A Perkara';white-space:pre;text-align:center;width:88px;height:88px;border-radius:50%;background:#0a1c31;display:grid;place-items:center;font-weight:800}.legend-list{font-size:11px;display:grid;gap:7px}.legend-list b{float:right}.rank{display:grid;gap:7px}.rank-row{display:grid;grid-template-columns:110px 1fr 35px;align-items:center;gap:8px;font-size:11px}.track{height:9px;background:#0a2a45;border-radius:20px;overflow:hidden}.track i{display:block;height:100%;background:linear-gradient(90deg,#258bd0,#4fc5ff);border-radius:20px}.table-wrap{overflow:auto}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.toolbar input{min-width:220px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 8px;border-bottom:1px solid #17364f;text-align:left;font-size:11px}.table th{color:#83a6c2;background:#08192c;position:sticky;top:0}.badge{padding:4px 7px;border-radius:12px;font-size:10px;background:#173754;color:#c8d9e9}.badge.green{background:#0d3d32;color:#62e7a3}.badge.yellow{background:#4a3b13;color:#ffd34b}.badge.red{background:#4b1720;color:#ff7380}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric{padding:18px}.metric .big{font-size:28px;font-weight:800;margin-top:5px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.form-grid label{display:grid;gap:5px;color:#8da8c0;font-size:11px}.form-grid .full{grid-column:1/-1}.modal{position:fixed;inset:0;background:#0009;display:none;place-items:center;z-index:50}.modal.open{display:grid}.modal-card{width:min(680px,92vw);background:#081b2f;border:1px solid #285474;border-radius:12px;padding:18px;box-shadow:0 30px 100px #000}.modal-head{display:flex;justify-content:space-between}.empty{padding:30px;text-align:center;color:var(--muted)}.notice{padding:12px;background:#092844;border-left:3px solid var(--cyan);border-radius:6px;color:#b9d2e8}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.status-box{padding:15px}.ok{color:var(--green)}@media(max-width:1100px){.kpis{grid-template-columns:repeat(3,1fr)}.grid-main,.charts,.about-grid{grid-template-columns:1fr}.layout{grid-template-columns:70px 1fr}.sidebar span{display:none}.brand{min-width:auto}.brand div:not(.logo),.divider,.title{display:none}}@media(max-width:700px){.topbar{height:60px}.layout{grid-template-columns:1fr}.sidebar{position:fixed;bottom:0;left:0;right:0;height:58px;z-index:30;flex-direction:row;padding:5px;overflow:auto}.sidebar nav{display:flex}.side-bottom{display:none}.sidebar a{min-width:55px;justify-content:center}.kpis{grid-template-columns:repeat(2,1fr)}.top-actions .mode-pill{display:none}.form-grid,.metric-grid{grid-template-columns:1fr}.page{padding:10px}.table th,.table td{white-space:nowrap}}
