/* Global market view only; the AUKUS evidence dashboard retains its own styles. */
.market-page { --map-ocean:#fff; --map-land:#f3f6f7; --map-line:#c3cdd3; --map-text:#25343d; --map-accent:#24887d; --map-border:#dce2e5; padding-bottom:20px; }
.market-page .market-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; padding:38px 0 25px; }
.market-page .market-heading h1 { font-size:40px; line-height:1.08; }
.market-page .market-heading p { max-width:710px; margin-top:14px; font-size:14px; line-height:1.65; }
.market-page .market-heading .eyebrow { margin-bottom:14px; }
.market-page .market-clock-block { text-align:right; flex-shrink:0; }
.market-page .market-live-label { display:flex; align-items:center; justify-content:flex-end; gap:7px; font:10px/1.5 'Courier New',monospace; letter-spacing:.08em; text-transform:uppercase; }
.market-page .market-live-label i { width:6px; height:6px; border-radius:50%; background:#318d78; }
.market-page .market-clock-block time { display:block; margin:7px 0 4px; font:600 20px/1.2 'Courier New',monospace; font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.market-page .market-clock-block small { display:block; color:var(--muted); font-size:10px; }
.market-page .market-board { background:var(--map-ocean); color:var(--map-text); border:1px solid var(--map-border); overflow:hidden; }
.market-page .market-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 18px; border-bottom:1px solid var(--map-border); font-size:11px; }
.market-page .market-layer-controls { display:flex; align-items:center; flex-wrap:wrap; gap:13px 20px; }
.market-page .market-layer-controls label { display:inline-flex; align-items:center; gap:7px; cursor:pointer; font-size:11px; }
.market-page .market-layer-controls input { accent-color:var(--map-accent); margin:0; }
.market-page .market-board :is(button,input,select):focus-visible { outline:2px solid var(--map-accent); outline-offset:3px; }
.market-page .market-map-wrap { position:relative; background:var(--map-ocean); }
.market-page svg.market-map { display:block; width:100%; height:auto; aspect-ratio:2/1; max-height:560px; background:var(--map-ocean); }
.market-page .market-grid { fill:none; stroke:#a5b5bf; stroke-width:.45; opacity:.25; pointer-events:none; }
.market-page .market-grid line { vector-effect:non-scaling-stroke; }
.market-page .market-map .land { fill:var(--map-land); stroke:var(--map-line); stroke-width:.65; vector-effect:non-scaling-stroke; }
.market-page .market-map .land.highlight { --country-fill:#f0c5aa; --country-hover:#df9e78; fill:var(--country-fill); stroke:var(--country-accent); cursor:pointer; transition:fill .18s ease,stroke-width .18s ease,filter .18s ease; }
.market-page .market-map .land[data-code="GBR"].highlight { --country-fill:#d5c2eb; --country-hover:#b99bdb; }
.market-page .market-map .land[data-code="USA"].highlight { --country-fill:#bad7ee; --country-hover:#8bbde2; }
.market-page .market-map .land.highlight[aria-pressed="true"] { stroke-width:1.5; }
.market-page .market-map .land.highlight:is(:hover,:focus-visible) { fill:var(--country-hover); stroke-width:2.5; filter:drop-shadow(0 0 2px var(--country-accent)); outline:none; }
.market-page #market-shade { pointer-events:none; }
.market-page .market-country-key { display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; padding:10px 18px; border-top:1px solid var(--map-border); font-size:11px; }
.market-page .market-country-key>span { color:var(--muted); }
.market-page .market-country-key button { display:inline-flex; align-items:center; gap:7px; background:none; border:0; color:var(--map-text); padding:4px 0; cursor:pointer; }
.market-page .market-country-key button:is(:hover,:focus-visible) { color:var(--country-accent); text-decoration:underline; text-underline-offset:3px; }
.market-page .market-country-key i { width:8px; height:8px; border-radius:50%; background:var(--country-accent); }
@media(prefers-reduced-motion:reduce) { .market-page .market-map .land.highlight { transition:none; } }
.market-page .country-focus { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 24px; margin:0 0 20px; border:1px solid var(--map-border); border-left:4px solid var(--country-accent); background:#fff; }
.market-page .country-focus h2 { font-size:25px; line-height:1.2; margin:7px 0; }
.market-page .country-focus p { font-size:12px; margin:0 0 6px; }
.market-page .country-focus small { color:var(--muted); font-size:10px; }
.market-page .country-focus-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; justify-content:flex-end; }
.market-page .country-focus-actions .button { background:var(--country-accent); border-color:var(--country-accent); }
.market-page .country-focus-actions button.source-link { background:none; border:0; padding:0; color:var(--map-text); }
@media(max-width:700px) { .market-page .country-focus { display:block; padding:16px; } .market-page .country-focus-actions { margin-top:16px; justify-content:flex-start; } }
.market-page .market-night { fill:#526575; opacity:.28; stroke:none; pointer-events:none; }
.market-page .market-twilight { fill:#526575; opacity:.10; stroke:none; pointer-events:none; }
.market-page .market-map .cable { fill:none; stroke:#538d9b; stroke-width:.75; opacity:.40; vector-effect:non-scaling-stroke; pointer-events:none; }
.market-page .market-sun { fill:#eab647; stroke:#b68221; stroke-width:1.2; vector-effect:non-scaling-stroke; pointer-events:none; }
.market-page .market-sun circle:first-child { fill:#fff7df; stroke:#b68221; opacity:1; }
.market-page .market-sun circle:last-child { fill:#eab647; stroke:none; opacity:1; }
.market-page .market-pin { cursor:pointer; }
.market-page .market-pin circle { stroke:#fff; stroke-width:1.1; vector-effect:non-scaling-stroke; }
.market-page circle.market-pin { stroke:#fff; stroke-width:1.1; vector-effect:non-scaling-stroke; }
.market-page circle.market-pin.research-outline { stroke:#527a80; stroke-width:1.1; }
.market-page .market-pin:is(:hover,:focus-visible) { filter:drop-shadow(0 0 3px #537f88); }
.market-page .market-pin:focus-visible { outline:none; }
.market-page .market-pin:focus-visible circle { stroke:var(--map-accent); stroke-width:2.5; }
.market-page .market-pin.cluster circle,.market-page .market-pin[data-cluster] circle { fill:#fff; stroke:#76929f; stroke-width:1.3; }
.market-page .market-pin text { fill:#253e4b; font-family:Arial,sans-serif; font-weight:600; text-anchor:middle; pointer-events:none; }
.market-page .market-site-label { fill:#25343d; stroke:#fff; stroke-width:2.5px; paint-order:stroke; font:9px Arial,sans-serif; pointer-events:none; }
.market-page .market-map-note { position:absolute; bottom:12px; left:16px; max-width:min(520px,calc(100% - 32px)); padding:7px 10px; border:1px solid var(--map-border); background:#ffffffed; color:#536773; font-size:10px; line-height:1.5; pointer-events:none; }
.market-page .market-legend { display:flex; align-items:center; flex-wrap:wrap; gap:10px 22px; padding:13px 18px; border-top:1px solid var(--map-border); color:#536773; font-size:10px; line-height:1.5; }
.market-page .market-legend span { display:inline-flex; align-items:center; gap:7px; }
.market-page .market-legend i { display:inline-block; flex-shrink:0; width:8px; height:8px; border-radius:50%; background:#adc8d0; }
.market-page .market-legend i.daylight { background:#fff; border:1px solid #c3cdd3; }
.market-page .market-legend i.twilight { background:#eef0f1; border:1px solid #b9c5cb; }
.market-page .market-legend i.night { background:#cfd4d8; border:1px solid #a5b5bf; }
.market-page .market-legend i.cable { width:20px; height:0; border-top:1px solid #538d9b; border-radius:0; background:none; }
.market-page .market-legend i.site { background:#b65f35; border:1px solid #e9e0d6; }
.market-page .market-metrics { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--line); padding:25px 0; }
.market-page .market-metrics>div { min-width:0; padding:0 22px; border-left:1px solid var(--line); }
.market-page .market-metrics>div:first-child { padding-left:0; border-left:0; }
.market-page .market-metrics strong { display:block; font:600 34px/1.2 Funnel,Arial,sans-serif; letter-spacing:-.04em; color:var(--ink); }
.market-page .market-metrics span { display:block; margin-top:7px; font-size:12px; color:#4c5353; }
.market-page .market-metrics small { display:block; margin-top:5px; font-size:10px; line-height:1.5; color:var(--muted); }
.market-page .market-coverage { margin:16px 0 0; max-width:1100px; font-size:11px; line-height:1.7; color:var(--muted); }
.market-page .market-coverage a { text-decoration:underline; text-underline-offset:3px; }
.market-page .market-cable-picker { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:16px 0; border-bottom:1px solid var(--line); }
.market-page .market-cable-picker label { font-size:11px; color:var(--muted); }
.market-page .market-cable-picker select { min-width:200px; max-width:100%; padding:9px; border:1px solid #ccc; background:#fff; font-size:12px; }
.market-page .market-cable-picker button:disabled { opacity:.45; cursor:default; }
@media (max-width:1000px) {
  .market-page .market-heading { align-items:start; gap:22px; }
  .market-page .market-clock-block time { font-size:17px; }
}
@media (max-width:700px) {
  .market-page .market-heading { display:block; padding:27px 0 20px; }
  .market-page .market-heading h1 { font-size:30px; }
  .market-page .market-heading p { font-size:12px; margin-top:12px; }
  .market-page .market-clock-block { margin-top:20px; text-align:left; }
  .market-page .market-live-label { justify-content:flex-start; }
  .market-page .market-toolbar { flex-wrap:wrap; padding:12px; gap:12px; }
  .market-page .market-layer-controls { gap:12px 15px; }
  .market-page .market-layer-controls label { font-size:10px; }
  .market-page svg.market-map { aspect-ratio:1.55/1; min-height:210px; }
  .market-page .market-map-note { left:10px; bottom:8px; max-width:calc(100% - 20px); font-size:9px; padding:5px 7px; }
  .market-page .market-legend { padding:11px 12px; gap:9px 15px; font-size:9px; }
  .market-page .market-metrics { grid-template-columns:1fr 1fr; gap:24px 0; padding:23px 0; }
  .market-page .market-metrics>div { padding:0 15px; }
  .market-page .market-metrics>div:nth-child(odd) { padding-left:0; border-left:0; }
  .market-page .market-metrics strong { font-size:29px; }
  .market-page .market-metrics span { font-size:11px; }
  .market-page .market-coverage { font-size:10px; }
}

.market-page .market-map-status { color:#647883; font:9px/1.5 'Courier New',monospace; letter-spacing:.08em; white-space:nowrap; }
.market-page .market-board .market-coverage { color:#536773; margin:0; padding:0 18px 14px; }
@media (max-width:700px) {
  .market-page .market-map-status { font-size:8px; white-space:normal; }
  .market-page .market-board .market-coverage { padding:0 12px 12px; }
}

/* The country workspace keeps the map, facility index and evidence selection together. */
.market-page .market-board { --desk-accent:#527b75; border-color:#d9e1e5; box-shadow:0 4px 22px #17374306; }
.market-page .market-workspace { display:grid; grid-template-columns:minmax(0,1fr); }
.market-page .country-mode .market-workspace { grid-template-columns:minmax(0,1fr) 310px; }
.market-page .market-cartography { min-width:0; }
.market-page .country-mode svg.market-map { height:570px; max-height:none; aspect-ratio:auto; touch-action:pan-y; }
.market-page .market-map .land.highlight { --country-fill:#f5e4d8; --country-hover:#ebc4aa; }
.market-page .market-map .land[data-code="GBR"].highlight { --country-fill:#ede6f5; --country-hover:#d9c7eb; }
.market-page .market-map .land[data-code="USA"].highlight { --country-fill:#e0edf6; --country-hover:#bfd9ed; }
.market-page .market-map .land.highlight[aria-pressed="true"] { stroke-width:1.1; }
.market-page .market-map .land.highlight:is(:hover,:focus-visible) { stroke-width:1.7; filter:none; }
.market-page .market-grid { stroke:#b6c4ce; stroke-width:.5; opacity:.24; }
.market-page .country-mode .market-map .cable { opacity:.21; stroke-width:.7; }
.market-page .market-map .cable-selected .cable { opacity:.9; stroke-width:1.5; }
.market-page .market-pin.locality-reference circle { stroke:var(--pin-color); stroke-dasharray:3 2; }
.market-page .market-pin.locality-reference text { fill:var(--pin-color); }
.market-page .market-pin.cluster.selected circle { stroke-width:2.5; }
.market-page circle.market-pin.approximate-location { stroke-dasharray:2 1; }
.market-page .market-pin.cluster[data-map-country] circle { stroke:var(--pin-color); }
.market-page .market-pin.cluster[data-map-country] text { fill:var(--pin-color); }
.market-page .map-locality { fill:#5a6973; font-family:Arial,sans-serif; font-weight:600; stroke:#fff; stroke-width:3px; paint-order:stroke; vector-effect:non-scaling-stroke; pointer-events:none; }
.market-page circle.market-pin { stroke:#fff; stroke-width:1.3; }
.market-page circle.market-pin.preoperational { stroke:var(--pin-color); stroke-width:1.8; }
.market-page circle.market-pin.direct-disclosure { stroke:#243a48; stroke-width:1.8; }
.market-page circle.market-pin:is(:hover,:focus-visible),.market-page circle.market-pin.selected { stroke:#23333f; stroke-width:2.2; filter:drop-shadow(0 0 3px #fff); }
.market-page .map-stamp { position:absolute; top:18px; left:18px; padding:11px 14px; background:#ffffffee; border:1px solid #e0e6e9; border-left:3px solid var(--desk-accent); pointer-events:none; }
.market-page .map-stamp span { display:block; font:9px/1.4 'Courier New',monospace; letter-spacing:.16em; color:var(--desk-accent); }
.market-page .map-stamp strong { display:block; font:600 12px/1.4 Arial,sans-serif; margin-top:5px; color:#27343c; }
.market-page .map-view-controls { position:absolute; bottom:15px; right:15px; display:flex; background:#fff; border:1px solid #cdd7dd; box-shadow:0 2px 10px #19394908; }
.market-page .map-view-controls button { border:0; border-right:1px solid #e2e7e9; background:#fff; min-width:33px; height:34px; color:#35434c; padding:0 11px; font-size:16px; }
.market-page .map-view-controls button:last-child { border:0; font-size:11px; font-weight:600; }
.market-page .map-view-controls button:hover { background:#f2f5f6; }
.market-page .country-mode .market-country-key { display:none; }
.market-page .market-legend { gap:9px 18px; min-height:56px; background:#fff; font-size:9px; }
.market-page .market-legend i.site { background:var(--desk-accent); border:1px solid #fff; }
.market-page .market-legend i.preoperational { background:#fff; border:1.5px solid var(--desk-accent); }
.market-page .market-cable-picker { padding:13px 18px; margin:0; border-top:1px solid #e1e7ea; border-bottom:0; gap:11px; font-size:10px; background:#fafcfc; }
.market-page .market-cable-picker label { font:9px/1.5 'Courier New',monospace; text-transform:uppercase; letter-spacing:.1em; }
.market-page .market-cable-picker select { font-size:11px; max-width:330px; min-width:220px; padding:8px 10px; border-color:#d7dfe3; }
.market-page .map-evidence-footnote { display:flex; align-items:start; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; padding:12px 18px; border-top:1px solid #e7ecee; color:#879095; font:9px/1.6 Arial,sans-serif; }
.market-page .market-desk { min-width:0; border-left:1px solid #dce3e7; background:#fbfcfc; display:flex; flex-direction:column; max-height:650px; }
.market-page .market-desk[hidden] { display:none; }
.market-page .desk-heading { display:flex; align-items:center; justify-content:space-between; padding:17px 19px; border-bottom:1px solid #e1e7ea; }
.market-page .desk-heading .mono { font-size:9px; letter-spacing:.12em; color:#687780; }
.market-page .desk-heading b { font:11px/1.3 'Courier New',monospace; padding:3px 7px; color:var(--desk-accent); background:#fff; border:1px solid #dce3e7; }
.market-page .market-inspector { padding:20px; background:#fff; border-bottom:1px solid #dfe6e9; overflow-wrap:anywhere; }
.market-page .desk-kicker { display:block; font:8px/1.6 'Courier New',monospace; letter-spacing:.08em; color:var(--desk-accent); }
.market-page .market-inspector h3 { font-size:23px; letter-spacing:-.04em; margin:9px 0 7px; color:#20313c; }
.market-page .market-inspector p { font-size:11px; line-height:1.65; color:#68757d; }
.market-page .market-inspector .desk-location-note { padding:10px 12px; border-left:2px solid var(--desk-accent); background:#f5f7f8; font-size:10px; color:#465862; }
.market-page .market-inspector small { font-size:9px; line-height:1.5; color:#8a9297; }
.market-page .desk-metrics { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:19px 0; }
.market-page .desk-metrics b { display:block; font:600 29px/1.1 Funnel,Arial,sans-serif; color:var(--desk-accent); }
.market-page .desk-metrics span { display:block; font-size:9px; color:#77838b; margin-top:5px; }
.market-page .desk-badges { display:flex; flex-wrap:wrap; gap:5px; margin:12px 0; }
.market-page .desk-badges span { font-size:8px; padding:4px 6px; background:#f4f6f7; border:1px solid #e4e9ec; color:#687781; }
.market-page .market-inspector dl { margin:13px 0; font-size:10px; }
.market-page .market-inspector dl>div { margin-top:9px; }
.market-page .market-inspector dt { font:8px/1.5 'Courier New',monospace; text-transform:uppercase; letter-spacing:.05em; color:#859096; }
.market-page .market-inspector dd { margin:3px 0 0; color:#384951; line-height:1.65; }
.market-page .desk-review { display:block; }
.market-page .desk-actions { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-top:14px; }
.market-page .desk-actions button { padding:7px 10px; border:1px solid var(--desk-accent); background:var(--desk-accent); color:#fff; font-size:9px; }
.market-page .desk-actions a { font-size:9px; text-decoration:underline; text-underline-offset:3px; }
.market-page .market-facility-list { overflow:auto; min-height:100px; flex:1; scrollbar-width:thin; scrollbar-color:#cbd5dc transparent; }
.market-page .desk-facility { display:flex; align-items:center; gap:10px; width:100%; padding:13px 17px; border:0; border-bottom:1px solid #e9edef; background:transparent; text-align:left; color:#2a3d48; }
.market-page .desk-facility:hover,.market-page .desk-facility.selected { background:#fff; box-shadow:inset 3px 0 var(--desk-accent); }
.market-page .desk-facility>i { flex-shrink:0; width:7px; height:7px; border-radius:50%; background:var(--desk-accent); border:1px solid var(--desk-accent); }
.market-page .desk-facility>i.hollow { background:#fff; }
.market-page .desk-facility>span { display:block; min-width:0; flex:1; }
.market-page .desk-facility strong { display:block; font-size:11px; font-weight:600; line-height:1.4; }
.market-page .desk-facility small { display:block; color:#8b979e; margin-top:4px; font-size:9px; line-height:1.5; }
.market-page .desk-facility>b { color:#9aa6ad; font-size:11px; font-weight:400; }
.market-page .desk-facility em { font-size:8px; color:#929ba0; font-style:normal; }
.market-page .desk-empty { padding:18px; font-size:11px; }
.market-page .map-tooltip { position:absolute; z-index:5; display:grid; gap:5px; padding:13px 15px; background:#fff; border:1px solid #d4dfe5; border-left:3px solid var(--desk-accent); box-shadow:0 5px 20px #15344412; pointer-events:none; font-size:10px; }
.market-page .map-tooltip[hidden] { display:none; }
.market-page .map-tooltip strong { font-size:12px; color:#203540; }
.market-page .map-tooltip span,.market-page .map-tooltip small { font-size:10px; line-height:1.5; color:#637681; }
.market-page .map-tooltip em { font-size:9px; color:#8d9aa2; font-style:normal; border-top:1px solid #e9eeef; padding-top:6px; }
@media(max-width:1000px) { .market-page .country-mode .market-workspace { grid-template-columns:minmax(0,1fr) 270px; } .market-page .country-mode svg.market-map { height:530px; } .market-page .market-inspector { padding:16px; } .market-page .market-desk { max-height:620px; } }
@media(max-width:700px) { .market-page .country-mode .market-workspace { grid-template-columns:minmax(0,1fr); } .market-page .country-mode svg.market-map { height:400px; } .market-page .market-desk { max-height:570px; border-left:0; border-top:1px solid #dce3e7; } .market-page .map-stamp { top:12px; left:12px; padding:8px 10px; } .market-page .market-cable-picker { padding:12px; } .market-page .market-cable-picker select { min-width:0; max-width:100%; flex:1; } .market-page .map-evidence-footnote { padding:11px 12px; } }


.market-toolbar [hidden], .market-cable-picker[hidden] { display: none !important; }
