*{box-sizing:border-box}:root{--navy:#0d3b66;--blue:#1976a8;--bg:#f4f7fb;--text:#172033;--muted:#6b7b8d;--line:#e3e9f0}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:linear-gradient(180deg,#0b3154,#0d3b66);color:#dceaf5;padding:22px 15px;z-index:20}.brand{display:flex;gap:10px;align-items:center;padding:4px 7px 25px}.mark{width:42px;height:42px;border-radius:10px;background:white;color:var(--navy);display:grid;place-items:center;font-size:11px;font-weight:900}.brand b{display:block;font-size:13px}.brand small{display:block;font-size:10px;color:#b9d0e3;margin-top:4px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav{border:0;background:transparent;color:#c9dceb;text-align:left;padding:11px 12px;border-radius:9px;font-size:13px;cursor:pointer}.nav:hover,.nav.active{background:#ffffff1f;color:white}.nav span{margin-left:7px}.sidefoot{position:absolute;bottom:20px;left:22px;font-size:10px;color:#8fb1ca}.main{margin-left:250px;padding:24px 30px;min-height:100vh}.topbar{display:flex;align-items:center;gap:15px;margin-bottom:24px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.1px;color:#6c7d90}.topbar h1{margin:4px 0 0;font-size:23px}.menubtn{display:none;border:0;background:white;border-radius:9px;padding:9px 11px;font-size:18px}.connection{margin-left:auto;background:white;border:1px solid var(--line);padding:8px 11px;border-radius:20px;font-size:11px;color:#64748b}.connection.ok{color:#167346}.connection.bad{color:#b42318}.page{display:none}.page.active{display:block}.hero{background:linear-gradient(120deg,#0d3b66,#1b628a);border-radius:17px;padding:28px;color:white;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:18px}.hero h2{font-size:27px;margin:7px 0}.hero p{max-width:720px;color:#dbeaf4;line-height:1.55;font-size:13px;margin:0}.primary,.secondary{border:0;border-radius:9px;padding:11px 15px;font-weight:700;cursor:pointer;font-size:12px}.primary{background:white;color:var(--navy)}.secondary{background:white;border:1px solid var(--line);color:#30465b}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.card,.panel{background:white;border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 10px #102a4309}.card{padding:17px}.card label{font-size:10px;font-weight:800;color:#718096;letter-spacing:.4px}.card strong{display:block;font-size:27px;margin:7px 0 2px}.cols{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.panel{padding:19px;margin-bottom:18px}.panel h3{margin:0;font-size:15px}.panel>p,.intro p{margin:4px 0 14px;color:var(--muted);font-size:11px}#chart{min-height:285px}.barrow{display:grid;grid-template-columns:145px 1fr 35px;gap:8px;align-items:center;margin:11px 0;font-size:10px}.bar{height:8px;background:#e9eef4;border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:var(--blue);border-radius:8px}#map{height:285px;border-radius:10px;background:#e7eff3}.compact .card{padding:14px}.intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px}.intro h2{margin:5px 0 0;font-size:24px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.filters input,.filters select{border:1px solid #d9e1e9;background:white;border-radius:8px;padding:10px 11px;font-size:12px;color:#334155}.filters input{min-width:280px}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:9px}table{width:100%;border-collapse:collapse;min-width:720px;font-size:11px}th{background:#f5f8fb;color:#536274;text-align:left;padding:10px;border-bottom:1px solid var(--line)}td{padding:10px;border-bottom:1px solid #edf1f5;color:#334155}.clickrow{cursor:pointer}.clickrow:hover td{background:#edf6fb!important}.foot{display:flex;justify-content:space-between;color:#8a98a8;font-size:10px;padding-top:11px}.placeholder{min-height:65vh}.placeholder>div{background:white;border:1px dashed #cbd6e1;border-radius:16px;min-height:330px;display:grid;place-content:center;text-align:center;color:#64748b}.modal{display:none;position:fixed;inset:0;background:#071a2a99;z-index:100;padding:25px;align-items:center;justify-content:center}.modal.show{display:flex}.modalbox{background:white;width:min(1000px,96vw);max-height:88vh;overflow:auto;border-radius:16px;box-shadow:0 20px 60px #0003}.modalhead{position:sticky;top:0;background:white;border-bottom:1px solid var(--line);padding:18px 22px;display:flex;justify-content:space-between;align-items:center;z-index:2}.modalhead h2{margin:5px 0 0;font-size:20px}.close{border:0;background:#eef3f7;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer;color:#536274}.detailgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.detailitem{background:white;padding:13px 16px}.detailitem label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#7a8998;font-weight:800;margin-bottom:5px}.detailitem div{font-size:12px;color:#243447;line-height:1.45;word-break:break-word}@media(max-width:950px){.sidebar{width:215px}.main{margin-left:215px;padding:20px}.cards{grid-template-columns:repeat(2,1fr)}.cols{grid-template-columns:1fr}}@media(max-width:650px){.sidebar{transform:translateX(-100%);transition:.2s;width:245px}.sidebar.open{transform:translateX(0)}.main{margin-left:0;padding:16px}.menubtn{display:block}.topbar h1{font-size:17px}.connection{display:none}.hero{display:block;padding:22px}.hero .primary{margin-top:16px}.cards{grid-template-columns:1fr 1fr;gap:9px}.card{padding:13px}.card strong{font-size:21px}.intro{align-items:start;gap:10px}.intro h2{font-size:20px}.filters input{min-width:100%;width:100%}.detailgrid{grid-template-columns:1fr}.modal{padding:10px}}
.charts3{grid-template-columns:1.25fr .75fr}.chartpanel{min-height:360px}.chartpanel canvas{max-height:310px}.charts3 .chartpanel:first-child canvas{height:310px!important}.maphead{display:flex;justify-content:space-between;align-items:start;margin-bottom:10px}.maphead h3{margin:0}.mapinfo{font-size:10px;background:#eef7f1;color:#167346;padding:7px 10px;border-radius:15px}.updatebar{font-size:11px;color:#718096;text-align:right;padding:4px 3px 20px}.updatebar span{margin:0 5px;color:#b0bac5}#destanaMap{height:430px;border-radius:10px;background:#e7eff3}.emptychart{height:310px;display:grid;place-items:center;color:#8a98a8;font-size:12px}@media(max-width:950px){.charts3{grid-template-columns:1fr}}

.global-filter{background:white;border:1px solid var(--line);border-radius:13px;padding:14px 16px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 3px 10px #102a4309}.global-filter b{display:block;font-size:13px;color:#243447;margin-top:3px}.global-filter small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.global-filter select{min-width:280px;border:1px solid #d9e1e9;background:white;border-radius:8px;padding:10px 12px;font-size:12px;color:#334155}.tablewrap table{table-layout:fixed;min-width:0}.tablewrap th,.tablewrap td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.tablewrap th:nth-child(1),.tablewrap td:nth-child(1){width:13%}.tablewrap th:nth-child(2),.tablewrap td:nth-child(2){width:14%}.tablewrap th:nth-child(3),.tablewrap td:nth-child(3){width:19%}.tablewrap th:nth-child(4),.tablewrap td:nth-child(4){width:7%}.tablewrap th:nth-child(5),.tablewrap td:nth-child(5){width:12%}.tablewrap th:nth-child(6),.tablewrap td:nth-child(6){width:17%}.tablewrap th:nth-child(7),.tablewrap td:nth-child(7){width:18%}
@media(max-width:650px){.global-filter{display:block}.global-filter select{width:100%;min-width:0;margin-top:10px}.tablewrap{overflow-x:auto}.tablewrap table{min-width:680px;table-layout:fixed}}

/* V7 table refinement */
.tablewrap table{table-layout:fixed;width:100%}.tablewrap th,.tablewrap td{white-space:normal;word-break:break-word;vertical-align:top}.tablewrap th:nth-child(1){width:12%}.tablewrap th:nth-child(2){width:12%}.tablewrap th:nth-child(3){width:20%}.tablewrap th:nth-child(4){width:8%}.tablewrap th:nth-child(5){width:12%}.tablewrap th:nth-child(6){width:16%}.tablewrap th:nth-child(7){width:20%}

/* Versi 8 */
.brand-logo{width:48px;height:48px;object-fit:contain;flex:0 0 48px;background:#fff;border-radius:10px;padding:3px}
.brand{align-items:center}
.cards.compact.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.charts2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.tablepanel{width:100%;margin-top:0}
.tablewrap{overflow-x:auto}
.tablewrap table{table-layout:fixed;width:100%}
.tablewrap th,.tablewrap td{white-space:normal;word-break:break-word;vertical-align:top}
@media(max-width:1100px){.cards.compact.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cards.compact.four,.charts2{grid-template-columns:1fr}.brand-logo{width:42px;height:42px;flex-basis:42px}}

/* Versi 9 */
.tablewrap{overflow-x:auto}.tablewrap table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse}.tablewrap th,.tablewrap td{padding:9px 8px;line-height:1.3}.tablewrap th:nth-child(1),.tablewrap td:nth-child(1){width:15%}.tablewrap th:nth-child(2),.tablewrap td:nth-child(2){width:14%}.tablewrap th:nth-child(3),.tablewrap td:nth-child(3){width:18%}.tablewrap th:nth-child(4),.tablewrap td:nth-child(4){width:7%}.tablewrap th:nth-child(5),.tablewrap td:nth-child(5){width:13%}.tablewrap th:nth-child(6),.tablewrap td:nth-child(6){width:15%}.tablewrap th:nth-child(7),.tablewrap td:nth-child(7){width:18%}.tablewrap th,.tablewrap td{border-right:1px solid #edf1f5}.tablewrap th:last-child,.tablewrap td:last-child{border-right:0}.chartpanel canvas{width:100%!important}.chartpanel:has(#yearChart){min-height:390px}.chartpanel:has(#yearChart) canvas{height:320px!important;max-height:none}@media(max-width:650px){.tablewrap table{min-width:760px}.chartpanel:has(#yearChart){min-height:430px}}

/* Versi 11 - mobile cards 2 kolom */
@media(max-width:700px){.cards.compact.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cards.compact.four .card{padding:12px 11px}.cards.compact.four .card label{font-size:9px;line-height:1.2;min-height:22px}.cards.compact.four .card strong{font-size:20px;margin:5px 0 1px}.cards.compact.four .card small{font-size:10px;line-height:1.2;display:block}.charts2{grid-template-columns:1fr}}

/* Versi 12 - navigasi, chart detail, dan tampilan lengkap sebaran */
.nav{display:flex;align-items:center;gap:9px}.nav-icon{width:16px;height:16px;flex:0 0 16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav span{margin-left:0}.charthead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.chartlink{border:1px solid #d9e1e9;background:#fff;color:#31506a;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}.chartlink:hover{background:#f4f8fb}.chartmodalbox{width:min(1100px,96vw)}.chartmodalbody{height:min(72vh,680px);padding:18px 22px 24px}.chartmodalbody canvas{width:100%!important;height:100%!important}
@media(max-width:650px){.charthead{align-items:center}.chartlink{font-size:9px;padding:6px 8px}.chartmodalbody{height:70vh;padding:12px}.nav-icon{width:17px;height:17px;flex-basis:17px}}

/* Modul EWS */
.ews-status{font-size:10px;background:#fff;border:1px solid var(--line);padding:8px 11px;border-radius:20px;color:#64748b;white-space:nowrap}.ews-status.ok{color:#167346}.ews-status.bad{color:#b42318}.ews-chart-box{height:330px;position:relative}.ews-year-box{height:360px}.ews-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ews-foot{align-items:center}.ews-foot .pagination{display:flex;align-items:center;gap:10px}.ews-foot button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 11px;font-size:10px;cursor:pointer}.ews-foot button:disabled{opacity:.45;cursor:not-allowed}.ews-charts .chartpanel{min-height:390px}.ews-charts .chartpanel:has(#ewsYearChart){min-height:420px}@media(max-width:700px){.ews-status{display:none}.ews-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ews-chart-box{height:310px}.ews-year-box{height:360px}.ews-foot{align-items:flex-start;flex-direction:column}.ews-foot .pagination{width:100%;justify-content:center}.ews-charts .chartpanel{min-height:370px}}
.ews-table-filters{align-items:center}
.ews-table-filters input{flex:1 1 280px;min-width:240px}
.ews-table-filters select{min-width:170px;flex:0 1 190px}
.ews-table-wrap table{min-width:900px;table-layout:fixed}
.ews-table-wrap th:nth-child(1),.ews-table-wrap td:nth-child(1){width:18%}
.ews-table-wrap th:nth-child(2),.ews-table-wrap td:nth-child(2){width:17%}
.ews-table-wrap th:nth-child(3),.ews-table-wrap td:nth-child(3){width:21%}
.ews-table-wrap th:nth-child(4),.ews-table-wrap td:nth-child(4){width:16%}
.ews-table-wrap th:nth-child(5),.ews-table-wrap td:nth-child(5){width:13%}
.ews-table-wrap th:nth-child(6),.ews-table-wrap td:nth-child(6){width:15%}
.ews-table-wrap td{vertical-align:top;word-break:break-word}
.ews-modal-actions{display:flex;align-items:center;gap:10px}
.ews-modal-actions select{padding:8px 11px;border:1px solid #d9e1e9;background:#fff;border-radius:8px;font-size:11px;color:#334155}
.ews-modal-body{overflow:auto;height:70vh}
.emptychart{height:100%;display:grid;place-items:center;color:#8a98a8;font-size:12px;border:1px dashed #d9e1e9;border-radius:9px;background:#fbfcfd}
@media(max-width:700px){.ews-table-filters select{width:100%;min-width:100%;flex-basis:100%}.ews-modal-actions{gap:6px}.ews-modal-actions select{max-width:210px}.ews-modal-body{height:72vh}}

/* V17 - EWS modal sebaran diperlebar dan label kab/kota dibuat diagonal */
.chartmodalbox{width:min(1400px,98vw)}
.ews-modal-body{height:min(78vh,760px);padding:18px 26px 28px}
@media(max-width:700px){.chartmodalbox{width:98vw}.ews-modal-body{height:74vh;padding:12px 10px 20px}}

/* V18 - Detail baris EWS */
.ews-detail-box{width:min(1100px,96vw)}
#ewsTable tbody tr.clickrow{cursor:pointer}
#ewsTable tbody tr.clickrow:hover td{background:#edf6fb}
#ewsDetailGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:650px){.ews-detail-box{width:98vw}.ews-detail-box #ewsDetailGrid{grid-template-columns:1fr}}

/* V22 - EWS modal sebaran dipadatkan agar nyaman dilihat tanpa zoom out */
.chartmodalbox{width:min(1200px,92vw)}
.ews-modal-body{height:min(74vh,700px);padding:16px 20px 24px}
@media(max-width:700px){.chartmodalbox{width:96vw}.ews-modal-body{height:72vh;padding:12px 10px 18px}}

/* V23 - khusus window Lihat Semua Sebaran EWS: lebih proporsional */
#ewsKabChartModal .chartmodalbox{width:min(1080px,90vw);max-width:1080px}
#ewsKabChartModal .ews-modal-body{height:min(70vh,650px);padding:14px 18px 22px}
#ewsKabChartModal .ews-modal-body canvas{width:100%!important;height:100%!important}
@media(max-width:700px){
  #ewsKabChartModal .chartmodalbox{width:94vw;max-width:94vw}
  #ewsKabChartModal .ews-modal-body{height:68vh;padding:10px 8px 16px}
}

/* V24 - FINAL EWS modal sizing: compact desktop window */
#ewsKabChartModal .chartmodalbox{
  width:1000px !important;
  max-width:calc(100vw - 80px) !important;
  max-height:84vh !important;
}
#ewsKabChartModal .ews-modal-body{
  height:68vh !important;
  max-height:600px !important;
  padding:12px 16px 18px !important;
}
#ewsKabChartModal .ews-modal-body canvas{
  width:100% !important;
  height:100% !important;
}
@media(max-width:700px){
  #ewsKabChartModal .chartmodalbox{width:calc(100vw - 24px) !important;max-width:calc(100vw - 24px) !important}
  #ewsKabChartModal .ews-modal-body{height:68vh !important;max-height:none !important;padding:10px 8px 14px !important}
}

/* Legend peta DESTANA - cakupan persentase */
.destana-map-legend{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
}
.map-legend-title{
  font-weight:700;
  font-size:13px;
  margin-bottom:8px;
  color:#1f2937;
}
.map-legend-items{
  display:flex;
  flex-wrap:wrap;
  gap:7px 14px;
  align-items:center;
  font-size:12px;
  color:#374151;
}
.map-legend-items span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}
.map-legend-items i{
  display:inline-block;
  width:18px;
  height:13px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:3px;
}
@media (max-width:700px){
  .map-legend-items{gap:7px 10px;font-size:11px}
  .map-legend-items i{width:16px;height:12px}
}

/* V36 - label kabupaten/kota permanen tanpa kotak, responsif terhadap zoom */
.kabupaten-label {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #263238 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  padding: 0 !important;
  margin: 0 !important;
  white-space: nowrap !important;
  text-align: center !important;
  text-shadow: 0 1px 2px rgba(255,255,255,.95), 0 -1px 2px rgba(255,255,255,.95), 1px 0 2px rgba(255,255,255,.9), -1px 0 2px rgba(255,255,255,.9) !important;
  pointer-events: none !important;
}
.kabupaten-label:before { display:none !important; }
.ews-map-panel { padding-bottom: 16px; }
.ews-map-link { text-decoration:none; cursor:pointer; }
.ews-embed-wrap {
  width:100%;
  height:620px;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:#e7eff3;
}
.ews-embed-wrap iframe {
  display:block;
  width:100%;
  height:100%;
  border:0;
}
@media(max-width:700px){
  .kabupaten-label { font-size: 8px !important; padding: 1px 3px !important; }
  .ews-embed-wrap { height:520px; }
}


/* Final refinement - clean Kabupaten/Kota labels and transparent BPBD logo */
.brand-logo{background:transparent!important;border-radius:0!important;padding:0!important;object-fit:contain}
.kabupaten-label-wrap{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;pointer-events:none!important;white-space:nowrap!important;text-align:center!important}
.kabupaten-label-wrap:before,.kabupaten-label-wrap:after{display:none!important}
.leaflet-tooltip.kabupaten-label{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.leaflet-tooltip.kabupaten-label:before{display:none!important}
.kabupaten-label{display:inline-block;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;color:#263238!important;font-size:10px!important;font-weight:700!important;line-height:1.1!important;padding:0!important;margin:0!important;white-space:nowrap!important;text-align:center!important;text-shadow:0 1px 2px rgba(255,255,255,.95),0 -1px 2px rgba(255,255,255,.95),1px 0 2px rgba(255,255,255,.9),-1px 0 2px rgba(255,255,255,.9)!important;pointer-events:none!important}
@media(max-width:700px){.kabupaten-label{font-size:8px!important}}

/* V38 - Layout DESTANA: grafik tahunan berdampingan dengan peta */
.destana-year-map-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  align-items:stretch;
}
.destana-year-map-grid > .panel{margin-bottom:18px;}
.destana-year-panel{min-height:430px!important;}
.destana-year-panel canvas{height:350px!important;max-height:none!important;}
.destana-map-panel{position:relative;min-width:0;}
.destana-map-panel #destanaMap{height:350px;}
.map-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.map-expand-btn{
  border:1px solid #d9e1e9;
  background:#fff;
  color:#31506a;
  border-radius:8px;
  padding:7px 10px;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.map-expand-btn:hover{background:#f4f8fb;}
.destana-map-panel.is-expanded{
  position:fixed!important;
  inset:18px;
  z-index:1000;
  margin:0!important;
  padding:18px;
  max-height:calc(100vh - 36px);
  overflow:auto;
  box-shadow:0 20px 70px rgba(0,0,0,.28);
}
.destana-map-panel.is-expanded #destanaMap{height:calc(100vh - 175px)!important;min-height:420px;}
.destana-map-panel.is-expanded .destana-map-legend{margin-bottom:0;}
body.map-expanded-open{overflow:hidden;}
@media(max-width:950px){
  .destana-year-map-grid{grid-template-columns:1fr;}
  .destana-year-panel,.destana-map-panel{min-height:400px!important;}
  .destana-year-panel canvas{height:320px!important;}
  .destana-map-panel #destanaMap{height:360px;}
}
@media(max-width:650px){
  .map-actions{justify-content:flex-start;}
  .destana-map-panel.is-expanded{inset:8px;padding:12px;max-height:calc(100vh - 16px);}
  .destana-map-panel.is-expanded #destanaMap{height:calc(100vh - 185px)!important;min-height:320px;}
}

/* V39 - Grafik tahunan lebih proporsional dan dapat diperbesar */
.destana-year-panel{min-height:430px!important;}
.destana-year-panel .charthead{margin-bottom:2px;}
.destana-year-panel canvas{height:370px!important;max-height:none!important;display:block;}
.year-chart-modalbox{width:min(1200px,94vw)!important;max-width:1200px!important;}
.year-chart-modalbody{height:min(76vh,720px)!important;padding:18px 22px 24px!important;}
.year-chart-modalbody canvas{width:100%!important;height:100%!important;}
@media(max-width:950px){
  .destana-year-panel canvas{height:330px!important;}
}
@media(max-width:650px){
  .destana-year-panel canvas{height:300px!important;}
  .year-chart-modalbox{width:96vw!important;}
  .year-chart-modalbody{height:72vh!important;padding:12px!important;}
}


/* V40 - Final refinement grafik tahunan + modal di atas peta + label Cilacap */
.destana-year-panel{
  min-height:430px!important;
  display:flex;
  flex-direction:column;
}
.destana-year-panel .charthead{
  flex:0 0 auto;
  margin-bottom:8px;
}
.destana-year-panel canvas{
  flex:1 1 auto;
  width:100%!important;
  height:auto!important;
  min-height:300px;
  max-height:none!important;
  display:block;
}
/* Modal grafik harus selalu berada di atas panel peta yang diperbesar. */
#yearChartModal{
  z-index:2000!important;
}
#yearChartModal .chartmodalbox{
  width:min(1180px,94vw)!important;
  max-width:1180px!important;
  max-height:88vh!important;
}
#yearChartModal .year-chart-modalbody{
  height:min(68vh,650px)!important;
  min-height:420px;
  padding:14px 20px 18px!important;
}
#yearChartModal .year-chart-modalbody canvas{
  width:100%!important;
  height:100%!important;
}
/* Label permanen dipusatkan pada titik label/centroid wilayah. */
#destanaMap .kabupaten-label{
  transform:translate(-50%,-50%)!important;
}
@media(max-width:650px){
  .destana-year-panel{min-height:390px!important;}
  .destana-year-panel canvas{min-height:280px;}
  #yearChartModal .chartmodalbox{width:96vw!important;max-width:96vw!important;}
  #yearChartModal .year-chart-modalbody{height:70vh!important;min-height:360px;padding:10px!important;}
}

/* UNIT LIDI */
.lidi-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
.lidi-cards .card{min-height:125px;}
.lidi-year-panel{min-height:410px;}
.lidi-chart-box{height:330px;position:relative;}
.lidi-chart-box canvas{width:100%!important;height:100%!important;}
.lidi-table-wrap table{min-width:980px;}
.lidi-table-wrap th,.lidi-table-wrap td{font-size:11px;vertical-align:middle;}
.lidi-table-wrap th:nth-child(1),.lidi-table-wrap td:nth-child(1){width:5%}
.lidi-table-wrap th:nth-child(2),.lidi-table-wrap td:nth-child(2){width:15%}
.lidi-table-wrap th:nth-child(3),.lidi-table-wrap td:nth-child(3){width:15%}
.lidi-table-wrap th:nth-child(4),.lidi-table-wrap td:nth-child(4){width:10%}
.lidi-table-wrap th:nth-child(5),.lidi-table-wrap td:nth-child(5){width:13%}
.lidi-table-wrap th:nth-child(6),.lidi-table-wrap td:nth-child(6){width:14%}
.lidi-table-wrap th:nth-child(7),.lidi-table-wrap td:nth-child(7){width:13%}
.lidi-table-wrap th:nth-child(8),.lidi-table-wrap td:nth-child(8){width:9%}
.lidi-table-wrap th:nth-child(9),.lidi-table-wrap td:nth-child(9){width:6%}
.lidi-sk-link{color:#1976a8;font-weight:700;text-decoration:none;white-space:nowrap;}
.lidi-sk-link:hover{text-decoration:underline;}
@media(max-width:700px){.lidi-cards{grid-template-columns:1fr 1fr;gap:9px}.lidi-cards .card{min-height:110px}.lidi-chart-box{height:300px}}

/* V41 LIDI refinement: center all table content for cleaner presentation */
.lidi-table-wrap table th,
.lidi-table-wrap table td { text-align:center !important; vertical-align:middle !important; }
.lidi-table-wrap .lidi-sk-link { display:inline-block; }

/* Filter tabel Unit LIDI - berdiri sendiri dan tidak memengaruhi dashboard */
.lidi-table-filters{align-items:center;margin-top:2px;margin-bottom:14px;}
.lidi-table-filters input{flex:1 1 320px;min-width:260px;}
.lidi-table-filters select{min-width:210px;flex:0 1 230px;}
@media(max-width:700px){.lidi-table-filters input,.lidi-table-filters select{width:100%;min-width:100%;flex-basis:100%;}}

/* DOKUMEN KEBENCANAAN */
.dok-cards{grid-template-columns:repeat(5,minmax(0,1fr));}
.dok-cards .card{min-height:125px;}
.dok-chart-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:16px;margin-bottom:16px;}
.dok-chart-box{height:360px;position:relative;}
.dok-valid-chart-box{height:360px;position:relative;}
.dok-chart-box canvas,.dok-valid-chart-box canvas{width:100%!important;height:100%!important;}
.dok-table-filters{align-items:center;margin-top:2px;margin-bottom:14px;}
.dok-table-filters input{flex:1 1 280px;min-width:230px;}
.dok-table-filters select{min-width:175px;flex:0 1 210px;}
.dok-table-wrap table{min-width:1050px;}
.dok-table-wrap th,.dok-table-wrap td{text-align:center!important;vertical-align:middle!important;font-size:11px;}
.doc-badge,.valid-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap;}
.doc-badge.reg{background:#dcfce7;color:#166534;}
.doc-badge.dok{background:#dbeafe;color:#1d4ed8;}
.doc-badge.none{background:#f1f5f9;color:#64748b;}
.valid-badge.active{background:#dcfce7;color:#166534;}
.valid-badge.soon{background:#fef3c7;color:#92400e;}
.valid-badge.expired{background:#fee2e2;color:#b91c1c;}
.valid-badge.none{background:#f1f5f9;color:#64748b;}
.doc-open{color:#1976a8;font-weight:700;text-decoration:none;white-space:nowrap;}
.doc-open:hover{text-decoration:underline;}
@media(max-width:1050px){.dok-cards{grid-template-columns:repeat(3,minmax(0,1fr));}.dok-chart-grid{grid-template-columns:1fr;}}
@media(max-width:700px){.dok-cards{grid-template-columns:1fr 1fr;gap:9px;}.dok-cards .card{min-height:110px;}.dok-chart-box,.dok-valid-chart-box{height:300px;}.dok-table-filters input,.dok-table-filters select{width:100%;min-width:100%;flex-basis:100%;}}

/* Dokumen Kebencanaan — visual final */
.dok-hero{align-items:flex-start;background:transparent;color:var(--text);padding:0;margin-bottom:18px;}
.dok-hero h2{margin:5px 0 6px;font-size:24px;color:var(--text);}
.dok-hero p{color:var(--muted);max-width:none;font-size:12px;}
.doc-source-pill{margin-left:auto;background:white;border:1px solid var(--line);padding:8px 12px;border-radius:20px;font-size:11px;color:#167346;white-space:nowrap;}
.dok-cards{grid-template-columns:repeat(5,minmax(0,1fr));}
.dok-card{min-height:118px;}
.dok-card strong{font-size:28px;}
.dok-chart-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.dok-chart-card{min-width:0;}
.dok-chart-card .charthead h3{margin-bottom:4px;}
.dok-chart-card .charthead p{margin:0;color:var(--muted);font-size:11px;}
.dok-chart-box{height:300px;padding:6px 4px 8px;}
.dok-filter-grid{display:grid;grid-template-columns:1.5fr repeat(4,minmax(155px,1fr)) auto;gap:10px;align-items:center;}
.dok-filter-grid input,.dok-filter-grid select{width:100%;min-width:0;}
.dok-reset{white-space:nowrap;padding:10px 13px;}
.dok-table-panel{overflow:hidden;}
.dok-table-wrap{overflow:auto;}
.dok-table-wrap table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;}
.dok-table-wrap th{background:#0d3b66;color:#fff;font-weight:800;}
.dok-table-wrap th,.dok-table-wrap td{padding:10px 9px;text-align:center!important;vertical-align:middle!important;}
.dok-table-wrap tbody tr:hover{background:#f8fbff;}
.dok-table-wrap td:first-child{font-weight:700;}
.doc-open{display:inline-flex;align-items:center;justify-content:center;border:1px solid #3b82f6;border-radius:8px;padding:6px 9px;background:#eff6ff;color:#1d4ed8;font-size:10px;}
.doc-open:hover{background:#dbeafe;text-decoration:none;}
@media(max-width:1180px){
  .dok-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .dok-reset{width:100%;}
  .dok-chart-grid-3{grid-template-columns:1fr 1fr;}
}
@media(max-width:900px){
  .dok-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dok-chart-grid-3{grid-template-columns:1fr;}
  .dok-filter-grid{grid-template-columns:1fr;}
  .doc-source-pill{display:none;}
  .dok-chart-box{height:280px;}
}
/* Dokumen Kebencanaan v2 */
.dok-global-filter{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;margin-bottom:16px}
.doc-global-title{display:flex;flex-direction:column;gap:4px}.doc-global-title strong{font-size:13px}.doc-global-title span{font-size:11px;color:var(--muted)}
.dok-global-controls{display:flex;gap:10px;min-width:320px}.dok-global-controls select{min-width:280px;flex:1}
.dok-chart-grid-4{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
.dok-chart-grid-4 .dok-chart-card{min-width:0}.dok-chart-grid-4 .dok-chart-box{height:300px}
.table-sort-btn{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer;padding:0;display:inline-flex;gap:5px;align-items:center;justify-content:center;width:100%;white-space:nowrap}.table-sort-btn span{font-size:10px;opacity:.9}
.dok-pagination-top{display:flex;justify-content:flex-end;margin:-3px 0 10px;font-size:11px;color:var(--muted)}.dok-pagination-top select{margin-left:6px;min-width:68px}
.dok-foot{gap:14px;align-items:center}.dok-pagination{display:flex;gap:8px;align-items:center;justify-content:center;flex:1}.dok-pagination button{padding:7px 10px;font-size:11px}.dok-pagination span{font-size:11px;color:var(--muted);min-width:90px;text-align:center}
@media(max-width:1100px){.dok-chart-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.dok-global-filter{align-items:stretch;flex-direction:column}.dok-global-controls{min-width:0;width:100%}}
@media(max-width:700px){.dok-chart-grid-4{grid-template-columns:1fr}.dok-chart-grid-4 .dok-chart-box{height:280px}.dok-global-controls{flex-direction:column}.dok-global-controls select{width:100%;min-width:100%}.dok-foot{flex-wrap:wrap}.dok-pagination{order:3;flex-basis:100%;flex:none;width:100%}.dok-pagination-top{justify-content:flex-start}}

/* v50 Dokumen: single global scope + independent table scope */
.dok-global-controls select{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:13px}
.dok-table-filters{position:relative}
@media(max-width:700px){.dok-global-controls{min-width:0;width:100%}.dok-global-controls select{min-width:100%}}
/* V52 - fallback visual for Unit LIDI yearly chart when Chart.js cannot render */
.lidi-chart-fallback{position:absolute;inset:18px 16px 18px;display:flex;align-items:flex-end;overflow:auto;padding:12px 10px 30px;background:linear-gradient(to top,rgba(15,23,42,.06) 1px,transparent 1px);background-size:100% 25%;}
.lidi-fallback-bars{display:flex;align-items:flex-end;justify-content:space-evenly;gap:12px;width:100%;height:100%;min-width:420px;}
.lidi-fallback-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:42px;position:relative;}
.lidi-fallback-value{font-weight:700;font-size:11px;color:#334155;margin-bottom:4px;}
.lidi-fallback-bar{width:28px;max-height:88%;min-height:8px;background:#2F80ED;border-radius:4px 4px 0 0;}
.lidi-fallback-year{font-size:10px;color:#64748b;margin-top:6px;white-space:nowrap;}


/* v53 Dokumen detail + status map */
.dok-chart-card .charthead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.dok-detail-btn{white-space:nowrap;font-size:12px;padding:7px 11px;}
.dok-planning-detail-box{width:min(1180px,94vw);max-width:1180px;}
.dok-planning-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px;}
.dok-detail-chart-card{margin:0;}
.dok-detail-chart-box{height:300px;position:relative;}
.dok-detail-chart-box canvas{width:100%!important;height:100%!important;}
.dok-status-map-panel{margin-top:16px;overflow:hidden;}
.dok-status-map-head{align-items:flex-start;}
.map-doc-filter{min-width:130px;padding:9px 12px;border:1px solid #d6dfeb;border-radius:8px;background:#fff;font-weight:700;color:#16324f;}
.dok-status-map{height:520px;border-radius:12px;overflow:hidden;border:1px solid #dfe7ef;}
.dok-status-map-panel .map-legend{margin-top:10px;}
@media(max-width:900px){.dok-planning-detail-grid{grid-template-columns:1fr;}.dok-status-map{height:430px;}.dok-status-map-head{flex-wrap:wrap;}.map-doc-filter{width:100%;}}
@media(max-width:700px){.dok-status-map{height:360px;}.dok-detail-chart-box{height:250px;}}

/* V54 document status map: preserve map width feel, add compact 3-column status list */
.dok-status-map-row{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(380px,1.1fr);gap:14px;align-items:stretch}
.dok-status-map-side{min-width:0}
.dok-status-map{height:520px;border-radius:12px;overflow:hidden;border:1px solid #dfe7ef}
.dok-status-list-panel{border:1px solid #dfe7ef;border-radius:12px;background:#fff;padding:12px;min-height:520px;overflow:auto}
.dok-status-list-title{font-weight:800;font-size:14px;color:#17324d;margin-bottom:10px}
.dok-status-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;height:calc(100% - 28px)}
.dok-status-list-col{border-radius:10px;padding:8px;min-width:0}
.dok-status-list-col h4{margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.active-col{background:#f0fdf4;border:1px solid #bbf7d0}.active-col h4{color:#166534}
.inactive-col{background:#fffbeb;border:1px solid #fde68a}.inactive-col h4{color:#a16207}
.none-col{background:#fef2f2;border:1px solid #fecaca}.none-col h4{color:#b91c1c}
.dok-status-list-items{display:flex;flex-direction:column;gap:5px}
.dok-status-list-items button{appearance:none;border:0;background:transparent;padding:4px 2px;text-align:left;font:600 11px/1.2 Segoe UI,Arial,sans-serif;color:#334155;cursor:pointer;border-radius:6px}
.dok-status-list-items button:hover{background:rgba(15,23,42,.05)}
.dok-status-list-empty{font-size:11px;color:#94a3b8;padding:4px 2px}
.kabupaten-label-wrap{background:transparent;border:0}
.kabupaten-label{display:inline-block;white-space:nowrap;font-weight:700;color:#20354a;text-shadow:0 1px 2px rgba(255,255,255,.95),0 -1px 2px rgba(255,255,255,.95),1px 0 2px rgba(255,255,255,.95),-1px 0 2px rgba(255,255,255,.95);font-size:10px;pointer-events:none;transform:translate(-50%,-50%)}
.dok-renkon-detail-chart-box{height:520px;position:relative}
@media(max-width:1050px){.dok-status-map-row{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr)}.dok-status-map{height:500px}.dok-status-list-panel{min-height:500px}}
@media(max-width:780px){.dok-status-map-row{grid-template-columns:1fr}.dok-status-map{height:430px}.dok-status-list-panel{min-height:auto}.dok-status-list-grid{min-height:320px}.dok-renkon-detail-chart-box{height:380px}}
@media(max-width:520px){.dok-status-list-grid{grid-template-columns:1fr}.dok-status-list-col{max-height:160px;overflow:auto}.dok-status-map{height:360px}}

/* v55 refinements */
.dok-chart-grid-4 .dok-chart-card{min-height:0}
.dok-renkon-modal-actions{display:flex;align-items:center;gap:8px}
.dok-renkon-modal-actions label{font-size:11px;color:#64748b}
.dok-renkon-modal-actions select{padding:7px 9px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:12px}
@media(max-width:700px){.dok-renkon-modal-actions{flex-wrap:wrap}.dok-renkon-modal-actions select{width:150px}.dok-chart-grid-4{grid-template-columns:1fr}}
/* v56 refinements */
.dok-cards{grid-template-columns:repeat(4,minmax(0,1fr));}
.dok-chart-grid-4{grid-template-columns:minmax(0,1fr) minmax(0,2fr);}
.dok-renkon-wide .dok-chart-box{height:330px;}
.dok-renkon-sort-main{display:flex;align-items:center;gap:6px;white-space:nowrap}.dok-renkon-sort-main label{font-size:11px;color:#64748b}.dok-renkon-sort-main select{padding:7px 9px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:11px}
@media(max-width:1100px){.dok-cards{grid-template-columns:repeat(2,minmax(0,1fr));}.dok-chart-grid-4{grid-template-columns:1fr;}.dok-renkon-wide .dok-chart-box{height:300px;}}
@media(max-width:700px){.dok-cards{grid-template-columns:1fr 1fr;}.dok-renkon-sort-main{flex-wrap:wrap}.dok-renkon-sort-main select{width:155px}.dok-renkon-wide .dok-chart-box{height:280px;}}


/* V57 refinements */
#kabChartModal{z-index:5000!important;}
#kabChartModal .chartmodalbox{position:relative;z-index:5001!important;}
.destana-year-map-grid > .panel:first-child{min-height:430px!important;}
.destana-year-map-grid > .panel:first-child canvas#kabChart{height:360px!important;max-height:none!important;display:block;}
.destana-table-foot .destana-page-size{display:inline-flex;align-items:center;gap:6px;color:#64748b;font-size:10px;}
.destana-table-foot select{border:1px solid #d9e1e9;background:#fff;border-radius:7px;padding:6px 8px;font-size:11px;color:#334155;}
.dok-chart-grid-4{grid-template-columns:minmax(0,1fr) minmax(0,2fr)!important;}
.dok-chart-grid-4 .dok-chart-card{min-height:320px;}
@media(max-width:1050px){.dok-chart-grid-4{grid-template-columns:1fr!important;}}
@media(max-width:700px){.destana-year-map-grid > .panel:first-child canvas#kabChart{height:320px!important;}.destana-table-foot{align-items:flex-start;}.destana-table-foot .pagination{width:100%;justify-content:center;}}

/* v58 refinement: show more DESTANA kabupaten/kota in the compact chart */
.destana-year-map-grid > .panel:first-child canvas#kabChart{height:380px!important;}
@media(max-width:700px){.destana-year-map-grid > .panel:first-child canvas#kabChart{height:340px!important;}}


/* v60 DESTANA sebaran chart refinement */
.destana-year-map-grid > .panel:first-child{
  min-height:560px!important;
  display:flex!important;
  flex-direction:column!important;
}
.destana-year-map-grid > .panel:first-child .charthead{flex:0 0 auto;}
.destana-year-map-grid > .panel:first-child canvas#kabChart{
  height:510px!important;
  max-height:none!important;
  flex:1 1 auto!important;
  display:block;
}
@media(max-width:1050px){
  .destana-year-map-grid > .panel:first-child{min-height:540px!important;}
  .destana-year-map-grid > .panel:first-child canvas#kabChart{height:490px!important;}
}
@media(max-width:700px){
  .destana-year-map-grid > .panel:first-child{min-height:500px!important;}
  .destana-year-map-grid > .panel:first-child canvas#kabChart{height:450px!important;}
}

/* V61 - Clean module headers: avoid duplicate module titles */
.module-head{align-items:center;min-height:34px;margin-bottom:14px}
.module-head>div:first-child p{margin:0;color:var(--muted);font-size:11px}
.module-head .secondary,.module-head .ews-status,.module-head .doc-source-pill{margin-left:auto}
.module-head.dok-hero{align-items:center}
@media(max-width:650px){
  .module-head{align-items:flex-start;gap:10px}
  .module-head .secondary,.module-head .ews-status,.module-head .doc-source-pill{margin-left:0;flex:0 0 auto}
}

/* V62 - Dashboard sementara / executive summary */
.dashboard-page{padding-bottom:8px}
.dash-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin:6px 0 18px}
.dash-head h2{margin:5px 0 4px;font-size:28px;line-height:1.15;color:#11243b}
.dash-head p{margin:0;color:#6b7b8d;font-size:12px;max-width:760px;line-height:1.55}
.dash-actions{display:flex;align-items:center;gap:9px;white-space:nowrap}
.dash-status{background:#fff;border:1px solid var(--line);border-radius:22px;padding:9px 12px;font-size:11px;color:#526579}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2e9f62;margin-right:5px}
.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.dash-kpi{border:1px solid var(--line);background:#fff;border-radius:14px;box-shadow:0 3px 12px #102a4309;padding:15px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;min-width:0}
.dash-kpi:hover{transform:translateY(-1px);box-shadow:0 8px 18px #102a4312}
.kpi-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:20px;font-weight:900;flex:0 0 42px}
.kpi-destana .kpi-icon{background:#e8f2ff;color:#2f80ed}.kpi-ews .kpi-icon{background:#fff3d8;color:#d98900}.kpi-lidi .kpi-icon{background:#eaf8ed;color:#2f9e44}.kpi-doc .kpi-icon{background:#f2eaff;color:#7b4bd4}
.dash-kpi label{display:block;font-size:9px;font-weight:800;letter-spacing:.5px;color:#718096}.dash-kpi strong{display:block;font-size:25px;margin-top:4px;color:#16253d}.dash-kpi small{display:block;color:#8090a1;font-size:9px;margin-top:2px}
.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px}.dash-grid-top{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr)}
.dash-panel{padding:17px}.dash-wide{min-width:0}.dash-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.dash-panel-head h3{font-size:15px;margin:0;color:#182b43}.dash-panel-head p{font-size:10px;color:#7a8998;margin:4px 0 0}.dash-chart-wrap{position:relative;height:260px}.dash-destana-wrap{height:300px}.dash-donut-wrap{height:300px}
.dash-summary-panel,.dash-quick-panel{min-height:170px}.dash-status-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:8px}.dash-status-list>div{border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fbfcfe}.dash-status-list strong{display:block;font-size:21px;margin-top:7px;color:#172a40}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:800}.status-chip.blue{background:#e8f2ff;color:#2865b7}.status-chip.green{background:#e7f7eb;color:#1c7e38}.status-chip.red{background:#fde8e8;color:#b42318}.status-chip.purple{background:#f0e8ff;color:#7141ad}
.dash-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:10px}.dash-quick button{background:#f8fafc;border:1px solid #dfe6ed;border-radius:9px;padding:12px 10px;font-size:10px;font-weight:800;color:#31506a;cursor:pointer}.dash-quick button:hover{background:#edf5fa}
.dashboard-updatebar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media(max-width:1100px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid-top,.dash-grid{grid-template-columns:1fr}.dash-status-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dash-head{display:block}.dash-actions{margin-top:12px}.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dash-kpi{padding:12px;gap:9px}.kpi-icon{width:36px;height:36px;flex-basis:36px;font-size:16px}.dash-kpi strong{font-size:20px}.dash-chart-wrap,.dash-destana-wrap,.dash-donut-wrap{height:260px}.dash-summary-panel,.dash-quick-panel{min-height:auto}.dash-status-list{grid-template-columns:1fr 1fr}.dash-quick{grid-template-columns:1fr 1fr}.dash-head h2{font-size:22px}}
/* v63: Dokumen Kebencanaan visual refinements */
.doc-type-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-weight:800;font-size:11px;line-height:1;white-space:nowrap;color:#1f2937;border:1px solid rgba(15,23,42,.08)}
.doc-type-krb{background:#dff3e4;color:#1f6b3b}
.doc-type-rpb{background:#fff3bf;color:#7a5b00}
.doc-type-rpkb{background:#ffe3bf;color:#8a4a00}
.doc-type-renkon{background:#e5e7eb;color:#4b5563}
.dok-status-list-col h4{white-space:nowrap}
.dok-status-list-items button{display:flex;align-items:center;gap:6px;text-align:left}
.status-list-no{display:inline-block;min-width:22px;text-align:right;font-weight:700;opacity:.68}

/* v64: compact/proportional document map + status list layout */
.dok-status-map-row{grid-template-columns:minmax(0,1.75fr) minmax(440px,1.25fr);gap:12px}
.dok-status-list-panel{padding:10px;min-height:520px}
.dok-status-list-grid{gap:7px;height:calc(100% - 28px)}
.dok-status-list-col{padding:8px 7px}
.dok-status-list-col h4{margin-bottom:7px;text-align:left}
.dok-status-list-items{gap:3px}
.dok-status-list-items button{padding:3px 0;text-align:left;justify-content:flex-start;gap:4px;font-size:11px}
.status-list-no{min-width:16px;text-align:left;flex:0 0 16px}
@media(max-width:1050px){.dok-status-map-row{grid-template-columns:minmax(0,1.6fr) minmax(350px,1fr)}.dok-status-list-panel{min-height:500px}}
@media(max-width:780px){.dok-status-map-row{grid-template-columns:1fr}.dok-status-list-panel{min-height:auto}.dok-status-list-grid{min-height:320px}}


/* v65: Dokumen Kebencanaan - compact table columns and document colors */
.dok-table-wrap table{width:100%;min-width:900px;table-layout:fixed;}
.dok-table-wrap .dok-col-kab{width:18%;}
.dok-table-wrap .dok-col-jenis{width:16%;min-width:190px;}
.dok-table-wrap .dok-col-tipe{width:10%;}
.dok-table-wrap .dok-col-tahun{width:7%;}
.dok-table-wrap .dok-col-status{width:9%;}
.dok-table-wrap .dok-col-ket{width:16%;}
.dok-table-wrap .dok-col-akses{width:20%;}
.dok-table-wrap th,.dok-table-wrap td{padding:8px 7px;}
.dok-table-wrap td:nth-child(3),.dok-table-wrap td:nth-child(6),.dok-table-wrap td:nth-child(7){white-space:normal;word-break:break-word;overflow-wrap:anywhere;}
.dok-table-wrap th:nth-child(3),.dok-table-wrap th:nth-child(6),.dok-table-wrap th:nth-child(7){white-space:normal;line-height:1.15;}
.doc-type-rpkb{background:#dff1ff;color:#1769a6;}

/* v71 dashboard angka ringkas + ikon */
.dashboard-number-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.dashboard-number-kpis .dash-kpi{min-height:96px}.dashboard-number-kpis .kpi-icon{display:grid;place-items:center}.dashboard-number-kpis .kpi-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dashboard-number-kpis .dash-kpi strong{font-size:28px}.dashboard-number-kpis .dash-kpi small{display:none}@media(max-width:700px){.dashboard-number-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
