.app-shell{position:relative;height:100vh;overflow:hidden}.map-region{position:absolute;inset:0}.topbar{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-sm) var(--space-lg);background:color-mix(in srgb,var(--color-surface) 88%,transparent);border-bottom:1px solid var(--color-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.topbar .brand{display:flex;align-items:baseline;gap:var(--space-md);min-width:0}.topbar .wordmark{font-size:20px;font-weight:700;letter-spacing:.04em;color:var(--color-accent-cyan)}.topbar .tagline{color:var(--color-ink);font-size:13px;white-space:nowrap}.topbar .controls{display:flex;align-items:center;gap:var(--space-md)}.topbar .clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.topbar .clock,.topbar button{color:var(--color-ink);font-size:13px}.topbar button{background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-md);cursor:pointer}.topbar button:hover{border-color:var(--color-accent-cyan)}.topbar input[type=range]{width:180px;accent-color:var(--color-accent-cyan)}.legend{position:absolute;bottom:calc(var(--space-lg) + var(--space-lg));left:var(--space-lg);z-index:20;display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:color-mix(in srgb,var(--color-surface) 88%,transparent);border:1px solid var(--color-line);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--color-ink);font-size:12px;pointer-events:none}.legend .row{display:flex;align-items:center;gap:var(--space-sm)}.legend .swatch.chevron{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:12px solid var(--status-tracked)}.legend .swatch.chevron[data-status=engaged]{border-bottom-color:var(--status-engaged)}.legend .swatch.chevron[data-status=held]{border-bottom-color:var(--status-held)}.legend .swatch.glyph{width:10px;height:10px;background:var(--color-muted);border:2px solid var(--color-ink);border-radius:var(--radius-sm)}.legend .swatch.glyph[data-certified]{box-shadow:0 0 0 2px var(--color-accent-cyan)}.panel-region{position:absolute;top:var(--topbar-height);right:0;bottom:0;z-index:10;width:var(--panel-width);pointer-events:none}.side-panel{display:flex;flex-direction:column;height:100%;pointer-events:auto;background:color-mix(in srgb,var(--color-surface) 88%,transparent);border-left:1px solid var(--color-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--color-ink);font-size:13px}.side-panel .panel-section{flex:1 1;min-height:0;overflow-y:auto;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-line)}.side-panel .panel-section:last-child{border-bottom:none}.side-panel h2{margin:0 0 var(--space-sm);font-size:16px;letter-spacing:.03em}.side-panel h3{margin:0 0 var(--space-sm);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.side-panel dl{margin:0}.side-panel dl .row{display:flex;justify-content:space-between;gap:var(--space-md);padding:var(--space-xs) 0}.side-panel dt{color:var(--color-muted)}.side-panel dd{margin:0;text-align:right}.side-panel .badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-line);border-radius:var(--radius-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-bottom:var(--space-sm)}.side-panel .badge[data-badge-level=red]{color:var(--alert-red);border-color:var(--alert-red)}.side-panel .badge[data-badge-level=amber]{color:var(--status-engaged);border-color:var(--status-engaged)}.side-panel .badge[data-badge-level=green]{color:var(--status-held);border-color:var(--status-held)}.side-panel .muted{color:var(--color-muted);margin:0 0 var(--space-sm)}.side-panel .open-items{list-style:none;margin:0 0 var(--space-sm);padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.side-panel .open-items li{display:flex;align-items:baseline;gap:var(--space-sm)}.side-panel .chip{flex:none;padding:0 var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-line);font-size:11px;color:var(--color-muted)}.side-panel .chip[data-severity=plan]{color:var(--status-engaged);border-color:var(--status-engaged)}.side-panel .chip[data-severity=urgent]{color:var(--alert-red);border-color:var(--alert-red)}.closing-ask-toggle{position:absolute;top:calc(var(--topbar-height) + var(--space-md));right:var(--space-lg);z-index:45;background:var(--color-surface-raised);color:var(--color-ink);border:1px solid var(--color-accent-cyan);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-md);font-size:13px;cursor:pointer}.closing-ask-backdrop{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:color-mix(in srgb,var(--color-bg-navy) 70%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.closing-ask-card{max-width:820px;width:100%;max-height:80vh;overflow-y:auto;padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);color:var(--color-ink)}.closing-ask-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md)}.closing-ask-head h2{margin:0 0 var(--space-md);font-size:18px;color:var(--color-accent-cyan)}.closing-ask-close{flex:none;background:none;border:none;color:var(--color-muted);font-size:22px;line-height:1;cursor:pointer}.seam-table{width:100%;border-collapse:collapse;font-size:13px}.seam-table td,.seam-table th{text-align:left;vertical-align:top;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-line)}.seam-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.seam-table .muted,.seam-table th{color:var(--color-muted)}.closing-ask-ask{margin:var(--space-lg) 0 0;font-size:15px;color:var(--status-held)}.seam-framing{position:absolute;bottom:var(--space-md);left:50%;transform:translateX(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-xs) var(--space-md);background:color-mix(in srgb,var(--color-surface) 88%,transparent);border:1px solid var(--color-line);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;text-align:center}.seam-framing .seam-subtitle{color:var(--color-muted);font-size:11px}.seam-framing .network-label{color:var(--color-ink);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em}.yard-card .docks{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:var(--space-sm)}.yard-card .docks td{padding:var(--space-xs) 0;border-bottom:1px solid var(--color-line)}.yard-card .docks td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.yard-card .chip.cert{color:var(--color-accent-cyan);border-color:var(--color-accent-cyan)}.yard-card .avail-bars{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-sm)}.yard-card .avail-row{display:flex;flex-direction:column;gap:2px;font-size:11px}.yard-card .avail-line{display:flex;align-items:center;gap:var(--space-sm)}.yard-card .avail-label{flex:none;width:56px;color:var(--color-muted)}.yard-card .avail-track{position:relative;flex:1 1 auto;height:8px;background:var(--color-bg-navy);border-radius:var(--radius-sm);overflow:hidden}.yard-card .avail-fill{height:100%;border-radius:var(--radius-sm);background:var(--color-muted)}.yard-card .avail-fill[data-state=open]{background:var(--status-held)}.yard-card .avail-fill[data-state=upcoming]{background:var(--color-accent-cyan)}.yard-card .avail-booked{position:absolute;top:0;height:100%;background:var(--status-engaged);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-bg-navy)}.yard-card .booking-tag{margin-left:calc(56px + var(--space-sm));font-size:10px;color:var(--status-engaged)}.yard-card .cap-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-sm)}.yard-card .cap-chips .chip{font-size:10px;text-transform:capitalize}.yard-card .provenance{font-size:11px;font-style:italic}.agent-feed{flex:1 1;min-height:0;overflow-y:auto;padding:var(--space-md) var(--space-lg);pointer-events:auto;display:flex;flex-direction:column;gap:var(--space-sm)}.agent-feed .feed-head{display:flex;align-items:baseline;justify-content:space-between}.agent-feed h3{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.agent-feed .feed-count{display:block;margin-top:2px;font-size:10px;letter-spacing:0;text-transform:none;color:var(--color-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.agent-feed .live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--status-held);animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes feed-arrive{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.agent-feed .feed-show-all{background:none;border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-accent-cyan);font-size:11px;padding:var(--space-xs) var(--space-sm);cursor:pointer}.agent-feed .feed-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.agent-feed .feed-item{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface-raised);cursor:pointer;animation:feed-arrive .3s ease-out}@media (prefers-reduced-motion:reduce){.agent-feed .feed-item,.agent-feed .live-dot{animation:none}}.agent-feed .feed-item:hover{border-color:var(--color-accent-cyan)}.agent-feed .feed-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.agent-feed .feed-type{font-size:12px;font-weight:600;color:var(--color-ink)}.agent-feed .feed-status{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.agent-feed .feed-item[data-status=confirmed] .feed-status{color:var(--status-held)}.agent-feed .feed-item[data-status=replied] .feed-status{color:var(--color-accent-cyan)}.agent-feed .feed-body{margin:var(--space-xs) 0;font-size:12px;color:var(--color-ink)}.agent-feed .feed-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.agent-feed .entity-chip{background:none;border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-muted);font-size:11px;padding:0 var(--space-sm);cursor:pointer}.agent-feed .entity-chip:hover{color:var(--color-accent-cyan);border-color:var(--color-accent-cyan)}.claim{display:flex;flex-direction:column;gap:2px}.claim .claim-text{margin:0;color:var(--color-ink)}.claim .claim-badge{font-size:10px;color:var(--color-muted)}.claim .claim-badge[data-basis=verified]{color:var(--status-held)}.claim .claim-badge .claim-check{font-weight:700}.claim-reveals{position:absolute;top:64px;left:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);max-width:360px;pointer-events:none;z-index:5}.claim-reveal{background:var(--color-surface-raised);border:1px solid var(--color-line);border-left:3px solid var(--status-held);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:13px;animation:claim-arrive .32s ease-out}.claim-reveal .claim-text{font-weight:600}@keyframes claim-arrive{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.claim-reveal{animation:none}}.closing-ask-card .broker-receipt{margin-bottom:var(--space-md)}.closing-ask-card .broker-receipt h3{margin:0 0 var(--space-sm);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.receipt-lines{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);margin:0}.receipt-line{display:flex;align-items:baseline;gap:var(--space-xs)}.receipt-line dt{color:var(--color-muted);font-size:12px}.receipt-line dd{margin:0;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--status-held)}.closing-ask-card .closing-ask-verified{margin:var(--space-md) 0}.wedge-toggle{position:absolute;top:calc(var(--topbar-height) + var(--space-md));right:calc(var(--space-lg) + 108px);z-index:45;background:var(--color-surface-raised);color:var(--color-ink);border:1px solid var(--color-accent-cyan);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-md);font-size:13px;cursor:pointer}.wedge-overlay{position:absolute;inset:0;z-index:4;background:color-mix(in srgb,var(--color-bg-navy) 55%,transparent);pointer-events:none}.wedge-region{position:absolute;font-size:12px;letter-spacing:.04em;color:var(--color-accent-cyan);text-transform:uppercase;white-space:nowrap}.wedge-east{top:44%;right:16%}.wedge-pacific{top:40%;left:10%}.wedge-gulf{bottom:26%;left:44%}.wedge-claims{position:absolute;left:var(--space-lg);bottom:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);max-width:420px;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-md)}.closing-ask-card .receipt-basis{font-size:10px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--color-muted)}.map-canvas{position:absolute;inset:0;background:var(--color-bg-navy)}.marker{cursor:pointer}.marker.vessel .chevron{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:18px solid var(--status-tracked);filter:drop-shadow(var(--shadow-marker))}.marker.vessel[data-status=engaged] .chevron{border-bottom-color:var(--status-engaged)}.marker.vessel[data-status=held] .chevron{border-bottom-color:var(--status-held)}.marker.yard .glyph{width:12px;height:12px;background:var(--color-muted);border:2px solid var(--color-ink);border-radius:var(--radius-sm)}.marker.yard[data-certified] .glyph{box-shadow:0 0 0 3px var(--color-accent-cyan)}.marker[data-selected]{filter:brightness(1.35)}.map-tooltip{position:absolute;z-index:10;pointer-events:none;max-width:280px;padding:var(--space-sm) var(--space-md);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-md);color:var(--color-ink);font-size:12px;line-height:1.45}.map-tooltip .title{font-weight:600}.map-tooltip .muted{color:var(--color-muted)}.map-tooltip .badge-red{color:var(--alert-red)}.map-tooltip .badge-amber{color:var(--status-engaged)}.map-tooltip .badge-green{color:var(--status-held)}.map-tooltip .demand{color:var(--color-muted)}.map-tooltip .demand[data-engaged=true]{color:var(--color-accent-cyan)}