:root{--bg:#f3f6f5;--surface:#fff;--ink:#19352f;--muted:#536860;--line:#d9e3df;--accent:#176b55;--accent-ink:#0f4d3d;--soft:#edf4f0;--danger:#a52e28;--warn-bg:#fff8e8;--warn-line:#f0dca8;--side:#13332b;--side-ink:#e6f0ec;--side-muted:#9fbab0;--radius:12px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 "Segoe UI",system-ui,sans-serif}
button,input,select,textarea{font:inherit}
h1,h2,h3,p{margin-top:0}
h2{font-size:22px;letter-spacing:-.3px;margin-bottom:6px}
h3{font-size:16px;margin:0 0 12px}
label{display:block;font-size:13px;font-weight:600;min-width:0}
input,select,textarea{display:block;background:#fff;color:var(--ink);border:1px solid #b9cbc3;border-radius:8px;min-height:44px;padding:10px 12px;width:100%;margin:6px 0 14px;min-width:0}
textarea{resize:vertical}
input:hover,select:hover,textarea:hover{border-color:#8fb0a3}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:8px;background:var(--accent);color:#fff;padding:10px 18px;min-height:44px;text-decoration:none;cursor:pointer;font-weight:600;font-size:14px}
button:hover,.button:hover{background:var(--accent-ink)}
button:disabled{opacity:.55;cursor:not-allowed}button.busy{cursor:progress}
.secondary{background:#fff;border-color:#b9cbc3;color:var(--ink)}.secondary:hover{background:var(--soft)}
.quiet{background:transparent;border-color:var(--line);color:var(--ink)}.quiet:hover{background:var(--soft)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #388f75;outline-offset:2px}
.muted,.small{color:var(--muted);font-size:12px}
pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 Consolas,monospace;max-height:430px;overflow:auto;background:var(--soft);border-radius:8px;padding:12px}
pre:empty{display:none}
img{max-width:100%;height:auto}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}
[hidden]{display:none!important}

/* ---- app shell: sidebar on the left, content on the right ---- */
.app{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh;background:linear-gradient(to right,var(--side) 272px,var(--bg) 272px)}
.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--side);color:var(--side-ink);display:flex;flex-direction:column;gap:18px;padding:22px 16px}
.brand{display:flex;gap:12px;align-items:center;padding:0 6px}
.brand h1{font-size:16px;margin:0;color:#fff;line-height:1.3}
.brand p{margin:0;font-size:12px;color:var(--side-muted)}
.opd-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:12px}
.opd-card label{color:var(--side-muted);font-size:11px;text-transform:uppercase;letter-spacing:.6px}
.opd-card select{margin:6px 0 8px;font-weight:600}
.opd-meta{margin:0;font-size:12px;color:var(--side-muted)}.opd-meta b{color:#fff}
.side-nav{display:flex;flex-direction:column;gap:4px}
.side-nav button{justify-content:flex-start;gap:12px;background:transparent;color:var(--side-ink);border:1px solid transparent;border-radius:10px;padding:10px 12px;text-align:left;font-weight:600;min-height:56px}
.side-nav button:hover{background:rgba(255,255,255,.07)}
.side-nav button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.18)}
.nav-num{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;border:1.5px solid rgba(255,255,255,.35);color:var(--side-ink)}
.side-nav button[aria-selected="true"] .nav-num{background:var(--accent);border-color:var(--accent);color:#fff}
.nav-text{display:flex;flex-direction:column;min-width:0}
.tab-title{font-size:14px}
.optional{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;vertical-align:1px;background:rgba(255,255,255,.14);color:var(--side-muted)}
.side-nav button[aria-selected="true"] .optional{background:var(--soft);color:var(--muted)}
.optional-note{margin:0 0 8px;padding:8px 12px;border-radius:8px;background:var(--soft);border:1px solid #cfe0d8;font-size:13px;max-width:760px}
.tab-hint{font-size:12px;font-weight:400;color:var(--side-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-nav button[aria-selected="true"] .tab-hint{color:var(--muted)}
.nav-settings{margin-top:10px;border-top:1px solid rgba(255,255,255,.12)!important;border-radius:0 0 10px 10px!important;padding-top:14px!important}
.nav-settings.needs .nav-num{border-color:#f0b4ad;color:#f0b4ad}
#reportTab.busy .nav-num{animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 5px rgba(47,143,114,.35)}}
@media (prefers-reduced-motion:reduce){#reportTab.busy .nav-num{animation:none}}
.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.side-foot .quiet{color:var(--side-ink);border-color:rgba(255,255,255,.2)}.side-foot .quiet:hover{background:rgba(255,255,255,.07)}
.side-public{margin:0;font-size:12px;color:var(--side-muted);overflow-wrap:anywhere}.side-public a{color:#fff}

.content{min-width:0;padding:28px 40px 56px;max-width:1080px}
.content:has(#bkView:not([hidden])){max-width:1500px}  /* more room for the page preview */
.content:has(#sampelPanel:not([hidden])),.content:has(#kertasPanel:not([hidden])){max-width:1600px}  /* wide tables use the screen */
.panel-head{margin-bottom:18px}
.eyebrow{margin:0 0 2px;font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.6px}
.lead{color:var(--muted);max-width:760px;margin:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin:0 0 16px}
details.card>summary{cursor:pointer;font-weight:600;font-size:14px;min-height:44px;display:list-item;align-content:center;list-style-position:inside;margin:-6px 0}
details.card[open]>summary{margin-bottom:12px}
details.subdetails>summary{cursor:pointer;font-size:14px;font-weight:600;min-height:44px;display:list-item;align-content:center;list-style-position:inside}
.next,.form-actions,.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.next{justify-content:flex-end}
.swatch{display:inline-block;width:12px;height:12px;border-radius:3px;background:#fff8e1;border:1px solid #e0b84c;vertical-align:-1px}

#message{font-size:13px;min-height:0;margin-bottom:14px;color:var(--muted);overflow-wrap:anywhere}
#message:empty{display:none}
#message.info{background:var(--soft);border:1px solid #cfe0d8;border-radius:10px;padding:10px 14px;color:var(--ink)}
#message.error{background:#fff4f2;border:1px solid #f0c9c4;border-radius:10px;padding:10px 14px;color:var(--danger)}

.import-row{display:flex;align-items:flex-end;gap:12px}.import-row label{flex:1}.import-row input{margin-bottom:0}
.evidence-summary{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--muted);margin-top:12px;flex-wrap:wrap}
.evidence-summary button{margin-left:auto;font-size:12px;padding:6px 12px}
.consent{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:400;margin:0;min-height:44px}
.consent input{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--accent)}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.ai-summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 0 12px;font-size:13px;color:var(--muted)}
.link-button{background:none;border:0;color:var(--accent);padding:0 2px;min-height:44px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.link-button:hover{background:none;color:var(--accent-ink)}
.text-link{color:var(--accent);font-size:13px;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
.send-note{margin:0 0 4px;font-size:13px;color:var(--muted)}
.report-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 4px}
.report-note{margin:6px 0 0}
.status-chip{display:inline-block;margin:12px 0 0;padding:8px 12px;border-radius:999px;background:#fff4f2;border:1px solid #f0c9c4;color:var(--danger);font-size:13px}
.status-chip.ok{background:var(--soft);border-color:#bcd6cb;color:var(--accent)}
.mode-info{display:flex;gap:18px;font-size:12px;color:var(--muted);margin:-5px 0 12px;flex-wrap:wrap}

.stages{display:flex;gap:6px;list-style:none;padding:0;margin:14px 0 8px;flex-wrap:wrap;counter-reset:stage}
.stages li{counter-increment:stage;flex:1;min-width:120px;font-size:12px;color:var(--muted);padding:8px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--line)}
.stages li::before{content:counter(stage) ". ";font-weight:600}
.stages li.done{color:var(--accent);border-color:#bcd6cb;background:var(--soft)}
.stages li.done::before{content:"✓ "}
.stages li.active{color:var(--ink);border-color:var(--accent);font-weight:600;box-shadow:0 0 0 1px var(--accent) inset}
.stages li.stopped{color:var(--danger);border-color:#f0c9c4;background:#fff4f2}
progress,#reportProgress{width:100%;height:8px;accent-color:var(--accent);margin-top:6px}
.coverage-summary{font-size:13px;color:var(--ink);margin:8px 0 0}
.problems{margin-top:8px;padding:8px 12px;border-radius:8px;background:var(--warn-bg);border:1px solid var(--warn-line);font-size:12px;color:#6b4e00}
.problems p{margin:0 0 4px}.problems ul{margin:0;padding-left:18px}

.metrics{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 18px;min-width:150px}
.metric b{display:block;font-size:22px;line-height:1.2}.metric span{font-size:12px;color:var(--muted)}
#draftText{font:14px/1.7 "Segoe UI",sans-serif}
#pageMeta{overflow-wrap:anywhere}
.warning{font-size:12px;padding:8px 0;border-bottom:1px solid var(--line)}
#coveragePages table{border-collapse:collapse;width:100%;font-size:12px}#coveragePages th,#coveragePages td{border-bottom:1px solid var(--line);padding:4px 6px;text-align:left}
#coveragePages details{margin:4px 0}#coveragePages summary{cursor:pointer;min-height:44px;align-content:center}

/* ---- page viewer (Bukti › Lihat halaman): document cards, big preview, page strip ---- */
.viewer-card{padding:0;overflow:hidden}
.viewer-layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:640px}
.doc-list{border-right:1px solid var(--line);background:#fafcfb;padding:16px 12px;max-height:880px;overflow:auto}
.doc-list h3{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 4px 10px}
.catalog button.doc{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;background:#fff;color:var(--ink);border:1px solid var(--line);text-align:left;margin-bottom:8px;padding:10px 12px;font-weight:600;font-size:13px;min-height:44px}
.catalog button.doc:hover{background:var(--soft)}
.catalog button.doc.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:var(--soft)}
.doc-name{overflow-wrap:anywhere}
.catalog small{font-size:11px;font-weight:400;color:var(--muted)}
.doc-bar{height:4px;border-radius:2px;background:var(--line);overflow:hidden;margin-top:4px;position:relative}
.doc-bar::after{content:"";position:absolute;inset:0;width:var(--done,0%);background:var(--accent)}
.viewer{padding:18px 20px;min-width:0}
.viewer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.viewer-title{min-width:0;flex:1}.viewer-title h3{margin:0 0 2px;overflow-wrap:anywhere}.viewer-title p{margin:0}
.pager{display:flex;align-items:center;gap:6px}
.icon-btn{width:44px;padding:0;font-size:22px;line-height:1}
.page-jump{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;margin:0}
.page-jump input{width:72px;margin:0;text-align:center}
.page-strip{display:flex;gap:4px;overflow-x:auto;padding:10px 2px 8px;margin-top:10px;scrollbar-width:thin}
.page-strip .pg{flex:none;min-width:38px;height:34px;min-height:34px;padding:0 6px;border-radius:6px;font-size:12px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);position:relative}
.page-strip .pg::before{content:"";position:absolute;left:4px;top:4px;width:6px;height:6px;border-radius:50%;background:var(--dot)}
.page-strip .pg.reviewed::after{content:"✓";position:absolute;right:3px;top:0;font-size:10px;color:var(--accent)}
.page-strip .pg:hover{background:var(--soft)}
.page-strip .pg.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.page-strip .pg.active.reviewed::after{color:#fff}
.st-digital{--dot:#2f8f72}.st-ai{--dot:#2f6fd0}.st-ocr{--dot:#c48a12}.st-unread{--dot:#c0392b}
.strip-legend{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:11px;color:var(--muted)}
.strip-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dot);margin-right:-6px}
.strip-legend .tick{color:var(--accent);font-weight:700;margin-right:-8px}
.view-modes{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 10px}
.view-modes .mode{min-height:36px;padding:6px 12px;font-size:13px;background:#fff;color:var(--ink);border-color:var(--line)}
.view-modes .mode.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.view-modes .text-link{margin-left:auto;min-height:36px}
.page-view{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px}
.page-view[data-view="image"]{grid-template-columns:1fr}.page-view[data-view="image"] .page-text{display:none}
.page-view[data-view="text"]{grid-template-columns:1fr}.page-view[data-view="text"] .page-image{display:none}
.page-image{background:#e9eeec;border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;justify-content:center;align-items:flex-start;min-height:420px;overflow:auto;max-height:1100px}
.page-image img{width:100%;height:auto;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.15)}
.page-view[data-view="image"] .page-image img{max-width:980px}
.page-text p{margin:0 0 4px}
.page-text pre{max-height:1060px;margin:0;font-size:12px}
.page-view[data-view="text"] .page-text pre{max-height:none;font-size:13px}
.review-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:14px}
.review-row label textarea{margin-bottom:0}

/* ---- integrity hints (suspicious payment evidence; AI suggestion, not a verdict) ---- */
.integrity{margin:12px 0 0;padding:10px 14px;border-radius:10px;background:#fff6f4;border:1px solid #f0c9c4;font-size:13px}
.integrity.clean{background:var(--soft);border-color:#cfe0d8}
.integrity-head{margin:0 0 6px;font-weight:600}
.integrity .chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.chip{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:#fff}
.chip.ok{border-color:#bcd6cb;color:var(--accent)}.chip.miss{border-color:#f0c9c4;color:var(--danger)}.chip.unk{color:var(--muted)}
.integrity ul{margin:0;padding-left:18px}.integrity li{margin:2px 0}
.integrity li.sev-tinggi b{color:var(--danger)}.integrity li.sev-sedang b{color:#8a5a00}
.integrity-summary{margin-top:8px;padding:8px 12px;border-radius:8px;background:#fff6f4;border:1px solid #f0c9c4;font-size:13px}
.catalog button.doc.has-flags small{color:var(--danger)}
.page-strip .pg.flagged{border-color:var(--danger)}
.page-strip .pg.flagged::after{content:"⚠";position:absolute;right:2px;bottom:-1px;font-size:9px;color:var(--danger)}
.page-strip .pg.active.flagged::after{color:#fff}

/* assignment value prefilled from the OPD's example LHP, not yet saved by the auditor */
input.from-default,input.from-lhp{background:#fff8e1;border-color:#e0b84c}
.as-lhp{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px}.as-lhp .small{flex:1 1 300px}
.as-group{border:1px solid var(--line);border-radius:10px;margin:0 0 12px;padding:0 14px;background:#fff}.as-group[open]{padding-bottom:12px}
.as-group>summary{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;font-weight:700;font-size:15px;list-style:none}.as-group>summary::-webkit-details-marker{display:none}
.as-group>summary::before{content:'▸';color:var(--muted);font-size:13px;width:12px}.as-group[open]>summary::before{content:'▾'}
.as-group-title{flex:1}.as-group-count{font-size:12.5px;font-weight:600;color:#7a5200;background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:999px;padding:1px 10px}
.as-group.done .as-group-count{color:#1f6b45;background:#e6f4ec;border-color:#b9dfc8}.as-group>.small{margin:0 0 8px}
input.as-empty:not(:focus){background:#fff5f5;border-color:#efc4c4}.swatch.empty{background:#fff5f5;border-color:#efc4c4}.as-legend{margin:6px 0 0;color:var(--muted)}
input.off-month{border-color:#c0392b;background:#fdecea}.field-warn{display:block;color:#a12c1f;font-size:12.5px;font-weight:600;margin-top:4px}
.as-warn{background:#fdecea;border:1px solid #f1b0a8;color:#8a2318;border-radius:8px;padding:10px 12px;font-weight:600;margin:0 0 12px}

/* ---- login ---- */
.login-page{min-height:100vh;display:grid;place-items:center}
.login-card{width:min(420px,calc(100% - 40px));background:white;border:1px solid var(--line);border-radius:12px;padding:36px;margin:30px auto}
.login-card h1{margin-bottom:30px;font-size:21px}
.login-card button{width:100%;margin-top:6px}
#loginStatus{font-size:13px;margin:14px 0 0;min-height:20px;color:var(--danger)}
#liveImport{max-width:620px}

/* ---- narrow screens: sidebar becomes a top bar with a scrollable step menu ---- */
@media (max-width:860px){
 .app{display:block;background:var(--bg)}
 .sidebar{position:static;height:auto;padding:16px;gap:12px}
 .opd-card{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center}
 .opd-card select{margin:0}.opd-meta{grid-column:1/-1}
 .side-nav{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px;scroll-snap-type:x mandatory}
 .side-nav button{flex:none;min-width:150px;scroll-snap-align:start}
 .nav-settings{margin-top:0;border-top:0!important;border-radius:10px!important;padding-top:10px!important}
 .side-foot{flex-direction:row;align-items:center;justify-content:space-between}
 #backupLine{display:none}
 .content{padding:20px 16px 40px}
 .two-col,.page-view,.review-row{grid-template-columns:1fr}
 .viewer-layout{grid-template-columns:1fr;min-height:0}
 .doc-list{border-right:0;border-bottom:1px solid var(--line);max-height:none}
 .catalog{display:flex;gap:8px;overflow-x:auto}.catalog button.doc{flex:none;width:220px;margin:0}
 .page-image{min-height:260px}
 .import-row{align-items:stretch;flex-direction:column}
 .evidence-summary button{margin-left:0}
 .report-actions .button,.report-actions button{flex:1}
 .card{padding:16px}
}

.unit-pick{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 8px}.unit-pick legend{font-size:13px;padding:0 4px}
.unit-pick div{display:flex;flex-wrap:wrap;gap:6px 14px}.unit-pick label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:400;margin:0}
.unit-pick input{width:16px;height:16px;min-height:16px;margin:0;accent-color:var(--accent)}

.table-scroll{overflow-x:auto;max-width:100%}
.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
.data-table th{background:#f3f5f7;font-weight:600}.data-table tr.total td{font-weight:600;background:#fafbfc}
.data-table td.warn{background:#fff3cd}.data-table td.bad{background:#f8d7da;color:var(--danger)}

button.attention{box-shadow:0 0 0 3px #f0b429}
.unit-pick legend .group-pick{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.catalog .cat-group{margin:0 0 6px}.catalog .cat-group>summary{font-size:12px;font-weight:600;padding:6px 4px;cursor:pointer;color:var(--ink);list-style-position:inside}
.catalog .cat-group[open]>summary{border-bottom:1px solid var(--line);margin-bottom:4px}
@media (max-width:860px){.catalog .cat-group{flex:none;width:240px}.catalog .cat-group button.doc{width:100%;margin:0 0 4px}}
.warn-note{color:#8a5a00;background:#fff3cd;border-radius:6px;padding:6px 8px}
table.compact th,table.compact td{padding:3px 6px;font-size:.85em}

/* ---- report month under the active OPD ---- */
.opd-card .month-label{display:block;margin-top:2px}
.month-pick{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:6px}
.month-pick select{margin:6px 0 4px}
#reportMonthNote{min-height:0;margin:0 0 6px}#reportMonthNote:empty{display:none}#reportMonthNote.needs{color:#f6d58a}
@media (max-width:860px){.opd-card .month-label{margin:0}.month-pick{grid-column:2}}
/* a 1366x768 laptop shows the whole menu: Audit & riwayat and Bukti & dokumen were below the screen edge (9 Nov 2026) */
@media (min-width:861px){
 .sidebar{gap:12px;padding:16px 14px}
 .tour-toggle{min-height:32px;padding:5px 10px;font-size:12.5px;white-space:nowrap}
 .opd-card{padding:10px 12px}.opd-card select{min-height:38px;margin:4px 0 6px}.month-pick select{margin:4px 0 2px}
 .side-nav button{min-height:50px;padding:7px 12px}
 .side-nav .nav-settings{min-height:38px;margin-top:0;padding:4px 12px!important;border-top:0!important;border-radius:10px!important}
 .side-nav .nav-settings .tab-hint{display:none}.side-nav .nav-settings .nav-num{width:24px;height:24px;font-size:12px}
 .side-nav .nav-activity{margin-top:6px;border-top:1px solid rgba(255,255,255,.12)!important;border-radius:0 0 10px 10px!important;padding-top:8px!important}
}
@media (min-width:861px) and (max-height:900px){
 .sidebar{gap:8px;padding:12px}.sidebar .tour-toggle{min-height:30px;padding:4px 10px}.brand p,.who-label{display:none}.who-card{padding:7px 10px}.who-card .who-avatar{width:32px;height:32px}
 .opd-card{padding:8px 10px}.opd-card select{min-height:34px;padding-top:4px;padding-bottom:4px;margin:3px 0 4px}.month-pick select{margin:3px 0 2px}
 .side-nav{gap:2px}.side-nav button{min-height:42px;padding:3px 10px}.side-nav .nav-settings{min-height:29px;padding:1px 10px!important}
 .side-foot .quiet{min-height:32px;padding:4px 10px}.side-foot{gap:6px}
 .who-card:not([hidden])~.side-foot #whoami,.sidebar:has(.who-card:not([hidden])) #whoami{display:none}
}
/* Kertas kerja without any sample: one clear way back to step 2 instead of empty tools */
#kkEmpty{display:none}.kk-none #kkEmpty{display:block}
.kk-none .kk-bar,.kk-none #kkGuide,.kk-none .sp-tabs,.kk-none .sp-sec,.kk-none .next{display:none!important}
.kk-empty h3{margin:0 0 6px}.kk-empty p{margin:0 0 12px;color:var(--muted)}

/* ---- Pengawasan PBJ: three sub-steps ---- */
.compact-card{padding:14px 18px}.compact-card .import-row label{max-width:220px}.compact-card select{margin-bottom:0}
.substeps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px}
.substeps button{justify-content:flex-start;text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-weight:400;gap:10px}
.substeps button:hover{background:var(--soft)}
.substeps button[aria-selected="true"]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset;background:var(--surface)}
.substeps b{display:block;font-size:14px}.substeps small{display:block;color:var(--muted);font-size:12px}
.sub-num{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:var(--muted)}
.substeps button[aria-selected="true"] .sub-num{background:var(--accent);border-color:var(--accent);color:#fff}
.substeps button.done .sub-num{background:var(--soft);border-color:#bcd6cb;color:var(--accent)}
.chosen{background:var(--soft);border:1px solid #cfe0d8;border-radius:10px;padding:10px 12px;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chosen-head{flex-basis:100%;margin:0 0 2px;font-size:13px;font-weight:600}
.chip-pick{display:inline-flex;align-items:center;gap:2px;background:#fff;border:1px solid #bcd6cb;border-radius:999px;padding:0 0 0 10px;font-size:12px}
.chip-x{background:none;color:var(--muted);min-height:32px;padding:0 10px;font-size:16px;line-height:1}.chip-x:hover{background:none;color:var(--danger)}
.sample-save{margin:0 0 14px}
.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}
.filter-checks{display:flex;flex-wrap:wrap;gap:4px 18px;margin:-4px 0 6px}
.table-scroll.tall{max-height:70vh;overflow:auto;border:1px solid var(--line);border-radius:8px}
.table-scroll.tall .data-table th{position:sticky;top:0;z-index:1}
.table-scroll.tall .data-table{border-style:hidden}
/* package table (Pengawasan PBJ, step a) */
.table-scroll.tall{container-type:inline-size}
.pbj-table{table-layout:fixed;font-size:13px;line-height:1.4}
.pbj-table>*>tr>th,.pbj-table>*>tr>td{border:0;border-bottom:1px solid var(--line);padding:10px 10px;vertical-align:top}
.pbj-table>thead>tr>th{background:#f3f6f5;font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px;box-shadow:inset 0 -1px 0 var(--line)}
.pbj-table th .sort{background:none;border:0;padding:0;min-height:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;text-decoration:underline dotted;text-underline-offset:3px}
.pbj-table th .sort.on{color:var(--accent)}.pbj-table th .sort:hover{background:none;color:var(--accent-ink)}
/* fixed layout with shares of the width: columns wrap instead of forcing a horizontal scroll */
.pbj-table .c-pick{width:64px;text-align:center}.pbj-table .c-name{width:27%}.pbj-table .c-contract{width:19%}
.pbj-table .c-prog{width:16%}.pbj-table .c-pay{width:14%;font-variant-numeric:tabular-nums}.pbj-table .c-status{width:17%}.pbj-table>tbody>tr>td{overflow-wrap:anywhere}
.pbj-table td.c-status{overflow-wrap:normal}.pbj-table .c-status .pill{white-space:normal;display:inline-block}.pbj-table .pk-reviu{overflow-wrap:normal;word-break:normal}
.pbj-table>tbody>tr{cursor:pointer}.pbj-table>tbody>tr:hover>td{background:#f7faf9}
.pbj-table>tbody>tr.picked>td{background:#eef7f2}.pbj-table>tbody>tr.picked:hover>td{background:#e5f2eb}.pbj-table>tbody>tr.picked>td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.pbj-table tr.group td{background:#fafcfb;cursor:default;padding:6px 10px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.pbj-table tr.empty td{cursor:default;color:var(--muted);text-align:center;padding:24px}
.pk-name{font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pk-tags{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 2px}
.tag{font-size:11px;line-height:18px;padding:0 7px;border-radius:999px;background:var(--soft);border:1px solid #d6e5de;color:var(--ink);white-space:nowrap}
.tag.id{font-variant-numeric:tabular-nums}.tag.mute{color:var(--muted);background:#f4f4f2;border-color:#e3e3de}
.tag.warn{background:#fff6e0;border-color:#efd9a2;color:#7a5500}.tag.ok{background:#e7f4ec;border-color:#bcd6cb;color:var(--accent-ink)}
.pk-sub{font-size:12px;color:var(--muted)}
.pk-vendor{font-weight:600}.pk-no{font-size:12px;color:var(--ink)}
.pk-amt{font-weight:600;font-variant-numeric:tabular-nums}.pk-none{color:#9aa9a3}
.prog{display:flex;align-items:center;gap:8px}.prog b{font-variant-numeric:tabular-nums;min-width:52px;text-align:right}
.bar{position:relative;flex:1;height:8px;border-radius:4px;background:#e4ebe8}
.bar::before{content:"";position:absolute;inset:0 auto 0 0;width:var(--p,0%);border-radius:4px;background:var(--accent)}
.bar .mark{position:absolute;top:-3px;width:2px;height:14px;margin-left:-1px;background:var(--ink);border-radius:1px}
.pill{display:inline-block;font-size:12px;line-height:1.35;padding:3px 9px;border-radius:10px;border:1px solid var(--line);background:#f4f6f5;color:var(--ink)}
.pill.s-berjalan{background:#e8f1fb;border-color:#bcd3ee;color:#1d4f86}
.pill.s-lewat_masa{background:#fdecea;border-color:#f0c4bf;color:var(--danger);font-weight:600}
.pill.s-selesai{background:#e7f4ec;border-color:#bcd6cb;color:var(--accent-ink)}
.pill.s-belum_mulai,.pill.s-non_kontrak{color:var(--muted)}
.pill.s-tanpa_kontrak,.pill.s-swakelola_kontrak{background:#fff6e0;border-color:#efd9a2;color:#7a5500}
.input-card>summary.lacking{color:#8a5a00}.input-card>summary.complete{color:var(--accent)}
.input-card{border-top:1px solid var(--line);padding-top:4px}
.doc-status{list-style:none;padding:0;margin:0 0 14px}.doc-status li{padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}
.doc-status li.ok{color:var(--accent)}.doc-status li.todo{color:#8a5a00}
@media (max-width:860px){.substeps,.filters{grid-template-columns:1fr}}

/* ---- Buat laporan: readiness ---- */
.ready-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.ready-head h3{margin:0}
.ready-list{list-style:none;padding:0;margin:10px 0 0}
.ready-list li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.ready-list li:last-child{border-bottom:0}
.ready-icon{flex:none;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.ready-ok .ready-icon{background:var(--soft);color:var(--accent)}
.ready-warn .ready-icon{background:#fff3cd;color:#8a5a00}
.ready-todo .ready-icon{background:#f8d7da;color:var(--danger)}
.ready-text{flex:1;min-width:0}.ready-text b{display:block;font-size:14px}.ready-text small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.ready-list .link-button{min-height:36px}
.ready-card.all-ok .ready-list{display:none}
.pbj-table input[type=checkbox]{width:20px;height:20px;min-height:20px;margin:2px auto;accent-color:var(--accent)}
.report-timer{margin:10px 0 0;font-size:14px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.report-timer.done{color:var(--accent)}.report-timer.paused,.report-timer.cancelled,.report-timer.incomplete{color:#7a5500}
.profile-list{list-style:none;padding:0;margin:8px 0 12px;display:flex;flex-direction:column;gap:8px}
.profile-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;flex-wrap:wrap}
.profile-list li.in-use{border-color:#bcd6cb;background:var(--soft)}.profile-list li .small{overflow-wrap:anywhere}
.profile-actions{display:flex;gap:6px}.profile-save{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.profile-save label{flex:1;min-width:220px}
.speed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}
@media (max-width:860px){.speed-grid{grid-template-columns:1fr}}
/* narrow panel: each package becomes a card (labels from data-label); sortable headers stay as a sort bar */
@container (max-width:760px){
 .pbj-table,.pbj-table>tbody,.pbj-table>thead{display:block}
 .pbj-table>thead>tr{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:8px 10px;background:#f3f6f5;box-shadow:inset 0 -1px 0 var(--line)}
 .pbj-table>thead>tr::before{content:"Urutkan:";font-size:12px;color:var(--muted)}
 .pbj-table>thead>tr>th{display:block;width:auto!important;padding:0;background:none;box-shadow:none}.pbj-table>thead>tr>th:not(:has(.sort)){display:none}
 .pbj-table>tbody>tr{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(0,1fr);gap:8px 14px;padding:12px 10px;border-bottom:1px solid var(--line)}
 .pbj-table>tbody>tr>td{display:block;width:auto!important;border:0;padding:0;background:none!important;box-shadow:none!important}
 .pbj-table td.c-pick{grid-row:span 3}.pbj-table td.c-name{grid-column:2/-1}
 .pbj-table>tbody>tr>td:not(.c-pick):not(.c-name)::before{content:attr(data-label);display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}
 .pbj-table tr.picked{background:#eef7f2;box-shadow:inset 3px 0 0 var(--accent)}.pbj-table>tbody>tr:hover{background:#f7faf9}
 .pbj-table tr.group,.pbj-table tr.empty{display:block;padding:0}.pbj-table tr.group td,.pbj-table tr.empty td{padding:6px 10px}.pbj-table tr.empty td{padding:24px 10px}
}
@container (max-width:440px){.pbj-table>tbody>tr{grid-template-columns:34px minmax(0,1fr)}.pbj-table td.c-pick{grid-row:span 5}}
/* Bukti: the import sources sit below the evidence list */
.section-label{margin:22px 2px 8px;font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
/* Checklist & peraturan */
.cl-cat{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:10px 0}
.cl-cat>summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;cursor:pointer;padding:4px 0}.cl-cat>summary .sub-num{text-transform:lowercase}
.cl-items{margin:6px 0 4px;padding-left:24px;line-height:1.5}.cl-items>li{margin:3px 0}.cl-items ul{margin:2px 0 4px;padding-left:18px;color:var(--muted);font-size:13px}
.cl-needs .table-scroll{container-type:inline-size;margin-top:6px}
.cl-table th{font-size:12px}.cl-table td.num{text-align:center;font-variant-numeric:tabular-nums;width:12%}
.cl-todo{margin-top:4px;font-size:12px}.cl-todo summary{cursor:pointer;color:var(--accent-ink)}.cl-todo ul{margin:4px 0;padding-left:18px;max-height:240px;overflow:auto}
@container (max-width:640px){
 .flex-table thead{display:none}.flex-table,.flex-table tbody,.flex-table tr,.flex-table td{display:block;width:auto!important}
 .flex-table tr{border-bottom:1px solid var(--line);padding:8px 0}.flex-table td{border:0;padding:2px 8px}
 .flex-table td.num{display:flex;justify-content:space-between;text-align:left}.flex-table td.num::before{content:attr(data-label);color:var(--muted)}
}
/* Bukti: Kegiatan > paket > dokumen */
.ev-card{padding-bottom:12px}
.ev-head h3{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.ev-count{font-size:12px;font-weight:600;color:var(--accent-ink);background:var(--soft);border:1px solid #d6e5de;border-radius:999px;padding:1px 9px}
.ev-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px) auto;gap:10px;align-items:end;margin:8px 0 10px}
.ev-tools input,.ev-tools select{margin-bottom:0}
.ev-fold{display:flex;gap:4px}.ev-fold button{padding:8px 10px;font-size:13px}
.ev-groups{display:flex;flex-direction:column;gap:8px}
.ev-group{border:1px solid var(--line);border-radius:10px;background:#fff}
.ev-group[open]{box-shadow:0 1px 0 rgba(0,0,0,.03)}
.ev-group-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 14px;cursor:pointer;list-style:none;border-radius:10px}
.ev-group-head::-webkit-details-marker{display:none}
.ev-group-head::after{content:'▸';grid-column:3;grid-row:1;justify-self:end;color:var(--muted);transition:transform .15s}
.ev-group[open]>.ev-group-head::after{transform:rotate(90deg)}
.ev-group[open]>.ev-group-head{background:var(--soft);border-bottom:1px solid var(--line);border-radius:10px 10px 0 0}
.ev-group-head input,.ev-pkg-head input,.ev-doc-pick input{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--accent)}
.ev-group-title{display:flex;flex-direction:column;min-width:0}
.ev-group-title b{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.ev-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:600}
.ev-group-meta{grid-column:2/4;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ev-group-body{padding:6px 14px 10px}
.ev-pkg{padding:8px 0;border-top:1px dashed var(--line)}.ev-pkg:first-child{border-top:0}
.ev-pkg-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:4px}
.ev-pkg-head input{margin-top:2px}
.ev-pkg-title{min-width:0}.ev-pkg-title b{font-size:13.5px;overflow-wrap:anywhere}
.ev-docs{list-style:none;margin:0;padding:0 0 0 28px}
.ev-doc{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 12px;align-items:center;padding:5px 6px;border-radius:6px}
.ev-doc:hover{background:#f7faf9}
.ev-doc-pick{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:0;cursor:pointer;min-width:0}
.ev-doc-pick input{margin-top:2px;flex:none}
.ev-doc-name{display:flex;flex-direction:column;min-width:0}
.ev-doc-name b{font-size:13px;font-weight:600;overflow-wrap:anywhere}
.ev-doc-name small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.ev-doc-meta{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.ev-pages{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ev-view{min-height:32px;padding:0 6px;font-size:13px}
.ev-bar{position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;margin-top:10px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 -4px 12px rgba(19,51,43,.06)}
.ev-bar-actions{display:flex;flex-wrap:wrap;gap:6px}
.ev-note{margin:8px 0 0}.ev-empty{padding:8px 2px}
@media (max-width:760px){
 .ev-tools{grid-template-columns:1fr 1fr}.ev-search{grid-column:1/3}.ev-fold{justify-content:flex-end}
 .ev-docs{padding-left:0}
 .ev-doc{grid-template-columns:minmax(0,1fr) auto;padding:8px 4px;border-bottom:1px solid #eef3f1;border-radius:0}
 .ev-doc-meta{grid-column:1/2;justify-content:flex-start;padding-left:28px}
 .ev-view{grid-column:2;grid-row:1/3}
 .ev-group-head{padding:10px}.ev-group-body{padding:4px 10px 8px}
 .ev-bar-actions{width:100%}.ev-bar-actions button{flex:1}
}
.ev-summary{font-size:13px;color:var(--muted);margin:0 0 2px}
.ev-issues{margin:0 0 14px}
.ev-issue-box{border:1px solid var(--warn-line);background:var(--warn-bg);border-radius:10px;padding:0 14px}
.ev-issue-box>summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;font-size:14px;font-weight:600;list-style-position:inside}
.ev-issue-list{margin:0 0 10px;padding-left:18px;font-size:13px}.ev-issue-list li{margin:3px 0}.ev-issue-list small{display:block;color:var(--muted)}
/* Reviu: transactions grouped under their package */
:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg th{background:var(--soft);text-align:left;font-weight:400;padding:10px 12px;border-top:2px solid #cfe0d8}
:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg b{display:block;font-size:14px;line-height:1.35}
:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg small{display:block;color:var(--muted);font-size:12px;margin-top:1px}
:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg .pk-tags{margin-top:6px}
.rv-notes{margin:0;padding-left:16px;font-size:12.5px;line-height:1.45}.rv-notes li{margin:1px 0}
/* Reviu sample (uji petik) */
.rv-sample-bar{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;margin:4px 0 8px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:10px}
.rv-sample-actions{display:flex;flex-wrap:wrap;gap:6px}
:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pick{white-space:nowrap}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pick input,:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg input{width:18px;height:18px;min-height:18px;margin:0 6px 0 0;accent-color:var(--accent);vertical-align:middle}
:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg th{position:relative}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg .rv-pick-all{float:left;margin:2px 10px 0 0}
:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-picked td{background:#f3faf6}
.rv-kind-count{align-self:end;margin:0 0 16px}

/* Reviu kertas kerja per transaction */
:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-detail-row>td{background:#f7faf9;padding:10px 12px 14px}
.rv-detail label{margin-top:8px}.rv-detail textarea{margin-bottom:6px}
table.rv-items{width:100%;border-collapse:collapse;font-size:12.5px;margin-bottom:8px;table-layout:fixed}table.rv-items col.c-item{width:24%}table.rv-items col.c-auto{width:14%}table.rv-items col.c-ai{width:37%}table.rv-items col.c-dec{width:25%}table.rv-items td{overflow-wrap:anywhere}.rv-src{font-weight:400;font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.4}.rv-dec-box{display:flex;flex-direction:column;gap:5px}table.rv-items td.rv-dec select{width:100%}table.rv-items td.rv-dec textarea{width:100%;min-height:34px;overflow:hidden;resize:vertical;margin:0;padding:6px 8px;font-size:12.5px;line-height:1.4;font-family:inherit}
table.rv-items th,table.rv-items td{border:1px solid var(--line);padding:5px 7px;vertical-align:top;text-align:left;background:#fff}
table.rv-items th{background:var(--soft);font-size:12px}
table.rv-items select,table.rv-items input{margin:0;min-height:34px;padding:4px 8px;font-size:12.5px}
table.rv-items td.bad{color:var(--danger)}table.rv-items td.warn{color:#7a5500}
.imp-bar{display:block;width:100%;max-width:520px;height:10px;margin:6px 0 4px;accent-color:var(--accent,#1f6f5c)}.imp-pct{margin-right:8px}.imp-stage{color:var(--muted,#5b6b65)}
.import-banner{margin:0 0 10px;padding:8px 12px;border-radius:8px;background:#eaf4f0;border:1px solid #b9d9cc;font-size:13px;font-weight:600}
td.rv-ai-found{color:#0b4fae}.rv-pbj{font-weight:400;font-size:12.5px;margin-top:4px;color:var(--ink-2,#3d4b45)}.rv-pbj .link-button{font-size:12.5px}.pk-reviu{display:block;margin-top:6px;font-size:12px;text-align:left}.rv-docs ul{margin:4px 0 8px;padding-left:18px;font-size:12.5px}.rv-docs li .tag{margin-left:6px}td.rv-ai-bad{color:var(--danger);font-weight:600}
.rv-ai-box{border:1px solid #cfdcf3;background:#f3f7fd;border-radius:8px;padding:8px 12px;margin:6px 0;font-size:12.5px}
.rv-ai-box ul{margin:4px 0 0;padding-left:18px}.rv-check-beda{color:var(--danger);font-weight:600}.rv-check-sesuai{color:var(--accent-ink)}
.rv-open{min-height:28px;padding:0 4px;font-size:12.5px}
@media (max-width:1000px){table.rv-items,table.rv-items tbody,table.rv-items tr,table.rv-items td{display:block;width:100%}table.rv-items colgroup{display:none}table.rv-items tr:first-of-type th{display:none}table.rv-items tr:first-of-type th:first-child{display:block;border:0;background:none;padding:0 0 6px}table.rv-items tr:first-of-type th:first-child{font-size:0}table.rv-items tr{border:1px solid var(--line);border-radius:8px;margin-bottom:8px;overflow:hidden}table.rv-items td{border:0;border-top:1px solid var(--line)}table.rv-items td:first-child{border-top:0;font-weight:600}table.rv-items td[data-label]:not(:first-child)::before{content:attr(data-label);display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:2px}}

.ask-dialog{max-width:560px;width:calc(100% - 32px);border:1px solid #cfd8d4;border-radius:12px;padding:20px 22px;box-shadow:0 12px 40px rgba(0,0,0,.18)}
.ask-dialog::backdrop{background:rgba(20,30,26,.35)}.ask-dialog p{white-space:pre-line;margin:0 0 16px;line-height:1.5}.ask-dialog .form-actions{justify-content:flex-end}
.ask-dialog .login-error{color:var(--danger);font-size:13px}.ask-dialog .login-error:empty{display:none}
/* messages and the import banner stay in view while the page is scrolled (a refused action was easy to miss) */
.status-stack{position:sticky;top:0;z-index:6;background:var(--bg,#f6f8f7);padding-top:6px}.system-warning{margin:0 0 8px;background:#fff4f2;border:1px solid #f0c9c4;border-radius:10px;padding:10px 14px;color:var(--danger);font-size:13px;font-weight:600}.status-stack #message{margin-bottom:8px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
[data-admin][hidden]{display:none!important}
.acct-list{overflow-x:auto}.acct-table{width:100%;border-collapse:collapse;font-size:14px}.acct-table th,.acct-table td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.acct-table th{color:var(--muted);font-weight:600}.acct-act{white-space:nowrap}.acct-act button{margin-left:6px}
.acct-opds{border:0;padding:0;margin:10px 0}.acct-opds legend{font-weight:600;margin-bottom:6px}.acct-opds div{display:flex;flex-wrap:wrap;gap:6px 18px}
.import-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}.banner-main{display:flex;align-items:center;gap:10px;flex:1 1 300px;min-width:0}.banner-bar{flex:0 0 120px;width:120px;height:10px;accent-color:var(--accent,#1f6f5c)}.import-banner[hidden]{display:none}.import-banner button{padding:6px 12px;font-size:13px}
.rv-legend{margin:2px 0 6px;color:var(--muted)}.rv-txlink{font-size:inherit;padding:0;vertical-align:baseline}
/* Sampel pemeriksaan: one tree sub kegiatan > paket > transaksi */
.scope-row{display:flex;flex-wrap:wrap;gap:6px 24px}.scope-row .consent{flex:1 1 320px}
.sp-pull{align-items:flex-end;flex-wrap:wrap}.sp-reviu-opts{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:flex-end}.sp-reviu-opts[hidden]{display:none}
/* Reviu period: one chip per SP2D month; ★ = month before the report month, dot = already pulled */
.sp2d-period{flex:1 1 100%;min-width:0}.sp2d-period .field-label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.month-chips{display:flex;flex-wrap:wrap;gap:6px}
.import-row .mchip,.mchip{flex:0 0 auto;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 11px;border:1px solid #b9cbc3;border-radius:999px;background:#fff;font-size:13px;font-weight:400;cursor:pointer;margin:0}
.mchip input{flex:none;width:16px;height:16px;min-height:16px;margin:0;accent-color:var(--accent)}
.mchip.on{background:var(--soft);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
.mchip .dot{width:7px;height:7px;border-radius:50%;background:transparent;border:1px solid #b9cbc3}.mchip.pulled .dot{background:var(--accent);border-color:var(--accent)}
.mchip.base{box-shadow:inset 0 0 0 1px var(--accent)}
.sp2d-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:6px}.sp2d-note p{margin:0}.sp2d-note p.needs{color:var(--danger)}
.sp2d-note button{min-height:36px;padding:6px 12px}
/* Tabel 1 of the LHP chapter "Administrasi Pertanggungjawaban Keuangan" */
.rv-tabel1{margin:4px 0 14px;border:1px solid #d7e2dc;border-radius:8px;padding:8px 12px;background:#fbfdfc}.rv-tabel1[hidden]{display:none}
.rv-tabel1>summary{font-weight:600;cursor:pointer;padding:4px 0}
.rv-t1-basis{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 4px}.rv-t1-basis label{display:inline-flex;align-items:center;gap:6px;font-weight:400;margin:0}
.rv-t1-basis input{width:16px;height:16px;min-height:16px;margin:0}
.rv-t1 th,.rv-t1 td{text-align:center;vertical-align:middle}.rv-t1 td.l{text-align:left}.rv-t1 td.bad{color:var(--danger);font-weight:600}
.rv-t1-notes p{margin:2px 0}.rv-t1-notes .need{color:var(--danger)}
.sp-read{background:#eef6f2;border-left:3px solid var(--accent);padding:6px 8px;border-radius:4px}
.rv-ai-stale{color:#8a5a00;background:#fff3cd;border-radius:4px;padding:2px 6px}
.rv-uraian-draft{color:#8a5a00;margin:2px 0 6px}
.sp-need{color:var(--danger);margin:4px 0 8px}
.lhp-template{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin-top:8px}.lhp-template label{flex:1 1 320px}
.sp-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-checks .quiet{padding:4px 10px;font-size:13px}
.sp-bar{position:sticky;bottom:0;top:auto;margin-top:10px;box-shadow:0 -2px 10px rgba(0,0,0,.05)}
.sp-tree{display:flex;flex-direction:column;gap:6px}
.sp-group{border:1px solid var(--line);border-radius:10px;background:#fff}
.sp-group>summary{cursor:pointer;padding:9px 12px;list-style-position:inside}.sp-group[open]>summary{border-bottom:1px solid var(--line);background:var(--soft);border-radius:10px 10px 0 0}
.sp-meta{color:var(--muted);font-size:13px}
.sp-pkg{padding:9px 12px 9px 14px;border-bottom:1px solid #edf2ef}.sp-pkg:last-child{border-bottom:0}.sp-pkg.picked{background:#f3faf6;box-shadow:inset 3px 0 0 var(--accent)}
.sp-pkg-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.sp-name{flex:1 1 280px;min-width:0}
.sp-pick-label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.sp-pick-label input{width:18px;height:18px;margin:0}
.sp-ctx{font-size:12.5px;color:var(--ink);margin:3px 0 0 2px}.sp-ctx.muted{color:var(--muted)}
.sp-txs{margin:6px 0 0 6px}.sp-txs>summary{cursor:pointer;font-size:13px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sp-txs .link-button{font-size:12.5px;margin:4px 0}
.sp-tx{display:grid;grid-template-columns:22px minmax(120px,auto) minmax(170px,auto) minmax(150px,auto) 1fr;gap:4px 10px;align-items:center;padding:4px 6px;border-radius:6px;font-size:13px;cursor:pointer}
.sp-tx:hover{background:var(--soft)}.sp-tx.picked{background:#e9f6ef}.sp-tx input{width:17px;height:17px;margin:0}.sp-tx .bad{color:var(--danger);font-weight:600}.sp-tx .warn{color:#8a5a00}.sp-tx-id{font-variant-numeric:tabular-nums;font-weight:600}
@media (max-width:860px){.sp-filters{grid-template-columns:1fr}.sp-tx{grid-template-columns:22px 1fr}.sp-tx>span:nth-child(n+3),.sp-tx>small{grid-column:2}}
/* Kertas kerja */
.kk-bar .filters{grid-template-columns:minmax(200px,280px) 1fr;align-items:end}.kk-summary{margin:0 0 10px}
.kk-conclude{margin-top:10px;padding:10px 12px;border:1px solid #d6e5de;border-radius:10px;background:#f8fbf9}
.kk-tx .rv-detail{margin-top:6px}
.legacy-panel{display:none!important}
.sp-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.sp-tabs button{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-weight:600;text-align:left}.sp-tabs button small{display:block;font-weight:400;color:var(--muted);font-size:12px}.sp-tabs button[aria-selected=true]{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);background:var(--soft)}.sp-tabs button[hidden]{display:none}
.sp-bar{position:sticky;bottom:0;z-index:3;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin:10px 0;padding:12px 14px;background:#fff;border:1px solid var(--accent);border-radius:10px;box-shadow:0 -4px 14px rgba(0,0,0,.08)}.sp-bar-info{display:flex;flex-direction:column;gap:2px;min-width:0}.sp-bar-info .bad{color:#b42318}.sp-bar-actions{display:flex;flex-wrap:wrap;gap:6px}
@media (max-width:640px){.sp-bar{padding:8px 10px;gap:6px}.sp-bar-info strong{font-size:14px}.sp-bar-actions{width:100%;flex-wrap:nowrap}.sp-bar-actions button{flex:1;padding:8px 10px;font-size:13px}}
#bkView .metrics{display:none}
.pk-noreviu{margin-top:6px}
.ai-btn{display:inline-flex;align-items:center;gap:5px;background:#f4f1ff;color:#4b2fa8;border:1px solid #cfc4f5;border-radius:999px;padding:5px 12px;font-weight:600;font-size:13px;min-height:0}.ai-btn:hover:not(:disabled){background:#e9e3ff}.ai-btn.small{padding:2px 9px;font-size:12px}.ai-btn.quiet{background:#fff}.ai-btn.running{background:linear-gradient(90deg,#4b2fa8 var(--p,0%),#8a76d4 var(--p,0%));color:#fff;border-color:#4b2fa8;transition:background .4s}
.ai-btn.running:disabled{opacity:1;cursor:progress}.ai-btn:disabled:not(.running){opacity:.55}.rv-ai-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.ai-btn[hidden]{display:none}
.rv-uraian-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 12px}.rv-uraian-actions button{min-height:0;padding:5px 12px;font-size:13px}.rv-uraian-ai{color:#4b2fa8}.rv-uraian-actions [hidden]{display:none}
:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg th{cursor:pointer}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg:hover th{background:#e6f1ec}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg.open th{border-left:3px solid var(--accent)}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) .rv-chev{float:left;background:none;border:0;color:var(--accent);font-size:16px;line-height:1;padding:2px 6px 0 0;min-height:0;width:auto;cursor:pointer}.rv-count-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.rv-count-row p{margin:0}.rv-fold{display:flex;gap:6px}.rv-fold button{min-height:0;padding:4px 10px;font-size:12.5px}
:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg-head th{font-size:12px;white-space:nowrap}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg td{background:#fff;cursor:pointer;padding:9px 10px;font-size:13px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg:hover td{background:#f3f8f6}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg.open td{background:var(--soft)}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg.open td:first-child{box-shadow:inset 3px 0 0 var(--accent)}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg b{display:block;font-size:13.5px;line-height:1.35}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-pick{white-space:nowrap;width:58px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-pick .rv-chev{float:none;vertical-align:middle}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-pick .rv-pick-all{float:none;margin:0}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-name{min-width:230px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-name .tag{margin-top:4px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-name .rv-pbj{font-size:11.5px;margin-top:4px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-sub{min-width:160px;font-size:12.5px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-kind{min-width:130px;font-size:12.5px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-num,:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-sp2d{white-space:nowrap}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-kel{min-width:110px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-kel .tag{display:inline-block;margin:0 4px 4px 0}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-ai{min-width:130px;font-size:12.5px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-ai .ai-btn{margin-top:6px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg-tx>td{padding:2px 8px 12px 34px;background:var(--soft)}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx{width:100%;border-collapse:collapse;background:#fff;font-size:12.5px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx th,:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx th{background:#f3f5f7;font-size:12px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx td.warn{background:#fff3cd}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx td.bad{background:#f8d7da;color:var(--danger)}.tag.bad{background:#fbe3e5;color:var(--danger);border-color:#f1b0b7}
:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-pick{width:50px;padding:9px 4px 9px 8px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-pick .rv-chev{display:inline-block;padding:0 4px 0 0;min-height:0;width:auto;font-size:14px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-name{min-width:190px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-sub{min-width:115px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-kind{min-width:105px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-sp2d{white-space:normal;min-width:95px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-kel{min-width:95px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-ai{min-width:110px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg-tx>td{padding:2px 8px 12px 24px}
:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-pick{width:60px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-pick>*{display:inline-block;vertical-align:middle}.ai-btn.small{white-space:nowrap}
:is(#spReviuSec,#kkReviuCard,#kkPbjCard) .table-scroll{container-type:inline-size}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-name,:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-sub,:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-kind,:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-kel,:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-ai,:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-sp2d{min-width:0}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg small.rv-sub-inline{display:none}.rv-ai-state{display:inline-block;font-size:11.5px;font-weight:600;border-radius:999px;padding:1px 8px;margin-bottom:4px}.rv-ai-state.all{background:#e3f4ea;color:#17663f}.rv-ai-state.part{background:#fff3cd;color:#7a5500}.rv-ai-state.none{background:#eef1f3;color:#5b6b65}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg.ai-all td:first-child{box-shadow:inset 3px 0 0 #2e9e63}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg.ai-part td:first-child{box-shadow:inset 3px 0 0 #e0b23c}@container (max-width:1000px){:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg-head th:nth-child(3),:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-sub{display:none}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg small.rv-sub-inline{display:block}}@container (max-width:760px){:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable),:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable)>tbody{display:block}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg-head,:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx tr:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 10px;background:#f3f6f5}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg-head::before,:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx tr:first-child::before{content:"Urutkan:";font-size:12px;color:var(--muted)}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg-head th,:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx tr:first-child th{display:block;border:0;padding:0;background:none}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg-head th:not(:has(.rv-sort)),:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx tr:first-child th:not(:has(.rv-sort)){display:none}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1fr);gap:8px 12px;padding:10px 8px;border-bottom:1px solid var(--line)}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg.open{background:var(--soft)}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg td{display:block;border:0;padding:0;background:none!important;box-shadow:none!important}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg td.rv-pkg-sub{display:none}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-pick{grid-row:span 4}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) td.rv-pkg-name{grid-column:2/-1}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg td[data-label]::before,:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx td[data-label]::before{content:attr(data-label);display:block;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg-tx{display:block}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) tr.rv-pkg-tx>td{display:block;padding:0 6px 10px;border:0}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx,:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx>tbody{display:block}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 12px;padding:8px;border:1px solid var(--line);border-radius:8px;margin-top:8px;background:#fff}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx tr.rv-picked{background:#f3faf6}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx td{display:block;border:0;padding:0}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx td:last-child{grid-column:1/-1}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx tr.rv-detail-row{display:block}:is(#reviuTable,#kkReviuTable,#kkPbjTable,#pbjTable) table.rv-tx tr.rv-detail-row>td{padding:0}}
.rv-sort{background:none;border:0;padding:0;margin:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;min-height:0;width:auto;text-align:left;white-space:nowrap}.rv-sort .arr{color:var(--accent)}th[aria-sort=ascending] .rv-sort,th[aria-sort=descending] .rv-sort{color:var(--accent)}
.rv-dec-tag{display:block;font-size:11px;color:var(--muted);margin-top:2px}.rv-dec.ai-proposed .rv-dec-tag{color:#1d4ed8}
.rv-dec.ai-proposed select,.rv-dec.ai-proposed textarea{background:#eef4ff;border-color:#93b4f5}.rv-ai-hint{color:#1d4ed8;margin:6px 0}
tr[hidden]{display:none!important}
@container (max-width:1000px){#kkPbjTable tr.rv-pkg-head th:nth-child(3){display:table-cell}}
.kk-pbj-detail{padding:10px 12px;background:#fbfdfc}
.kk-pbj-docs{margin-top:12px;scroll-margin-top:16px;padding:10px 12px;border:1px solid #d6e5de;border-radius:10px;background:var(--surface)}.kk-pbj-docs>b{display:block;margin-bottom:4px}
.kk-pbj-tx{border-top:1px solid var(--line)}.kk-pbj-tx>summary{font-weight:400;font-size:13px}.kk-pbj-tx>summary b{font-size:14px}.kk-pbj-tx .tag{margin-left:4px}.kk-pbj-detail .two-col{margin-top:6px}
#kkPbjTable td.rv-pkg-kind{word-break:break-word}#kkPbjTable tr.kk-detail-row>td{padding:0}
.rup-add{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin:8px 0}.rup-add label{flex:1 1 360px}
.rup-table td{vertical-align:top}.rup-table input,.rup-table select,.rup-table textarea{width:100%;min-width:0}.rup-table td.rup-name{min-width:220px}.rup-table td.rup-name input+input{margin-top:6px}
.rup-table td.rup-code{min-width:220px;font-size:12.5px}.rup-table td.rup-code>div{margin-bottom:3px}.rup-source{display:block;color:var(--muted);font-size:11.5px;margin-top:4px}#rupState.bad{color:var(--danger)}
#spRupSec .table-scroll{container-type:inline-size}
.rup-table td.rup-name{min-width:210px}.rup-table td:nth-child(2){min-width:165px}.rup-table td:nth-child(3){min-width:150px}.rup-table td:nth-child(5){min-width:190px}.rup-table td.rup-code{min-width:200px}
@container (max-width:900px){.rup-table,.rup-table tr,.rup-table td{display:block;width:auto;min-width:0!important}.rup-table tr:first-child:has(th){display:none}.rup-table tr{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:10px}.rup-table td{border:0;padding:4px 0}.rup-table td[data-label]:not([data-label=""]):not(.rup-name)::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:2px}}
#kkPbjTable .tag{white-space:normal}#kkPbjTable td.rv-pkg-name{min-width:230px}#kkPbjTable td.rv-pkg-kel{max-width:220px;min-width:150px}#kkPbjTable td.rv-pkg-kel .tag{border-radius:8px;text-align:left;line-height:1.35}
.card:has(> #reviuTitle):has(#reviuSummary:empty):has(#reviuMeta:empty){display:none}
.chosen-head > button{margin-left:6px}
.rv-tm-note{display:block;margin-top:4px;font-weight:400}
.rv-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:14px 0 6px}#reviuPeriodWrap{display:contents}
.rv-filters select,.rv-filters input{min-height:36px;padding:6px 10px;margin:0;font-size:13px}.rv-filters input{grid-column:span 2}
.rv-filters select:not(:has(option:first-child:checked)){border-color:var(--accent);background:var(--soft);font-weight:600}
#reviuKindCount{margin:4px 0}
#spReviuSec .rv-count-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:4px 0 6px}#spReviuSec .rv-count-row p{margin:0;flex:1 1 220px}
.rv-pick-every{margin:0;font-weight:600;white-space:nowrap}#reviuPbjPick{min-height:28px;font-size:13px}
.rv-help{margin-top:10px}.rv-help>summary{cursor:pointer;font-weight:600}
/* sortable column names on hover: neutral grey, not the green of button:hover (green text on green could not be read) */
th .rv-sort:hover,.pbj-table th .sort:hover,th[aria-sort] .rv-sort:hover{background:#e4e6e5;box-shadow:0 0 0 3px #e4e6e5;border-radius:2px;color:#1a1a1a;text-decoration:underline}
th .rv-sort:hover .arr{color:#1a1a1a}
.rv-ai-formal{margin-top:8px;padding-top:6px;border-top:1px dashed var(--line);color:var(--ink);font-size:12.5px}.rv-ai-formal>div{margin-top:4px}
.rs-card h3{margin:0;font-size:18px}.rs-card[data-status=selesai] h3{color:var(--accent)}.rs-card[data-status=tertunda] h3{color:var(--danger)}
.rs-detail{margin:6px 0 0;font-weight:600}.rs-note{margin:4px 0 0}.rs-card .warn-note{margin:8px 0 0}.rs-card .ai-summary{margin:8px 0 0;font-size:12.5px}.rs-card .ai-summary .link-button{min-height:24px;font-size:12.5px}
.ready-card.all-ok .ready-head{margin:0}
#reportMore>:not(summary){margin-left:2px}#reportMore details.subdetails{border-top:1px solid var(--line);margin-top:6px}
/* a long label must not squeeze the checkbox away */
.consent input{flex:none}
@media (max-width:700px){.kk-bar .filters{grid-template-columns:1fr}}
#message{cursor:pointer}#message.error::after{content:"×";float:right;margin-left:12px;font-weight:700}
.unsaved-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:10px;padding:8px 14px;margin-bottom:8px;font-size:13px;font-weight:600}.unsaved-bar span{flex:1 1 240px}.unsaved-bar button{min-height:32px;padding:4px 12px;font-size:13px}
.is-unsaved{border-left:3px solid #e0a93b;padding-left:10px}
.scope-fold summary span{font-weight:400;color:var(--muted)}.scope-fold .scope-row{margin-top:10px}#pbjStatus:empty,#reviuStatus:empty{display:none}
.tab-hint{white-space:normal}
.side-nav button[data-step=ok] .nav-num{background:#2f8f72;border-color:#2f8f72;color:#fff}.side-nav button[data-step=warn] .nav-num{border-color:#f0c36d;color:#f0c36d;font-weight:700}.side-nav button[aria-selected="true"][data-step=warn] .nav-num{background:#b7791f;border-color:#b7791f;color:#fff}
/* a package's SP2D opened in the Sampel PBJ table (Lihat SP2D), like a Reviu transaction */
.pbj-table>tbody>tr.pbj-peek{cursor:default;display:table-row}.pbj-table>tbody>tr.pbj-peek>td,.pbj-table>tbody>tr.pbj-peek:hover>td{background:#f7faf9;padding:10px 12px 14px}
.pbj-peek .rv-ai-actions{margin-bottom:8px}
@container (max-width:760px){.pbj-table>tbody>tr.pbj-peek{display:block}}
/* a PBJ package's SP2D table (Lihat SP2D, Kertas kerja): headers and short cells stay on one line */
:is(table.pbj-sp2d>tr,table.pbj-sp2d>tbody>tr)>th,table.pbj-sp2d td.rv-pick,table.pbj-sp2d td.nw{white-space:nowrap}  /* its own header only: not the checklist table opened inside a row */
.ai-job{margin:0 0 8px}.ai-job button{margin-left:8px}
/* Kertas kerja › Paket PBJ: one package card in four numbered parts; compact inputs, each with its source below */
.kk-guide>summary{cursor:pointer;font-weight:700}.kk-guide ol{margin:10px 0 8px;padding-left:22px;font-size:14px;line-height:1.5}.kk-guide li{margin:0 0 6px}.kk-legend{margin:0}
.kk-c{font-weight:700;padding:0 4px;border-radius:4px}.kk-c.ai{color:#0b4fae;background:#eaf2ff}.kk-c.warn{color:#7a5200;background:var(--warn-bg)}.kk-c.bad{color:var(--danger);background:#fdecea}.kk-c.ok{color:#1f6b45;background:#e6f4ec}
.kk-progress{margin:4px 0 14px}.kk-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.kk-step-btn{display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;width:100%;height:100%;text-align:left;padding:8px 10px;min-height:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:400}
.kk-step-btn:hover{background:var(--soft)}.kk-step-num{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:#e9efec;color:var(--muted)}
.kk-step-txt{display:flex;flex-direction:column;line-height:1.3}.kk-step-txt b{font-size:13px}.kk-step-txt small{font-size:12px;color:var(--muted)}
.kk-step.done .kk-step-num{background:#2f8f5b;color:#fff}.kk-step.now .kk-step-btn{border-color:#e0a93b;background:var(--warn-bg);box-shadow:0 0 0 1px #e0a93b}.kk-step.now .kk-step-num{background:#e0a93b;color:#fff}
.kk-next{margin:8px 0 0;font-size:13.5px;font-weight:600}.kk-next-row{display:block;margin-top:4px;font-weight:600;color:#8a5a00}.kk-next-row.done{color:#1f6b45}
.kk-how{margin:4px 0 10px;padding:8px 10px;background:var(--soft);border-radius:8px;color:var(--ink);font-size:12.5px}
.rv-detail>.kk-progress{margin-top:0}
/* who is logged in, the guide switch (sidebar) */
.who-card{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:10px 12px}
.who-avatar{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#2f8f5b;color:#fff;font-weight:700;font-size:14px}.who-avatar.small{width:32px;height:32px;font-size:13px}
.who-card.admin .who-avatar,.who-avatar.admin{background:#b7791f}.who-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.who-text b{color:#fff;font-size:14px;overflow-wrap:anywhere}
.who-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--side-muted);font-weight:700}.who-role{font-size:12px;color:var(--side-ink)}
.tour-toggle{text-align:left;background:transparent;border:1px dashed rgba(255,255,255,.35);color:var(--side-ink);min-height:38px;font-size:13px;justify-content:flex-start}.tour-toggle:hover{background:rgba(255,255,255,.07)}
.tour-toggle.on{background:#f0b429;border:1px solid #f0b429;color:#1d2a26}
.side-toggles{display:flex;gap:6px}
.sh-pick-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0}.sh-picked{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 8px}
.opd-chip{min-height:0;padding:3px 10px;border-radius:999px;font-size:12px;background:var(--soft);color:var(--accent-ink);border:1px solid var(--accent)}.opd-chip:hover{background:#fdecea;border-color:#c0392b;color:#8a2318}
.acct-group .grp-n{color:var(--accent);font-weight:700}
.sp-data-info{margin:0 0 10px;padding:8px 12px;border-radius:8px;background:var(--soft);font-size:13px;color:var(--ink)}
.sp-data-info::before{content:"\1F4C5  "}
.sp-shared{margin:6px 0 0}.sp-shared.needs{color:#8a5a00;font-weight:600}
.sh-modes{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}#shTime{display:inline-block;width:auto;min-width:120px;min-height:34px;margin:0 0 0 6px;padding:2px 8px}.sh-auto{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 8px}
.sh-auto[disabled]{opacity:.55}.sh-opds{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.sh-months{display:block;margin-top:8px;max-width:420px}
.sh-pull-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:8px 0}#shTable td,#shLog td{vertical-align:top;font-size:13px}
/* Admin › Data e-delivery: summary tiles, status per OPD, pull log (11 Nov 2026) */
.sh-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:0 0 14px}.sh-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}.sh-stat small{color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.sh-stat b{font-size:20px;line-height:1.25}.sh-stat span{color:var(--muted)}.sh-stat.warn{background:var(--warn-bg);border-color:var(--warn-line)}
.sh-run{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px}.sh-run .import-status:empty{display:none}.sh-run .import-status{flex:1;min-width:260px}
.sh-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.sh-head h3{margin:0}.sh-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.sh-tools input[type=search],.sh-tools select{width:auto;min-width:180px;margin:0;min-height:38px;padding:6px 10px}.sh-tools .consent{margin:0}
.sh-legend .sh-age{margin-right:4px}.sh-age{display:inline-block;font-size:12px;font-weight:600;padding:1px 8px;border-radius:999px;white-space:nowrap}.sh-age.ok{background:#e7f4ec;color:var(--accent-ink)}.sh-age.mid{background:#fff6e0;color:#7a5500}.sh-age.old{background:#fbe9e7;color:var(--danger)}
#shTable td.sh-opd b,#shTable td.sh-num b{display:block}#shTable td small{display:block;color:var(--muted);font-size:12px}#shTable td.sh-opd .tag{display:inline-block;margin-top:3px}#shTable td.sh-num{white-space:nowrap}.sh-mcell{min-width:180px}.sh-chip{display:inline-block;margin:0 4px 4px 0;padding:1px 8px;border-radius:999px;background:var(--soft);border:1px solid #d6e5de;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.sh-chip.part{border-style:dashed}.sh-act{white-space:nowrap}.sh-act .sh-renew{min-height:34px;padding:4px 12px;font-size:13px}.sh-act .link-button{margin-left:8px;font-size:13px}
#shLog td.sh-when{white-space:nowrap}.sh-what div{line-height:1.4}.sh-what .bad,#shLog .tag.bad{color:var(--danger)}.tag.bad{background:#fbe9e7;border-color:#f0c4be;color:var(--danger)}
/* Admin › Data e-delivery: pull card (OPDs ticked in the status table, latest data or chosen months), tabs, floating pull bar (12 Nov 2026) */
.sh-step{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}.sh-pull h3{margin-bottom:4px}
.sh-n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:13px;display:grid;place-items:center;margin-top:1px}
.sh-step-body{flex:1;min-width:0}.sh-step-body>b{font-size:14px}.sh-step .sh-picked{margin:6px 0 2px}.sh-step .sh-pick-actions{margin:0;gap:4px 8px}.sh-step .sh-pick-actions .link-button{min-height:32px;font-size:13px}
.sh-kinds{margin:8px 0 0}.sh-monthbox{margin:10px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fcfdfc}
.sh-monthbox .sh-pull-row{margin:0 0 4px}.sh-monthbox select{width:auto;min-width:110px;margin:0}.sh-monthbox .consent{margin:6px 0 0}
.mchip.off{opacity:.45;cursor:default}
.sh-go{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:12px}.sh-go .consent{margin:0;flex:1;min-width:240px}#shPullNote{margin:8px 0 0}
#shTable .sh-pick{width:34px;text-align:center}#shTable .sh-pick input{width:18px;height:18px;min-height:18px;margin:2px 0 0;accent-color:var(--accent)}#shTable tr.sh-on>td{background:#f2f8f5}
#shTable td.sh-opd .tag{margin-right:4px}.sh-chips{display:flex;flex-wrap:wrap}
.sh-stat .link-button{align-self:flex-start;min-height:30px;margin-top:4px;font-size:13px;padding:0}
.sh-float{position:sticky;bottom:12px;z-index:4;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:fit-content;max-width:100%;margin:8px 0 0;padding:8px 10px 8px 16px;background:#fff;border:1px solid var(--accent);border-radius:12px;box-shadow:0 8px 24px rgba(19,51,43,.18);font-size:13px}
.sh-float[hidden]{display:none}.sh-float button{min-height:36px;padding:6px 14px}
.cl-scope{margin:6px 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fcfdfc}.cl-scope h4{margin:0 0 6px;font-size:14px}.cl-scope label{margin:0 0 4px}
.cl-scope textarea{margin:4px 0 0}.cl-doc{padding:8px 0;border-top:1px solid var(--line)}.cl-doc:first-of-type{border-top:0}.cl-doc .cl-rule{margin:6px 0}.cl-doc .warn-note{margin:4px 0 0}
.cl-add{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.cl-list li.open{outline:2px solid var(--accent);outline-offset:-2px}.cl-list li{justify-content:flex-start}.cl-list li .cl-info{flex:1 1 260px;min-width:0}.cl-list li.on{border-color:#bcd6cb;background:var(--soft)}.cl-list li.off .cl-info>b{color:var(--muted)}
.cl-switch{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;min-width:86px;cursor:pointer}.cl-switch input[type=checkbox]{appearance:none;-webkit-appearance:none;width:36px;height:20px;min-height:0;min-width:0;padding:0;border:0;box-shadow:none;border-radius:999px;background:#c9d1ce;position:relative;margin:0;cursor:pointer;transition:background .15s;flex:0 0 auto}.cl-switch input::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}.cl-switch input:checked{background:var(--accent)}.cl-switch input:checked::after{left:18px}.cl-switch input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cl-switch input:disabled{opacity:.6;cursor:default}.cl-using{margin:0 0 4px}.cl-using button{margin-left:4px;min-height:0;padding:3px 10px;font-size:12.5px}.cl-list li .cl-desc{margin-top:2px}.cl-upload{margin-top:8px;border-top:1px solid var(--line);padding-top:4px}.cl-upload .two-col{margin-top:6px}
#clViewCard .sh-head h3{margin:0}#clViewCard #clMeta{margin:2px 0 10px}#clScope textarea{margin:4px 0 0}.cl-ai{background:var(--soft);border-radius:6px;padding:6px 8px}.cl-desc{color:var(--ink);margin-top:2px}
#shSetda td{vertical-align:top;font-size:13px}#shSetda td.sh-opd b{display:block;font-variant-numeric:tabular-nums}#shSetda td.sh-opd small{display:block;color:var(--muted);font-size:12px}
#shSetda select{min-height:34px;margin:0;padding:4px 8px;font-size:13px;max-width:320px}#shSetda .link-button{display:block;min-height:30px;font-size:13px;padding:0;text-align:left}.sh-setda-all{margin-top:10px}
.sp-shared-log{margin:2px 0 8px}.sp-shared-log summary{cursor:pointer;color:var(--accent-ink)}.sp-shared-log ul{margin:6px 0 0;padding-left:18px}.sp-shared-log li.bad{color:var(--danger)}
.acct-group{border:1px solid var(--line);border-radius:8px;padding:6px 10px;margin:0 0 6px}.acct-group>summary{cursor:pointer;font-weight:600;font-size:13px}.acct-group>.link-button{display:block;margin:4px 0 0 4px;font-size:12.5px}
.acct-group label.consent{display:flex;margin:4px 0 0 4px}.aud-todo select{max-width:340px}.side-toggles .tour-toggle{flex:1 1 auto;min-width:0}#assistantToggle{flex:0 0 auto}
/* Asisten aplikasi: floating at the left of the page (the step guide floats at the right) */
.assistant{position:fixed;left:290px;bottom:18px;z-index:7;width:min(400px,calc(100vw - 310px));display:flex;flex-direction:column;background:#fff;border:1px solid var(--accent);border-radius:12px;box-shadow:0 10px 30px rgba(19,51,43,.25);max-height:calc(100vh - 36px)}
.assistant[hidden]{display:none}
.as-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.as-head b{font-size:14px}.as-model{flex:1;font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-x{min-height:28px;width:30px;padding:0;font-size:16px;line-height:1}
.as-log{flex:1 1 auto;overflow:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px;min-height:120px}
.as-msg{max-width:92%;border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.45}.as-msg p{margin:0 0 4px}.as-msg p:last-child{margin:0}
.as-msg ul,.as-msg ol{margin:2px 0 4px;padding-left:18px}.as-msg li{margin:2px 0}
.as-msg.as-user{align-self:flex-end;background:var(--accent);color:#fff}.as-msg.as-assistant{align-self:flex-start;background:var(--soft);color:var(--ink)}
.as-msg.wait{opacity:.7;font-style:italic}.as-msg.err{background:#fdecea;color:#8a2318}
.as-link,.as-link:hover,.as-link:focus{display:inline;background:none!important;border:0;padding:0 2px;min-height:0;color:var(--accent);font-weight:700;text-decoration:underline;cursor:pointer;font-size:inherit}
.as-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px}.as-chip{min-height:0;padding:4px 10px;border-radius:999px;font-size:12px;background:#fff;color:var(--accent);border:1px solid var(--accent)}
.as-chip:hover{background:var(--soft)}
.as-form{display:flex;gap:6px;padding:8px 12px;border-top:1px solid var(--line)}.as-form textarea{flex:1;resize:none;font:inherit;font-size:13px;min-height:40px;margin:0}
.as-form button{align-self:stretch;min-height:40px}
.asc-card{margin-top:6px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.asc-card>b{display:block;font-size:12px}
.asc-list{margin:4px 0;padding-left:18px}.asc-list li{margin:3px 0}.asc-verb{color:var(--muted)}.asc-new{font-weight:700;color:var(--accent)}
.asc-old,.asc-where{color:var(--muted)}.asc-where{display:block;font-size:11px}.asc-skip{color:#8a5a00;margin:4px 0 0}.asc-res{margin:6px 0 0;font-weight:600}
.asc-actions{display:flex;gap:6px;margin-top:6px}.asc-actions button{min-height:32px;padding:4px 14px}
.asc-filled{outline:3px solid #e8a400!important;outline-offset:2px}
.as-step{align-self:flex-start;max-width:92%;font-size:12px;color:var(--muted);padding:0 4px}.asc-items{margin:2px 0 0;padding-left:16px;font-size:12px;max-height:180px;overflow:auto}
.as-note{margin:0;padding:0 12px 10px;font-size:11px;color:var(--muted)}
@media (max-width:860px){.assistant{left:8px;right:8px;width:auto;bottom:8px}}
/* Riwayat & kemajuan */
.act-opds{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.act-opd{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff}
.act-opd.here{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.act-opd-head{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between;margin-bottom:6px}.act-opd-head b{font-size:15px}
.act-opd-head .link-button{min-height:28px;font-size:13px}.act-bar-row{margin:8px 0}.act-bar-label{font-size:13px;font-weight:600}.act-bar{display:flex;height:10px;border-radius:999px;background:#e8eeeb;overflow:hidden;margin:4px 0}
.act-seg.ok{background:#2f8f5b}.act-seg.warn{background:#e0a93b}.act-seg.todo{background:#c9d5d0}.act-bar-note{font-size:12px;color:var(--muted)}.act-line{margin:6px 0 0;font-size:13px}.act-line.muted{color:var(--muted)}
.act-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.act-person{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:4px}
.act-person.me{border-color:var(--accent)}.act-person-head{display:flex;gap:10px;align-items:center}.act-person-who{display:flex;flex-direction:column;line-height:1.3;min-width:0}.act-person-who b{overflow-wrap:anywhere}
.act-status{margin:4px 0 0;font-size:13px;display:flex;align-items:center;gap:6px}.act-dot{width:9px;height:9px;border-radius:50%;background:#b8c4bf;flex:none}.act-status.on{color:#1f6b45;font-weight:600}.act-status.on .act-dot{background:#2f8f5b;box-shadow:0 0 0 3px #d6efe0}
.act-today{margin:6px 0 0}.act-chips{display:flex;flex-wrap:wrap;gap:4px}.act-person-go{margin-top:8px;align-self:flex-start;min-height:36px;padding:6px 12px;font-size:13px}
.act-kind{display:inline-block;font-size:11.5px;font-weight:700;border-radius:999px;padding:1px 8px;white-space:nowrap}.act-kind.blue{background:#eaf2ff;color:#0b4fae}.act-kind.violet{background:#f1ecff;color:#5b3fb0}
.act-kind.green{background:#e3f4ea;color:#1f6b45}.act-kind.teal{background:#e2f3f1;color:#14655c}.act-kind.amber{background:var(--warn-bg);color:#7a5200}.act-kind.gray{background:#eef1f0;color:#4c5a55}.act-kind.ink{background:#e6ece9;color:var(--ink)}
.act-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.act-target{margin:0 0 6px;padding:6px 10px;border-radius:8px;background:var(--soft);font-size:13px}.act-target .link-button{min-height:0;font-size:13px}
.act-day{margin:14px 0 4px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.act-events{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.act-event{display:flex;gap:10px;padding:6px 0 6px 10px;font-size:13.5px;line-height:1.45}.act-time{flex:none;width:44px;color:var(--muted);font-variant-numeric:tabular-nums}.act-body{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.act-link{min-height:30px;font-size:13px;margin:0 0 6px}
.aud-card{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:4px}
.aud-card.mine{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.aud-head{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between}.aud-title{font-size:15px}
.aud-owner{margin:0;font-size:13px;font-weight:600}.aud-pct{font-size:12.5px;color:var(--muted);margin-top:4px}
.aud-steps{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}.aud-steps li{display:flex;gap:8px;align-items:center;font-size:12.5px}
.aud-steps li.done .tour-num{background:#2f8f5b;color:#fff}.aud-steps li.now{font-weight:700}.aud-steps li.now .tour-num{background:#e0a93b;color:#fff}
.aud-next{margin:6px 0 0;font-size:13.5px;font-weight:700;color:#8a5a00}.aud-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.aud-actions button{min-height:38px;padding:6px 12px;font-size:13px}
.aud-why{margin:6px 0 0;color:#6b4700}.aud-finish{margin-top:8px;padding:10px;border-radius:8px;background:var(--soft)}.aud-finish button{min-height:38px}
.aud-todo{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px dashed var(--line);border-radius:10px;padding:8px 12px;font-size:13px;color:var(--muted)}
.small-btn{min-height:32px;padding:4px 10px;font-size:12.5px}
.aud-jump{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.aud-jump button{background:#fff;border:1px solid var(--line);color:var(--ink);min-height:36px;padding:4px 12px;font-size:13px;border-radius:999px}.aud-jump button:hover{background:var(--soft)}
.aud-no{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;margin-right:8px;vertical-align:1px}
#audMine{display:flex;flex-direction:column;gap:12px}#audMine .aud-card{padding:14px 16px}.aud-pct-row{display:flex;align-items:center;gap:12px;margin:6px 0}.aud-pct-row b{flex:none;font-size:14px}.aud-pct-row .act-bar{flex:1}
.aud-steps-row{margin:6px 0 4px}.aud-next{font-size:14.5px}.aud-empty{margin:0;padding:12px;border-radius:8px;background:var(--soft);font-size:14px}
.act-table td.nw{white-space:nowrap}.act-table td:nth-child(5){min-width:260px}.aud-table .act-bar{margin:2px 0 0;min-width:80px}
.aud-todo{flex-wrap:wrap;justify-content:flex-start}.aud-acts{display:flex;flex-wrap:wrap;gap:4px}.aud-hint{margin:8px 0 0}
@media (max-width:860px){.act-filters{grid-template-columns:1fr}}
/* Panduan langkah demi langkah */
/* floating at the right, raised above the bottom bars and Lanjut buttons (tourPlace sets bottom and max-height) */
.tour{position:fixed;right:18px;bottom:18px;z-index:7;width:min(380px,calc(100vw - 24px));background:#fff;border:1px solid var(--accent);border-radius:12px;box-shadow:0 10px 30px rgba(19,51,43,.25);padding:12px 14px;max-height:calc(100vh - 36px);overflow:auto}
.tour:has(.tour-pill){width:auto;padding:0;border:0;background:none;box-shadow:none}.tour-pill{border-radius:999px;box-shadow:0 6px 18px rgba(19,51,43,.3);background:#f0b429;color:#1d2a26;min-height:40px}.tour-pill:hover{background:#e0a32a}
.tour-head{display:flex;align-items:center;gap:6px}.tour-head b{flex:1;font-size:14px}.tour-x{min-height:30px;width:32px;padding:0;font-size:18px;line-height:1}
.tour-steps{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:2px}.tour-steps li{display:flex;align-items:center;gap:8px;font-size:13px}
.tour-steps .link-button{min-height:26px;font-size:13px;font-weight:500;color:var(--ink);text-decoration:none;text-align:left}.tour-steps li.now .link-button{font-weight:700;text-decoration:underline}
.tour-num{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:#e9efec;color:var(--muted)}.tour-steps li.done .tour-num{background:#2f8f5b;color:#fff}.tour-steps li.now .tour-num{background:#e0a93b;color:#fff}
.tour-body{background:var(--soft);border-radius:8px;padding:8px 10px}.tour-body h4{margin:0 0 4px;font-size:14px}.tour-body p{margin:0;font-size:13px}
.tour-actions{display:flex;gap:6px;margin-top:10px}.tour-actions button{flex:1;min-height:38px;padding:6px 8px;font-size:13px}
.tour-spot{outline:3px solid #f0b429!important;outline-offset:4px;border-radius:8px;animation:tourPulse 1.2s ease-in-out 3}
@keyframes tourPulse{0%,100%{box-shadow:0 0 0 0 rgba(240,180,41,.0)}50%{box-shadow:0 0 0 10px rgba(240,180,41,.35)}}
@media (prefers-reduced-motion:reduce){.tour-spot{animation:none}}
td.rv-need{background:#fff4e0;box-shadow:inset 3px 0 0 #e0a93b}td.rv-need .rv-dec-tag{color:#8a5a00;font-weight:700}td.rv-need select{border-color:#e0a93b}
.kk-why{margin:8px 0 0;padding:7px 10px;border-radius:8px;background:var(--warn-bg);border:1px solid var(--warn-line);color:#6b4700;font-size:13px}.kk-why .link-button{min-height:0;font-size:13px;padding:0 2px}
.kk-float{position:fixed;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 6px 16px rgba(19,51,43,.13);padding:8px 28px}
.kk-float-top{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;font-size:14px;min-width:0}.kk-float-title{overflow-wrap:anywhere}
.kk-float-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.kk-float-meta{font-size:12.5px;color:var(--muted)}
.kk-float-sub{font-size:13px;font-weight:700;color:var(--accent)}.kk-float-dirty{font-size:12px;font-weight:600;color:#8a5a00;background:var(--warn-bg);border:1px solid #e0a93b;border-radius:4px;padding:0 6px}
.kk-float-up{margin-left:auto;min-height:30px;padding:3px 10px;font-size:12.5px}
.kk-float-steps{list-style:none;margin:6px 0 0;padding:0 0 2px;display:flex;gap:6px;overflow-x:auto}
.kk-float-step{min-height:32px;padding:3px 10px 3px 4px;gap:6px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:600;font-size:12.5px;white-space:nowrap}
.kk-float-step:hover{background:var(--soft)}.kk-float-step .kk-step-num{width:22px;height:22px}.kk-float-step.done .kk-step-num{background:#2f8f5b;color:#fff}
.kk-float-step.now{border-color:#e0a93b;background:var(--warn-bg)}.kk-float-step.now .kk-step-num{background:#e0a93b;color:#fff}
.kk-float-step.here{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.kk-float-step small{font-size:11px;font-weight:700;color:#fff;background:var(--accent);border-radius:999px;padding:0 7px}
.kk-card,.kk-card [data-sec]{scroll-margin-top:120px}
@media (max-width:860px){.kk-float{padding:6px 12px}.kk-float-meta{display:none}.kk-float-step:not(.here){padding-right:4px}.kk-float-step:not(.here)>span:not(.kk-step-num),.kk-float-step small{display:none}}
.kk-pbj-detail .kk-sec{margin:16px 0 6px;font-size:14px;color:var(--accent,#1f6f5c);border-bottom:1px solid #d6e5de;padding-bottom:4px}.kk-pbj-detail .kk-sec:first-child{margin-top:4px}
.pbj-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 18px;margin:4px 0 8px;font-size:13px}.pbj-facts dt{color:#5b6f67;font-size:12px}.pbj-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.pbj-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 18px}
.kk-pbj-detail .pbj-fields input,.kk-pbj-detail .kk-conclude input,.kk-pbj-detail .kk-conclude select{min-height:38px;padding:7px 10px;margin:4px 0 2px}
.kk-pbj-detail textarea{min-height:0;margin:4px 0 10px}
.pbj-src{margin:0 0 10px;color:#5b6f67;line-height:1.35}.pbj-src.need{color:#a12a1f}.pbj-src.ai{color:#1d4f9a}.pbj-src .link-button{font-size:13px;min-height:0;padding:0 2px;display:inline;vertical-align:baseline}
.pbj-dev{margin:0 0 10px;font-weight:600}.pbj-lack{color:#a12a1f;margin:6px 0 0}
.danger-quiet{background:transparent;border-color:#f1b0b7;color:var(--danger)}.danger-quiet:hover:not(:disabled){background:#fdecea}.aud-actions .danger-quiet{margin-left:auto}
.as-lhp{padding:10px 12px;border-radius:10px;background:var(--soft);border:1px solid var(--line)}
.as-bar.dirty{border-color:#e0a93b;background:#fffdf6}.as-bar.dirty #asBarState{color:#8a5a00;font-weight:600}
.flow{margin:0 0 14px}.flow ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
.flow button{display:flex;align-items:flex-start;gap:8px;width:100%;height:100%;min-height:48px;padding:7px 10px;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;font-weight:400}
.flow button:hover{background:var(--soft)}.flow-num{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e6ece9;color:var(--muted);font-size:12px;font-weight:700}
.flow-txt{display:flex;flex-direction:column;min-width:0}.flow-txt b{font-size:13px;line-height:1.25}.flow-txt small{font-size:11.5px;color:var(--muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.flow-step.done .flow-num{background:#2f8f5b;color:#fff}.flow-step.warn .flow-num{background:#e0a93b;color:#fff}
.flow-step.now button{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);background:var(--soft)}
.step-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;justify-content:space-between;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.step-nav .step-nav-info{flex:1 1 200px;text-align:center;color:var(--muted)}
@media (max-width:640px){.flow-txt small{display:none}.flow button{flex-direction:column;align-items:center;text-align:center;gap:3px;padding:6px 4px}.flow-txt b{font-size:11.5px}.sp-back{display:none}.step-nav .step-nav-info{order:-1;flex-basis:100%}}
.scope-fold>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.scope-fold>summary .scope-title{font-weight:700;color:var(--ink)}
.scope-fold>summary .scope-sum{font-size:13px}
.scope-step{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.scope-step:first-of-type{border-top:0;padding-top:0}
.scope-h{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:15px}
.scope-num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:700}
.scope-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.scope-fold .scope-tiles{margin-top:0}
.scope-tile{display:flex;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-weight:400}
.scope-tile:hover{background:var(--soft)}.scope-tile:has(input:checked){border-color:var(--accent);background:var(--soft)}.scope-tile:has(input:disabled){cursor:default}
.scope-tile input{flex:none;width:18px;height:18px;min-height:18px;margin:2px 0 0;accent-color:var(--accent)}
.scope-tile>span{display:flex;flex-direction:column;gap:2px}.scope-tile b{font-size:14px;line-height:1.3}.scope-tile small{font-size:12.5px;color:var(--muted);line-height:1.35}
.scope-note{margin:8px 0 0}
.sp-year{flex:0 0 auto}.sp-year select{width:auto;min-width:110px}
.mchip-legend{margin:6px 0 0;color:var(--muted)}.mchip-legend .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);vertical-align:1px}
.sp-pull-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.sp-pull-help{margin:6px 0 0;color:var(--muted)}
.chip-go{background:none;border:0;padding:4px 0;min-height:32px;color:inherit;font:inherit;font-weight:400;cursor:pointer;text-align:left}.chip-go:hover{background:none;text-decoration:underline}
#reviuTable tr.rv-group td{background:#fafcfb;cursor:default;padding:6px 10px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
#reviuTable tr.rv-pkg.picked td{background:#eef7f2}#reviuTable tr.rv-pkg.picked td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
#reviuTable tr.rv-pkg.flash td{animation:rvflash 1.4s ease-out}@keyframes rvflash{0%{background:#fff1c2}100%{}}
@media (max-width:640px){#reviuTable tr.rv-group,#reviuTable tr.rv-group td{display:block}}
.kk-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px}.kk-tools .kk-show{flex:0 1 260px;margin:0}.kk-tools .rv-sample-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.kk-bar .kk-summary{margin:10px 0 0}
#kertasPanel .sp-tabs button{background-image:linear-gradient(#2f8f5b,#2f8f5b);background-repeat:no-repeat;background-position:left bottom;background-size:var(--p,0%) 4px}
.kk-note{margin:0 0 8px;color:var(--muted)}.kk-note>summary{cursor:pointer;font-weight:600;color:var(--ink)}
.kk-bar .kk-guide{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.kk-nav-bar{margin-top:14px}.kk-nav-bar.dirty{border-color:#e0a93b;background:#fffdf6}.kk-nav-bar.dirty #kkBarState{color:#8a5a00;font-weight:600}
.kk-nav-bar .sp-bar-info{flex:1 1 260px;min-width:0}
.rv-ai-quote{margin-top:6px;padding:5px 8px;border-left:3px solid #c9d6d0;background:#f6f8f7;color:var(--ink);font-size:12.5px;font-weight:400}
/* name from the login, the SP2D note and the package Simpulan proposed from the AI check and saved decisions (12 Nov 2026) */
.kk-author{margin:8px 0 4px}.rv-note{display:block}.rv-note textarea{width:100%}.rv-note>button{min-height:0;padding:4px 10px;font-size:12.5px;margin-top:4px}.kk-propose{margin:2px 0 8px;color:#1f5f45}
/* Kertas kerja one sample and one step at a time (12 Nov 2026): the worksheet replaces the list */
.kk-focusing #kkPbjCard,.kk-focusing #kkReviuCard,.kk-focusing .panel-head .lead{display:none!important}
/* the tools card stays only for a running AI check (its progress and Batal); the rest of it belongs to the list */
.kk-focusing .kk-bar>:not(#reviuAiStatus){display:none!important}.kk-focusing .kk-bar:not(:has(#reviuAiStatus:not(:empty))){display:none!important}
.kk-focus{padding:14px 18px}.kk-focus>.kk-card{padding:0;margin:0;background:none;border:0}
.kk-focus-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:10px}
.kk-focus-title{display:flex;flex-direction:column;min-width:0;flex:1 1 260px}.kk-focus-title b{font-size:17px;line-height:1.3}.kk-focus-title small{color:var(--muted);font-size:12.5px}.kk-focus-top .act-link{font-size:12.5px}
.kk-step.here .kk-step-btn{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);background:#f2f8f5}.kk-step.here.now .kk-step-btn{background:var(--warn-bg)}
.kk-facts{margin:0 0 12px;font-size:13px}.kk-facts>summary{cursor:pointer;color:var(--muted);font-weight:600}.kk-facts .pbj-facts{margin-top:8px}
.kk-pane{padding-top:2px}.kk-pane-how{margin:0 0 6px;color:var(--muted)}.kk-pane>.form-actions{margin-top:10px}.kk-saved{color:var(--muted);margin:6px 0 0}
.kk-field{margin:6px 0 8px}.kk-lbl{display:block;font-size:13px;font-weight:600;margin-bottom:4px}
/* one-click decisions; blue while an AI proposal is not saved yet, as the colour legend says */
.rv-seg{display:flex;flex-wrap:wrap;gap:4px}
.rv-seg-btn{min-height:30px;padding:3px 7px;font-size:12px;font-weight:600;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.rv-seg-btn:hover{background:var(--soft)}
.rv-seg-btn.on.ok{background:#2f8f5b;border-color:#2f8f5b;color:#fff}.rv-seg-btn.on.bad{background:var(--danger);border-color:var(--danger);color:#fff}.rv-seg-btn.on.mute{background:#5b6b65;border-color:#5b6b65;color:#fff}
.ai-proposed .rv-seg-btn.on{background:#1d4ed8;border-color:#1d4ed8;color:#fff}td.rv-need .rv-seg-btn{border-color:#e0a93b}
.kk-field .rv-seg-btn{min-height:36px;padding:6px 14px;font-size:13px}
.rv-note-add{align-self:flex-start;min-height:0;padding:0;font-size:12px}
table.rv-items col.c-item{width:24%}table.rv-items col.c-ev{width:36%}table.rv-items col.c-dec{width:40%}
.rv-ev>div{margin:0 0 4px}.rv-ev-src{font-weight:600;color:var(--muted)}.rv-ev .bad{color:var(--danger)}.rv-ev .warn{color:#7a5500}.rv-ev .rv-ai-found{color:#0b4fae}.rv-ev .rv-ai-bad{color:var(--danger);font-weight:600}
.rv-fold-row td{background:var(--soft)!important;text-align:center}
.rv-docs{margin:6px 0 8px;font-size:12.5px}.rv-docs li .tag{white-space:normal}.rv-docs>summary{cursor:pointer;font-weight:600}details.rv-ai-box>summary{cursor:pointer;font-weight:600}
/* Periksa dokumen SP2D: one SP2D at a time */
.kk-sp2d-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.kk-sp2d-chip{display:flex;flex-direction:column;align-items:flex-start;min-height:0;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:400;text-align:left}
.kk-sp2d-chip b{font-size:13px}.kk-sp2d-chip small{font-size:11.5px;color:var(--muted)}.kk-sp2d-chip.done b{color:#2f8f5b}.kk-sp2d-chip.on{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);background:#f2f8f5}
.kk-sp2d-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:4px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--line)}.kk-sp2d-head b{font-size:14.5px}.kk-sp2d-head .small{color:var(--muted)}
.kk-load{font-size:12.5px}
/* Jadwal & progres, Simpulan */
.pbj-group{grid-column:1/-1;margin:8px 0 0;font-size:13px;color:var(--accent,#1f6f5c)}.kk-use-all{margin:2px 0 8px}
.pbj-dev{font-size:14px;font-weight:600;margin:4px 0 10px}
div.kk-propose{margin:0 0 10px;padding:10px 12px;border-radius:8px;border:1px solid #d6e5de;background:#fff;color:var(--ink)}div.kk-propose ul{margin:4px 0;padding-left:18px;font-size:13px}div.kk-propose small{color:var(--muted)}
div.kk-propose.warn{border-color:#f1b0b7;background:#fff6f6}div.kk-propose.warn>b{color:var(--danger)}div.kk-propose.ok{border-color:#b9dfc9;background:#f3faf6}div.kk-propose.ok>b{color:#17663f}div.kk-propose.wait{background:#fafbfb}
/* the list: steps as dots and one button per sample */
.kk-dots{display:inline-flex;align-items:center;gap:3px}.kk-dots i{width:10px;height:10px;border-radius:50%;background:#dfe6e3}.kk-dots i.on{background:#2f8f5b}.kk-dots small{display:inline!important;margin:0 0 0 6px!important;font-size:11.5px;color:var(--muted)}
.kk-go{display:block;margin-top:6px;min-height:30px;padding:4px 12px;font-size:12.5px}td.rv-pkg-step{font-size:12.5px}td.rv-pkg-step .kk-next-row{margin-top:3px}
tr.kk-tx-row{cursor:pointer}tr.kk-tx-row:hover td{background:#f3f8f6}.kk-tx-sub{display:block;font-size:11.5px;color:var(--muted)}td.kk-tx-step{font-size:12.5px}
@media (max-width:860px){.kk-focus{padding:12px}.kk-focus-head .kk-steps{display:flex;overflow-x:auto;gap:6px;padding-bottom:2px}.kk-focus-head .kk-step{flex:0 0 auto}.kk-focus-head .kk-step-txt small{display:none}.kk-focus-head .kk-step:not(.here) .kk-step-txt{display:none}
 .kk-sp2d-chip{padding:5px 9px}.rv-seg-btn{min-height:36px;padding:6px 10px;font-size:12.5px}}
/* something being read: a spinner, what, and for how long (12 Nov 2026) */
.kk-loading{display:flex;align-items:flex-start;gap:12px;margin:10px 0;padding:12px 14px;border:1px dashed #9cc7b4;border-radius:10px;background:#f4faf7;color:var(--ink)}
.kk-loading-txt{display:flex;flex-direction:column;gap:2px;font-size:13.5px;line-height:1.4}.kk-loading-txt small{color:var(--muted);font-size:12.5px}.kk-loading-txt small:empty{display:none}
.kk-spin{flex:none;width:20px;height:20px;margin-top:1px;border:3px solid #cfe3da;border-top-color:var(--accent,#1f6f5c);border-radius:50%;animation:kk-spin .8s linear infinite}
@keyframes kk-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.kk-spin{animation:none;border-right-color:var(--accent,#1f6f5c)}}
.rv-ai-state.loading{background:#e7f0ff;color:#1d4ed8}
/* moving between samples: a strip above the worksheet, the same buttons in the bottom bar (12 Nov 2026) */
.kk-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.kk-nav button{min-height:40px;padding:8px 16px;font-size:14px}.kk-nav .kk-back{font-weight:600}
.kk-pos{display:flex;align-items:center;gap:8px;flex:1 1 300px;min-width:0;margin:0;font-size:13.5px;font-weight:600;color:var(--ink)}.kk-pos>span{white-space:nowrap}
.kk-pos select{flex:1 1 auto;width:auto;min-width:0;max-width:560px;min-height:40px;font-size:13.5px}
#kkBar.focusing>.sp-bar-actions:not(#kkBarFocus){display:none}
@media (max-width:640px){.kk-wide{display:none}.kk-nav .kk-back{flex:1 1 100%}.kk-pos{flex:1 1 100%;flex-wrap:wrap}.kk-pos select{flex:1 1 100%;max-width:none}.kk-nav .kk-nav-prev,.kk-nav .kk-nav-next{flex:1}}
/* Cek AI results stand out in Kertas kerja (13 Nov 2026, the user: "beri font/tampilan yang lebih mencolok") */
.rv-ai-badge{display:inline-flex;align-items:center;font-size:13px;font-weight:700;border-radius:999px;padding:3px 12px;white-space:nowrap}
.rv-ai-badge.done{background:#1d4ed8;color:#fff}.rv-ai-badge.none{background:#eef1f3;color:#5b6b65}
.rv-ev .rv-ev-ai{margin-top:6px;padding:7px 10px;border-radius:8px;background:#eef4ff;border-left:4px solid #1d4ed8;font-size:13.5px;line-height:1.5;color:#123a8f}
.rv-ev .rv-ev-ai.rv-ai-bad{background:#fdeeee;border-left-color:var(--danger);color:#8a1f1a}
.rv-ai-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.04em;background:#1d4ed8;color:#fff;border-radius:4px;padding:1px 6px;vertical-align:1px}
.rv-ev-ai.rv-ai-bad .rv-ai-tag{background:var(--danger)}.rv-ev-ai .rv-ai-quote{background:#fff;border-left-color:#93b4f5;font-weight:400;color:var(--ink)}
.rv-ev-ai .rv-ai-formal{border-top-color:#c7d7f7}
td.rv-dec.ai-proposed{background:#eef4ff;box-shadow:inset 4px 0 0 #1d4ed8}
.rv-dec.ai-proposed .rv-dec-tag{display:inline-block;background:#1d4ed8;color:#fff;font-weight:700;font-size:12px;border-radius:999px;padding:2px 10px;margin-top:6px;align-self:flex-start;width:fit-content}
.rv-dec.ai-proposed.ai-undecided .rv-dec-tag{background:#b45309}
.kk-sp2d-chip .kk-chip-ai{display:inline-block;align-self:flex-start;margin-top:4px;font-size:10.5px;font-weight:800;color:#fff;background:#1d4ed8;border-radius:999px;padding:0 8px}
.kk-sp2d-chip .kk-chip-ai.old{background:#b45309}
.rv-ai-state{font-size:12.5px;padding:2px 10px}.rv-ai-state.all{background:#1d4ed8;color:#fff}.rv-ai-state.part{background:#dbe7ff;color:#123a8f}
details.rv-ai-box{border-left:4px solid #1d4ed8}details.rv-ai-box>summary{color:#123a8f;font-size:13.5px}
/* a list section without its OPD's list (loading or not pulled): only its note, never the list of the OPD before */
.sp-sec.sp-empty>:not(.warn-note){display:none!important}
/* one click checks every sample of the tab (13 Nov 2026) */
#reviuAiCheck{display:inline-flex;align-items:center;gap:6px;background:#1d4ed8;border-color:#1d4ed8;color:#fff;font-weight:700}#reviuAiCheck:hover:not(:disabled){background:#1e40af}
.rv-pkg-kind .kk-amt{display:block;font-size:14px;font-weight:700;color:var(--ink)}
.rv-ev .rv-ev-ai.rv-ai-warn{background:#fff6e5;border-left-color:#b45309;color:#7a4500}.rv-ev-ai.rv-ai-warn .rv-ai-tag{background:#b45309}
/* what the AI read and decided, line by line (13 Nov 2026) */
.rv-ev-ai .rv-ai-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:2px}.rv-ai-verdict{font-size:13.5px}
.rv-ev-ai .rv-ai-line{margin-top:2px}.rv-ai-k{color:#4a5f8f;font-weight:600}.rv-ev-ai .rv-ai-quote{margin-top:4px}
.rv-ai-note{margin-top:4px;font-size:12.5px;color:#334;font-style:italic}.rv-ev-ai.rv-ai-bad .rv-ai-note,.rv-ev-ai.rv-ai-warn .rv-ai-note{color:inherit}
.rv-dec.ai-proposed .rv-dec-tag{order:-1;margin:0 0 6px}
.rv-ai-read{flex-basis:100%;font-size:12.5px}.rv-ai-read>summary{cursor:pointer;color:#123a8f;font-weight:600}.rv-ai-read ul{margin:4px 0 0;padding-left:18px}
/* Kertas kerja easier to read (13 Nov 2026): tiles, labelled facts, a counted legend, labelled AI column */
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kk-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:10px 0 4px}
.kk-tile{position:relative;border:1px solid var(--line);border-radius:10px;padding:8px 10px 10px;background:#fff;display:flex;flex-direction:column;gap:1px}
.kk-tile b{font-size:20px;line-height:1.1}.kk-tile span{font-size:12.5px;color:var(--ink)}.kk-tile small{font-size:11px;color:var(--muted)}
.kk-tile.done{border-color:#9fd3b5;background:#f2fbf5}.kk-tile.done b{color:#17663f}.kk-tile.part b{color:#7a5500}
.kk-tile-bar{position:absolute;left:10px;right:10px;bottom:4px;height:3px;border-radius:2px;background:#e6ece9}.kk-tile-bar::after{content:"";position:absolute;inset:0;width:var(--p);background:#2f8f5b;border-radius:2px}
#reviuAiStatus:not(:empty){margin:6px 0;padding:6px 10px;border-radius:8px;background:#eef4ff;color:#123a8f}#reviuAiStatus:not(:empty)::before{content:"Cek AI terakhir: ";font-weight:700}
.kk-st{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:2px 0;font-size:12.5px}.kk-st-k{min-width:62px;color:var(--muted);font-size:11.5px}.kk-st .rv-ai-state{margin:0}.kk-st-ok{color:#17663f;font-weight:700}
.kk-facts{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}.kk-fact{display:flex;flex-direction:column;padding:4px 10px;border:1px solid var(--line);border-radius:8px;background:#fafcfb}
.kk-fact small{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.kk-fact b{font-size:13px}
.kk-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 6px;font-size:12.5px}
.kk-lg{border-radius:999px;padding:2px 10px;font-weight:600}.kk-lg.ok{background:#e3f4ea;color:#17663f}.kk-lg.ai{background:#1d4ed8;color:#fff}.kk-lg.manual{background:#b45309;color:#fff}.kk-lg.open{background:#fff3cd;color:#7a5500}
/* balanced, symmetrical worksheet (13 Nov 2026, the user: simpel, seimbang, proporsional): one spacing scale (4/8/12/16),
   equal-width fact boxes, two cards of the same height, a title left and its actions right */
.kk-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:8px 0 12px;width:100%}
.kk-fact{justify-content:center;min-height:52px;padding:6px 12px}
.kk-sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.kk-sec-title{margin:0;font-size:15px}
.kk-sec-head .rv-ai-actions{margin:0;justify-content:flex-end}
.kk-sp2d-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.kk-sp2d-head>b{flex-basis:100%;font-size:15px}.kk-sp2d-head .kk-facts{margin:0}
.kk-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;align-items:stretch}
@media (max-width:900px){.kk-two{grid-template-columns:1fr}}
.kk-card{border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:#fff}
.rv-ai-actions.kk-aicard{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0}
.kk-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.kk-card-head b{font-size:14px}
.kk-card-meta{margin:0;color:var(--muted)}.kk-card-btns{display:flex;gap:8px;flex-wrap:wrap}
.kk-doccard .rv-docs{margin:0}.kk-doccard .rv-docs>summary{font-size:14px}
.kk-bar .kk-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
#kkPbjTable td.rv-pkg-kind{width:18%}#kkPbjTable td.rv-pkg-step{width:24%}#kkPbjTable td.rv-pkg-ai{width:22%}
.kk-aicard .rv-ai-read{flex-basis:auto}
/* the note of an item shows its whole text (13 Nov 2026): sized by its content, at least three lines */
table.rv-items td.rv-dec textarea{field-sizing:content;min-height:4.6em;max-height:22em;overflow:auto}
/* a simpler sidebar (13 Nov 2026, the user: "sidebar ... lebih simpel dan mudah dipahami, hilangkan alamat publik dan informasi
   yang tidak perlu"): grouped menus, the hints of the work steps only, Keluar at the foot */
.side-nav .nav-group{margin:8px 12px 2px;font-size:10.5px;line-height:1.3;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--side-muted)}
.side-nav .nav-group:first-child{margin-top:4px}
.side-nav .nav-settings .tab-hint{display:none}
.panel-note{margin:0 0 12px;color:var(--muted)}
/* the menu fits a 1366x768 laptop with its group titles; the "Lainnya" title replaces the line above Audit & riwayat */
.side-nav .nav-activity{margin-top:0;border-top:0!important;padding-top:4px!important}
@media (min-width:861px) and (max-height:900px){.side-nav .nav-group{margin:4px 10px 0;font-size:10px;line-height:1.2}.side-nav .nav-activity{padding-top:1px!important}}
