:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--card-pad:18px;--control-pad-y:8px;--control-pad-x:10px;--row-pad-y:9px;--row-pad-x:10px;--fs-base:14px;--fs-sm:12.5px;--fs-xs:11.5px;--kpi-size:26px;--radius:10px;--radius-sm:8px;--btn-radius:8px;--input-radius:8px;--font-body:system-ui, -apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica", "Arial", sans-serif;--font-heading:var(--font-body);--heading-weight:700}.density-compact{--space-3:8px;--space-4:10px;--space-6:14px;--card-pad:12px;--control-pad-y:6px;--control-pad-x:8px;--row-pad-y:6px;--row-pad-x:8px;--fs-base:13px;--fs-sm:12px;--kpi-size:22px}.theme-air{--bg:#fff;--surface:#fff;--panel:#fafafa;--text:#0a0a0a;--muted:#737373;--border:#ececec;--row-border:#f2f2f2;--zebra:transparent;--input-bg:#fff;--accent:#4f46e5;--accent-contrast:#fff;--accent-weak:#f4f3ff;--accent-line:#e7e5fb;--btn-primary-bg:#0a0a0a;--btn-primary-contrast:#fff;--pos:#047857;--neg:#dc2626;--neg-border:#f2cccc;--warn:#b45309;--info:#4f46e5;--pos-weak:#ecfdf5;--neg-weak:#fef2f2;--warn-weak:#fffbeb;--info-weak:var(--accent-weak);--card-border:none;--shadow:none;--heading-weight:700}.theme-paper{--bg:#faf7f1;--surface:#fffdf9;--panel:#f3efe7;--text:#2b2622;--muted:#857a6c;--border:#e4ddcf;--row-border:#efe9dd;--zebra:#fbf8f1;--input-bg:#fffdf9;--accent:#a85a34;--accent-contrast:#fff;--accent-weak:#f6ece4;--accent-line:#e9d4c4;--btn-primary-bg:var(--accent);--btn-primary-contrast:#fff;--pos:#5a7d2f;--neg:#a3402e;--neg-border:#e3c3bb;--warn:#9a6a16;--info:var(--accent);--pos-weak:#eef3e6;--neg-weak:#f6e9e6;--warn-weak:#f7efe1;--info-weak:var(--accent-weak);--card-border:1px solid var(--border);--shadow:0 1px 2px #503c1e0f;--radius:8px;--radius-sm:7px;--btn-radius:7px;--input-radius:7px;--font-heading:"Georgia", "Times New Roman", serif;--heading-weight:600}.ds{color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);background:var(--bg);line-height:1.5}.ds *,.ds :before,.ds :after{box-sizing:border-box}.ds h3{font-family:var(--font-heading);font-weight:var(--heading-weight);margin:0 0 var(--space-3);letter-spacing:-.005em;font-size:15px}.ds .sub{color:var(--muted);font-size:var(--fs-sm);margin:calc(-1 * var(--space-2)) 0 var(--space-3)}.ds .panel{background:var(--surface);border:var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--card-pad);margin-bottom:var(--space-4)}.ds .appbar{align-items:center;gap:var(--space-4);padding:var(--control-pad-y) var(--card-pad);background:var(--surface);border:var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:var(--space-4);display:flex}.ds .appbar .brand{font-family:var(--font-heading);font-size:15px;font-weight:700}.ds .appbar nav{gap:var(--space-1);flex-wrap:wrap;display:flex}.ds .appbar nav a{font-size:var(--fs-sm);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;padding:5px 10px;text-decoration:none}.ds .appbar nav a.active{color:var(--accent);background:var(--accent-weak);font-weight:600}.ds .appbar .spacer{flex:1}.ds .kpis{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.ds .kpi{background:var(--surface);border:var(--card-border);border-radius:var(--radius);min-width:150px;box-shadow:var(--shadow);padding:var(--space-3) var(--space-4);flex:1}.ds .kpi .label{font-size:var(--fs-sm);color:var(--muted)}.ds .kpi .val{font-size:var(--kpi-size);letter-spacing:-.02em;font-weight:700;font-family:var(--font-heading);margin-top:4px}.ds .kpi .delta{font-size:var(--fs-sm);margin-top:2px;font-weight:600}.ds .up{color:var(--pos)}.ds .down{color:var(--neg)}.ds .grid2{gap:var(--space-4);grid-template-columns:1.3fr 1fr;display:grid}@media (width<=720px){.ds .grid2{grid-template-columns:1fr}}.ds table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.ds thead th{text-align:left;color:var(--muted);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;padding:var(--row-pad-y) var(--row-pad-x);border-bottom:1px solid var(--border)}.ds tbody td{padding:var(--row-pad-y) var(--row-pad-x);border-bottom:1px solid var(--row-border)}.ds tbody tr:nth-child(2n){background:var(--zebra)}.ds td.num,.ds th.num{text-align:right;font-variant-numeric:tabular-nums}.ds .field{margin-bottom:var(--space-3)}.ds label{font-size:var(--fs-sm);margin-bottom:5px;font-weight:600;display:block}.ds label .help{color:var(--muted);font-weight:400}.ds .q{border:1px solid var(--border);width:15px;height:15px;color:var(--muted);vertical-align:1px;cursor:help;border-radius:50%;justify-content:center;align-items:center;margin-left:5px;font-size:10px;display:inline-flex}.ds input[type=text],.ds select{width:100%;font:inherit;font-size:var(--fs-base);padding:var(--control-pad-y) var(--control-pad-x);color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--input-radius)}.ds input[type=range]{width:100%;accent-color:var(--accent)}.ds a:focus-visible,.ds button:focus-visible,.ds input:focus-visible,.ds select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ds .btns{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.ds button{font:inherit;font-size:var(--fs-sm);padding:var(--control-pad-y) 15px;border-radius:var(--btn-radius);cursor:pointer;border:1px solid #0000;font-weight:600}.ds .b-primary{background:var(--btn-primary-bg);color:var(--btn-primary-contrast);border-color:var(--btn-primary-bg)}.ds .b-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.ds .b-ghost{color:var(--accent);background:0 0}.ds .b-danger{color:var(--neg);border:1px solid var(--neg-border);background:0 0}.ds button[disabled]{opacity:.45;cursor:not-allowed}.ds .callout{border-radius:var(--radius);background:var(--accent-weak);border:1px solid var(--accent-line);font-size:var(--fs-sm);gap:10px;padding:11px 13px;display:flex}.ds .callout .ic{color:var(--accent);font-weight:700}.ds .empty{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);font-size:var(--fs-sm);padding:20px}.ds .chart{color:var(--accent);display:block}.ds .notice{border-radius:var(--radius);font-size:var(--fs-sm);border:1px solid var(--border);background:var(--panel);align-items:flex-start;gap:10px;padding:11px 13px;display:flex}.ds .notice .ic{flex:none;font-weight:700;line-height:1.4}.ds .notice .body{flex:1}.ds .notice .body strong{margin-bottom:2px;display:block}.ds .notice .body .act{margin-top:6px}.ds .notice--info{background:var(--info-weak);border-color:var(--accent-line)}.ds .notice--info .ic{color:var(--info)}.ds .notice--warn{background:var(--warn-weak);border-color:var(--warn)}.ds .notice--warn .ic{color:var(--warn)}.ds .notice--error{background:var(--neg-weak);border-color:var(--neg-border)}.ds .notice--error .ic{color:var(--neg)}.ds .notice--ok{background:var(--pos-weak);border-color:var(--pos)}.ds .notice--ok .ic{color:var(--pos)}.ds .empty-state{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);padding:28px 20px}.ds .empty-state .es-icon{opacity:.6;font-size:22px}.ds .empty-state .es-title{font-family:var(--font-heading);font-weight:var(--heading-weight);margin:8px 0 4px;font-size:15px}.ds .empty-state .es-desc{color:var(--muted);font-size:var(--fs-sm);max-width:42ch;margin:0 auto 12px}.ds .empty-state .es-cta{gap:8px;display:inline-flex}.ds .badge{font-size:var(--fs-xs);background:var(--panel);color:var(--muted);border:1px solid var(--border);vertical-align:middle;border-radius:999px;padding:1px 7px;font-weight:600;display:inline-block}.ds .badge--muted{opacity:.8}.ds .skeleton{background:linear-gradient(90deg,var(--panel) 25%,var(--border) 37%,var(--panel) 63%);border-radius:var(--radius-sm);background-size:400% 100%;min-height:14px;animation:1.3s infinite ds-shimmer}@keyframes ds-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.ds .skeleton{background:var(--panel);animation:none}}.theme-air{--color-surface:var(--surface);--color-surface-warm:var(--bg);--color-cream:var(--panel);--color-ink:var(--text);--color-ink-quiet:var(--muted);--color-ink-subtle:var(--muted);--color-ink-tertiary:var(--muted);--accent:var(--color-mint-deep);--accent-weak:var(--color-mint)}:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--color-ink:#13212c;--color-ink-strong:#172a3a;--color-ink-muted:#24394a;--color-ink-soft:#365063;--color-ink-subtle:#577186;--color-ink-tertiary:#596979;--color-ink-quiet:#5e6a72;--color-surface:#fff;--color-surface-warm:#f7f1e5;--color-surface-cool:#ebf4f2;--color-mint:#e8f2ef;--color-mint-soft:#e9f1ee;--color-mint-deep:#234f48;--color-mint-strong:#25544e;--color-mint-confirm:#25633f;--color-mint-bright:#27675c;--color-mint-ring:#38756b;--color-amber:#845623;--color-amber-soft:#fff5dc;--color-amber-strong:#705016;--color-amber-deep:#5f3714;--color-rose:#912c22;--color-rose-soft:#fce8e4;--color-rose-muted:#8a2f2f;--color-rose-strong:#9b2f2f;--color-rose-deep:#5a2a24;--color-sky:#edf3f8;--color-sky-soft:#edf3f7;--color-cream:#f4eadc;color:var(--color-ink);background:radial-gradient(circle at top left, #f3ad5447, transparent 32%), linear-gradient(180deg, var(--color-surface-warm) 0%, var(--color-surface-cool) 100%);font-family:IBM Plex Sans,Avenir Next,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}#root{min-height:100vh}.app-shell{max-width:960px;padding:calc(var(--space-6) + var(--space-4)) var(--space-5) calc(var(--space-6) * 2);margin:0 auto}.app-header{justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6);align-items:flex-start;display:flex}.app-header h1{margin:var(--space-1) 0 var(--space-3);font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.eyebrow,.status-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-amber);margin:0;font-size:.8rem}.lede{max-width:42rem;color:var(--color-ink-soft);margin:0}.app-header nav a{padding:var(--space-3) var(--space-4);background:#13212c14;border-radius:999px;align-items:center;display:inline-flex}.app-header nav a.active,.nav-button{background:var(--color-ink);color:var(--color-surface-warm)}.app-header nav{gap:var(--space-3);flex-wrap:wrap;display:flex}.nav-button{cursor:pointer;font:inherit;border:0;transition:background-color .16s,color .16s,opacity .16s,transform .16s}.nav-button:disabled{opacity:.7;cursor:progress;transform:translateY(1px)}.status-card{padding:var(--space-5);background:#ffffffb8;border:1px solid #13212c14;border-radius:24px;box-shadow:0 24px 70px #13212c14}.status-card-error{border-color:#912c2233}.status-card h2{margin-top:var(--space-2);margin-bottom:var(--space-4)}.workspace-layout{gap:var(--space-5);display:grid}.workspace-tabs{gap:var(--space-2);flex-wrap:wrap;max-width:100%;display:flex}.approval-packet{border:1px solid var(--border-color,#c8d1da);background:var(--surface-color,#fff);border-radius:.75rem;margin-top:1rem;padding:1.5rem}.approval-packet-actions{justify-content:flex-end;margin-bottom:1rem;display:flex}@media print{body :not(:has(.approval-packet)):not(.approval-packet):not(.approval-packet *){display:none!important}body :has(.approval-packet){box-shadow:none!important;background:0 0!important;border:0!important;min-height:0!important;margin:0!important;padding:0!important}body{background:#fff!important}.approval-packet{width:100%;box-shadow:none;background:#fff;border:0;margin:0;position:static}.approval-packet .no-print,.no-print{display:none!important}.approval-packet-costs,.approval-packet-signoff{break-inside:avoid}}.approval-packet-costs{border-collapse:collapse;width:100%;margin:.5rem 0 1rem}.approval-packet-costs th,.approval-packet-costs td{text-align:left;vertical-align:top;border-bottom:1px solid #0000001f;padding:.4rem .5rem}.approval-packet-costs tfoot th,.approval-packet-costs tfoot td{border-bottom:0;font-weight:700}.approval-packet-signoff dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2rem;display:grid}.approval-packet-signoff .signoff-line{border-bottom:1px solid #00000073;min-height:1.6rem;margin:.25rem 0 0}.workspace-tabs button{min-width:0;min-height:2.75rem;padding:var(--space-2) var(--space-3);color:var(--color-ink);cursor:pointer;font:inherit;background:#ffffffb8;border:1px solid #13212c2e;border-radius:999px;flex:7rem;font-weight:700}.workspace-tabs button[aria-selected=true]{background:var(--color-mint);border-color:#38756b8c}.workspace-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.planner-panel-card,.route-workbench-card,.planning-ledger-card{grid-column:1/-1}.planning-ledger-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.planning-ledger-group{padding:var(--space-4);background:#13212c0a;border:1px solid #13212c14;border-radius:16px}.planning-ledger-group h3{margin:0 0 var(--space-3);font-size:1rem}.planning-ledger-group ul{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.planning-ledger-group li{gap:var(--space-1);display:grid}.planning-ledger-group small{color:var(--color-ink-quiet);text-transform:capitalize;font-size:.78rem}.planner-panel-host{margin-top:var(--space-5)}.planner-runtime-row{align-items:center;gap:var(--space-2);margin:var(--space-3) 0 0;flex-wrap:wrap;display:flex}.planner-runtime-pill,.planner-runtime-mode{padding:var(--space-2) var(--space-3);border-radius:999px;font-size:.78rem;font-weight:700;line-height:1}.planner-runtime-pill,.planner-runtime-pill--ready{background:var(--color-mint);color:var(--color-mint-strong)}.planner-runtime-pill--fallback{background:var(--color-amber-soft);color:var(--color-amber-strong)}.planner-runtime-pill--error{background:var(--color-rose-soft);color:var(--color-rose)}.planner-runtime-mode{background:var(--color-sky);color:var(--color-ink-soft)}.planning-mode-selector{margin-top:var(--space-4)}.planning-mode-selector-header h3{margin:0}.planning-mode-selector-header p{margin-bottom:0}.planning-mode-options{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.planning-mode-option{cursor:pointer;gap:var(--space-1);min-height:112px;padding:var(--space-3);border:1px solid #36506338;border-radius:8px;display:grid}.planning-mode-option input{opacity:0;pointer-events:none;position:absolute}.planning-mode-option span{color:var(--color-ink-strong);font-weight:800}.planning-mode-option small{color:var(--color-ink-subtle);line-height:1.35}.planning-mode-option-active{background:var(--color-mint);border-color:#38756b8c;box-shadow:inset 0 0 0 1px #38756b2e}.planning-mode-active-summary{margin:var(--space-3) 0 0;color:var(--color-ink-soft);font-size:.92rem}.workspace-hero{position:relative;overflow:hidden}.workspace-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#38756b38,#0000 70%);height:180px;position:absolute;inset:auto -5% -40% 45%}.workspace-hero-emphasis{margin:var(--space-4) 0 0;max-width:42rem;color:var(--color-ink-soft)}.workspace-help-disclosure{margin-top:var(--space-4);max-width:56rem}.workspace-help-disclosure summary{cursor:pointer;font-weight:800}.workspace-help-grid{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.workspace-help-grid article{padding:var(--space-3);background:#ffffff94;border:1px solid #13212c14;border-radius:8px}.workspace-help-grid h3,.workspace-help-grid p{margin:0}.workspace-help-grid h3{margin-bottom:var(--space-1);font-size:.96rem}.workspace-debug-disclosure{margin-top:var(--space-4);max-width:56rem}.workspace-debug-disclosure summary{cursor:pointer;font-weight:800}.workspace-debug-section-list{gap:var(--space-3);margin-top:var(--space-4);display:grid}.workspace-debug-section{padding:var(--space-3);background:#ffffffad;border:1px solid #13212c1f;border-radius:8px}.workspace-debug-section h3{margin:0 0 var(--space-2);font-size:.96rem}.workspace-debug-section pre{max-height:320px;color:var(--color-ink);padding:var(--space-3);white-space:pre-wrap;word-break:break-word;background:#13212c0f;border-radius:8px;margin:0;font-size:.78rem;line-height:1.45;overflow:auto}.workspace-meta{gap:var(--space-4);margin:var(--space-5) 0 0;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.workspace-meta div{padding:var(--space-4) var(--space-4);background:#13212c0a;border-radius:18px}.workspace-meta dt{color:var(--color-ink-subtle);font-size:.85rem}.workspace-meta dd{margin:var(--space-1) 0 0;font-weight:600}.timeline-list{gap:var(--space-4);margin:var(--space-5) 0 0;padding:0;list-style:none;display:grid}.timeline-stop{gap:var(--space-4);padding:var(--space-4);background:#13212c0a;border-radius:20px;grid-template-columns:120px 1fr;align-items:start;display:grid}.timeline-stop-focused{background:#38756b14;border:1px solid #38756b59}.timeline-stop h3,.scenario-card h3,.decision-card h3{margin:0 0 var(--space-1)}.timeline-stop p,.scenario-card p,.decision-card p{color:var(--color-ink-soft);margin:0}.timeline-dayband{gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--color-ink);color:var(--color-surface-warm);border-radius:16px;font-size:.9rem;display:grid}.scenario-stack,.decision-stack,.focus-area-list{gap:var(--space-4);margin-top:var(--space-5);display:grid}.scenario-card,.decision-card{padding:var(--space-4);background:#13212c0a;border-radius:20px}.scenario-card-active{background:#38756b14;border:1px solid #38756b40}.timeline-summary-grid,.scenario-review-grid{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.timeline-summary-card,.scenario-review-card{min-height:100%}.timeline-focus-notes{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.timeline-focus-notes span{color:var(--color-mint-deep);padding:var(--space-2) var(--space-3);background:#38756b14;border:1px solid #38756b38;border-radius:8px;font-weight:700}.scenario-review-metrics{margin-top:var(--space-4)}.scenario-card-metrics{margin-top:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr))}.scenario-highlight-list{margin-top:var(--space-4)}.route-workbench-header,.route-option-card-header{align-items:start;gap:var(--space-4);justify-content:space-between;display:flex}.route-option-grid{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.route-option-card{gap:var(--space-4);min-height:100%;padding:var(--space-4);background:#13212c0a;border:1px solid #13212c14;border-radius:20px;display:grid}.route-option-card-selected,.route-option-card--baseline{background:#38756b14;border-color:#38756b59}.route-option-card--fallback{background:#84562314}.route-option-card--rejected{opacity:.78}.route-option-card--needs_research{border-color:#8456234d}.route-option-metrics{margin-top:0}.route-option-questions ul{margin:var(--space-1) 0 0;padding-left:var(--space-4)}.route-option-tradeoffs{padding-top:var(--space-3);border-top:1px solid #13212c14}.route-option-tradeoffs ul{margin:var(--space-1) 0 0;padding-left:var(--space-4)}.route-option-tradeoffs li,.route-option-questions li{margin-bottom:var(--space-1)}.route-option-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.route-option-actions button{color:var(--color-ink);cursor:pointer;font:inherit;padding:var(--space-2) var(--space-3);background:#ffffffc2;border:1px solid #13212c1f;border-radius:999px;font-size:.85rem;transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s}.route-option-actions button:hover{border-color:#38756b8c;transform:translateY(-1px)}.route-option-actions button:focus-visible{outline-offset:2px;border-color:#38756bb3;outline:3px solid #38756b52}.scenario-kicker{margin:0 0 var(--space-1);text-transform:uppercase;letter-spacing:.12em;color:var(--color-amber);font-size:.75rem}.focus-area-list{padding:0;list-style:none}.focus-area-list li{padding:var(--space-3) var(--space-4);background:#8456231f;border-radius:999px;width:fit-content}.focus-area-list li:first-letter{text-transform:uppercase}.muted-copy{color:var(--color-ink-subtle)}.planner-inline-error{color:var(--color-rose)}.planner-inline-success{color:var(--color-mint-confirm)}.planner-panel-host .planner-panel{min-height:100%}.planner-conversation-card{gap:var(--space-4);margin-top:var(--space-5);padding:var(--space-4);background:linear-gradient(135deg,#38756b1f,#84562314),#ffffffad;border-radius:22px;display:grid}.planner-conversation-header{gap:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.planner-conversation-header h3,.planner-conversation-header p{margin:0}.planner-conversation-header h3{margin-bottom:var(--space-1)}.planner-conversation-pill{padding:var(--space-2) var(--space-3);background:var(--color-ink);color:var(--color-surface-warm);border-radius:999px;flex:none;font-size:.82rem;font-weight:700}.planner-conversation-actions{gap:var(--space-2);flex-wrap:wrap;flex:0 auto;justify-content:flex-end;min-width:0;max-width:100%;display:flex}.planner-diagnostics-toggle{padding:var(--space-2) var(--space-3);color:var(--color-ink-muted);cursor:pointer;font:inherit;overflow-wrap:anywhere;background:#ffffffb8;border:1px solid #13212c2e;border-radius:999px;max-width:100%;font-size:.82rem;font-weight:700}.planner-diagnostics-toggle[aria-pressed=true]{background:var(--color-ink-muted);color:var(--color-surface-warm)}.planner-message-list{gap:var(--space-3);display:grid}.planner-message{padding:var(--space-4) var(--space-4);background:#13212c0d;border-radius:18px}.planner-message p{margin:0}.planner-response-blocks{gap:var(--space-3);margin-top:var(--space-3);display:grid}.planner-routing-pill{width:fit-content;padding:var(--space-1) var(--space-2);color:var(--color-ink-muted);text-transform:capitalize;background:#13212c1a;border-radius:999px;font-size:.78rem;font-weight:700}.planner-response-block{padding-left:var(--space-3);border-left:3px solid #38756b8c}.planner-response-block h4{margin:0 0 var(--space-1);font-size:.92rem}.planner-block-source-title{color:var(--color-ink-tertiary);margin:0 0 var(--space-1);font-size:.86rem;font-weight:700}.planner-response-block ul{gap:var(--space-1);padding-left:var(--space-4);margin:0;display:grid}.planner-message-planner{background:#38756b1f}.planner-message-user{background:#8456231f}.planner-message-empty{color:var(--color-ink-subtle)}.planner-tool-call-list{gap:var(--space-2);margin:var(--space-3) 0 0;padding-left:var(--space-4);color:var(--color-ink-soft);display:grid}.planner-diagnostics{gap:var(--space-2);margin-top:var(--space-3);display:grid}.planner-diagnostics details{padding:var(--space-3) var(--space-3);background:#ffffff8f;border:1px solid #13212c1f;border-radius:12px}.planner-diagnostics summary{cursor:pointer;font-weight:700}.planner-diagnostics pre{margin:var(--space-3) 0 0;padding:var(--space-3);color:var(--color-ink-muted);white-space:pre-wrap;background:#13212c14;border-radius:10px;font-size:.78rem;overflow:auto}.planner-tool-strip{gap:var(--space-3);flex-wrap:wrap;display:flex}.planner-tool-strip span{padding:var(--space-2) var(--space-3);text-transform:capitalize;background:#13212c14;border-radius:999px;font-size:.82rem}.planner-prompt-suggestions{gap:var(--space-2);flex-wrap:wrap;display:flex}.planner-prompt-suggestions button{color:var(--color-ink-muted);cursor:pointer;font:inherit;padding:var(--space-2) var(--space-3);background:#ffffffb8;border:1px solid #13212c1f;border-radius:999px;font-size:.85rem;font-weight:700;transition:background-color .16s,border-color .16s,color .16s,transform .16s}.planner-prompt-suggestions button:hover{border-color:#38756b8c;transform:translateY(-1px)}.planner-prompt-suggestions button:focus-visible{outline-offset:2px;border-color:#38756bb3;outline:3px solid #38756b52}.planner-conversation-form{gap:var(--space-3);display:grid}.planner-conversation-form label{gap:var(--space-2);color:var(--color-ink-soft);font-weight:600;display:grid}.planner-conversation-form textarea{resize:vertical;width:100%;padding:var(--space-3) var(--space-4);color:var(--color-ink);font:inherit;background:#ffffffd1;border:1px solid #13212c24;border-radius:16px}.planner-conversation-form textarea:focus{outline-offset:1px;outline:2px solid #38756b59}.planner-conversation-form button{width:fit-content;padding:var(--space-3) var(--space-4);background:linear-gradient(135deg, var(--color-ink), var(--color-mint-deep));color:var(--color-surface-warm);cursor:pointer;font:inherit;border:0;border-radius:999px;font-weight:700;transition:opacity .16s,transform .16s,filter .16s}.planner-conversation-form button:disabled{cursor:progress;opacity:.72;filter:saturate(.82);transform:translateY(1px)}.source-mix-control{gap:var(--space-3);margin-top:var(--space-4);color:var(--color-ink-soft);font-weight:700;display:grid}.source-mix-control input{width:100%;accent-color:var(--color-mint-deep)}.planner-route-focus{gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-4);background:#38756b14;border:1px solid #38756b33;border-radius:8px;display:grid}.planner-route-focus h3,.planner-route-focus p,.planner-route-focus ul{margin:0}.planner-route-focus ul{color:var(--color-ink-soft);padding-left:var(--space-4)}.budget-panel-card,.map-card{grid-column:1/-1}.map-provider-banner{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.map-provider-pill{padding:var(--space-2) var(--space-3);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;font-size:.82rem;font-weight:700;display:inline-flex}.map-provider-pill-live{color:var(--color-mint-deep);background:#38756b29}.map-provider-pill-fallback,.map-provider-pill-misconfigured,.map-provider-pill-provider-error,.map-provider-pill-loading,.map-provider-pill-sparse-route{color:var(--color-amber);background:#84562324}.map-confidence-pill-high{color:var(--color-mint-deep);background:#38756b29}.map-confidence-pill-medium{color:var(--color-amber);background:#84562324}.map-confidence-pill-low{color:var(--color-rose-muted);background:#9b2f2f1f}.map-scope-controls,.map-segment-selector{gap:var(--space-3);margin:var(--space-4) 0 0;flex-wrap:wrap;display:flex}.map-scope-button,.map-segment-button{color:var(--color-ink);cursor:pointer;font:inherit;padding:var(--space-3) var(--space-4);background:#ffffffc7;border:1px solid #13212c1f;border-radius:8px;font-weight:700;transition:background-color .16s,border-color .16s,color .16s,transform .16s}.map-scope-button-active,.map-segment-button-active{background:var(--color-mint-deep);color:var(--color-surface-warm);border-color:#38756b73}.map-scenario-toggle{gap:var(--space-3);margin:var(--space-5) 0 var(--space-4);flex-wrap:wrap;display:flex}.map-toggle-chip{color:var(--color-ink);cursor:pointer;font:inherit;padding:var(--space-3) var(--space-4);background:#13212c14;border:0;border-radius:999px;transition:background-color .16s,color .16s,transform .16s}.map-toggle-chip-active{background:var(--color-ink);color:var(--color-surface-warm)}.map-surface{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);display:grid}.map-route,.map-sidebar{gap:var(--space-4);display:grid}.map-route{padding:var(--space-4);background:linear-gradient(#38756b1f,#13212c08),#ffffffb8;border-radius:8px;min-height:430px}.map-provider-toolbar{gap:var(--space-3);color:var(--color-ink-soft);flex-wrap:wrap;align-items:center;font-size:.86rem;display:flex}.map-provider-name{color:var(--color-ink);font-weight:800}.map-preview-badge{color:var(--color-ink);padding:var(--space-1) var(--space-2);background:#ffffffb8;border:1px solid #13212c29;border-radius:999px;font-weight:700}.map-provider-canvas{background:linear-gradient(#13212c0e 1px, transparent 1px), linear-gradient(90deg, #13212c0e 1px, transparent 1px), linear-gradient(135deg, var(--color-mint-soft), var(--color-cream) 54%, var(--color-sky-soft));background-size:34px 34px,34px 34px,auto;border:1px solid #13212c1f;border-radius:8px;min-height:340px;position:relative;overflow:hidden}.map-route-geometry{width:100%;height:100%;position:absolute;inset:0}.map-route-line{stroke:var(--color-mint-bright);stroke-width:4px;stroke-linecap:round;stroke-dasharray:1 0}.map-route-line-warning{stroke:var(--color-amber);stroke-dasharray:7 5}.map-route-line-focused{stroke-width:6px;filter:drop-shadow(0 0 3px #38756b80)}.map-marker{border:2px solid var(--color-surface);background:var(--color-ink);width:36px;height:36px;color:var(--color-surface-warm);cursor:pointer;font:inherit;border-radius:50%;place-items:center;font-weight:800;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 20px #13212c2e}.map-marker-lodging{background:var(--color-mint-deep)}.map-marker-activity{background:var(--color-amber)}.map-marker-transport{background:var(--color-ink-soft)}.map-marker-policy{background:var(--color-rose-strong)}.map-marker-selected,.map-marker:focus-visible{outline-offset:2px;outline:3px solid #f7f1e5f2}.map-marker-emphasized{box-shadow:0 0 0 6px #38756b2e,0 10px 20px #13212c2e}.map-fallback-route{gap:var(--space-4);display:grid}.map-stop{gap:var(--space-4);width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:64px minmax(0,1fr);align-items:center;display:grid}.map-stop+.map-stop{position:relative}.map-stop+.map-stop:before{content:"";border-left:2px dashed #13212c33;position:absolute;top:-.9rem;bottom:calc(100% - .2rem);left:31px}.map-stop-marker{background:var(--color-ink);width:64px;height:64px;color:var(--color-surface-warm);border-radius:8px;place-items:center;font-weight:700;display:grid;box-shadow:inset 0 0 0 1px #ffffff14}.map-stop-selected .map-stop-marker,.map-stop:focus-visible .map-stop-marker{outline-offset:3px;outline:3px solid #38756b59}.map-stop-focused .map-stop-marker{box-shadow:0 0 0 6px #38756b29,inset 0 0 0 1px #ffffff14}.map-stop-copy{gap:var(--space-1);color:var(--color-ink-soft);display:grid}.map-stop-copy strong{color:var(--color-ink)}.map-option-marker-list{gap:var(--space-3);flex-wrap:wrap;display:flex}.map-option-marker{gap:var(--space-2);color:var(--color-ink);cursor:pointer;font:inherit;padding:var(--space-2) var(--space-3);background:#ffffffbd;border:1px solid #13212c1f;border-radius:8px;align-items:center;display:inline-flex}.map-option-marker span{background:var(--color-mint-deep);width:1.45rem;height:1.45rem;color:var(--color-surface-warm);border-radius:50%;place-items:center;font-size:.78rem;font-weight:800;display:grid}.map-option-marker-activity span{background:var(--color-amber)}.map-option-marker-transport span{background:var(--color-ink-soft)}.map-option-marker-policy span{background:var(--color-rose-strong)}.map-option-marker-selected,.map-option-marker:focus-visible{border-color:#38756b8c;outline:2px solid #38756b40}.map-option-marker-focused{box-shadow:0 0 0 4px #38756b1f}.map-warning{color:var(--color-amber-deep);padding:var(--space-3) var(--space-3);background:#8456231f;border-radius:8px;margin:0;font-weight:700}.map-marker-detail{border:1px solid #38756b33}.map-ledger-focus-list{gap:var(--space-2);margin:var(--space-3) 0 0;padding-left:var(--space-4);color:var(--color-ink-soft);display:grid}.map-ledger-focus-list li{padding-left:var(--space-1)}.map-ledger-focus-list span{color:var(--color-ink);font-weight:800;display:block}.map-metrics{margin-top:0}.map-anchor-list,.map-highlight-list{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.map-anchor-chip{padding:var(--space-2) var(--space-3);background:#8456231f;border-radius:999px;align-items:center;display:inline-flex}.map-anchor-chip-muted{color:var(--color-ink-subtle);background:#13212c14}.map-highlight-list{padding-left:var(--space-4);display:grid}.map-scenario-rail{gap:var(--space-3);margin-top:var(--space-4);display:grid}.map-scenario-rail-card{padding:var(--space-3) var(--space-4);background:#13212c0a;border-radius:8px}.map-scenario-rail-card-active{background:#38756b1a;border:1px solid #38756b33}.map-scenario-rail-card h4{margin:0 0 var(--space-1)}.map-scenario-rail-card p{color:var(--color-ink-soft);margin:0}@media (width<=820px){.map-surface,.workspace-layout-compact .workspace-grid,.workspace-layout-compact .timeline-stop{grid-template-columns:1fr}}@media (width<=640px){.route-workbench-header,.route-option-card-header{display:grid}.map-scenario-toggle{grid-template-columns:1fr;display:grid}.map-toggle-chip,.map-scope-button,.map-segment-button{text-align:left;width:100%}}@media (width<=520px){.app-shell{padding-inline:var(--space-3)}.route-option-actions,.planner-prompt-suggestions,.map-scope-controls,.map-segment-selector{grid-template-columns:1fr;display:grid}.route-option-actions button,.planner-prompt-suggestions button,.planner-conversation-form button{width:100%}}@media (prefers-reduced-motion:reduce){.nav-button,.route-option-actions button,.planner-prompt-suggestions button,.planner-conversation-form button,.map-scope-button,.map-segment-button,.map-toggle-chip{transition:none}.nav-button:disabled,.route-option-actions button:hover,.planner-prompt-suggestions button:hover,.planner-conversation-form button:disabled{transform:none}}.budget-summary-grid{gap:var(--space-4);margin:var(--space-5) 0 0;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.budget-summary-grid div,.budget-category-row{background:#13212c0a;border-radius:20px}.budget-summary-grid div{padding:var(--space-4) var(--space-4)}.budget-summary-grid dt,.budget-category-row dt{color:var(--color-ink-subtle);font-size:.82rem}.budget-summary-grid dd,.budget-category-row dd{margin:var(--space-1) 0 0;font-weight:600}.budget-layout{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.budget-form{gap:var(--space-4);padding:var(--space-4);background:#13212c0a;border-radius:20px;display:grid}.budget-form-header,.budget-allocation-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.budget-field{gap:var(--space-1);color:var(--color-ink-soft);font-size:.95rem;display:grid}.budget-field input,.budget-field select{width:100%;padding:var(--space-3) var(--space-3);font:inherit;color:var(--color-ink);background:#ffffffc2;border:1px solid #13212c1f;border-radius:14px}.budget-field input:focus,.budget-field select:focus{outline-offset:1px;outline:2px solid #38756b59}.budget-action-button{padding:var(--space-3) var(--space-4);font:inherit;color:var(--color-surface-warm);background:linear-gradient(135deg, var(--color-mint-ring), var(--color-mint-deep));cursor:pointer;border:0;border-radius:999px;font-weight:600}.budget-action-button:disabled{cursor:progress;opacity:.75}.budget-category-list{gap:var(--space-4);margin-top:var(--space-5);display:grid}.budget-category-row{gap:var(--space-3);padding:var(--space-4);display:grid}.budget-category-row h3{margin:0}.budget-category-row p{margin:var(--space-1) 0 0}.budget-category-row dl{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:0;display:grid}.auth-layout{place-items:center;display:grid}.auth-card{width:100%;max-width:34rem}.auth-form{gap:var(--space-4);margin-top:var(--space-5);display:grid}.auth-form fieldset{gap:var(--space-4);padding:var(--space-4);border:1px solid #13212c1f;border-radius:16px;margin:0;display:grid}.auth-form legend{color:var(--color-ink-soft);padding:0 var(--space-2);font-weight:700}.auth-form label{gap:var(--space-2);font-weight:600;display:grid}.auth-form input,.auth-form select{padding:var(--space-3) var(--space-4);font:inherit;background:#fffffff2;border:1px solid #13212c29;border-radius:14px}.auth-form button{padding:var(--space-4) var(--space-4);font:inherit;color:var(--color-surface-warm);background:var(--color-ink);cursor:pointer;border:0;border-radius:999px;font-weight:600}.auth-form button:disabled{opacity:.7;cursor:progress}.auth-error{color:var(--color-rose);margin:0}.auth-switch{color:var(--color-ink-soft);margin-bottom:0}.trip-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.trip-card{gap:var(--space-4);display:grid}.trip-card-actions,.trip-delete-confirmation{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.trip-delete-confirmation{padding:var(--space-3);background:#912c2212;border:1px solid #912c2238;border-radius:12px}.trip-delete-confirmation p{color:var(--color-rose-deep);flex-basis:100%;margin:0}.cta-link{width:fit-content;padding:var(--space-3) var(--space-4);background:var(--color-ink);color:var(--color-surface-warm);border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.secondary-link,.secondary-button,.danger-button{width:fit-content;min-height:2.75rem;padding:var(--space-3) var(--space-4);color:var(--color-ink);font:inherit;cursor:pointer;background:#ffffffb8;border:1px solid #13212c2e;border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.danger-button{color:var(--color-rose);border-color:#912c225c}.secondary-button:disabled,.danger-button:disabled{cursor:progress;opacity:.58}.status-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0;display:grid}.status-grid div{padding:var(--space-4);background:#13212c0a;border-radius:18px}.status-grid dt{color:var(--color-ink-subtle);font-size:.85rem}.status-grid dd{margin:var(--space-1) 0 0;font-size:1.1rem;font-weight:600}@media (width<=720px){.app-shell{padding-inline:var(--space-4)}.app-header{flex-direction:column}.timeline-stop{grid-template-columns:1fr}}.setup-card{max-width:40rem}.setup-form .field-hint{margin:calc(var(--space-3) * -1) 0 0;color:var(--color-ink-soft);font-size:.9rem;line-height:1.45}.setup-form .field-error{margin:calc(var(--space-3) * -1) 0 0;color:var(--color-rose);font-size:.9rem}.setup-group>.field-hint:first-of-type{margin-top:0}.choice-grid{gap:var(--space-3);display:grid}.choice-card{gap:var(--space-1) var(--space-3);padding:var(--space-4);cursor:pointer;background:#fffffff2;border:1px solid #13212c29;border-radius:16px;grid-template-columns:auto 1fr;grid-template-areas:"radio title""radio description";align-items:start;font-weight:400;display:grid}.choice-card:hover{border-color:#13212c52}.choice-card:focus-within{outline:2px solid var(--color-ink);outline-offset:2px}.choice-card-selected{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink)}.choice-card input[type=radio]{width:1.15rem;height:1.15rem;accent-color:var(--color-ink);grid-area:radio;margin:.15rem 0 0}.choice-title{grid-area:title;font-weight:700}.choice-description{color:var(--color-ink-soft);grid-area:description;font-size:.9rem;line-height:1.45}.setup-next{padding:var(--space-4);gap:var(--space-2);border:1px dashed #13212c3d;border-radius:16px;display:grid}.setup-next p{color:var(--color-ink-soft);margin:0;line-height:1.5}.setup-next-blocked{font-weight:600;color:var(--color-ink)!important}@media (width<=640px){.choice-card{padding:var(--space-4) var(--space-3)}.setup-form input,.setup-form select{min-height:44px}}.budget-tracking-disclosure>summary{cursor:pointer;margin:var(--space-4) 0 var(--space-2);font-weight:600}.trip-price-list{gap:1rem;padding:0;list-style:none;display:grid}.trip-price-row{grid-template-columns:minmax(10rem,1fr) 8rem minmax(10rem,1.5fr) auto auto;align-items:center;gap:.5rem;display:grid}.trip-price-row>label{font-weight:600}.trip-price-row>.field-hint{grid-column:1/-1;margin:0}@media (width<=720px){.trip-price-row{grid-template-columns:1fr}}.trip-price-fare-detail{grid-column:1/-1;gap:.35rem;max-width:34rem;display:grid}.trip-price-attest{align-items:flex-start;gap:.5rem;font-weight:400;display:flex}.app-footer{margin:var(--space-6) 0 var(--space-4);text-align:center;font-size:.85rem}.compare-detail-disclosure>summary{cursor:pointer;margin:var(--space-4) 0 var(--space-2);font-weight:600}
