:root{--bg: #0c1521;--elev: #142033;--elev-2: #1a2942;--card: #16223a;--card-hi: #1d2c47;--border: #243246;--border-soft: #1d2a3c;--border-hi: #324562;--text: #e7eef9;--text-mid: #95a4bb;--text-dim: #5e7090;--text-faint: #3e526e;--healthy: #46d28a;--warn: #f5b95a;--critical: #f47272;--info: #5fb4ff;--refund: #c98ee5;--track-revenue: #7a8f4a;--track-cost: #c08552;--track-capacity: #5e8a9c;--track-content: #4f7cac;--track-dispatch: #8a5e7e;--cm-flat-pax: #a8957a;--cm-tiered-pax: #9a8c5f;--cm-base-pax: #b07b56;--cm-per-vehicle: #c89554;--cm-per-pax-min: #a36a52;--accent-yellow: #f5c247;--accent-cyan: #5fd6cc;--accent-coral: #ff9a6a;--r-card: 10px;--r-pill: 6px;--r-badge: 4px;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--row: 56px;--row-tight: 44px;--pad: 18px;--pad-tight: 12px;--shadow-md: 0 6px 18px -6px rgba(0,0,0,.45);--shadow-lg: 0 16px 40px -12px rgba(0,0,0,.6), 0 4px 12px rgba(0,0,0,.35);--dur-fast: 80ms;--dur-base: .14s;--dur-modal: .18s;--ease-out: cubic-bezier(.2, 1, .3, 1)}.theme-warm{--bg: #f0eee6;--elev: #faf9f5;--elev-2: #f5f3eb;--card: #ffffff;--card-hi: #ffffff;--border: #d4d4cf;--border-soft: #e4e2dd;--border-hi: #c4c4bd;--text: #2a2a26;--text-mid: #6a6a64;--text-dim: #999992;--text-faint: #bcbcb5}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.t-page-title{font-family:var(--font-sans);font-size:22px;font-weight:600;letter-spacing:-.005em;color:var(--text);line-height:1.2}.t-section{font-family:var(--font-sans);font-size:15px;font-weight:500;color:var(--text)}.t-body{font-family:var(--font-sans);font-size:14px;font-weight:400;color:var(--text-mid);line-height:1.45}.t-number{font-family:var(--font-mono);font-size:28px;font-weight:600;letter-spacing:-.01em;color:var(--text);line-height:1.1}.t-stat-label{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ds-shell{display:grid;grid-template-rows:72px 1fr;height:100vh;background:var(--bg);color:var(--text)}.ds-shell-body{display:grid;grid-template-columns:252px 1fr;min-height:0}.ds-sidebar{display:flex;flex-direction:column;gap:16px;padding:16px 14px;background:var(--elev);border-right:1px solid var(--border);overflow-y:auto}.ds-sidebar-spacer{flex:1 1 auto}.ds-main{overflow-y:auto;min-width:0;background:radial-gradient(1200px 600px at 0% -10%,color-mix(in srgb,var(--accent-yellow) 5%,transparent),transparent 50%),var(--bg)}.app-topbar{height:72px;display:flex;align-items:center;gap:28px;padding:0 22px;background:var(--elev);border-bottom:1px solid var(--border)}.app-topbar-brand{display:flex;align-items:center;gap:11px}.app-topbar-brand-mark{width:34px;height:34px;border-radius:var(--r-badge);display:grid;place-items:center;font-family:var(--font-sans);font-weight:700;font-size:17px;color:#1a1205;background:var(--mark, var(--accent-yellow))}.app-topbar-brand-name{font-family:var(--font-sans);font-weight:700;font-size:13px;letter-spacing:.16em;color:var(--text)}.app-topbar-brand-sub{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);margin-top:1px}.topbar-slot{display:flex;flex-direction:column;gap:2px}.topbar-slot-label{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.topbar-slot-value{font-family:var(--font-sans);font-size:13px;color:var(--text)}.app-topbar-spacer{flex:1 1 auto}.weather-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:var(--r-pill);background:var(--card);border:1px solid var(--border-soft);font-family:var(--font-mono);font-size:12px;color:var(--text-mid)}.weather-pill-icon{color:var(--accent-yellow);font-size:13px}.live-time{text-align:right}.live-time-clock{font-family:var(--font-mono);font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--text);line-height:1}.live-time-meridiem{font-size:11px;font-weight:600;color:var(--text-dim);margin-left:3px}.live-time-date{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--text-dim);margin-top:3px}.tool-switcher{display:flex;flex-direction:column;gap:8px}.tool-switcher-label{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);padding:0 4px}.tool-switcher-list{display:flex;flex-direction:column;gap:2px}.tool-link{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:var(--r-pill);text-decoration:none;color:var(--text-mid);font-size:13px;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.tool-link:hover{background:var(--card);color:var(--text)}.tool-link.is-here{background:var(--card-hi);color:var(--text);cursor:default}.tool-link-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--text-faint)}.tool-link-dot--revenue{background:var(--track-revenue)}.tool-link-dot--cost{background:var(--track-cost)}.tool-link-dot--capacity{background:var(--track-capacity)}.tool-link-dot--content{background:var(--track-content)}.tool-link-dot--dispatch{background:var(--track-dispatch)}.tool-link-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-link-arrow{color:var(--text-faint);font-size:12px}.tool-link-here{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.dev-source-block{display:flex;flex-direction:column;gap:9px;padding-top:14px;border-top:1px solid var(--border-soft)}.dev-source-label{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.ide-link{display:inline-flex;color:var(--text-mid);opacity:.5;transition:opacity var(--dur-fast) var(--ease-out)}.ide-link:hover{opacity:1}.dev-source-pick{display:flex;gap:0}.dev-source-pick button{flex:1 1 0;padding:6px 8px;background:var(--card);border:1px solid var(--border);color:var(--text-mid);font-family:var(--font-mono);font-size:11px;cursor:pointer}.dev-source-pick button:first-child{border-radius:var(--r-badge) 0 0 var(--r-badge)}.dev-source-pick button:last-child{border-radius:0 var(--r-badge) var(--r-badge) 0;border-left:0}.dev-source-pick button[aria-pressed=true]{background:var(--card-hi);color:var(--text);border-color:var(--border-hi)}.dev-source-link{font-family:var(--font-mono);font-size:11px;color:var(--info);text-decoration:none}.dev-source-link:hover{text-decoration:underline}.user-chip{display:flex;align-items:center;gap:9px}.user-chip-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--elev-2);color:var(--text);font-family:var(--font-mono);font-size:11px;font-weight:600}.user-chip-name{font-size:13px;color:var(--text)}.user-chip-role{font-size:11px;color:var(--text-dim)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 26px 16px}.page-head-title-group{min-width:0}.page-head-title{margin:0;font-family:var(--font-sans);font-size:22px;font-weight:600;letter-spacing:-.005em;color:var(--text)}.page-head-sub{margin:4px 0 0;font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.page-head-actions{display:flex;gap:8px;flex:0 0 auto}.pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid transparent}.pill--cm-flat-pax{background:color-mix(in srgb,var(--cm-flat-pax) 22%,transparent);color:var(--cm-flat-pax);border-color:color-mix(in srgb,var(--cm-flat-pax) 45%,transparent)}.pill--cm-tiered-pax{background:color-mix(in srgb,var(--cm-tiered-pax) 22%,transparent);color:var(--cm-tiered-pax);border-color:color-mix(in srgb,var(--cm-tiered-pax) 45%,transparent)}.pill--cm-base-pax{background:color-mix(in srgb,var(--cm-base-pax) 22%,transparent);color:var(--cm-base-pax);border-color:color-mix(in srgb,var(--cm-base-pax) 45%,transparent)}.pill--cm-per-vehicle{background:color-mix(in srgb,var(--cm-per-vehicle) 22%,transparent);color:var(--cm-per-vehicle);border-color:color-mix(in srgb,var(--cm-per-vehicle) 45%,transparent)}.pill--cm-per-pax-min{background:color-mix(in srgb,var(--cm-per-pax-min) 22%,transparent);color:var(--cm-per-pax-min);border-color:color-mix(in srgb,var(--cm-per-pax-min) 45%,transparent)}.pill--healthy{background:color-mix(in srgb,var(--healthy) 18%,transparent);color:var(--healthy);border-color:color-mix(in srgb,var(--healthy) 40%,transparent)}.pill--warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.pill--critical{background:color-mix(in srgb,var(--critical) 18%,transparent);color:var(--critical);border-color:color-mix(in srgb,var(--critical) 40%,transparent)}.pill--info{background:color-mix(in srgb,var(--info) 18%,transparent);color:var(--info);border-color:color-mix(in srgb,var(--info) 40%,transparent)}.pill--refund{background:color-mix(in srgb,var(--refund) 18%,transparent);color:var(--refund);border-color:color-mix(in srgb,var(--refund) 40%,transparent)}.pill--at-gate{background:var(--accent-yellow);color:#1a1205;border-color:var(--accent-yellow)}.metric-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--card);border:1px solid var(--border-soft);border-radius:var(--r-card)}.metric-card-label{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.metric-card-value{font-family:var(--font-mono);font-size:28px;font-weight:600;letter-spacing:-.01em;color:var(--text);line-height:1.05}.metric-card-sub{font-size:12px;color:var(--text-mid)}.calc-line{font-family:var(--font-mono);font-size:12px;color:var(--text-mid);font-variant-numeric:tabular-nums}.calc-line .calc-op{color:var(--text-faint);margin:0 2px}.calc-line .calc-result{color:var(--text);font-weight:600}.fill-bar{position:relative;height:8px;border-radius:999px;background:var(--elev-2);overflow:hidden}.fill-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--track-capacity);width:0}.fill-bar-min-marker{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--warn);z-index:1}.identity-strip{display:flex;flex-direction:column;gap:2px}.identity-strip-title{font-family:var(--font-sans);font-size:15px;font-weight:500;color:var(--text)}.identity-strip-meta{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:var(--r-pill);border:1px solid var(--border-hi);background:transparent;color:var(--text);font-family:var(--font-sans);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.btn:hover{background:var(--card);border-color:var(--border-hi)}.btn--primary{background:var(--accent-yellow);border-color:var(--accent-yellow);color:#1a1205;font-weight:600}.btn--primary:hover{background:color-mix(in srgb,var(--accent-yellow) 88%,#000)}.btn--primary-alt{background:transparent;border-color:var(--accent-yellow);color:var(--accent-yellow);font-weight:600}.btn--primary-alt:hover{background:color-mix(in srgb,var(--accent-yellow) 12%,transparent)}.toggle-group{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-pill);overflow:hidden}.toggle{padding:6px 12px;background:var(--card);border:0;border-left:1px solid var(--border);color:var(--text-mid);font-family:var(--font-sans);font-size:12px;font-weight:500;cursor:pointer}.toggle:first-child{border-left:0}.toggle[aria-pressed=true],.toggle.is-active{background:var(--card-hi);color:var(--text)}.tag{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:var(--r-badge);font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.04em;color:var(--text-mid);background:var(--elev-2);border:1px solid var(--border-soft)}.tag--track-revenue{box-shadow:inset 3px 0 0 var(--track-revenue)}.tag--track-cost{box-shadow:inset 3px 0 0 var(--track-cost)}.tag--track-capacity{box-shadow:inset 3px 0 0 var(--track-capacity)}.tag--track-content{box-shadow:inset 3px 0 0 var(--track-content)}.tag--track-dispatch{box-shadow:inset 3px 0 0 var(--track-dispatch)}.tag--track-revenue,.tag--track-cost,.tag--track-capacity,.tag--track-content,.tag--track-dispatch{padding-left:9px}.tag--level{text-transform:uppercase;letter-spacing:.1em}.tag--context{font-style:italic}.tag--surface{background:var(--card)}.concern-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--card);border:1px solid var(--border);color:var(--text-mid);font-family:var(--font-sans);font-size:12px;cursor:pointer}.concern-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--concern, var(--text-faint))}.concern-pill--revenue{--concern: var(--track-revenue)}.concern-pill--cost{--concern: var(--track-cost)}.concern-pill--capacity{--concern: var(--track-capacity)}.concern-pill--content{--concern: var(--track-content)}.concern-pill--dispatch{--concern: var(--track-dispatch)}.concern-pill--selected{color:var(--text);border-color:var(--border-hi);background:color-mix(in srgb,var(--concern, var(--track-content)) 18%,var(--card))}.soon-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-badge);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--info);background:color-mix(in srgb,var(--info) 14%,transparent);border:1px solid color-mix(in srgb,var(--info) 35%,transparent)}.warn-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:var(--r-badge);font-family:var(--font-mono);font-size:11px;color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent);border:1px solid color-mix(in srgb,var(--warn) 32%,transparent)}.page-metric-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-soft);border:1px solid var(--border-soft);border-radius:var(--r-card);overflow:hidden}.page-metric{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--card)}.page-metric-label{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.page-metric-value{font-family:var(--font-mono);font-size:28px;font-weight:600;letter-spacing:-.01em;color:var(--text);line-height:1.05}.page-metric-sub{font-size:12px;color:var(--text-mid)}.frame-card{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--r-card)}.frame-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-soft)}.frame-label{font-family:var(--font-sans);font-size:15px;font-weight:500;color:var(--text)}.frame-body{padding:16px}.timeline-row{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:12px;padding:8px 0}.timeline-axis{font-family:var(--font-mono);font-size:12px;color:var(--text-mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-track{position:relative;height:22px;border-radius:var(--r-pill);background:var(--elev-2)}.timeline-bar{position:absolute;top:3px;bottom:3px;border-radius:var(--r-badge);background:var(--track-dispatch);display:flex;align-items:center;padding:0 6px}.timeline-bar .pill--at-gate{font-size:9px;padding:1px 6px}.tour-card{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--card);border:1px solid var(--border-soft);border-radius:var(--r-card)}.tour-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tour-time{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text)}.tour-mgn-badge{margin-left:auto;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--healthy)}.tour-mgn-badge.is-low{color:var(--warn)}.tour-mgn-badge.is-negative{color:var(--critical)}.tour-cap-bar{position:relative;height:6px;border-radius:999px;background:var(--elev-2);overflow:hidden}.tour-cap-bar-fill{position:absolute;inset:0 auto 0 0;background:var(--track-capacity);border-radius:999px}.walkup-bar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:var(--elev-2)}.walkup-bar-seg{height:100%}.walkup-bar-seg--booked{background:var(--track-revenue)}.walkup-bar-seg--walkup{background:var(--accent-cyan)}.walkup-bar-seg--open{background:var(--elev-2)}.date-nav{display:flex;flex-direction:column;gap:1px}.date-link{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 12px;border-left:2px solid transparent;color:var(--text-mid);text-decoration:none;font-size:13px;cursor:pointer}.date-link:hover{background:var(--card);color:var(--text)}.date-link.is-active{border-left-color:var(--accent-yellow);background:var(--card-hi);color:var(--text)}.date-link-day{font-family:var(--font-mono)}.filter-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.filter-chip{padding:4px 11px;border-radius:999px;background:var(--card);border:1px solid var(--border);color:var(--text-mid);font-family:var(--font-sans);font-size:12px;cursor:pointer}.filter-chip[aria-pressed=true]{background:color-mix(in srgb,var(--track-content) 22%,var(--card));border-color:var(--track-content);color:var(--text)}.toggle-group.level-group .toggle[aria-pressed=true],.toggle-group.level-group .toggle.is-active{background:color-mix(in srgb,var(--track-content) 26%,var(--card));color:var(--text)}[data-level=streamline] .detail-only{display:none}.level-tip{position:relative}.level-tip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:4px 8px;border-radius:var(--r-badge);background:var(--elev-2);border:1px solid var(--border-hi);color:var(--text);font-family:var(--font-mono);font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out)}.level-tip:hover:after{opacity:1}
