:root{
  --navy:#0f2f4d;
  --navy-2:#183f63;
  --red:#b9232f;
  --red-2:#941b25;
  --bg:#f3f6f9;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --line:#dfe6ed;
  --line-2:#cfd9e3;
  --text:#17324c;
  --muted:#6c7f91;
  --green:#16804f;
  --green-bg:#eaf7f0;
  --amber:#9a6515;
  --amber-bg:#fff6e7;
  --blue:#2a648f;
  --blue-bg:#edf5fb;
  --shadow:0 8px 24px rgba(15,47,77,.055);
  --radius:14px;
  font-family:"Segoe UI",Inter,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45}
a{color:inherit}button,input,select{font:inherit}

/* SHELL */
.app-shell{min-height:100vh;display:grid;grid-template-columns:218px minmax(0,1fr)}
.app-sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:20px 14px 14px;display:flex;flex-direction:column;z-index:30}
.brand-lockup{display:flex;align-items:center;gap:10px;text-decoration:none;padding:0 5px 18px;border-bottom:1px solid #edf1f4}
.brand-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(145deg,var(--red),var(--red-2));color:#fff;display:grid;place-items:center;font-weight:900;letter-spacing:-.4px;box-shadow:0 5px 12px rgba(185,35,47,.18)}
.brand-copy{display:grid;gap:1px}.brand-copy strong{font-size:15px;color:var(--navy);letter-spacing:.1px}.brand-copy small{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.9px}
.nav-section-label{font-size:9px;font-weight:900;letter-spacing:1px;color:#9aa9b7;padding:18px 9px 7px}
.app-nav{display:grid;gap:3px}.nav-item{position:relative;display:flex;align-items:center;gap:9px;text-decoration:none;color:#53697d;font-weight:700;padding:10px 10px;border-radius:9px;transition:.15s}
.nav-item:hover{background:#f6f8fa;color:var(--navy)}.nav-item.active{background:#fff1f2;color:var(--red)}.nav-item.active:before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--red)}
.nav-dot{width:7px;height:7px;border-radius:50%;background:#c1ccd5}.nav-item.active .nav-dot{background:var(--red)}
.sidebar-spacer{flex:1}.sidebar-foot{border-top:1px solid #edf1f4;padding:14px 5px 2px;display:grid;gap:6px}.source-state{display:flex;align-items:center;gap:7px;font-size:11px;color:#5f7182;font-weight:700}.status-light{width:8px;height:8px;border-radius:50%;background:#1ca266;box-shadow:0 0 0 3px #e4f5ed}.sidebar-foot small{font-size:10px;color:#9aa9b7}
.sidebar-user-panel{border-top:1px solid #edf1f4;padding:12px 5px 0;display:grid;gap:9px}.sidebar-user-chip{padding-left:0}.sidebar-user-panel .user-avatar{width:34px;height:34px;flex:0 0 34px}.sidebar-user-panel .user-meta{min-width:0}.sidebar-user-panel .user-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout-form{width:100%}.sidebar-logout-button{width:100%;justify-content:center;display:inline-flex;align-items:center}
.app-stage{min-width:0}.topbar{height:62px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:25;backdrop-filter:blur(8px)}
.topbar-context{display:grid;gap:1px}.topbar-kicker{font-size:9px;color:#91a0ad;font-weight:900;letter-spacing:.9px}.topbar-context strong{font-size:13px;color:var(--navy)}.topbar-actions{display:flex;align-items:center;gap:10px}.mode-chip,.soft-chip{display:inline-flex;align-items:center;border:1px solid #d6e0e8;background:#f7f9fb;color:#536b80;border-radius:999px;padding:6px 9px;font-size:10.5px;font-weight:800}.soft-chip.success{background:var(--green-bg);color:var(--green);border-color:#c8e8d7}
.user-chip{display:flex;align-items:center;gap:8px;padding-left:4px}.user-avatar{width:32px;height:32px;border-radius:50%;background:#edf2f6;color:var(--navy);display:grid;place-items:center;font-weight:900}.user-meta{display:grid;gap:0}.user-meta strong{font-size:11px}.user-meta small{font-size:9.5px;color:var(--muted)}.logout-form{margin:0}.icon-button{border:1px solid var(--line);background:#fff;color:#5b6f82;border-radius:8px;padding:7px 9px;font-size:10.5px;font-weight:800;cursor:pointer}.icon-button:hover{border-color:#c8d3dd;background:#f7f9fb}
.app-content{max-width:1360px;margin:0 auto;padding:24px 28px 40px}

/* PAGE TITLES */
.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px;padding:2px 2px 0}.page-title-row h1{margin:4px 0 4px;font-size:28px;line-height:1.15;letter-spacing:-.45px;color:var(--navy)}.page-title-row p{margin:0;color:var(--muted);font-size:13px;max-width:840px}.eyebrow,.section-kicker{font-size:9.5px;font-weight:900;letter-spacing:.95px;text-transform:uppercase;color:var(--red)}.page-status-stack{display:flex;align-items:center;gap:6px;padding-top:3px}.detail-title-row p strong{color:var(--text)}

/* PANELS */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 18px 12px}.panel-head.compact{padding-bottom:10px}.panel-head h2{margin:2px 0 0;font-size:17px;color:var(--navy);letter-spacing:-.15px}.panel-help,.result-count{font-size:10.5px;color:var(--muted);font-weight:700;padding-top:4px}

/* FILTERS */
.filter-panel{overflow:hidden}.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:0 18px 16px;align-items:end}.filter-grid label{display:grid;gap:5px;font-size:10.5px;font-weight:800;color:#526a80}.filter-grid input,.filter-grid select,.login-form input{width:100%;height:38px;border:1px solid var(--line-2);border-radius:8px;background:#fff;padding:0 10px;color:var(--text);outline:none}.filter-grid input:focus,.filter-grid select:focus,.login-form input:focus{border-color:#7fa3bf;box-shadow:0 0 0 3px rgba(42,100,143,.09)}.span-2{grid-column:span 2}.year-field{max-width:110px}.filter-actions{display:flex;align-items:end}.primary-button,.secondary-button{height:38px;border-radius:8px;padding:0 13px;font-weight:800;font-size:11px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.primary-button{background:var(--navy);border:1px solid var(--navy);color:#fff}.primary-button:hover{background:var(--navy-2)}.secondary-button{background:#fff;border:1px solid var(--line-2);color:var(--navy)}.secondary-button:hover{background:#f6f8fa}.mblb-filter{grid-template-columns:1.4fr 1.4fr 120px auto}.mblb-filter .year-field{max-width:none}

/* HOME */
.quick-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}.stat-strip{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between}.stat-strip span{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.45px}.stat-strip strong{font-size:12px;color:var(--navy)}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin:4px 1px 10px}.section-heading h2{font-size:18px;color:var(--navy);margin:2px 0 0}.section-heading p{margin:0;color:var(--muted);font-size:11.5px}.domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.domain-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;grid-template-columns:42px 1fr;column-gap:12px;row-gap:12px;box-shadow:var(--shadow);transition:.16s}.domain-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(15,47,77,.08)}.domain-icon{width:42px;height:42px;border-radius:10px;background:#f4e9ea;color:var(--red);display:grid;place-items:center;font-weight:900;font-size:12px}.domain-body{min-width:0}.domain-type{font-size:9px;color:var(--red);font-weight:900;letter-spacing:.75px}.domain-card h3{font-size:17px;color:var(--navy);margin:2px 0 6px}.domain-card p{font-size:11.5px;line-height:1.5;color:var(--muted);margin:0}.card-link{grid-column:1/-1;border-top:1px solid #edf1f4;padding-top:10px;text-decoration:none;color:var(--navy);font-weight:850;font-size:11.5px;display:flex;justify-content:space-between}.card-link:hover{color:var(--red)}.baseline-banner{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px}.baseline-banner>div{display:flex;gap:5px;flex-wrap:wrap;font-size:11.5px}.baseline-banner span{color:var(--muted)}.banner-badge{font-size:9.5px!important;background:#f6f8fa;padding:5px 8px;border-radius:999px;border:1px solid var(--line)}

/* KPI */
.kpi-grid{display:grid;gap:10px;margin-bottom:14px}.kpi-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:1px;box-shadow:0 4px 14px rgba(15,47,77,.025)}.kpi-card>span{font-size:9.5px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.4px}.kpi-card>strong{font-size:24px;line-height:1.15;color:var(--navy);letter-spacing:-.35px}.kpi-card>small{font-size:9.5px;color:#96a4b0}.kpi-card .money{font-size:18px}.kpi-card .text-value{font-size:14px;letter-spacing:0;padding-top:4px}

/* TABLES */
.table-panel{overflow:hidden}.table-scroll{overflow-x:hidden;overflow-y:visible;border-top:1px solid #edf1f4}.data-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:0}.population-table,.detail-period-table{min-width:0}.data-table th,.data-table td{padding:8px 9px;border-bottom:1px solid #edf1f4;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:normal;vertical-align:middle;font-size:11.5px;line-height:1.35}.data-table th{position:sticky;top:0;z-index:4;background:#f7f9fb;color:#536b80;font-size:9.5px;text-transform:uppercase;letter-spacing:.38px;font-weight:900}.data-table tbody tr:hover td{background:#fbfcfd}.data-table tbody tr:last-child td{border-bottom:0}.data-table .num{text-align:center}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10.4px;overflow-wrap:anywhere}.row-action{display:inline-flex;text-decoration:none;color:var(--navy);font-size:10.5px;font-weight:900;border:1px solid #c8d5df;border-radius:7px;padding:5px 8px;background:#fff;white-space:normal;text-align:center}.row-action:hover{background:#f3f7fa;border-color:#9eb2c3}.table-footnote{padding:10px 14px;background:#fbfcfd;color:var(--muted);font-size:10.5px;border-top:1px solid #edf1f4}.empty{text-align:center!important;color:var(--muted);padding:24px!important}.population-table th:nth-child(1),.population-table td:nth-child(1){width:8%}.population-table th:nth-child(2),.population-table td:nth-child(2){width:12%}.population-table th:nth-child(3),.population-table td:nth-child(3){width:8%}.population-table th:nth-child(4),.population-table td:nth-child(4){width:12%}.population-table th:nth-child(5),.population-table td:nth-child(5){width:7%}.population-table th:nth-child(6),.population-table td:nth-child(6){width:7%}.population-table th:nth-child(7),.population-table td:nth-child(7){width:7%}.population-table th:nth-child(8),.population-table td:nth-child(8){width:9%}.population-table th:nth-child(9),.population-table td:nth-child(9){width:6%}.population-table th:nth-child(10),.population-table td:nth-child(10),.population-table th:nth-child(11),.population-table td:nth-child(11){width:5%}.population-table th:nth-child(12),.population-table td:nth-child(12),.population-table th:nth-child(13),.population-table td:nth-child(13){width:7%}.detail-period-table th:nth-child(1),.detail-period-table td:nth-child(1){width:8%}.detail-period-table th:nth-child(2),.detail-period-table td:nth-child(2){width:9%}.detail-period-table th:nth-child(3),.detail-period-table td:nth-child(3){width:8%}.detail-period-table th:nth-child(4),.detail-period-table td:nth-child(4){width:11%}.detail-period-table th:nth-child(5),.detail-period-table td:nth-child(5),.detail-period-table th:nth-child(6),.detail-period-table td:nth-child(6){width:10%}.detail-period-table th:nth-child(7),.detail-period-table td:nth-child(7){width:6%}.detail-period-table th:nth-child(8),.detail-period-table td:nth-child(8),.detail-period-table th:nth-child(9),.detail-period-table td:nth-child(9),.detail-period-table th:nth-child(10),.detail-period-table td:nth-child(10){width:9%}.detail-period-table th:nth-child(11),.detail-period-table td:nth-child(11){width:11%}.mblb-table th:nth-child(1),.mblb-table td:nth-child(1){width:9%}.mblb-table th:nth-child(2),.mblb-table td:nth-child(2){width:8%}.mblb-table th:nth-child(3),.mblb-table td:nth-child(3){width:12%}.mblb-table th:nth-child(4),.mblb-table td:nth-child(4){width:11%}.mblb-table th:nth-child(5),.mblb-table td:nth-child(5){width:11%}.mblb-table th:nth-child(6),.mblb-table td:nth-child(6){width:9%}.mblb-table th:nth-child(7),.mblb-table td:nth-child(7){width:9%}.mblb-table th:nth-child(8),.mblb-table td:nth-child(8){width:9%}.mblb-table th:nth-child(9),.mblb-table td:nth-child(9){width:12%}.mblb-table th:nth-child(10),.mblb-table td:nth-child(10){width:10%}
.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:9.5px;font-weight:850;border:1px solid transparent}.status-pill.ok{background:var(--green-bg);color:var(--green);border-color:#cce9da}.status-pill.muted{background:#f2f4f6;color:#6f7e8c;border-color:#e2e7eb}.status-pill.info{background:var(--blue-bg);color:var(--blue);border-color:#d3e4f0}.status-pill.warn{background:var(--amber-bg);color:var(--amber);border-color:#f0deb8}

/* DETAIL */
.object-summary-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 16px;margin-bottom:10px;box-shadow:var(--shadow);display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,2fr);gap:18px;align-items:center}.object-main{display:flex;align-items:center;gap:12px}.object-avatar{width:46px;height:46px;border-radius:12px;background:#fff1f2;color:var(--red);display:grid;place-items:center;font-weight:900}.object-main h2{font-size:17px;color:var(--navy);margin:2px 0 1px}.object-main p{font-size:11px;color:var(--muted);margin:0}.object-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.object-meta-grid>div,.info-grid>div{background:#f8fafc;border:1px solid #e7edf2;border-radius:9px;padding:9px 10px;min-width:0}.object-meta-grid span,.info-grid span{display:block;font-size:8.8px;color:#8998a5;font-weight:900;text-transform:uppercase;letter-spacing:.45px;margin-bottom:2px}.object-meta-grid strong,.info-grid strong{font-size:10.8px;color:var(--text);overflow-wrap:anywhere}.tabbar{display:flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:4px;margin-bottom:12px;position:sticky;top:8px;z-index:15;box-shadow:0 4px 14px rgba(15,47,77,.04)}.tabbar a{text-decoration:none;color:#64788a;font-size:10.5px;font-weight:800;padding:7px 10px;border-radius:7px}.tabbar a:hover{background:#f5f7f9;color:var(--navy)}.detail-panel{scroll-margin-top:118px}.detail-kpis{margin:0 16px 12px}.info-grid{display:grid;gap:8px;padding:0 16px 16px}.info-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.info-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.finding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 16px 16px}.finding-card{border:1px solid #ead9b6;background:#fffaf0;border-radius:9px;padding:10px}.finding-top{display:flex;align-items:center;gap:7px;margin-bottom:4px}.finding-top strong{font-size:11px;color:#76520d}.finding-badge{background:#fff1d5;color:#936313;border-radius:999px;padding:2px 6px;font-size:8.8px;font-weight:900}.finding-card p{font-size:10.5px;color:#7a6845;margin:0}.empty-inline{margin:0 16px 16px;border:1px dashed #cfe5d8;background:#f7fcf9;border-radius:10px;padding:12px;display:flex;align-items:center;gap:9px}.empty-inline>span{width:28px;height:28px;border-radius:50%;background:var(--green-bg);color:var(--green);display:grid;place-items:center;font-weight:900}.empty-inline div{display:grid}.empty-inline strong{font-size:11px}.empty-inline small{font-size:9.5px;color:var(--muted)}.workflow-box{margin:0 16px 14px;border:1px solid #dbe5ee;background:#f8fbfd;border-radius:10px;padding:12px;display:flex;gap:10px}.workflow-icon{width:28px;height:28px;border-radius:50%;background:#eaf2f8;color:var(--blue);display:grid;place-items:center;font-weight:900}.workflow-box strong{font-size:11px}.workflow-box p{margin:3px 0 0;font-size:10.5px;color:var(--muted)}

/* MESSAGES / EMPTY */
.alert{background:#fff6e8;color:#885714;border:1px solid #edd8b2;border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:11px}.empty-panel{background:#fff;border:1px dashed #cbd7e0;border-radius:14px;min-height:180px;display:grid;place-items:center;align-content:center;gap:4px;color:var(--muted)}.empty-panel .empty-icon{width:38px;height:38px;border-radius:50%;background:#f3f6f8;display:grid;place-items:center;font-size:18px;color:#718596}.empty-panel strong{color:var(--navy);font-size:12px}.empty-panel span{font-size:10.5px}

/* LOGIN */
.login-body{margin:0;background:#edf2f6;min-height:100vh}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr)}.login-brand-panel{background:linear-gradient(150deg,#a51f2a 0%,#8d1821 100%);color:#fff;padding:54px 58px;display:flex;flex-direction:column;justify-content:space-between}.login-brand-mark{width:50px;height:50px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;font-weight:900}.login-brand-kicker{font-size:10px;font-weight:900;letter-spacing:1px;opacity:.78}.login-brand-panel h1{font-size:38px;line-height:1.05;margin:8px 0 12px;letter-spacing:-.8px}.login-brand-panel p{max-width:420px;font-size:14px;line-height:1.6;color:rgba(255,255,255,.78)}.login-brand-foot{font-size:10.5px;color:rgba(255,255,255,.66)}.login-form-panel{display:grid;place-items:center;padding:40px}.login-form-wrap{width:min(410px,100%)}.login-form-wrap h2{font-size:28px;color:var(--navy);margin:5px 0 4px}.login-intro{margin:0 0 22px;color:var(--muted);font-size:12px}.login-form{display:grid;gap:13px}.login-form label{display:grid;gap:5px;font-size:10.5px;font-weight:850;color:#536b80}.login-form button{height:40px;border:0;border-radius:8px;background:var(--navy);color:#fff;font-weight:850;cursor:pointer;margin-top:2px}.login-form button:hover{background:var(--navy-2)}.login-note{border-top:1px solid var(--line);margin-top:18px;padding-top:13px;font-size:10.5px;color:#8a99a6}

@media (max-width:1100px){
  .app-shell{grid-template-columns:188px minmax(0,1fr)}.app-content{padding:20px}.domain-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 1}.kpi-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}.object-summary-card{grid-template-columns:1fr}.info-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.finding-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .table-scroll{overflow-x:auto}.data-table{min-width:760px}.app-shell{display:block}.app-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:12px}.brand-lockup{padding-bottom:10px}.nav-section-label,.sidebar-foot{display:none}.app-nav{display:flex;overflow:auto}.nav-item{white-space:nowrap}.nav-item.active:before{display:none}.sidebar-spacer{display:none}.sidebar-user-panel{margin-top:10px;padding:10px 2px 0;display:flex;align-items:center;gap:10px}.sidebar-user-chip{flex:1;min-width:0}.sidebar-logout-form{width:auto}.sidebar-logout-button{width:auto;min-width:70px}.topbar{display:none}.app-content{padding:16px 12px 28px}.page-title-row{display:grid;gap:10px}.page-title-row h1{font-size:23px}.page-status-stack{padding:0}.quick-stats{grid-template-columns:1fr}.filter-grid,.mblb-filter{grid-template-columns:1fr}.year-field{max-width:none}.kpi-grid.five,.kpi-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.object-meta-grid,.info-grid.four,.info-grid.three{grid-template-columns:1fr 1fr}.tabbar{top:0}.login-layout{display:block}.login-brand-panel{display:none}.login-form-panel{min-height:100vh;padding:26px}.finding-grid{grid-template-columns:1fr}
}

/* Phase 34 - controlled target workflow */
.workflow-summary{margin-bottom:18px}.workflow-form{border-top:1px solid var(--border,#dbe3ea);padding-top:18px}.workflow-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.55fr);gap:14px}.workflow-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#29445e;font-size:.88rem}.workflow-grid input,.workflow-grid select,.workflow-grid textarea{width:100%;box-sizing:border-box;border:1px solid #cfdbe6;border-radius:10px;background:#fff;padding:11px 12px;font:inherit;color:#0d3153}.workflow-grid textarea{resize:vertical;min-height:82px}.workflow-wide{grid-column:1/-1}.workflow-actions{display:flex;align-items:center;gap:14px;margin-top:14px}.workflow-actions span{font-size:.84rem;color:#71879a}.workflow-history{margin-top:22px}.workflow-history h3{margin:0 0 12px;color:#0d3153;font-size:1rem}.success-inline{margin:0 0 16px;padding:11px 13px;border:1px solid #b8e4ce;background:#effaf4;color:#16643b;border-radius:10px;font-weight:700}@media(max-width:760px){.workflow-grid{grid-template-columns:1fr}.workflow-wide{grid-column:auto}.workflow-actions{align-items:flex-start;flex-direction:column}}


/* Phase 36 - desktop table fit: wrap first, horizontal scroll only on small screens */
@media (min-width:761px){
  .table-panel,.table-scroll{max-width:100%;width:100%;overflow-x:clip!important;}
  .data-table,.population-table,.detail-period-table,.mblb-table{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
  }
  .data-table th,.data-table td{
    min-width:0!important;
    max-width:0;
    padding:7px 6px;
    white-space:normal!important;
    overflow:hidden;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    hyphens:auto;
    line-height:1.28;
    font-size:10.6px;
  }
  .data-table th{font-size:8.8px;line-height:1.2;}
  .data-table td > *, .data-table th > *{max-width:100%!important;min-width:0!important;box-sizing:border-box;}
  .status-pill{
    display:inline-block!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    text-align:left;
    line-height:1.15;
    padding:3px 5px;
    font-size:8.8px;
  }
  .row-action{
    display:inline-block!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    padding:4px 5px;
    font-size:9.4px;
    line-height:1.15;
  }
  .mono{font-size:9.5px;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-all!important;}
  /* Text columns left; numeric columns centered. */
  .population-table th:nth-child(10),.population-table td:nth-child(10),
  .population-table th:nth-child(11),.population-table td:nth-child(11){text-align:center!important;}
  /* Compact but usable distribution: totals 100%. */
  .population-table th:nth-child(1),.population-table td:nth-child(1){width:9%!important}
  .population-table th:nth-child(2),.population-table td:nth-child(2){width:11%!important}
  .population-table th:nth-child(3),.population-table td:nth-child(3){width:9%!important}
  .population-table th:nth-child(4),.population-table td:nth-child(4){width:11%!important}
  .population-table th:nth-child(5),.population-table td:nth-child(5){width:7%!important}
  .population-table th:nth-child(6),.population-table td:nth-child(6){width:7%!important}
  .population-table th:nth-child(7),.population-table td:nth-child(7){width:7%!important}
  .population-table th:nth-child(8),.population-table td:nth-child(8){width:9%!important}
  .population-table th:nth-child(9),.population-table td:nth-child(9){width:6%!important}
  .population-table th:nth-child(10),.population-table td:nth-child(10){width:5%!important}
  .population-table th:nth-child(11),.population-table td:nth-child(11){width:5%!important}
  .population-table th:nth-child(12),.population-table td:nth-child(12){width:8%!important}
  .population-table th:nth-child(13),.population-table td:nth-child(13){width:6%!important}
}


/* Phase 37 - balanced desktop table columns + proportional PBJT filters */
@media (min-width:761px){
  /* PBJT population filter stays compact and proportional on one row where space allows. */
  .pbjt-filter-grid{
    grid-template-columns:minmax(220px,2.1fr) minmax(120px,1fr) minmax(120px,1fr) minmax(125px,1fr) minmax(140px,1.1fr) 84px auto;
    gap:10px;
    align-items:end;
  }
  .pbjt-filter-grid .span-2{grid-column:auto;}
  .pbjt-filter-grid .year-field{max-width:none;}
  .pbjt-filter-grid .filter-actions{min-width:118px;}
  .pbjt-filter-grid .primary-button{width:100%;}

  /* Keep the desktop population table fully visible without chopping words. */
  .population-table th,.population-table td{
    max-width:none!important;
    overflow:hidden;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    padding:7px 6px;
    line-height:1.25;
  }
  .population-table th{
    font-size:8.7px;
    line-height:1.15;
    letter-spacing:.22px;
  }
  .population-table td{font-size:10.5px;}
  .population-table .mono{
    font-size:9.2px;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .population-table .status-pill{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    line-height:1.15;
    padding:3px 5px;
    font-size:8.7px;
  }
  .population-table .row-action{
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    padding:4px 6px;
    font-size:9px;
  }
  /* Text remains left aligned; only numeric facts are centered. */
  .population-table th:nth-child(10),.population-table td:nth-child(10),
  .population-table th:nth-child(11),.population-table td:nth-child(11){text-align:center!important;}

  /* 100% total. Give identifiers and place names enough room, while keeping utility columns compact. */
  .population-table th:nth-child(1),.population-table td:nth-child(1){width:9%!important}
  .population-table th:nth-child(2),.population-table td:nth-child(2){width:11%!important}
  .population-table th:nth-child(3),.population-table td:nth-child(3){width:9%!important}
  .population-table th:nth-child(4),.population-table td:nth-child(4){width:11%!important}
  .population-table th:nth-child(5),.population-table td:nth-child(5){width:8%!important}
  .population-table th:nth-child(6),.population-table td:nth-child(6){width:8%!important}
  .population-table th:nth-child(7),.population-table td:nth-child(7){width:7%!important}
  .population-table th:nth-child(8),.population-table td:nth-child(8){width:10%!important}
  .population-table th:nth-child(9),.population-table td:nth-child(9){width:6%!important}
  .population-table th:nth-child(10),.population-table td:nth-child(10){width:5%!important}
  .population-table th:nth-child(11),.population-table td:nth-child(11){width:5%!important}
  .population-table th:nth-child(12),.population-table td:nth-child(12){width:7%!important}
  .population-table th:nth-child(13),.population-table td:nth-child(13){width:4%!important}
}

@media (min-width:761px) and (max-width:1180px){
  .pbjt-filter-grid{grid-template-columns:2fr 1fr 1fr 1fr 1.1fr;}
  .pbjt-filter-grid .year-field{max-width:110px;}
  .pbjt-filter-grid .filter-actions{min-width:118px;}
}

/* Phase 38 - quieter filter action + compact icon detail action */
.filter-submit{
  height:38px;
  min-width:92px;
  border:1px solid var(--line-2);
  border-radius:8px;
  background:#fff;
  color:var(--navy);
  padding:0 14px;
  font-weight:800;
  font-size:11px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.filter-submit:hover{background:#f4f7f9;border-color:#b9c8d3;}
.icon-action{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cbd7df;
  border-radius:7px;
  background:#fff;
  color:var(--navy);
  font-size:17px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
}
.icon-action:hover{background:#f4f7f9;border-color:#aebfcb;}

@media (min-width:761px){
  .pbjt-filter-grid .filter-actions{min-width:92px;}
  .pbjt-filter-grid .filter-submit{width:100%;}
  .population-table th:nth-child(13),.population-table td:nth-child(13){text-align:center!important;}
}


/* Phase 39 - propagate the approved list/table baseline to Hotel and MBLB. */
@media (min-width:761px){
  /* PBJT Mamin + Hotel share the same population table contract. Keep compact
     utility columns while preventing short headers from splitting. */
  .population-table th:nth-child(10),
  .population-table th:nth-child(11),
  .population-table th:nth-child(13){
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    font-size:8.2px;
    letter-spacing:.12px;
  }
  .population-table th:nth-child(10),.population-table td:nth-child(10){width:5.5%!important}
  .population-table th:nth-child(11),.population-table td:nth-child(11){width:5.5%!important}
  .population-table th:nth-child(13),.population-table td:nth-child(13){width:3%!important}

  /* MBLB filter uses the same visual rhythm as PBJT filters. */
  .mblb-filter{
    grid-template-columns:minmax(240px,2.15fr) minmax(240px,2.15fr) 90px 92px;
    gap:10px;
    align-items:end;
  }
  .mblb-filter .year-field{max-width:none}
  .mblb-filter .filter-actions{min-width:92px}
  .mblb-filter .filter-submit{width:100%}

  /* MBLB table follows the same fit-first desktop baseline: text left,
     numeric monetary values centered, no desktop horizontal scrolling. */
  .mblb-table th,.mblb-table td{
    max-width:none!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    padding:7px 6px;
    line-height:1.25;
    overflow:hidden;
  }
  .mblb-table th{font-size:8.5px;line-height:1.15;letter-spacing:.18px}
  .mblb-table td{font-size:10.4px;text-align:left}
  .mblb-table td.num,.mblb-table th.num{text-align:center!important}
  .mblb-table .mono{font-size:9.1px;overflow-wrap:anywhere!important;word-break:normal!important}
  .mblb-table .status-pill{max-width:100%;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
  .mblb-table th:nth-child(1),.mblb-table td:nth-child(1){width:9%!important}
  .mblb-table th:nth-child(2),.mblb-table td:nth-child(2){width:8%!important}
  .mblb-table th:nth-child(3),.mblb-table td:nth-child(3){width:12%!important}
  .mblb-table th:nth-child(4),.mblb-table td:nth-child(4){width:11%!important}
  .mblb-table th:nth-child(5),.mblb-table td:nth-child(5){width:11%!important}
  .mblb-table th:nth-child(6),.mblb-table td:nth-child(6){width:9%!important}
  .mblb-table th:nth-child(7),.mblb-table td:nth-child(7){width:9%!important}
  .mblb-table th:nth-child(8),.mblb-table td:nth-child(8){width:9%!important}
  .mblb-table th:nth-child(9),.mblb-table td:nth-child(9){width:12%!important}
  .mblb-table th:nth-child(10),.mblb-table td:nth-child(10){width:10%!important}
}

@media (min-width:761px) and (max-width:1100px){
  .mblb-filter{grid-template-columns:1fr 1fr 90px 92px}
}

/* Phase 40 — PBJT Tenaga Listrik follows the established compact baseline. */
.electricity-table th:nth-child(1),.electricity-table td:nth-child(1){width:9%}
.electricity-table th:nth-child(2),.electricity-table td:nth-child(2){width:12%}
.electricity-table th:nth-child(3),.electricity-table td:nth-child(3){width:9%}
.electricity-table th:nth-child(4),.electricity-table td:nth-child(4){width:12%}
.electricity-table th:nth-child(5),.electricity-table td:nth-child(5){width:8%}
.electricity-table th:nth-child(6),.electricity-table td:nth-child(6){width:8%}
.electricity-table th:nth-child(7),.electricity-table td:nth-child(7){width:7%}
.electricity-table th:nth-child(8),.electricity-table td:nth-child(8){width:8%}
.electricity-table th:nth-child(9),.electricity-table td:nth-child(9){width:7%}
.electricity-table th:nth-child(10),.electricity-table td:nth-child(10),.electricity-table th:nth-child(11),.electricity-table td:nth-child(11){width:5%}
.electricity-table th:nth-child(12),.electricity-table td:nth-child(12){width:7%}
.electricity-table th:nth-child(13),.electricity-table td:nth-child(13){width:3%}
.electricity-detail-table th,.electricity-detail-table td{overflow-wrap:normal;word-break:normal}
.electricity-detail-table th:nth-child(1),.electricity-detail-table td:nth-child(1){width:8%}
.electricity-detail-table th:nth-child(2),.electricity-detail-table td:nth-child(2){width:13%}
.electricity-detail-table th:nth-child(3),.electricity-detail-table td:nth-child(3){width:14%}
.electricity-detail-table th:nth-child(4),.electricity-detail-table td:nth-child(4),.electricity-detail-table th:nth-child(5),.electricity-detail-table td:nth-child(5){width:9%}
.electricity-detail-table th:nth-child(6),.electricity-detail-table td:nth-child(6){width:8%}
.electricity-detail-table th:nth-child(7),.electricity-detail-table td:nth-child(7){width:9%}
.electricity-detail-table th:nth-child(8),.electricity-detail-table td:nth-child(8){width:12%}
.electricity-detail-table th:nth-child(9),.electricity-detail-table td:nth-child(9),.electricity-detail-table th:nth-child(10),.electricity-detail-table td:nth-child(10){width:9%}

/* Phase 41 - periodic domain baseline */
.kpi-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.parking-table{table-layout:fixed;width:100%}
.parking-table th,.parking-table td{overflow-wrap:normal;word-break:normal}
.parking-table th:nth-child(1),.parking-table td:nth-child(1){width:9%}
.parking-table th:nth-child(2),.parking-table td:nth-child(2){width:12%}
.parking-table th:nth-child(3),.parking-table td:nth-child(3){width:9%}
.parking-table th:nth-child(4),.parking-table td:nth-child(4){width:12%}
.parking-table th:nth-child(5),.parking-table td:nth-child(5){width:8%}
.parking-table th:nth-child(6),.parking-table td:nth-child(6){width:8%}
.parking-table th:nth-child(7),.parking-table td:nth-child(7){width:7%}
.parking-table th:nth-child(8),.parking-table td:nth-child(8){width:8%}
.parking-table th:nth-child(9),.parking-table td:nth-child(9){width:7%}
.parking-table th:nth-child(10),.parking-table td:nth-child(10),.parking-table th:nth-child(11),.parking-table td:nth-child(11){width:5%}
.parking-table th:nth-child(12),.parking-table td:nth-child(12){width:7%}
.parking-table th:nth-child(13),.parking-table td:nth-child(13){width:3%}
.parking-detail-table{table-layout:fixed;width:100%}
.parking-detail-table th,.parking-detail-table td{overflow-wrap:normal;word-break:normal}
.parking-detail-table th:nth-child(1),.parking-detail-table td:nth-child(1){width:8%}
.parking-detail-table th:nth-child(2),.parking-detail-table td:nth-child(2){width:13%}
.parking-detail-table th:nth-child(3),.parking-detail-table td:nth-child(3){width:9%}
.parking-detail-table th:nth-child(4),.parking-detail-table td:nth-child(4),.parking-detail-table th:nth-child(5),.parking-detail-table td:nth-child(5){width:9%}
.parking-detail-table th:nth-child(6),.parking-detail-table td:nth-child(6){width:8%}
.parking-detail-table th:nth-child(7),.parking-detail-table td:nth-child(7){width:9%}
.parking-detail-table th:nth-child(8),.parking-detail-table td:nth-child(8){width:16%}
.parking-detail-table th:nth-child(9),.parking-detail-table td:nth-child(9),.parking-detail-table th:nth-child(10),.parking-detail-table td:nth-child(10){width:9.5%}
@media(max-width:900px){.kpi-grid.three{grid-template-columns:1fr}}


/* Phase 42 - PBJT Kesenian dan Hiburan follows the approved compact baseline. */
.entertainment-table{table-layout:fixed;width:100%}
.entertainment-table th,.entertainment-table td{overflow-wrap:normal;word-break:normal}
.entertainment-table th:nth-child(1),.entertainment-table td:nth-child(1){width:9%}
.entertainment-table th:nth-child(2),.entertainment-table td:nth-child(2){width:12%}
.entertainment-table th:nth-child(3),.entertainment-table td:nth-child(3){width:9%}
.entertainment-table th:nth-child(4),.entertainment-table td:nth-child(4){width:12%}
.entertainment-table th:nth-child(5),.entertainment-table td:nth-child(5){width:8%}
.entertainment-table th:nth-child(6),.entertainment-table td:nth-child(6){width:8%}
.entertainment-table th:nth-child(7),.entertainment-table td:nth-child(7){width:7%}
.entertainment-table th:nth-child(8),.entertainment-table td:nth-child(8){width:8%}
.entertainment-table th:nth-child(9),.entertainment-table td:nth-child(9){width:7%}
.entertainment-table th:nth-child(10),.entertainment-table td:nth-child(10),.entertainment-table th:nth-child(11),.entertainment-table td:nth-child(11){width:5%}
.entertainment-table th:nth-child(12),.entertainment-table td:nth-child(12){width:7%}
.entertainment-table th:nth-child(13),.entertainment-table td:nth-child(13){width:3%}
.entertainment-detail-table{table-layout:fixed;width:100%}
.entertainment-detail-table th,.entertainment-detail-table td{overflow-wrap:normal;word-break:normal}
.entertainment-detail-table th:nth-child(1),.entertainment-detail-table td:nth-child(1){width:8%}
.entertainment-detail-table th:nth-child(2),.entertainment-detail-table td:nth-child(2){width:13%}
.entertainment-detail-table th:nth-child(3),.entertainment-detail-table td:nth-child(3){width:9%}
.entertainment-detail-table th:nth-child(4),.entertainment-detail-table td:nth-child(4),.entertainment-detail-table th:nth-child(5),.entertainment-detail-table td:nth-child(5){width:9%}
.entertainment-detail-table th:nth-child(6),.entertainment-detail-table td:nth-child(6){width:8%}
.entertainment-detail-table th:nth-child(7),.entertainment-detail-table td:nth-child(7){width:9%}
.entertainment-detail-table th:nth-child(8),.entertainment-detail-table td:nth-child(8){width:16%}
.entertainment-detail-table th:nth-child(9),.entertainment-detail-table td:nth-child(9),.entertainment-detail-table th:nth-child(10),.entertainment-detail-table td:nth-child(10){width:9.5%}

/* Phase 43 - Pajak Reklame follows the approved compact population baseline. */
.reklame-table{table-layout:fixed;width:100%}
.reklame-table th,.reklame-table td{overflow-wrap:normal;word-break:normal}
.reklame-table th:nth-child(1),.reklame-table td:nth-child(1){width:9%}
.reklame-table th:nth-child(2),.reklame-table td:nth-child(2){width:12%}
.reklame-table th:nth-child(3),.reklame-table td:nth-child(3){width:9%}
.reklame-table th:nth-child(4),.reklame-table td:nth-child(4){width:12%}
.reklame-table th:nth-child(5),.reklame-table td:nth-child(5){width:8%}
.reklame-table th:nth-child(6),.reklame-table td:nth-child(6){width:8%}
.reklame-table th:nth-child(7),.reklame-table td:nth-child(7){width:7%}
.reklame-table th:nth-child(8),.reklame-table td:nth-child(8){width:9%}
.reklame-table th:nth-child(9),.reklame-table td:nth-child(9){width:7%}
.reklame-table th:nth-child(10),.reklame-table td:nth-child(10),.reklame-table th:nth-child(11),.reklame-table td:nth-child(11){width:5%}
.reklame-table th:nth-child(12),.reklame-table td:nth-child(12){width:6%}
.reklame-table th:nth-child(13),.reklame-table td:nth-child(13){width:3%}
.reklame-detail-table{table-layout:fixed;width:100%}
.reklame-detail-table th,.reklame-detail-table td{overflow-wrap:normal;word-break:normal}
.reklame-detail-table th:nth-child(1),.reklame-detail-table td:nth-child(1){width:7%}
.reklame-detail-table th:nth-child(2),.reklame-detail-table td:nth-child(2){width:8%}
.reklame-detail-table th:nth-child(3),.reklame-detail-table td:nth-child(3){width:11%}
.reklame-detail-table th:nth-child(4),.reklame-detail-table td:nth-child(4){width:14%}
.reklame-detail-table th:nth-child(5),.reklame-detail-table td:nth-child(5),.reklame-detail-table th:nth-child(6),.reklame-detail-table td:nth-child(6){width:8%}
.reklame-detail-table th:nth-child(7),.reklame-detail-table td:nth-child(7){width:7%}
.reklame-detail-table th:nth-child(8),.reklame-detail-table td:nth-child(8){width:8%}
.reklame-detail-table th:nth-child(9),.reklame-detail-table td:nth-child(9){width:13%}
.reklame-detail-table th:nth-child(10),.reklame-detail-table td:nth-child(10),.reklame-detail-table th:nth-child(11),.reklame-detail-table td:nth-child(11){width:8%}

/* Phase 46 - MBLB population + live two-source detail, compact baseline. */
.mblb-population-table{table-layout:fixed;width:100%}
.mblb-population-table th,.mblb-population-table td{overflow-wrap:normal;word-break:normal}
.mblb-population-table th:nth-child(1),.mblb-population-table td:nth-child(1){width:9%}
.mblb-population-table th:nth-child(2),.mblb-population-table td:nth-child(2){width:13%}
.mblb-population-table th:nth-child(3),.mblb-population-table td:nth-child(3){width:9%}
.mblb-population-table th:nth-child(4),.mblb-population-table td:nth-child(4){width:13%}
.mblb-population-table th:nth-child(5),.mblb-population-table td:nth-child(5),.mblb-population-table th:nth-child(6),.mblb-population-table td:nth-child(6){width:8%}
.mblb-population-table th:nth-child(7),.mblb-population-table td:nth-child(7){width:7%}
.mblb-population-table th:nth-child(8),.mblb-population-table td:nth-child(8){width:10%}
.mblb-population-table th:nth-child(9),.mblb-population-table td:nth-child(9),.mblb-population-table th:nth-child(10),.mblb-population-table td:nth-child(10){width:6%}
.mblb-population-table th:nth-child(11),.mblb-population-table td:nth-child(11){width:8%}
.mblb-population-table th:nth-child(12),.mblb-population-table td:nth-child(12){width:3%}
.mblb-detail-table{table-layout:fixed;width:100%}
.mblb-detail-table th,.mblb-detail-table td{overflow-wrap:normal;word-break:normal}

/* Phase 47 - PBB-P2 annual SPPT pilot. */
.pbb-table,.pbb-detail-table{table-layout:fixed;width:100%}
.pbb-table th,.pbb-table td,.pbb-detail-table th,.pbb-detail-table td{overflow-wrap:normal;word-break:normal}
.pbb-table td.num,.pbb-table th.num,.pbb-detail-table td.num,.pbb-detail-table th.num{text-align:center!important}
.pbb-table td:not(.num),.pbb-detail-table td:not(.num){text-align:left}
.pbb-table .mono{font-size:9px}
.pagination-row{display:flex;gap:16px;align-items:center;justify-content:flex-end;padding:10px 2px;font-size:12px}
.pagination-row span{margin-right:auto;color:var(--muted)}

/* Phase 48 - BPHTB event-based pilot. */
.bphtb-table th:nth-child(4),.bphtb-table td:nth-child(4),.bphtb-table th:nth-child(5),.bphtb-table td:nth-child(5),.bphtb-table th:nth-child(6),.bphtb-table td:nth-child(6){text-align:left}
.bphtb-table .num,.bphtb-detail-table .num{text-align:center}

/* Phase 50 - quieter list pages + grouped PBB navigation */
.nav-group{display:grid;gap:2px;margin-top:1px}
.nav-group-label{display:flex;align-items:center;gap:9px;padding:8px 10px 3px;color:#8192a1;font-size:9px;font-weight:900;letter-spacing:.75px;text-transform:uppercase}
.nav-subitems{display:grid;gap:2px;padding-left:10px}
.nav-subitem{padding:8px 10px;font-size:12px}
.nav-subitem.active:before{left:-24px}
.external-mark{margin-left:auto;font-size:10px;color:#91a0ad}
.page-title-actions{display:flex;align-items:center;padding-top:4px}
.compact-link{padding-top:8px;margin-top:-5px}
@media (max-width:760px){
  .nav-group{display:flex;flex:0 0 auto}
  .nav-group-label{display:none}
  .nav-subitems{display:flex;gap:3px;padding-left:0}
  .nav-subitem{padding:10px;white-space:nowrap}
  .page-title-actions{padding-top:0}
}

/* Phase 51 - compact grouped navigation; PBB Harian is the only visible PBB entry. */
.nav-menu-group{display:grid;gap:2px}
.nav-group-toggle{width:100%;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;gap:9px;text-align:left;color:#53697d;font-weight:800;padding:10px;border-radius:9px}
.nav-group-toggle:hover,.nav-group-toggle.active{background:#f6f8fa;color:var(--navy)}
.nav-group-toggle.active .nav-dot{background:var(--red)}
.nav-chevron{margin-left:auto;color:#94a3b0;font-size:13px;transition:transform .15s ease}
.nav-menu-group.open .nav-chevron{transform:rotate(180deg)}
.nav-menu-group>.nav-subitems{display:none;gap:2px;padding:1px 0 3px 16px}
.nav-menu-group.open>.nav-subitems{display:grid}
.nav-menu-group .nav-subitem{padding:7px 10px;font-size:11.5px}
.nav-menu-group .nav-subitem.active:before{left:-30px}
.domain-grid-groups .group-card{align-content:start}
.domain-body p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45}
.card-link-stack{display:grid;gap:0;border-top:1px solid #edf1f4;margin-top:2px}
.card-link-stack .card-link{margin:0;border-top:0;padding-top:8px;padding-bottom:8px}
@media (max-width:760px){
  .nav-menu-group{display:flex;flex:0 0 auto}
  .nav-group-toggle{display:none}
  .nav-menu-group>.nav-subitems,.nav-menu-group.open>.nav-subitems{display:flex;gap:3px;padding:0}
  .nav-menu-group .nav-subitem{padding:10px;white-space:nowrap}
}


/* Phase 53 - compact, balanced home cards; sidebar remains Phase 52. */
.home-section-heading{margin-bottom:10px}
.home-domain-grid{align-items:stretch}
.home-domain-card{
  min-height:150px;
  padding:15px 16px 13px;
  grid-template-rows:auto 1fr auto;
  align-content:stretch;
  row-gap:9px;
}
.home-domain-card .domain-body{align-self:start}
.home-domain-card .domain-type{font-size:8.5px}
.home-domain-card h3{font-size:17px;margin:1px 0 3px}
.home-domain-card p{font-size:10.8px;line-height:1.4;margin:3px 0 0;max-width:34ch}
.home-domain-card .card-link{align-self:end;padding-top:9px;margin-top:0}
@media (max-width:1100px){
  .home-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .home-domain-grid{grid-template-columns:1fr}
  .home-domain-card{min-height:132px}
}

/* Phase 56 - PBB-P2 supervision modules */
.pbb-module-tabs{display:flex;gap:5px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:4px;box-shadow:0 4px 14px rgba(15,47,77,.035)}
.pbb-module-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:7px;text-decoration:none;color:#607488;font-size:10.8px;font-weight:850}
.pbb-module-tabs a:hover{background:#f5f7f9;color:var(--navy)}
.pbb-module-tabs a.active{background:#fff1f2;color:var(--red)}
.pbb-filter-grid{grid-template-columns:1.05fr 1.3fr 1.3fr auto}
.pbb-debt-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.pbb-kpi-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.pbb-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.compact-table th,.compact-table td{padding-top:6px!important;padding-bottom:6px!important}
.source-note{margin-top:10px;padding:10px 12px;border:1px solid #dbe5ee;border-radius:10px;background:#f8fbfd;color:#6b7d8e;font-size:10.5px}
@media(max-width:1100px){.pbb-kpi-four{grid-template-columns:repeat(2,minmax(0,1fr))}.pbb-debt-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.pbb-module-tabs{width:100%}.pbb-module-tabs a{flex:1}.pbb-filter-grid,.pbb-debt-filter-grid{grid-template-columns:1fr}.pbb-kpi-four{grid-template-columns:repeat(2,minmax(0,1fr))}.pbb-two-col{grid-template-columns:1fr}}
@media(max-width:430px){.pbb-kpi-four{grid-template-columns:1fr}}
/* Phase 56.6 - PBB Piutang parity with proven legacy module */
.pbb-debt-period-grid{grid-template-columns:minmax(150px,220px) minmax(150px,220px) minmax(190px,240px);align-items:end}
.pbb-debt-kpi-six{grid-template-columns:repeat(3,minmax(0,1fr))}
.pbb-detail-count{margin:.45rem 0 .65rem}
@media(max-width:1100px){.pbb-debt-kpi-six{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.pbb-debt-period-grid,.pbb-debt-kpi-six{grid-template-columns:1fr}}

/* Phase 57 - restore legacy Dashboard + Pra-Pengawasan as web workspaces */
.dashboard-kpis{margin-top:2px}
.dashboard-two-column{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.dashboard-two-column .panel{min-width:0}
.dashboard-table th.num,.dashboard-table td.num,
.compact-summary-table th.num,.compact-summary-table td.num,
.dashboard-priority-table th.num,.dashboard-priority-table td.num,
.pra-realization-table th.num,.pra-realization-table td.num,
.pra-supervision-table th.num,.pra-supervision-table td.num,
.pra-region-table th.num,.pra-region-table td.num{text-align:center!important}
.dashboard-system-strip{margin-top:0;margin-bottom:18px}
.pra-filter-grid{grid-template-columns:minmax(180px,240px) 100px;justify-content:start}
.summary-parent-row td{font-weight:800;background:#f4f7fa}
@media(max-width:980px){
  .dashboard-two-column{grid-template-columns:1fr}
  .dashboard-kpis.kpi-grid.five,.kpi-grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .dashboard-kpis.kpi-grid.five,.kpi-grid.five{grid-template-columns:1fr}
  .pra-filter-grid{grid-template-columns:1fr}
}

/* Phase 57.4: dashboard PBJT stays one main tax type, with five visual subtypes. */
.compact-summary-table .dashboard-parent-domain-row td {
  font-weight: 700;
}
.compact-summary-table .dashboard-subdomain-row td {
  font-size: 0.94em;
}
.compact-summary-table .dashboard-subdomain-label {
  display: inline-block;
  padding-left: 0.85rem;
}

.compact-summary-table .dashboard-total-row td {
  font-weight: 700;
  background: #f4f7fa;
}

/* Phase 57.6: simple application footer. */
.app-stage{display:flex;flex-direction:column;min-height:100vh}
.app-content{width:100%;padding-bottom:96px}
.app-footer{position:fixed;left:218px;right:0;bottom:0;height:58px;z-index:20;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--bg);border-top:1px solid var(--line);color:var(--muted);font-size:10.5px;font-weight:700;letter-spacing:.15px;pointer-events:none}
@media(max-width:1100px) and (min-width:761px){.app-footer{left:188px}}
@media(max-width:760px){.app-content{padding-bottom:28px}.app-footer{position:static;height:auto;padding:10px 12px 16px;border-top:1px solid var(--line);font-size:10px}}


/* Phase 58.0 - Profil WP 360 web parity. */
.profile-search-grid{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.profile-search-grid .span-2{grid-column:auto}
.profile-search-table th:nth-child(1),.profile-search-table td:nth-child(1){width:12%}
.profile-search-table th:nth-child(2),.profile-search-table td:nth-child(2){width:15%}
.profile-search-table th:nth-child(3),.profile-search-table td:nth-child(3){width:12%}
.profile-search-table th:nth-child(4),.profile-search-table td:nth-child(4){width:23%}
.profile-search-table th:nth-child(5),.profile-search-table td:nth-child(5){width:10%}
.profile-search-table th:nth-child(6),.profile-search-table td:nth-child(6){width:6%}
.profile-search-table th:nth-child(7),.profile-search-table td:nth-child(7){width:13%}
.profile-search-table th:nth-child(8),.profile-search-table td:nth-child(8){width:9%}
.profile-summary-card{grid-template-columns:minmax(230px,.75fr) minmax(0,2.25fr)}
.profile-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.profile-counts{max-width:620px}
.profile-tabbar{position:static}
.profile-table-scroll{overflow-x:auto!important;overflow-y:visible!important}
.profile-wide-table{min-width:1180px!important;width:1180px!important;max-width:none!important;table-layout:auto!important}
.profile-wide-table th,.profile-wide-table td{max-width:none!important;white-space:normal!important;overflow:visible!important;word-break:normal!important}
.profile-object-table{min-width:1120px!important;width:1120px!important}
.profile-obligation-table{min-width:1500px!important;width:1500px!important}
.profile-payment-table{min-width:1180px!important;width:1180px!important}
.profile-readonly-note{margin:-4px 0 14px;border:1px solid var(--line);border-radius:10px;background:#fff}
@media(max-width:760px){
  .profile-search-grid{grid-template-columns:1fr}
  .profile-search-grid .filter-actions,.profile-search-grid .primary-button{width:100%}
  .profile-meta-grid{grid-template-columns:1fr}
  .profile-counts{max-width:none}
  .profile-tabbar{overflow-x:auto;white-space:nowrap}
}

/* Phase 59.0 - Buku Kendali WP web parity */
.buku-kendali-filter-grid{grid-template-columns:110px minmax(140px,1fr) minmax(140px,1fr) minmax(180px,1.15fr) minmax(220px,1.6fr) minmax(128px,max-content);align-items:end}
.buku-kendali-filter-grid .span-2{grid-column:auto}
.buku-kendali-filter-grid .filter-actions{display:flex;align-items:end;min-width:128px}
.buku-kendali-filter-grid .primary-button{width:100%;white-space:nowrap}
.buku-kendali-list-scroll,.buku-kendali-detail-scroll{overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.buku-kendali-list-table{min-width:1480px!important}
.buku-kendali-detail-table{min-width:1180px!important}
.buku-kendali-list-table .selected-row td{background:#f4f7fa}
.buku-kendali-summary{margin-top:14px}
@media(max-width:1100px){.buku-kendali-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.buku-kendali-filter-grid .filter-actions{grid-column:span 2}}
@media(max-width:760px){.buku-kendali-filter-grid{grid-template-columns:1fr;gap:12px}.buku-kendali-filter-grid .filter-actions{grid-column:auto;min-width:0}.buku-kendali-filter-grid .primary-button{width:100%}.buku-kendali-list-table{min-width:1180px!important}.buku-kendali-detail-table{min-width:1040px!important}.buku-kendali-list-scroll,.buku-kendali-detail-scroll{margin-left:-12px;margin-right:-12px;padding:0 12px}}

/* Phase 60.0 - Pengawasan lintas domain web workspace */
.supervision-filter-grid{grid-template-columns:minmax(0,1.35fr) 110px minmax(0,.95fr) minmax(0,1.05fr) minmax(180px,1.35fr);align-items:end}
.supervision-filter-grid>*{min-width:0}
.supervision-filter-grid .filter-actions{grid-column:1/-1;display:flex;align-items:end;justify-content:flex-end;width:100%;min-width:0}
.supervision-filter-grid .primary-button{width:124px;min-width:124px;white-space:nowrap}
.supervision-list-table{min-width:1420px}.detail-facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px}.detail-facts-grid>div,.case-note-grid>div{background:#f7f9fb;border:1px solid #e0e7ee;border-radius:12px;padding:14px}.detail-facts-grid span,.case-note-grid span{display:block;font-size:.78rem;font-weight:800;color:#60758b;text-transform:uppercase;margin-bottom:6px}.case-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px}.case-note-grid p{margin:0;white-space:pre-wrap}.detail-action-row{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:1100px){.supervision-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.supervision-filter-grid .filter-actions{grid-column:1/-1}.detail-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-note-grid{grid-template-columns:1fr}}
@media(max-width:760px){.supervision-filter-grid{grid-template-columns:1fr}.supervision-filter-grid .filter-actions{grid-column:1/-1}.supervision-filter-grid .primary-button{width:100%;min-width:0}.detail-facts-grid{grid-template-columns:1fr}.detail-action-row{width:100%}.detail-action-row .secondary-button{width:100%;text-align:center}}

/* Phase 60.1 - clean Pengawasan detail presentation */
.detail-facts-grid strong{display:block;line-height:1.35;overflow-wrap:anywhere}
.evidence-summary-list{margin:0;padding-left:1.15rem;display:grid;gap:6px}
.evidence-summary-list li{line-height:1.4}

/* Phase 60.2 - supervision detail render/cache hardening */
.detail-facts-grid>div,.case-note-grid>div{min-width:0}
.detail-facts-grid strong,.case-note-grid p,.evidence-summary-list{overflow-wrap:anywhere}
.evidence-summary-list{margin:0;padding-left:1.15rem}
.evidence-summary-list li+li{margin-top:.35rem}
@media(max-width:760px){.case-note-grid{padding:12px}.detail-facts-grid{padding:12px}}

/* Phase 60.5 - force Pengawasan submit action onto its own row. */
.supervision-filter-grid .supervision-filter-actions{
  grid-column:1 / -1 !important;
  grid-row:auto !important;
  justify-self:stretch;
  display:flex !important;
  justify-content:flex-end !important;
  width:100% !important;
  min-width:0 !important;
  margin-top:2px;
}
.supervision-filter-grid .supervision-filter-actions .primary-button{
  flex:0 0 124px;
  width:124px !important;
  min-width:124px !important;
  white-space:nowrap;
}
@media(max-width:760px){
  .supervision-filter-grid .supervision-filter-actions .primary-button{
    flex:1 1 auto;
    width:100% !important;
    min-width:0 !important;
  }
}

/* Phase 61.0 - Pemeriksaan & Tindak Lanjut inside Pengawasan case detail */
.supervision-workflow-form{margin:0 16px 16px}
.supervision-workflow-success{margin:0 16px 14px}
.supervision-workflow-history{margin:0 16px 16px}
.supervision-workflow-history .table-scroll{border:1px solid var(--line);border-radius:10px}
.supervision-workflow-history table{min-width:1180px}
.supervision-workflow-history h3{margin-top:2px}
@media(max-width:760px){.supervision-workflow-form,.supervision-workflow-history{margin-left:12px;margin-right:12px}}

/* Phase 61.1 - contextual workflow fields */
.supervision-workflow-form [hidden]{display:none!important}


/* Phase 61.2 - compact final-workflow sidebar structure. */
.nav-primary-group{margin-top:1px}
.nav-primary-group>.nav-group-toggle{font-weight:800}
.nav-domain-items{padding-left:10px!important}
.nav-nested-group{margin:0}
.nav-nested-group>.nav-subgroup-toggle{
  padding:8px 10px;
  font-size:11.5px;
  color:#53697d;
}
.nav-nested-group>.nav-subgroup-toggle.active{background:#f6f8fa;color:var(--navy)}
.nav-nested-group>.nav-subitems{display:none;gap:2px;padding:1px 0 3px 12px!important}
.nav-nested-group.open>.nav-subitems{display:grid}
.nav-nested-group>.nav-subitems .nav-subitem{font-size:11px;padding:6px 10px}
@media(max-width:760px){
  .nav-primary-group{display:flex;flex:0 0 auto}
  .nav-primary-group>.nav-group-toggle{display:none}
  .nav-primary-group>.nav-subitems,.nav-primary-group.open>.nav-subitems{display:flex;gap:3px;padding:0!important}
  .nav-domain-items>.nav-item{padding:10px;white-space:nowrap}
  .nav-nested-group{display:flex;flex:0 0 auto}
  .nav-nested-group>.nav-subgroup-toggle{display:none}
  .nav-nested-group>.nav-subitems,.nav-nested-group.open>.nav-subitems{display:flex;gap:3px;padding:0!important}
  .nav-nested-group>.nav-subitems .nav-subitem{padding:10px;white-space:nowrap;font-size:12px}
}

/* Phase 62.0 - Eviden MCSP web parity */
.evidence-filter-grid{grid-template-columns:minmax(230px,1.4fr) 110px minmax(180px,1fr) minmax(260px,1.6fr) auto;align-items:end}
.evidence-table{min-width:1250px}
.evidence-draft-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 14px 12px}
.evidence-draft-grid label{display:flex;flex-direction:column;gap:6px}.evidence-draft-grid input{width:100%}
.panel-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 14px 14px;flex-wrap:wrap}.evidence-export-actions{justify-content:flex-start;padding-top:12px}
@media(max-width:1100px){.evidence-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-filter-grid .filter-actions{grid-column:1/-1}.evidence-draft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.evidence-filter-grid,.evidence-draft-grid{grid-template-columns:1fr}.evidence-filter-grid .filter-actions,.evidence-filter-grid .primary-button{width:100%}.evidence-table{min-width:1100px}.evidence-export-actions .secondary-button{width:100%;text-align:center}}

/* Phase 62.5 - Eviden MCSP filter without redundant visible labels. */
.evidence-filter-grid .field-only{display:block;margin:0}
.evidence-filter-grid .field-only>select,.evidence-filter-grid .field-only>input{width:100%;margin:0}



/* Phase 62.7 - seragamkan filter agar lebih ringkas tanpa label atas berulang. */
.pbjt-filter-grid label,
.profile-search-grid label,
.supervision-filter-grid label,
.buku-kendali-filter-grid label,
.evidence-filter-grid label,
.pra-filter-grid label,
.pbb-filter-grid label,
.pbb-debt-period-grid label,
.pbb-debt-filter-grid label,
.mblb-filter label{
  gap:0;
  font-size:0;
  color:transparent;
}
.pbjt-filter-grid label input,
.pbjt-filter-grid label select,
.profile-search-grid label input,
.profile-search-grid label select,
.supervision-filter-grid label input,
.supervision-filter-grid label select,
.buku-kendali-filter-grid label input,
.buku-kendali-filter-grid label select,
.evidence-filter-grid label input,
.evidence-filter-grid label select,
.pra-filter-grid label input,
.pra-filter-grid label select,
.pbb-filter-grid label input,
.pbb-filter-grid label select,
.pbb-debt-period-grid label input,
.pbb-debt-period-grid label select,
.pbb-debt-filter-grid label input,
.pbb-debt-filter-grid label select,
.mblb-filter label input,
.mblb-filter label select{
  font-size:14px;
  color:var(--text);
}

/* Phase 62.6 - center Eviden MCSP compact filter row. */
.evidence-filter-grid{
  grid-template-columns:minmax(230px,330px) 110px minmax(180px,220px) minmax(260px,380px) auto;
  justify-content:center;
  max-width:1120px;
  margin:0 auto;
}
.evidence-filter-grid .filter-actions{justify-content:center}
@media(max-width:1100px){
  .evidence-filter-grid{
    max-width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .evidence-filter-grid .filter-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:760px){
  .evidence-filter-grid{
    max-width:100%;
    grid-template-columns:1fr;
  }
  .evidence-filter-grid .filter-actions,.evidence-filter-grid .primary-button{width:100%}
}


/* Phase 62.7b - unified compact filter controls across all current web workspaces. */
.filter-panel .filter-grid label,
.pbb-debt-filter-grid label,
.population-filter label{
  gap:0!important;
  font-size:0!important;
  color:transparent!important;
}
.population-filter label>span{display:none!important}
.filter-panel .filter-grid label input,
.filter-panel .filter-grid label select,
.pbb-debt-filter-grid label input,
.pbb-debt-filter-grid label select,
.population-filter label input,
.population-filter label select{
  font-size:14px!important;
  color:var(--text)!important;
}
.filter-actions{justify-content:flex-end}
.filter-actions .primary-button,
.filter-actions .filter-submit{
  min-width:124px;
  white-space:nowrap;
}
.population-filter{
  display:grid;
  grid-template-columns:minmax(260px,1.7fr) minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) 110px auto;
  gap:10px;
  align-items:end;
  padding:16px 18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:var(--shadow);
}
.population-filter>*{min-width:0}
.population-filter .filter-actions{min-width:124px}
.population-filter .filter-submit{width:100%;background:var(--navy);border-color:var(--navy);color:#fff}
.population-filter .filter-submit:hover{background:var(--navy-2);border-color:var(--navy-2)}
@media(max-width:1100px){
  .population-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
  .population-filter .filter-actions{grid-column:1/-1}
}
@media(max-width:760px){
  .population-filter{grid-template-columns:1fr;padding:12px}
  .population-filter .filter-actions{grid-column:auto;min-width:0}
  .population-filter .filter-submit{width:100%}
  .filter-actions .primary-button,.filter-actions .filter-submit{width:100%;min-width:0}
}


/* Phase 62.9 - Eviden MCSP mengikuti pola panel filter global. */
.evidence-filter-grid{
  padding-top:0;
  padding-bottom:16px;
  align-items:center;
}

/* Phase 63.0 - Realisasi Penerimaan web parity. */
.realization-filter-grid{grid-template-columns:minmax(180px,220px) minmax(200px,260px) auto;justify-content:start;align-items:center}
.realization-filter-grid label{font-size:0!important;color:transparent!important;gap:0!important}
.realization-filter-grid label input,.realization-filter-grid label select{font-size:14px!important;color:var(--text)!important}
.realization-table{min-width:980px}
.realization-subrow td:nth-child(2){padding-left:30px}
.realization-technical-row td{background:#fafbfd;color:#526a80}
.realization-actions{justify-content:flex-end;padding-top:12px}
@media(max-width:760px){.realization-filter-grid{grid-template-columns:1fr}.realization-filter-grid .filter-actions,.realization-filter-grid .primary-button{width:100%}.realization-actions .secondary-button{width:100%}}

/* Phase 63.1 - format tanggal Indonesia dan aturan perataan tabel realisasi. */
.realization-table th:first-child,.realization-table td:first-child{width:54px;text-align:center!important}
.realization-table th:nth-child(2),.realization-table td:nth-child(2){text-align:left!important}
.realization-filter-grid input[name="as_of"]{text-align:center}


/* Phase 63.2 - tampilan denda aplikasi mengikuti kualitas PDF. */
.penalty-kpis{margin-top:18px}
.realization-penalty-panel{margin-top:18px}
.realization-penalty-table{min-width:820px}
.realization-penalty-table .penalty-kind{font-weight:700;color:var(--navy)}
.realization-penalty-table .dashboard-total-row td{background:#f4f7fa;font-weight:800}
.realization-grand-total-row td{background:#eef5fb;font-weight:900;color:var(--navy)}
.realization-grand-total-row td:first-child{background:#eef5fb}
@media(max-width:760px){
  .penalty-kpis{grid-template-columns:1fr}
  .realization-penalty-table{min-width:700px}
}


/* Phase 63.3 - polish tabel utama Realisasi Penerimaan mengikuti nuansa PDF resmi. */
.realization-main-panel{margin-bottom:18px}
.realization-position{display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.25}
.realization-position strong{font-size:10.5px;color:var(--navy)}
.realization-position span{font-size:10px;color:var(--muted)}
.realization-main-table{min-width:1040px;table-layout:fixed}
.realization-main-table th{background:#edf3f7;border-bottom:1px solid #cfdbe4;color:#415d76;font-weight:900}
.realization-main-table th:nth-child(1),.realization-main-table td:nth-child(1){width:6%;text-align:center!important}
.realization-main-table th:nth-child(2),.realization-main-table td:nth-child(2){width:25%;text-align:left!important}
.realization-main-table th:nth-child(3),.realization-main-table td:nth-child(3){width:17%;text-align:center!important}
.realization-main-table th:nth-child(4),.realization-main-table td:nth-child(4){width:17%;text-align:center!important}
.realization-main-table th:nth-child(5),.realization-main-table td:nth-child(5){width:12%;text-align:center!important}
.realization-main-table th:nth-child(6),.realization-main-table td:nth-child(6){width:23%;text-align:center!important}
.realization-main-table tbody td{padding-top:9px;padding-bottom:9px}
.realization-main-table .dashboard-total-row td{background:#eaf1f6;font-weight:900;color:var(--navy);border-top:1px solid #c4d2dd}
.realization-main-table .realization-subrow td:nth-child(2){padding-left:28px;color:#526a80}
.realization-main-table tbody tr:not(.dashboard-total-row):hover td{background:#f8fbfd}
@media(max-width:760px){
  .realization-position{align-items:flex-start}
  .realization-main-table{min-width:900px}
}


/* Phase 63.4 - Kelola Target tahunan pada Realisasi Penerimaan. */
.target-entry-form{padding:0 18px 16px}
.target-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.target-entry-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;color:#526a80}
.target-entry-grid input,.target-entry-grid select,.target-entry-grid textarea{width:100%;border:1px solid var(--line-2);border-radius:8px;background:#fff;padding:10px;color:var(--text);font:inherit;box-sizing:border-box}
.target-entry-grid input,.target-entry-grid select{height:42px}
.target-entry-grid textarea{resize:vertical;min-height:72px}
.target-wide{grid-column:1/-1}
.target-entry-note{margin-top:12px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;color:var(--muted);font-size:10.5px}
.target-history-table{min-width:1450px}
.target-history-table th:nth-child(1),.target-history-table td:nth-child(1){width:5%}
.target-history-table th:nth-child(2),.target-history-table td:nth-child(2){width:16%}
.target-history-table th:nth-child(3),.target-history-table td:nth-child(3),.target-history-table th:nth-child(4),.target-history-table td:nth-child(4){width:11%}
@media(max-width:760px){.target-entry-grid{grid-template-columns:1fr}.target-wide{grid-column:auto}.target-entry-form{padding:0 12px 14px}}

/* Phase 63.5 - rapikan form Kelola Target + cache hardening. */
.target-entry-form{padding:0 20px 18px}
.target-entry-grid{display:grid!important;grid-template-columns:160px minmax(300px,1.35fr) minmax(220px,.85fr);gap:14px 16px;align-items:end}
.target-entry-grid label{display:flex!important;flex-direction:column!important;gap:7px!important;font-size:11px!important;font-weight:800!important;color:#526a80!important;min-width:0}
.target-entry-grid input,.target-entry-grid select,.target-entry-grid textarea{display:block!important;width:100%!important;box-sizing:border-box!important;border:1px solid var(--line-2)!important;border-radius:9px!important;background:#fff!important;color:var(--text)!important;font:inherit!important}
.target-entry-grid input,.target-entry-grid select{height:42px!important;padding:0 11px!important}
.target-entry-grid textarea{padding:10px 11px!important;resize:vertical!important;min-height:80px!important}
.target-field-year{grid-column:1}
.target-field-kind{grid-column:2}
.target-field-amount{grid-column:3}
.target-field-date{grid-column:1}
.target-field-stage{grid-column:2}
.target-field-doc{grid-column:3}
.target-wide{grid-column:1/-1!important}
.target-entry-note{margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;color:var(--muted);font-size:10.5px}
.target-entry-panel .panel-actions{padding:0 20px 18px}
.target-entry-panel .panel-actions .primary-button{min-width:150px}
@media(max-width:1100px){.target-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.target-field-year,.target-field-kind,.target-field-amount,.target-field-date,.target-field-stage,.target-field-doc{grid-column:auto}}
@media(max-width:760px){.target-entry-form{padding:0 12px 14px}.target-entry-grid{grid-template-columns:1fr}.target-wide{grid-column:auto!important}.target-entry-panel .panel-actions{padding:0 12px 14px}.target-entry-panel .panel-actions .primary-button{width:100%}}

/* Phase 63.6 - alasan perubahan target dibuat ringkas, keterangan tetap luas. */
.target-reason{grid-column:1!important;align-self:start}
.target-notes{grid-column:2/4!important;align-self:start}
.target-reason textarea{min-height:68px!important;max-height:110px}
.target-notes textarea{min-height:68px!important}
@media(max-width:1100px){
  .target-reason{grid-column:1!important}
  .target-notes{grid-column:2!important}
}
@media(max-width:760px){
  .target-reason,.target-notes{grid-column:auto!important}
}


/* Phase 64.0 - Analitik SIPD web workspace. */
.sipd-filter-grid{grid-template-columns:110px minmax(160px,190px) minmax(260px,1fr) minmax(300px,1.2fr) auto;align-items:center}
.sipd-filter-grid label{font-size:0!important;color:transparent!important;gap:0!important}
.sipd-filter-grid label input,.sipd-filter-grid label select{font-size:14px!important;color:var(--text)!important}
.sipd-summary-table{min-width:1040px}
.sipd-breakdown-table{min-width:1180px}
.sipd-detail-table{min-width:1650px}
.sipd-summary-table td:first-child,.sipd-breakdown-table td:nth-child(-n+3),.sipd-detail-table td:nth-child(-n+5),.sipd-detail-table td:last-child{text-align:left}
@media(max-width:1100px){.sipd-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sipd-filter-grid .filter-actions{grid-column:1/-1}}
@media(max-width:760px){.sipd-filter-grid{grid-template-columns:1fr}.sipd-filter-grid .filter-actions,.sipd-filter-grid .primary-button{width:100%}.sipd-kpis.kpi-grid.five{grid-template-columns:1fr}}


/* Phase 64.2 - SIPD filter satu baris dan label periode KPI yang jelas. */
.sipd-filter-grid{grid-template-columns:110px minmax(160px,190px) minmax(250px,1fr) minmax(300px,1.25fr) auto;align-items:center}
.sipd-filter-grid .filter-actions{grid-column:auto;justify-content:flex-end;min-width:118px}
.sipd-filter-grid .primary-button{min-width:118px}
@media(max-width:1100px){
  .sipd-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sipd-filter-grid .filter-actions{grid-column:1/-1}
}
@media(max-width:760px){
  .sipd-filter-grid{grid-template-columns:1fr}
  .sipd-filter-grid .filter-actions,.sipd-filter-grid .primary-button{width:100%;min-width:0}
}


/* Phase 64.3 - filter Analitik SIPD tetap utuh di dalam panel desktop. */
.sipd-filter-grid{
  width:100%;
  box-sizing:border-box;
  grid-template-columns:110px 170px minmax(230px,300px) minmax(260px,1fr) 124px;
  gap:10px;
  align-items:center;
}
.sipd-filter-grid .filter-actions{
  grid-column:auto;
  min-width:0;
  width:124px;
  justify-content:flex-end;
}
.sipd-filter-grid .primary-button{
  width:124px;
  min-width:124px;
  padding-left:12px;
  padding-right:12px;
}
@media(max-width:1250px){
  .sipd-filter-grid{
    grid-template-columns:100px 150px minmax(210px,260px) minmax(220px,1fr) 118px;
  }
  .sipd-filter-grid .filter-actions,.sipd-filter-grid .primary-button{width:118px;min-width:118px}
}
@media(max-width:1100px){
  .sipd-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sipd-filter-grid .filter-actions{grid-column:1/-1;width:auto;justify-content:flex-end}
  .sipd-filter-grid .primary-button{width:118px;min-width:118px}
}
@media(max-width:760px){
  .sipd-filter-grid{grid-template-columns:1fr}
  .sipd-filter-grid .filter-actions,.sipd-filter-grid .primary-button{width:100%;min-width:0}
}

/* Phase 64.4 - Import PDF SIPD sebagai aksi halaman, bukan menu sidebar baru. */
.sipd-import-action{display:flex;align-items:center;justify-content:flex-end}
.sipd-import-action .secondary-button{min-width:132px}
.sipd-import-action .secondary-button:disabled{opacity:.65;cursor:wait}
@media(max-width:760px){.sipd-import-action,.sipd-import-action .secondary-button{width:100%}}

/* Phase 65.0 - parity Analitik eBPHTB tanpa menambah menu baru. */
.domain-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:8px 0 12px}
@media(max-width:760px){.domain-toolbar .secondary-button{width:100%}}


/* Phase 65.1 - BPHTB filter layout parity and compact actions. */
.bphtb-filter-grid{
  display:grid;
  grid-template-columns:minmax(260px,1.7fr) minmax(170px,1fr) minmax(170px,1fr) minmax(160px,.9fr) 150px 150px 100px auto;
  gap:10px;
  align-items:center;
}
.bphtb-filter-grid label{gap:0!important;font-size:0!important;color:transparent!important;min-width:0}
.bphtb-filter-grid label>span{display:none!important}
.bphtb-filter-grid label input,.bphtb-filter-grid label select{font-size:14px!important;color:var(--text)!important;width:100%;min-width:0}
.bphtb-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;white-space:nowrap}
.bphtb-actions .primary-button,.bphtb-actions .secondary-button{min-width:112px;height:44px}
.bphtb-table th:nth-child(1),.bphtb-table td:nth-child(1),
.bphtb-table th:nth-child(2),.bphtb-table td:nth-child(2),
.bphtb-table th:nth-child(8),.bphtb-table td:nth-child(8),
.bphtb-table th:nth-child(9),.bphtb-table td:nth-child(9),
.bphtb-table th:nth-child(10),.bphtb-table td:nth-child(10),
.bphtb-table th:nth-child(11),.bphtb-table td:nth-child(11){text-align:center}
@media(max-width:1450px){
  .bphtb-filter-grid{grid-template-columns:minmax(240px,1.6fr) minmax(150px,1fr) minmax(150px,1fr) minmax(145px,.9fr);}
  .bphtb-from,.bphtb-to,.bphtb-year,.bphtb-actions{grid-row:2}
  .bphtb-from{grid-column:1}.bphtb-to{grid-column:2}.bphtb-year{grid-column:3}.bphtb-actions{grid-column:4}
}
@media(max-width:900px){
  .bphtb-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bphtb-from,.bphtb-to,.bphtb-year,.bphtb-actions{grid-row:auto;grid-column:auto}
  .bphtb-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:760px){
  .bphtb-filter-grid{grid-template-columns:1fr}
  .bphtb-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}
  .bphtb-actions .primary-button,.bphtb-actions .secondary-button{width:100%}
}

/* Phase 65.3 - BPHTB detail workspace polish. */
.bphtb-detail-section{margin-top:18px}
.bphtb-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 18px 18px}
.bphtb-info-card{min-width:0;border:1px solid var(--line);border-radius:10px;background:#f8fafc;padding:12px 14px;display:flex;flex-direction:column;gap:5px}
.bphtb-info-card span{font-size:9.5px;font-weight:900;letter-spacing:.35px;text-transform:uppercase;color:var(--muted)}
.bphtb-info-card strong{font-size:12.5px;line-height:1.4;color:var(--navy);overflow-wrap:anywhere}
.bphtb-info-card .bphtb-value-center,.bphtb-value-center{text-align:center}
.bphtb-span-2{grid-column:span 2}
.bphtb-detail-table{min-width:980px}
.bphtb-detail-table th,.bphtb-detail-table td{vertical-align:middle}
.bphtb-detail-table th:last-child,.bphtb-detail-table td:last-child{text-align:left}
@media(max-width:1100px){.bphtb-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bphtb-span-2{grid-column:span 2}}
@media(max-width:760px){.bphtb-detail-grid{grid-template-columns:1fr}.bphtb-span-2{grid-column:auto}.bphtb-detail-table{min-width:900px}}


/* Phase 65.5 - MBLB detail lookup + filter layout polish. */
.mblb-population-filter-grid{
  grid-template-columns:minmax(190px,1.15fr) minmax(150px,1fr) minmax(150px,1fr) minmax(155px,.9fr) minmax(170px,1fr) 125px;
  align-items:center;
  column-gap:12px;
  row-gap:12px;
}
.mblb-population-filter-grid .filter-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:2px;
}
.mblb-population-filter-grid .filter-actions .filter-submit,
.mblb-population-filter-grid .filter-actions .secondary-button{
  min-width:145px;
  justify-content:center;
  text-align:center;
}
@media(max-width:1250px){
  .mblb-population-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
  .mblb-population-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .mblb-population-filter-grid{grid-template-columns:1fr}
  .mblb-population-filter-grid .filter-actions{grid-column:auto;flex-direction:column}
  .mblb-population-filter-grid .filter-actions .filter-submit,
  .mblb-population-filter-grid .filter-actions .secondary-button{width:100%}
}


/* Phase 65.6 - MBLB detail object card polish. */
.mblb-object-panel{margin-top:14px}
.mblb-object-grid{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:0}
.mblb-object-grid>div{min-height:64px;display:flex;flex-direction:column;justify-content:center}
.mblb-object-grid strong{font-size:12px}
@media(max-width:1180px){.mblb-object-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.mblb-object-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.mblb-object-grid{grid-template-columns:1fr}}

/* Phase 66.0 - PBB-P2 date and detail UI parity. */
.pbb-detail-panel{overflow:hidden}
.pbb-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 18px 18px}
.pbb-detail-field{background:#f7f9fb;border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-height:76px}
.pbb-detail-field span{display:block;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:7px}
.pbb-detail-field strong{display:block;color:var(--navy);font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.pbb-span-2{grid-column:span 2}
.pbb-filter-grid input[name="selected_date"]{text-align:center}
@media(max-width:1100px){.pbb-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pbb-span-2{grid-column:span 2}}
@media(max-width:760px){.pbb-detail-grid{grid-template-columns:1fr}.pbb-span-2{grid-column:auto}.pbb-detail-table{min-width:900px}}

/* Phase 66.1 - PBB Piutang UI dan export parity. */
.pbb-debt-period-grid{margin-top:12px}
.pbb-debt-actions{display:flex;gap:10px;align-items:stretch}
.pbb-debt-actions .primary-button,.pbb-debt-actions .secondary-button{min-width:150px;justify-content:center}
.pbb-debt-table .table-action{white-space:nowrap}
@media(max-width:760px){.pbb-debt-actions{flex-direction:column}.pbb-debt-actions .primary-button,.pbb-debt-actions .secondary-button{width:100%}}


/* Phase 66.2 - PBB Piutang compact period filter. */
.pbb-debt-period-panel{padding-top:0;overflow:hidden}
.pbb-debt-period-panel>.section-kicker{padding:18px 18px 0;line-height:1.2}
.pbb-debt-period-grid{
  grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(160px,220px);
  gap:12px;
  margin-top:0;
  padding:12px 18px 18px;
  align-items:center;
}
.pbb-debt-period-grid .filter-actions{align-items:center;justify-content:flex-start}
.pbb-debt-period-grid .primary-button{width:100%;min-width:0}
@media(max-width:900px){
  .pbb-debt-period-grid{grid-template-columns:1fr 1fr}
  .pbb-debt-period-grid .filter-actions{grid-column:1 / -1}
  .pbb-debt-period-grid .primary-button{width:100%}
}
@media(max-width:600px){
  .pbb-debt-period-grid{grid-template-columns:1fr}
  .pbb-debt-period-grid .filter-actions{grid-column:auto}
}


/* Phase 67.0 - Opsen PKB/BBNKB UI, detail, tanggal, dan Excel parity. */
.opsen-filter{display:block;padding:18px 22px}
.opsen-filter .section-kicker{margin-bottom:12px}
.opsen-filter-grid{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(180px,.85fr) minmax(130px,.65fr) 150px 140px;gap:12px;align-items:center}
.opsen-filter-grid>*{min-width:0;height:50px}
.opsen-filter-grid .filter-submit,.opsen-filter-grid .secondary-button{display:flex;align-items:center;justify-content:center;width:100%}
.opsen-kpis{margin-top:18px;grid-template-columns:repeat(5,minmax(0,1fr))}
.opsen-table-panel{margin-top:18px}
.opsen-table th,.opsen-table td{vertical-align:middle}
.opsen-detail-card{margin-top:8px}
.opsen-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 20px 20px}
.opsen-detail-grid>div{background:#f7f9fb;border:1px solid var(--line);border-radius:12px;padding:15px 16px}
.opsen-detail-kpis{margin-top:18px}
@media(max-width:1180px){.opsen-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.opsen-filter-grid .filter-submit,.opsen-filter-grid .opsen-excel-button{grid-row:2}.opsen-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.opsen-filter-grid{grid-template-columns:1fr}.opsen-filter-grid .filter-submit,.opsen-filter-grid .opsen-excel-button{grid-row:auto}.opsen-kpis,.opsen-detail-grid{grid-template-columns:1fr}.page-actions{width:100%;display:flex;gap:8px}.page-actions .secondary-button{flex:1}}


/* Phase 67.1 - Opsen filter visual parity. */
.opsen-filter{
  display:block;
  padding:18px 22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
}
.opsen-filter .section-kicker{margin:0 0 12px 2px}
.opsen-filter-grid input,
.opsen-filter-grid select{
  width:100%;
  height:50px;
  border:1px solid var(--line-2);
  border-radius:10px;
  background:#fff;
  color:var(--text);
  padding:0 14px;
  font:inherit;
  font-size:14px;
  font-weight:700;
  box-sizing:border-box;
}
.opsen-filter-grid input::placeholder{color:#718092;font-weight:600}
.opsen-filter-grid input:focus,
.opsen-filter-grid select:focus{outline:none;border-color:#aebfcb;box-shadow:0 0 0 2px rgba(12,53,82,.05)}
.opsen-filter-grid .filter-submit{
  height:50px;
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
  border-radius:10px;
}
.opsen-filter-grid .filter-submit:hover{background:var(--navy-2);border-color:var(--navy-2)}
.opsen-filter-grid .secondary-button{
  height:50px;
  border-radius:10px;
  background:#fff;
}
@media(max-width:1180px){
  .opsen-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .opsen-filter-grid .filter-submit,.opsen-filter-grid .opsen-excel-button{grid-row:auto}
}
@media(max-width:760px){
  .opsen-filter{padding:14px}
  .opsen-filter-grid{grid-template-columns:1fr}
}

/* Phase 67.2 - tabel Opsen operasional tanpa kode teknis/status redundan. */
.opsen-table{min-width:1040px}
.opsen-table th:nth-child(4),.opsen-table td:nth-child(4){min-width:180px}

/* Phase 68.0 - Reklame, Air Tanah, Walet UI/Excel parity. */
.filter-panel>.section-kicker{padding:18px 18px 0;line-height:1.2}
.domain-filter-actions{display:flex;gap:8px;min-width:240px}
.domain-filter-actions .filter-submit,.domain-filter-actions .secondary-button{min-width:112px;height:38px;justify-content:center}
.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media(max-width:1180px){.domain-filter-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:760px){.domain-filter-actions{width:100%;flex-direction:column}.domain-filter-actions .filter-submit,.domain-filter-actions .secondary-button{width:100%}.page-actions{width:100%}.page-actions .secondary-button{flex:1}}


/* Phase 68.1 - Reklame, Air Tanah, Walet filter alignment polish. */
.filter-panel.domain-filter-panel{
  overflow:hidden;
}
.domain-filter-panel>.section-kicker{
  display:block;
  margin:0;
  padding:18px 22px 8px;
  min-height:34px;
  line-height:1.25;
}
.domain-population-filter-grid{
  grid-template-columns:minmax(220px,1.65fr) minmax(125px,.9fr) minmax(125px,.9fr) minmax(135px,.9fr) minmax(155px,1fr) 90px minmax(248px,auto);
  gap:12px;
  align-items:center;
  padding:0 22px 18px;
}
.domain-population-filter-grid>*{min-width:0}
.domain-population-filter-grid .year-field{max-width:none}
.domain-population-filter-grid .domain-filter-actions{
  min-width:248px;
  display:grid;
  grid-template-columns:minmax(118px,1fr) minmax(118px,1fr);
  gap:10px;
  align-items:stretch;
  justify-content:stretch;
}
.domain-population-filter-grid .domain-filter-actions .filter-submit,
.domain-population-filter-grid .domain-filter-actions .secondary-button{
  width:100%;
  min-width:0;
  height:38px;
  padding:0 14px;
  white-space:nowrap;
  line-height:1;
}
.domain-population-filter-grid .domain-filter-actions .filter-submit{
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
}
.domain-population-filter-grid .domain-filter-actions .filter-submit:hover{
  background:var(--navy-2);
  border-color:var(--navy-2);
}
@media(max-width:1320px){
  .domain-population-filter-grid{
    grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(135px,1fr)) repeat(2,minmax(145px,1fr)) 90px;
  }
  .domain-population-filter-grid .domain-filter-actions{
    grid-column:1/-1;
    justify-self:end;
    width:268px;
  }
}
@media(max-width:980px){
  .domain-population-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .domain-population-filter-grid .domain-filter-actions{grid-column:1/-1;width:100%}
}
@media(max-width:760px){
  .domain-filter-panel>.section-kicker{padding:14px 14px 8px}
  .domain-population-filter-grid{grid-template-columns:1fr;padding:0 14px 14px;gap:10px}
  .domain-population-filter-grid .domain-filter-actions{grid-column:auto;width:100%;grid-template-columns:1fr}
  .domain-population-filter-grid .domain-filter-actions .filter-submit,
  .domain-population-filter-grid .domain-filter-actions .secondary-button{width:100%}
}


/* Phase 68.2 - Reklame, Air Tanah, Walet: tabel lebar tidak terpotong.
   Horizontal scroll hanya berada di dalam kartu tabel. */
.domain-table-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto!important;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.domain-table-scroll .reklame-table,
.domain-table-scroll .air-tanah-table{
  width:100%!important;
  min-width:1280px!important;
  max-width:none!important;
  table-layout:fixed!important;
}
.domain-table-scroll .walet-table{
  width:100%!important;
  min-width:1420px!important;
  max-width:none!important;
  table-layout:fixed!important;
}
.domain-table-scroll .data-table th,
.domain-table-scroll .data-table td{
  max-width:none!important;
  overflow:visible;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.domain-table-scroll .data-table th{
  white-space:normal!important;
}
.domain-table-scroll .data-table .mono{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.domain-table-scroll .icon-action{
  flex:0 0 auto;
}

/* Proporsi khusus Walet karena mempunyai satu kolom tambahan Status Tahun Ini. */
@media (min-width:761px){
  .walet-table th:nth-child(1),.walet-table td:nth-child(1){width:9%!important}
  .walet-table th:nth-child(2),.walet-table td:nth-child(2){width:12%!important}
  .walet-table th:nth-child(3),.walet-table td:nth-child(3){width:9%!important}
  .walet-table th:nth-child(4),.walet-table td:nth-child(4){width:12%!important}
  .walet-table th:nth-child(5),.walet-table td:nth-child(5){width:8%!important}
  .walet-table th:nth-child(6),.walet-table td:nth-child(6){width:8%!important}
  .walet-table th:nth-child(7),.walet-table td:nth-child(7){width:7%!important}
  .walet-table th:nth-child(8),.walet-table td:nth-child(8){width:10%!important}
  .walet-table th:nth-child(9),.walet-table td:nth-child(9){width:9%!important}
  .walet-table th:nth-child(10),.walet-table td:nth-child(10){width:8%!important}
  .walet-table th:nth-child(11),.walet-table td:nth-child(11){width:5%!important;text-align:center!important}
  .walet-table th:nth-child(12),.walet-table td:nth-child(12){width:5%!important;text-align:center!important}
  .walet-table th:nth-child(13),.walet-table td:nth-child(13){width:7%!important}
  .walet-table th:nth-child(14),.walet-table td:nth-child(14){width:4%!important;text-align:center!important}
}

/* Phase 68.3 - Domain table fit: utamakan seluruh kolom terlihat di desktop.
   Scroll horizontal tetap menjadi fallback pada layar yang lebih sempit. */
@media (min-width:1180px){
  .domain-table-scroll{
    overflow-x:auto!important;
    scrollbar-gutter:auto;
  }
  .domain-table-scroll .reklame-table,
  .domain-table-scroll .air-tanah-table,
  .domain-table-scroll .walet-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }
  .domain-table-scroll .data-table th,
  .domain-table-scroll .data-table td{
    padding:7px 6px!important;
    font-size:10.4px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
  }
  .domain-table-scroll .data-table th{
    font-size:8.8px!important;
    letter-spacing:.2px!important;
  }
  .domain-table-scroll .data-table .mono{
    font-size:9.2px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .domain-table-scroll .status-pill{
    font-size:9px!important;
    padding:4px 6px!important;
    line-height:1.15!important;
  }
  /* Walet: 14 kolom dibuat proporsional agar Aksi tetap terlihat. */
  .walet-table th:nth-child(1),.walet-table td:nth-child(1){width:7%!important}
  .walet-table th:nth-child(2),.walet-table td:nth-child(2){width:10%!important}
  .walet-table th:nth-child(3),.walet-table td:nth-child(3){width:7%!important}
  .walet-table th:nth-child(4),.walet-table td:nth-child(4){width:11%!important}
  .walet-table th:nth-child(5),.walet-table td:nth-child(5){width:7%!important}
  .walet-table th:nth-child(6),.walet-table td:nth-child(6){width:7%!important}
  .walet-table th:nth-child(7),.walet-table td:nth-child(7){width:6%!important}
  .walet-table th:nth-child(8),.walet-table td:nth-child(8){width:8%!important}
  .walet-table th:nth-child(9),.walet-table td:nth-child(9){width:8%!important}
  .walet-table th:nth-child(10),.walet-table td:nth-child(10){width:7%!important}
  .walet-table th:nth-child(11),.walet-table td:nth-child(11){width:5%!important}
  .walet-table th:nth-child(12),.walet-table td:nth-child(12){width:5%!important}
  .walet-table th:nth-child(13),.walet-table td:nth-child(13){width:8%!important}
  .walet-table th:nth-child(14),.walet-table td:nth-child(14){width:4%!important}
  /* Reklame & Air Tanah: 13 kolom. */
  .reklame-table th:nth-child(1),.reklame-table td:nth-child(1),
  .air-tanah-table th:nth-child(1),.air-tanah-table td:nth-child(1){width:8%!important}
  .reklame-table th:nth-child(2),.reklame-table td:nth-child(2),
  .air-tanah-table th:nth-child(2),.air-tanah-table td:nth-child(2){width:12%!important}
  .reklame-table th:nth-child(3),.reklame-table td:nth-child(3),
  .air-tanah-table th:nth-child(3),.air-tanah-table td:nth-child(3){width:8%!important}
  .reklame-table th:nth-child(4),.reklame-table td:nth-child(4),
  .air-tanah-table th:nth-child(4),.air-tanah-table td:nth-child(4){width:13%!important}
  .reklame-table th:nth-child(5),.reklame-table td:nth-child(5),
  .air-tanah-table th:nth-child(5),.air-tanah-table td:nth-child(5){width:8%!important}
  .reklame-table th:nth-child(6),.reklame-table td:nth-child(6),
  .air-tanah-table th:nth-child(6),.air-tanah-table td:nth-child(6){width:8%!important}
  .reklame-table th:nth-child(7),.reklame-table td:nth-child(7),
  .air-tanah-table th:nth-child(7),.air-tanah-table td:nth-child(7){width:6%!important}
  .reklame-table th:nth-child(8),.reklame-table td:nth-child(8),
  .air-tanah-table th:nth-child(8),.air-tanah-table td:nth-child(8){width:10%!important}
  .reklame-table th:nth-child(9),.reklame-table td:nth-child(9),
  .air-tanah-table th:nth-child(9),.air-tanah-table td:nth-child(9){width:8%!important}
  .reklame-table th:nth-child(10),.reklame-table td:nth-child(10),
  .air-tanah-table th:nth-child(10),.air-tanah-table td:nth-child(10){width:5%!important}
  .reklame-table th:nth-child(11),.reklame-table td:nth-child(11),
  .air-tanah-table th:nth-child(11),.air-tanah-table td:nth-child(11){width:5%!important}
  .reklame-table th:nth-child(12),.reklame-table td:nth-child(12),
  .air-tanah-table th:nth-child(12),.air-tanah-table td:nth-child(12){width:7%!important}
  .reklame-table th:nth-child(13),.reklame-table td:nth-child(13),
  .air-tanah-table th:nth-child(13),.air-tanah-table td:nth-child(13){width:2%!important}
}

@media (min-width:761px) and (max-width:1179px){
  .domain-table-scroll .reklame-table,
  .domain-table-scroll .air-tanah-table{min-width:1120px!important}
  .domain-table-scroll .walet-table{min-width:1220px!important}
}


/* Phase 68.4 - Walet desktop-fit correction.
   Total width 14 kolom = 100%, agar sisi kanan tidak lagi terdorong keluar kartu. */
@media (min-width:1180px){
  .domain-table-scroll .walet-table{width:100%!important;min-width:0!important;max-width:100%!important;}
}


/* Phase 68.5 - Walet desktop compact columns.
   Transaksi dan pembayaran digabung supaya kolom Bayar Terakhir dan Aksi selalu terlihat. */
@media (min-width:1180px){
  .walet-table th:nth-child(1),.walet-table td:nth-child(1){width:8%!important}
  .walet-table th:nth-child(2),.walet-table td:nth-child(2){width:11%!important}
  .walet-table th:nth-child(3),.walet-table td:nth-child(3){width:8%!important}
  .walet-table th:nth-child(4),.walet-table td:nth-child(4){width:12%!important}
  .walet-table th:nth-child(5),.walet-table td:nth-child(5){width:8%!important}
  .walet-table th:nth-child(6),.walet-table td:nth-child(6){width:7%!important}
  .walet-table th:nth-child(7),.walet-table td:nth-child(7){width:6%!important}
  .walet-table th:nth-child(8),.walet-table td:nth-child(8){width:9%!important}
  .walet-table th:nth-child(9),.walet-table td:nth-child(9){width:9%!important}
  .walet-table th:nth-child(10),.walet-table td:nth-child(10){width:7%!important}
  .walet-table th:nth-child(11),.walet-table td:nth-child(11){width:7%!important;text-align:center!important}
  .walet-table th:nth-child(12),.walet-table td:nth-child(12){width:6%!important;text-align:center!important}
  .walet-table th:nth-child(13),.walet-table td:nth-child(13){width:2%!important;text-align:center!important}
}
@media (min-width:761px) and (max-width:1179px){
  .domain-table-scroll .walet-table{min-width:1120px!important}
}

/* Phase 69.1 - PBJT Perhotelan parity: use the same operational table behavior as secondary PBJT domains. */
.hotel-table{width:100%;table-layout:fixed}
.hotel-table th,.hotel-table td{padding:.72rem .55rem;vertical-align:middle}
.hotel-table th:nth-child(1){width:9%}.hotel-table th:nth-child(2){width:11%}.hotel-table th:nth-child(3){width:9%}.hotel-table th:nth-child(4){width:13%}.hotel-table th:nth-child(5){width:8%}.hotel-table th:nth-child(6){width:8%}.hotel-table th:nth-child(7){width:6%}.hotel-table th:nth-child(8){width:7%}.hotel-table th:nth-child(9){width:8%}.hotel-table th:nth-child(10){width:5%}.hotel-table th:nth-child(11){width:5%}.hotel-table th:nth-child(12){width:8%}.hotel-table th:nth-child(13){width:3%}
@media(max-width:1180px){.hotel-table{min-width:1320px;table-layout:auto}}


/* Phase 70.0 - release-candidate safety: wide tables never disappear outside their card. */
.table-scroll,.domain-table-scroll,.profile-table-scroll,.buku-kendali-list-scroll,.buku-kendali-detail-scroll{
  max-width:100%;
  overflow-x:auto!important;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}
.error-page{margin:0;min-height:100vh;background:#f2f6f9;color:#0d3153;font-family:inherit}
.error-shell{max-width:720px;margin:0 auto;padding:9vh 22px}
.error-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.error-brand>span:last-child{display:grid}.error-brand strong{font-size:18px}.error-brand small{font-weight:800;letter-spacing:.08em;color:#6f8497}
.error-card{background:#fff;border:1px solid #dce5ec;border-radius:18px;padding:30px;box-shadow:0 12px 34px rgba(13,49,83,.08)}
.error-card h1{margin:8px 0 10px;font-size:28px}.error-card p{margin:0 0 24px;color:#526c82;line-height:1.6}.error-card>small{display:block;margin-top:18px;color:#8294a4}
.error-actions{display:flex;gap:10px;flex-wrap:wrap}.error-actions a{text-decoration:none}
@media(max-width:600px){.error-shell{padding:6vh 14px}.error-card{padding:22px}.error-card h1{font-size:23px}.error-actions>*{width:100%;justify-content:center}}

/* Phase 70.4 - plain-language data update disclosure. */
.data-freshness-bar{
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
  margin:0 0 12px 0;
  padding:8px 12px;
  border:1px solid var(--line,#d9e1e8);
  border-radius:10px;
  background:var(--surface,#fff);
  font-size:.78rem;
  line-height:1.35;
  color:var(--text-muted,#5f6b76);
}
.data-freshness-label{white-space:nowrap;color:var(--text,#27313a)}
.data-freshness-label strong{font-weight:700}
.data-freshness-detail{min-width:0}
@media (max-width:720px){
  .data-freshness-bar{align-items:flex-start;gap:.25rem;padding:8px 10px}
  .data-freshness-label,.data-freshness-detail{width:100%;white-space:normal}
}

/* Phase 70.4 - official Kabupaten Landak crest replaces the old LO monogram. */
.brand-mark.brand-mark-logo{
  background:transparent;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.brand-mark.brand-mark-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.login-brand-mark.login-brand-logo{
  width:72px;
  height:88px;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.login-brand-mark.login-brand-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

/* Phase 70.4 - official Kabupaten Landak crest replaces the old LO monogram. */
.brand-mark.brand-mark-logo{
  background:transparent;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.brand-mark.brand-mark-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.login-brand-mark.login-brand-logo{
  width:72px;
  height:88px;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.login-brand-mark.login-brand-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

/* Login visual - Landak ONE */ .login-visual-layout{min-height:100vh;position:relative;background:#0f2438;overflow:hidden}.login-visual-hero{position:absolute;inset:0;background-image:url(/static/assets/landak_one_login.webp);background-size:contain;background-position:center top;background-repeat:no-repeat;background-color:#3b0000}.login-visual-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.10) 55%,rgba(8,26,43,.38) 100%)}.login-visual-form-panel{position:relative;z-index:2;min-height:100vh;display:flex;align-items:center;justify-content:flex-end;padding:0 3vw 0 0;box-sizing:border-box}.login-visual-form-card{width:min(330px,100%);background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.42);box-shadow:0 10px 28px rgba(0,0,0,.16);border-radius:13px;padding:20px;backdrop-filter:blur(14px) saturate(115%);-webkit-backdrop-filter:blur(14px) saturate(115%)}.login-visual-form-card h2{margin:0 0 14px;font-size:24px;color:var(--navy)}@media(max-width:760px){.login-visual-layout{min-height:100vh;background:#edf2f6;overflow:visible}.login-visual-hero{position:relative;inset:auto;width:100%;aspect-ratio:1672/940;background-size:contain;background-position:center top;background-color:#0f2438}.login-visual-overlay{display:none}.login-visual-form-panel{min-height:auto;padding:20px 16px 28px;display:block}.login-visual-form-card{margin:0 auto;width:min(430px,100%);box-sizing:border-box;box-shadow:0 8px 26px rgba(0,0,0,.12);backdrop-filter:none}}
/* Phase 70.11 - final split login */.login-body{margin:0;background:#260306;min-height:100vh}.login-visual-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,76fr) minmax(330px,24fr);background:#260306;overflow:hidden}.login-visual-hero{position:relative;inset:auto;min-width:0;min-height:100vh;background-image:url(/static/assets/landak_one_login.webp);background-size:contain;background-position:center center;background-repeat:no-repeat;background-color:#310407}.login-visual-overlay{display:none}.login-visual-form-panel{position:relative;z-index:2;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:42px 34px;box-sizing:border-box;background:linear-gradient(155deg,#5d070c 0%,#300306 48%,#180204 100%)}.login-visual-form-card{transform:none!important;width:min(340px,100%);margin:0;background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;backdrop-filter:none;-webkit-backdrop-filter:none}.login-visual-form-card h2{margin:0 0 24px;font-size:30px;color:#fff;text-shadow:none}.login-form{display:grid;gap:15px}.login-form label{display:grid;gap:6px;font-size:11px;font-weight:850;color:rgba(255,255,255,.88);text-shadow:none}.login-form input{box-sizing:border-box;width:100%;height:48px;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.75);border-radius:9px;color:#123454;padding:0 13px}.login-form input::placeholder{color:#71808e}.login-form button{height:48px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#123b61;color:#fff;font-weight:850;cursor:pointer;box-shadow:none}.login-form button:hover{background:#194b77}@media(max-width:760px){.login-visual-layout{display:block;min-height:100vh;overflow:visible;background:#260306}.login-visual-hero{position:relative;min-height:0;width:100%;aspect-ratio:1672/940;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#310407}.login-visual-form-panel{min-height:auto;padding:30px 22px 38px;background:linear-gradient(155deg,#5d070c 0%,#260306 100%)}.login-visual-form-card{width:min(420px,100%);margin:0 auto}.login-visual-form-card h2{font-size:26px;margin-bottom:20px}}

/* R219 - simple personal account administration */
.user-admin-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 16px 12px;align-items:end}.user-admin-form label,.password-form label{display:grid;gap:6px;font-weight:750;color:#29445e}.user-admin-form input,.user-admin-form select,.password-form input,.reset-password-form input{width:100%;box-sizing:border-box;border:1px solid #cfdbe6;border-radius:10px;padding:11px 12px;font:inherit}.user-admin-note{padding:0 16px 14px}.user-admin-table{min-width:980px}.user-row-actions,.reset-password-form{display:flex;gap:7px;align-items:center}.reset-password-form input{min-width:180px}.password-panel{max-width:620px}.password-form{display:grid;gap:14px;padding:18px}.password-form button{justify-self:start}@media(max-width:760px){.user-admin-form{grid-template-columns:1fr;padding:0 12px 12px}.user-admin-action .primary-button,.password-form button{width:100%}.password-panel{max-width:none}.reset-password-form{align-items:stretch;flex-direction:column}}

/* R221A - halaman kerja lapangan dan foto eviden */
.field-evidence-body{padding:0 22px 22px}.field-photo-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;gap:12px;align-items:end}.field-photo-form label{display:grid;gap:7px;font-weight:800;color:#29445e}.field-photo-form input[type=file],.field-photo-form input[type=text]{width:100%;box-sizing:border-box;border:1px solid #cfdbe6;border-radius:12px;padding:12px;background:#fff;font:inherit}.field-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.field-photo-card{border:1px solid #d7e1ea;border-radius:14px;overflow:hidden;background:#f7f9fb}.field-photo-card img{display:block;width:100%;height:190px;object-fit:cover;background:#e8eef3}.field-photo-meta{padding:11px 12px}.field-photo-meta strong,.field-photo-meta small{display:block}.field-photo-meta small{margin-top:5px;color:#667b8e}@media(max-width:760px){.field-evidence-body{padding:0 12px 14px}.field-photo-form{grid-template-columns:1fr}.field-photo-form .primary-button{width:100%;min-height:48px}.field-photo-grid{grid-template-columns:1fr}.field-photo-card img{height:auto;max-height:360px}.supervision-workflow-form input,.supervision-workflow-form select,.supervision-workflow-form textarea{font-size:16px}}

/* R221B - pekerjaan petugas ringkas dan ramah HP */
.field-work-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field-work-card{display:flex;flex-direction:column;gap:13px;padding:18px;border:1px solid #d8e2eb;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(21,52,80,.07)}.field-work-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.field-work-card h2{margin:3px 0 0;font-size:1.15rem}.field-work-tax{font-size:.73rem;font-weight:850;color:#c51f2d;letter-spacing:.08em;text-transform:uppercase}.field-work-status{flex:0 0 auto;border-radius:999px;padding:6px 10px;background:#eef3f7;color:#29445e;font-size:.74rem;font-weight:850}.field-work-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.field-work-facts div{padding:10px 11px;border-radius:10px;background:#f5f8fa}.field-work-facts span{display:block;font-size:.68rem;font-weight:850;color:#718396;text-transform:uppercase;margin-bottom:4px}.field-work-facts strong{display:block;color:#173955;overflow-wrap:anywhere}.field-work-finding{margin:0;color:#29445e;line-height:1.45}.field-work-open{display:flex;justify-content:center;align-items:center;min-height:48px;margin-top:auto;border-radius:11px;background:#123b61;color:#fff;text-decoration:none;font-weight:850}.field-work-empty{padding:32px 18px;text-align:center;color:#667b8e;background:#fff;border:1px solid #d8e2eb;border-radius:16px}@media(max-width:760px){.field-work-list{grid-template-columns:1fr;gap:12px}.field-work-card{padding:15px}.field-work-card-head{display:block}.field-work-status{display:inline-block;margin-top:9px}.field-work-facts{grid-template-columns:1fr 1fr}.field-officer-title{margin-bottom:12px}.field-officer-title h1{font-size:1.8rem}}

/* R222 - jadwal, hasil lapangan, dan koreksi foto */
.field-visit-body{padding:0 22px 22px}.field-visit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:14px}.field-visit-summary>div{background:#f5f8fa;border:1px solid #dfe7ee;border-radius:12px;padding:12px}.field-visit-summary span{display:block;color:#6c7f91;font-size:.7rem;font-weight:850;text-transform:uppercase;margin-bottom:5px}.field-visit-form{display:grid;gap:12px}.field-visit-form label{display:grid;gap:6px;font-weight:800;color:#29445e}.field-visit-form input,.field-visit-form select,.field-visit-form textarea,.photo-cancel-form input{box-sizing:border-box;width:100%;border:1px solid #cfdbe6;border-radius:11px;padding:11px 12px;font:inherit}.field-visit-form textarea{min-height:90px}.photo-cancel-form{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:9px}.photo-cancel-form button{border:1px solid #c6d1db;background:#fff;color:#a71d2a;border-radius:9px;padding:8px 10px;font-weight:800}.field-work-state{display:inline-block;border-radius:999px;background:#edf3f7;padding:6px 10px;font-weight:850;color:#29445e}@media(max-width:760px){.field-visit-body{padding:0 12px 14px}.field-visit-summary{grid-template-columns:1fr}.field-visit-form input,.field-visit-form select,.field-visit-form textarea,.photo-cancel-form input{font-size:16px}.field-visit-form .primary-button{width:100%;min-height:48px}.photo-cancel-form{grid-template-columns:1fr}.photo-cancel-form button{min-height:44px}}


/* R223 coordinator review and official field result */
.field-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.field-result-grid>div,.coordinator-review,.review-note{border:1px solid #d7e1eb;border-radius:14px;padding:14px;background:#f7f9fb}
.field-result-grid span{font-size:.78rem;font-weight:800;color:#63758a;text-transform:uppercase}.field-result-grid p{white-space:pre-wrap;margin:7px 0 0}
.coordinator-review{margin-top:16px}.coordinator-review h3{margin:0 0 12px}.coordinator-review textarea{width:100%;min-height:90px;margin-top:6px}
.review-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.review-note{margin-top:14px}.review-note.approved{background:#edf8f1;border-color:#b9dec6}
@media(max-width:720px){.field-result-grid{grid-template-columns:1fr}.review-actions{flex-direction:column}.review-actions button{width:100%}}
\n\n/* R224 - handoff foto tersimpan ke hasil kunjungan */\n.field-photo-handoff-status{display:flex;flex-direction:column;gap:3px;border:1px solid #d7e1eb;border-radius:12px;padding:11px 12px;margin-bottom:12px;background:#f7f9fb}\n.field-photo-handoff-status strong{font-size:.92rem}.field-photo-handoff-status span{font-size:.82rem;color:#5f6f82;line-height:1.35}\n.field-photo-handoff-status.ready{background:#edf8f1;border-color:#b9dec6}.field-photo-handoff-status.missing{background:#fff7e8;border-color:#ecd4a4}\n.field-visit-form button[disabled]{opacity:.5;cursor:not-allowed}.field-photo-save-success{margin:10px 0 0}\n

/* R225 - urutan aman mobile: simpan foto sebelum kirim hasil */
.field-visit-form button[disabled][aria-disabled="true"]{pointer-events:none;filter:grayscale(1);opacity:.45}

/* R283 - final UI pekerjaan petugas: scalable, kartu aktif, tetap ringan di HP */
.field-work-toolbar{display:flex;flex-direction:column;gap:12px;margin:0 0 14px;padding:14px;border:1px solid #d8e2eb;border-radius:16px;background:#fff}
.field-work-search-wrap label{display:block;margin-bottom:6px;font-size:.76rem;font-weight:850;color:#61758a;text-transform:uppercase}
.field-work-search-wrap input{width:100%;min-height:44px;border:1px solid #cbd7e2;border-radius:11px;padding:9px 12px;background:#fff}
.field-work-filter-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.field-work-filter{white-space:nowrap;border:1px solid #cfdbe6;border-radius:999px;background:#f7f9fb;padding:7px 11px;font-weight:800;color:#29445e;cursor:pointer}
.field-work-filter span{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;margin-left:4px;border-radius:999px;background:#e7edf3;font-size:.72rem}
.field-work-filter.is-active{background:#173955;color:#fff;border-color:#173955}.field-work-filter.is-active span{background:rgba(255,255,255,.18)}
.field-work-toolbar-summary{font-size:.82rem;color:#60758a}
.field-work-card-active{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.field-work-card-active:hover,.field-work-card-active:focus-visible{transform:translateY(-1px);box-shadow:0 10px 24px rgba(21,52,80,.11);border-color:#9fb4c7;outline:none}
.field-work-period{font-size:.78rem;color:#65798c;font-weight:700;margin-top:-4px}
.field-work-more-wrap{display:flex;justify-content:center;margin:14px 0 4px}
.field-work-more-wrap button{min-width:220px}
@media(max-width:720px){
  .field-work-toolbar{padding:12px;border-radius:13px}
  .field-work-list{grid-template-columns:1fr}
  .field-work-card{padding:14px;gap:10px}
  .field-work-card-head{gap:8px}
  .field-work-card h2{font-size:1.05rem}
  .field-work-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .field-work-facts div{padding:8px 9px}
  .field-work-finding{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .field-work-open{min-height:44px}
}
@media(max-width:430px){
  .field-work-facts{grid-template-columns:1fr 1fr}
  .field-work-status{max-width:46%;text-align:center}
}

/* R284 - kartu admin dan penugasan massal */
.supervision-bulk-shell{margin-top:14px}
.supervision-bulk-toolbar{position:sticky;top:8px;z-index:6;display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;margin-bottom:12px;border:1px solid #d6e0e9;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 6px 18px rgba(21,52,80,.07)}
.supervision-bulk-toolbar .bulk-count{font-weight:850;color:#173955;margin-right:auto}
.supervision-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.supervision-case-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:15px;border:1px solid #d8e2eb;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(21,52,80,.06);cursor:pointer;transition:.12s ease}
.supervision-case-card:hover,.supervision-case-card:focus-visible{transform:translateY(-1px);border-color:#9fb4c7;box-shadow:0 9px 20px rgba(21,52,80,.10);outline:none}
.supervision-case-card.is-selected{border-color:#173955;box-shadow:0 0 0 2px rgba(23,57,85,.10)}
.supervision-case-select{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#f1f5f8}
.supervision-case-select input{width:18px;height:18px}
.supervision-case-head{padding-right:42px}.supervision-case-head small{display:block;font-size:.72rem;font-weight:850;color:#c51f2d;text-transform:uppercase;letter-spacing:.05em}.supervision-case-head h3{margin:4px 0 0;font-size:1rem;color:#173955}
.supervision-case-status{display:inline-flex;align-self:flex-start;padding:5px 9px;border-radius:999px;background:#eef3f7;color:#29445e;font-size:.73rem;font-weight:850}
.supervision-case-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px}.supervision-case-facts div{padding:8px 9px;border-radius:9px;background:#f6f8fa}.supervision-case-facts span{display:block;font-size:.65rem;font-weight:800;color:#738699;text-transform:uppercase}.supervision-case-facts strong{display:block;margin-top:3px;color:#29445e;overflow-wrap:anywhere;font-size:.82rem}
.supervision-case-finding{margin:0;color:#445f76;font-size:.82rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.supervision-legacy-table{margin-top:16px}.supervision-legacy-table>summary{cursor:pointer;font-weight:800;color:#29445e;padding:9px 0}
.bulk-selected-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 18px 18px}.bulk-selected-card{display:grid;gap:4px;padding:12px;border:1px solid #dbe4ec;border-radius:12px;background:#f8fafb}.bulk-selected-card span,.bulk-selected-card small{color:#65798c}
.bulk-assignment-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px 18px}.bulk-assignment-form label{display:grid;gap:6px;font-weight:800;color:#29445e}.bulk-assignment-form input,.bulk-assignment-form select,.bulk-assignment-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfdbe6;border-radius:11px;padding:11px;background:#fff;font:inherit}.bulk-assignment-wide{grid-column:1/-1}.bulk-assignment-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end}
@media(max-width:1000px){.supervision-case-grid,.bulk-selected-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.supervision-case-grid,.bulk-selected-grid{grid-template-columns:1fr}.supervision-bulk-toolbar{position:static}.bulk-assignment-form{grid-template-columns:1fr;padding:0 12px 14px}.bulk-assignment-wide,.bulk-assignment-actions{grid-column:1}.bulk-assignment-actions{flex-direction:column}.bulk-assignment-actions a,.bulk-assignment-actions button{width:100%;box-sizing:border-box;text-align:center}.supervision-case-card{padding:13px}.supervision-case-facts{grid-template-columns:1fr 1fr}}

/* R285B_MAMIN_MOBILE_TABLE_NO_OVERLAP
   Mobile only: data tetap sama; tabel digeser mendatar agar sel panjang tidak bertimpa. */
@media (max-width:760px){
  .mamin-compact{max-width:100% !important;overflow:hidden !important}
  .mamin-compact .table-scroll{
    display:block !important;width:100% !important;max-width:100% !important;
    overflow-x:auto !important;overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;padding-bottom:8px
  }
  .mamin-compact .data-table{table-layout:auto !important;max-width:none !important}
  #mamin-data-table{width:max-content !important;min-width:1600px !important;table-layout:auto !important}
  #mamin-data-table th,#mamin-data-table td{
    white-space:nowrap !important;word-break:normal !important;overflow-wrap:normal !important
  }
  #mamin-data-table th:nth-child(8),#mamin-data-table td:nth-child(8){
    min-width:360px !important;width:auto !important
  }
  #mamin-data-table th:nth-child(9),#mamin-data-table td:nth-child(9){
    min-width:150px !important;width:auto !important
  }
  .mamin-compact .data-table:not(#mamin-data-table){width:max-content !important;min-width:900px !important}
  .mamin-compact .data-table:not(#mamin-data-table) th,
  .mamin-compact .data-table:not(#mamin-data-table) td{
    white-space:nowrap !important;word-break:normal !important;overflow-wrap:normal !important
  }
}

/* R286 - KPI Pengawasan klik/filter cepat */
.supervision-kpi-action{
  appearance:none;-webkit-appearance:none;text-decoration:none;text-align:left;
  border:1px solid #d8e2eb;background:#fff;color:inherit;font:inherit;
  cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;
  justify-content:center;min-width:0
}
.supervision-kpi-action small{margin-top:4px;color:#718396;font-size:.7rem;font-weight:700}
.supervision-kpi-action:hover,.supervision-kpi-action:focus-visible{
  border-color:#9fb4c7;box-shadow:0 8px 20px rgba(21,52,80,.10);outline:none;transform:translateY(-1px)
}
.supervision-kpi-action.is-active{border-color:#173955;box-shadow:0 0 0 2px rgba(23,57,85,.08)}
.supervision-kpi-link{color:inherit}
@media(max-width:720px){
  .supervision-kpi-action{min-height:86px}
  .supervision-kpi-action small{font-size:.66rem}
}

/* R287 - pisahkan mode lihat dan mode penugasan */
.bulk-mode-copy{display:flex;flex-direction:column;gap:3px;margin-right:auto}
.bulk-mode-copy small{color:#718396;font-size:.72rem;font-weight:700}
.bulk-assignment-actions-compact{display:flex;gap:10px;align-items:center}
.bulk-assignment-actions-compact[hidden]{display:none !important}
.supervision-case-card[data-assignable="0"] .supervision-case-select{display:none !important}
.supervision-case-card[data-assignable="0"] .supervision-case-head{padding-right:0}
.supervision-case-card[data-assignable="0"]{cursor:pointer}
@media(max-width:720px){
  .supervision-bulk-toolbar{align-items:stretch}
  .bulk-mode-copy{width:100%}
  .bulk-select-open{width:100%}
  .bulk-assignment-actions-compact{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .bulk-assignment-actions-compact button{width:100%}
}

/* R288 - mode lihat default, mode penugasan eksplisit */
.supervision-view-toolbar{justify-content:space-between}
.bulk-view-title{font-weight:900;color:#173955}
.supervision-assignment-toolbar{border-color:#b7c7d5;background:#f8fbfd}
.supervision-assignment-toolbar[hidden]{display:none !important}
.supervision-case-select{display:none !important}
.assignment-mode .supervision-case-card[data-assignable="1"] .supervision-case-select{display:flex !important}
.assignment-mode .supervision-case-card[data-assignable="1"] .supervision-case-head{padding-right:42px}
.assignment-mode .supervision-case-card[data-assignable="1"]{border-color:#c7d5e1}
@media(max-width:720px){
  .supervision-view-toolbar{align-items:stretch}
  .supervision-view-toolbar .primary-button{width:100%}
  .supervision-assignment-toolbar .bulk-assignment-actions-compact{grid-template-columns:1fr}
}

/* R289 - checkbox langsung pada kasus Terbuka, tanpa mode penugasan terpisah */
.supervision-case-select{display:none !important}
.supervision-case-card[data-assignable="1"] .supervision-case-select{display:flex !important}
.supervision-case-card[data-assignable="1"] .supervision-case-head{padding-right:42px}
.bulk-assignment-actions-compact[hidden]{display:none !important}

/* R290 - KPI filter benar-benar menyembunyikan kartu */
.supervision-case-card[hidden]{display:none !important}
.supervision-kpi-empty{padding:26px 16px;text-align:center;color:#718396;font-weight:800;background:#f8fafb;border:1px dashed #ccd8e2;border-radius:12px}
.supervision-kpi-empty[hidden]{display:none !important}

/* R291 - filter status Pekerjaan Saya benar-benar menyembunyikan kartu */
.field-work-card-active[hidden]{display:none !important}
.field-work-filter-empty{margin-top:2px;padding:16px;text-align:center;color:#718396;font-weight:800;background:#f8fafb;border:1px dashed #ccd8e2;border-radius:11px}
.field-work-filter-empty[hidden]{display:none !important}

/* R298U_USER_MANAGEMENT_LAYOUT
   Tampilan halaman Pengguna saja. Tidak mengubah fungsi/status/password/role. */
.user-admin-table{
  width:100%;
  min-width:1120px;
  table-layout:auto;
}
.user-admin-table th,
.user-admin-table td{
  vertical-align:middle;
}
.user-admin-table th:nth-child(1),
.user-admin-table td:nth-child(1){min-width:190px;}
.user-admin-table th:nth-child(2),
.user-admin-table td:nth-child(2){min-width:120px;}
.user-admin-table th:nth-child(3),
.user-admin-table td:nth-child(3){min-width:155px;}
.user-admin-table th:nth-child(4),
.user-admin-table td:nth-child(4){min-width:190px;}
.user-admin-table th:nth-child(5),
.user-admin-table td:nth-child(5){min-width:130px;}
.user-admin-table th:nth-child(6),
.user-admin-table td:nth-child(6){
  min-width:345px;
  width:345px;
}
.user-row-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  min-width:330px;
}
.user-row-actions form{
  margin:0;
  flex:0 0 auto;
}
.user-row-actions .secondary-button{
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  min-width:max-content;
}
.reset-password-form{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:nowrap;
  min-width:230px;
}
.reset-password-form input{
  width:170px;
  min-width:170px;
  max-width:170px;
  flex:0 0 170px;
}
.reset-password-form .secondary-button{
  flex:0 0 auto;
  white-space:nowrap;
}
@media(max-width:760px){
  .user-admin-table{min-width:900px;}
  .user-admin-table th:nth-child(6),
  .user-admin-table td:nth-child(6){
    min-width:250px;
    width:250px;
  }
  .user-row-actions{
    min-width:235px;
    flex-direction:column;
    align-items:stretch;
  }
  .user-row-actions form,
  .reset-password-form{
    width:100%;
  }
  .reset-password-form{
    flex-direction:column;
    align-items:stretch;
    min-width:0;
  }
  .reset-password-form input{
    width:100%;
    min-width:0;
    max-width:none;
    flex:1 1 auto;
  }
  .user-row-actions .secondary-button{
    width:100%;
  }
}

/* R298U1_USER_MANAGEMENT_LAYOUT_FIX
   UI-only correction: paksa tabel Pengguna muat di panel dan kolom Tindakan tidak terjepit. */
.user-admin-table{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  table-layout:fixed !important;
}
.user-admin-table th,
.user-admin-table td{
  vertical-align:middle !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.user-admin-table th:nth-child(1),
.user-admin-table td:nth-child(1){width:20% !important;min-width:0 !important;}
.user-admin-table th:nth-child(2),
.user-admin-table td:nth-child(2){width:13% !important;min-width:0 !important;}
.user-admin-table th:nth-child(3),
.user-admin-table td:nth-child(3){width:16% !important;min-width:0 !important;}
.user-admin-table th:nth-child(4),
.user-admin-table td:nth-child(4){width:17% !important;min-width:0 !important;}
.user-admin-table th:nth-child(5),
.user-admin-table td:nth-child(5){width:13% !important;min-width:0 !important;}
.user-admin-table th:nth-child(6),
.user-admin-table td:nth-child(6){
  width:21% !important;
  min-width:0 !important;
}
.user-admin-table th:nth-child(6){
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.user-row-actions{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:7px !important;
  flex-wrap:nowrap !important;
  min-width:0 !important;
  width:100% !important;
}
.user-row-actions > form{
  margin:0 !important;
  min-width:0 !important;
}
.user-row-actions > form:first-child .secondary-button{
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  width:auto !important;
  min-width:112px !important;
}
.reset-password-form{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:6px !important;
  flex-wrap:nowrap !important;
  width:100% !important;
  min-width:0 !important;
}
.reset-password-form input{
  width:150px !important;
  min-width:0 !important;
  max-width:150px !important;
  flex:1 1 150px !important;
}
.reset-password-form .secondary-button{
  width:auto !important;
  min-width:58px !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
}
@media(max-width:760px){
  .user-admin-table{
    width:900px !important;
    min-width:900px !important;
    max-width:none !important;
  }
  .user-admin-table th:nth-child(6),
  .user-admin-table td:nth-child(6){
    width:210px !important;
  }
  .table-panel .table-scroll{
    overflow-x:auto !important;
  }
}

/* R298U2_USER_MANAGEMENT_COMPACT
   UI-only: padatkan halaman Pengguna, terutama tabel dan kolom Tindakan. */
.user-admin-panel .panel-head,
.table-panel .panel-head{
  padding-top:12px !important;
  padding-bottom:10px !important;
}
.user-admin-form{
  gap:10px !important;
  padding-bottom:10px !important;
}
.user-admin-form label{
  gap:5px !important;
}
.user-admin-form input,
.user-admin-form select{
  min-height:40px !important;
  padding:8px 10px !important;
}
.user-admin-action .primary-button{
  min-height:38px !important;
  padding:8px 14px !important;
}
.user-admin-note{
  padding-bottom:10px !important;
}

.user-admin-table th{
  padding:8px 8px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
}
.user-admin-table td{
  padding:8px 8px !important;
  line-height:1.2 !important;
}
.user-admin-table tbody tr{
  height:52px !important;
}
.user-admin-table th:nth-child(1),
.user-admin-table td:nth-child(1){width:20% !important;}
.user-admin-table th:nth-child(2),
.user-admin-table td:nth-child(2){width:13% !important;}
.user-admin-table th:nth-child(3),
.user-admin-table td:nth-child(3){width:16% !important;}
.user-admin-table th:nth-child(4),
.user-admin-table td:nth-child(4){width:17% !important;}
.user-admin-table th:nth-child(5),
.user-admin-table td:nth-child(5){width:13% !important;}
.user-admin-table th:nth-child(6),
.user-admin-table td:nth-child(6){width:21% !important;}

.user-row-actions{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:6px !important;
  width:100% !important;
}
.user-row-actions > form{
  margin:0 !important;
}
.user-row-actions > form:first-child .secondary-button{
  min-width:92px !important;
  height:34px !important;
  padding:6px 10px !important;
  font-size:12px !important;
  white-space:nowrap !important;
}
.reset-password-form{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:6px !important;
  width:auto !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
.reset-password-form input{
  width:138px !important;
  min-width:110px !important;
  max-width:138px !important;
  height:34px !important;
  padding:6px 8px !important;
  font-size:12px !important;
  flex:1 1 138px !important;
}
.reset-password-form .secondary-button{
  min-width:52px !important;
  height:34px !important;
  padding:6px 9px !important;
  font-size:12px !important;
  white-space:nowrap !important;
}

@media(max-width:1100px){
  .user-admin-table{
    width:980px !important;
    min-width:980px !important;
    max-width:none !important;
  }
  .table-panel .table-scroll{
    overflow-x:auto !important;
  }
}

@media(max-width:760px){
  .user-admin-table{
    width:900px !important;
    min-width:900px !important;
  }
  .user-row-actions{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .reset-password-form{
    width:100% !important;
  }
  .reset-password-form input{
    max-width:none !important;
    width:100% !important;
  }
}

/* R298U3_USER_ACTION_WIDTH
   UI-only: beri ruang lebih ke kolom Tindakan agar Reset tidak terpotong. */
.user-admin-table th:nth-child(1),
.user-admin-table td:nth-child(1){width:18% !important;}
.user-admin-table th:nth-child(2),
.user-admin-table td:nth-child(2){width:12% !important;}
.user-admin-table th:nth-child(3),
.user-admin-table td:nth-child(3){width:14% !important;}
.user-admin-table th:nth-child(4),
.user-admin-table td:nth-child(4){width:16% !important;}
.user-admin-table th:nth-child(5),
.user-admin-table td:nth-child(5){width:12% !important;}
.user-admin-table th:nth-child(6),
.user-admin-table td:nth-child(6){width:28% !important;}

.user-row-actions{
  gap:7px !important;
}
.user-row-actions > form:first-child .secondary-button{
  min-width:96px !important;
}
.reset-password-form input{
  width:150px !important;
  min-width:130px !important;
  max-width:150px !important;
  flex:1 1 150px !important;
}
.reset-password-form .secondary-button{
  min-width:58px !important;
  flex:0 0 58px !important;
}

@media(max-width:1100px){
  .user-admin-table{
    width:1040px !important;
    min-width:1040px !important;
  }
  .user-admin-table th:nth-child(6),
  .user-admin-table td:nth-child(6){
    width:290px !important;
  }
}

/* R299A_MBLB_OBJECT_GROUPED_SUPERVISION */
.mblb-object-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mblb-object-card{cursor:default}
.mblb-object-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.mblb-object-head small{display:block;color:#c51f2d;font-size:.72rem;font-weight:850;letter-spacing:.05em}
.mblb-object-head h3{margin:4px 0 0;color:#173955;font-size:1.05rem}
.mblb-object-id{margin-top:3px;color:#6f8497;font-size:.72rem;font-weight:750}
.mblb-object-count{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#eef3f7;color:#29445e;font-size:.72rem;font-weight:850;white-space:nowrap}
.mblb-object-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.mblb-object-summary>div{min-width:0;padding:8px 9px;border-radius:9px;background:#f6f8fa}
.mblb-object-summary span,.mblb-case-period span,.mblb-case-finding span{display:block;color:#738699;font-size:.65rem;font-weight:800;text-transform:uppercase}
.mblb-object-summary strong{display:block;margin-top:3px;color:#29445e;font-size:.82rem;overflow-wrap:anywhere}
.mblb-object-meta{display:flex;gap:8px;flex-wrap:wrap}
.mblb-object-meta span{padding:5px 8px;border-radius:8px;background:#f2f5f7;color:#506a80;font-size:.76rem}
.mblb-object-cases{border-top:1px solid #e5ebf0;padding-top:8px}
.mblb-object-cases>summary{cursor:pointer;color:#173955;font-size:.8rem;font-weight:850}
.mblb-object-case-list{display:grid;gap:7px;margin-top:8px}
.mblb-object-case-row{display:grid;grid-template-columns:auto minmax(90px,.7fr) minmax(0,2fr) auto auto;gap:8px;align-items:center;padding:8px;border:1px solid #e1e8ee;border-radius:10px;background:#fbfcfd}
.mblb-case-select{display:flex;align-items:center;justify-content:center}
.mblb-case-select input{width:17px;height:17px}
.mblb-case-period strong,.mblb-case-finding strong{display:block;margin-top:2px;color:#29445e;font-size:.77rem;line-height:1.3}
.mblb-case-status{padding:5px 7px;border-radius:999px;background:#eef3f7;color:#29445e;font-size:.7rem;font-weight:800;white-space:nowrap}
.mblb-case-open{padding:6px 9px;border:1px solid #cfdbe6;border-radius:8px;color:#173955;font-size:.72rem;font-weight:850;text-decoration:none;white-space:nowrap}
@media(max-width:1100px){.mblb-object-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .mblb-object-grid{grid-template-columns:1fr}
  .mblb-object-case-row{grid-template-columns:auto 1fr auto}
  .mblb-case-finding{grid-column:2/-1}
}

/* R309B_MBLB_CLASSIFICATION_UI */
.mblb-classification-panel{margin-top:16px;padding:22px}
.mblb-classification-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.mblb-classification-head h2{margin:6px 0 8px}
.mblb-classification-intro{margin:0;max-width:860px;line-height:1.55}
.mblb-classification-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.mblb-classification-item{min-width:0;padding:14px 16px;border:1px solid rgba(22,58,82,.12);border-radius:12px;background:rgba(247,250,252,.9)}
.mblb-classification-label{display:block;margin-bottom:5px;font-size:12px;font-weight:700;letter-spacing:.02em;color:#667b8e}
.mblb-classification-item strong{display:block;overflow-wrap:anywhere;line-height:1.35}
.mblb-classification-note{margin-top:14px;padding:14px 16px;border:1px solid rgba(22,58,82,.12);border-radius:12px;background:rgba(247,250,252,.9)}
.mblb-classification-note span,.mblb-classification-note small{display:block;color:#667b8e}
.mblb-classification-note strong{display:block;margin:4px 0 6px}
.mblb-classification-editor{margin-top:20px;padding-top:18px;border-top:1px solid rgba(22,58,82,.12)}
.mblb-classification-editor-head h3{margin:0 0 4px}
.mblb-classification-editor-head p{margin:0}
.mblb-classification-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.7fr);gap:14px 16px;margin-top:16px;align-items:start}
.mblb-classification-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.mblb-classification-field>span{font-weight:700;color:#243f56}
.mblb-classification-field select,.mblb-classification-field input,.mblb-classification-field textarea{width:100%;box-sizing:border-box}
.mblb-classification-reason{grid-column:1/-1}
.mblb-classification-reason textarea{min-height:108px;resize:vertical}
.mblb-classification-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.mblb-classification-history{margin-top:18px;padding-top:16px;border-top:1px solid rgba(22,58,82,.12)}
.mblb-classification-history summary{cursor:pointer;font-weight:700}
.mblb-classification-history .table-wrap{margin-top:10px}
@media(max-width:900px){.mblb-classification-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .mblb-classification-panel{padding:16px}
  .mblb-classification-summary{grid-template-columns:1fr}
  .mblb-classification-form{grid-template-columns:1fr}
  .mblb-classification-reason,.mblb-classification-actions{grid-column:1}
  .mblb-classification-actions{flex-direction:column;align-items:stretch}
  .mblb-classification-actions .primary-button,.mblb-classification-actions .secondary-button{width:100%;min-height:46px}
  .mblb-classification-field select,.mblb-classification-field input,.mblb-classification-field textarea{font-size:16px}
}

/* R309C_MBLB_POPULATION_INITIAL_UI */
.mblb-population-filter-form{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:16px;
}
.mblb-population-filter-form > *{
  min-width:0;
}
.mblb-population-submit-row{
  width:100%;
  display:flex;
  justify-content:center;
  margin-top:2px;
}
.mblb-population-submit-row .primary-button,
.mblb-population-submit-row button,
.mblb-population-submit-row input[type="submit"]{
  min-width:240px;
}
.mblb-population-empty-state{
  margin-top:18px;
  min-height:210px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  border:1px dashed rgba(22,58,82,.16);
  background:rgba(255,255,255,.78);
}
.mblb-population-empty-icon{
  width:52px;
  height:52px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  color:#607a93;
  background:rgba(233,239,245,.9);
  margin-bottom:14px;
}
.mblb-population-empty-state h3{
  margin:0 0 6px;
}
.mblb-population-empty-state p{
  margin:0;
  color:#667b8e;
}
@media(max-width:900px){
  .mblb-population-submit-row{
    justify-content:flex-start;
  }
}
@media(max-width:700px){
  .mblb-population-filter-form{
    gap:12px;
  }
  .mblb-population-submit-row{
    justify-content:stretch;
  }
  .mblb-population-submit-row .primary-button,
  .mblb-population-submit-row button,
  .mblb-population-submit-row input[type="submit"]{
    width:100%;
    min-width:0;
    min-height:46px;
  }
}

/* R309D_MBLB_UI_CONSISTENCY */
.mblb-population-empty-state{margin-top:18px}

/* R341U1_USER_MANAGEMENT_SCOPED_SCROLL
   Final baseline Pengguna: compact, no forced wide table, actions remain visible. */
.user-admin-scroll{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch;
}
.user-admin-scroll .user-admin-table{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  table-layout:fixed !important;
}
.user-admin-scroll .user-admin-table th,
.user-admin-scroll .user-admin-table td{
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  vertical-align:middle !important;
}
.user-admin-scroll .user-admin-table th:nth-child(1),
.user-admin-scroll .user-admin-table td:nth-child(1){width:18% !important;min-width:0 !important;}
.user-admin-scroll .user-admin-table th:nth-child(2),
.user-admin-scroll .user-admin-table td:nth-child(2){width:12% !important;min-width:0 !important;}
.user-admin-scroll .user-admin-table th:nth-child(3),
.user-admin-scroll .user-admin-table td:nth-child(3){width:14% !important;min-width:0 !important;}
.user-admin-scroll .user-admin-table th:nth-child(4),
.user-admin-scroll .user-admin-table td:nth-child(4){width:13% !important;min-width:0 !important;}
.user-admin-scroll .user-admin-table th:nth-child(5),
.user-admin-scroll .user-admin-table td:nth-child(5){width:13% !important;min-width:0 !important;}
.user-admin-scroll .user-admin-table th:nth-child(6),
.user-admin-scroll .user-admin-table td:nth-child(6){
  width:30% !important;
  min-width:0 !important;
}
.user-admin-scroll .user-row-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:6px !important;
  align-items:start !important;
  min-width:0 !important;
  width:100% !important;
  max-width:230px !important;
}
.user-admin-scroll .user-row-actions > form{
  margin:0 !important;
  min-width:0 !important;
}
.user-admin-scroll .user-row-actions > form:first-child{
  display:flex !important;
  justify-content:flex-start !important;
}
.user-admin-scroll .user-row-actions > form:first-child .secondary-button{
  min-width:0 !important;
  width:auto !important;
  white-space:nowrap !important;
}
.user-admin-scroll .reset-password-form{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:6px !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
  max-width:230px !important;
}
.user-admin-scroll .reset-password-form input{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
.user-admin-scroll .reset-password-form .secondary-button{
  width:auto !important;
  min-width:0 !important;
  white-space:nowrap !important;
}
@media(max-width:760px){
  .user-admin-scroll .user-admin-table{
    min-width:760px !important;
  }
}

/* R345_COMPACT_UI_BASELINE
   Baseline UI tabel pajak: content-driven, minim ruang kosong, scroll hanya bila perlu.
   Saat ini diterapkan ke tabel Rincian Temuan MBLB dan menjadi pola untuk jenis pajak berikutnya. */

.mblb-simple-supervision-scroll{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}

.mblb-simple-supervision-table{
  width:100% !important;
  min-width:1080px !important;
  max-width:none !important;
  table-layout:fixed !important;
}

.mblb-simple-supervision-table th,
.mblb-simple-supervision-table td{
  padding:7px 8px !important;
  vertical-align:middle !important;
  line-height:1.25 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.mblb-simple-supervision-table th:nth-child(1),
.mblb-simple-supervision-table td:nth-child(1){width:8% !important;white-space:nowrap !important;}

.mblb-simple-supervision-table th:nth-child(2),
.mblb-simple-supervision-table td:nth-child(2){width:6% !important;white-space:nowrap !important;text-align:center;}

.mblb-simple-supervision-table th:nth-child(3),
.mblb-simple-supervision-table td:nth-child(3){width:8% !important;white-space:nowrap !important;}

.mblb-simple-supervision-table th:nth-child(4),
.mblb-simple-supervision-table td:nth-child(4){
  width:20% !important;
  white-space:normal !important;
  min-width:200px !important;
}

.mblb-simple-supervision-table th:nth-child(5),
.mblb-simple-supervision-table td:nth-child(5){width:10% !important;white-space:nowrap !important;}

.mblb-simple-supervision-table th:nth-child(6),
.mblb-simple-supervision-table td:nth-child(6){width:8% !important;white-space:nowrap !important;}

.mblb-simple-supervision-table th:nth-child(7),
.mblb-simple-supervision-table td:nth-child(7){width:8% !important;white-space:nowrap !important;}

.mblb-simple-supervision-table th:nth-child(8),
.mblb-simple-supervision-table td:nth-child(8){width:11% !important;white-space:nowrap !important;}

.mblb-simple-supervision-table th:nth-child(9),
.mblb-simple-supervision-table td:nth-child(9){
  width:21% !important;
  white-space:normal !important;
  min-width:185px !important;
}

.mblb-simple-supervision-table td:nth-child(5),
.mblb-simple-supervision-table td:nth-child(6),
.mblb-simple-supervision-table td:nth-child(8){
  text-align:right !important;
  font-variant-numeric:tabular-nums;
}

.mblb-simple-supervision-table td:nth-child(4) strong,
.mblb-simple-supervision-table td:nth-child(9) strong{
  display:block;
  line-height:1.2;
}

.mblb-simple-supervision-table td:nth-child(4) .muted,
.mblb-simple-supervision-table td:nth-child(9) .muted{
  display:block;
  margin-top:2px;
  line-height:1.25;
}

@media(max-width:1180px){
  .mblb-simple-supervision-table{
    width:1080px !important;
    min-width:1080px !important;
  }
}

@media(max-width:760px){
  .mblb-simple-supervision-table{
    width:1040px !important;
    min-width:1040px !important;
  }
  .mblb-simple-supervision-table th,
  .mblb-simple-supervision-table td{
    padding:6px 7px !important;
  }
}

/* R345A_COMPACT_UI_DESKTOP_FIT
   Koreksi R345/R344F: desktop harus menampilkan kolom Status tanpa scroll bila ruang cukup.
   Scroll tetap aktif hanya saat viewport benar-benar lebih sempit. */

.mblb-simple-supervision-scroll > .mblb-simple-supervision-table{
  width:100% !important;
  min-width:1060px !important;
  max-width:none !important;
  table-layout:fixed !important;
}

.mblb-simple-supervision-scroll > .mblb-simple-supervision-table th,
.mblb-simple-supervision-scroll > .mblb-simple-supervision-table td{
  padding:7px 7px !important;
}

/* Content-driven widths */
.mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(1),
.mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(1){
  width:88px !important;
  min-width:88px !important;
  white-space:nowrap !important;
}

.mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(2),
.mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(2){
  width:72px !important;
  min-width:72px !important;
  white-space:nowrap !important;
  text-align:center !important;
}

.mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(3),
.mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(3){
  width:98px !important;
  min-width:98px !important;
  white-space:nowrap !important;
}

.mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(4),
.mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(4){
  width:auto !important;
  min-width:210px !important;
  white-space:normal !important;
}

.mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(5),
.mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(5){
  width:128px !important;
  min-width:128px !important;
  white-space:nowrap !important;
}

.mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(6),
.mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(6){
  width:92px !important;
  min-width:92px !important;
  white-space:nowrap !important;
}

.mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(7),
.mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(7){
  width:98px !important;
  min-width:98px !important;
  white-space:nowrap !important;
}

.mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(8),
.mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(8){
  width:128px !important;
  min-width:128px !important;
  white-space:nowrap !important;
}

.mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(9),
.mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(9){
  width:185px !important;
  min-width:185px !important;
  white-space:normal !important;
}

@media(max-width:1100px){
  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table{
    width:1060px !important;
    min-width:1060px !important;
  }
}

/* R345B_DESKTOP_NO_SCROLL_BALANCE
   Desktop: semua 9 kolom MBLB harus muat di panel tanpa horizontal scroll.
   Scroll baru aktif pada viewport sempit. */

@media(min-width:1101px){
  .mblb-simple-supervision-scroll{
    overflow-x:hidden !important;
  }

  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    table-layout:fixed !important;
  }

  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table th,
  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table td{
    min-width:0 !important;
    padding:7px 6px !important;
  }

  /* Rasio total = 100%. Kolom kecil benar-benar kecil; ruang utama ke Material dan Status. */
  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(1),
  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(1){
    width:8% !important;
    white-space:nowrap !important;
  }

  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(2),
  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(2){
    width:6% !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(3),
  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(3){
    width:9% !important;
    white-space:nowrap !important;
  }

  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(4),
  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(4){
    width:24% !important;
    white-space:normal !important;
  }

  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(5),
  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(5){
    width:10% !important;
    white-space:nowrap !important;
  }

  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(6),
  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(6){
    width:8% !important;
    white-space:nowrap !important;
  }

  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(7),
  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(7){
    width:9% !important;
    white-space:nowrap !important;
  }

  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(8),
  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(8){
    width:11% !important;
    white-space:nowrap !important;
  }

  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table th:nth-child(9),
  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table td:nth-child(9){
    width:15% !important;
    white-space:normal !important;
  }
}

/* Tablet/HP: pertahankan scroll aman, jangan paksa kolom terjepit. */
@media(max-width:1100px){
  .mblb-simple-supervision-scroll{
    overflow-x:auto !important;
  }
  .mblb-simple-supervision-scroll > .mblb-simple-supervision-table{
    width:1060px !important;
    min-width:1060px !important;
    max-width:none !important;
  }
}
/* R4B2C_RECON_INDEPENDENT_NAV_AND_DESKTOP_SCROLL
   Desktop/tablet: hanya area navigasi kiri yang bergulir.
   Brand dan panel user tetap terlihat.
   Mobile existing (<=760px) tidak diubah. */
@media (min-width:761px){
  .app-nav{
    flex:1;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    align-content:start;
    padding-right:2px;
    scrollbar-width:thin;
  }
  .app-nav::-webkit-scrollbar{width:7px}
  .app-nav::-webkit-scrollbar-thumb{
    background:var(--line);
    border-radius:999px;
  }
  .sidebar-spacer{flex:0}
}
/* R4B2F_SIDEBAR_COMPACT_POLISH
   Visual-only refinement. Width sidebar existing tetap dipertahankan. */
@media (min-width:761px){
  .app-sidebar{
    padding:16px 12px 12px;
  }

  .brand-lockup{
    padding:0 5px 13px;
    margin-bottom:3px;
  }

  .app-nav{
    gap:1px;
    padding:2px 4px 4px 0;
  }

  .nav-item,
  .nav-group-toggle{
    border-radius:8px;
  }

  .nav-item{
    padding:7px 9px;
    line-height:1.22;
  }

  .nav-group-toggle{
    padding:7px 9px;
    line-height:1.22;
  }

  .nav-menu-group{
    gap:1px;
  }

  .nav-menu-group .nav-subitem{
    padding:5px 9px;
    font-size:11.5px;
  }

  .nav-subitems{
    gap:1px;
    padding-left:7px;
  }

  .nav-nested-group .nav-subitems{
    padding-left:6px;
  }

  .nav-chevron{
    margin-left:auto;
  }

  .app-nav::-webkit-scrollbar{
    width:4px;
  }

  .app-nav::-webkit-scrollbar-thumb{
    border-radius:999px;
  }

  .sidebar-user-panel{
    background:#fff;
    padding-top:9px;
  }

  .sidebar-logout-button{
    min-height:36px;
  }

  .app-nav > .nav-item[href="/rekonsiliasi/piutang-audited"]{
    margin-top:2px;
    border-top:1px solid #edf1f4;
    padding-top:9px;
  }
}
/* R4B3B_RECEIVABLE_RECON_CLEAN */
.receivable-recon-clean-header{
  margin-bottom:10px;
  align-items:end;
}
.receivable-recon-clean-status{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.receivable-recon-clean-chip{
  display:inline-flex;
  align-items:center;
  border:1px solid #d7e1e8;
  background:#f7f9fb;
  color:#607589;
  border-radius:999px;
  padding:5px 8px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.5px;
}
.receivable-recon-clean-date{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
}

.receivable-recon-clean-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-bottom:11px;
}
.receivable-recon-clean-kpi{
  min-width:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:11px;
  padding:12px 13px;
  display:grid;
  gap:3px;
  box-shadow:0 3px 12px rgba(15,47,77,.025);
}
.receivable-recon-clean-kpi-main{border-top:3px solid var(--red)}
.receivable-recon-clean-kpi>span{
  color:var(--muted);
  font-size:8.8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.35px;
}
.receivable-recon-clean-kpi>strong{
  color:var(--navy);
  font-size:18px;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.receivable-recon-clean-kpi>small{
  color:#8d9aa6;
  font-size:9.5px;
}
.receivable-recon-clean-source a{
  color:var(--navy);
  font-weight:850;
  text-decoration:none;
}
.receivable-recon-clean-source a:hover{color:var(--red)}

.receivable-recon-clean-panel{
  margin-bottom:11px;
  overflow:hidden;
}
.receivable-recon-clean-panel-head{
  align-items:center;
}
.receivable-recon-clean-panel-head>strong{
  color:var(--navy);
  font-size:14px;
  white-space:nowrap;
}
.receivable-recon-clean-summary th,
.receivable-recon-clean-summary td,
.receivable-recon-clean-payment th,
.receivable-recon-clean-payment td{
  padding-top:7px;
  padding-bottom:7px;
}
.receivable-recon-clean-summary tbody tr:nth-child(even) td,
.receivable-recon-clean-payment tbody tr:nth-child(even) td{
  background:#fbfcfd;
}

.receivable-recon-clean-pdl{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  padding:0 13px 13px;
}
.receivable-recon-clean-pdl>div{
  min-width:0;
  background:#f8fafc;
  border:1px solid #e4ebf1;
  border-radius:8px;
  padding:9px 10px;
}
.receivable-recon-clean-pdl span{
  display:block;
  color:var(--muted);
  font-size:8.8px;
  font-weight:850;
  margin-bottom:2px;
}
.receivable-recon-clean-pdl strong{
  display:block;
  color:var(--navy);
  font-size:12.5px;
  overflow-wrap:anywhere;
}

.receivable-recon-clean-notes{
  margin:0 0 10px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:9px;
  overflow:hidden;
}
.receivable-recon-clean-notes summary{
  cursor:pointer;
  padding:9px 12px;
  color:#607589;
  font-size:10.5px;
  font-weight:850;
  user-select:none;
}
.receivable-recon-clean-notes[open] summary{
  border-bottom:1px solid #edf1f4;
  color:var(--navy);
}
.receivable-recon-clean-notes>div{
  padding:8px 12px 10px;
}
.receivable-recon-clean-notes p{
  margin:3px 0;
  color:#607589;
  font-size:10px;
  line-height:1.45;
}

@media (max-width:1180px) and (min-width:761px){
  .receivable-recon-clean-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .receivable-recon-clean-pdl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .receivable-recon-clean-header{align-items:start}
  .receivable-recon-clean-status{justify-content:flex-start}
  .receivable-recon-clean-kpis,
  .receivable-recon-clean-pdl{grid-template-columns:1fr}
  .receivable-recon-clean-pdl{padding:0 10px 10px}
  .receivable-recon-clean-panel-head{align-items:flex-start}
}
/* R4B4A_RECON_DETAIL_AND_PBB_DENSITY */
.receivable-recon-clickable-pdl>div{display:none}
.receivable-recon-domain-card{
  min-width:0;
  background:#f8fafc;
  border:1px solid #e4ebf1;
  border-radius:8px;
  overflow:hidden;
}
.receivable-recon-domain-card>summary{
  list-style:none;
  cursor:pointer;
  padding:9px 10px;
  display:grid;
  gap:2px;
}
.receivable-recon-domain-card>summary::-webkit-details-marker{display:none}
.receivable-recon-domain-card>summary:hover{background:#f3f7fa}
.receivable-recon-domain-card>summary span{
  color:var(--muted);
  font-size:8.8px;
  font-weight:850;
}
.receivable-recon-domain-card>summary strong{
  color:var(--navy);
  font-size:12.5px;
}
.receivable-recon-domain-card>summary small{
  color:#8a99a6;
  font-size:8.8px;
}
.receivable-recon-domain-card[open]{
  grid-column:1/-1;
  background:#fff;
}
.receivable-recon-domain-card[open]>summary{
  border-bottom:1px solid #e7edf2;
}
.receivable-recon-domain-detail{padding:0}
.receivable-recon-domain-table{
  min-width:900px;
}
.receivable-recon-domain-table td:nth-child(2) strong{
  display:block;
}
.receivable-recon-domain-table td:nth-child(2) small{
  display:block;
  color:var(--muted);
  font-size:9px;
  margin-top:1px;
}
.receivable-recon-domain-table tfoot td{
  background:#f7f9fb;
  border-top:1px solid var(--line);
}

.receivable-recon-share{
  display:grid;
  grid-template-columns:minmax(70px,1fr) 42px;
  gap:7px;
  align-items:center;
}
.receivable-recon-share-track{
  height:6px;
  background:#edf1f4;
  border-radius:999px;
  overflow:hidden;
}
.receivable-recon-share-track span{
  display:block;
  height:100%;
  min-width:2px;
  background:#9eafbd;
  border-radius:999px;
}
.receivable-recon-share small{
  color:#607589;
  font-size:9px;
  text-align:right;
}
.receivable-recon-payment-rich tfoot td{
  background:#f7f9fb;
  border-top:1px solid var(--line);
}
@media (max-width:760px){
  .receivable-recon-domain-card[open]{grid-column:auto}
  .receivable-recon-domain-table{min-width:820px}
  .receivable-recon-share{grid-template-columns:minmax(60px,1fr) 38px}
}
/* R4B4B_PBB_YEAR_COLUMN_PADDING
   Minor visual alignment: beri ruang kiri pada kolom Tahun Pajak saja. */
.receivable-recon-payment-rich th:first-child,
.receivable-recon-payment-rich td:first-child{
  padding-left:16px;
}
/* R4B4C_BASELINE_GROUP_COLUMN_PADDING
   Selaraskan kolom Kelompok pada tabel Komposisi Saldo Awal. */
.receivable-recon-clean-summary th:first-child,
.receivable-recon-clean-summary td:first-child{
  padding-left:16px;
}

/* R4C4B_PDL_DYNAMIC_STATUS_UI */
.receivable-recon-status{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#f7f9fb;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
}
.receivable-recon-status-lunas{background:#f2f8f5}
.receivable-recon-status-belum-bayar{background:#fff7ed}
.receivable-recon-status-dibayar-sebagian{background:#fffbea}
.receivable-recon-status-dibatalkan{background:#f4f4f5}
.receivable-recon-status-perlu-review{background:#fff1f2}
.receivable-recon-domain-table{min-width:1180px}

/* R4C5A_EQUAL_DOMAIN_DASHBOARD */
.receivable-recon-equal-summary{
  display:grid;
  grid-template-columns:minmax(230px,1.05fr) minmax(360px,1.55fr) minmax(190px,.8fr);
  gap:12px;
  align-items:stretch;
  margin:0 0 14px;
  padding:14px;
  background:linear-gradient(135deg,#eef6ff,#f8fbff);
  border:1px solid #d8e7f4;
  border-radius:12px;
}
.receivable-recon-equal-summary-main,
.receivable-recon-equal-meta{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.receivable-recon-equal-summary span,
.receivable-recon-equal-composition span{
  color:#607589;
  font-size:10px;
  font-weight:800;
}
.receivable-recon-equal-summary-main strong{
  color:var(--navy);
  font-size:26px;
  line-height:1.1;
  margin:4px 0;
}
.receivable-recon-equal-summary small{color:#718396;font-size:9.5px}
.receivable-recon-equal-composition{
  display:grid;
  grid-template-columns:1fr 24px 1fr;
  gap:8px;
  align-items:center;
  padding:10px 12px;
  background:rgba(255,255,255,.75);
  border:1px solid #e3edf5;
  border-radius:10px;
}
.receivable-recon-equal-composition>div{min-width:0}
.receivable-recon-equal-composition strong{
  display:block;
  margin:3px 0 1px;
  color:var(--navy);
  font-size:15px;
  overflow-wrap:anywhere;
}
.receivable-recon-equal-composition b{text-align:center;color:#7790a5}
.receivable-recon-equal-meta{
  padding:8px 10px;
  border-left:1px solid #d9e7f3;
}
.receivable-recon-equal-meta strong{
  margin:3px 0;
  font-size:15px;
  color:var(--navy);
}
.receivable-recon-equal-section{
  margin:0 0 14px;
}
.receivable-recon-equal-section-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:end;
  margin:0 0 8px;
}
.receivable-recon-equal-section-head h2{margin:2px 0;font-size:16px}
.receivable-recon-equal-section-head p{margin:0;color:#718396;font-size:10px}
.receivable-recon-equal-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(145px,1fr));
  gap:8px;
}
.receivable-recon-tax-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:238px;
  padding:10px;
  border:1px solid #dde7ee;
  border-radius:10px;
  background:#fff;
  text-decoration:none;
  color:inherit;
  box-shadow:0 1px 2px rgba(27,56,80,.04);
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;
}
.receivable-recon-tax-card:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(27,56,80,.08);
  border-color:#b9ccd9;
}
.receivable-recon-tax-card-pbb{background:linear-gradient(180deg,#f0f7ff,#fff)}
.receivable-recon-tax-card-title{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  margin-bottom:8px;
}
.receivable-recon-tax-card-title>strong{font-size:11.5px;color:var(--navy)}
.receivable-recon-tax-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:7px;
  background:#edf4f8;
  color:#315b77;
  font-size:9px;
  font-weight:900;
}
.receivable-recon-tax-card dl{margin:0}
.receivable-recon-tax-card dl>div{
  padding:6px 0;
  border-top:1px solid #edf2f5;
}
.receivable-recon-tax-card dt{
  color:#718396;
  font-size:8.8px;
  font-weight:750;
}
.receivable-recon-tax-card dd{
  margin:2px 0 0;
  color:var(--navy);
  font-size:11.5px;
  font-weight:900;
  overflow-wrap:anywhere;
}
.receivable-recon-tax-statuses{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3px 6px;
  margin-top:6px;
  padding:6px;
  background:#f8fafb;
  border-radius:7px;
  font-size:8.3px;
  color:#607589;
}
.receivable-recon-tax-statuses b{color:var(--navy)}
.receivable-recon-tax-card-note{
  margin-top:auto;
  padding-top:6px;
  color:#7a6a50;
  font-size:8.5px;
  font-weight:750;
}
.receivable-recon-tax-card-link{
  margin-top:auto;
  padding-top:8px;
  color:#315b77;
  font-size:9px;
  font-weight:850;
}
@media (max-width:1400px){
  .receivable-recon-equal-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}
}
@media (max-width:1000px) and (min-width:761px){
  .receivable-recon-equal-summary{grid-template-columns:1fr 1fr}
  .receivable-recon-equal-meta{grid-column:1/-1;border-left:0;border-top:1px solid #d9e7f3}
  .receivable-recon-equal-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}
}
@media (max-width:760px){
  .receivable-recon-equal-summary{grid-template-columns:1fr;padding:10px}
  .receivable-recon-equal-composition{grid-template-columns:1fr}
  .receivable-recon-equal-composition>b{display:none}
  .receivable-recon-equal-meta{border-left:0;border-top:1px solid #d9e7f3}
  .receivable-recon-equal-grid{grid-template-columns:1fr}
  .receivable-recon-tax-card{min-height:0}
}

/* R4C5B_RECON_DASHBOARD_COMPACT_7_COLUMN
   Presentation only: rapatkan dashboard agar 7 jenis pajak terbaca sejajar
   pada desktop lebar tanpa mengubah data, service, route, atau logika. */

@media (min-width:1280px){
  .receivable-recon-equal-grid{
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:7px;
  }

  .receivable-recon-tax-card{
    min-width:0;
    min-height:218px;
    padding:9px 8px;
    border-radius:9px;
  }

  .receivable-recon-tax-card-title{
    min-height:27px;
    gap:6px;
    margin-bottom:6px;
  }

  .receivable-recon-tax-card-title>strong{
    font-size:10.5px;
    line-height:1.15;
  }

  .receivable-recon-tax-icon{
    width:25px;
    height:25px;
    border-radius:6px;
    font-size:8px;
    flex:0 0 25px;
  }

  .receivable-recon-tax-card dl>div{
    padding:5px 0;
  }

  .receivable-recon-tax-card dt{
    font-size:8px;
    line-height:1.15;
  }

  .receivable-recon-tax-card dd{
    margin-top:1px;
    font-size:10.5px;
    line-height:1.2;
    letter-spacing:-.1px;
  }

  .receivable-recon-tax-statuses{
    grid-template-columns:1fr 1fr;
    gap:2px 4px;
    margin-top:5px;
    padding:5px;
    font-size:7.7px;
    line-height:1.15;
  }

  .receivable-recon-tax-card-note,
  .receivable-recon-tax-card-link{
    font-size:8px;
  }

  .receivable-recon-tax-card-link{
    padding-top:6px;
  }

  .receivable-recon-equal-summary{
    grid-template-columns:minmax(220px,.95fr) minmax(390px,1.55fr) minmax(170px,.7fr);
    gap:10px;
    padding:11px 12px;
    margin-bottom:11px;
  }

  .receivable-recon-equal-summary-main strong{
    font-size:23px;
  }

  .receivable-recon-equal-composition{
    padding:8px 10px;
  }

  .receivable-recon-equal-composition strong{
    font-size:13.5px;
  }

  .receivable-recon-equal-meta{
    padding:6px 9px;
  }

  .receivable-recon-equal-section{
    margin-bottom:11px;
  }

  .receivable-recon-equal-section-head{
    margin-bottom:6px;
  }

  .receivable-recon-equal-section-head h2{
    font-size:15px;
  }
}

/* Tablet/desktop sedang tetap nyaman: jangan dipaksa 7 kolom terlalu sempit. */
@media (min-width:1001px) and (max-width:1279px){
  .receivable-recon-equal-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

/* Mobile tetap satu kolom seperti kontrak sebelumnya. */
@media (max-width:760px){
  .receivable-recon-equal-grid{
    grid-template-columns:1fr;
  }
}

/* R4C5C_ONE_CLICK_DETAIL_AND_DEDUP */
.receivable-recon-domain-card,
#rekon-pbb-detail{
  scroll-margin-top:18px;
}
.receivable-recon-domain-card:target{
  border-color:#b7ccda;
  box-shadow:0 0 0 2px rgba(49,91,119,.08);
}

/* R4C5D_REMOVE_VISUAL_DUPLICATES
   Komposisi saldo awal dipadatkan menjadi collapsible.
   Rincian PDL tidak lagi tampil sebagai 6 kartu duplikat; hanya detail yang
   dipilih dari dashboard 7 kartu yang ditampilkan. */

.receivable-recon-baseline-compact{
  margin:0 0 10px;
  border:1px solid #dfe8ef;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.receivable-recon-baseline-compact>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px 14px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.receivable-recon-baseline-compact>summary::-webkit-details-marker{display:none}
.receivable-recon-baseline-compact>summary>span:first-child{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.receivable-recon-baseline-compact>summary small{
  color:#b91c2b;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.receivable-recon-baseline-compact>summary strong{
  color:var(--navy);
  font-size:12px;
}
.receivable-recon-baseline-compact-values{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  text-align:right;
}
.receivable-recon-baseline-compact-values b{
  color:var(--navy);
  font-size:13px;
}
.receivable-recon-baseline-compact-values em{
  color:#718396;
  font-size:8.5px;
  font-style:normal;
}
.receivable-recon-baseline-compact-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:0 14px 12px;
  border-top:1px solid #eef2f5;
}
.receivable-recon-baseline-compact-body>div{padding:8px 0 0}
.receivable-recon-baseline-compact-body span{
  display:block;
  color:#718396;
  font-size:8.5px;
}
.receivable-recon-baseline-compact-body strong{
  display:block;
  margin-top:2px;
  color:var(--navy);
  font-size:11px;
}
.receivable-recon-pdl-detail-workspace{
  margin:0 0 10px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.receivable-recon-pdl-detail-workspace>.panel-head{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.receivable-recon-pdl-detail-workspace .receivable-recon-clean-pdl{
  display:block;
  padding:0;
}
.receivable-recon-pdl-detail-workspace .receivable-recon-domain-card:not([open]){
  display:none;
}
.receivable-recon-pdl-detail-workspace .receivable-recon-domain-card[open]{
  display:block;
  width:100%;
  margin:0 0 10px;
}
@media (max-width:760px){
  .receivable-recon-baseline-compact>summary{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
  .receivable-recon-baseline-compact-values{
    align-items:flex-start;
    text-align:left;
  }
  .receivable-recon-baseline-compact-body{
    grid-template-columns:1fr;
  }
}


/* R363A_MBLB_UI_COLLISION_FIX
   UI-only. Rapikan rincian case MBLB dan tindak lanjut temuan. */

/* Daftar Pengawasan MBLB: jangan paksa 5 elemen ke satu baris sempit. */
.mblb-object-case-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px 10px !important;
  align-items:center !important;
}
.mblb-object-case-row .mblb-case-select{
  flex:0 0 24px !important;
}
.mblb-object-case-row .mblb-case-period{
  flex:1 1 125px !important;
  min-width:0 !important;
}
.mblb-object-case-row .mblb-case-finding{
  flex:1 1 100% !important;
  min-width:0 !important;
}
.mblb-object-case-row .mblb-case-status{
  flex:0 1 auto !important;
  max-width:calc(100% - 78px) !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.mblb-object-case-row .mblb-case-open{
  flex:0 0 auto !important;
  margin-left:auto !important;
  min-width:58px !important;
  text-align:center !important;
  position:static !important;
}
.mblb-object-case-row .mblb-case-status,
.mblb-object-case-row .mblb-case-open{
  white-space:nowrap !important;
}

/* Tindak Lanjut Temuan MBLB: checkbox jelas dan tanpa kode mesin sumber. */
.mblb-disposition-scroll{
  overflow-x:auto !important;
}
.mblb-disposition-table{
  width:100% !important;
  min-width:720px !important;
  table-layout:auto !important;
}
.mblb-disposition-table th:nth-child(1),
.mblb-disposition-table td:nth-child(1){
  width:96px !important;
  min-width:96px !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
}
.mblb-disposition-table th:nth-child(2),
.mblb-disposition-table td:nth-child(2){
  width:230px !important;
  min-width:190px !important;
}
.mblb-disposition-check{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  cursor:pointer !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
.mblb-disposition-check input[type="checkbox"]{
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  margin:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  position:static !important;
  cursor:pointer !important;
}
@media(max-width:760px){
  .mblb-disposition-table{min-width:680px !important;}
  .mblb-object-case-row .mblb-case-period{flex-basis:calc(100% - 34px) !important;}
}

/* R378G_DATA_PAJAK_BPHTB_CLARITY */
.bphtb-page-note{
  margin:6px 0 0;
  max-width:760px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.bphtb-filter-help{
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}
.bphtb-result-head{
  margin:18px 0 10px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
.bphtb-result-head>div:first-child{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.bphtb-result-head strong{
  color:var(--navy);
  font-size:18px;
}
.bphtb-result-head span,
.bphtb-result-source{
  color:var(--muted);
  font-size:11px;
}
.bphtb-summary-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.bphtb-summary-card{
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel);
  padding:12px 14px;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.bphtb-summary-card span{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  line-height:1.25;
}
.bphtb-summary-card strong{
  color:var(--navy);
  font-size:20px;
  line-height:1.1;
}
.bphtb-summary-card small{
  color:var(--muted);
  font-size:9.5px;
}
.bphtb-empty-state{
  margin-top:18px;
  min-height:150px;
  border:1px dashed var(--line);
  border-radius:14px;
  background:var(--panel);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  padding:24px;
  color:var(--muted);
}
.bphtb-empty-state strong{
  color:var(--navy);
  font-size:15px;
}
.bphtb-empty-state span{
  font-size:11px;
}
.bphtb-table-r378g{
  min-width:1900px;
}
.bphtb-table-r378g th,
.bphtb-table-r378g td{
  vertical-align:middle;
  white-space:nowrap;
}
.bphtb-table-r378g td:nth-child(6),
.bphtb-table-r378g td:nth-child(7),
.bphtb-table-r378g td:nth-child(8){
  white-space:normal;
  min-width:170px;
  max-width:260px;
}
.bphtb-open-button{
  display:inline-flex;
  min-width:58px;
  min-height:32px;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  font-size:11px;
}
@media(max-width:1200px){
  .bphtb-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .bphtb-result-head{align-items:flex-start;flex-direction:column}
  .bphtb-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bphtb-summary-card:first-child{grid-column:1/-1}
  .bphtb-page-note{font-size:11px}
}

/* R378J_DATA_PAJAK_BPHTB_VISUAL_POLISH */
.bphtb-filter-grid{align-items:end!important}
.bphtb-filter-grid label{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  font-size:11px!important;
  color:var(--muted)!important;
  font-weight:800!important;
  min-width:0!important;
}
.bphtb-filter-grid label>span{
  display:block!important;
  font-size:10.5px!important;
  color:var(--muted)!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.bphtb-filter-grid label input,
.bphtb-filter-grid label select{
  font-size:13px!important;
  color:var(--text)!important;
  height:44px!important;
}
.bphtb-actions{align-self:end!important}

.bphtb-table-r378g{
  width:1650px!important;
  min-width:1650px!important;
  max-width:none!important;
  table-layout:auto!important;
}
.bphtb-table-r378g th{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  vertical-align:middle!important;
}
.bphtb-table-r378g td{
  word-break:normal!important;
  overflow-wrap:normal!important;
  vertical-align:middle!important;
}
.bphtb-table-r378g th:nth-child(1),.bphtb-table-r378g td:nth-child(1){min-width:92px!important;text-align:center!important}
.bphtb-table-r378g th:nth-child(2),.bphtb-table-r378g td:nth-child(2){min-width:105px!important;text-align:center!important}
.bphtb-table-r378g th:nth-child(3),.bphtb-table-r378g td:nth-child(3){min-width:185px!important}
.bphtb-table-r378g th:nth-child(4),.bphtb-table-r378g td:nth-child(4){min-width:160px!important}
.bphtb-table-r378g th:nth-child(5),.bphtb-table-r378g td:nth-child(5){min-width:210px!important;white-space:normal!important}
.bphtb-table-r378g th:nth-child(6),.bphtb-table-r378g td:nth-child(6){min-width:175px!important;white-space:normal!important}
.bphtb-table-r378g th:nth-child(7),.bphtb-table-r378g td:nth-child(7){min-width:120px!important;text-align:center!important}
.bphtb-table-r378g th:nth-child(8),.bphtb-table-r378g td:nth-child(8){min-width:140px!important;text-align:center!important}
.bphtb-table-r378g th:nth-child(9),.bphtb-table-r378g td:nth-child(9),
.bphtb-table-r378g th:nth-child(10),.bphtb-table-r378g td:nth-child(10),
.bphtb-table-r378g th:nth-child(11),.bphtb-table-r378g td:nth-child(11){min-width:125px!important}
.bphtb-table-r378g th:nth-child(12),.bphtb-table-r378g td:nth-child(12){min-width:105px!important;text-align:center!important}
.bphtb-table-r378g th:nth-child(13),.bphtb-table-r378g td:nth-child(13){min-width:76px!important;text-align:center!important}

@media(max-width:1450px){
  .bphtb-filter-grid{
    grid-template-columns:minmax(240px,1.5fr) minmax(160px,1fr) minmax(180px,1fr) minmax(150px,.9fr)!important;
  }
  .bphtb-from,.bphtb-to,.bphtb-year,.bphtb-actions{grid-row:2!important}
  .bphtb-from{grid-column:1!important}
  .bphtb-to{grid-column:2!important}
  .bphtb-year{grid-column:3!important}
  .bphtb-actions{grid-column:4!important}
}
@media(max-width:900px){
  .bphtb-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bphtb-from,.bphtb-to,.bphtb-year,.bphtb-actions{grid-row:auto!important;grid-column:auto!important}
  .bphtb-actions{grid-column:1/-1!important}
}
@media(max-width:760px){
  .bphtb-filter-grid{grid-template-columns:1fr!important}
  .bphtb-actions{grid-column:auto!important}
}

/* R378P_BPHTB_CLICKABLE_SUMMARY */
.bphtb-summary-action{
  appearance:none;
  width:100%;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.bphtb-summary-action:hover{
  border-color:var(--navy);
}
.bphtb-summary-action:focus-visible{
  outline:3px solid rgba(20,52,92,.18);
  outline-offset:2px;
}
.bphtb-summary-action.is-active{
  border-color:var(--navy);
  background:#f3f6fa;
}
#bphtb-result-table{
  scroll-margin-top:16px;
}
#bphtb-result-table tbody tr[hidden]{
  display:none!important;
}


/* R385H_PRA_TABLE_USEFUL_SPACING */
.pra-page-scope {
  padding: 0 10px 34px;
}

.pra-page-scope .panel {
  margin-bottom: 18px;
  padding: 20px 22px;
  border-radius: 18px;
  overflow: hidden;
}

.pra-page-scope .panel-head,
.pra-page-scope .section-head {
  margin-bottom: 10px;
}

.pra-page-scope table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.pra-page-scope th,
.pra-page-scope td {
  padding: 12px 18px;
  line-height: 1.45;
  vertical-align: top;
}

.pra-page-scope th:first-child,
.pra-page-scope td:first-child {
  padding-left: 22px;
}

.pra-page-scope th:last-child,
.pra-page-scope td:last-child {
  padding-right: 22px;
}

.pra-page-scope tbody tr + tr td {
  border-top: 1px solid rgba(10, 31, 68, 0.06);
}

.pra-section-note {
  margin: 4px 0 14px;
  max-width: 980px;
  color: #5b667a;
  font-size: 0.92rem;
  line-height: 1.45;
}

.pra-purpose-panel {
  background: #fffdf1;
}

.pra-purpose-title {
  font-weight: 800;
  color: #0b2347;
  margin-bottom: 6px;
}

.pra-purpose-text {
  color: #3f4b61;
  line-height: 1.5;
}

.pra-warning-panel {
  border: 1px solid rgba(177, 94, 0, 0.22);
  background: #fff8e8;
  color: #5b3a00;
  line-height: 1.5;
}

.pra-page-scope .stat-grid,
.pra-page-scope .kpi-grid {
  gap: 14px;
}

.pra-page-scope .stat-card,
.pra-page-scope .kpi-card {
  padding: 18px 20px;
  border-radius: 16px;
}

@media (max-width: 900px) {
  .pra-page-scope {
    padding: 0 4px 26px;
  }

  .pra-page-scope .panel {
    padding: 16px 14px;
    overflow-x: auto;
  }

  .pra-page-scope table {
    min-width: 760px;
  }

  .pra-page-scope th,
  .pra-page-scope td {
    padding: 11px 14px;
  }

  .pra-section-note {
    font-size: 0.88rem;
  }
}


/* R385J_PRA_NO_MACHINE_TEXT */
.pra-page-scope code,
.pra-page-scope pre,
.pra-page-scope .debug,
.pra-page-scope .raw,
.pra-page-scope .machine-text {
  display: none !important;
}



/* R385J1_PRA_CLEAN_TEXT_FINAL */
.pra-purpose-panel,
.pra-section-note {
  display: none !important;
}


/* PRA_CLEAN_TEXT_SOURCE_FINAL_CSS */
.pra-purpose-panel,
.pra-section-note,
.pra-page-scope code,
.pra-page-scope pre {
  display: none !important;
}


/* R385K_PRA_DATE_LAYOUT_FINAL */
.pra-page-scope {
  padding: 0 12px 28px;
}

.pra-page-scope .panel {
  margin-bottom: 16px !important;
  padding: 18px 20px !important;
  min-height: 0 !important;
  border-radius: 18px;
}

.pra-page-scope .filter-panel {
  padding: 18px 20px !important;
  min-height: 0 !important;
}

.pra-page-scope .filter-panel .panel-head,
.pra-page-scope .panel-head.compact {
  margin-bottom: 12px !important;
}

.pra-page-scope .filter-grid.pra-filter-grid {
  display: flex !important;
  align-items: end !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  max-width: 560px;
  margin: 0 !important;
}

.pra-page-scope .filter-grid.pra-filter-grid label {
  margin: 0 !important;
  min-width: 260px;
}

.pra-page-scope .filter-actions {
  margin: 0 !important;
}

.pra-page-scope .filter-submit {
  min-height: 44px;
}

.pra-page-scope .pra-date-display {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(10, 31, 68, 0.16);
  border-radius: 10px;
  padding: 0 14px;
  font-weight: 800;
  color: #082946;
  background: #fffdf5;
}

.pra-page-scope table {
  margin-top: 6px;
}

.pra-page-scope th,
.pra-page-scope td {
  padding: 10px 16px !important;
  line-height: 1.42;
  vertical-align: top;
}

.pra-page-scope th:first-child,
.pra-page-scope td:first-child {
  padding-left: 18px !important;
}

.pra-page-scope th:last-child,
.pra-page-scope td:last-child {
  padding-right: 18px !important;
}

.pra-purpose-panel,
.pra-section-note,
.pra-page-scope code,
.pra-page-scope pre {
  display: none !important;
}

@media (max-width: 900px) {
  .pra-page-scope {
    padding: 0 4px 22px;
  }

  .pra-page-scope .panel {
    padding: 14px 12px !important;
    margin-bottom: 12px !important;
    overflow-x: auto;
  }

  .pra-page-scope table {
    min-width: 760px;
  }

  .pra-page-scope .filter-grid.pra-filter-grid label {
    min-width: 100%;
  }
}



/* R385LM_PRA_FAST_EXCEL_DATE */
.pra-page-scope {
  padding: 0 12px 28px;
}

.pra-page-scope .panel {
  margin-bottom: 14px !important;
  padding: 16px 18px !important;
  min-height: 0 !important;
  border-radius: 18px;
}

.pra-page-scope .filter-panel {
  min-height: 0 !important;
  padding: 16px 18px !important;
}

.pra-page-scope .filter-grid.pra-filter-grid {
  display: flex !important;
  align-items: end !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}

.pra-page-scope .filter-actions {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap;
  margin: 0 !important;
}

.pra-page-scope .pra-date-input {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(10, 31, 68, 0.16);
  border-radius: 10px;
  padding: 0 14px;
  font-weight: 800;
  color: #082946;
  background: #fffdf5;
}

.pra-excel-button {
  background: #0b5c42 !important;
  color: #fff !important;
  border-color: #0b5c42 !important;
}

.pra-page-scope th,
.pra-page-scope td {
  padding: 10px 16px !important;
  line-height: 1.42;
}

.pra-purpose-panel,
.pra-section-note,
.pra-page-scope code,
.pra-page-scope pre {
  display: none !important;
}

@media (max-width: 900px) {
  .pra-page-scope {
    padding: 0 4px 22px;
  }

  .pra-page-scope .panel {
    padding: 14px 12px !important;
    margin-bottom: 12px !important;
    overflow-x: auto;
  }

  .pra-page-scope table {
    min-width: 760px;
  }
}


/* R385N_PRA_UI_FINAL */
.pra-page-scope {
  padding-top: 0 !important;
}

.pra-page-scope .filter-panel {
  min-height: 0 !important;
  padding: 16px 18px !important;
}

.pra-page-scope .filter-grid.pra-filter-grid {
  display: flex !important;
  align-items: end !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}

.pra-page-scope .filter-actions {
  display: flex !important;
  gap: 12px !important;
  align-items: end !important;
  flex-wrap: wrap !important;
}

.pra-page-scope .filter-submit,
.pra-page-scope .pra-excel-button {
  min-height: 44px !important;
  padding: 0 24px !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.pra-page-scope .pra-excel-button {
  background: #0b5c42 !important;
  border: 1px solid #0b5c42 !important;
  color: #ffffff !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.pra-page-scope .panel {
  margin-bottom: 14px !important;
  min-height: 0 !important;
}

.pra-purpose-panel,
.pra-section-note,
.pra-page-scope code,
.pra-page-scope pre {
  display: none !important;
}


/* R385O_PRA_BASE_GUARD */
html.pra-route .pra-date-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 320px;
}

html.pra-route .pra-date-display-final {
  width: 190px;
  min-height: 44px;
  border: 1px solid rgba(10, 31, 68, 0.16);
  border-radius: 10px;
  padding: 0 14px;
  font-weight: 800;
  color: #082946;
  background: #fffdf5;
}

html.pra-route .pra-date-open {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 10px;
  border: 1px solid rgba(10, 31, 68, 0.16);
  background: #fffdf5;
  font-weight: 800;
  cursor: pointer;
}

html.pra-route .pra-native-date {
  position: absolute !important;
  opacity: 0.01 !important;
  width: 1px !important;
  height: 1px !important;
  pointer-events: none !important;
}

html.pra-route .pra-excel-button {
  min-height: 44px !important;
  padding: 0 24px !important;
  border-radius: 10px !important;
  background: #0b5c42 !important;
  border: 1px solid #0b5c42 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

html.pra-route .filter-submit {
  min-height: 44px !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
}

html.pra-route .filter-grid,
html.pra-route .pra-filter-grid {
  align-items: end !important;
  gap: 12px !important;
}

html.pra-route .panel {
  min-height: 0 !important;
}

html.pra-route .pra-purpose-panel,
html.pra-route .pra-section-note,
html.pra-route code,
html.pra-route pre {
  display: none !important;
}


/* R385P_PRA_FILTER_FINAL */
html.pra-route .pra-page-scope .filter-panel {
  padding: 16px 18px !important;
  min-height: 0 !important;
}

html.pra-route .pra-filter-final {
  display: flex !important;
  flex-direction: row !important;
  align-items: end !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}

html.pra-route .pra-filter-final label {
  margin: 0 !important;
  min-width: auto !important;
}

html.pra-route .pra-date-wrap-final {
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
}

html.pra-route .pra-date-display-button {
  min-width: 210px !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(10, 31, 68, 0.16) !important;
  border-radius: 10px !important;
  background: #fffdf5 !important;
  color: #082946 !important;
  font-weight: 800 !important;
  text-align: left !important;
  cursor: pointer !important;
}

html.pra-route .pra-native-date-final {
  position: absolute !important;
  opacity: 0 !important;
  width: 210px !important;
  height: 44px !important;
  left: 0 !important;
  top: 0 !important;
  cursor: pointer !important;
}

html.pra-route .pra-date-open,
html.pra-route .pra-date-wrap {
  display: none !important;
}

html.pra-route .pra-actions-final,
html.pra-route .filter-actions {
  display: inline-flex !important;
  align-items: end !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}

html.pra-route .filter-submit,
html.pra-route .pra-excel-button {
  min-height: 44px !important;
  padding: 0 24px !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

html.pra-route .pra-excel-button {
  background: #0b5c42 !important;
  border: 1px solid #0b5c42 !important;
  color: #fff !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

html.pra-route .pra-page-scope .panel {
  min-height: 0 !important;
}

html.pra-route .pra-purpose-panel,
html.pra-route .pra-section-note,
html.pra-route code,
html.pra-route pre {
  display: none !important;
}


/* R385Q_PRA_DATE_DISPLAY_FIX */
html.pra-route .pra-filter-final {
  display: flex !important;
  flex-direction: row !important;
  align-items: end !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}

html.pra-route .pra-date-wrap-final {
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
}

html.pra-route .pra-date-display-button {
  min-width: 220px !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(10, 31, 68, 0.16) !important;
  border-radius: 10px !important;
  background: #fffdf5 !important;
  color: #082946 !important;
  font-weight: 800 !important;
  text-align: left !important;
  cursor: pointer !important;
}

html.pra-route .pra-native-date-final {
  position: absolute !important;
  opacity: 0 !important;
  width: 220px !important;
  height: 44px !important;
  left: 0 !important;
  top: 0 !important;
  cursor: pointer !important;
}

html.pra-route .pra-actions-final,
html.pra-route .filter-actions {
  display: inline-flex !important;
  align-items: end !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}

html.pra-route .filter-submit,
html.pra-route .pra-excel-button {
  min-height: 44px !important;
  padding: 0 24px !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

html.pra-route .pra-excel-button {
  background: #0b5c42 !important;
  border: 1px solid #0b5c42 !important;
  color: #fff !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}



/* R385U_PRA_FROM_PENGAWASAN_ACTIVE */
.pra-excel-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 24px !important;
  border-radius: 10px !important;
  background: #0b5c42 !important;
  border: 1px solid #0b5c42 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
