:root { --brand:#075c5c; --brand2:#0b7c73; }
body { background:#f6f8f8; }
.hero { background:linear-gradient(135deg,var(--brand),var(--brand2)); color:white; }
.stat-card { background:white; border:1px solid #e1e7e7; border-radius:1rem; padding:1.2rem; display:flex; flex-direction:column; box-shadow:0 6px 20px rgba(0,0,0,.04); }
.stat-card strong { font-size:2rem; line-height:1; }
.stat-card span { color:#667; margin-top:.4rem; }
.map-frame { height:68vh; min-height:500px; border-radius:1rem; overflow:hidden; border:1px solid #d7dfdf; background:#ddd; }
.card { border:0; border-radius:1rem; }
.table { background:white; }
.maritime-nav{background:linear-gradient(90deg,#042b4a,#073f68 58%,#052f51)!important;box-shadow:0 3px 14px rgba(0,26,45,.2)}
.brand-lockup{display:flex;align-items:center;gap:.45rem}.brand-anchor{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:white;color:#063b63;font-size:1.05rem}.navbar .nav-link{padding-inline:.8rem!important}.navbar .nav-link:hover{color:#fff}

/* Leaflet and prominent map symbols */
.leaflet-container{font-family:inherit;z-index:1}.leaflet-container img{max-width:none!important}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas{position:absolute;left:0;top:0}.leaflet-tile{max-width:none!important;max-height:none!important}
.map-legend{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;margin-bottom:.65rem;padding:.65rem .85rem;background:#fff;border:1px solid #d7e1e8;border-radius:.75rem;font-size:.9rem;box-shadow:0 3px 12px rgba(4,43,74,.05)}.map-legend span{display:flex;align-items:center;gap:.4rem;font-weight:600;color:#29455c}.legend-symbol{display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;font-style:normal;color:#fff}.legend-symbol.station{background:#087f5b}.legend-symbol.harbour{background:#1769aa}.legend-symbol.bridge{background:#7b4fa3}
.map-pin{width:42px;height:42px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);display:grid;place-items:center;border:3px solid #fff;box-shadow:0 4px 12px rgba(0,24,44,.38)}.map-pin span{transform:rotate(45deg);font-size:21px;line-height:1;color:#fff}.map-pin-station{background:#087f5b;width:46px;height:46px;animation:stationPulse 2.4s ease-in-out infinite}.map-pin-station.unknown{background:#e67700}.map-pin-station.limited,.map-pin-station.seasonal{background:#d98c00}.map-pin-station.outofservice{background:#c92a2a}.map-pin-harbour{background:#1769aa}.map-pin-bridge{background:#7b4fa3}
@keyframes stationPulse{0%,100%{box-shadow:0 4px 12px rgba(0,24,44,.38),0 0 0 0 rgba(8,127,91,.28)}50%{box-shadow:0 4px 12px rgba(0,24,44,.38),0 0 0 10px rgba(8,127,91,0)}}
.station-popup strong{font-size:1rem}.station-editor-card{overflow:visible}.station-editor-map{height:520px;min-height:380px;border:1px solid #bfd0dc;border-radius:1rem;overflow:hidden;background:#dbeaf0}.station-options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.station-options-grid .survey-choice{margin:0;height:100%}
@media(max-width:767.98px){.map-frame{height:68vh;min-height:420px;border-radius:.75rem}.map-legend{font-size:.82rem}.station-editor-map{height:55vh;min-height:340px}.station-options-grid{grid-template-columns:1fr}.map-pin-station{animation:none}}

/* Navigation hazards */
.legend-symbol.shallow{background:#d97706}.legend-symbol.cable{background:#6f42c1}
.map-pin-hazard{background:#7b4fa3}.map-pin-hazard.shallow,.map-pin-hazard.rock{background:#d97706}.map-pin-hazard.cable{background:#6f42c1}.map-pin-hazard.restricted{background:#c92a2a}.map-pin-hazard.narrow{background:#b36b00}.map-pin-hazard.ferry{background:#0b7285}
.hazard-popup strong{font-size:1rem}.hazard-editor-map{height:620px;min-height:420px;border:1px solid #bfd0dc;border-radius:1rem;overflow:hidden;background:#dbeaf0}.hazard-public-map{height:520px;min-height:360px;border:1px solid #bfd0dc;border-radius:1rem;overflow:hidden;background:#dbeaf0}.leaflet-draw-toolbar a{font-size:0}
@media(max-width:767.98px){.hazard-editor-map,.hazard-public-map{height:56vh;min-height:360px}.leaflet-control-layers,.leaflet-draw{font-size:16px}}

/* Scenario workshop */
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800;color:#1676a5}.scenario-layout{display:grid;grid-template-columns:minmax(270px,330px) minmax(0,1fr);gap:1rem;align-items:start}.scenario-panel{position:sticky;top:1rem}.scenario-control{display:block;margin:1rem 0}.scenario-control span{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem;font-weight:600;margin-bottom:.4rem}.scenario-control input{width:100%;accent-color:#0a7594}.scenario-map{height:560px;border-radius:1rem;overflow:hidden;border:1px solid #cfdae3;background:#dce9ef}.scenario-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.scenario-kpis article{background:#fff;border:1px solid #dce5ec;border-radius:.9rem;padding:1rem;box-shadow:0 5px 18px rgba(4,43,74,.05)}.scenario-kpis span{display:block;color:#64788a;font-size:.8rem}.scenario-kpis strong{display:block;color:#073f68;font-size:1.5rem;margin-top:.2rem}.scenario-marker{width:40px;height:40px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);display:grid;place-items:center;border:3px solid #fff;box-shadow:0 4px 12px rgba(0,24,44,.35)}.scenario-marker svg{width:22px;height:22px;fill:#fff;transform:rotate(45deg)}.scenario-marker.harbour{background:#1769aa}.scenario-marker.station{background:#0c8b62}.scenario-marker.candidate{background:#00a9a5;box-shadow:0 4px 12px rgba(0,24,44,.35),0 0 0 8px rgba(0,169,165,.18)}.scenario-excluded{filter:grayscale(1);opacity:.38}.scenario-table tbody tr{cursor:pointer}.scenario-table tbody tr:hover{background:#eef7fa}.article-shell{max-width:1000px;margin:auto}.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}.article-grid section{background:#fff;border:1px solid #dce5ec;border-radius:1rem;padding:1.3rem}.article-grid h2{font-size:1.2rem;color:#073f68}.scenario-disclaimer{border-radius:.8rem}
@media(max-width:991.98px){.scenario-layout{grid-template-columns:1fr}.scenario-panel{position:static}.scenario-map{height:55vh;min-height:430px}.scenario-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.scenario-map{height:52vh;min-height:360px}.scenario-kpis{grid-template-columns:1fr 1fr}.scenario-kpis strong{font-size:1.2rem}.article-grid{grid-template-columns:1fr}}

/* Unified map icon system */
.septik-div-icon{background:transparent!important;border:0!important}
.map-pin svg,.legend-symbol svg{width:22px;height:22px;fill:currentColor;transform:rotate(45deg)}
.map-pin{color:#fff}
.legend-symbol svg{width:17px;height:17px;transform:none}
.popup-icon{display:inline-block;width:18px;height:18px;fill:currentColor;vertical-align:-4px;margin-right:.2rem}
.map-pin-hazard.bridge,.map-pin-bridge{background:#6941c6}
.map-pin-hazard.shallow,.map-pin-hazard.rock{background:#d97706}
.map-pin-hazard.cable{background:#6941c6}
.map-pin-hazard.restricted{background:#c92a2a}
.map-pin-hazard.narrow{background:#b36b00}
.map-pin-hazard.ferry{background:#0b7285}
.map-pin-hazard.lock{background:#495057}
.map-pin-hazard.other{background:#6941c6}

/* Unified map marker palette */
:root{--map-station:#16875f;--map-harbour:#1769aa;--map-bridge:#6f42c1;--map-shallow:#d97706;--map-cable:#7048e8;--map-danger:#c92a2a;--map-other:#495057}
.legend-symbol.station,.map-pin-station{background:var(--map-station)}
.legend-symbol.harbour,.map-pin-harbour{background:var(--map-harbour)}
.legend-symbol.bridge,.map-pin-bridge,.map-pin-hazard.bridge{background:var(--map-bridge)}
.legend-symbol.shallow,.map-pin-hazard.shallow,.map-pin-hazard.rock{background:var(--map-shallow)}
.legend-symbol.cable,.map-pin-hazard.cable{background:var(--map-cable)}
.map-pin-hazard.restricted,.map-pin-station.outofservice{background:var(--map-danger)}
.map-pin-hazard.other,.map-pin-hazard.lock{background:var(--map-other)}
.map-pin-suggestion{background:#22a06b}
.map-pin.selected{outline:4px solid rgba(23,105,170,.28);transform:rotate(-45deg) scale(1.12)}
.station-popup svg,.hazard-popup svg,.leaflet-popup-content svg{width:18px;height:18px;fill:currentColor;vertical-align:-4px}

/* Harbour data summary */
.harbour-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.harbour-kpis article{background:#fff;border:1px solid #dce5ec;border-radius:1rem;padding:1.1rem;box-shadow:0 5px 18px rgba(4,43,74,.05)}.harbour-kpis span,.harbour-kpis small{display:block;color:#64788a}.harbour-kpis strong{display:block;color:#073f68;font-size:1.8rem;line-height:1.1;margin:.25rem 0}@media(max-width:991.98px){.harbour-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.harbour-kpis{grid-template-columns:1fr 1fr}.harbour-kpis strong{font-size:1.35rem}}
