.kp-page{--kp-brown:#9a5b16;--kp-brown-dark:#653708;--kp-orange:#d97706;--kp-green:#15805a;--kp-blue:#0877bb;--kp-red:#b91c1c;--kp-ink:#132238;--kp-muted:#64748b;--kp-border:rgba(15,23,42,.1);color:var(--kp-ink)}
.kp-page *{box-sizing:border-box}.kp-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 10% 0%,rgba(245,158,11,.2),transparent 28%),radial-gradient(circle at 100% 100%,rgba(8,119,187,.12),transparent 30%),linear-gradient(135deg,#fffaf0,#f6fbff 60%,#fff)}
.kp-breadcrumb{display:flex;gap:.45rem;align-items:center;margin-bottom:1.5rem;color:#7c6a55;font-size:.78rem}.kp-breadcrumb a{color:#7c4a10;text-decoration:none}.kp-kicker{display:inline-flex;align-items:center;gap:.45rem;padding:.52rem .78rem;border:1px solid rgba(154,91,22,.18);border-radius:999px;background:rgba(255,255,255,.88);color:#8a4c08;font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.kp-title{max-width:760px;color:#573108;font-size:clamp(2.2rem,8vw,4rem);line-height:1.02;letter-spacing:-.045em}.kp-lead{max-width:760px;color:#5f6773;font-size:1.04rem;line-height:1.8}.kp-form{max-width:760px;padding:1rem;border:1px solid rgba(154,91,22,.16);border-radius:1.25rem;background:rgba(255,255,255,.93);box-shadow:0 18px 42px rgba(15,23,42,.09)}
.kp-form label{display:block;margin-bottom:.4rem;color:#334155;font-size:.78rem;font-weight:900}.kp-search-row,.kp-form-actions{display:flex;flex-direction:column;gap:.7rem}.kp-input-icon{position:relative}.kp-input-icon>i{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:#b56b12;z-index:2}.kp-input-icon input{width:100%;min-height:3.1rem;padding:.75rem .9rem .75rem 2.55rem;border:1px solid rgba(15,23,42,.14);border-radius:.9rem;background:#fff;color:#132238;outline:none}.kp-input-icon input:focus{border-color:#d97706;box-shadow:0 0 0 3px rgba(217,119,6,.13)}.kp-input-icon input.is-invalid{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.1)}
.kp-coordinate-grid{display:grid;grid-template-columns:1fr;gap:.8rem}.kp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.1rem;padding:.76rem 1rem;border-radius:.9rem;font-weight:900;line-height:1.2;cursor:pointer;transition:.2s ease}.kp-btn-main{border:0;color:#fff;background:linear-gradient(135deg,#b66a0b,#8d4e08);box-shadow:0 12px 26px rgba(154,91,22,.22)}.kp-btn-main:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(154,91,22,.28)}.kp-btn-light{border:1px solid rgba(154,91,22,.19);color:#7c4508;background:#fff8eb}.kp-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.kp-spinner{width:1rem;height:1rem;border:.14rem solid currentColor;border-right-color:transparent;border-radius:50%;animation:kp-spin .7s linear infinite}@keyframes kp-spin{to{transform:rotate(360deg)}}
.kp-status{padding:.8rem .9rem;border-radius:.85rem;font-size:.78rem;line-height:1.55}.kp-status.is-error{color:#991b1b;background:#fef2f2;border:1px solid rgba(220,38,38,.16)}.kp-status.is-loading{color:#075985;background:#f0f9ff;border:1px solid rgba(2,132,199,.15)}.kp-status.is-success{color:#166534;background:#f0fdf4;border:1px solid rgba(22,163,74,.16)}.kp-form-note{color:#7b8794;font-size:.7rem;line-height:1.55}.kp-search-results{position:relative;margin-top:.55rem;overflow:hidden;border:1px solid var(--kp-border);border-radius:.9rem;background:#fff;box-shadow:0 14px 30px rgba(15,23,42,.1)}.kp-search-item{display:block;width:100%;padding:.75rem .9rem;border:0;border-bottom:1px solid var(--kp-border);background:#fff;text-align:left;color:#334155;cursor:pointer}.kp-search-item:last-child{border-bottom:0}.kp-search-item:hover{background:#fff8eb}.kp-search-item strong{display:block}.kp-search-item span{display:block;color:#7c8998;font-size:.7rem;margin-top:.12rem}
.kp-hero-panel{padding:1.5rem;border:1px solid rgba(15,23,42,.08);border-radius:1.4rem;background:linear-gradient(145deg,#5e3508,#8f5109);color:#fff;box-shadow:0 22px 52px rgba(88,49,8,.22)}.kp-hero-panel h2{color:#fff}.kp-hero-panel ul{padding-left:1.15rem;color:rgba(255,255,255,.85);line-height:1.75}.kp-hero-icon{width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;border-radius:1rem;background:rgba(255,255,255,.13);font-size:1.4rem}.kp-source-line{display:flex;justify-content:space-between;gap:1rem;padding:.72rem 0;border-top:1px solid rgba(255,255,255,.14);font-size:.78rem}.kp-source-line span{color:rgba(255,255,255,.65)}
.kp-results{background:#f8fafc}.kp-result-head{display:flex;flex-direction:column;gap:1rem}.kp-muted,.kp-section-lead{color:var(--kp-muted);line-height:1.75}.kp-confidence{display:inline-flex;align-items:center;gap:.45rem;align-self:flex-start;padding:.6rem .8rem;border-radius:999px;background:#fff;border:1px solid var(--kp-border);font-size:.75rem;font-weight:900}.kp-alert{padding:1.2rem;border-radius:1.2rem;border:1px solid var(--kp-border);background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.06)}.kp-alert.is-membaik{border-left:5px solid #15805a}.kp-alert.is-memburuk{border-left:5px solid #b91c1c}.kp-alert.is-waspada{border-left:5px solid #d97706}.kp-alert.is-tetap,.kp-alert.is-dipantau{border-left:5px solid #0877bb}.kp-alert strong{display:block;color:#132238;font-size:1.2rem}.kp-alert span{display:block;margin-top:.3rem;color:#64748b;line-height:1.65}
.kp-metric{height:100%;padding:1.1rem;border:1px solid var(--kp-border);border-radius:1.1rem;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.05)}.kp-metric span{display:block;color:#64748b;font-size:.76rem}.kp-metric strong{display:block;margin-top:.45rem;color:#573108;font-size:1.75rem;line-height:1}.kp-metric small{display:block;margin-top:.5rem;color:#94a3b8;font-size:.68rem}.kp-panel{padding:1.15rem;border:1px solid var(--kp-border);border-radius:1.25rem;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.055)}.kp-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.kp-panel-head h3{margin:0;color:#213149;font-size:1.08rem}.kp-panel-head p{margin:.25rem 0 0;color:#7c8998;font-size:.72rem;line-height:1.5}.kp-chip{padding:.4rem .62rem;border-radius:999px;background:#fff8eb;color:#8a4c08;font-size:.68rem;font-weight:900}.kp-chart-wrap{position:relative;height:280px}.kp-map{height:300px;border-radius:1rem;overflow:hidden;background:#e2e8f0}.kp-map-note{margin-top:.75rem;color:#8491a0;font-size:.68rem;line-height:1.5}
.kp-window-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.kp-window{padding:.85rem;border-radius:.9rem;background:#f8fafc;border:1px solid var(--kp-border)}.kp-window span{display:block;color:#64748b;font-size:.7rem}.kp-window strong{display:block;margin-top:.32rem;color:#573108;font-size:1.2rem}.kp-window small{display:block;margin-top:.28rem;color:#94a3b8;font-size:.64rem}.kp-forecast-days{display:grid;grid-template-columns:1fr;gap:.7rem}.kp-forecast-day{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center;padding:.8rem .9rem;border:1px solid var(--kp-border);border-radius:.95rem;background:#fff}.kp-forecast-day strong{display:block;color:#213149}.kp-forecast-day span{display:block;color:#738195;font-size:.7rem;margin-top:.15rem}.kp-forecast-rain{text-align:right}.kp-forecast-rain strong{color:#075985;font-size:1.05rem}.kp-summary{color:#465568;line-height:1.85}.kp-factors{display:grid;grid-template-columns:1fr;gap:.7rem}.kp-factor{padding:.78rem .85rem;border-radius:.9rem;background:#f8fafc;border:1px solid var(--kp-border)}.kp-factor strong{display:block;color:#213149;font-size:.78rem}.kp-factor span{display:block;margin-top:.22rem;color:#738195;font-size:.72rem;line-height:1.5}.kp-limitations{margin:0;padding-left:1.15rem;color:#5f6e80;line-height:1.7}.kp-limitations li+li{margin-top:.45rem}
.kp-soft{background:linear-gradient(180deg,#fffaf0,#f8fafc)}.kp-step{position:relative;height:100%;padding:1.1rem 1rem 1rem 3.8rem;border:1px solid var(--kp-border);border-radius:1.05rem;background:#fff;box-shadow:0 9px 22px rgba(15,23,42,.04)}.kp-step>span{position:absolute;left:1rem;top:1rem;width:2.15rem;height:2.15rem;display:flex;align-items:center;justify-content:center;border-radius:.75rem;color:#fff;background:linear-gradient(135deg,#b66a0b,#8d4e08);font-weight:900}.kp-step h3{margin:0 0 .35rem;color:#213149;font-size:.98rem}.kp-step p{margin:0;color:#64748b;line-height:1.65;font-size:.78rem}.kp-faq .accordion-item{overflow:hidden;margin-bottom:.7rem;border:1px solid var(--kp-border);border-radius:1rem}.kp-faq .accordion-button{font-weight:800;color:#213149}.kp-faq .accordion-button:not(.collapsed){color:#8a4c08;background:#fff8eb}
/* Leaflet core fallback against global template img rules. */
.kp-map.leaflet-container{position:relative;overflow:hidden;outline:0}.kp-map .leaflet-pane,.kp-map .leaflet-tile,.kp-map .leaflet-marker-icon,.kp-map .leaflet-marker-shadow,.kp-map .leaflet-tile-container,.kp-map .leaflet-pane>svg,.kp-map .leaflet-pane>canvas{position:absolute;left:0;top:0}.kp-map .leaflet-tile{width:256px!important;height:256px!important;max-width:none!important;max-height:none!important;border-radius:0!important;transition:none!important;animation:none!important}.kp-map .leaflet-control{position:relative;z-index:800;pointer-events:auto}.kp-map img{max-width:none!important}
@media(min-width:576px){.kp-search-row,.kp-form-actions{flex-direction:row}.kp-coordinate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-form-actions .kp-btn-main{flex:1}.kp-window-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kp-forecast-days{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-factors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:992px){.kp-result-head{flex-direction:row;align-items:end;justify-content:space-between}.kp-confidence{align-self:auto}.kp-map{height:355px}.kp-chart-wrap{height:330px}.kp-forecast-days{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v2.0 — horizon 16 hari dan integrasi pelaporan */
.kp-horizon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.kp-horizon{padding:.9rem;border:1px solid var(--kp-border);border-radius:.95rem;background:#f8fafc}.kp-horizon span,.kp-horizon small{display:block}.kp-horizon span{color:#64748b;font-size:.72rem}.kp-horizon strong{display:block;margin:.35rem 0;color:#573108;font-size:1.18rem}.kp-horizon small{color:#8491a0;font-size:.66rem;line-height:1.45}.kp-forecast-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.kp-forecast-card{padding:.9rem;border:1px solid var(--kp-border);border-radius:1rem;background:#fff;box-shadow:0 7px 18px rgba(15,23,42,.035)}.kp-forecast-card.is-kering{border-top:3px solid #d97706}.kp-forecast-card.is-ringan{border-top:3px solid #38bdf8}.kp-forecast-card.is-efektif{border-top:3px solid #0ea5e9}.kp-forecast-card.is-berarti{border-top:3px solid #15805a}.kp-forecast-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.kp-forecast-card-head>strong{color:#213149;font-size:.84rem}.kp-rain-badge{padding:.3rem .48rem;border-radius:999px;font-size:.6rem;font-weight:900;white-space:nowrap}.kp-rain-badge.is-kering{color:#9a5b16;background:#fff7ed}.kp-rain-badge.is-ringan{color:#0369a1;background:#f0f9ff}.kp-rain-badge.is-efektif{color:#075985;background:#e0f2fe}.kp-rain-badge.is-berarti{color:#047857;background:#ecfdf5}.kp-forecast-card-rain{margin:.75rem 0 .2rem;color:#075985;font-size:1.35rem;font-weight:900}.kp-forecast-card p{margin:0;color:#64748b;font-size:.7rem;line-height:1.45}.kp-forecast-card small{display:block;margin-top:.45rem;color:#94a3b8;font-size:.63rem;line-height:1.4}.kp-outlook-pair{display:grid;grid-template-columns:1fr;gap:.7rem;margin-bottom:1rem}.kp-outlook-pair>div{padding:.85rem;border:1px solid var(--kp-border);border-radius:.9rem;background:#f8fafc}.kp-outlook-pair span,.kp-outlook-pair strong{display:block}.kp-outlook-pair span{color:#64748b;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.kp-outlook-pair strong{margin-top:.28rem;color:#213149;font-size:.95rem}.kp-btn-report{border:0;color:#fff;background:linear-gradient(135deg,#c2410c,#b42318);text-decoration:none}.kp-btn-report:hover{color:#fff;transform:translateY(-1px)}.kp-report-panel p{color:#64748b;line-height:1.7}.kp-report-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:.9rem;color:#9a5b16;font-weight:900;text-decoration:none}.kp-alert.is-terbatas{border-left:5px solid #0284c7}
@media(min-width:576px){.kp-forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-outlook-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:992px){.kp-horizon-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kp-forecast-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* v3.0 — baseline historis TRMM dinamis */
.kp-chip.is-success{color:#047857;background:#ecfdf5}
.kp-chip.is-muted{color:#64748b;background:#f1f5f9}
.kp-trmm-panel{background:radial-gradient(circle at 100% 0%,rgba(14,165,233,.08),transparent 30%),#fff}
.kp-trmm-unavailable{padding:1rem;border:1px dashed rgba(100,116,139,.28);border-radius:1rem;color:#64748b;background:#f8fafc;line-height:1.65}
.kp-trmm-meta{display:grid;grid-template-columns:1fr;gap:.75rem}
.kp-trmm-meta>div{padding:.82rem .9rem;border:1px solid var(--kp-border);border-radius:.9rem;background:#f8fafc}
.kp-trmm-meta span,.kp-trmm-meta strong{display:block}
.kp-trmm-meta span{color:#64748b;font-size:.68rem;text-transform:uppercase;letter-spacing:.035em}
.kp-trmm-meta strong{margin-top:.28rem;color:#213149;font-size:.82rem;line-height:1.5}
.kp-trmm-grid{display:grid;grid-template-columns:1fr;gap:.75rem}
.kp-trmm-card{position:relative;padding:.95rem;border:1px solid var(--kp-border);border-radius:1rem;background:#fff;box-shadow:0 7px 18px rgba(15,23,42,.035)}
.kp-trmm-card>span,.kp-trmm-card>strong,.kp-trmm-card>small,.kp-trmm-card>em{display:block}
.kp-trmm-card>span{color:#64748b;font-size:.72rem}
.kp-trmm-card>strong{margin:.35rem 0;color:#573108;font-size:1.25rem}
.kp-trmm-card>small{color:#7c8998;font-size:.67rem;line-height:1.45}
.kp-trmm-card>em{margin-top:.55rem;font-style:normal;font-size:.65rem;font-weight:900}
.kp-trmm-card.is-sangat_rendah{border-top:3px solid #b91c1c}.kp-trmm-card.is-sangat_rendah>em{color:#b91c1c}
.kp-trmm-card.is-rendah{border-top:3px solid #d97706}.kp-trmm-card.is-rendah>em{color:#b45309}
.kp-trmm-card.is-mendekati{border-top:3px solid #0284c7}.kp-trmm-card.is-mendekati>em{color:#0369a1}
.kp-trmm-card.is-tinggi{border-top:3px solid #15805a}.kp-trmm-card.is-tinggi>em{color:#047857}
.kp-trmm-hth{display:grid;grid-template-columns:1fr;gap:.75rem}
.kp-trmm-hth-item{padding:.85rem .9rem;border-radius:.9rem;border:1px solid var(--kp-border);background:#fffaf0}
.kp-trmm-hth-item span,.kp-trmm-hth-item strong,.kp-trmm-hth-item small{display:block}
.kp-trmm-hth-item span{color:#7c5b33;font-size:.7rem}.kp-trmm-hth-item strong{margin:.3rem 0;color:#573108;font-size:1.1rem}.kp-trmm-hth-item small{color:#8a745a;font-size:.67rem;line-height:1.45}
.kp-trmm-note{padding:.8rem .9rem;border-radius:.9rem;color:#526070;background:#f0f9ff;border:1px solid rgba(2,132,199,.14);font-size:.7rem;line-height:1.6}
@media(min-width:576px){.kp-trmm-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.kp-trmm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-trmm-hth{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){.kp-trmm-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* v3.1 — penyempurnaan baseline TRMM dan grafik klimatologi bulanan */
.kp-trmm-titlebar{padding-bottom:1rem;border-bottom:1px solid var(--kp-border)}
.kp-trmm-eyebrow{display:inline-flex;align-items:center;gap:.42rem;margin-bottom:.42rem;color:#0369a1;font-size:.68rem;font-weight:900;line-height:1.3;letter-spacing:.04em;text-transform:uppercase}
.kp-trmm-eyebrow i{font-size:.78rem}
.kp-trmm-subhead,.kp-trmm-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}
.kp-trmm-subhead h4,.kp-trmm-section-head h4{margin:0;color:#213149;font-size:.94rem;line-height:1.4}
.kp-trmm-subhead p,.kp-trmm-section-head p{margin:.22rem 0 0;color:#7c8998;font-size:.69rem;line-height:1.55}
.kp-trmm-section-head{padding-top:.2rem;padding-bottom:.7rem;border-bottom:1px solid rgba(15,23,42,.07)}
.kp-trmm-chart-card,.kp-trmm-summary-card{padding:1rem;border:1px solid var(--kp-border);border-radius:1.05rem;background:rgba(255,255,255,.94);box-shadow:0 8px 22px rgba(15,23,42,.04)}
.kp-trmm-unit{flex:0 0 auto;padding:.35rem .52rem;border-radius:999px;color:#075985;background:#eaf7ff;font-size:.63rem;font-weight:900}
.kp-trmm-monthly-chart-wrap{position:relative;height:285px;margin-top:.9rem}
.kp-trmm-chart-empty{margin-top:.9rem;padding:1.5rem 1rem;border:1px dashed rgba(100,116,139,.28);border-radius:.9rem;color:#64748b;background:#f8fafc;text-align:center;font-size:.75rem;line-height:1.6}
.kp-trmm-chart-caption{margin-top:.75rem;color:#8491a0;font-size:.65rem;line-height:1.55}
.kp-trmm-climatology-summary{display:grid;grid-template-columns:1fr;gap:.65rem;margin-top:.85rem}
.kp-trmm-summary-item{padding:.78rem .82rem;border:1px solid rgba(15,23,42,.07);border-radius:.85rem;background:#f8fafc}
.kp-trmm-summary-item span,.kp-trmm-summary-item strong,.kp-trmm-summary-item small{display:block}
.kp-trmm-summary-item span{color:#64748b;font-size:.65rem;text-transform:uppercase;letter-spacing:.035em}
.kp-trmm-summary-item strong{margin:.25rem 0;color:#573108;font-size:1rem;line-height:1.3}
.kp-trmm-summary-item small{color:#8491a0;font-size:.64rem;line-height:1.45}
@media(min-width:768px){.kp-trmm-monthly-chart-wrap{height:320px}}
@media(min-width:1200px){.kp-trmm-monthly-chart-wrap{height:340px}.kp-trmm-chart-card,.kp-trmm-summary-card{padding:1.15rem}}


/* Export PDF v3.2.0 */
.kp-result-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem}
.kp-btn-pdf{min-height:2.75rem;padding:.65rem .9rem;border:1px solid rgba(185,28,28,.18);color:#991b1b;background:#fff;text-decoration:none;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.kp-btn-pdf:hover{color:#7f1d1d;border-color:rgba(185,28,28,.34);background:#fef2f2;transform:translateY(-1px)}
@media(min-width:576px){.kp-result-actions{flex-direction:row;align-items:center}}
@media(min-width:992px){.kp-result-actions{justify-content:flex-end}}

/* v3.3.0 — pemilihan koordinat melalui peta */
.kp-btn-map-picker{border:1px solid rgba(8,119,187,.2);color:#075985;background:#f0f9ff}
.kp-btn-map-picker:hover{color:#064c72;border-color:rgba(8,119,187,.36);background:#e0f2fe;transform:translateY(-1px)}
.kp-modal-open{overflow:hidden}
.kp-map-picker-modal[hidden]{display:none!important}
.kp-map-picker-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:.75rem}
.kp-map-picker-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(4px)}
.kp-map-picker-dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(980px,100%);max-height:calc(100vh - 1.5rem);overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:1.25rem;background:#fff;box-shadow:0 30px 80px rgba(15,23,42,.35);outline:none}
.kp-map-picker-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1rem .9rem;border-bottom:1px solid var(--kp-border);background:linear-gradient(135deg,#fffaf0,#f0f9ff)}
.kp-map-picker-header h2{margin:.22rem 0;color:#573108;font-size:1.25rem;line-height:1.25}
.kp-map-picker-header p{margin:0;color:#64748b;font-size:.74rem;line-height:1.55}
.kp-map-picker-eyebrow{display:inline-flex;align-items:center;gap:.4rem;color:#075985;font-size:.64rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.kp-map-picker-close{width:2.5rem;height:2.5rem;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(15,23,42,.1);border-radius:.8rem;color:#475569;background:#fff;cursor:pointer}
.kp-map-picker-close:hover{color:#991b1b;background:#fef2f2;border-color:rgba(185,28,28,.2)}
.kp-map-picker-body{min-height:0;overflow:auto;padding:1rem}
.kp-map-picker-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;margin-bottom:.75rem}
.kp-btn-compact{min-height:2.7rem;padding:.62rem .85rem}
.kp-map-picker-help{display:inline-flex;align-items:center;gap:.4rem;color:#64748b;font-size:.7rem;line-height:1.45}
.kp-coordinate-map{position:relative;height:min(52vh,460px);min-height:300px;overflow:hidden;border:1px solid rgba(15,23,42,.11);border-radius:1rem;background:#e2e8f0}
.kp-map-picker-coordinate{display:grid;grid-template-columns:1fr;gap:.65rem;margin-top:.75rem}
.kp-map-picker-coordinate>div{padding:.72rem .8rem;border:1px solid var(--kp-border);border-radius:.85rem;background:#f8fafc}
.kp-map-picker-coordinate span,.kp-map-picker-coordinate strong{display:block}
.kp-map-picker-coordinate span{color:#64748b;font-size:.65rem;text-transform:uppercase;letter-spacing:.035em}
.kp-map-picker-coordinate strong{margin-top:.22rem;color:#132238;font-size:.88rem;font-variant-numeric:tabular-nums}
.kp-map-picker-footer{display:flex;flex-direction:column-reverse;gap:.65rem;padding:.9rem 1rem 1rem;border-top:1px solid var(--kp-border);background:#fff}
.kp-map-picker-footer .kp-btn{width:100%}
/* Leaflet fallback khusus peta pemilih koordinat. */
.kp-coordinate-map.leaflet-container{position:relative;overflow:hidden;outline:0}
.kp-coordinate-map .leaflet-pane,.kp-coordinate-map .leaflet-tile,.kp-coordinate-map .leaflet-marker-icon,.kp-coordinate-map .leaflet-marker-shadow,.kp-coordinate-map .leaflet-tile-container,.kp-coordinate-map .leaflet-pane>svg,.kp-coordinate-map .leaflet-pane>canvas{position:absolute;left:0;top:0}
.kp-coordinate-map .leaflet-tile{width:256px!important;height:256px!important;max-width:none!important;max-height:none!important;border-radius:0!important;transition:none!important;animation:none!important}
.kp-coordinate-map .leaflet-control{position:relative;z-index:800;pointer-events:auto}
.kp-coordinate-map img{max-width:none!important}
@media(min-width:576px){
    .kp-map-picker-modal{padding:1.25rem}
    .kp-map-picker-header{padding:1.15rem 1.25rem 1rem}
    .kp-map-picker-body{padding:1.15rem 1.25rem}
    .kp-map-picker-toolbar{flex-direction:row;align-items:center;justify-content:space-between}
    .kp-map-picker-coordinate{grid-template-columns:repeat(2,minmax(0,1fr))}
    .kp-map-picker-footer{flex-direction:row;justify-content:flex-end;padding:1rem 1.25rem 1.15rem}
    .kp-map-picker-footer .kp-btn{width:auto}
}
@media(max-width:575.98px){
    .kp-map-picker-modal{padding:0;align-items:stretch}
    .kp-map-picker-dialog{max-height:100vh;border-radius:0}
    .kp-coordinate-map{height:52vh;min-height:320px;border-radius:.85rem}
}

@media(min-width:576px){.kp-form-actions{flex-wrap:wrap}.kp-form-actions .kp-btn-main{flex:1 1 100%}.kp-form-actions .kp-btn-light,.kp-form-actions .kp-btn-map-picker{flex:1 1 calc(50% - .35rem)}}

/* Peringatan resmi BMKG v4.0 */
.kp-bmkg-panel{position:relative;overflow:hidden;padding:0!important}.kp-bmkg-stripe{height:.32rem;background:linear-gradient(90deg,#15803d 0 25%,#eab308 25% 50%,#f97316 50% 75%,#dc2626 75%)}.kp-bmkg-layout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:1.15rem}.kp-bmkg-icon{width:3.2rem;height:3.2rem;display:flex;align-items:center;justify-content:center;border-radius:1rem;background:#eff6ff;color:#075ea8;font-size:1.3rem}.kp-bmkg-eyebrow{display:block;color:#64748b;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.kp-bmkg-heading-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:.3rem 0}.kp-bmkg-heading-row h3{margin:0;color:#0f2943;font-size:1.1rem}.kp-bmkg-badge{display:inline-flex;padding:.36rem .62rem;border-radius:999px;font-size:.68rem;font-weight:900}.kp-bmkg-badge.is-none{background:#f1f5f9;color:#64748b}.kp-bmkg-badge.is-waspada{background:#fef9c3;color:#854d0e}.kp-bmkg-badge.is-siaga{background:#ffedd5;color:#9a3412}.kp-bmkg-badge.is-awas{background:#fee2e2;color:#991b1b}.kp-bmkg-description{color:#5f6f80;line-height:1.65}.kp-bmkg-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.75rem;color:#64748b;font-size:.74rem}.kp-bmkg-meta i{color:#075985}.kp-bmkg-actions{grid-column:1/-1;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.kp-bmkg-official-link{color:#075985;font-size:.75rem;font-weight:800;text-decoration:none}.kp-bmkg-unavailable{padding:.8rem 1.15rem;background:#f8fafc;border-top:1px solid rgba(15,23,42,.08);color:#64748b;font-size:.76rem}.kp-bmkg-panel.is-waspada .kp-bmkg-icon{background:#fef9c3;color:#a16207}.kp-bmkg-panel.is-siaga .kp-bmkg-icon{background:#ffedd5;color:#c2410c}.kp-bmkg-panel.is-awas .kp-bmkg-icon{background:#fee2e2;color:#b91c1c}.kp-bmkg-panel.is-normal .kp-bmkg-icon{background:#dcfce7;color:#15803d}@media(min-width:768px){.kp-bmkg-layout{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:1.3rem}.kp-bmkg-actions{grid-column:auto;justify-content:flex-end;max-width:15rem}}

/* v4.1.0: titik referensi kabupaten/kota */
.kp-reference-point{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem .9rem;border:1px solid rgba(2,132,199,.18);border-radius:.9rem;color:#0f2943;background:#f0f9ff}.kp-reference-point>i{flex:0 0 auto;margin-top:.08rem;color:#0877bb;font-size:1rem}.kp-reference-point strong,.kp-reference-point span,.kp-reference-point small{display:block}.kp-reference-point strong{font-size:.82rem}.kp-reference-point span{margin-top:.12rem;color:#075985;font-size:.76rem;font-weight:800}.kp-reference-point small{margin-top:.18rem;color:#64748b;font-size:.68rem;line-height:1.45}
