.bulletin-panel{max-width:1120px}
.slf-map-app{grid-column:1/-1;min-width:0;font-family:'DM Sans',sans-serif}
.slf-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}
.slf-region-field{flex:1;min-width:min(100%,240px)}
.slf-region-field label{display:block;margin-bottom:7px;font-size:.875rem;font-weight:700;color:var(--navy)}
.slf-region-field select{display:block;width:100%;min-height:46px;padding:10px 36px 10px 12px;border:1px solid #bdced8;border-radius:10px;background:#fff;color:var(--ink);font:inherit}
.slf-action{min-height:46px;padding:10px 15px;border:1px solid #bdced8;border-radius:10px;background:#fff;color:var(--navy);font:600 .9375rem 'DM Sans',sans-serif;cursor:pointer}
.slf-action:disabled{opacity:.55;cursor:default}
.slf-map-app :is(button,select,a):focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.slf-map-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:start}
.slf-map-canvas{height:520px;min-width:0;width:100%;border:1px solid var(--line);border-radius:12px;background:#f0f4f7;isolation:isolate;z-index:0}
.slf-map-canvas .leaflet-control-zoom a{width:40px;height:40px;line-height:40px;color:var(--navy)}
.slf-map-canvas .leaflet-control-attribution{font-size:12px;line-height:1.4;background:#fffffff0;color:#334155;max-width:100%;padding:2px 5px}
.slf-map-canvas .leaflet-control-attribution a{color:#334155}
.slf-map-canvas .leaflet-interactive:focus{outline:none}
.slf-map-canvas .leaflet-interactive{cursor:pointer}
.slf-map-canvas .leaflet-tooltip{font:600 .875rem 'DM Sans',sans-serif}
.slf-zone-details{min-width:0;max-height:520px;overflow:auto;overscroll-behavior:contain;padding:22px;border:1px solid var(--line);border-radius:12px;background:#f7fafc}
.slf-zone-details h3{font:800 1.35rem/1.3 Manrope;margin:0 0 16px;color:var(--navy)}
.slf-zone-details h3:focus{outline:none}
.slf-zone-details h4{font:700 1rem/1.45 Manrope;margin:22px 0 10px;color:var(--navy)}
.slf-zone-details p{font-size:1rem;line-height:1.65;margin:0 0 14px;color:#334155}
.slf-zone-details .slf-meta{font-size:.875rem;line-height:1.6;color:var(--muted)}
.slf-zone-details .slf-official-text{white-space:pre-line;overflow-wrap:anywhere}
.slf-grade{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 14px;font-weight:700}
.slf-grade-number{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;border-radius:8px;border:1px solid #0b223530;padding:5px 8px;color:#08131e;font-size:1.125rem}
.slf-zone-details details{margin:16px 0 0;border-top:1px solid var(--line);padding-top:13px}
.slf-zone-details summary{min-height:34px;font-weight:700;cursor:pointer;line-height:1.5}
.slf-zone-details details p{margin-top:14px}
.slf-map-status{padding:12px 15px;border-radius:9px;background:#eaf2f6;color:#173b51;font-size:.9375rem;line-height:1.6;margin:16px 0}
.slf-map-status[data-state=error],.slf-map-status[data-state=expired]{background:#fff3dd;color:#5d410d}
.slf-map-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:16px 0 10px;padding:0;list-style:none;font-size:.875rem;color:#334155}
.slf-map-legend li{display:flex;align-items:center;gap:7px}
.slf-swatch{width:13px;height:13px;border-radius:3px;border:1px solid #0003;flex:none}
.slf-map-caption{font-size:.875rem;line-height:1.6;color:var(--muted);margin:10px 0 0}
.slf-map-caption a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.slf-map-footer{grid-column:1/-1}
.slf-map-footer .resource-actions{margin-top:0}
@media(max-width:800px){.slf-map-layout{grid-template-columns:minmax(0,1fr);gap:16px}.slf-map-canvas{height:390px;height:clamp(320px,52svh,430px)}.slf-zone-details{max-height:none;overflow:visible;min-height:0;padding:20px}.slf-toolbar{align-items:stretch}.slf-region-field{flex-basis:100%}.slf-action{flex:1}.slf-map-status{padding:12px}.bulletin-panel{padding:24px}.slf-map-legend{gap:8px 12px}}
@media(max-width:380px){.bulletin-panel{padding:18px}.slf-map-canvas{height:340px}.slf-zone-details{padding:16px}}
