/* Workspace-only app shell; public directory and editorial pages are unchanged. */
.mission-control { --mission-panel-radius: 4px; --mission-control-radius: 3px; margin: 0; height: 100dvh; overflow: hidden; background: #08131d; color: #e7f2f0; display: flex; flex-direction: column; }
.mission-viewport { flex: 1; min-height: 0; margin-left: 76px; overflow: auto; scrollbar-color: #345463 #08131d; }
.mission-skip { position: fixed; top: -60px; left: 12px; z-index: 100; background: #45d8df; color: #08131d; padding: 12px; }
.mission-skip:focus { top: 6px; }
.mission-control :focus-visible { outline: 2px solid #45d8df; outline-offset: 3px; }
.mission-control .intel-main { width: 100%; max-width: none; padding: 16px; }
.mission-control .intel-workspace h1, .mission-control .intel-workspace h2 { color: #e7f2f0; }
.mission-control .intel-main > h1 { font: 600 24px/1.15 var(--display); margin: 0 0 10px; letter-spacing: -.02em; }
.mission-control .intel-map-toolbar select { background: #102534; color: #e7f2f0; border: 1px solid #345463; border-radius: var(--mission-control-radius); padding: 7px; }
.mission-control .intel-map-status select { display: block; width: 100%; background: #102534; color: #e7f2f0; border: 1px solid #345463; border-radius: var(--mission-control-radius); padding: 7px; margin: 6px 0; }
.mission-control input[type=range] { accent-color: #45d8df; }
.mission-control .intel-layer-evidence { border-top: 1px solid #284354; padding-top: 10px; margin-top: 10px; color: #91a8ad; font-size: 12px; }
.mission-control .intel-layer-evidence summary { cursor: pointer; width: fit-content; }
.mission-control .intel-layer-sources { display: block; padding: 8px 0 2px; color: #91a8ad; font-size: 11px; }
.mission-control .intel-layer-sources:hover, .mission-control .intel-layer-sources:focus-visible { color: #e7f2f0; }
.mission-control .maritime-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mission-control .maritime-summary p { margin: 10px 0; font-size: 13px; }
.mission-control .intel-main > p { overflow-wrap: anywhere; font-size: 13px; }
.mission-control .intel-hero { gap: 24px; padding-bottom: 12px; grid-template-columns: minmax(0, 1fr) minmax(280px, 440px); align-items: center; }
.mission-control .intel-hero h1 { margin: 0; font: 600 24px/1.1 var(--display); letter-spacing: -.02em; }
.mission-control .intel-kicker { margin-bottom: 6px; }
.mission-control .intel-lede { margin: 6px 0 0; font-size: 12px; }
.mission-control .intel-query { border-radius: var(--mission-panel-radius); padding: 10px; }
.mission-control .intel-query input { border-radius: var(--mission-control-radius); padding: 9px; }
.mission-control .intel-card-head input { background: #102534; color: #e7f2f0; border: 1px solid #345463; border-radius: var(--mission-control-radius); padding: 7px; max-width: 100%; }
.mission-control .intel-card-head { flex-wrap: wrap; gap: 10px; }
.mission-control .intel-query small { margin-top: 5px; }
.mission-control .intel-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mission-control .intel-summary > div { min-height: 0; padding: 10px 14px; }
.mission-control .intel-summary strong { font: 600 20px/1.1 var(--mono); margin: 5px 0; }
.mission-control .intel-grid-primary { grid-template-columns: minmax(0, 1fr) 320px; }
.mission-control .intel-card-head { padding: 14px 16px 0; }
.mission-control .intel-card { border-radius: var(--mission-panel-radius); }
.mission-control .intel-card h2 { font: 600 18px/1.15 var(--display); letter-spacing: -.01em; }
.mission-control .intel-geographic-surface { margin: 12px; }
.mission-control .intel-globe { height: clamp(360px, 58dvh, 960px); }
.mission-control .intel-map,
.mission-control .intel-surface,
.mission-control .intel-empty,
.mission-control .intel-graph-node,
.mission-control .intel-next-card {
  border-radius: var(--mission-panel-radius);
}
.mission-control .intel-query > div,
.mission-control .intel-query button,
.mission-control .intel-button,
.mission-control .intel-surface-controls button,
.mission-control .intel-node,
.mission-control .intel-source-state {
  border-radius: var(--mission-control-radius);
}
.mission-control .intel-selected-card { padding: 16px; }
.mission-control .intel-selected-card h3 { color: var(--intel-text); font-size: 16px; margin-top: 24px; }
.mission-control .port-activity-preview { border-top: 1px solid var(--intel-line); margin: 16px 0; }
.mission-control .port-activity-preview > h3 { margin: 0 0 8px; color: #edf7f5; font: 650 17px/1.2 var(--display); letter-spacing: -.01em; }
.mission-control .port-activity-preview p, .mission-control .port-activity-preview figcaption { font-size: 12px; line-height: 1.5; }
.mission-control .port-activity-preview figure { margin: 12px 0; }
.mission-control .port-activity-preview svg { display: block; width: 100%; }
.mission-control .port-registry-profile { margin-top: 24px; border-top: 1px solid var(--intel-line); padding-top: 16px; }
.port-inspector-current { margin: 14px 0 16px; border: 1px solid #284354; border-radius: var(--mission-panel-radius); background: #0b1d29; }
.port-inspector-current > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #284354; padding: 9px 11px; }
.port-inspector-current > header span { color: #45d8df; font: 700 9px/1.2 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.port-inspector-current > header time { color: #91a8ad; font: 10px/1.2 var(--mono); }
.port-inspector-current > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.port-inspector-current > div > div { min-width: 0; padding: 11px; border-right: 1px solid #284354; }
.port-inspector-current > div > div:last-child { border-right: 0; }
.port-inspector-current div span { display: block; color: #78939c; font: 9px/1.2 var(--sans); text-transform: uppercase; }
.port-inspector-current div strong { display: block; margin-top: 5px; overflow-wrap: anywhere; color: #e7f2f0; font: 650 15px/1.2 var(--mono); }
.mission-control .port-activity-pulse { display: grid; gap: 10px; margin: 12px 0 16px; border: 1px solid #284354; border-radius: var(--mission-panel-radius); padding: 10px; background: #0b1d29; }
.mission-control .port-activity-pulse > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; border-bottom: 1px solid #284354; padding-bottom: 8px; }
.mission-control .port-activity-pulse > header > div { display: grid; gap: 3px; min-width: 0; }
.mission-control .port-activity-pulse > header span, .mission-control .port-activity-pulse__mix-head span { color: #45d8df; font: 700 8px/1.2 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.mission-control .port-activity-pulse > header strong { color: #e7f2f0; font: 650 13px/1.2 var(--display); }
.mission-control .port-activity-pulse > header small { color: #f4b866; font: 9px/1.2 var(--mono); }
.mission-control .port-activity-pulse figure { display: grid; gap: 5px; margin: 0; }
.mission-control .port-activity-pulse__chart { position: relative; display: flex; align-items: end; gap: 5px; height: 68px; border-bottom: 1px solid #365260; background: repeating-linear-gradient(to bottom, transparent 0, transparent 21px, #1a3340 22px); }
.mission-control .port-activity-pulse__chart > span { position: relative; display: block; flex: 1; height: var(--pulse-height); min-width: 4px; background: #2dbdcd; }
.mission-control .port-activity-pulse__chart > span.is-latest { background: #f4b866; }
.mission-control .port-activity-pulse__chart > span > i { position: absolute; inset: 0; display: block; border-top: 2px solid #b2ffff; opacity: .45; }
.mission-control .port-activity-pulse__baseline { position: absolute; right: 0; left: 0; bottom: var(--pulse-baseline); border-top: 1px dashed #f4b866; }
.mission-control .port-activity-pulse figure figcaption { display: flex; justify-content: space-between; gap: 8px; color: #78939c; font: 8px/1.2 var(--mono); }
.mission-control .port-activity-pulse__mix { display: grid; gap: 7px; border-top: 1px solid #203d4b; padding-top: 9px; }
.mission-control .port-activity-pulse__mix-head { display: flex; justify-content: space-between; gap: 8px; }
.mission-control .port-activity-pulse__mix-head small { color: #78939c; font: 8px/1.2 var(--mono); text-transform: uppercase; }
.mission-control .port-activity-pulse__mix-row { display: grid; grid-template-columns: 76px minmax(0, 1fr) 36px; align-items: center; gap: 7px; }
.mission-control .port-activity-pulse__mix-row > span { overflow: hidden; color: #9cc4c8; font: 9px/1.2 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.mission-control .port-activity-pulse__mix-row > div { height: 5px; overflow: hidden; border-radius: 999px; background: #18313d; }
.mission-control .port-activity-pulse__mix-row i { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: linear-gradient(90deg, #2bb9d0, #45d8df); }
.mission-control .port-activity-pulse__mix-row strong { color: #e7f2f0; font: 650 9px/1.2 var(--mono); text-align: right; }
.mission-control .port-registry-profile h3 { margin: 0 0 12px; font-size: 18px; color: var(--intel-text); }
.mission-control .port-registry-profile h4 { font-size: 13px; margin: 16px 0 8px; }
.mission-control .port-registry-profile .intel-facts { margin: 12px 0; }
.mission-control .port-registry-profile details { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--intel-line); }
.mission-control .port-registry-profile summary { cursor: pointer; color: var(--intel-text); font-size: 13px; }
.mission-control .port-registry-profile summary:focus-visible { outline: 2px solid #38c9e9; outline-offset: 4px; }
.mission-control .port-registry-profile p, .mission-control .port-registry-profile li { font-size: 12px; line-height: 1.6; }
.mission-control .port-registry-raw div { padding: 8px 0; border-bottom: 1px solid var(--intel-line); }
.mission-control .port-registry-raw dt { font: 11px/1.5 var(--mono); color: var(--intel-muted); overflow-wrap: anywhere; }
.mission-control .port-registry-raw dd { margin: 4px 0 0; font-size: 12px; overflow-wrap: anywhere; }
.mission-control .intel-table-wrap { max-height: 320px; overflow: auto; }
.mission-control .intel-table thead { position: sticky; top: 0; background: #0d1c28; }
.port-timeline select { color: #d4e5eb; background: #122330; border: 1px solid #365260; border-radius: var(--mission-control-radius); padding: 5px 7px; max-width: 100%; font: inherit; }
.port-timeline-context select { width: 100%; }
.ais-vessel-inspector { border-bottom: 1px solid #284354; padding-bottom: 18px; margin-bottom: 20px; }
.ais-vessel-inspector > input { width: 100%; box-sizing: border-box; background: #102534; color: #e7f2f0; border: 1px solid #345463; border-radius: var(--mission-control-radius); padding: 9px; margin-bottom: 12px; }
.ais-vessel-inspector button { background: #102534; color: #cce5e8; border: 1px solid #345463; border-radius: var(--mission-control-radius); padding: 7px; cursor: pointer; font: 12px var(--sans); }
.ais-vessel-inspector button[aria-pressed=true] { color: #ffcb7b; border-color: #aa7b40; }
.ais-vessel-inspector button:disabled { opacity: .45; cursor: default; }
.ais-vessel-inspector p { font-size: 12px; color: #91a8ad; }
.ais-vessel-inspector .intel-table { font-size: 11px; }
.ais-vessel-inspector .intel-table-wrap { max-height: 240px; }
.ais-vessel-pages { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; font-size: 12px; }
@media (max-width: 800px) {
  .mission-viewport { margin-left: 0; }
  .mission-control .intel-main { padding: 10px; }
  .mission-control .maritime-summary { grid-template-columns: 1fr; }
  .mission-control figure svg text { font-size: 26px; }
  .mission-control .intel-hero, .mission-control .intel-grid-primary { grid-template-columns: 1fr; gap: 12px; }
  .mission-control .intel-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mission-control .intel-globe { height: 52dvh; min-height: 300px; }
}

/* Global operations mode: a persistent map stage with independently scrollable docks. */
.mission-control .port-command-center { height: 100%; min-height: 640px; }
.mission-control .port-command-center .intel-main { height: 100%; padding: 0; position: relative; display: flex; flex-direction: column; }
.port-command-bar { display: flex; align-items: center; gap: 16px; min-height: 48px; padding: 7px 16px; border-bottom: 1px solid #284354; background: #0b1924; flex: none; }
.port-command-intelligence-tools { display: grid; grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr); gap: 12px; padding: 12px 16px; border-bottom: 1px solid #284354; background: #081720; flex: none; }
.port-command-intelligence-tools > * { min-width: 0; max-width: 100%; }
.c249-world-context-panels { display: grid; gap: 8px; min-width: 0; margin: 10px 0; }
.mission-control .port-command-bar h1 { font: 600 16px/1.2 var(--display); margin: 0; white-space: nowrap; letter-spacing: -.01em; }
.port-command-search { flex: 1; display: flex; align-items: center; gap: 12px; font: 12px var(--sans); color: #91a8ad; }
.port-command-search input { width: min(100%, 460px); min-width: 0; background: #102534; color: #e7f2f0; border: 1px solid #345463; border-radius: var(--mission-control-radius); padding: 8px 11px; }
.port-command-bar button, .port-registry-dock button { background: #102534; color: #cce5e8; border: 1px solid #345463; border-radius: var(--mission-control-radius); padding: 9px 12px; cursor: pointer; font-size: 12px; }
.port-command-bar .port-command-focus-toggle { border-color: #45d8df; color: #9fe8e7; background: #0d2d38; }
.port-command-bar .port-command-focus-toggle[aria-pressed='true'] { color: #07131b; background: #45d8df; }
.mission-control .port-command-center .port-snapshot-panel { position: static; width: auto; margin: 0 0 12px; background: #0b1924; border: 1px solid #284354; border-radius: var(--mission-panel-radius); font-size: 12px; }
.port-snapshot-panel > summary { padding: 8px 10px; cursor: pointer; color: #b5ced4; }
.mission-control .port-snapshot-panel .intel-summary { grid-template-columns: 1fr 1fr; }
.port-snapshot-panel small { overflow-wrap: anywhere; }
.port-snapshot-panel .intel-query > div { flex-wrap: wrap; }
.mission-control .port-command-center .intel-grid-primary { flex: 1; min-height: 0; margin: 0; gap: 0; grid-template-columns: minmax(0, 1fr) clamp(346px, 23.5vw, 400px); }
.mission-control .port-command-center .intel-map-card { position: relative; border: 0; min-height: 0; }
.mission-control .port-command-center .intel-selected-card { overflow-y: auto; margin: 0; padding: 14px 16px; border-width: 0 0 0 1px; background: #0a1722; scrollbar-color: #345463 #08131d; }
.global-port-current-pulse { margin-top: 20px; border-top: 1px solid #284354; padding-top: 15px; }
.global-port-current-pulse > header { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.global-port-current-pulse > header div { display: grid; gap: 3px; }
.global-port-current-pulse > header span { color: #45d8df; font: 700 9px/1.2 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.global-port-current-pulse > header strong { color: #e7f2f0; font: 650 14px/1.3 var(--sans); }
.global-port-current-pulse > header time { color: #78939c; font: 9px/1.3 var(--mono); }
.global-port-current-pulse ol { display: grid; gap: 0; margin: 11px 0 10px; padding: 0; border-top: 1px solid #203b49; list-style: none; }
.global-port-current-pulse li { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-width: 0; padding: 9px 0; border-bottom: 1px solid #203b49; }
.global-port-current-pulse li.global-port-current-leader { grid-template-columns: 24px minmax(0, 1fr) minmax(142px, .9fr); }
.global-port-current-rank { color: #5c7c88; font: 10px var(--mono); }
.global-port-current-pulse li div { display: grid; min-width: 0; gap: 2px; }
.global-port-current-pulse li a { overflow: hidden; color: #dff5f3; font: 600 12px/1.3 var(--sans); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.global-port-current-pulse li a:hover, .global-port-current-pulse li a:focus-visible { color: #45d8df; }
.global-port-current-pulse li small { overflow: hidden; color: #78939c; font: 9px/1.3 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.global-port-current-pulse li > strong { color: #e7f2f0; font: 650 12px/1.3 var(--mono); white-space: nowrap; }
.global-port-current-pulse li > strong small { color: #78939c; font: 8px/1 var(--sans); text-transform: uppercase; }
.global-port-current-leader-metrics { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px !important; min-width: 0; }
.global-port-current-leader-metrics > span { display: grid; min-width: 0; gap: 2px; }
.global-port-current-leader-metrics strong { overflow: hidden; color: #e7f2f0; font: 650 10px/1.2 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.global-port-current-leader-metrics small { overflow: hidden; color: #78939c; font: 8px/1.2 var(--sans); text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.global-port-current-link { color: #45d8df; font: 600 11px/1.4 var(--sans); text-decoration: none; }
.global-country-current-pulse { margin-top: 20px; padding-top: 15px; border-top: 1px solid #284354; }
.global-country-current-pulse > header { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.global-country-current-pulse > header div { display: grid; gap: 3px; }
.global-country-current-pulse > header span { color: #45d8df; font: 700 9px/1.2 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.global-country-current-pulse > header strong { color: #e7f2f0; font: 650 14px/1.3 var(--sans); }
.global-country-current-pulse > header small { color: #78939c; font: 9px/1.3 var(--mono); text-transform: uppercase; }
.global-country-current-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
.global-country-current-metrics > div { display: grid; gap: 4px; min-width: 0; padding: 9px; border: 1px solid #203b49; border-radius: var(--mission-control-radius); background: #08151f; }
.global-country-current-metrics span { color: #78939c; font: 8px/1.2 var(--sans); text-transform: uppercase; }
.global-country-current-metrics strong { overflow: hidden; color: #e7f2f0; font: 650 13px/1.2 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.global-country-current-pulse ol { display: grid; gap: 0; margin: 11px 0 10px; padding: 0; border-top: 1px solid #203b49; list-style: none; }
.global-country-current-pulse li { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-width: 0; padding: 8px 0; border-bottom: 1px solid #203b49; }
.global-country-current-pulse li div { display: grid; min-width: 0; gap: 2px; }
.global-country-current-pulse li a { overflow: hidden; color: #dff5f3; font: 600 12px/1.3 var(--sans); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.global-country-current-pulse li a:hover, .global-country-current-pulse li a:focus-visible { color: #45d8df; }
.global-country-current-pulse li small { overflow: hidden; color: #78939c; font: 9px/1.3 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.global-country-current-pulse li > strong { color: #e7f2f0; font: 650 12px/1.3 var(--mono); white-space: nowrap; }
.global-country-current-pulse li > strong small { color: #78939c; font: 8px/1 var(--sans); text-transform: uppercase; }
.global-country-cargo-pulse { margin-top: 18px; padding-top: 14px; border-top: 1px solid #284354; }
.global-country-cargo-pulse > header { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.global-country-cargo-pulse > header div { display: grid; gap: 3px; }
.global-country-cargo-pulse > header span { color: #45d8df; font: 700 9px/1.2 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.global-country-cargo-pulse > header strong { color: #e7f2f0; font: 650 14px/1.3 var(--sans); }
.global-country-cargo-pulse > header small, .global-country-cargo-pulse > small { color: #78939c; font: 9px/1.3 var(--mono); text-transform: uppercase; }
.global-country-cargo-pulse > p { margin: 7px 0 0; color: #78939c; font: 9px/1.3 var(--mono); }
.global-country-cargo-pulse ol { display: grid; gap: 0; margin: 10px 0; padding: 0; border-top: 1px solid #203b49; list-style: none; }
.global-country-cargo-pulse li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; min-width: 0; padding: 8px 0; border-bottom: 1px solid #203b49; }
.global-country-cargo-pulse li div { display: grid; min-width: 0; gap: 2px; }
.global-country-cargo-pulse li a { overflow: hidden; color: #dff5f3; font: 600 12px/1.3 var(--sans); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.global-country-cargo-pulse li a:hover, .global-country-cargo-pulse li a:focus-visible { color: #45d8df; }
.global-country-cargo-pulse li small { overflow: hidden; color: #78939c; font: 9px/1.3 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.global-country-cargo-pulse li > strong { color: #e7f2f0; font: 650 12px/1.3 var(--mono); white-space: nowrap; }
.global-country-cargo-pulse li > strong small { color: #78939c; font: 8px/1 var(--sans); text-transform: uppercase; }
.global-country-cargo-pulse > button { margin-right: 10px; border: 0; padding: 0; color: #45d8df; background: transparent; font: 600 11px/1.4 var(--sans); cursor: pointer; }
.global-country-cargo-pulse > button:hover, .global-country-cargo-pulse > button:focus-visible { color: #b2ffff; }
.global-port-overview-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.global-port-overview-actions > a { color: #91cdd2; font: 600 11px/1.4 var(--sans); text-decoration: none; }
.maritime-pulse-board { display: grid; gap: 10px; margin: 0 -2px 14px; border: 1px solid #294653; border-radius: var(--mission-panel-radius); padding: 10px; background: linear-gradient(145deg, #0b202b, #0a1722 72%); box-shadow: 0 10px 26px #0003; }
.maritime-pulse-board__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.maritime-pulse-board__header > div { display: grid; gap: 3px; min-width: 0; }
.maritime-pulse-board__header span { color: #45d8df; font: 700 8px/1.2 var(--mono); letter-spacing: .14em; }
.maritime-pulse-board__header h3 { margin: 0; color: #edf7f5; font: 650 15px/1.2 var(--display); }
.maritime-pulse-board__header > small { color: #9cc4c8; font: 9px/1.3 var(--mono); text-transform: uppercase; }
.maritime-pulse-board__kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.maritime-pulse-board__kpi { display: grid; gap: 3px; min-width: 0; border: 1px solid #203d4b; border-radius: var(--mission-control-radius); padding: 7px; background: #08151f; }
.maritime-pulse-board__kpi[data-state="fresh"] { border-color: #246f73; }
.maritime-pulse-board__kpi[data-state="stale"] { border-color: #806034; }
.maritime-pulse-board__kpi span { color: #78939c; font: 8px/1.2 var(--sans); text-transform: uppercase; }
.maritime-pulse-board__kpi strong { overflow: hidden; color: #e7f2f0; font: 650 13px/1.15 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.maritime-pulse-board__kpi small { overflow: hidden; color: #91a8ad; font: 8px/1.2 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.maritime-pulse-board__chart { display: grid; gap: 7px; margin: 0; border-top: 1px solid #284354; padding-top: 9px; }
.maritime-pulse-board__chart figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; min-width: 0; }
.maritime-pulse-board__chart figcaption > div { display: grid; gap: 3px; min-width: 0; }
.maritime-pulse-board__chart figcaption span { color: #78939c; font: 8px/1.2 var(--mono); letter-spacing: .11em; }
.maritime-pulse-board__chart figcaption a { overflow: hidden; color: #e7f2f0; font: 650 12px/1.25 var(--sans); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.maritime-pulse-board__chart figcaption a:hover, .maritime-pulse-board__chart figcaption a:focus-visible { color: #45d8df; }
.maritime-pulse-board__chart figcaption > small { overflow: hidden; color: #78939c; font: 9px/1.2 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.maritime-pulse-board__lanes { display: grid; gap: 7px; }
.maritime-pulse-board__lane { display: grid; grid-template-columns: 74px minmax(48px, 1fr) auto; align-items: center; gap: 6px; min-width: 0; }
.maritime-pulse-board__lane > span:first-child { overflow: hidden; color: #9cc4c8; font: 9px/1.2 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.maritime-pulse-board__lane > div { height: 6px; overflow: hidden; border-radius: 999px; background: #18313d; }
.maritime-pulse-board__lane > div i { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: linear-gradient(90deg, #2bb9d0, #45d8df 70%, #f4b866); }
.maritime-pulse-board__lane > span:last-child { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 4px; min-width: 54px; text-align: right; }
.maritime-pulse-board__lane strong { color: #e7f2f0; font: 650 10px/1.2 var(--mono); white-space: nowrap; }
.maritime-pulse-board__lane small { color: #78939c; font: 8px/1.2 var(--sans); text-transform: uppercase; }
.maritime-pulse-board__chart-note { color: #78939c; font: 8px/1.25 var(--mono); }
.maritime-pulse-board__movers { display: grid; gap: 7px; border-top: 1px solid #284354; padding-top: 9px; }
.maritime-pulse-board__movers > header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.maritime-pulse-board__movers > header > div { display: grid; gap: 3px; min-width: 0; }
.maritime-pulse-board__movers > header span { color: #45d8df; font: 700 8px/1.2 var(--mono); letter-spacing: .14em; }
.maritime-pulse-board__movers > header strong { color: #e7f2f0; font: 650 12px/1.2 var(--display); }
.maritime-pulse-board__movers > header small { color: #78939c; font: 8px/1.2 var(--mono); text-align: right; }
.maritime-pulse-board__movers ol { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.maritime-pulse-board__movers li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(42px, .75fr) auto; align-items: center; gap: 6px; min-width: 0; }
.maritime-pulse-board__movers li a { overflow: hidden; color: #cde8e8; font: 600 9px/1.2 var(--sans); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.maritime-pulse-board__movers li a:hover, .maritime-pulse-board__movers li a:focus-visible { color: #45d8df; }
.maritime-pulse-board__movers li > strong { color: #f4b866; font: 650 10px/1.2 var(--mono); white-space: nowrap; }
.maritime-pulse-board__movers li[data-direction="up"] > strong { color: #69e1e4; }
.maritime-pulse-board__movers li > small { grid-column: 1 / -1; color: #78939c; font: 8px/1.2 var(--mono); }
.maritime-pulse-board__mover-track { position: relative; height: 5px; overflow: hidden; border-radius: 999px; background: #18313d; }
.maritime-pulse-board__mover-track::before { position: absolute; inset: 0 auto 0 50%; width: 1px; background: #78939c; content: ''; opacity: .65; }
.maritime-pulse-board__mover-track i { display: block; height: 100%; margin-left: 50%; border-radius: inherit; background: #f4b866; }
.maritime-pulse-board__movers li[data-direction="up"] .maritime-pulse-board__mover-track i { background: #45d8df; }
.maritime-pulse-board__pressure { display: grid; gap: 7px; border-top: 1px solid #284354; padding-top: 9px; }
.maritime-pulse-board__pressure > header, .maritime-pulse-board__coverage > header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.maritime-pulse-board__pressure > header > div, .maritime-pulse-board__coverage > header > div { display: grid; gap: 3px; min-width: 0; }
.maritime-pulse-board__pressure > header span, .maritime-pulse-board__coverage > header span { color: #45d8df; font: 700 8px/1.2 var(--mono); letter-spacing: .14em; }
.maritime-pulse-board__pressure > header strong, .maritime-pulse-board__coverage > header strong { color: #e7f2f0; font: 650 12px/1.2 var(--display); }
.maritime-pulse-board__pressure > header small, .maritime-pulse-board__coverage > header small { color: #78939c; font: 8px/1.2 var(--mono); text-align: right; }
.maritime-pulse-board__pressure ol { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.maritime-pulse-board__pressure li { display: grid; grid-template-columns: 19px minmax(80px, .95fr) minmax(45px, 1fr) auto; align-items: center; gap: 6px; min-width: 0; }
.maritime-pulse-board__pressure-rank { color: #5c7c88; font: 9px/1.2 var(--mono); }
.maritime-pulse-board__pressure li > div:nth-of-type(1) { display: grid; gap: 2px; min-width: 0; }
.maritime-pulse-board__pressure li a { overflow: hidden; color: #cde8e8; font: 600 9px/1.2 var(--sans); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.maritime-pulse-board__pressure li a:hover, .maritime-pulse-board__pressure li a:focus-visible { color: #45d8df; }
.maritime-pulse-board__pressure li small { overflow: hidden; color: #78939c; font: 8px/1.2 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.maritime-pulse-board__pressure-track { height: 5px; overflow: hidden; border-radius: 999px; background: #18313d; }
.maritime-pulse-board__pressure-track i { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: linear-gradient(90deg, #2bb9d0, #45d8df 70%, #f4b866); }
.maritime-pulse-board__pressure li > strong { color: #f4b866; font: 650 10px/1.2 var(--mono); white-space: nowrap; }
.maritime-pulse-board__pressure li[data-direction="up"] > strong { color: #69e1e4; }
.maritime-pulse-board__pressure li[data-direction="flat"] > strong, .maritime-pulse-board__pressure li[data-direction="unknown"] > strong { color: #78939c; }
.maritime-pulse-board__coverage { display: grid; gap: 7px; border-top: 1px solid #284354; padding-top: 9px; }
.maritime-pulse-board__coverage-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(90px, .7fr); gap: 10px; }
.maritime-pulse-board__coverage-grid > div { display: grid; gap: 3px; min-width: 0; }
.maritime-pulse-board__coverage-grid span { color: #9cc4c8; font: 8px/1.2 var(--sans); text-transform: uppercase; }
.maritime-pulse-board__coverage-grid strong { color: #e7f2f0; font: 650 11px/1.2 var(--mono); }
.maritime-pulse-board__coverage-grid small { color: #78939c; font: 8px/1.2 var(--mono); }
.maritime-pulse-board__coverage-track { height: 5px; overflow: hidden; border-radius: 999px; background: #18313d; }
.maritime-pulse-board__coverage-track i { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: #45d8df; }
.maritime-pulse-board__footer { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; border-top: 1px solid #203d4b; padding-top: 8px; }
.maritime-pulse-board__footer nav { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.maritime-pulse-board__footer a { color: #45d8df; font: 600 9px/1.3 var(--sans); text-decoration: none; }
.maritime-pulse-board__footer a:hover, .maritime-pulse-board__footer a:focus-visible { color: #b2ffff; text-decoration: underline; text-underline-offset: 3px; }
.maritime-pulse-board__footer time { flex: none; color: #78939c; font: 8px/1.3 var(--mono); }
.maritime-pulse-board + .global-port-current-pulse { margin-top: 4px; }
@media (max-width: 520px) {
  .maritime-pulse-board { margin-right: 0; margin-left: 0; }
  .maritime-pulse-board__footer { align-items: flex-start; flex-direction: column; }
}
.world-entity-action-rail { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; margin: -2px -2px 14px; padding: 9px 10px; border: 1px solid #294653; border-radius: var(--mission-panel-radius); background: #0b202a; }
.world-entity-action-identity { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 2px 8px; min-width: 0; }
.world-entity-action-identity > span { color: #50d5de; font-size: 8px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.world-entity-action-identity > strong { min-width: 0; color: #edf7f5; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.world-entity-action-identity > small { grid-column: 2; min-width: 0; color: #78959d; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.world-entity-action-rail nav { display: flex; flex: none; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
.world-entity-action-rail nav a { display: inline-flex; align-items: center; gap: 4px; min-height: 28px; padding: 5px 8px; border: 1px solid #345463; border-radius: var(--mission-panel-radius); color: #9ed7dc; font-size: 9px; font-weight: 700; text-decoration: none; }
.world-entity-action-rail nav a:hover, .world-entity-action-rail nav a:focus-visible { border-color: #50d5de; color: #f0faf8; outline: none; }
.world-entity-action-rail nav a span { color: #50d5de; }
@media (max-width: 520px) {
  .world-entity-action-rail { align-items: flex-start; flex-direction: column; }
  .world-entity-action-rail nav { justify-content: flex-start; width: 100%; }
}
@media (min-width: 801px) {
  /* Keep the map as the command-center stage. The question and feed clocks
     float over it as compact instruments instead of pushing the map below
     the fold. The layer rail remains the left-most control surface. */
  .mission-control .port-command-center .port-command-intelligence-tools {
    position: absolute;
    top: 56px;
    right: 16px;
    left: 276px;
    z-index: 4;
    grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
    align-items: start;
    padding: 0;
    border: 0;
    background: transparent;
    pointer-events: none;
  }

  .mission-control .port-command-center .port-command-intelligence-tools > * {
    pointer-events: auto;
  }

  .mission-control .port-command-center .port-command-intelligence-tools > .freight-question-dock {
    max-height: min(268px, calc(100dvh - 150px));
    overflow: auto;
  }

  .mission-control .port-command-center .port-command-intelligence-tools > [data-component="freight-signal-clock"] {
    max-height: min(190px, calc(100dvh - 150px));
    overflow: hidden;
    border: 1px solid #294653;
    border-radius: var(--mission-panel-radius, 4px);
    padding: 10px 12px;
    background: #0b1924ed;
    box-shadow: 0 12px 26px #0006;
  }
}

/* The command center is still desktop-shaped on narrow laptop/tablet
 * canvases, but a full-size layer drawer plus a 346px inspector leaves too
 * little map to read. Keep the mission-control composition intact while
 * giving the map a useful minimum visual field at this intermediate width. */
@media (min-width: 801px) and (max-width: 960px) {
  .mission-control .port-command-center .intel-grid-primary {
    grid-template-columns: minmax(0, 1fr) clamp(292px, 32vw, 320px);
  }

  .mission-control .port-command-center .intel-selected-card { padding: 12px; }
  .mission-control .port-command-center .port-command-intelligence-tools { left: 248px; right: 10px; }
  .port-command-center .intel-map-layer-disclosure { width: 218px; }
  .port-command-center .intel-map-layer-disclosure .intel-map-toolbar { gap: 3px 5px; padding-right: 10px; padding-left: 10px; }
  .port-command-center .intel-map-layer-disclosure .intel-map-toolbar label { font-size: 11px; }
  .port-command-center .intel-live-ais-map-status { right: 10px; width: min(300px, calc(100% - 20px)); max-height: min(34%, 176px); overflow: hidden; }
  /* At this intermediate width the roster is a map instrument, not a second
     inspector. Keep it compact and horizontally browseable so the live map
     remains visible behind the current-state readout. */
  .port-command-center .intel-live-ais-roster { display: grid; grid-auto-columns: minmax(142px, 46%); grid-auto-flow: column; grid-template-columns: none; gap: 6px; margin-right: -10px; padding-right: 10px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-snap-type: inline proximity; scrollbar-width: thin; }
  .port-command-center .intel-live-ais-roster button { min-height: 48px; scroll-snap-align: start; }
  /* The overview's optional radar tape and feed clock duplicate the ranked
     inspector at tablet width. Keep the question handoff, but return the map
     to the visual foreground. */
  .mission-control .port-command-center .port-command-intelligence-tools > [data-c257-event-tape="true"] { display: none !important; }
  .mission-control .port-command-center .port-command-intelligence-tools > [data-component="freight-signal-clock"] { display: none !important; }
  .mission-control .port-command-center .port-command-intelligence-tools > .freight-question-dock { max-height: 178px; overflow: auto; }
  /* Comparison remains available from the dedicated Compare destination;
     hiding this optional tray keeps the overview inspector focused on the
     current PortWatch pulse at tablet width. */
  .mission-control .port-command-center .maritime-comparison-tray { display: none; }
}

.mission-control .port-command-center .intel-geographic-surface { position: absolute; inset: 0; margin: 0; }
.mission-control .port-command-center .intel-globe { position: absolute; inset: 0; height: 100%; min-height: 0; border: 0; }
.intel-view-modes { display: flex; flex-wrap: wrap; gap: 12px; padding: 10px 12px; }
.intel-mode-switch { display: inline-flex; border: 1px solid #345463; border-radius: var(--mission-panel-radius); overflow: hidden; background: #0b1924ed; }
.intel-mode-switch button { border: 0; border-radius: 0; padding: 9px 14px; background: transparent; color: #b5ced4; font: 12px var(--sans); cursor: pointer; }
.intel-mode-switch button + button { border-left: 1px solid #345463; }
.intel-mode-switch button[aria-pressed="true"] { background: #103747; color: #69e1fa; box-shadow: inset 0 -2px #45d8df; }
.intel-mode-switch button:focus-visible { outline: 2px solid #69e1fa; outline-offset: -3px; }
.intel-mode-switch button:disabled { opacity: .45; cursor: default; }
.port-command-center .intel-view-modes { position: absolute; top: 12px; left: 16px; z-index: 3; padding: 0; }
.port-command-center .intel-map-layer-disclosure { position: absolute; top: 16px; left: 16px; z-index: 2; width: 244px; max-width: calc(100% - 32px); max-height: calc(100% - 70px); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-width: thin; background: #0b1924ed; border: 1px solid #284354; border-radius: 3px; box-shadow: 0 8px 24px #0008; color: #b5ced4; }
.port-command-center .intel-map-layer-disclosure > summary { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; color: #e7f2f0; cursor: pointer; font: 600 12px/1.3 var(--sans); list-style: none; background: #0b1924f7; }
.port-command-center .intel-map-layer-disclosure > summary::-webkit-details-marker { display: none; }
.port-command-center .intel-map-layer-disclosure > summary::after { content: '+'; color: #69e1fa; font: 15px/1 var(--sans); }
.port-command-center .intel-map-layer-disclosure[open] > summary::after { content: '−'; }
.port-command-center .intel-map-layer-disclosure > summary:focus-visible { outline: 2px solid #69e1fa; outline-offset: -3px; }
.port-command-center .intel-map-layer-disclosure .intel-map-toolbar { display: flex; align-content: flex-start; flex-wrap: wrap; gap: 4px 7px; padding: 2px 12px 12px; border: 0; }
.port-command-center .intel-map-layer-disclosure .intel-map-toolbar label:not(.sr-only) { width: 100%; padding: 7px 0; font-size: 12px; }
.port-command-center .intel-map-layer-disclosure .intel-map-toolbar button:not(.intel-map-presentation-option) { font-size: 11px; padding: 6px; }

@media (min-width: 801px) and (max-height: 800px) {
  .port-command-center .intel-map-layer-disclosure { width: 280px; }
  .port-command-center .intel-map-layer-disclosure .intel-map-toolbar { gap: 0 7px; padding-bottom: 8px; }
  .mission-control .port-command-center .intel-map-layer-disclosure .intel-map-toolbar label:not(.sr-only) { min-height: 26px; padding: 3px 0; }
  .mission-control .port-command-center .intel-map-layer-controls .intel-map-presentation-section { margin-bottom: 1px; padding: 6px; }
  .mission-control .port-command-center .intel-map-presentation-groups { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .mission-control .port-command-center .intel-map-presentation-group { display: block; }
  .mission-control .port-command-center .intel-map-presentation-label { margin: 0 0 3px; }
  .mission-control .port-command-center .intel-map-presentation-option { min-height: 26px; gap: 4px; padding: 3px 5px; font-size: 10px; }
}
.port-command-center .intel-geographic-surface > .intel-map-status { position: absolute; bottom: 64px; left: 16px; max-width: calc(100% - 32px); margin: 0; padding: 8px 10px; background: #0b1924e8; font-size: 11px; pointer-events: none; }
.port-command-center .intel-live-ais-map-status { position: absolute; right: 16px; bottom: 16px; z-index: 2; width: min(360px, calc(100% - 32px)); margin: 0; padding: 8px 10px; border: 1px solid #345463; border-radius: var(--mission-control-radius); background: #0b1924ed; box-shadow: 0 6px 20px #0006; color: #cce5e8; font: 11px/1.4 var(--sans); }
.port-command-center .intel-live-ais-map-status.is-collapsed { width: min(280px, calc(100% - 32px)); }
.intel-live-ais-map-status-head { display: flex; align-items: flex-start; gap: 8px; }
.port-command-center .intel-live-ais-map-status.is-fresh { border-color: #2b9f9d; }
.port-command-center .intel-live-ais-map-status.is-loading { border-color: #3e7084; }
.port-command-center .intel-live-ais-map-status.is-stale, .port-command-center .intel-live-ais-map-status.is-error { border-color: #aa7b40; }
.port-command-center .intel-live-ais-map-status.is-no_data { border-color: #536a72; }
.intel-live-ais-status-dot { flex: none; width: 7px; height: 7px; margin-top: 4px; border-radius: 50%; background: #91a8ad; box-shadow: 0 0 0 3px #91a8ad22; }
.intel-live-ais-map-status.is-fresh .intel-live-ais-status-dot { background: #45d8df; box-shadow: 0 0 0 3px #45d8df22; }
.intel-live-ais-map-status.is-loading .intel-live-ais-status-dot { background: #69e1fa; box-shadow: 0 0 0 3px #69e1fa22; }
.intel-live-ais-map-status.is-stale .intel-live-ais-status-dot, .intel-live-ais-map-status.is-error .intel-live-ais-status-dot { background: #f4b866; box-shadow: 0 0 0 3px #f4b86622; }
.intel-live-ais-map-status-copy { display: grid; gap: 2px; min-width: 0; }
.intel-live-ais-map-status-copy strong { color: #e7f2f0; font-weight: 600; overflow-wrap: anywhere; }
.intel-live-ais-map-status-copy span { color: #91a8ad; overflow-wrap: anywhere; }
.intel-panel-collapse-control { display: grid; flex: 0 0 auto; place-items: center; width: 30px; height: 30px; border: 1px solid #4b7585; border-radius: var(--mission-control-radius, 3px); color: #c7f2ef; background: #102b39; box-shadow: inset 0 0 0 1px rgba(69, 216, 223, .08); cursor: pointer; font: 700 17px/1 var(--sans, sans-serif); }
.intel-panel-collapse-control:hover { border-color: #45d8df; color: #f0faf8; background: #163b49; box-shadow: 0 0 0 2px rgba(69, 216, 223, .16); }
.intel-panel-collapse-control:focus-visible { border-color: #45d8df; color: #f0faf8; outline: 2px solid #45d8df; outline-offset: 2px; }
.intel-live-ais-collapse { margin: -2px -2px 0 4px; }
.intel-live-ais-roster { display: grid; gap: 4px; margin-top: 8px; padding-top: 7px; border-top: 1px solid #345463; }
.intel-live-ais-roster button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; width: 100%; padding: 6px 8px; border: 1px solid transparent; border-radius: var(--mission-control-radius); background: #102534cc; color: #dff5f3; text-align: left; cursor: pointer; }
.intel-live-ais-roster button:hover, .intel-live-ais-roster button:focus-visible, .intel-live-ais-roster button[aria-pressed="true"] { border-color: #45d8df; background: #123341; outline: 0; }
.intel-live-ais-roster-identity, .intel-live-ais-roster-motion { display: grid; min-width: 0; gap: 1px; }
.intel-live-ais-roster-identity > span { overflow: hidden; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.intel-live-ais-roster-identity small { overflow: hidden; color: #91a8ad; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.intel-live-ais-roster-motion { text-align: right; }
.intel-live-ais-roster-motion strong { color: #bcefea; font-size: 10px; font-weight: 650; white-space: nowrap; }
.intel-live-ais-roster-motion small { white-space: nowrap; }
.intel-live-ais-roster-detail { grid-column: 1 / -1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.intel-live-ais-roster button small { overflow: hidden; color: #91a8ad; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.intel-live-ais-current-badge { display: inline-block; padding: 1px 4px; border: 1px solid #2b9f9d; border-radius: 999px; color: #9cebe3; font-size: 9px; letter-spacing: .06em; line-height: 1.35; text-transform: uppercase; vertical-align: 1px; }
.mission-control .port-command-center .intel-layer-evidence { position: absolute; left: 16px; bottom: var(--intel-map-attribution-clearance, 30px); z-index: 3; max-height: 50%; overflow: auto; max-width: min(560px, calc(100% - 32px)); padding: 10px; background: #0b1924f5; border: 1px solid #284354; border-radius: var(--mission-panel-radius); }
.port-command-center .intel-layer-evidence[open] { padding: 14px; }
.port-command-center .maplibregl-ctrl-attrib { font-size: 9px; }
.mission-control .port-command-center h3, .mission-control .port-command-center h4 { font-family: var(--display); }
.port-command-center .maplibregl-ctrl-attrib:not(.maplibregl-compact), .port-command-center .maplibregl-ctrl-attrib.maplibregl-compact-show { background: #0b1924ed; color: #91a8ad; }
.port-command-center .maplibregl-ctrl-attrib a { color: #b5ced4; }
/* MapLibre expands compact attribution on pointer hover. Keep the command
 * center map clear until the attribution button is intentionally focused or
 * clicked; the complete provider/license text remains keyboard-accessible. */
.port-command-center .intel-globe.maplibregl-map .maplibregl-ctrl-attrib.maplibregl-compact-show:not(:focus-within) {
  width: 28px;
  max-width: 28px;
  min-width: 28px;
  height: 28px;
  min-height: 28px;
  overflow: hidden;
  padding: 0;
  border-radius: 999px;
  color: transparent;
  font-size: 0;
  line-height: 0;
}
.port-inspector-artwork { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border: 1px solid #284354; border-radius: var(--mission-panel-radius); margin-bottom: 8px; }
.mission-control .port-command-center [data-port-inspector-photo] { margin-bottom: 8px; }
.mission-control .port-command-center [data-port-inspector-photo] [data-port-photo-frame="16:9"] { height: auto !important; aspect-ratio: 3.25 / 1 !important; border-radius: var(--mission-control-radius) !important; }
.mission-control .port-command-center [data-port-inspector-photo] [data-port-photo-credits] { margin-top: 3px !important; font-size: 9px !important; line-height: 1.25 !important; }
.port-inspector-heading h2 { margin: 0 0 4px; }
.port-inspector-heading p { margin: 0 0 6px; color: #91a8ad; font-size: 12px; }
.port-overview-link { background: none; padding: 0; border: 0; color: #45d8df; cursor: pointer; font: 11px var(--sans); }
.port-inspector-tabs { display: flex; border-bottom: 1px solid #284354; margin-top: 10px; position: sticky; top: -14px; z-index: 2; background: #0d1c28; }
.port-inspector-tabs button { flex: 1; padding: 8px 4px; border: 0; border-bottom: 2px solid transparent; background: none; color: #91a8ad; cursor: pointer; font: 12px var(--sans); }
.port-inspector-tabs button[aria-selected=true] { color: #45d8df; border-bottom-color: #45d8df; }
.port-camera-context-choices { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 0; }
.port-camera-context-choices button { flex: 0 0 auto; min-height: 28px; padding: 5px 9px; border: 1px solid #284354; border-radius: var(--mission-panel-radius); background: #0a1b26; color: #91a8ad; font: 10px var(--sans); cursor: pointer; }
.port-camera-context-choices button[aria-pressed=true] { border-color: #45d8df; color: #45d8df; background: #0b303a; }
.port-camera-context { padding-top: 10px; }
.port-camera-context-image { display: grid; place-items: center; overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid #284354; border-radius: var(--mission-panel-radius); background: #06131c; }
.port-camera-context-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.port-camera-context-image > span { color: #91a8ad; font-size: 11px; }
.port-camera-context-player { overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid #284354; border-radius: var(--mission-panel-radius); background: #06131c; }
.port-camera-context-player iframe { display: block; width: 100%; height: 100%; border: 0; }
.port-camera-context-caption { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding-top: 9px; }
.port-camera-context-caption strong { color: #edf7f5; font-size: 13px; }
.port-camera-context-caption span, .port-camera-context-credit { color: #78929d; font-size: 10px; }
.port-camera-context-credit { display: flex; flex-wrap: wrap; gap: 5px; padding-top: 4px; }
.port-camera-safety-note { margin: 6px 0 0; color: #91a8ad; font-size: 10px; line-height: 1.4; }
.port-camera-context-credit a, .port-camera-context-evidence a { color: #63dfe3; text-decoration: none; }
.port-camera-context-evidence { margin-top: 10px; border-top: 1px solid #284354; padding-top: 8px; color: #91a8ad; font-size: 10px; }
.port-camera-context-evidence summary { cursor: pointer; color: #afc3c7; font-weight: 700; }
.port-camera-context-evidence p { margin: 8px 0; }
.port-camera-context-evidence div { display: flex; flex-wrap: wrap; gap: 12px; }
.port-command-center [role=tabpanel][hidden] { display: none; }
.port-command-center [role=tabpanel] { padding-top: 2px; }
.port-command-center .port-evidence-note { font: 12px/1.6 var(--sans); color: #91a8ad; }
.mission-control .port-command-center .port-activity-preview { margin-top: 0; border-top: 0; }
.mission-control .port-command-center .port-activity-preview > p { margin: 6px 0; }
.mission-control .port-command-center .port-activity-preview figure { margin: 8px 0; }
.port-command-center .intel-facts dd { font-family: var(--sans); font-size: 13px; overflow-wrap: anywhere; }
.port-timeline { flex: none; min-height: 82px; display: flex; align-items: center; gap: 14px; padding: 10px 16px; border-top: 1px solid #284354; background: #0b1924; z-index: 4; }
.port-timeline-context { width: 176px; flex: none; }
.port-timeline strong { display: block; font: 600 12px/1.5 var(--sans); }
.port-timeline span { display: block; font: 10px/1.5 var(--mono); color: #91a8ad; }
.port-timeline button { padding: 8px 12px; border: 1px solid #345463; border-radius: var(--mission-control-radius); background: #102534; color: #cce5e8; cursor: pointer; font: 12px var(--sans); }
.port-timeline button:disabled { opacity: .45; cursor: default; }
.port-timeline-track { flex: 1; min-width: 100px; }
.port-timeline-track input { width: 100%; }
.port-timeline-coverage { display: flex; height: 4px; gap: 2px; margin-top: 6px; }
.port-timeline-coverage span { flex: 1; background: #45d8df; }
.port-timeline-coverage .missing { background: #8e6536; }
.port-timeline-dates { display: flex; justify-content: space-between; margin-top: 5px; }
.port-timeline-readout { width: 120px; flex: none; }
.port-timeline-help { position: relative; font: 11px var(--sans); color: #91a8ad; }
.port-timeline-help summary { cursor: pointer; }
.port-timeline-help[open] { position: absolute; bottom: 86px; right: 18px; width: 290px; padding: 14px; border: 1px solid #284354; border-radius: var(--mission-panel-radius); background: #0b1924; font-size: 12px; line-height: 1.5; }
.mission-control .port-registry-dock { bottom: 112px; }
@media (max-width: 800px) {
  .mission-control .port-command-center { padding-bottom: 136px; }
  .port-timeline { position: fixed; bottom: 0; left: 0; right: 0; flex-wrap: wrap; gap: 8px; padding: 10px; min-height: 120px; }
  .port-timeline-context { width: calc(100% - 90px); }
  .port-timeline-context strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .port-timeline-track { flex-basis: 55%; }
  .port-timeline-readout { width: 110px; }
  .port-timeline-help { display: none; }
  .mission-control .port-registry-dock { bottom: 146px; }
}
.mission-control .port-registry-dock { position: absolute; z-index: 6; left: 16px; right: 362px; bottom: 16px; max-height: 60%; overflow: auto; background: #0b1924; box-shadow: 0 8px 32px #0008; }
.port-registry-dock[hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
  .mission-control,
  .mission-control * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Private import readback stays text-first: status is prose, not a badge, and
   imported cells never receive markup styling. */
.private-import-card { margin-top: 16px; }
.private-import-intro { margin: 10px 16px 0; color: var(--intel-muted); font-size: 11px; }
.private-import-action { border: 1px solid #345463; border-radius: var(--mission-control-radius); padding: 7px 10px; color: #cce5e8; background: #102534; cursor: pointer; font: 11px var(--sans); }
.private-import-action:hover { border-color: var(--intel-cyan); color: var(--intel-cyan); }
.private-import-action:disabled { cursor: default; opacity: .45; }
.private-import-message, .private-import-progress { margin: 18px 16px; color: var(--intel-muted); font-size: 12px; }
.private-import-list { display: grid; gap: 0; margin: 16px; padding: 0; border-top: 1px solid var(--intel-line); list-style: none; }
.private-import-list li { border-bottom: 1px solid var(--intel-line); }
.private-import-list button { display: grid; width: 100%; gap: 4px; border: 0; padding: 12px 10px; color: var(--intel-text); background: transparent; text-align: left; cursor: pointer; font: inherit; }
.private-import-list button:hover, .private-import-list button[aria-pressed=true] { background: rgba(69, 216, 223, .07); }
.private-import-list button strong { overflow-wrap: anywhere; font-size: 13px; }
.private-import-list button span, .private-import-list button small { color: var(--intel-muted); overflow-wrap: anywhere; }
.private-import-list button span { font-size: 11px; }
.private-import-list button small { font-size: 10px; }
.private-import-error { margin: 18px 16px; border-left: 2px solid var(--intel-amber); padding: 2px 0 2px 12px; color: var(--intel-muted); font-size: 12px; }
.private-import-error strong { color: var(--intel-text); }
.private-import-error p { margin: 7px 0 12px; }
.private-import-pagination { display: flex; justify-content: flex-start; margin: 0 16px 16px; }
.private-import-detail { margin: 0 16px 18px; border-top: 1px solid var(--intel-line); padding-top: 17px; }
.private-import-detail-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.private-import-detail-head h3 { margin: 0; color: var(--intel-text); font-family: var(--display); font-size: 18px; overflow-wrap: anywhere; }
.private-import-detail-head p:not(.intel-kicker) { margin: 5px 0 0; color: var(--intel-muted); font-size: 11px; overflow-wrap: anywhere; }
.private-import-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.private-import-facts div { border-top: 1px solid var(--intel-line); padding-top: 8px; }
.private-import-facts dt { color: var(--intel-muted); font-size: 8px; letter-spacing: .12em; }
.private-import-facts dd { margin: 5px 0 0; color: var(--intel-text); font: 12px var(--mono); }
.private-import-empty { display: grid; gap: 8px; margin: 18px 16px; border: 1px dashed var(--intel-line); border-radius: var(--mission-panel-radius); padding: 15px; color: var(--intel-muted); font-size: 12px; }
.private-import-empty strong { color: var(--intel-text); font-size: 13px; }
.private-import-empty p { margin: 0; line-height: 1.5; }
.private-import-empty-action, .private-import-recovery-action { width: fit-content; }
.private-import-row-table-wrap { overflow-x: auto; margin-top: 14px; }
.private-import-row-table { min-width: 720px; margin: 0; }
.private-import-row-table th, .private-import-row-table td { padding-right: 12px; padding-left: 12px; }
.private-import-row-table td { vertical-align: top; overflow-wrap: anywhere; }
.private-import-evidence { margin-top: 18px; border-top: 1px solid var(--intel-line); padding-top: 14px; }
.private-import-evidence-list { display: grid; gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.private-import-evidence-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px; border-top: 1px solid var(--intel-line); padding-top: 10px; }
.private-import-evidence-item:first-child { border-top: 0; padding-top: 0; }
.private-import-evidence-item strong { display: block; color: var(--intel-text); font-size: 11px; }
.private-import-evidence-companies { display: flex; flex-wrap: wrap; gap: 5px 12px; margin-top: 5px; }
.private-import-evidence-item small { display: block; margin-top: 5px; color: var(--intel-muted); font-size: 10px; }
.private-import-evidence-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.private-import-evidence-actions .private-import-action { padding: 6px 8px; font-size: 10px; }
.private-import-fields summary { color: var(--intel-cyan); cursor: pointer; font-size: 10px; }
.private-import-fields dl { display: grid; gap: 7px; margin: 9px 0 0; min-width: 220px; }
.private-import-fields dl div { border-top: 1px solid var(--intel-line); padding-top: 5px; }
.private-import-fields dt { color: var(--intel-muted); font: 9px var(--mono); overflow-wrap: anywhere; }
.private-import-fields dd { margin: 3px 0 0; color: var(--intel-text); font-size: 10px; white-space: pre-wrap; overflow-wrap: anywhere; }
#retained-water-panel h3 { color: var(--intel-text); font: 600 17px/1.2 var(--display); overflow-wrap: anywhere; }
#retained-water-panel .intel-table button { display: block; width: 100%; min-height: 36px; border: 1px solid #345463; border-radius: var(--mission-control-radius); padding: 7px 9px; background: #102534; color: #e7f2f0; text-align: left; font: 12px/1.4 var(--sans); cursor: pointer; }
#retained-water-panel .intel-table button:hover, #retained-water-panel .intel-table button[aria-pressed="true"] { border-color: #45d8df; background: #103747; color: #69e1fa; }
#retained-water-panel button:focus-visible { outline: 2px solid #69e1fa; outline-offset: 2px; }
#retained-water-panel .intel-table td { vertical-align: top; }
#retained-water-panel .gateway-select-label { margin: 14px 12px; }

#retained-water-panel .retained-water-chart {
  margin: 14px 12px;
  border: 1px solid var(--intel-line);
  border-radius: var(--mission-control-radius);
  padding: 12px;
  background: #091b26;
}

#retained-water-panel .retained-water-chart .intel-card-head { margin: 0; padding: 0 0 8px; }
#retained-water-panel .retained-water-chart h3 { font-size: 15px; }
#retained-water-panel .retained-water-chart .intel-map-status { margin: 5px 0 0; }
#retained-water-panel .retained-water-chart__svg { display: block; width: 100%; height: 150px; border-top: 1px solid var(--intel-line); border-bottom: 1px solid var(--intel-line); background: #071621; }
#retained-water-panel .retained-water-chart__svg line { stroke: #294653; stroke-dasharray: 3 5; stroke-width: 1; vector-effect: non-scaling-stroke; }
#retained-water-panel .retained-water-chart__svg path { fill: none; stroke: #45d8df; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; vector-effect: non-scaling-stroke; }
#retained-water-panel .retained-water-chart__axis { display: flex; justify-content: space-between; gap: 14px; padding-top: 8px; color: var(--intel-muted); font: 9px/1.2 var(--mono); }
#retained-water-panel .retained-water-chart__axis span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 700px) {
  .private-import-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .private-import-detail-head { align-items: stretch; flex-direction: column; }
  .private-import-detail-head .private-import-action { align-self: flex-start; }
  .private-import-evidence-item { grid-template-columns: 1fr; }
  .private-import-evidence-actions { justify-content: flex-start; }
}
@media (max-width: 800px) {
  /* Let the mobile document grow beyond the viewport. A nested scrollport
     traps wheel/touch gestures over the MapLibre canvas, leaving the
     inspector and timeline unreachable at normal phone heights. */
  .mission-control { height: auto; min-height: 100dvh; overflow: visible; }
  .mission-viewport { flex: none; height: auto; min-height: calc(100dvh - 54px); overflow: visible; }
  .mission-control .port-command-center { min-height: 0; height: auto; padding-bottom: 0; }
  .mission-control .port-command-center .intel-main { height: auto; min-height: 0; }
  .port-command-bar { flex-wrap: wrap; gap: 10px; }
  .port-command-intelligence-tools { grid-template-columns: minmax(0, 1fr); min-width: 0; width: 100%; }
  .port-command-intelligence-tools > * { min-width: 0; width: 100%; }
  /* With all overview instruments collapsed, give the map the first screen.
     The command-bar button reveals them on demand; individually collapsed
     instruments also stop reserving vertical space on phones. */
  .mission-control .port-command-center .intel-main.is-map-first .port-command-intelligence-tools { display: none; }
  .mission-control .port-command-center .intel-main:not(.is-map-first) .port-command-intelligence-tools > [data-collapsed="true"] { display: none; }
  .port-command-intelligence-tools [data-component="freight-signal-clock"] { min-width: 0; overflow: hidden; }
  .freight-question-dock, .freight-question-dock__head, .freight-question-dock__preview, .freight-question-dock__destinations { min-width: 0; max-width: 100%; }
  .freight-question-dock__destinations { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; white-space: nowrap; }
  .port-command-search { order: 3; flex-basis: 100%; }
  .port-command-search input { flex: 1; }
  .mission-control .port-command-center .intel-grid-primary { display: flex; flex: none; flex-direction: column; min-height: 0; }
  .mission-control .port-command-center .intel-map-card { flex: none; height: auto; min-height: 0; overflow: visible; }
  .mission-control .port-command-center .intel-selected-card { margin: 0; max-height: 70dvh; padding: 14px; }
  .port-command-center .intel-view-modes { position: static; z-index: auto; gap: 6px; padding: 10px; border-bottom: 1px solid #284354; background: #0b1924; }
  .port-command-center .intel-mode-switch { flex: 1 1 0; min-width: 0; }
  .port-command-center .intel-mode-switch button { padding: 8px; font-size: 11px; }
  /* Mobile keeps the map controls in normal flow. The map viewport owns all
     native MapLibre controls, while the disclosures are separate scrollable
     blocks above and below it. */
  .mission-control .port-command-center .intel-geographic-surface { position: relative; display: flex; flex-direction: column; min-height: 0; }
  .mission-control .port-command-center .intel-map-layer-disclosure { position: static; z-index: auto; width: auto; max-height: none; margin: 0; overflow: visible; scrollbar-width: thin; background: #0b1924; }
  .mission-control .port-command-center .intel-map-layer-disclosure[open] { max-height: 40dvh; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
  .mission-control .port-command-center .intel-map-layer-disclosure > summary { position: sticky; top: 0; z-index: 1; min-height: 34px; background: #0b1924; }
  .mission-control .port-command-center .intel-map-layer-disclosure[open] .intel-map-presentation-section { position: sticky; top: 34px; z-index: 2; margin: 0 0 4px; padding: 6px; background: #0b1924; box-shadow: 0 6px 12px #0008; }
  .mission-control .port-command-center .intel-map-layer-disclosure[open] .intel-map-presentation-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .mission-control .port-command-center .intel-map-layer-disclosure[open] .intel-map-presentation-label { margin-bottom: 3px; font-size: 10px; }
  .mission-control .port-command-center .intel-map-layer-disclosure[open] .intel-map-presentation-option { min-height: 32px; gap: 3px; padding: 4px 3px; font-size: 10px; }
  .mission-control .port-command-center .intel-globe { position: relative; inset: auto; flex: none; width: 100%; height: clamp(307px, calc(100dvh - 360px), 484px); min-height: 0; border: 0; }
  .mission-control .port-command-center [data-port-inspector-photo] [data-port-photo-frame="16:9"] { aspect-ratio: 16 / 9 !important; }
  .mission-control .port-command-center .intel-geographic-surface > .intel-map-status { position: static; left: auto; bottom: auto; z-index: auto; max-width: none; margin: 0; padding: 8px 12px; background: #0b1924e8; pointer-events: auto; }
  .mission-control .port-command-center .intel-live-ais-map-status { position: static; right: auto; bottom: auto; width: auto; margin: 0; border-width: 1px 0 0; box-shadow: none; }
  .mission-control .port-command-center .intel-live-ais-roster { display: grid; grid-auto-columns: minmax(148px, 44vw); grid-auto-flow: column; grid-template-columns: none; gap: 6px; margin-right: -10px; padding-right: 10px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-snap-type: inline proximity; scrollbar-width: thin; }
  .mission-control .port-command-center .intel-live-ais-roster button { min-height: 48px; scroll-snap-align: start; }
  .mission-control .port-command-center .intel-layer-evidence { position: static; left: auto; bottom: auto; z-index: auto; flex: none; width: auto; max-width: none; max-height: none; margin: 0; overflow: visible; padding: 10px 12px; background: #0b1924f5; border-width: 1px 0 0; }
  .mission-control .port-command-center .intel-layer-evidence[open] { max-height: 45dvh; overflow: auto; }
  .port-command-center .intel-map-layer-disclosure > summary { padding: 8px 10px; font-size: 11px; }
  .port-command-center .intel-map-layer-disclosure .intel-map-toolbar label:not(.sr-only) { padding: 4px 0; font-size: 11px; }
  .port-timeline { position: static; bottom: auto; left: auto; right: auto; min-height: 112px; align-items: flex-start; }
  .port-timeline-context strong { display: -webkit-box; overflow: hidden; white-space: normal; text-overflow: clip; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .mission-control .port-registry-dock { position: fixed; left: 10px; right: 10px; bottom: 10px; max-height: 65dvh; }
}

.maritime-comparison-tray {
  margin-top: 16px;
  padding: 12px;
  border: 1px solid #284354;
  border-radius: var(--mission-panel-radius, 3px);
  background: #0b1924;
}
.maritime-comparison-tray__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}
.maritime-comparison-tray__header div { display: grid; gap: 3px; }
.maritime-comparison-tray__header span { color: #45d8df; font: 700 9px/1.2 var(--mono); letter-spacing: .13em; }
.maritime-comparison-tray__header strong { color: #e7f2f0; font: 650 14px/1.3 var(--sans); }
.maritime-comparison-tray__header small { color: #78939c; font: 10px/1 var(--mono); }
.maritime-comparison-tray__candidates { display: grid; gap: 4px; }
.maritime-comparison-tray__candidate { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-width: 0; border: 1px solid #203b49; border-radius: 3px; }
.maritime-comparison-tray__select,
.maritime-comparison-tray__port-select {
  display: grid;
  min-width: 0;
  gap: 2px;
  padding: 7px 9px;
  border: 0;
  background: transparent;
  color: #dff5f3;
  text-align: left;
  cursor: pointer;
}
.maritime-comparison-tray__select:hover,
.maritime-comparison-tray__select:focus-visible,
.maritime-comparison-tray__port-select:hover,
.maritime-comparison-tray__port-select:focus-visible { background: #122d3b; color: #69e1fa; }
.maritime-comparison-tray__select span,
.maritime-comparison-tray__port-select span { overflow: hidden; font: 600 11px/1.25 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.maritime-comparison-tray__select small,
.maritime-comparison-tray__port-select small { overflow: hidden; color: #78939c; font: 9px/1.25 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.maritime-comparison-tray__pin { width: 32px; border: 0; border-left: 1px solid #203b49; background: transparent; color: #69e1fa; font: 18px/1 var(--sans); cursor: pointer; }
.maritime-comparison-tray__pin:hover,
.maritime-comparison-tray__pin:focus-visible,
.maritime-comparison-tray__pin[aria-pressed="true"] { background: #163b4a; color: #f4b866; }
.maritime-comparison-tray__pin:disabled { color: #526d76; cursor: not-allowed; opacity: .62; }
.maritime-comparison-tray__table-wrap { margin-top: 9px; overflow-x: auto; border-top: 1px solid #203b49; }
.maritime-comparison-tray__table { width: 100%; min-width: 430px; border-collapse: collapse; }
.maritime-comparison-tray__table th,
.maritime-comparison-tray__table td { padding: 7px 6px; border-bottom: 1px solid #203b49; text-align: right; vertical-align: top; }
.maritime-comparison-tray__table thead th { color: #78939c; font: 700 9px/1.2 var(--mono); text-transform: uppercase; }
.maritime-comparison-tray__table thead th:first-child,
.maritime-comparison-tray__table tbody th { text-align: left; }
.maritime-comparison-tray__table tbody th { color: #8faab0; font: 600 10px/1.2 var(--sans); white-space: nowrap; }
.maritime-comparison-tray__table td { color: #e7f2f0; font: 650 11px/1.2 var(--mono); white-space: nowrap; }
.maritime-comparison-tray__port-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-width: 112px; border: 1px solid #203b49; border-radius: 3px; }
.maritime-comparison-tray__port-head .maritime-comparison-tray__pin { width: 25px; font-size: 15px; }
.maritime-comparison-tray__empty { margin: 9px 0 0; color: #78939c; font: 10px/1.4 var(--sans); }

.global-hazard-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 6px; margin-top: 12px; }
.global-hazard-strip button,
.global-hazard-strip > div { display: grid; min-width: 0; gap: 4px; padding: 8px 9px; border: 1px solid #284354; border-radius: 3px; background: #0b1924; color: #dff5f3; text-align: left; }
.global-hazard-strip button { cursor: pointer; }
.global-hazard-strip button:hover,
.global-hazard-strip button:focus-visible,
.global-hazard-strip button[aria-pressed="true"] { border-color: #45d8df; background: #102d3b; }
.global-hazard-strip strong { overflow: hidden; font: 600 11px/1.25 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.global-hazard-strip small { overflow: hidden; color: #78939c; font: 9px/1.25 var(--mono); text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 540px) {
  .maritime-comparison-tray { margin-inline: -2px; padding: 10px; }
  .maritime-comparison-tray__table { min-width: 360px; }
  .maritime-comparison-tray__port-head { min-width: 98px; }
}

@media print {
  .mission-control { height: auto; overflow: visible; background: #fff; color: #102c43; }
  .mission-viewport { margin-left: 0; overflow: visible; }
}
