/* Harbor Link: map-first interface, based on the approved navy/teal concept. */
:root{--navy:#06243e;--accent:#007f8b;--cyan:#00c8cd;--cream:#fff;--bg:#f2f6fa;--surface:#fff;--text:#102a43;--muted:#607589;--border:#dce5ed;--nav-height:76px;--header-height:76px;--demo-height:30px}
body{background:#f2f6fa;color:#102a43}.app-header{height:var(--header-height);min-height:0;background:#05243e;border:0;padding:0 28px;position:relative;z-index:1100}.brand .mark{border:0;color:#37e1dc;width:44px;box-shadow:none}.mark svg{width:44px;height:36px}.brand-words>span{font-size:17px;letter-spacing:3px;font-weight:700}.brand-words small{color:#a4bed0;font-size:10px}.pilot{display:none}.header-profile .avatar{background:#173a53;color:white;border-color:#476477}.app-header #nav{position:fixed;bottom:0;left:0;right:0;z-index:1200;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:4px max(8px,calc((100vw - 720px)/2)) env(safe-area-inset-bottom);display:flex;justify-content:space-around;align-items:center;background:#fff;border-top:1px solid #dbe5ed;box-shadow:0 -3px 24px #06243e0a;gap:0}.app-header #nav a{height:64px;flex:1;max-width:110px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px;font-size:11px;color:#59718a;border:0;border-radius:0;background:transparent;position:relative;padding:4px}.app-header #nav a svg{width:23px;height:23px}.app-header #nav a.active{color:#009ba6;background:transparent}.app-header #nav a.active:after{content:'';height:3px;width:30px;bottom:0;position:absolute;border-radius:8px;background:#00abb8}.app-header #nav a:hover{background:#f0f8fa;color:#007f8b}.demo{height:var(--demo-height);min-height:0;box-sizing:border-box;padding:4px 16px;background:#0c304a;color:#b4cbd9;border:0;font-size:10px;display:flex;justify-content:center;gap:8px}.demo-label{background:#24465b;color:#d5edf4;border:0;font-size:9px}.workspace{padding-bottom:calc(var(--nav-height) + 28px + env(safe-area-inset-bottom))}.button{background:#063653;color:white}.button.outline{color:#123e58;border-color:#b5c8d7}.card{background:white;border-color:#dce5ed}.profile-cover{background:linear-gradient(115deg,#06243e,#0a5361);border-bottom:3px solid #00c6c9}.avatar.teal{background:#0a7582;color:white;border-color:#0a7582}.badge{background:#e8f5f7;color:#075b6a}.page-heading h1{color:#0b2a43}.map-page{overflow:hidden}.map-page .workspace,.map-page main,.map-page #content{margin:0;padding:0;max-width:none;width:100%}.map-page #content>.page-heading,.map-page .harbor-brief{display:none}.harbor-layout{display:block;position:fixed;inset:calc(var(--header-height) + var(--demo-height)) 0 calc(var(--nav-height) + env(safe-area-inset-bottom));margin:0}.map-shell{position:absolute;inset:0;border:0;border-radius:0;background:#06243e;overflow:hidden}#harbor-map{height:100%!important;width:100%;background:#092b45}.harbor-satellite{filter:brightness(.73) saturate(.78) contrast(1.09)}.map-instruction{position:absolute;top:16px;left:16px;z-index:700;background:#05243eeb;color:#c8deea;max-width:calc(100% - 195px);padding:10px 14px;border:1px solid #426176;border-radius:12px;font-size:11px;box-shadow:0 4px 20px #00122340}.chart-tag{color:#7be9e7;border-color:#476779;font-size:9px}.map-instruction button{color:white;background:transparent;border:0;text-decoration:underline}.map-toolbar{position:absolute;right:16px;top:16px;z-index:900;margin:0}.chart-options>summary{background:#fff;color:#0d304a;border:0;border-radius:12px;box-shadow:0 5px 24px #001a3530;padding:10px 14px;font-size:12px}.options-panel{max-height:calc(100dvh - 280px);overflow:auto;background:white;border:1px solid #cbd9e4;color:#19374d;max-width:calc(100vw - 32px)}.basemap-switch{display:flex;gap:6px;margin-bottom:16px}.basemap-switch button{flex:1;padding:9px;border:1px solid #c8dae5;background:white;color:#15394c;border-radius:7px}.basemap-switch button.selected{background:#07364e;color:white}.leaflet-top.leaflet-left{top:74px;left:8px}.leaflet-control-zoom{border:0!important;box-shadow:0 3px 18px #00162740!important}.leaflet-control-zoom a{color:#0a2e48!important;background:white!important}.leaflet-bottom.leaflet-right{bottom:174px}.leaflet-control-attribution{font-size:8px!important;max-width:70vw;background:#ffffffce!important}.map-foot,#chart-status{display:none}#tile-status{position:absolute;top:76px;left:55px;z-index:900}.map-quick-actions{position:absolute;bottom:188px;right:18px;z-index:700;display:grid;gap:9px}.map-quick-actions button{width:46px;height:46px;border:1px solid #d4e4ef;border-radius:50%;background:white;color:#07314c;font-size:25px;box-shadow:0 6px 18px #00172f30}.map-quick-actions .add-map-report{background:#00cad0;color:#00273b;border-color:#00cad0;font-size:30px}.report-panel{position:absolute;z-index:950;bottom:0;left:50%;transform:translateX(-50%);width:min(620px,100%);height:170px;max-height:calc(100% - 80px);border:1px solid #dfe9f0;border-bottom:0;border-radius:26px 26px 0 0;background:white;box-shadow:0 -12px 50px #00172f40;overflow:hidden;transition:height .25s ease}.report-panel.expanded{height:76%;overflow-y:auto;overscroll-behavior:contain}.sheet-handle{display:block;background:#fff;color:#0a2944;width:100%;text-align:left;border:0;padding:10px 23px 6px;touch-action:none;cursor:ns-resize}.grabber{display:block;margin:0 auto 12px;width:46px;height:5px;border-radius:5px;background:#bdcbd8}.sheet-title{display:block;font-size:25px;line-height:1.2;font-weight:750;letter-spacing:-.6px}.sheet-chevron{float:right;color:#7f98ad;font-weight:400}.sheet-subtitle{display:block;color:#6d8299;font-size:13px;margin-top:5px}.sample-dot{font-size:8px;letter-spacing:1px;border:1px solid #ccdbe5;border-radius:4px;padding:2px 4px;margin-left:5px;vertical-align:middle}#harbor-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:8px 20px 12px}.count-tile{border:1px solid transparent;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:13px;background:#f1f5f9;padding:8px 6px;text-align:left;color:#10324d}.count-tile.chosen{border-color:#74d8db;background:#e8f8f9}.count-tile b{display:block;font-size:19px;line-height:1}.count-tile small{font-size:10px;color:#59758c}.count-icon{font-size:23px;color:#073653}.alerts-drawer{border:0}.alerts-drawer>summary{display:none}.report-panel:not(.expanded) .alerts-drawer{visibility:hidden}.alert-panel-body{padding:12px 20px 28px}.report-row.selected{background:#e5f7f8}.report-row{color:#19364d}.report-pin{background:transparent!important;border:0!important;box-shadow:none!important}.report-pin>span{display:flex;align-items:center;justify-content:center;background:#00d7d8;color:#003248;width:32px;height:32px;border:3px solid #b1fffb;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);box-shadow:0 3px 14px #001a3570;font-size:15px;font-weight:900}.report-pin.resolved>span{background:#a2bac6}.report-pin>span::first-letter{font-size:14px}#map-report-overlay{position:absolute;z-index:1000;background:white;border:1px solid #d3e4eb;border-radius:17px;box-shadow:0 12px 40px #00162b66;color:#13344e;overflow:auto;overscroll-behavior:contain}#map-report-overlay[hidden]{display:none}#map-report-overlay .report-detail{padding:20px 18px;border:0;margin:0}#map-report-overlay .report-detail h2{font-size:21px;margin:12px 25px 5px 0}#map-report-overlay .report-detail h3{font-size:14px}#map-report-overlay .meta{font-size:11px}#map-report-overlay .detail-text{font-size:13px;line-height:1.5}#map-report-overlay .badge{max-width:calc(100% - 25px);font-size:9px}.map-report-close{position:sticky;top:5px;float:right;margin:5px 6px -35px 0;z-index:1;width:28px;height:28px;border:0;border-radius:50%;background:#edf4f8;color:#163c53;font-size:22px}#toast{bottom:calc(var(--nav-height) + 184px);z-index:2000;background:#07314b;color:white;border-color:#55cbd0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #00aebc;outline-offset:3px}
@media(min-width:900px){.report-panel{left:24px;transform:none;width:410px}.map-quick-actions{bottom:35px}.leaflet-bottom.leaflet-right{bottom:6px}.report-panel.expanded{height:82%}}
@media(max-width:600px){:root{--header-height:64px;--demo-height:31px;--nav-height:68px}.app-header{padding:0 15px}.brand-words>span{font-size:13px;letter-spacing:2.6px}.brand .mark,.mark svg{width:35px}.brand-words small{font-size:8px}.header-profile .avatar{width:30px;height:30px;font-size:10px}.demo{font-size:8px;line-height:11px;padding:4px 10px}.demo-label{font-size:7px;flex-shrink:0}.app-header #nav a{font-size:9px;height:59px;padding:2px}.app-header #nav a svg{width:21px;height:21px}.map-instruction{top:12px;left:12px;max-width:calc(100% - 148px);font-size:9px;padding:8px;line-height:1.4}.map-instruction .chart-tag{display:block;border:0;padding:0;font-size:8px}.map-toolbar{top:12px;right:12px}.chart-options>summary{font-size:10px;padding:10px}.sheet-title{font-size:24px}.map-quick-actions button{width:42px;height:42px}.workspace{padding-left:12px;padding-right:12px}.page-heading h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){.report-panel{transition:none}}
html[data-theme=dark] .sheet-handle,html[data-theme=dark] #map-report-overlay{background:#14191e;color:#d4c5c0}html[data-theme=dark] .count-tile{background:#202830;color:#d4c5c0}html[data-theme=dark] .app-header #nav{background:#14191e}html[data-theme=dark] .app-header #nav a{color:#b6c8d4}html[data-theme=dark] .app-header #nav a.active{color:#dd8580}
.app-header{flex-wrap:nowrap}#harbor-map{min-height:0}.options-panel #chart-status{display:block;padding:12px 0;font-size:10px;color:#5b7386}.options-panel>.button{display:block;width:100%;margin-top:10px;font-size:12px}.map-quick-actions button{display:grid;place-items:center}#map-report-overlay{border-top:3px solid #00cbd0}
/* Version 2: readable nautical chart and an in-place report sheet. */
#harbor-map{background:#d3d5d4}.map-instruction{font-size:14px;min-height:44px}.chart-tag{font-size:12px}.chart-options>summary{font-size:15px;min-height:44px}.map-quick-actions button{width:48px;height:48px}.map-quick-actions{bottom:124px}.leaflet-bottom.leaflet-right{bottom:110px}.report-panel{height:108px;display:flex;flex-direction:column;max-height:calc(100% - 70px)}.report-panel.expanded{height:68%;overflow:hidden}.sheet-handle{flex-shrink:0;padding:9px 20px 12px;min-height:92px}.sheet-title{font-size:23px}.sheet-subtitle{font-size:14px}.grabber{margin-bottom:10px}.sample-dot{font-size:10px}.report-panel:not(.expanded) #harbor-counts{display:none}#harbor-counts{flex-shrink:0;padding:0 16px 10px}.count-tile{min-height:48px;gap:5px}.count-tile small{font-size:12px}.count-tile b{font-size:20px}.count-icon{display:none}.alerts-drawer{min-height:0;display:flex;flex:1;overflow:hidden}.alert-panel-body{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;width:100%;padding:0 16px 24px}.report-back{display:none;background:transparent;color:#075b6a;border:0;padding:12px 0;font-size:16px;min-height:48px;text-align:left}.report-panel.show-detail #harbor-counts,.report-panel.show-detail .alert-panel-body>:not(#report-detail):not(.report-back){display:none!important}.report-panel.show-detail .report-back{display:block}.report-panel:not(.show-detail) #report-detail{display:none}.report-panel.show-detail .sheet-subtitle{display:none}.report-panel.show-detail .sheet-handle{min-height:70px}.report-detail{padding:0 0 20px;border-top:0}.report-detail h2{font-size:24px;line-height:1.3}.report-detail h3,.report-detail .detail-text,.report-detail .bridge-details,.report-detail .comment,.report-detail .field{font-size:17px;line-height:1.6}.report-detail .meta,.report-detail .muted{font-size:14px;line-height:1.5}.report-detail .button{min-height:46px;font-size:16px}.report-row{padding:16px 0;min-height:70px}.report-row b{font-size:18px;font-weight:650}.report-row small{font-size:16px}.report-row em{font-size:13px}.report-byline{padding-left:0}.report-byline .member-identity .profile-name{font-size:15px}.chart-popup{font-size:16px;line-height:1.55;max-height:none;overflow:visible}.chart-popup h3{font-size:21px}.chart-popup .muted{font-size:13px}.leaflet-container a.leaflet-popup-close-button{width:40px;height:40px;line-height:40px;font-size:25px}.leaflet-popup-content{margin:20px}.leaflet-control-zoom a{width:44px!important;height:44px!important;line-height:44px!important}.options-panel,.options-panel .field,.chart-controls label,.resolved-switch{font-size:16px}.chart-controls label{min-height:44px}.chart-controls input,.resolved-switch input{width:22px;height:22px}.options-panel select,.options-panel>.button{font-size:16px;min-height:46px}.chart-key,.aid-legend p,.options-panel #chart-status{font-size:13px;line-height:1.5}.chart-controls>b{color:inherit}.report-panel input,.report-panel textarea,dialog input,dialog textarea,dialog select{font-size:16px}.map-page .map-toolbar{flex-wrap:nowrap}.map-page .map-instruction{max-width:calc(100% - 180px)}
@media(max-width:600px){:root{--header-height:64px;--demo-height:42px;--nav-height:72px}.brand-words>span{font-size:16px;letter-spacing:1.3px}.brand-words small{font-size:10px}.header-profile .avatar{width:42px;height:42px;font-size:12px}.demo{font-size:11px;line-height:15px;padding:6px 12px;align-items:center}.app-header #nav a{font-size:11px;height:64px;gap:6px}.app-header #nav a svg{width:25px;height:25px}.map-page .map-instruction{top:12px;left:12px;font-size:0;max-width:none;padding:11px;display:block}.map-page .map-instruction:has(button){font-size:14px;max-width:calc(100% - 155px)}.map-instruction .chart-tag{font-size:12px;line-height:20px;display:block}.chart-options>summary{font-size:15px;padding:10px 12px}.chart-options .options-panel{position:fixed;top:calc(var(--header-height) + var(--demo-height) + 65px);left:12px;right:12px;width:auto;max-width:none;max-height:calc(100dvh - 280px);padding:18px}.map-quick-actions{right:12px;gap:8px}.report-panel.expanded{height:72%}.report-panel.show-detail{height:65%}.sheet-title{font-size:23px}.workspace .card .meta{font-size:13px}.post-text{font-size:17px}.leaflet-control-attribution{font-size:9px!important}.report-panel .badge{font-size:12px}.sheet-handle{touch-action:none}.app-header{gap:8px}}
@media(min-width:900px){.map-quick-actions{bottom:35px}.leaflet-bottom.leaflet-right{bottom:6px}}

.report-panel .alerts-drawer{display:block;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.report-panel .alert-panel-body{overflow:visible}.report-panel:not(.expanded) .alerts-drawer{display:none}
/* Version 2 refinement: original identity and a readable, single-scroll sheet. */
:root{--demo-height:34px}.app-header .brand{gap:10px;letter-spacing:-.6px}.app-header .brand .mark{width:34px;height:36px;border:1px solid #b89877;border-radius:9px;color:#fffbf4;font:600 26px Arial,sans-serif}.app-header .brand-words>span{font-size:22px;letter-spacing:-.6px;font-weight:700}.app-header .brand-words small{font-size:12px;color:#e8d8c6}.demo{height:var(--demo-height);font-size:12px;line-height:1.3;justify-content:space-between;padding:2px 16px;gap:10px}.demo button{background:transparent;border:0;color:#c9e1ec;text-decoration:underline;font-size:12px;min-height:30px;padding:4px}.harbor-layout{height:calc(100dvh - var(--header-height) - var(--demo-height) - var(--nav-height) - env(safe-area-inset-bottom));bottom:auto}.sheet-title{display:flex;justify-content:space-between;gap:14px}.sheet-chevron{flex-shrink:0}.sheet-subtitle{line-height:1.4}.report-panel.show-detail .sheet-subtitle,.report-panel.show-feature .sheet-subtitle{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-panel.show-detail .sheet-handle,.report-panel.show-feature .sheet-handle{min-height:90px}.report-panel.expanded{height:76%}.report-panel.show-detail,.report-panel.show-feature{height:74%}.report-panel{max-height:calc(100% - 55px)}.sheet-tabs{display:flex;gap:8px;padding:0 16px 10px;flex-shrink:0}.sheet-tabs button{font-size:15px;min-height:44px;border-radius:9px;border:1px solid #d2e0e9;color:#174660;background:#f5f9fc;flex:1;padding:8px 6px}.sheet-tabs .sheet-add-report{background:#083d57;color:white;border-color:#083d57}.report-panel:not(.expanded) .sheet-tabs{display:none}.report-panel.show-detail .sheet-tabs,.report-panel.show-feature .sheet-tabs,.report-panel.show-alerts #harbor-counts{display:none}.report-panel:not(.show-detail):not(.show-feature):not(.show-alerts) .sheet-tabs button:first-child,.report-panel.show-alerts .sheet-tabs button:nth-child(2){background:#e3f7f8;border-color:#72cacf;color:#075b6a}.count-tile small{font-size:14px}.count-tile{min-height:54px}.report-panel #chart-feature-detail{display:none}.report-panel.show-feature #chart-feature-detail{display:block}.report-panel.show-feature .alert-panel-body>:not(#chart-feature-detail):not(.report-back){display:none!important}.report-panel.show-feature .report-back{display:block}.report-panel:not(.show-detail):not(.show-feature):not(.show-alerts) .alert-panel-body>:not(#report-list){display:none!important}.report-panel.show-alerts #report-list,.report-panel.show-alerts #report-detail,.report-panel.show-alerts .report-back{display:none!important}.report-back{border-bottom:1px solid #dce7ee;width:100%;margin-bottom:14px}.report-detail h2{margin:12px 0 6px}.report-detail .report-primary-action{margin:12px 0 18px}.report-notes{border-top:1px solid #dce7ee;padding-top:12px;margin-top:20px}.report-notes>summary{font-size:16px;min-height:44px;padding:10px 0;cursor:pointer;font-weight:600}.chart-popup{font-size:16px;line-height:1.6}.chart-popup>div{padding:7px 0;border-bottom:1px solid #e1e9ef}.chart-popup h3{margin:8px 0 15px;font-size:23px}.chart-popup .button{min-height:48px;font-size:16px;white-space:normal;width:100%}.chart-popup .muted{font-size:14px}.chart-popup .badge{font-size:12px}.report-row em{font-size:14px}.report-panel .field textarea{min-height:110px}.app-header #nav a{font-size:14px;gap:5px}.app-header #nav a svg{width:24px;height:24px}.map-instruction{font-size:0!important;min-height:44px;max-width:none!important}.map-instruction .chart-tag{display:block;font-size:12px;line-height:20px;border:0;padding:0}.map-instruction:has(button){font-size:14px!important;max-width:calc(100% - 180px)!important}.report-panel .report-symbol{flex-shrink:0}.report-pin>span{transform:none;border-radius:50%;font-size:17px}.report-panel .report-byline{font-size:14px;padding-bottom:12px}.map-quick-actions{bottom:122px}.sheet-handle{cursor:pointer}.report-panel .alerts-drawer{scrollbar-width:thin}.map-shell .chart-options[open]{z-index:1100}
@media(max-width:600px){:root{--header-height:64px;--demo-height:34px;--nav-height:74px}.app-header{padding:0 14px}.app-header .brand-words>span{font-size:21px}.app-header .brand-words small{font-size:12px}.header-profile .avatar{width:42px;height:42px}.app-header #nav{padding-left:4px;padding-right:4px}.app-header #nav a{font-size:12px;gap:5px;max-width:none}.demo{font-size:12px;padding:2px 12px}.demo button{font-size:12px}.chart-options .options-panel{top:calc(var(--header-height) + var(--demo-height) + 62px);bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + 14px);max-height:none;width:auto}.report-panel.expanded{height:78%}.report-panel.show-detail,.report-panel.show-feature{height:74%}.sheet-handle{padding-left:18px;padding-right:18px}.sheet-title{font-size:24px}.sheet-subtitle{font-size:14px}#harbor-counts{gap:6px;padding-left:12px;padding-right:12px}.count-tile{padding:8px 3px}.count-tile small{font-size:14px}.report-detail h3{font-size:17px}.report-detail .detail-text{font-size:17px;line-height:1.65}.report-panel .alert-panel-body{padding-left:18px;padding-right:18px}.workspace .intro,.workspace .post-text,.workspace .profile-card p{font-size:16px}.workspace .role,.workspace .meta,.workspace .field{font-size:14px}.workspace .button,.workspace input,.workspace select,.workspace textarea{font-size:16px;min-height:44px}}
@media(min-width:900px){.report-panel.show-detail,.report-panel.show-feature{height:80%}.map-quick-actions{bottom:35px}}
html[data-theme=dark] .sheet-tabs button{background:#202830;color:#d4c5c0;border-color:#46525c}html[data-theme=dark] .chart-popup>div{border-color:#46525c}html[data-theme=dark] .report-back{color:#dba49e;border-color:#46525c}
/* Source controls stay above the scrolling reports and notices. */
.report-panel>.alert-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex-shrink:0;gap:7px;padding:0 16px 12px}.report-panel>.alert-filters .alert-filter{min-height:44px;font-size:15px;line-height:1.3;border-radius:9px;margin:0;padding:8px}.report-panel:not(.expanded)>.alert-filters,.report-panel.show-detail>.alert-filters,.report-panel.show-feature>.alert-filters{display:none}.report-panel.show-alerts.all-sources #report-list{display:block!important}.report-panel>.alert-filters .alert-filter.selected{background:#063d56;color:white;border-color:#063d56}
/* Reports browse in a nearly full-height sheet; source/category filters share its scroll. */
.report-panel{max-height:calc(100% - 8px)}.report-panel.expanded:not(.show-detail):not(.show-feature){height:calc(100% - 8px)}.report-panel .alert-panel-body>.alert-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 0 12px}.report-panel .alert-panel-body>.alert-filters .alert-filter{min-height:44px;font-size:15px;line-height:1.3;border-radius:9px;padding:8px}.report-panel .alert-panel-body>.alert-filters .alert-filter.selected{background:#063d56;color:white;border-color:#063d56}.report-panel .alert-panel-body>.sheet-tabs{padding:0 0 12px}.report-panel .alert-panel-body>#harbor-counts{padding:0 0 12px}.report-panel:not(.show-detail):not(.show-feature):not(.show-alerts) .alert-panel-body>:is(.alert-filters,.sheet-tabs,#harbor-counts){display:grid!important}.report-panel:not(.show-detail):not(.show-feature):not(.show-alerts) .alert-panel-body>.sheet-tabs{display:flex!important}.report-panel.show-alerts .alert-panel-body>.sheet-tabs{display:flex}.report-pin.selected>span{background:#fff;color:#00485b;border-color:#00aeb8;box-shadow:0 0 0 6px #00cbd055,0 3px 16px #001a3566}.report-panel .alerts-drawer{scroll-padding-top:12px}.report-panel .alert-panel-body{padding-top:8px;padding-bottom:30px}
/* Terminal directory is a separate layer and does not gate harbor reports. */
.terminal-layer-control{display:flex;align-items:center;gap:12px;font-size:16px;min-height:48px;border-bottom:1px solid #dce5ed;margin-bottom:12px}.terminal-layer-control input{width:22px;height:22px}.terminal-marker span{display:grid;place-items:center;width:32px;height:32px;border:2px solid white;border-radius:8px;background:#384b84;color:white;font-size:23px;box-shadow:0 3px 10px #001a3544}.terminal-map-label{font-size:12px!important;font-weight:650;color:#12324f!important;background:#ffffffee!important;border:1px solid #b9cbd8!important;padding:5px 8px!important;box-shadow:0 2px 6px #001a3522!important}.report-panel #terminal-directory-content{display:none}.report-panel.show-terminals .alert-panel-body>:not(#terminal-directory-content){display:none!important}.report-panel.show-terminals .alert-panel-body>#terminal-directory-content{display:block!important}.report-panel.show-terminals.terminal-detail{height:74%}.terminal-list-row{display:block;width:100%;padding:16px 0;background:transparent;text-align:left;color:inherit;border:0;border-bottom:1px solid #dce7ee;min-height:80px}.terminal-list-row b{display:block;font-size:18px;line-height:1.4}.terminal-list-row span{display:block;font-size:15px;margin-top:4px}.terminal-list-row small{display:block;font-size:14px;color:#617d90;margin-top:5px}.terminal-back{display:block}.terminal-berths{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}.terminal-berths li{padding:7px 10px;border-radius:7px;background:#edf4f8;font-size:15px}.terminal-contact{padding:12px;border:1px solid #d7e4eb;border-radius:9px;margin:12px 0}.terminal-contact>b,.terminal-contact>a,.terminal-contact>small{display:block;margin:5px 0}.terminal-contact a{color:#007684;text-decoration:underline;font-size:17px}.terminal-contact .terminal-source{font-size:14px}.terminal-contact small{font-size:13px;color:#607589}#terminal-directory-content p{font-size:16px;line-height:1.6}#terminal-directory-content h2{font-size:24px}#terminal-directory-content .button{margin:6px 0;font-size:16px;min-height:46px;white-space:normal}.sheet-tabs{flex-wrap:wrap}.sheet-tabs button{flex:1 1 70px}.report-panel.show-terminals .sheet-tabs,.report-panel.show-terminals #harbor-counts{display:none!important}html[data-theme=dark] .terminal-berths li{background:#26333d;color:#d4c5c0}html[data-theme=dark] .terminal-contact a{color:#dba49e}

.terminal-marker.terminal-dot span{display:block;border-radius:50%;border:1px solid white;background:#364d85;box-shadow:0 0 0 1px #26395777;font-size:0}.terminal-cluster span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#364d85;color:white;font-size:11px;border:1px solid white}.terminal-map-label{padding:2px 4px!important;box-shadow:none!important;border:0!important;border-radius:2px!important;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis;font-weight:500!important}.terminal-label-10{font-size:10px!important}.terminal-label-12,.terminal-label-0{font-size:12px!important}.terminal-label-13{font-size:13px!important}.terminal-book-page{border:1px solid #b9cbd8;border-radius:8px;padding:12px;margin:12px 0}.terminal-book-page summary{font-size:16px;cursor:pointer}.terminal-book-page img{display:block;width:100%;height:auto;margin:12px 0}.terminal-review{padding:12px;background:#fff1d8;border-radius:8px;color:#754a07}

.terminal-marker.terminal-dot{display:flex!important;align-items:center;justify-content:center}

.chart-berth-text{background:transparent!important;border:0!important;box-shadow:none!important;color:#26354b;font-family:Arial,sans-serif;font-size:10px;font-weight:600;text-align:center;line-height:24px;text-shadow:0 0 2px white,1px 1px 1px white,-1px -1px 1px white}.chart-berth-text.berth-zoom-17,.chart-berth-text.berth-zoom-18{font-size:12px}html[data-theme=dark] .chart-berth-text{color:#e5e9ee;text-shadow:0 0 2px #14202d,1px 1px 1px #14202d,-1px -1px 1px #14202d}

.chart-berth-text{white-space:nowrap;font-weight:500}.terminal-map-label{background:transparent!important;text-shadow:0 0 3px white,1px 1px 1px white,-1px -1px 1px white}html[data-theme=dark] .terminal-map-label{color:#e5e9ee!important;text-shadow:0 0 3px #14202d,1px 1px 1px #14202d,-1px -1px 1px #14202d}

.chart-berth-text{color:#364d85!important;font-weight:800!important;font-style:normal!important}html[data-theme=dark] .chart-berth-text{color:#8faef5!important;font-weight:800!important}

.harbor-landmark-label{background:transparent!important;border:0!important;box-shadow:none!important;color:#364d85!important;font:800 11px/28px Arial,sans-serif!important;text-align:center;white-space:nowrap;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 4px #fff;cursor:pointer}.harbor-landmark-label[class*="landmark-zoom-14"],.harbor-landmark-label[class*="landmark-zoom-15"]{font-size:12px!important}.harbor-landmark-label[class*="landmark-zoom-16"],.harbor-landmark-label[class*="landmark-zoom-17"],.harbor-landmark-label[class*="landmark-zoom-18"]{font-size:14px!important}.harbor-landmark-label:focus-visible{outline:2px solid #00aeb8;outline-offset:2px}html[data-theme="dark"] .harbor-landmark-label{color:#8faef5!important;text-shadow:-1px -1px 0 #071b2a,1px -1px 0 #071b2a,-1px 1px 0 #071b2a,1px 1px 0 #071b2a,0 0 4px #071b2a}

.chart-location-editor{position:absolute;z-index:1500;left:12px;bottom:120px;width:min(400px,calc(100% - 24px));max-height:48%;overflow:auto;background:var(--surface,#fff);color:var(--text,#12334b);padding:14px;border:2px solid #dd8700;border-radius:14px;box-shadow:0 3px 20px #001a3533}.chart-location-editor[hidden],.chart-edit-hint[hidden]{display:none!important}.chart-location-editor .field{margin:8px 0;font-size:14px}.chart-location-editor p{font-size:14px;line-height:1.4;margin:8px 0}.chart-location-editor input{font-size:16px;width:100%;min-height:44px}.chart-editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.chart-editor-actions .button{flex:1;min-height:44px;font-size:16px}.chart-edit-pin{background:transparent!important;border:0!important;cursor:move}.chart-edit-pin>span{display:inline-block;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:36px;padding:0 10px;background:#ffb540;color:#172d40;font-size:14px;font-weight:800;border:2px solid #fff;border-radius:7px;box-shadow:0 2px 9px #001a3566}.chart-edit-hint{position:absolute;z-index:1300;left:12px;top:76px;max-width:calc(100% - 24px);background:var(--surface,#fff);color:var(--text,#12334b);padding:6px 10px;border:1px solid #dd8700;border-radius:9px;font-size:14px;display:flex;align-items:center;gap:12px}.chart-edit-hint button{border:0;background:#174660;color:#fff;border-radius:6px;min-height:44px;padding:6px 12px;font-size:16px}.chart-correction-row{padding:12px 0;border-bottom:1px solid var(--border,#dce7ee)}.chart-correction-row small{display:block;margin-top:6px;font-size:14px}.chart-corrections-export{width:100%;min-height:240px;font-size:16px}.terminal-map-label.leaflet-interactive{cursor:pointer}
