.employee-shell:has(.marine){width:min(1440px,calc(100% - 3rem));padding-top:1.6rem}.marine{--ink:#102e3e;--teal:#146c70;color:var(--ink)}.marine-hero{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:#092734;color:#fff;border-radius:14px;padding:2.3rem 2.6rem;background-image:radial-gradient(ellipse at 95% 0%,#23575c88,transparent 65%)}.marine-eyebrow{font-size:.68rem!important;letter-spacing:.18em;font-weight:700;color:#8cd5c6!important}.marine h1{font:800 clamp(2rem,3.5vw,3.5rem)/1.1 var(--head);margin:.8rem 0}.marine h1 span{color:#9ad4c9}.marine-hero p{font-size:.88rem;color:#cadade;max-width:600px;line-height:1.6}.marine-live{min-width:220px;font-size:.85rem}.marine-live small{display:block;color:#a9c7ce;font-size:.73rem;line-height:1.6;margin:.5rem 0 1rem}.marine-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#dfb76d;margin-right:5px}.marine-dot.fresh{background:#75d5b3}.marine button{cursor:pointer;font:600 .8rem var(--body);border:1px solid #c8d9df;background:#fff;color:var(--ink);border-radius:7px;padding:.65rem 1rem}.marine button:disabled{opacity:.6;cursor:wait}.marine-notice{font-size:.76rem;line-height:1.6;color:#576a73;margin:1rem 0}.marine-stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #dbe5e9;border-radius:12px;overflow:hidden;margin:1.3rem 0}.marine-stats>div{padding:1.2rem 1.6rem;border-right:1px solid #e4ebed}.marine-stats>div:last-child{border:0}.marine-stats span{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:#57727d}.marine-stats strong{display:block;font:700 2.1rem var(--head);margin:.55rem 0}.marine-stats .marine-radio{font-size:1.05rem;margin:1rem 0}.marine-stats small{font-size:.65rem;color:#657783}.marine-filters{display:flex;flex-wrap:wrap;align-items:end;gap:.8rem;margin:1.5rem 0}.marine-filters label{display:grid;gap:.4rem;font-size:.7rem;font-weight:700;color:#526a76}.marine-filters select,.marine-filters input[type=search]{font:400 .8rem var(--body);background:#fff;color:#193845;border:1px solid #ccdce2;border-radius:7px;min-height:42px;padding:.55rem .7rem;max-width:100%}.marine-search{flex:1;min-width:190px}.marine-filters .marine-history{display:flex;align-items:center;min-height:42px;font-weight:400}.marine input[type=checkbox]{accent-color:#146c70}.marine-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:1.2rem;align-items:start}.marine-section-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:1rem}.marine h2{font:700 1rem var(--head);margin:0}.marine-section-heading>span{font-size:.7rem;color:#71828b}.marine-report,.marine-map-panel,.marine-source-panel{background:white;border:1px solid #dbe5e9;border-radius:10px;padding:1.25rem;margin-bottom:.8rem}.marine-report{border-left:3px solid #4a9290;overflow-wrap:anywhere}.marine-report.rescue{border-left-color:#c36733}.marine-report h3{font:700 .9rem/1.6 var(--head);margin:.75rem 0}.marine-report p{font-size:.82rem;line-height:1.7;margin:.6rem 0;color:#3b525f;white-space:pre-line}.marine-report .marine-meta{font-size:.69rem;color:#667e88;white-space:normal}.marine-badges{display:flex;gap:.45rem;flex-wrap:wrap}.marine-badge{font-size:.6rem;font-weight:700;letter-spacing:.04em;padding:.28rem .5rem;border-radius:4px;background:#e7f3ee;color:#246453}.marine-badge.status{background:#f5f0e6;color:#785b2c}.marine-badge.closed{background:#edf0f2;color:#66737b}.marine-report summary{font-size:.76rem;cursor:pointer;font-weight:600;margin-top:.8rem}.marine-report a,.marine-source-panel>a{font-size:.77rem;font-weight:700;color:#126969;text-underline-offset:3px}.marine-report footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:1rem}.marine-report footer span{font-size:.65rem;color:#657986}.marine-empty{padding:2.5rem 1.5rem;border:1px dashed #b6cad3;border-radius:10px;color:#496775;line-height:1.8;font-size:.85rem;background:#f9fcfc}.marine-map-panel{padding:1rem}.marine-map-panel button{padding:.3rem .5rem;font-size:.7rem}#marine-map{height:360px;border-radius:6px;background:#e1eeed;z-index:0}.marine-map-caption{font-size:.68rem;line-height:1.6;color:#667c85;margin:.8rem 0 0}.marine-source-panel{padding:1.4rem}.marine-source-panel h2{margin-bottom:1rem}.marine-source-panel p,.marine-source-panel summary{font-size:.74rem;line-height:1.7;color:#617984}.marine-source-row{padding:.8rem 0;border-top:1px solid #e5ecef;display:grid;gap:.3rem}.marine-source-row strong{font-size:.77rem}.marine-source-row small{font-size:.68rem;color:#627d87}.marine-source-row .bad{color:#9a542a}.marine-error{padding:1rem;background:#fff0d9;border:1px solid #e7c68e;border-radius:8px;font-size:.8rem;line-height:1.6;margin:1rem 0}.marine-footer{font-size:.68rem;color:#6e8188;text-align:center;margin:2rem 0}.marine :focus-visible{outline:3px solid #dc782f;outline-offset:3px}@media(max-width:1050px){.marine-grid{grid-template-columns:1fr 1fr}.marine-stats>div{padding:1rem}.employee-header nav{gap:.6rem}}@media(max-width:760px){.employee-shell:has(.marine){width:calc(100% - 1.5rem)}.marine-hero{display:block;padding:1.5rem}.marine-live{margin-top:1.5rem}.marine-stats{grid-template-columns:1fr 1fr}.marine-stats>div{border-bottom:1px solid #e4ebed}.marine-grid{grid-template-columns:1fr}.marine-filters label:not(.marine-history){flex:1 1 45%;min-width:0}.marine-filters .marine-search{flex-basis:100%!important}.marine-side{grid-row:1}#marine-map{height:250px}.marine-report{padding:1rem}}

.marine-report.weather{border-left-color:#566bbc}.marine-report.weather .marine-badge:first-child{background:#eaf0ff;color:#334c96}

/* Public Marine Monitor shares the portal's report component. */
body:has(.marine-public) { background:#f3f6f9; }
.marine-public { --head:var(--font-head); --body:var(--font-body); width:min(1440px,calc(100% - 3rem)); margin:0 auto; padding:104px 0 2rem; }
.marine-public .marine-source-panel p { margin:.8rem 0; }
.marine-public .marine a:not(.leaflet-control a) { text-decoration:underline; }
.marine-public .marine-hero { line-height:1.3; }
@media(max-width:760px) { .marine-public { width:calc(100% - 1.5rem); padding-top:90px; } }
