@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-grotesk-400.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/space-grotesk-500.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/space-grotesk-600.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-grotesk-700.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-mono-400.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-mono-700.woff2)format("woff2")}:root{--paper-0:#f0e9da;--paper-1:#f7f2e8;--paper-2:#fdfbf6;--ink:#2a211a;--ink-2:#6b5e50;--ink-3:#7a6b57;--border:#2a211a1f;--border-strong:#2a211a33;--ember:#be4a1e;--ember-2:#a23d18;--ember-bg:#f6e3d6;--lolos:#5c7b4e;--lolos-ink:#33482a;--lolos-bg:#e7eddd;--tahan:#b45309;--tahan-ink:#6b3206;--tahan-bg:#f6e7d2;--tolak:#9b2c2c;--tolak-ink:#5c1a1a;--tolak-bg:#f2dcdc;--font-sans:"Space Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"Space Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-sm:10px;--r-md:16px;--r-lg:20px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--ink-surface:#241c15;--on-ink:#f4eee1;--on-ink-2:#c9a98a;--shadow-1:0 0 0 1px #2a211a0d, 0 1px 2px -1px #2a211a14, 0 2px 6px #2a211a0d;--shadow-2:0 0 0 1px #2a211a0f, 0 6px 14px -4px #2a211a24, 0 12px 28px -8px #2a211a1f;--shadow-ink:0 1px 2px #2a211a1f, 0 12px 28px -10px #2a211a66;--fs-display:46px;--ease:cubic-bezier(.23, 1, .32, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper-0:#1c1712;--paper-1:#262019;--paper-2:#2f2820;--ink:#f0e7da;--ink-2:#c3b4a2;--ink-3:#9a8b79;--border:#f0e7da1f;--border-strong:#f0e7da38;--ember:#e0642e;--ember-2:#ef7a45;--ember-bg:#3a2317;--lolos:#86a874;--lolos-ink:#d6e4c8;--lolos-bg:#26301c;--tahan:#d98a2b;--tahan-ink:#f3d9b0;--tahan-bg:#34240f;--tolak:#d06767;--tolak-ink:#f2cfcf;--tolak-bg:#341818;--ink-surface:#322820;--on-ink:#f0e7da;--on-ink-2:#c3b4a2;--shadow-1:0 0 0 1px #00000059;--shadow-2:0 0 0 1px #00000073, 0 12px 30px -8px #0009;--shadow-ink:0 0 0 1px #0006, 0 14px 34px -10px #000000b3}}:root[data-theme=dark]{--paper-0:#1c1712;--paper-1:#262019;--paper-2:#2f2820;--ink:#f0e7da;--ink-2:#c3b4a2;--ink-3:#9a8b79;--border:#f0e7da1f;--border-strong:#f0e7da38;--ember:#e0642e;--ember-2:#ef7a45;--ember-bg:#3a2317;--lolos:#86a874;--lolos-ink:#d6e4c8;--lolos-bg:#26301c;--tahan:#d98a2b;--tahan-ink:#f3d9b0;--tahan-bg:#34240f;--tolak:#d06767;--tolak-ink:#f2cfcf;--tolak-bg:#341818;--ink-surface:#322820;--on-ink:#f0e7da;--on-ink-2:#c3b4a2;--shadow-1:0 0 0 1px #00000059;--shadow-2:0 0 0 1px #00000073, 0 12px 30px -8px #0009;--shadow-ink:0 0 0 1px #0006, 0 14px 34px -10px #000000b3}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--paper-0);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.5}h1,h2,h3{text-wrap:balance;letter-spacing:-.02em;line-height:1.12}h1{letter-spacing:-.03em;font-size:30px;font-weight:700}h2{font-size:22px;font-weight:600}h3{font-size:18px;font-weight:600}p{text-wrap:pretty}a{color:var(--ember);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}.muted{color:var(--ink-2)}.meta{color:var(--ink-3);font-size:13px}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.display{font-size:var(--fs-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-weight:700;line-height:.92}.surface-ink{color:var(--on-ink);box-shadow:var(--shadow-ink)}.card.surface-ink{background:var(--ink-surface);border-color:#0000}.surface-ink .eyebrow,.surface-ink .meta,.surface-ink .muted{color:var(--on-ink-2)}.delta-up{color:var(--lolos)}.delta-down{color:var(--tolak)}.delta-flat{color:var(--ink-3)}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--paper-0);border-right:1px solid var(--border);width:248px;padding:var(--sp-4) var(--sp-3);gap:var(--sp-2);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-4);display:flex}.brand .mark{background:var(--ember);color:#fff;width:32px;height:32px;font-size:15px;font-weight:600;font-family:var(--font-mono);border-radius:8px;place-items:center;display:grid}.brand b{font-size:15px;font-weight:600}.brand span{color:var(--ink-3);letter-spacing:.04em;font-size:11px;display:block}.nav-seal{flex:none;width:34px;height:34px}.nav-section{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);padding:15px var(--sp-3) 5px;font-size:10px;font-weight:600}.nav-ico{flex:none;justify-content:center;align-items:center;display:inline-flex}.nav-ico svg{width:18px;height:18px;display:block}.nav-item{align-items:center;gap:var(--sp-3);padding:10px var(--sp-3);border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;text-align:left;width:100%;min-height:40px;transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:none;font-size:14px;font-weight:500;display:flex}.nav-item:hover{background:var(--paper-1);color:var(--ink)}.nav-item.active{background:var(--ember-bg);color:var(--ember-2)}.nav-item .badge{background:var(--tahan-bg);color:var(--tahan-ink);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.nav-sep{background:var(--border);height:1px;margin:var(--sp-2) var(--sp-2)}.nav-spacer{flex:1}.content{width:100%;min-width:0;max-width:1180px;padding:var(--sp-5) var(--sp-6);flex:1;margin:0 auto}.subtabs{border-bottom:1.5px solid var(--border);margin-bottom:var(--sp-5);scrollbar-width:none;flex-wrap:wrap;align-items:flex-end;gap:2px;display:flex;overflow-x:auto}.subtab{white-space:nowrap;color:var(--ink-2);border-radius:var(--r-sm) var(--r-sm) 0 0;transition:color .15s var(--ease), background .15s var(--ease);border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1.5px;padding:9px 14px 10px;font-size:13.5px;font-weight:500;display:inline-flex}.subtab:hover{color:var(--ink);background:var(--paper-1)}.subtab.active{color:var(--ember-2);border-bottom-color:var(--ember);font-weight:600}.subtab .badge{background:var(--tahan-bg);color:var(--tahan-ink);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.page-head .sub{color:var(--ink-2);margin-top:2px;font-size:14px}.card{background:var(--paper-1);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4);box-shadow:var(--shadow-1)}.card+.card{margin-top:var(--sp-4)}.card.kpi{flex-direction:column;justify-content:center;gap:3px;min-height:94px;display:flex}.card.kpi .tnum,.card.kpi [class*=tnum]{font-variant-numeric:tabular-nums}.card.kpi>.tnum{font-size:23px!important;font-weight:600!important}.card.kpi .meta{line-height:1.3}.card.kpi>.meta:first-child{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-size:11px;font-weight:600}.clickable{cursor:pointer;transition:border-color .15s var(--ease), transform .12s var(--ease), box-shadow .18s var(--ease)}.clickable:hover{border-color:var(--ember)}.clickable:active{transform:scale(.995)}.card.clickable:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2);transform:translateY(-2px)}.card.clickable:active{transform:translateY(0)}@keyframes riseIn{0%{opacity:0;transform:translateY(9px)}}.rise{animation:riseIn .36s var(--ease) both}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:40px;padding:0 var(--sp-4);border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--paper-2);color:var(--ink);cursor:pointer;transition:background .15s var(--ease), transform .1s var(--ease), border-color .15s var(--ease);font-size:14px;font-weight:500;display:inline-flex}.btn:hover{background:var(--paper-1);border-color:var(--ink-3)}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.btn-primary{background:var(--ember);border-color:var(--ember);color:#fff;min-height:44px;font-weight:600}.btn-primary:hover{background:var(--ember-2);border-color:var(--ember-2)}.btn-sm{min-height:32px;padding:0 var(--sp-3);font-size:13px}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--paper-1)}.btn-danger{color:var(--tolak);border-color:var(--tolak-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.field{margin-bottom:var(--sp-4);flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-2);font-size:13px;font-weight:500}.input,select.input,textarea.input{background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);width:100%;min-height:40px;color:var(--ink);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:8px 12px;font-size:15px}.input:hover:not(:focus),select.input:hover:not(:focus),textarea.input:hover:not(:focus){border-color:var(--ink-3)}.input:focus,select.input:focus,textarea.input:focus{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-bg);outline:none}.input::placeholder{color:var(--ink-3)}.row{gap:var(--sp-3);flex-wrap:wrap;display:flex}.row>*{flex:1;min-width:140px}.table-wrap{border:1px solid var(--border);border-radius:var(--r-md);background:var(--paper-1);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data th{z-index:1;background:var(--paper-1);text-align:left;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;padding:10px var(--sp-4);border-bottom:1.5px solid var(--border-strong);white-space:nowrap;font-size:11px;font-weight:600;position:sticky;top:0}table.data td{padding:11px var(--sp-4);border-bottom:1px solid var(--border);vertical-align:middle;font-variant-numeric:tabular-nums}table.data tr:last-child td{border-bottom:none}table.data td.tnum,table.data th.tnum{text-align:right;font-variant-numeric:tabular-nums}table.data tbody tr{cursor:pointer;transition:background .12s var(--ease)}table.data tbody tr:hover{background:var(--paper-2)}@media screen and (width<=640px){.shell-body{min-width:0}.content{min-width:0;overflow-x:hidden}.table-wrap:has(table.data thead){background:0 0;border:none;border-radius:0;max-width:100%;overflow-x:visible}table.data:has(thead):not(.roa-report table){width:100%;display:block}table.data:has(thead):not(.roa-report table) tbody{width:100%;display:block}table.data:has(thead):not(.roa-report table) thead{display:none}table.data:has(thead):not(.roa-report table) tbody tr{background:var(--paper-1);border:1px solid var(--border);border-radius:var(--r-md);width:100%;box-shadow:var(--shadow-1);margin-bottom:10px;padding:4px 2px;display:block}table.data:has(thead):not(.roa-report table) tbody tr:hover{background:var(--paper-1)}table.data:has(thead):not(.roa-report table) tbody td{padding:7px var(--sp-4);border-bottom:1px solid var(--border);text-align:right;overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;min-width:0;display:flex}table.data:has(thead):not(.roa-report table) tbody td:last-child{border-bottom:none}table.data:has(thead):not(.roa-report table) tbody td[data-label]:before{content:attr(data-label);text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);flex:none;font-size:11px;font-weight:600}table.data:has(thead):not(.roa-report table) tbody td:first-child{text-align:left;justify-content:flex-start;padding-top:10px;font-size:15px;font-weight:600}table.data:has(thead):not(.roa-report table) tbody td:first-child:before{display:none}table.data:has(thead):not(.roa-report table) tbody td[colspan]{text-align:center;display:block}table.data:has(thead):not(.roa-report table) tbody td[colspan]:before{display:none}}.leak-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.leak-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.leak-head b{font-size:17px}.leak-head .leak-status{margin-left:auto}.leak-form{grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:12px;display:grid}.leak-form .field{margin:0}.leak-form .field>label{min-height:2.3em;line-height:1.15;display:block}.leak-card input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.leak-card input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.leak-card input[type=number]{appearance:textfield}.leak-body{grid-template-columns:50px 1fr;align-items:start;gap:10px;display:grid}.leak-sachet{width:50px;height:auto}.leak-body .table-wrap{min-width:0;overflow-x:auto}table.data.leak-grid{width:100%}table.data.leak-grid td,table.data.leak-grid th{padding:3px 5px}table.data.leak-grid th{font-size:11px}.leak-grid td:first-child,.leak-grid th:first-child{white-space:nowrap}.leak-grid .leak-in{text-align:center;width:100%;min-width:40px;min-height:34px;padding:4px 2px}.leak-tot{margin:6px 0 0;font-weight:500}.lk-secnav{z-index:5;background:var(--paper-1);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1);flex-wrap:wrap;gap:6px;margin:6px 0 12px;padding:8px;display:flex;position:sticky;top:8px}h3.lk-sec{margin:24px 0 4px;scroll-margin-top:76px}@media (width<=720px){.lk-secnav{top:58px}}.tb-daynav{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;display:flex}.tb-nav-btn{justify-content:center;align-items:center;min-width:42px;padding:9px 10px;display:inline-flex}.tb-nav-btn svg{width:18px;height:18px;display:block}.tb-day-input{text-align:center;flex:none;width:158px;font-weight:600}.tb-nav-btn{flex:none}.tb-day-nama{color:var(--ink);text-transform:capitalize;margin-left:2px;font-weight:600}@media screen and (width<=640px){.table-wrap:has(table.tb-grid){border:1px solid var(--border);background:var(--paper-1);border-radius:var(--r-md);overflow-x:auto!important}table.tb-grid,table.tb-grid thead,table.tb-grid tbody,table.tb-grid tr,table.tb-grid th,table.tb-grid td{display:revert!important}table.tb-grid tbody tr{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important}table.tb-grid tbody td{text-align:center!important}table.tb-grid tbody td:before{content:none!important}table.tb-grid .tb-sticky{text-align:left!important}}.table-toolbar{align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:10px;display:flex}.table-search{max-width:340px;min-height:38px}.table-toolbar .table-count{white-space:nowrap;margin-left:auto}.table-more{text-align:center;margin-top:10px}.stempel{font-variant:small-caps;letter-spacing:.06em;border-radius:var(--r-sm);border:1.5px solid;align-items:center;padding:3px 11px;font-size:13px;font-weight:500;line-height:1.3;display:inline-flex}.stempel.accepted{border-color:var(--lolos);color:var(--lolos-ink);background:var(--lolos-bg)}.stempel.on_hold{border-color:var(--tahan);color:var(--tahan-ink);background:var(--tahan-bg)}.stempel.rejected{border-color:var(--tolak);color:var(--tolak-ink);background:var(--tolak-bg)}.lottag{font-family:var(--font-mono);background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--ink);align-items:center;padding:2px 8px;font-size:13px;display:inline-flex}.chip{background:var(--paper-2);border:1px solid var(--border);color:var(--ink-2);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:2px 9px;font-size:12px;font-weight:500;display:inline-flex}.chip.ok{color:var(--lolos-ink);background:var(--lolos-bg);border-color:var(--lolos)}.chip.warn{color:var(--tahan-ink);background:var(--tahan-bg);border-color:var(--tahan)}.chip.bad{color:var(--tolak-ink);background:var(--tolak-bg);border-color:var(--tolak)}.chip.strong{font-weight:600}.modal-back{padding:var(--sp-4);z-index:90;background:#1c171273;place-items:center;display:grid;position:fixed;inset:0}.modal{border-radius:var(--r-lg);flex-direction:column;width:100%;max-width:460px;max-height:88vh;padding:0;display:flex;overflow:hidden}.modal-head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--border);flex:none;display:flex}.modal-head h3{margin:0;font-size:17px}.modal-x{width:32px;height:32px;color:var(--ink-2);border-radius:var(--r-sm);cursor:pointer;transition:background .12s var(--ease), color .12s var(--ease);background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.modal-x:hover{background:var(--paper-2);color:var(--ink)}.modal-x svg{width:18px;height:18px;display:block}.modal-form{flex-direction:column;flex:auto;min-height:0;display:flex}.modal-body{padding:var(--sp-4);flex:auto;min-height:0;overflow-y:auto}.modal-foot{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);background:var(--paper-1);flex:none;display:flex}.modal-wide{max-width:640px}@keyframes modalBack{0%{opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translateY(12px)scale(.98)}}.modal-back{animation:modalBack .18s var(--ease)}.modal{animation:modalIn .22s var(--ease)}@media (width<=720px){@keyframes sheetIn{0%{transform:translateY(100%)}}.modal-back{place-items:end stretch;padding:0}.modal{border-radius:var(--r-lg) var(--r-lg) 0 0;max-width:none;max-height:92vh;animation:sheetIn .24s var(--ease)}}.seg{border:1px solid var(--border-strong);border-radius:var(--r-sm);display:inline-flex;overflow:hidden}.seg-btn{background:var(--paper-2);min-height:40px;color:var(--ink-2);cursor:pointer;border:none;padding:0 18px;font-size:14px;font-weight:500}.seg-btn+.seg-btn{border-left:1px solid var(--border-strong)}.seg-btn:active{transform:scale(.97)}.seg-btn.ok.active{background:var(--lolos-bg);color:var(--lolos-ink);box-shadow:inset 0 0 0 1.5px var(--lolos)}.seg-btn.no.active{background:var(--tolak-bg);color:var(--tolak-ink);box-shadow:inset 0 0 0 1.5px var(--tolak)}.param-row{border-bottom:1px solid var(--border);padding:12px 0}.param-row:last-child{border-bottom:none}.param-label{margin-bottom:8px;font-weight:500}.param-control{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mini-badge{display:inline-flex}.foto-wrap{background:var(--tolak-bg);border-radius:var(--r-sm);margin-top:10px;padding:10px}.foto-wrap label{color:var(--tolak-ink)}.tb-banner{border-radius:var(--r-md);border:1px solid var(--border);border-left:4px solid var(--ink-3);background:var(--paper-1);box-shadow:var(--shadow-1);margin-bottom:16px;padding:15px 20px}.tb-banner.open{border-left-color:var(--ember);background:var(--ember-bg)}.tb-banner.done{border-left-color:var(--lolos)}.tb-banner-main{letter-spacing:-.01em;font-size:19px;font-weight:700}.tb-banner.open .tb-banner-main{color:var(--ember-2)}.tb-banner-sub{color:var(--ink-2);margin-top:4px;font-size:13px}.tb-fill-card{border-left:4px solid var(--ember)}.tb-fill-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tb-fill-head b{font-size:17px}.tb-dot{cursor:help;border:1px solid #00000014;border-radius:6px;width:22px;height:22px;display:inline-block}.tb-abu{background:var(--paper-2);border:1.5px dashed var(--border-strong)}.tb-wait{border:1.5px solid var(--border);opacity:.5;background:0 0}.tb-in{max-width:68px;min-height:34px;padding:4px 6px;font-size:14px}table.data.tb-grid td,table.data.tb-grid th{text-align:center;white-space:nowrap;padding:4px 6px}table.data.tb-grid th{letter-spacing:0;text-transform:none;font-size:10px}table.data.tb-grid td .meta{margin-top:1px;font-size:9px;line-height:1}table.data.tb-grid .tb-dot{border-radius:4px;width:15px;height:15px}table.data.tb-grid .tb-sticky{padding-right:8px}table.data.tb-grid td:first-child,table.data.tb-grid th:first-child{text-align:left;font-size:13px}.tb-grid th.tb-cur{background:var(--ember-bg);color:var(--ember-2)}.tb-sticky{z-index:1;background:var(--paper-1);position:sticky;left:0;text-align:left!important}.tb-grid thead .tb-sticky{background:var(--paper-1)}.toast{background:var(--ink);color:var(--paper-0);border-radius:var(--r-sm);opacity:0;pointer-events:none;transition:opacity .2s var(--ease), transform .2s var(--ease);z-index:100;max-width:90vw;padding:10px 18px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(8px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast.err{background:var(--tolak);color:#fff}.empty{text-align:center;padding:var(--sp-6) var(--sp-4);color:var(--ink-2)}.empty .big{background:var(--paper-2);border:1px solid var(--border);width:58px;height:58px;margin-bottom:var(--sp-3);border-radius:50%;justify-content:center;align-items:center;font-size:27px;display:inline-flex}.empty p{text-wrap:pretty;max-width:360px;margin:0 auto;font-size:14px;line-height:1.5}.focal{background:var(--paper-1);border:1px solid var(--border);border-left:4px solid var(--ember);border-radius:var(--r-md);box-shadow:var(--shadow-1);justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;padding:18px 22px;display:flex}.focal-num{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:5px 0 4px;font-size:40px;font-weight:700;line-height:1}.focal-unit{margin-left:5px;font-size:.42em;font-weight:600}.focal-label{font-size:15px;font-weight:500}.focal-sub{margin-top:4px}.focal-cta{color:var(--ember-2);white-space:nowrap;flex:none;font-size:13px;font-weight:600}.focal.clickable{cursor:pointer;transition:border-color .15s var(--ease), box-shadow .15s var(--ease)}.focal.clickable:hover{border-color:var(--ember);box-shadow:var(--shadow-2)}.skel{background:linear-gradient(100deg, var(--paper-2) 30%, var(--border) 50%, var(--paper-2) 70%);animation:skelShimmer 1.25s var(--ease) infinite;background-size:220% 100%;border-radius:6px;display:inline-block}@keyframes skelShimmer{0%{background-position:200% 0}to{background-position:-60% 0}}@media (prefers-reduced-motion:reduce){.skel{opacity:.7;animation:none}}.esign{text-align:center}.esign-qr{width:92px;height:92px;margin:4px auto 8px;position:relative}.esign-img{width:92px;height:92px;image-rendering:pixelated;display:block}.esign-mark{border:1.5px solid var(--ember);color:var(--ember);letter-spacing:.06em;background:#fff;border-radius:4px;padding:2px 5px;font-size:9px;font-weight:800;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.esign-name{font-weight:600}.esign-cap{color:var(--ink-3);margin-top:2px;font-size:10px;font-style:italic}.docverif .esign-qr,.docverif .esign-img{width:72px;height:72px}.docverif .esign-mark{padding:1px 4px;font-size:8px}.docverif .esign-cap{max-width:96px;margin-inline:auto}.cmdk-back{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;background:#140e086b;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.cmdk{background:var(--paper-0);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:560px;box-shadow:var(--shadow-2,0 20px 50px #0000004d);animation:.16s cubic-bezier(.23,1,.32,1) cmdkIn;overflow:hidden}@keyframes cmdkIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}.cmdk-input{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--ink);background:0 0;outline:none;padding:16px 18px;font-size:16px}.cmdk-input::placeholder{color:var(--ink-3)}.cmdk-list{max-height:46vh;padding:6px;overflow-y:auto}.cmdk-item{border-radius:var(--r-sm);color:var(--ink);align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.cmdk-item.active{background:var(--paper-2)}.cmdk-ico{width:20px;height:20px;color:var(--ink-2);flex:none;display:flex}.cmdk-ico svg{width:20px;height:20px}.cmdk-txt{flex-direction:column;min-width:0;display:flex}.cmdk-txt b{font-size:14px;font-weight:600}.cmdk-txt span{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.cmdk-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--ember);border:1px solid var(--ember);border-radius:999px;flex:none;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:700}.cmdk-empty{text-align:center;color:var(--ink-3);padding:22px 14px;font-size:13px}.cmdk-hint{border-top:1px solid var(--border);color:var(--ink-3);padding:8px 14px;font-size:11px}.kop-search svg{width:20px;height:20px}.dash-rolefocus{background:var(--paper-0);border:1px solid var(--border);border-left:3px solid var(--ember);border-radius:var(--r-md);color:var(--ink-2);align-items:center;gap:12px;margin-bottom:16px;padding:11px 16px;font-size:14px;display:flex}.dash-comp{padding:11px var(--sp-4);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.dash-comp .eyebrow{margin-right:4px}.dash-comp-item{transition:filter .15s var(--ease);border:1px solid;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:600}.dash-comp-item:hover{filter:brightness(.95)}.dash-comp-item.tolak{color:var(--tolak-ink);background:var(--tolak-bg);border-color:var(--tolak)}.dash-comp-item.tahan{color:var(--tahan-ink);background:var(--tahan-bg);border-color:var(--tahan)}.dash-comp-ok{color:var(--lolos-ink);font-size:13px;font-weight:500}.dash-tasks{padding:13px var(--sp-4) 10px;margin-bottom:16px}.dash-tasks-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.dash-task{border-radius:var(--r-sm);color:var(--ink);transition:background .15s var(--ease);align-items:center;gap:11px;padding:7px 8px;font-size:13.5px;display:flex}.dash-task:hover{background:var(--paper-2)}.dash-task-check{border:1.5px solid var(--ink-3);border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:inline-flex}.dash-task.done .dash-task-check{background:var(--lolos);border-color:var(--lolos);color:#fff}.dash-task.done .dash-task-label{color:var(--ink-3)}.dash-task-label{flex:1;min-width:0}.dash-rolefocus-role{letter-spacing:.05em;text-transform:uppercase;color:var(--ember);background:var(--paper-2);border-radius:999px;flex:none;padding:3px 10px;font-size:11px;font-weight:700}.dash-rolefocus-msg b{color:var(--ink);font-weight:700}@media (width<=640px){.dash-rolefocus{flex-direction:column;align-items:flex-start;gap:6px}.cmdk-back{padding-top:8vh}}.auth-wrap{min-height:100vh;padding:var(--sp-4);background:radial-gradient(130% 90% at 50% -10%, var(--ember-bg) 0%, var(--paper-0) 58%);place-items:center;display:grid}.auth-card{width:100%;max-width:400px;padding:var(--sp-6) var(--sp-5) var(--sp-5);box-shadow:0 18px 50px -20px #2a211a73}.auth-brand{text-align:center;margin-bottom:var(--sp-5)}.auth-seal{width:88px;height:88px;margin:0 auto var(--sp-3);filter:drop-shadow(0 6px 14px #2a211a38);display:block}.auth-name{letter-spacing:-.01em;font-size:23px;font-weight:600}.auth-org{color:var(--ink-3);letter-spacing:.09em;text-transform:uppercase;margin-top:3px;font-size:11px}.auth-tag{text-align:center;color:var(--ink-3);margin-top:var(--sp-4);letter-spacing:.03em;font-size:11px}.lapor-wrap{min-height:100vh;padding:var(--sp-4);justify-content:center;align-items:center;gap:var(--sp-3);background:radial-gradient(130% 90% at 50% -10%, var(--ember-bg) 0%, var(--paper-0) 58%);flex-direction:column;display:flex}.lapor-card{width:100%;max-width:480px;box-shadow:0 18px 50px -20px #2a211a73}.lapor-brand{align-items:center;gap:12px;margin-bottom:6px;display:flex}.lapor-seal{flex:none;width:52px;height:52px}.lapor-title{letter-spacing:-.01em;font-size:19px;font-weight:600}.lapor-foot{text-align:center;max-width:480px}.lapor-err{color:var(--tolak);background:var(--tolak-bg);border:1px solid var(--tolak);border-radius:var(--r-sm);margin-top:10px;padding:8px 12px;font-size:13px}.setup{max-width:620px;margin:10vh auto}.setup code{background:var(--paper-1);font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:13px}.setup pre{background:var(--paper-1);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-3);font-family:var(--font-mono);margin:var(--sp-3) 0;font-size:13px;overflow-x:auto}.shell{background:var(--paper-0);flex-direction:column;min-height:100vh;display:flex}.shell-body{flex:1;align-items:flex-start;min-height:0;display:flex}.nav-user{padding:6px var(--sp-3) 2px}.nav-user-name{font-size:13px;font-weight:600}.sidebar{height:calc(100dvh - 68px);padding-top:var(--sp-3);position:sticky;top:68px;overflow-y:auto}@keyframes fadein{0%{opacity:0;transform:translateY(3px)}}.content{animation:fadein .18s var(--ease)}.dash-hero{grid-template-columns:1.5fr 1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.dash-focal{flex-direction:column;justify-content:center;padding:22px 24px;display:flex}.dash-focal-main{align-items:baseline;gap:12px;margin:6px 0 2px;display:flex}.dash-focal .display{line-height:.9}.dash-focal-delta{font-size:13px;font-weight:600}.dash-stack{background:#ffffff1f;border-radius:3px;height:6px;margin-top:16px;display:flex;overflow:hidden}.dash-stack>div{height:100%}.dash-act{flex-direction:column;justify-content:center;padding:18px 20px;display:flex}.dash-act-num{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:6px 0 3px;font-size:34px;font-weight:700;line-height:1}.dash-cta{color:var(--ember);margin-top:12px;font-size:12px;font-weight:600}.dash-kpis{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;display:grid}.dash-kpi{justify-content:flex-start;gap:5px;min-height:0;padding:14px 16px}.dash-kpi-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.dash-kpi-val{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:24px;font-weight:600}.dash-kpi-val .unit{color:var(--ink-3);margin-left:1px;font-size:14px;font-weight:500}.dash-kpi-delta{font-size:11px;font-weight:600}.dash-charts{grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:20px;display:grid}.dash-charts .card{margin:0}.dc-2{grid-column:span 2}.dc-3{grid-column:span 3}.dc-4{grid-column:span 4}.chart-box{height:220px;position:relative}.dc-2 .chart-box{height:244px}.dash-queue{margin-top:4px}@media (width<=1000px){.dash-hero{grid-template-columns:1fr 1fr}.dash-focal{grid-column:1/-1}.dash-charts{grid-template-columns:repeat(2,1fr)}.dc-2,.dc-3,.dc-4{grid-column:span 1}}@media (width<=620px){.dash-hero,.dash-kpis,.dash-charts{grid-template-columns:1fr}.dash-focal,.dc-2,.dc-3,.dc-4{grid-column:auto}}.roa-frame{border-collapse:collapse;width:100%}.roa-frame>thead>tr>th,.roa-frame>tfoot>tr>td,.roa-frame>tbody>tr>td{text-align:left;font-weight:inherit;border:none;padding:0}.roa-kop{width:100%;max-width:820px;margin:0 auto;display:block}.roa-kop-foot{margin-top:20px}.roa-print-header,.roa-print-footer{display:none}.roa-report{color:#1a1a1a;background:#fff}.roa-report .roa-body,.roa-report .card{background:#fff}.roa-report .card{box-shadow:none;border-color:#ddd}.roa-report table.data th,.roa-report table.data td,.roa-report table.data tr{background:#fff}.roa-report .meta,.roa-report .muted{color:#555}.label-sheet{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;display:grid}.label-sheet:empty{display:none}.qr-label{border:1px dashed var(--border);break-inside:avoid;page-break-inside:avoid;background:#fff;border-radius:6px;align-items:center;gap:8px;padding:8px;display:flex}.qr-label .qr{width:84px;height:84px;image-rendering:pixelated;flex:none}.qr-label .qr-code{color:#1a1a1a;word-break:break-all;font-family:ui-monospace,monospace;font-size:12px;font-weight:700}.qr-label .qr-sub{color:#555;margin-top:2px;font-size:10px}.qr-label .qr-brand{color:#888;margin-top:3px;font-size:8px}.app-kop{background:var(--paper-0);flex-direction:column;min-height:100vh;display:flex}.kop-hdr{z-index:20;justify-content:space-between;align-items:center;gap:var(--sp-4);background:var(--paper-1);border-bottom:1px solid var(--border);padding:12px clamp(16px,4vw,28px);display:flex;position:sticky;top:0}.kop-brand{align-items:center;gap:12px;min-width:0;display:flex}.kop-seal{flex:none;width:44px;height:44px;display:block}.kop-title{letter-spacing:-.02em;font-size:19px;font-weight:700}.kop-subtitle{letter-spacing:.14em;color:var(--ink-3);font-size:10.5px;font-weight:600}.kop-hr{align-items:center;gap:14px;display:flex}.kop-iconbtn{width:40px;height:40px;color:var(--ink-2);cursor:pointer;transition:background .12s var(--ease), color .12s var(--ease);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:relative}.kop-iconbtn:hover{background:var(--paper-2);color:var(--ink)}.kop-iconbtn svg{width:22px;height:22px}.kop-badge{background:var(--tolak);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.kop-user{align-items:center;gap:10px;display:flex}.kop-ava{background:var(--ember);color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:15px;font-weight:700;display:grid}.kop-uname{flex-direction:column;line-height:1.15;display:flex}.kop-uname b{font-size:14px;font-weight:700}.kop-uname span{color:var(--ink-3);font-size:11px;font-weight:600}.kop-keluar{border-radius:10px}.kop-sub{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:12px clamp(16px,4vw,28px) 2px;display:flex}.kop-date{color:var(--ink-2);font-size:15px}.kop-conn{background:var(--lolos-bg);color:var(--lolos-ink);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:600;display:inline-flex}.kop-dot{background:var(--lolos);border-radius:50%;width:7px;height:7px}.kop-conn.offline{background:var(--tolak-bg);color:var(--tolak-ink)}.kop-conn.offline .kop-dot{background:var(--tolak)}.kop-conn.syncing{background:var(--tahan-bg);color:var(--tahan-ink)}.kop-conn.syncing .kop-dot{background:var(--tahan);animation:1s ease-in-out infinite connPulse}@keyframes connPulse{0%,to{opacity:1}50%{opacity:.3}}.kop-content{width:100%;max-width:1240px;padding:var(--sp-4) clamp(16px, 4vw, 28px) 120px;flex:1;margin:0 auto}.kop-bnav{bottom:calc(20px + env(safe-area-inset-bottom));z-index:40;background:var(--paper-1);border:1px solid var(--border);box-shadow:var(--shadow-2);border-radius:22px;gap:4px;padding:8px 10px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.kop-bn{color:var(--ink-3);transition:background .12s var(--ease), color .12s var(--ease);border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:8px 16px;font-size:11.5px;font-weight:600;text-decoration:none;display:flex}.kop-bn:hover{color:var(--ink)}.kop-bn.active{background:var(--ember-bg);color:var(--ember-2)}.kop-bn-ico{color:currentColor;display:inline-flex}.kop-bn-ico svg{width:22px;height:22px}.kop-panel{background:var(--paper-1);border:1px solid var(--border);box-shadow:var(--shadow-1);border-radius:20px;padding:clamp(20px,3vw,32px)}.kop-panel-top{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:22px;display:flex}.kop-panel-top h1{font-size:24px}.kop-panel-sub{color:var(--ink-2);margin-top:3px;font-size:15px}.kop-role{background:var(--paper-2);color:var(--ink-2);letter-spacing:.05em;border:1px solid var(--border);white-space:nowrap;border-radius:8px;padding:5px 11px;font-size:12px;font-weight:700}.mod-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.mod-card{border:1px solid var(--border);background:var(--paper-2);color:inherit;transition:border-color .15s var(--ease), box-shadow .15s var(--ease), transform .12s var(--ease);border-radius:16px;padding:20px;text-decoration:none;display:block}.mod-card:hover{border-color:var(--ember);box-shadow:var(--shadow-2);transform:translateY(-2px)}.mod-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.mod-ico{color:var(--ember);display:inline-flex}.mod-ico svg{width:26px;height:26px}.mod-arrow{background:var(--ember-bg);width:34px;height:34px;color:var(--ember-2);border-radius:10px;place-items:center;display:grid}.mod-arrow svg{width:16px;height:16px}.mod-name{letter-spacing:-.01em;margin-bottom:3px;font-size:17px;font-weight:700}.mod-desc{color:var(--ink-2);font-size:14px}.kop-bnav{display:none}@media (width<=900px){.sidebar{display:none}.kop-bnav{display:flex}.content{padding:var(--sp-4) clamp(16px, 4vw, 24px) calc(118px + env(safe-area-inset-bottom))}.mod-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.mod-grid{grid-template-columns:1fr}.kop-title{font-size:16px}.kop-subtitle{letter-spacing:.1em;font-size:9px}.kop-user .kop-uname{display:none}.kop-hr{gap:8px}.kop-date{font-size:13px}.kop-content{padding-bottom:110px}}@media print{html{-webkit-print-color-adjust:exact;print-color-adjust:exact}.kop-hdr,.kop-sub,.kop-bnav,.subtabs{display:none!important}.kop-content{max-width:none!important;padding:0!important}@page{size:A4;margin:40mm 8mm}.roa-frame>thead,.roa-frame>tfoot{display:none!important}.roa-print-header,.roa-print-footer{z-index:10;display:block;position:fixed;left:0;right:0}.roa-print-header{top:0}.roa-print-footer{bottom:0}.roa-print-header img,.roa-print-footer img{width:100%;display:block}.roa-kop{max-width:none}.roa-kop-foot{margin-top:0}.roa-body{padding:6px 2px 10px}.sidebar,.btn,.toast,.modal-back,.nav-item{display:none!important}body{color:#1a1a1a;background:#fff;font-size:12px}.app-shell{display:block}.content{max-width:none;padding:0;animation:none}.card,.table-wrap{break-inside:avoid;background:#fff;border:1px solid #bbb}.stempel,.lottag,.chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}.lottag{background:#fff;border-color:#999}[data-noprint]{display:none!important}.roa-report .card{box-shadow:none}.roa-report .card,.roa-report .table-wrap,.roa-report canvas{break-inside:avoid;page-break-inside:avoid}.roa-report h3{break-after:avoid}.roa-report .lampiran{break-before:page}.roa-report .table-wrap{overflow:visible!important}.roa-report table.data{width:100%;font-size:9.5px;line-height:1.3}.roa-report table.data th,.roa-report table.data td{white-space:normal;word-break:break-word;vertical-align:top;padding:3px 5px}.roa-report table.data tr{break-inside:avoid;page-break-inside:avoid}.roa-report table.data .stempel{letter-spacing:0;border-width:1px;padding:1px 6px;font-size:9px}.roa-report .roa-sign{break-inside:avoid;page-break-inside:avoid}.roa-report #charts{grid-template-columns:1fr 1fr!important;gap:10px!important}.roa-report #charts .card{break-inside:avoid!important;page-break-inside:avoid!important}.roa-report #charts .card>div[style*=height]{height:180px!important}textarea.input,.roa-report input.input{resize:none;background:0 0;border:none;padding:0}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
