:root{--rekap-green:#198754;--rekap-bg:#f3f6f4;--rekap-border:#dfe6e1;--rekap-muted:#6c757d}
html,body{min-height:100%;background:var(--rekap-bg)}
body{color:#1f2d26}.page-wrap{max-width:1680px;margin:0 auto}.hero-summary{background:linear-gradient(135deg,#0e6f46,#198754 54%,#3a9a6b);color:#fff;border-radius:1.1rem;padding:1.25rem 1.4rem;box-shadow:0 10px 28px rgba(25,135,84,.14)}
.hero-summary h1{font-size:clamp(1.35rem,2.4vw,2.05rem);margin:0}.hero-summary p{margin:.25rem 0 0;color:rgba(255,255,255,.78)}
.filter-card,.panel-card,.kpi-card{border:1px solid var(--rekap-border);border-radius:1rem;background:#fff;box-shadow:0 4px 16px rgba(31,45,38,.035)}
.filter-card .form-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.035em;color:#607068;font-weight:700;margin-bottom:.3rem}.filter-card .form-select,.filter-card .form-control{font-size:.88rem}
.kpi-card{padding:1rem 1.05rem;height:100%;position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;right:-20px;top:-30px;width:80px;height:80px;border-radius:50%;background:rgba(25,135,84,.05)}.kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.045em;color:var(--rekap-muted);font-weight:700}.kpi-value{font-size:clamp(1.15rem,2vw,1.65rem);font-weight:800;line-height:1.15;margin-top:.28rem;font-variant-numeric:tabular-nums}.kpi-sub{font-size:.75rem;color:var(--rekap-muted);margin-top:.2rem}.delta-up{color:#c0392b}.delta-down{color:#16864b}.delta-flat{color:#6c757d}
.breadcrumb-rekap{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;font-size:.84rem}.breadcrumb-rekap button{border:0;background:transparent;color:#198754;padding:.15rem .2rem;font-weight:650}.breadcrumb-rekap button:hover{text-decoration:underline}.breadcrumb-rekap .sep{color:#adb5bd}.breadcrumb-rekap .current{font-weight:750;color:#2c3c34;padding:.15rem .2rem}
.dist-row{display:grid;grid-template-columns:minmax(115px,180px) minmax(140px,1fr) minmax(105px,145px);gap:.65rem;align-items:center;margin:.65rem 0}.dist-label{font-size:.82rem;font-weight:650}.dist-track{height:12px;background:#edf1ee;border-radius:999px;overflow:hidden}.dist-fill{height:100%;border-radius:999px;min-width:0}.dist-value{text-align:right;font-size:.78rem;color:#4e5d55;font-variant-numeric:tabular-nums;white-space:nowrap}
.table-wrap{overflow:auto;max-width:100%}.rekap-table{font-size:.8rem;white-space:nowrap;margin-bottom:0}.rekap-table thead th{position:sticky;top:0;z-index:2;background:#f6f8f7;color:#5f6d65;font-size:.7rem;text-transform:uppercase;letter-spacing:.025em;border-bottom:1px solid #dfe5e1;vertical-align:middle}.rekap-table td{vertical-align:middle}.rekap-table .name-cell{white-space:normal;min-width:185px}.category-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .48rem;border-radius:999px;color:#fff;font-size:.68rem;font-weight:750}.category-pill i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.75)}.area-cell{font-variant-numeric:tabular-nums;text-align:right}.rank-cell{font-weight:800;color:#198754;text-align:center;width:52px}.action-cell .btn{font-size:.72rem;padding:.25rem .5rem}
.table-tools{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:space-between;align-items:center}.pagination-mini{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:#6c757d}.pagination-mini button{min-width:34px}.loading-mask{position:fixed;inset:0;z-index:2000;background:rgba(246,249,247,.78);backdrop-filter:blur(2px);display:grid;place-items:center}.loading-card{background:#fff;border:1px solid #dfe6e1;border-radius:1rem;padding:1rem 1.2rem;box-shadow:0 8px 28px rgba(0,0,0,.12)}.status-note{font-size:.78rem;color:#607068}.empty-state{padding:2.5rem 1rem;text-align:center;color:#7b8981}.small-badge{font-size:.67rem}.navbar .nav-active{background:#fff;color:#198754!important;border-color:#fff}.navbar .btn{white-space:nowrap}
@media(max-width:991.98px){.hero-summary{border-radius:.85rem}.dist-row{grid-template-columns:105px 1fr 95px}.navbar .container-fluid{gap:.5rem}.navbar .d-flex:last-child{width:100%;overflow:auto;padding-bottom:2px}}
@media(max-width:575.98px){.page-wrap{padding-left:.5rem!important;padding-right:.5rem!important}.dist-row{grid-template-columns:1fr}.dist-value{text-align:left}.kpi-card{padding:.85rem}.table-tools{align-items:stretch}.table-tools>div{width:100%}.table-tools .form-control{width:100%!important}}

/* v1.8.1 — tabular-first recap */
.rekap-table tfoot td{position:sticky;bottom:0;z-index:3;background:#eaf5ee;border-top:2px solid #b7d8c4;color:#183b28;box-shadow:0 -2px 8px rgba(31,45,38,.05)}
.rekap-table .rekap-total-row td{font-size:.78rem}
.rekap-table thead th:nth-child(1),.rekap-table tbody td:nth-child(1),.rekap-table tfoot td:nth-child(1){position:sticky;left:0;z-index:4;background:#fff}
.rekap-table thead th:nth-child(1){background:#f6f8f7;z-index:6}
.rekap-table tfoot td:nth-child(1){background:#eaf5ee;z-index:5}
.rekap-table thead th:nth-child(2),.rekap-table tbody td:nth-child(2),.rekap-table tfoot td:nth-child(2){position:sticky;left:52px;z-index:4;background:#fff;box-shadow:5px 0 8px -7px rgba(31,45,38,.35)}
.rekap-table thead th:nth-child(2){background:#f6f8f7;z-index:6}
.rekap-table tfoot td:nth-child(2){background:#eaf5ee;z-index:5}
.rekap-table .category-value{font-weight:650}
.rekap-table tbody tr:hover td:nth-child(1),.rekap-table tbody tr:hover td:nth-child(2){background:#f7fbf8}
@media(max-width:767.98px){.rekap-table thead th:nth-child(1),.rekap-table tbody td:nth-child(1),.rekap-table tfoot td:nth-child(1),.rekap-table thead th:nth-child(2),.rekap-table tbody td:nth-child(2),.rekap-table tfoot td:nth-child(2){position:static;box-shadow:none}}


/* v2.2.0 — unified navigation, cards and impact analysis */
:root{--rekap-border:#cfd8d3;--rekap-shadow:0 7px 18px rgba(33,55,45,.08);--rekap-radius:14px}
.navbar-brand{white-space:normal;line-height:1.15;max-width:min(760px,72vw)}
.filter-card,.panel-card,.kpi-card,.impact-card{border-color:var(--rekap-border);border-radius:var(--rekap-radius);box-shadow:var(--rekap-shadow)}
.filter-card,.panel-card,.kpi-card{position:relative}
.filter-card:after,.panel-card:after,.kpi-card:after{pointer-events:none}
.impact-card{background:#fff;overflow:hidden}
.impact-card-title{color:#fff;font-size:.93rem;font-weight:800;letter-spacing:.035em;padding:.72rem .9rem;background:linear-gradient(145deg,#bd5a3c,#8b2f1f 60%,#682216);border-radius:13px 13px 10px 10px;text-shadow:0 1px 1px rgba(0,0,0,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -3px 0 rgba(0,0,0,.10),0 3px 7px rgba(0,0,0,.08)}
.impact-card-body{padding:1rem}
.impact-note{font-size:.78rem;line-height:1.45;background:#fff4e8;border:1px solid #f1d2b4;border-left:4px solid #ef6c2c;border-radius:.65rem;padding:.65rem .72rem;color:#5c3a21}
.impact-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.impact-metric{border:1px solid #dce3df;border-radius:.8rem;padding:.85rem;background:linear-gradient(180deg,#fff,#f7f9f8);box-shadow:inset 0 1px 0 #fff}
.impact-metric span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.035em;color:#68756e;font-weight:750;line-height:1.25}
.impact-metric b{display:block;font-size:1.18rem;line-height:1.25;margin:.25rem 0 .1rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.impact-metric small{display:block;color:#7c8881;font-size:.7rem}
.impact-metric-money{background:linear-gradient(180deg,#fffaf5,#fff1e4);border-color:#efc29c}.impact-metric-money b{color:#9a3412}
.impact-formula{border-top:1px dashed #d8dfdb;padding-top:.7rem;color:#65736b;font-size:.74rem;line-height:1.5}
.impact-card .form-control,.impact-card .input-group-text,.impact-card .btn{border-radius:.55rem}
@media(max-width:767.98px){.navbar-brand{font-size:1rem;max-width:100%}.impact-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:479.98px){.impact-metrics{grid-template-columns:1fr}}

/* v2.3.0 — reporting entry point */
.btn-report-print{color:#fff;border:1px solid #8c6425;background:linear-gradient(145deg,#d2a64a,#a87925 62%,#7b5518);box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -3px 0 rgba(0,0,0,.12),0 4px 10px rgba(99,70,22,.16);border-radius:.65rem;text-shadow:0 1px 1px rgba(0,0,0,.22)}
.btn-report-print:hover,.btn-report-print:focus{color:#fff;filter:brightness(1.04);transform:translateY(-1px)}

/* ===== Institutional header + integrated search — v3.1.2 ===== */
.rekap-navbar{padding:.3rem 0;min-height:52px}
.rekap-navbar-inner{display:flex;align-items:center;gap:.6rem;flex-wrap:nowrap}
.rekap-site-identity{display:flex;align-items:center;gap:.55rem;min-width:0;flex:0 1 auto}
.rekap-site-logos{display:flex;align-items:center;gap:.35rem;flex:0 0 auto}
.rekap-site-logo{display:block;object-fit:contain;object-position:center;max-width:none}
.rekap-logo-kementan{width:34px;height:34px}
.rekap-logo-brmp{width:auto;height:34px;max-width:108px;background:#fff;border-radius:.35rem;padding:2px 4px;box-shadow:0 0 0 1px rgba(255,255,255,.45)}
.rekap-title-wrap{display:flex;align-items:center;gap:.35rem;min-width:0}
.navbar-brand.rekap-site-title{font-size:.68rem;line-height:1.18;letter-spacing:.012em;white-space:normal;max-width:215px;margin-right:0;color:#fff}
.rekap-mode-badge{font-size:.56rem;line-height:1;padding:.3rem .4rem;white-space:nowrap}
.rekap-header-search{position:relative;flex:1 1 300px;max-width:350px;min-width:230px;margin-left:auto}
.rekap-header-search .form-control{min-width:0;border-color:rgba(255,255,255,.72)}
.rekap-header-search .form-control::placeholder{font-size:.72rem;color:#738078}
.rekap-header-search .btn{min-width:52px}
.rekap-search-hint{margin:.12rem 0 0;color:rgba(255,255,255,.82)!important;font-size:.57rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:.62rem}
.rekap-search-results{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:2200;min-width:300px;max-height:390px;overflow:auto;background:#fff;border:1px solid #d7e0da;border-radius:.65rem;box-shadow:0 12px 30px rgba(16,40,28,.22);color:#212529}
.rekap-search-item{display:block;width:100%;border:0;border-bottom:1px solid #edf1ee;background:#fff;text-align:left;padding:.58rem .68rem;color:#1f2d26}
.rekap-search-item:last-child{border-bottom:0}.rekap-search-item:hover,.rekap-search-item:focus{background:#edf8f1;outline:0}
.rekap-search-main{display:flex;align-items:center;gap:.45rem;min-width:0}.rekap-search-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rekap-search-kind{font-size:.58rem;line-height:1;padding:.25rem .34rem;border-radius:999px;background:#e8f5ed;color:#147346;font-weight:800;flex:0 0 auto;text-transform:uppercase;letter-spacing:.025em}
.rekap-search-sub{display:block;margin-top:.16rem;font-size:.69rem;color:#66766d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rekap-search-empty{padding:.72rem;font-size:.78rem;color:#68776f}
.rekap-nav-actions{flex:0 0 auto;flex-wrap:nowrap!important;justify-content:flex-end}
.rekap-nav-actions .btn{white-space:nowrap;font-size:.67rem;line-height:1.15;padding:.33rem .46rem}
@media(max-width:1199.98px){
  .rekap-navbar-inner{flex-wrap:wrap;row-gap:.3rem}
  .rekap-site-identity{flex:1 1 390px}
  .rekap-header-search{flex:1 1 300px;max-width:none;margin-left:0}
  .rekap-nav-actions{width:100%;justify-content:flex-end;overflow-x:auto;padding-bottom:1px}
}
@media(max-width:767.98px){
  .rekap-site-identity{width:100%;flex:1 1 100%}
  .rekap-logo-kementan{width:30px;height:30px}
  .rekap-logo-brmp{height:30px;max-width:96px}
  .navbar-brand.rekap-site-title{font-size:.65rem;max-width:none;flex:1 1 auto}
  .rekap-mode-badge{display:none}
  .rekap-header-search{width:100%;max-width:none;min-width:0;flex:1 1 100%}
  .rekap-search-results{min-width:0}
  .rekap-nav-actions{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap!important}
}
@media(max-width:575.98px){
  .rekap-site-logos{gap:.25rem}.rekap-logo-kementan{width:28px;height:28px}.rekap-logo-brmp{height:28px;max-width:88px}
  .navbar-brand.rekap-site-title{font-size:.61rem}.rekap-nav-actions .btn{font-size:.64rem;padding:.3rem .4rem}.rekap-search-hint{display:none}
}


/* ===== Forecast validation strip — v3.2.0 ===== */
.forecast-validation-strip{border:1px solid #cbd5e1;border-left:5px solid #475569;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:var(--rekap-shadow);padding:.9rem 1rem;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(430px,1fr);gap:1rem;align-items:center}
.forecast-validation-main{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}.forecast-validation-main h2{font-size:1rem;margin:.13rem 0 .2rem;color:#1e293b}.forecast-validation-main p{margin:0;font-size:.76rem;line-height:1.4;color:#64748b}.forecast-validation-kicker{font-size:.62rem;font-weight:850;letter-spacing:.06em;color:#64748b}.forecast-validation-use{flex:0 0 auto;text-align:right}.forecast-validation-use span,.forecast-validation-use b{display:block;border-radius:999px;padding:.24rem .52rem;font-size:.64rem}.forecast-validation-use span{background:#e2e8f0;color:#334155;font-weight:850}.forecast-validation-use b{margin-top:.28rem;background:#fff;border:1px solid #cbd5e1;color:#475569;font-weight:800}
.forecast-validation-metrics{display:grid;grid-template-columns:.7fr 1.35fr repeat(3,.72fr);gap:.45rem}.forecast-validation-metrics>div{border:1px solid #dbe3e8;border-radius:.65rem;background:#fff;padding:.48rem .55rem;min-width:0}.forecast-validation-metrics span{display:block;font-size:.57rem;text-transform:uppercase;letter-spacing:.04em;color:#718096;font-weight:800}.forecast-validation-metrics b{display:block;margin-top:.12rem;font-size:.72rem;color:#1f2937;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
@media(max-width:1199.98px){.forecast-validation-strip{grid-template-columns:1fr}.forecast-validation-metrics{grid-template-columns:repeat(5,1fr)}}
@media(max-width:767.98px){.forecast-validation-main{align-items:flex-start;flex-direction:column}.forecast-validation-use{text-align:left}.forecast-validation-metrics{grid-template-columns:1fr 1fr}.forecast-validation-metrics>div:nth-child(2){grid-column:1/-1}}
