:root{--t-nano: 10px;--t-micro: 11px;--t-mini: 12px;--t-body: 13px;--t-base: 14px;--t-lead: 16px;--t-title: 19px;--t-display: 30px;--t-hero: 40px;--lh-tight: 1.25;--lh-snug: 1.4;--lh-body: 1.55;--space-3xs: 2px;--space-2xs: 4px;--space-xs: 6px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--radius-sm: 6px;--radius: 9px;--radius-lg: 14px;--radius-pill: 999px;--control-h: 34px;--control-h-sm: 28px;--mono: "IBM Plex Mono", ui-monospace, monospace;--sans: Inter, system-ui, -apple-system, sans-serif;--dur: .12s;--dur-med: .18s;--dur-panel: .2s;--ease: cubic-bezier(.2, .6, .3, 1)}:root{color-scheme:light;--ground: #f4f3f0;--surface: #ffffff;--surface-2: #faf9f6;--surface-raised: #ffffff;--field-bg: #ffffff;--line: #e3e2db;--line-soft: #efeee8;--line-strong: #cfcec6;--field-line: #c9c8bf;--ink: #15171c;--ink-2: #555a63;--ink-3: #6a6f78;--accent: #0f6e64;--accent-dark: #0a5048;--accent-soft: #e4f0ee;--accent-line: #cfe2de;--accent-ink: #ffffff;--warn: #a8431b;--warn-soft: #fdf6f2;--warn-line: #efd9cb;--warn-fill: #f4e2d7;--warn-ink: #ffffff;--stay: #ecf4f2;--hatch: repeating-linear-gradient(135deg, #fdf4ef 0 5px, #f7e7dc 5px 10px);--hatch-tight: repeating-linear-gradient(135deg, #fdf4ef 0 4px, #f7e7dc 4px 8px);--route-line: #0f6e64;--route-approx: #8a8f98;--map-empty: #dde5e6;--map-land: #ebe4da;--map-water: #b9d0c9;--marker: #15171c;--marker-ring: #ffffff;--avatar-2: #3f4a5a;--focus: #0f6e64;--focus-ring: rgba(15, 110, 100, .2);--drop-hover: rgba(15, 110, 100, .14);--scrim: rgba(21, 23, 28, .42);--shadow-sm: 0 1px 2px rgba(21, 23, 28, .06);--shadow: 0 2px 10px rgba(21, 23, 28, .07);--shadow-lg: 0 14px 44px rgba(21, 23, 28, .22)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ground: #1a1816;--surface: #22201c;--surface-2: #1e1c18;--surface-raised: #2c2924;--field-bg: #2e2b26;--line: #3a3630;--line-soft: #2e2b26;--line-strong: #4c463e;--field-line: #564f46;--ink: #f0ebe4;--ink-2: #b8b0a4;--ink-3: #8a8278;--accent: #6b9e8f;--accent-dark: #8bb5a8;--accent-soft: #24332e;--accent-line: #3d5a50;--accent-ink: #0f1815;--warn: #c47a4a;--warn-soft: #2a1c14;--warn-line: #5a3a28;--warn-fill: #6a4530;--warn-ink: #1a100a;--stay: #1e2a26;--hatch: repeating-linear-gradient(135deg, #2a1e16 0 5px, #35261c 5px 10px);--hatch-tight: repeating-linear-gradient(135deg, #2a1e16 0 4px, #35261c 4px 8px);--route-line: #6b9e8f;--route-approx: #7a7368;--map-empty: #24211c;--map-land: #1e1c18;--map-water: #24302c;--marker: #f0ebe4;--marker-ring: #1a1816;--avatar-2: #6a645a;--focus: #8bb5a8;--focus-ring: rgba(107, 158, 143, .28);--drop-hover: rgba(107, 158, 143, .18);--scrim: rgba(12, 10, 8, .62);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .5)}}:root[data-theme=dark]{color-scheme:dark;--ground: #1a1816;--surface: #22201c;--surface-2: #1e1c18;--surface-raised: #2c2924;--field-bg: #2e2b26;--line: #3a3630;--line-soft: #2e2b26;--line-strong: #4c463e;--field-line: #564f46;--ink: #f0ebe4;--ink-2: #b8b0a4;--ink-3: #8a8278;--accent: #6b9e8f;--accent-dark: #8bb5a8;--accent-soft: #24332e;--accent-line: #3d5a50;--accent-ink: #0f1815;--warn: #c47a4a;--warn-soft: #2a1c14;--warn-line: #5a3a28;--warn-fill: #6a4530;--warn-ink: #1a100a;--stay: #1e2a26;--hatch: repeating-linear-gradient(135deg, #2a1e16 0 5px, #35261c 5px 10px);--hatch-tight: repeating-linear-gradient(135deg, #2a1e16 0 4px, #35261c 4px 8px);--route-line: #6b9e8f;--route-approx: #7a7368;--map-empty: #24211c;--map-land: #1e1c18;--map-water: #24302c;--marker: #f0ebe4;--marker-ring: #1a1816;--avatar-2: #6a645a;--focus: #8bb5a8;--focus-ring: rgba(107, 158, 143, .28);--drop-hover: rgba(107, 158, 143, .18);--scrim: rgba(12, 10, 8, .62);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);font-size:var(--t-body);line-height:var(--lh-snug);letter-spacing:-.006em;background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;accent-color:var(--accent)}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:var(--t-base)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dark)}h1,h2,h3,h4{font-weight:600;letter-spacing:-.015em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--accent-soft);color:var(--ink)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.pageTitle{margin:0;font-size:var(--t-title);font-weight:600;line-height:var(--lh-tight)}.pageSub{margin:var(--space-2xs) 0 0;font-size:var(--t-mini);line-height:var(--lh-body);color:var(--ink-3)}.sectionLabel{margin:0;font-size:var(--t-micro);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.hintText{margin:0 0 var(--space-sm);font-size:var(--t-mini);line-height:var(--lh-body);color:var(--ink-3)}.app{display:flex;flex-direction:column;min-height:100%}@media(min-width:900px){.app{height:100vh;overflow:hidden}.split,.rail,.main{min-height:0}}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);padding:0 var(--space-lg);min-height:52px;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0;min-width:0}.brandName{font-size:var(--t-mini);font-weight:600;letter-spacing:.02em;color:var(--ink-3)}.tripName{font-size:var(--t-lead);font-weight:600;letter-spacing:-.02em;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.divider{width:1px;height:20px;background:var(--line);flex-shrink:0}.spacer{flex-grow:1}.topbarTools{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.nav{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.navTabs{display:flex;align-items:center;gap:var(--space-3xs);padding:3px;border-radius:var(--radius);background:var(--surface-2)}.nav a{display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:var(--radius-sm);font-size:var(--t-mini);font-weight:500;color:var(--ink-2);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.nav a:hover{background:var(--surface);color:var(--ink)}.navTabs a.active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm)}.nav a.newTripLink{color:var(--ink-3);font-weight:500;padding-left:var(--space-md);margin-left:var(--space-2xs);border-left:1px solid var(--line);border-radius:0}.nav a.newTripLink:hover{background:none;color:var(--accent)}.metabar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm) var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--surface-2);border-bottom:1px solid var(--line);font-size:var(--t-mini);color:var(--ink-3)}.metaFacts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md)}.metaFacts>*+*{padding-left:var(--space-md);border-left:1px solid var(--line)}.metaDates{font-size:var(--t-body);font-weight:500;color:var(--ink)}.split{display:flex;flex-wrap:wrap;flex-grow:1;align-items:stretch;min-height:0}.rail{flex:1 1 372px;min-width:0;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column}.railStack{padding:var(--space-xl) var(--space-lg);gap:var(--space-2xl);overflow-y:auto}.main{flex:999 1 560px;min-width:0;position:relative;min-height:420px}.panelPad{padding:var(--space-xl) var(--space-xl) var(--space-2xl)}.panelScroll{overflow-y:auto}.statBlock{display:flex;align-items:baseline;gap:var(--space-sm)}.statValue{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-hero);font-weight:600;line-height:1;letter-spacing:-.03em}.statValue.warn{color:var(--warn)}.statValue.ok{color:var(--accent)}.statValue.money{font-size:var(--t-display)}.statUnit{font-size:var(--t-base);line-height:var(--lh-snug);color:var(--ink-2);white-space:pre-line}.panelHead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);height:var(--control-h);padding:0 var(--space-md);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:var(--t-mini);font-weight:500;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.btn:hover{background:var(--surface-2);border-color:var(--line-strong)}.btn:active{background:var(--line-soft)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{background:var(--surface);border-color:var(--line)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.btn-primary:active{background:var(--accent-dark)}.btn-primary:disabled:hover{background:var(--accent);border-color:var(--accent)}.btn-ghost{background:none;border-color:transparent;color:var(--ink-2)}.btn-ghost:hover{background:var(--surface-2);border-color:var(--line);color:var(--ink)}.btn-ghost:disabled:hover{background:none;border-color:transparent}.btn-icon{width:var(--control-h);padding:0;color:var(--ink-2);background:none;border-color:transparent}.btn-icon:hover{background:var(--surface-2);border-color:var(--line);color:var(--ink)}.btn-sm{height:var(--control-h-sm);padding:0 10px;font-size:var(--t-micro)}.btn-icon.btn-sm{width:var(--control-h-sm);padding:0}.linkBtn{border:none;background:none;padding:0;color:var(--accent);font-size:var(--t-micro);font-weight:600;text-decoration:underline;text-underline-offset:2px}.linkBtn:hover{color:var(--accent-dark)}.linkBtn:disabled{opacity:.5}input.field,select.field{width:100%;height:36px;padding:0 10px;border:1px solid var(--field-line);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--ink);font-size:var(--t-body);transition:border-color var(--dur) var(--ease)}select.field{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;padding:0 var(--space-sm)}input.field:hover,select.field:hover{border-color:var(--line-strong)}input.field:focus,select.field:focus,textarea.noteEditor:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.formRow{display:flex;flex-direction:column;gap:var(--space-2xs);margin-bottom:var(--space-md)}.formRow label{font-size:var(--t-mini);font-weight:500;color:var(--ink-2)}.checkRow{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--t-mini);color:var(--ink-2);margin-bottom:var(--space-md)}.chip{display:inline-flex;align-items:center;gap:var(--space-xs);height:22px;padding:0 var(--space-sm);border-radius:var(--radius-pill);background:var(--line-soft);color:var(--ink-2);font-size:var(--t-micro);font-weight:500}.chip-accent{background:var(--accent-soft);color:var(--accent);font-weight:600}.chip-warn{background:var(--warn);color:var(--warn-ink);font-weight:600;letter-spacing:.01em}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-lg)}.card-warn{background:var(--warn-soft);border-color:var(--warn-line)}.card-flush{padding:0;overflow:hidden}.floating{position:absolute;z-index:2;box-shadow:var(--shadow-lg)}.banner{display:flex;align-items:flex-start;gap:var(--space-sm);padding:10px var(--space-md);border-radius:var(--radius-sm);font-size:var(--t-mini);line-height:var(--lh-body)}.banner-warn{background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--ink);border-left:3px solid var(--warn)}.banner-info{background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--ink)}.kv{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) 0;border-top:1px solid var(--line-soft)}.kv:first-of-type{border-top:none}.kv dt{margin:0;font-size:var(--t-mini);color:var(--ink-2)}.kv dd{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-body);font-weight:500}.kvTotal{border-top:1px solid var(--line)}.kvTotal dt{color:var(--ink);font-weight:600}.kvTotal dd{font-weight:600}.railHead{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg) var(--space-sm);border-bottom:1px solid var(--line-soft)}.railBody{flex-grow:1;min-height:0;overflow-y:auto;padding:var(--space-md) var(--space-sm) var(--space-xl)}.stopRowWrap{display:flex;align-items:flex-start;gap:var(--space-3xs)}.stopRowWrap .stopRow{flex-grow:1;min-width:0}.stopRow{display:flex;gap:10px;padding:var(--space-sm);border-radius:var(--radius);border:1px solid transparent;width:100%;text-align:left;background:none;color:inherit;transition:background var(--dur) var(--ease)}.stopRow:hover{background:var(--surface-2)}.stopRow.selected{background:var(--accent-soft);border-color:var(--accent-line)}.stopRow.conflict{background:var(--warn-soft);border-color:var(--warn-line)}.seqDot{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--line-soft);color:var(--ink-2);font-family:var(--mono);font-size:var(--t-micro);font-weight:600}.stopBody{flex-grow:1;min-width:0}.stopTitle{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.stopName{font-size:var(--t-base);font-weight:600;letter-spacing:-.012em}.stopDate{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-mini);color:var(--ink-2);white-space:nowrap}.stopMeta{display:block;font-size:var(--t-mini);color:var(--ink-3);margin-top:1px}.legRow{display:flex;align-items:center;gap:var(--space-sm);padding:2px var(--space-sm) 2px 19px}.legLine{width:2px;height:22px;background:var(--line-strong);border-radius:1px;flex-shrink:0}.legLine.warn{background:var(--warn);height:32px}.legText{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-micro);color:var(--ink-3)}.legWarn{font-size:var(--t-micro);font-weight:600;color:var(--warn);margin-top:1px}.legNote{font-size:var(--t-micro);color:var(--ink-3);margin-top:1px}.gapRow{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-2xs) var(--space-sm) var(--space-2xs) 19px;padding:var(--space-xs) 10px;border:1px dashed var(--warn-line);border-radius:var(--radius-sm);background:var(--warn-soft);font-size:var(--t-mini);font-weight:600;color:var(--warn)}.reorder{display:flex;flex-direction:column;gap:1px;opacity:0;transition:opacity var(--dur)}.stopRowWrap:hover .reorder,.stopRowWrap:focus-within .reorder{opacity:1}.reorder button{width:22px;height:18px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink-2);font-size:var(--t-micro);line-height:1}.reorder button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.reorder button:disabled{opacity:.3;cursor:not-allowed}.insertHere{display:block;width:calc(100% - 28px);margin:1px var(--space-sm) 1px 19px;padding:3px var(--space-sm);border:1px dashed transparent;border-radius:var(--radius-sm);background:none;color:var(--ink-3);font-size:var(--t-micro);text-align:left;opacity:0;transition:opacity var(--dur)}.railBody:hover .insertHere{opacity:.5}.insertHere:hover,.insertHere:focus-visible{opacity:1;border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}.stopPanelHead{position:sticky;top:0;z-index:1;padding:var(--space-lg) var(--space-lg) var(--space-md);background:var(--surface-raised);border-bottom:1px solid var(--line)}.stopPanelTitle{display:flex;align-items:flex-start;gap:var(--space-sm)}.stopPanelName{margin:0;font-size:var(--t-title);font-weight:600;letter-spacing:-.022em;line-height:var(--lh-tight)}.stopPanelAddr{margin:var(--space-3xs) 0 0;font-size:var(--t-mini);color:var(--ink-3)}.stopSections{padding:var(--space-lg)}.stopSections>*+*{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--line-soft)}.stopSections>.banner+*{border-top:none;padding-top:0;margin-top:var(--space-md)}.stopSections>.banner+.banner{margin-top:var(--space-sm)}.sectionHead{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.note{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-md)}.noteHead{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.noteTitle{font-size:var(--t-body);font-weight:600}.noteBody{margin:0;font-size:var(--t-body);line-height:var(--lh-body);white-space:pre-wrap}.avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:var(--t-micro);font-weight:600;flex-shrink:0}.avatar-2{background:var(--avatar-2);color:#fff}textarea.noteEditor{width:100%;min-height:110px;padding:var(--space-sm) 10px;border:1px solid var(--field-line);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--ink);font-size:var(--t-body);line-height:var(--lh-body);resize:vertical}.weekGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.dayHead{font-size:var(--t-micro);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);padding-left:2px}.dayCell{position:relative;min-height:78px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);padding:var(--space-xs) var(--space-sm);overflow:hidden;display:flex;flex-direction:column;gap:var(--space-3xs)}.dayCell.out{background:var(--surface-2);border-color:var(--line-soft)}.dayCell.gap{background:var(--hatch);border-color:var(--warn-line)}.dayCell.stay{background:var(--stay);border-color:var(--accent-line)}.dayCell.travel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}.dayNum{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-micro);font-weight:600;color:var(--ink-3)}.dayMonth{font-size:var(--t-nano);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.dayTop{display:flex;align-items:baseline;gap:var(--space-2xs)}.dayLabel{font-size:var(--t-mini);font-weight:600;line-height:var(--lh-tight)}.daySub{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-nano);line-height:var(--lh-tight);color:var(--ink-3)}.dayGapText{margin-top:auto;font-size:var(--t-micro);font-weight:600;color:var(--warn)}.legend{display:flex;flex-wrap:wrap;gap:var(--space-md)}.legendItem{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--t-micro);color:var(--ink-2)}.legendSwatch{width:11px;height:11px;border-radius:3px;border:1px solid var(--line)}.dayEditBar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-sm) 10px;border:1px solid var(--accent-line);border-radius:var(--radius);background:var(--accent-soft);box-shadow:var(--shadow-sm)}.dayEditWho{font-size:var(--t-body)}.dayEditDates{font-size:var(--t-mini);color:var(--ink-2)}.dayEditGroup{display:inline-flex;align-items:center;gap:1px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:2px}.stepBtn{min-width:26px;height:24px;padding:0 var(--space-xs);border:none;border-radius:4px;background:none;color:var(--ink-2);font-size:var(--t-mini);line-height:1}.stepBtn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.stepBtn:disabled{opacity:.3;cursor:not-allowed}.stepValue{min-width:62px;text-align:center;font-size:var(--t-mini);font-variant-numeric:tabular-nums}.dayStop{position:relative;z-index:3;display:flex;align-items:flex-start;gap:var(--space-3xs);border-radius:var(--radius-sm);margin:0 -2px}.dayStop.selected{background:var(--accent-soft);outline:1px solid var(--accent-line)}.dayStop.carrying{opacity:.55}.dayStopBody{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:1px;border:none;background:none;padding:2px;text-align:left;color:inherit}.dayStopGrip{flex:none;width:20px;min-height:24px;border:none;border-radius:4px;background:none;color:var(--ink-3);font-size:var(--t-mini);line-height:1;touch-action:none;cursor:grab}.dayStopGrip:hover,.dayStopGrip[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.dayStopGrip[aria-pressed=true]{cursor:grabbing}.dayCell.dropTarget{outline:2px solid var(--accent);outline-offset:-2px}.dayDrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border:none;background:none;cursor:pointer}.dayDrop:hover,.dayDrop:focus-visible{background:var(--drop-hover);outline:2px solid var(--accent);outline-offset:-2px}.dayAdd{margin-top:auto;align-self:flex-start;width:20px;height:20px;padding:0;border:1px dashed var(--line-strong);border-radius:5px;background:var(--surface);color:var(--ink-3);font-size:var(--t-mini);line-height:1;opacity:0;transition:opacity var(--dur)}.dayCell:hover .dayAdd,.dayAdd:focus-visible{opacity:1}.dayAdd:hover{border-color:var(--accent);border-style:solid;color:var(--accent)}.mapRoot,.mapRoot.mapRoot{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:var(--map-land)}.mapFallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--space-2xl);background:var(--map-empty);color:var(--ink-2);font-size:var(--t-body)}.mapProblem{max-width:420px;text-align:center}.mapProblemTitle{display:block;font-size:var(--t-base);margin-bottom:var(--space-xs);color:var(--ink)}.mapProblemReason{display:block;font-size:var(--t-mini);line-height:var(--lh-body);color:var(--ink-2)}.mapProblemHint{display:block;margin-top:var(--space-xs);font-size:var(--t-micro);line-height:var(--lh-body);color:var(--ink-3)}.dialogBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:var(--scrim)}.dialog{width:100%;max-width:460px;max-height:88vh;display:flex;flex-direction:column;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.dialogHead{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--line)}.dialogTitle{margin:0;font-size:var(--t-lead);font-weight:600}.dialogBody{padding:var(--space-lg) var(--space-lg) var(--space-xl);overflow-y:auto}.dialogSplit{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md)}.resultList{list-style:none;margin:0 0 var(--space-md);padding:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.resultList li+li{border-top:1px solid var(--line-soft)}.resultList button{display:block;width:100%;padding:var(--space-sm) var(--space-md);border:none;background:var(--surface);text-align:left}.resultList button:hover:not(:disabled){background:var(--accent-soft)}.resultList button:focus-visible,.card-flush :focus-visible{outline-offset:-2px}.resultName{display:block;font-size:var(--t-body);font-weight:600;color:var(--ink)}.resultAddr{display:block;font-size:var(--t-micro);color:var(--ink-3);margin-top:1px}.manualBlock{margin-top:var(--space-2xs);border-top:1px solid var(--line-soft);padding-top:var(--space-md)}.manualBlock summary{font-size:var(--t-mini);color:var(--ink-2);cursor:pointer;margin-bottom:var(--space-md)}.manualBlock summary:hover{color:var(--ink)}.dataTable{width:100%;border-collapse:collapse;font-size:var(--t-body)}.dataTable th{text-align:left;padding:var(--space-sm) var(--space-md);font-size:var(--t-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line)}.dataTable td{padding:var(--space-sm) var(--space-md);border-top:1px solid var(--line-soft)}.dataTable tbody tr:first-child td{border-top:none}.dataTable tbody tr:hover td{background:var(--surface-2)}.dataTable .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.dataTable .rowLabel{color:var(--ink-2)}.dataTable .cellMuted{color:var(--ink-3);font-size:var(--t-mini)}.countryGrid,.listGrid{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.checkList{list-style:none;margin:0;padding:0}.checkList li{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-2xs) 0;border-top:1px solid var(--line-soft)}.checkList li:first-child{border-top:none}.checkList label{display:flex;align-items:center;gap:var(--space-sm);flex-grow:1;font-size:var(--t-body);cursor:pointer;min-height:26px}.checkList input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.doneItem{text-decoration:line-through;color:var(--ink-3)}.cardHead{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-sm)}.cardTitle{font-size:var(--t-base);font-weight:600;letter-spacing:-.012em}.cardCount{font-size:var(--t-micro);color:var(--ink-3);font-variant-numeric:tabular-nums}.suggestion{padding:var(--space-sm) 0;border-top:1px solid var(--line-soft)}.suggestion:first-of-type{border-top:none}.suggestionHead{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-xs)}.suggestionName{font-size:var(--t-body);font-weight:600}.suggestionWhy{margin:var(--space-2xs) 0 var(--space-xs);font-size:var(--t-mini);line-height:var(--lh-body);color:var(--ink-2)}.voteRow{display:inline-flex;align-items:center;gap:2px;margin-top:var(--space-2xs)}.voteBtn{width:24px;height:22px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink-3);font-size:var(--t-mini);line-height:1}.voteBtn:hover{background:var(--surface-2);color:var(--ink)}.voteBtn.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.otherVote{display:inline-flex;align-items:center;gap:1px;margin-left:var(--space-2xs);font-size:var(--t-nano);color:var(--ink-3);font-family:var(--mono)}.ledger{display:flex;align-items:center;gap:var(--space-sm)}.ledgerLabel{font-size:var(--t-mini);color:var(--ink-3)}.ledgerBar{width:120px;height:6px;border-radius:var(--radius-pill);background:var(--accent-soft);overflow:hidden}.ledgerBar.short{background:var(--warn-fill)}.ledgerFill{height:100%;background:var(--accent);border-radius:var(--radius-pill)}.ledgerBar.short .ledgerFill{background:var(--warn)}.ledgerCount{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-body);font-weight:600;color:var(--accent)}.ledgerCount.short{color:var(--warn)}.presence{display:flex;align-items:center;gap:var(--space-sm)}.presenceStack{display:flex}.presenceStack .avatar{border:2px solid var(--surface)}.presenceStack .avatar+.avatar{margin-left:-8px}.presenceLabel{font-size:var(--t-mini);color:var(--ink-3)}.authWrap{display:flex;align-items:center;justify-content:center;min-height:100%;padding:var(--space-xl)}.authCard{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow)}.authHead{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-2xs)}.authTitle{margin:0;font-size:var(--t-title);font-weight:600;letter-spacing:-.025em;flex-grow:1}.authLead{margin:0 0 var(--space-xl);font-size:var(--t-body);color:var(--ink-3)}.btnBlock{width:100%}.segmented{display:inline-flex;flex-shrink:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.segmented button{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 var(--space-sm);border:none;background:none;color:var(--ink-3);font-size:var(--t-micro);font-weight:600;letter-spacing:.03em;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.segmented button:first-child{border-radius:5px 0 0 5px}.segmented button:last-child{border-radius:0 5px 5px 0}.segmented button+button{border-left:1px solid var(--line)}.segmented button:hover{background:var(--surface-2);color:var(--ink)}.segmented button.active{background:var(--accent-soft);color:var(--accent)}.segmented svg{display:block}.langToggle button{min-width:34px}.themeToggle button{min-width:30px;padding:0 var(--space-xs)}.tripSwitcher{position:relative;display:inline-flex;min-width:0;max-width:220px}.tripSwitcherTrigger{display:inline-flex;align-items:center;gap:var(--space-xs);min-width:0;max-width:220px;height:30px;padding:0 var(--space-xs);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font-family:inherit;font-size:var(--t-lead);font-weight:600;letter-spacing:-.02em;line-height:1;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.tripSwitcherTrigger:hover,.tripSwitcherTrigger[aria-expanded=true]{border-color:var(--line);background:var(--surface-2)}.tripSwitcherTrigger:focus-visible{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring)}.tripSwitcherName{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tripSwitcherChevron{flex:none;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--ink-3);margin-left:2px}.tripSwitcherTrigger[aria-expanded=true] .tripSwitcherChevron{transform:rotate(180deg)}.tripSwitcherMenu{position:absolute;z-index:40;top:calc(100% + 4px);left:0;min-width:max(100%,11.5rem);max-width:min(20rem,90vw);padding:var(--space-2xs);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow)}.tripSwitcherList{display:flex;flex-direction:column;gap:1px;max-height:14rem;overflow-y:auto}.tripSwitcherItem,.tripSwitcherNew{display:flex;align-items:center;gap:var(--space-sm);width:100%;min-height:32px;padding:0 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--ink);font-family:inherit;font-size:var(--t-body);font-weight:500;text-align:left;cursor:pointer}.tripSwitcherItem:hover,.tripSwitcherItem:focus-visible{background:var(--surface-2);outline:none}.tripSwitcherItem.selected{background:var(--accent-soft);color:var(--accent);font-weight:600}.tripSwitcherItemLabel{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tripSwitcherCheck{flex:none;font-size:var(--t-mini);color:var(--accent)}.tripSwitcherSep{height:1px;margin:var(--space-2xs) var(--space-2xs);background:var(--line)}.tripSwitcherNew{color:var(--accent);font-weight:600}.tripSwitcherNew:hover,.tripSwitcherNew:focus-visible{background:var(--accent-soft);outline:none}.tripSwitcherNewMark{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.1rem;font-size:var(--t-lead);font-weight:600;line-height:1}.empty{display:flex;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-xl);text-align:center;color:var(--ink-3);font-size:var(--t-body)}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:899px){.hideOnPhone{display:none!important}.authWrap{padding:var(--space-md)}.topbar{min-height:50px;padding:0 10px;gap:var(--space-sm);row-gap:0}.brandName{display:none}.tripName{flex:1 1 auto;max-width:none;font-size:var(--t-base)}.tripSwitcher{flex:1 1 auto;max-width:none}.tripSwitcherTrigger{max-width:none;width:100%;font-size:var(--t-base)}.topbarTools{gap:var(--space-xs)}.nav{order:10;width:100%;gap:0;border-top:1px solid var(--line)}.navTabs{flex:1 1 0;min-width:0;gap:0;padding:0;border-radius:0;background:none}.nav a{flex:1 1 0;min-width:0;justify-content:center;height:40px;border-radius:0}.navTabs a.active{background:transparent;box-shadow:none;color:var(--accent);border-bottom:2px solid var(--accent)}.nav a.newTripLink{flex:0 0 auto;padding:0 var(--space-md);margin-left:0;border-left:1px solid var(--line)}.metabar{padding:var(--space-xs) 10px;gap:var(--space-xs) 10px;font-size:var(--t-micro)}.metaFacts{gap:10px}.metaFacts>*+*{padding-left:10px}.ledgerBar{width:68px}.presenceLabel{display:none}.split{flex-direction:column}.rail{flex:none;width:100%;border-right:none;border-top:1px solid var(--line);order:2}.railStack{padding:var(--space-lg) var(--space-md);gap:var(--space-xl);overflow:visible}.railBody{overflow:visible;max-height:none}.main{flex:none;width:100%;order:1;height:52vh;height:52svh;min-height:280px}.main.contentMain{height:auto;min-height:0;overflow:visible}.panelPad{padding:var(--space-lg) var(--space-md) var(--space-xl)}.main.contentMain{order:2}.railStack{order:1;border-top:none;border-bottom:1px solid var(--line)}.stopPanel{position:fixed!important;inset:auto 0 0 0!important;width:auto!important;max-height:82vh;max-height:82dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);z-index:30}.weekGrid{grid-template-columns:1fr;gap:3px}.weekGrid .dayHead{display:none}.dayCell{min-height:0;flex-direction:row;align-items:center;gap:10px;padding:10px var(--space-md)}.dayCell.out{display:none}.dayCell.travel:before{width:3px}.dayGapText{margin-top:0;margin-left:auto}.daySub{margin-left:auto}.btn{height:38px;padding:0 var(--space-lg)}.btn-icon{width:38px;padding:0}.btn-sm{height:32px;padding:0 var(--space-md)}.btn-icon.btn-sm{width:32px;padding:0}.stopRow{padding:var(--space-md) var(--space-sm)}.segmented button{height:34px}.langToggle button{min-width:38px}.themeToggle button{min-width:34px}.reorder{opacity:1}.reorder button{width:32px;height:28px;font-size:var(--t-body)}.insertHere{opacity:.7}.checkList .linkBtn,.kv .linkBtn,.dataTable .linkBtn,.cardHead .linkBtn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;font-size:var(--t-base)}.countryGrid,.listGrid{grid-template-columns:1fr}.dataTable{font-size:var(--t-mini)}.dataTable th,.dataTable td{padding:var(--space-sm) var(--space-sm)}.voteBtn{width:32px;height:28px}.dayEditBar{gap:var(--space-xs);padding:var(--space-sm)}.dayEditWho,.dayEditDates{flex:1 1 100%}.stepBtn{min-width:36px;height:32px;font-size:var(--t-base)}.stepValue{min-width:70px}.dayStop{flex-grow:1}.dayStopGrip{width:36px;min-height:36px;font-size:var(--t-lead)}.dayAdd{opacity:.7;width:32px;height:32px;margin-top:0;margin-left:auto;align-self:center}.dialogBackdrop{padding:0;align-items:flex-end}.dialog{max-width:none;max-height:92vh;max-height:92dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}@media(max-width:400px){.metabar .mono{font-size:var(--t-micro)}.themeToggle button{min-width:30px}.langToggle button{min-width:34px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.startTag{display:inline-block;margin-right:var(--space-2xs);padding:0 5px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);font-size:var(--t-nano);font-weight:600;letter-spacing:.02em;text-transform:uppercase;vertical-align:1px}.insertStart{opacity:.6}.railBody:hover .insertStart{opacity:.8}.railEmpty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);padding:var(--space-xl) var(--space-md)}.railEmptyTitle{margin:0;font-size:var(--t-lead);font-weight:600;letter-spacing:-.015em;line-height:var(--lh-tight)}.railEmpty .hintText{margin:0}.chosenStart{display:flex;align-items:baseline;gap:var(--space-sm);margin:var(--space-xs) 0 0;font-size:var(--t-body)}.dateFormatPicker{height:28px;max-width:148px;padding:0 var(--space-2xs);flex-shrink:1;min-width:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-3);font-family:inherit;font-size:var(--t-micro);font-weight:600;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.dateFormatPicker:hover{border-color:var(--line-strong);color:var(--ink)}.dateFormatPicker:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.dateFormatPicker option{background:var(--surface);color:var(--ink)}@media(max-width:860px){.dateFormatPicker{height:34px;max-width:124px}}@media(max-width:400px){.dateFormatPicker{max-width:96px}}.routeAlts{top:var(--space-lg);left:var(--space-lg);width:336px;max-width:calc(100% - 2 * var(--space-lg));max-height:calc(100% - 2 * var(--space-lg));display:flex;flex-direction:column;padding:0;background:var(--surface-raised)}.routeAlts .dialogHead{padding:var(--space-md)}.routeAlts .dialogBody{min-height:0;padding:var(--space-md) var(--space-md) var(--space-lg)}.routeAltsHint{margin:0 0 var(--space-md)}.routeAltsList{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-sm)}.routeCard{display:block;width:100%;text-align:left;padding:10px var(--space-md);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.routeCard:disabled{cursor:default}.routeCard.is-chosen{border-color:var(--accent);background:var(--accent-soft)}.routeCard.is-active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.routeCardTop{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-3xs)}.routeCardName{font-size:var(--t-body)}.routeCardFacts{display:block;font-size:var(--t-mini);color:var(--ink-2)}.routeCardFlags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-xs)}.routeCardDiff{display:block;margin-top:var(--space-xs);font-size:var(--t-mini);font-weight:600;color:var(--accent)}.routeCardNote{display:block;margin-top:var(--space-xs);font-size:var(--t-mini);color:var(--ink-3)}@media(max-width:899px){.routeAlts{position:fixed;inset:auto 0 0 0;width:auto;max-width:none;max-height:46vh;max-height:46dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:30}}.amount{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-3xs)}.amountSep,.amountSource{font-size:var(--t-micro);font-weight:400;letter-spacing:0;color:var(--ink-3)}.num .amount{justify-content:flex-end}.statValue .amountSource,.statValue .amountSep{font-size:var(--t-base)}.fuelHeading{margin:var(--space-sm) 0 var(--space-2xs);font-size:var(--t-micro);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.fuelTable{margin:0}.fuelOctane{margin-left:var(--space-xs);font-size:var(--t-micro);font-weight:500;color:var(--ink-3);font-variant-numeric:tabular-nums}.fuelDerived{display:inline-block;margin-left:var(--space-xs);padding:0 5px;border-radius:var(--radius-sm);background:var(--warn-soft);border:1px solid var(--warn-line);font-family:var(--sans);font-size:var(--t-micro);font-weight:600;color:var(--ink-2);letter-spacing:.01em;cursor:help;vertical-align:1px}.countryNote{margin:var(--space-xs) 0 0;font-size:var(--t-micro);line-height:var(--lh-body);color:var(--ink-2)}.railNote{margin:var(--space-xs) var(--space-md) 0 19px;font-size:var(--t-micro);line-height:var(--lh-body);color:var(--ink-3)}.legFuel{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin:0 var(--space-sm) var(--space-2xs) 19px;padding:var(--space-2xs) 0}.legFuelSelect{flex:0 1 auto;max-width:100%;padding:2px var(--space-xs);min-height:28px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-family:var(--sans);font-size:var(--t-micro)}.legFuelSelect:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.legFuelSelect:disabled{opacity:.55;cursor:progress}.legFuelPrice{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-micro);color:var(--ink-2)}.legFuelGrade{font-size:var(--t-micro);color:var(--ink-3)}.legFuel-inherited .legFuelPrice,.legFuel-inherited .legFuelGrade{color:var(--ink-3);font-style:italic}.legFuel-inherited .legFuelSelect{border-style:dashed;color:var(--ink-2)}.legFuelTag{padding:0 5px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line-soft);font-size:var(--t-micro);color:var(--ink-3);letter-spacing:.01em}.legFuelStale{flex:1 1 100%;margin-top:var(--space-2xs)}@media(max-width:899px){.legFuelSelect{flex:1 1 100%;min-height:32px}}.settingsGroup{padding:var(--space-md);border:1px solid var(--line);border-radius:var(--radius)}.settingsGroup+.settingsGroup{margin-top:var(--space-lg)}.settingsGroup-shared{background:var(--surface)}.settingsGroup-personal{background:var(--surface-2)}.settingsGroupTitle{margin:0;font-size:var(--t-base);font-weight:600;color:var(--ink)}.settingsGroupNote{margin:var(--space-2xs) 0 var(--space-md);font-size:var(--t-mini);line-height:var(--lh-body);color:var(--ink-2)}.prefRow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);min-height:36px}.prefRow+.prefRow{margin-top:var(--space-sm)}.prefLabel{font-size:var(--t-mini);font-weight:500;color:var(--ink-2)}.settingsGroup .dateFormatPicker{height:32px;max-width:220px;padding:0 var(--space-xs)}.settingsBtn{color:var(--ink-2)}.settingsBtn:hover{color:var(--ink)}.dateEcho{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-micro);color:var(--ink-3)}@media(max-width:899px){.settingsBtn{width:32px;padding:0}.prefRow{flex-wrap:wrap;justify-content:flex-start;gap:var(--space-xs)}.prefRow>:not(.prefLabel){flex:1 1 100%}.settingsGroup .dateFormatPicker{height:36px;max-width:none;width:100%}}.displayCurrencyField{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2xs);min-width:0}.displayCurrencyField .hintText{margin:0;text-align:right}.displayCurrencyPicker{height:28px;max-width:148px;padding:0 var(--space-2xs);flex-shrink:1;min-width:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-3);font-family:inherit;font-size:var(--t-micro);font-weight:600;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.displayCurrencyPicker:hover{border-color:var(--line-strong);color:var(--ink)}.displayCurrencyPicker:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.displayCurrencyPicker option{background:var(--surface);color:var(--ink)}@media(max-width:860px){.displayCurrencyPicker{height:34px;max-width:124px}}@media(max-width:400px){.displayCurrencyPicker{max-width:108px}}.settingsGroup .displayCurrencyPicker{height:32px;max-width:220px;padding:0 var(--space-xs)}@media(max-width:560px){.displayCurrencyField{align-items:stretch}.displayCurrencyField .hintText{text-align:left}.settingsGroup .displayCurrencyPicker{height:36px;max-width:none;width:100%}}.conflictChip{border:none;cursor:pointer;font-family:inherit;min-height:24px}.conflictChipClear{color:var(--ink-3)}.conflictList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.conflictRow{display:grid;gap:2px;width:100%;padding:var(--space-sm) var(--space-md);text-align:left;font-family:inherit;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius-sm)}button.conflictRow{cursor:pointer}button.conflictRow:hover{background:var(--surface-2);border-color:var(--line-strong)}.conflictItem.sev-blocking .conflictRow,.conflictItem.sev-warning .conflictRow{border-left-color:var(--warn)}.conflictRowFlat{background:var(--surface-2)}.conflictTag{font-size:var(--t-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.conflictItem.sev-blocking .conflictTag,.conflictItem.sev-warning .conflictTag{color:var(--warn)}.conflictTitle{font-size:var(--t-body);font-weight:600;color:var(--ink)}.conflictDetail{font-size:var(--t-mini);line-height:var(--lh-body);color:var(--ink-3)}.conflictGo{font-size:var(--t-micro);font-weight:600;color:var(--accent)}.conflictRowFlat .conflictGo{font-weight:500;color:var(--ink-3)}@media(max-width:480px){.conflictDialog{max-width:none;max-height:92vh}.conflictRow{padding:10px var(--space-md)}.conflictChip{min-height:30px;padding:0 var(--space-md)}}@media(min-width:900px){.split{flex-wrap:nowrap}.rail,.main{height:100%}}.derivedNights{margin:calc(-1 * var(--space-2xs)) 0 var(--space-md);font-size:var(--t-mini);color:var(--ink-3)}.derivedDeparture{margin:0 0 var(--space-md);padding-left:var(--space-sm);border-left:2px solid var(--accent-line);font-size:var(--t-mini);line-height:var(--lh-body);color:var(--ink-2)}.derivedDeparture strong{display:block;color:var(--ink);font-weight:600}.ledgerDerived{color:var(--ink-3);font-weight:500;margin-left:1px;vertical-align:1px;cursor:help}.dateField{position:relative;display:flex;align-items:stretch;gap:var(--space-2xs)}.dateFieldInput{flex:1 1 auto;min-width:0;padding-right:36px}.dateFieldBtn{position:absolute;right:1px;top:1px;bottom:1px;width:34px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:transparent;color:var(--ink-2);cursor:pointer}.dateFieldBtn:hover:not(:disabled){color:var(--accent)}.dateFieldBtn:disabled{opacity:.4;cursor:not-allowed}.dateFieldBtn:focus-visible{outline:none;color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);border-radius:var(--radius-sm)}.dateFieldPop{position:absolute;z-index:40;top:calc(100% + 4px);left:0;width:280px;max-width:calc(100vw - 2 * var(--space-lg));padding:var(--space-sm);background:var(--surface-raised);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.dateFieldPopHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs)}.dateFieldMonth{font-size:var(--t-mini);font-weight:600;text-align:center;flex:1 1 auto}.dateFieldNav{width:30px;height:30px;flex:0 0 auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);cursor:pointer;font-size:var(--t-base);line-height:1}.dateFieldNav:hover{border-color:var(--line-strong)}.dateFieldNav:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.dateFieldWeekdays,.dateFieldGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dateFieldWeekday{text-align:center;font-size:var(--t-micro);color:var(--ink-3);padding:var(--space-3xs) 0}.dateFieldDay{aspect-ratio:1 / 1;min-height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink);cursor:pointer;font-size:var(--t-mini);font-variant-numeric:tabular-nums}.dateFieldDay:hover:not(:disabled){background:var(--surface-2);border-color:var(--line)}.dateFieldDay.muted{color:var(--ink-3)}.dateFieldDay.selected{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.dateFieldDay:disabled{opacity:.3;cursor:not-allowed}.dateFieldDay:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.stayStepRow{gap:var(--space-2xs)}.stayStepLabel{font-size:var(--t-mini);font-weight:500;color:var(--ink-2)}.stayStep{display:flex;align-items:center;gap:var(--space-xs)}.lodgingPinNote{margin:var(--space-sm) 0 0}.stopPanelAddr.lodgingTag{color:var(--ink-2);font-size:var(--t-mini)}.dayCell.tinted.travel,.dayCell.tinted.stay{background:color-mix(in srgb,var(--day-color) 22%,var(--surface));border-color:color-mix(in srgb,var(--day-color) 32%,var(--line))}.dayCell.tinted.travel:before{background:var(--day-color)}.dayStop.selected{outline-color:var(--day-color, var(--accent-line))}.colorSwatch{width:18px;height:18px;padding:0;border:1px solid var(--line);border-radius:4px;cursor:pointer}.colorSwatch.selected,.colorSwatch[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:1px}.colorSwatch:hover{transform:scale(1.08)}.bookingWhen{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.bookingWhenDate{font-size:var(--t-body);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.bookingWhen .field{flex:1 1 7rem;min-width:6.5rem}.bookingNotes{resize:vertical;min-height:4.5rem}.bookingHeadActions{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:flex-end}.lodgingBadge{display:inline-block;margin-left:var(--space-xs);padding:0 5px;border-radius:var(--radius-sm);font-size:var(--t-nano);font-weight:600;letter-spacing:.02em;text-transform:uppercase;vertical-align:1px;white-space:nowrap}.lodgingBadge-booked{background:var(--accent-soft);color:var(--accent)}.lodgingBadge-chosen{background:var(--line-soft);color:var(--ink-2);border:1px solid var(--line)}.lodgingBadge-none{background:transparent;color:var(--warn);border:none;padding-left:0;padding-right:0}.stopRow.needsLodging{background:var(--warn-soft);border-color:var(--warn-line)}.stopPanelLodging{margin:var(--space-2xs) 0 0}.stopPanelLodging .lodgingBadge{margin-left:0}.dayLabel .lodgingPip{display:inline-block;width:6px;height:6px;margin-left:5px;border-radius:50%;vertical-align:1px}.lodgingPip-booked{background:var(--accent)}.lodgingPip-chosen{background:var(--ink-3)}.lodgingPip-none{background:var(--warn)}.intentPanel{top:var(--space-lg);left:var(--space-lg);width:400px;max-width:calc(100% - 2 * var(--space-lg));max-height:calc(100% - 2 * var(--space-lg));overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md);background:var(--surface-raised)}.intentPanel--gallery{width:min(720px,calc(100% - 2 * var(--space-lg)))}.intentPanelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.intentPanelTitle{margin:0;font-size:var(--t-lead)}.intentPanelSub{margin:3px 0 0;color:var(--ink-3);font-size:var(--t-small)}.intentForm,.intentActive{display:flex;flex-direction:column;gap:var(--space-md)}.intentKinds{border:0;margin:0;padding:0;display:grid;gap:var(--space-sm)}.intentKindOption{display:grid;grid-template-columns:auto 1fr;gap:var(--space-sm);align-items:start;padding:var(--space-sm);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer}.intentKindOption strong{display:block}.intentKindOption .hintText{display:block;margin-top:2px}.intentExisting{display:grid;gap:var(--space-sm)}.intentExistingRow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);font-size:var(--t-small)}.intentActions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.intentCandidates{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-md);grid-template-columns:1fr}.intentPanel--gallery .intentCandidates{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.intentCandidate{padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;display:flex;flex-direction:column}.intentCandidateMedia{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;background:var(--ground)}.intentCandidateBody{padding:var(--space-sm) var(--space-md) var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs);flex:1}.intentCandidateHead{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-xs)}.intentCandidate .suggestionWhy{margin:0;flex:1}.intentDetour{font-size:11px;color:var(--ink-3)}.intentRefine{display:grid;gap:var(--space-sm);padding:var(--space-sm);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.intentCandidate--active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.intentCandidatesSentinel{grid-column:1 / -1;min-height:1px;list-style:none;text-align:center;color:var(--ink-3);font-size:var(--t-small);padding:var(--space-sm) 0}.intentCarousel{position:relative;background:var(--ground)}.intentCarouselBtn{position:absolute;top:50%;transform:translateY(-50%);width:2.25rem;height:2.25rem;border:0;border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink);font-size:1.35rem;line-height:1;cursor:pointer;z-index:2;touch-action:manipulation}.intentCarouselBtn--prev{left:var(--space-xs)}.intentCarouselBtn--next{right:var(--space-xs)}.intentCarouselCount{position:absolute;right:var(--space-xs);bottom:var(--space-xs);padding:2px 6px;border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 88%,transparent);font-size:11px;color:var(--ink-3)}.intentCandidateHit{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.intentCandidateActions{padding:0 var(--space-md) var(--space-md)}.intentDetailScrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:var(--space-lg);background:color-mix(in srgb,var(--ink) 45%,transparent)}.intentDetail{width:min(560px,100%);max-height:min(88vh,880px);overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.intentDetailHead{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.intentDetailMeta{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.intentDetailBody{margin:0;line-height:1.45}.intentDetail .intentCarousel{border-radius:var(--radius);overflow:hidden}@media(max-width:899px){.intentPanel,.intentPanel--gallery{position:fixed;inset:auto 0 0 0;width:auto;max-width:none;max-height:88vh;max-height:88dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:30}.intentPanel--gallery .intentCandidates{grid-template-columns:1fr}}.intentSourceChip--llm{background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--ink)}.intentLlmStatus{margin:0;padding:0 var(--space-md)}.lodgingBadge{text-transform:none;letter-spacing:0;font-weight:500;font-size:var(--t-micro);padding:1px 5px}.stopRow.needsLodging{background:transparent;border-color:var(--line);box-shadow:inset 3px 0 0 var(--warn)}.colorSwatch:hover{transform:none;border-color:var(--line-strong)}.intentKindOption{padding:var(--space-2xs) 0;border:none;border-radius:0;background:transparent;align-items:center}.intentKindOption+.intentKindOption{border-top:1px solid var(--line-soft);padding-top:var(--space-sm)}.intentRefine{padding:0;border:none;border-radius:0;background:transparent}.intentCarouselBtn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-raised);width:2rem;height:2rem;font-size:var(--t-lead)}.intentCarouselCount{border-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid var(--line);color:var(--ink-2)}.intentSourceChip--llm{background:var(--line-soft);color:var(--ink-2)}.compareFork .formRow{margin-bottom:var(--space-sm)}:root{--route-suggest: #3b5bdb;--route-suggest-muted: #8494c9}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--route-suggest: #8aa0ff;--route-suggest-muted: #6b7ab8}}:root[data-theme=dark]{--route-suggest: #8aa0ff;--route-suggest-muted: #6b7ab8}.routeAltsAlong{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--line);display:grid;gap:var(--space-sm)}.routeAltsAlong .hintText{margin:0}.routeAltsAlong .btn{justify-self:start}.metaQuiet,.countryToll{font-size:var(--t-micro);font-weight:500;color:var(--ink-3)}.lodgingBadge{padding:0;border-radius:0;background:transparent}.lodgingBadge-booked{background:transparent;color:var(--accent)}.lodgingBadge-chosen{background:transparent;border:none;color:var(--ink-3)}.lodgingBadge-none{background:transparent;border:none;color:var(--warn)}.timelineConflicts{display:flex;flex-direction:column}.timelineConflict{padding:var(--space-sm) 0 var(--space-sm) var(--space-md);box-shadow:inset 3px 0 0 var(--warn);font-size:var(--t-mini);line-height:var(--lh-body)}.timelineConflict+.timelineConflict{border-top:1px solid var(--line-soft)}.timelineConflictTitle{display:block;margin-bottom:2px;font-weight:600;color:var(--ink)}.timelineConflictDetail{color:var(--ink-3)}.expenseForm{margin-bottom:var(--space-md)}.settingsGroup{border:none;border-radius:0;padding:0}.settingsGroup-shared{background:transparent}.settingsGroup-personal{background:var(--surface-2);padding:var(--space-md);border-radius:var(--radius)}.authCard{box-shadow:none}.uiCanvas{max-width:1040px;margin:0 auto;padding:var(--space-xl) var(--space-lg) var(--space-2xl);display:flex;flex-direction:column;gap:var(--space-xl)}.uiCanvas:has(.uiCanvasRailGallery){max-width:none}.uiCanvasIntro{display:flex;flex-direction:column;gap:var(--space-sm)}.uiCanvasKicker{margin:0;font-size:var(--t-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.uiCanvasTitle{margin:0;font-size:var(--t-title);font-weight:700;letter-spacing:-.02em}.uiCanvasLead{margin:0;color:var(--ink-2);font-size:var(--t-body)}.uiCanvasNav{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}.uiCanvasNav a{font-size:var(--t-mini);font-weight:600;color:var(--ink-2);text-decoration:none;padding:6px 12px;border-radius:var(--radius-sm);background:var(--surface-2)}.uiCanvasNav a:hover{color:var(--ink);background:var(--accent-soft)}.uiCanvasNav a.active{color:var(--accent-ink);background:var(--accent)}.uiCanvasSection{display:flex;flex-direction:column;gap:var(--space-lg)}.uiCanvasSectionHead{display:flex;flex-direction:column;gap:4px}.uiCanvasSectionTitle{margin:0;font-size:var(--t-lead);font-weight:700;letter-spacing:-.02em}.uiCanvasSectionBlurb{margin:0;color:var(--ink-2);font-size:var(--t-mini);max-width:62ch}.uiCanvasGroupTitle{margin:var(--space-md) 0 0;font-size:var(--t-mini);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.uiCanvasGrid{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.uiCanvasSpecimen{margin:0;flex:1 1 220px;min-width:200px;display:flex;flex-direction:column;gap:var(--space-sm)}.uiCanvasSpecimen:has(.uiCanvasFrame),.uiCanvasSpecimen:has(.uiCanvasCardStack),.uiCanvasSpecimen:has(.banner),.uiCanvasSpecimen:has(.legRow){flex:1 1 100%}.uiCanvasLabel{font-size:var(--t-mini);font-weight:600;color:var(--ink-2)}.uiCanvasBody{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.uiCanvasFrame{width:100%;border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm)}.uiCanvasFrame .topbar,.uiCanvasFrame .metabar{position:static}.uiCanvasCardStack{width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--space-xs)}.uiCanvasRow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.uiCanvasBody .weekGrid{min-width:0}.uiCanvasBody .dayCell{min-height:88px}.uiCanvasSpecimen:has(.weekGrid),.uiCanvasSpecimen:has(.dayEditBar),.uiCanvasSpecimen:has(.dataTable),.uiCanvasSpecimen:has(.stopPanel),.uiCanvasSpecimen:has(.countryGrid),.uiCanvasSpecimen:has(.listGrid),.uiCanvasSpecimen:has(.compareFork),.uiCanvasSpecimen:has(.expenseForm){flex:1 1 100%}.uiCanvasJump{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}.uiCanvasJump a{font-size:var(--t-mini);font-weight:600;color:var(--accent);text-decoration:none;padding:4px 10px;border-radius:var(--radius-sm);background:var(--surface-2)}.uiCanvasJump a:hover{background:var(--accent-soft)}.uiCanvasStripeVer{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);scroll-margin-top:24px}.uiCanvasStripeVer+.uiCanvasStripeVer{margin-top:var(--space-md)}.stripeTag{display:inline-block;font-size:var(--t-nano);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-right:var(--space-sm);vertical-align:middle}.stripePip{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--warn);align-self:center}.stripeSampleStop{display:flex;align-items:stretch;gap:var(--space-sm);width:100%}.stripeSampleStop .stopRow{flex:1;min-width:0}.uiCanvasStripe-v1 .banner-warn{border-left:3px solid var(--warn)}.uiCanvasStripe-v1 .stopRow.needsLodging,.uiCanvasStripe-v1 .timelineConflict{box-shadow:inset 3px 0 0 var(--warn)}.uiCanvasStripe-v1 .routeCard.is-active{box-shadow:inset 3px 0 0 var(--accent)}.uiCanvasStripe-v2 .banner-warn{border:none;border-left:none;background:var(--warn-soft);box-shadow:none}.uiCanvasStripe-v2 .stopRow.needsLodging{background:var(--warn-soft)!important;border-color:transparent!important;box-shadow:none!important}.uiCanvasStripe-v2 .timelineConflict{box-shadow:none;background:var(--warn-soft);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm)}.uiCanvasStripe-v2 .conflictItem.sev-blocking .conflictRow,.uiCanvasStripe-v2 .conflictItem.sev-warning .conflictRow{border-left-width:1px;border-left-color:var(--warn-line);background:var(--warn-soft);box-shadow:none}.uiCanvasStripe-v3 .banner-warn{border:1px solid var(--warn-line);border-left:1px solid var(--warn-line);border-top:3px solid var(--warn);box-shadow:none}.uiCanvasStripe-v3 .timelineConflict{box-shadow:inset 0 3px 0 var(--warn);padding-top:calc(var(--space-sm) + 2px)}.uiCanvasStripe-v3 .conflictItem.sev-blocking .conflictRow,.uiCanvasStripe-v3 .conflictItem.sev-warning .conflictRow{border-left-color:var(--line);border-left-width:1px;border-top:3px solid var(--warn);border-radius:var(--radius-sm)}.uiCanvasStripe-v3 .routeCard.is-active{box-shadow:inset 0 3px 0 var(--accent)}.uiCanvasStripe-v4 .banner-warn{border:none;border-left:none;background:var(--warn-soft);display:flex;align-items:flex-start;gap:var(--space-sm);box-shadow:none}.uiCanvasStripe-v4 .stopRow.needsLodging{box-shadow:none!important;background:var(--surface)!important;border-color:transparent!important}.uiCanvasStripe-v4 .timelineConflict{box-shadow:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding-left:0}.uiCanvasStripe-v4 .timelineConflict .stripePip{align-self:center}.uiCanvasStripe-v4 .conflictRow.stripeSample{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:var(--space-sm);border-left-width:1px;border-left-color:var(--line);background:var(--surface)}.uiCanvasStripe-v4 .conflictRow.stripeSample .stripePip{grid-row:1 / span 3;align-self:center}.uiCanvasStripe-v4 .conflictItem.sev-blocking .conflictRow{border-left-color:var(--line);background:var(--surface)}.uiCanvasStripe-v4 .routeCard.is-active{box-shadow:none;border-color:var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.uiCanvasStripe-v4 .routeCard.is-active .stripePip{background:var(--accent)}.uiCanvasStripe-v5 .banner-warn{border:none;border-left:none;background:var(--warn-soft);box-shadow:none}.uiCanvasStripe-v5 .banner-warn .stripeTag{color:var(--warn)}.uiCanvasStripe-v5 .stopRow.needsLodging{box-shadow:none!important;background:var(--surface)!important;border-color:transparent!important}.uiCanvasStripe-v5 .stripeSampleStop{flex-direction:column;gap:4px}.uiCanvasStripe-v5 .stripeSampleStop .stripeTag{color:var(--warn)}.uiCanvasStripe-v5 .timelineConflict{box-shadow:none;padding-left:0}.uiCanvasStripe-v5 .timelineConflict .stripeTag{color:var(--warn);display:block;margin:0 0 2px}.uiCanvasStripe-v5 .conflictTag{color:var(--warn)}.uiCanvasStripe-v5 .routeCard.is-active .stripeTag{color:var(--accent)}:root{--serif: "Source Serif 4", "Iowan Old Style", Palatino, Georgia, serif;--radius-sm: 8px;--radius: 10px;--radius-lg: 14px;--shadow-sm: inset 0 1px 2px rgba(44, 51, 58, .06);--shadow: inset 0 1px 3px rgba(44, 51, 58, .05);--shadow-lg: 0 18px 40px rgba(44, 51, 58, .12)}:root,:root[data-theme=light]{--ground: #f0ebe4;--surface: #f7f5f2;--surface-2: #efebe6;--surface-raised: #f7f5f2;--field-bg: #efebe6;--line: #e4ddd4;--line-soft: #efebe6;--line-strong: #d5dde5;--field-line: transparent;--ink: #2c333a;--ink-2: #5f6b76;--ink-3: #8b96a1;--accent: #6b7f73;--accent-dark: #55685d;--accent-soft: #e4ebe6;--accent-line: #c5d2c9;--accent-ink: #ffffff;--warn: #a8431b;--warn-soft: #fdf6f2;--warn-line: #efd9cb;--warn-fill: #f4e2d7;--warn-ink: #ffffff;--stay: #e8efea;--route-line: #6b7f73;--route-approx: #8b96a1;--map-empty: #e4ddd4;--marker: #2c333a;--marker-ring: #f7f5f2;--focus: #6b7f73;--focus-ring: rgba(107, 127, 115, .22);--drop-hover: rgba(107, 127, 115, .14);--scrim: rgba(44, 51, 58, .4)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: #16181c;--surface: #1c1f24;--surface-2: #242830;--surface-raised: #1c1f24;--field-bg: #242830;--line: #2f343d;--line-soft: #242830;--line-strong: #3d4450;--field-line: transparent;--ink: #e8e6e1;--ink-2: #a8afb8;--ink-3: #7a828c;--accent: #8fa899;--accent-dark: #a8c0b0;--accent-soft: #24302a;--accent-line: #3a4a40;--accent-ink: #0e1411;--route-line: #8fa899;--focus: #8fa899;--focus-ring: rgba(143, 168, 153, .28);--shadow-sm: inset 0 1px 2px rgba(0, 0, 0, .35);--shadow: inset 0 1px 3px rgba(0, 0, 0, .3);--shadow-lg: 0 18px 40px rgba(0, 0, 0, .55)}}:root[data-theme=dark]{--ground: #16181c;--surface: #1c1f24;--surface-2: #242830;--surface-raised: #1c1f24;--field-bg: #242830;--line: #2f343d;--line-soft: #242830;--line-strong: #3d4450;--field-line: transparent;--ink: #e8e6e1;--ink-2: #a8afb8;--ink-3: #7a828c;--accent: #8fa899;--accent-dark: #a8c0b0;--accent-soft: #24302a;--accent-line: #3a4a40;--accent-ink: #0e1411;--route-line: #8fa899;--focus: #8fa899;--focus-ring: rgba(143, 168, 153, .28);--shadow-sm: inset 0 1px 2px rgba(0, 0, 0, .35);--shadow: inset 0 1px 3px rgba(0, 0, 0, .3);--shadow-lg: 0 18px 40px rgba(0, 0, 0, .55)}.topbar,.metabar{background:var(--ground);border-bottom-color:transparent;box-shadow:none}.nav{background:transparent;padding:0;border-radius:0}.nav a{border-radius:0;padding:4px 2px;margin-right:var(--space-sm)}.nav a.active{background:transparent;color:var(--ink);box-shadow:inset 0 -1px 0 var(--accent)}.brandName{font-family:var(--serif);font-weight:600;letter-spacing:-.01em}.btn{border-color:transparent;background:var(--surface-2);box-shadow:var(--shadow-sm)}.btn:hover{background:var(--line-soft);border-color:transparent}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;box-shadow:none}.btn-primary:hover,.btn-primary:active{background:var(--accent-dark);color:var(--accent-ink);border-color:transparent}.btn-primary:disabled,.btn-primary:disabled:hover{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn-ghost,.btn-icon{background:transparent;box-shadow:none;border-color:transparent}.btn-ghost:hover,.btn-icon:hover{background:var(--surface-2);border-color:transparent}input.field,select.field,textarea.noteEditor{border-color:transparent;background:var(--field-bg);box-shadow:inset 0 1px 3px #2c333a14}input.field:hover,select.field:hover{border-color:transparent}input.field:focus,select.field:focus,textarea.noteEditor:focus{border-color:transparent;box-shadow:inset 0 1px 3px #2c333a14,0 0 0 3px var(--focus-ring)}.formRow label{font-size:var(--t-micro);letter-spacing:.04em;text-transform:uppercase;font-weight:500}.legFuelSelect{border-color:transparent;background:var(--field-bg);box-shadow:inset 0 1px 2px #2c333a14}.legFuel-inherited .legFuelSelect{border-style:solid;border-color:transparent}.stopRow{border-color:transparent;background:var(--surface-2);box-shadow:var(--shadow-sm)}.stopRow:hover{background:var(--line-soft)}.stopRow.selected{background:var(--accent-soft);border-color:transparent}.stopRow.conflict{background:var(--warn-soft);border-color:transparent}.stopRow.needsLodging{background:var(--surface);border-color:transparent;box-shadow:inset 3px 0 0 var(--warn)}.stopName{font-family:var(--serif);font-weight:600;font-size:var(--t-base)}.seqDot{border:none;background:var(--accent-soft);color:var(--accent-dark)}.seqDot.accent{background:var(--accent);color:var(--accent-ink)}.seqDot.warn{background:var(--warn);color:var(--warn-ink)}.panel,.sidePanel,.drawer,.authCard,.card{border-color:transparent;box-shadow:var(--shadow-sm);background:var(--surface)}.banner-warn{border:none;border-left:none;background:var(--warn-soft);box-shadow:none;display:flex;align-items:flex-start;gap:var(--space-sm)}.banner-warn:before{content:"";width:8px;height:8px;margin-top:.45em;border-radius:50%;background:var(--warn);flex-shrink:0}.stopRow.needsLodging{background:transparent!important;border-color:transparent!important;box-shadow:none!important}.timelineConflict{box-shadow:none;background:var(--warn-soft);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:2px}.timelineConflict .conflictTag{color:var(--warn);margin-bottom:2px}.timelineConflicts{display:flex;flex-direction:column;gap:var(--space-xs)}.timelineConflict+.timelineConflict{border-top:none}.conflictItem.sev-blocking .conflictRow,.conflictItem.sev-warning .conflictRow{border-left-width:1px;border-left-color:var(--warn-line);background:var(--warn-soft);box-shadow:none}.conflictItem.sev-blocking .conflictRow{background:var(--warn-soft)}.routeCard.is-active{border-color:transparent;background:var(--accent-soft);box-shadow:none}.uiCanvasStripe-v1 .banner-warn{border:1px solid var(--warn-line);border-left:3px solid var(--warn);background:var(--warn-soft);display:block;box-shadow:none}.uiCanvasStripe-v1 .banner-warn:before{content:none}.uiCanvasStripe-v1 .stopRow.needsLodging{background:transparent!important;border-color:var(--line)!important;box-shadow:inset 3px 0 0 var(--warn)!important}.uiCanvasStripe-v1 .timelineConflict{background:transparent;box-shadow:inset 3px 0 0 var(--warn);padding:var(--space-sm) 0 var(--space-sm) var(--space-md);border-radius:0;display:block}.uiCanvasStripe-v1 .conflictItem.sev-blocking .conflictRow,.uiCanvasStripe-v1 .conflictItem.sev-warning .conflictRow{border-left:3px solid var(--warn)}.uiCanvasStripe-v1 .routeCard.is-active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:var(--surface)}.uiCanvasStripe-v2 .banner-warn{border:none;display:block;background:var(--warn-soft)}.uiCanvasStripe-v2 .banner-warn:before{content:none}.uiCanvasStripe-v2 .stopRow.needsLodging{background:var(--warn-soft)!important;box-shadow:none!important;border-color:transparent!important}.uiCanvasStripe-v2 .timelineConflict{box-shadow:none;background:var(--warn-soft);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);display:block}.uiCanvasStripe-v2 .conflictItem.sev-blocking .conflictRow,.uiCanvasStripe-v2 .conflictItem.sev-warning .conflictRow{border-left-width:1px;border-left-color:var(--warn-line);background:var(--warn-soft)}.uiCanvasStripe-v2 .routeCard.is-active{box-shadow:none;background:var(--accent-soft);border-color:transparent}.uiCanvasStripe-v3 .banner-warn{display:block;border:1px solid var(--warn-line);border-top:3px solid var(--warn);border-left:1px solid var(--warn-line)}.uiCanvasStripe-v3 .banner-warn:before{content:none}.uiCanvasStripe-v3 .stopRow.needsLodging{box-shadow:inset 0 3px 0 var(--warn)!important;background:var(--surface)!important}.uiCanvasStripe-v3 .timelineConflict{background:transparent;box-shadow:inset 0 3px 0 var(--warn);padding-top:calc(var(--space-sm) + 2px);display:block;border-radius:0}.uiCanvasStripe-v3 .conflictItem.sev-blocking .conflictRow,.uiCanvasStripe-v3 .conflictItem.sev-warning .conflictRow{border-left-width:1px;border-left-color:var(--line);border-top:3px solid var(--warn);background:var(--surface)}.uiCanvasStripe-v3 .routeCard.is-active{box-shadow:inset 0 3px 0 var(--accent);background:var(--surface);border-color:var(--line)}.uiCanvasStripe-v4 .banner-warn{border:none;background:var(--warn-soft);display:flex;gap:var(--space-sm)}.uiCanvasStripe-v4 .banner-warn:before{content:"";width:8px;height:8px;margin-top:.45em;border-radius:50%;background:var(--warn);flex-shrink:0}.uiCanvasStripe-v4 .stopRow.needsLodging{box-shadow:none!important;background:var(--surface)!important}.uiCanvasStripe-v4 .timelineConflict{background:transparent;box-shadow:none;display:flex;flex-wrap:wrap;gap:6px 10px;padding:var(--space-sm) 0;border-radius:0}.uiCanvasStripe-v4 .conflictItem.sev-blocking .conflictRow{border-left-color:var(--line);border-left-width:1px;background:var(--surface)}.uiCanvasStripe-v4 .routeCard.is-active{box-shadow:none;border-color:var(--line);background:var(--surface)}.uiCanvasStripe-v5 .banner-warn{display:block;border:none;background:var(--warn-soft)}.uiCanvasStripe-v5 .banner-warn:before{content:none}.uiCanvasStripe-v5 .stopRow.needsLodging{box-shadow:none!important;background:var(--surface)!important}.uiCanvasStripe-v5 .timelineConflict{background:transparent;box-shadow:none;padding:var(--space-sm) 0;border-radius:0;display:block}.uiCanvasStripe-v5 .conflictItem.sev-blocking .conflictRow,.uiCanvasStripe-v5 .conflictItem.sev-warning .conflictRow{border-left-width:1px;border-left-color:var(--line);background:var(--surface)}.uiCanvasStripe-v5 .routeCard.is-active{box-shadow:none;border-color:var(--accent-line);background:var(--accent-soft)}.uiCanvasStripe-chosen{outline:2px solid var(--accent);outline-offset:2px}.uiCanvasRailGallery{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--space-lg);align-items:stretch;overflow-x:auto;padding-bottom:var(--space-md);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.uiCanvasRailVer{--rail-specimen: 360px;--rail-scroll-lane: 16px;display:flex;flex-direction:column;gap:var(--space-sm);flex:0 0 calc(var(--rail-specimen) + var(--rail-scroll-lane));width:calc(var(--rail-specimen) + var(--rail-scroll-lane));min-width:calc(var(--rail-specimen) + var(--rail-scroll-lane));max-width:calc(var(--rail-specimen) + var(--rail-scroll-lane));scroll-snap-align:start;overflow:visible}.uiCanvasRailStage{width:var(--rail-specimen);flex:1;border:1px solid var(--line);border-radius:var(--radius);overflow:visible;background:var(--surface);box-shadow:var(--shadow-sm)}.uiCanvasRail.rail{border-right:none;width:calc(var(--rail-specimen) + var(--rail-scroll-lane));min-height:560px;max-height:min(72vh,820px);border-radius:var(--radius);overflow:visible}.uiCanvasRail .railHead{width:var(--rail-specimen);box-sizing:border-box;border-radius:var(--radius) var(--radius) 0 0}.uiCanvasRail .railBody{width:calc(var(--rail-specimen) + var(--rail-scroll-lane));box-sizing:border-box;overflow-y:scroll;scrollbar-width:thin;scrollbar-gutter:stable;border-radius:0 0 0 var(--radius);background:var(--surface)}.uiCanvasRail .insertHere,.uiCanvasRail .insertStart{opacity:1;border-color:var(--line-soft)}.uiCanvasRail-atlas .railBody{position:relative;padding-left:var(--space-sm)}.uiCanvasRail-atlas .railSpineTrack{position:absolute;left:18px;top:44px;bottom:20px;width:3px;border-radius:2px;background:linear-gradient(to bottom,var(--ink) 0%,var(--ink-2) 45%,var(--line-strong) 100%);opacity:.5;pointer-events:none}.uiCanvasRail-atlas .atlasUnit{position:relative;z-index:1;margin-bottom:2px}.uiCanvasRail-atlas .atlasNode{display:flex;align-items:center;gap:var(--space-2xs)}.uiCanvasRail-atlas .atlasDot{flex-shrink:0;width:24px;height:24px;margin-left:4px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:var(--surface);font-family:var(--mono);font-size:10px;font-weight:700;box-shadow:0 0 0 3px var(--surface)}.uiCanvasRail-atlas .atlasDot.warn{background:var(--warn)}.uiCanvasRail-atlas .atlasUnit.is-selected .atlasDot{background:var(--accent)}.uiCanvasRail-atlas .atlasHit{flex:1;min-width:0;display:grid;grid-template-columns:78px minmax(0,1fr) auto auto;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-sm);background:transparent;color:inherit;text-align:left;cursor:pointer}.uiCanvasRail-atlas .atlasUnit.is-selected .atlasHit{background:var(--accent-soft)}.uiCanvasRail-atlas .atlasDate{font-size:var(--t-micro);color:var(--ink-3);white-space:nowrap}.uiCanvasRail-atlas .atlasName{font-family:var(--serif);font-weight:600;font-size:var(--t-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uiCanvasRail-atlas .atlasMeta{font-size:var(--t-micro);color:var(--ink-3);white-space:nowrap}.uiCanvasRail-atlas .atlasFlag{color:var(--warn);font-weight:800}.uiCanvasRail-atlas .atlasBeam{display:grid;grid-template-columns:24px 1fr;gap:var(--space-2xs);margin:0 0 var(--space-2xs);padding:0 var(--space-sm) var(--space-2xs) 4px;align-items:start}.uiCanvasRail-atlas .atlasTick{width:8px;height:8px;margin:6px auto 0;border-radius:1px;background:var(--ink-2);box-shadow:0 0 0 3px var(--surface);transform:rotate(45deg)}.uiCanvasRail-atlas .atlasBeam.warn .atlasTick{background:var(--warn)}.uiCanvasRail-atlas .atlasBeamBody{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.uiCanvasRail-atlas .atlasBeamBar{position:relative;height:18px;border-radius:2px;background:var(--line-soft);overflow:hidden}.uiCanvasRail-atlas .atlasBeamFill{display:block;height:100%;background:var(--ink-2);opacity:.35}.uiCanvasRail-atlas .atlasBeam.warn .atlasBeamFill{background:var(--warn);opacity:.55}.uiCanvasRail-atlas .atlasBeamLabel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding:0 8px;font-size:10px;color:var(--ink);letter-spacing:.02em}.uiCanvasRail-atlas .atlasBeamExtra{display:flex;flex-wrap:wrap;gap:var(--space-2xs);align-items:center;padding:var(--space-xs);background:var(--surface-2);border-radius:var(--radius-sm)}.uiCanvasRail-atlas .atlasBeamExtra .insertHere{width:auto;margin:0;padding:2px 8px}.uiCanvasRail-atlas .atlasBeamExtra .legFuel{flex:1 1 100%;margin:var(--space-2xs) 0 0}.uiCanvasRail-islands .railBody{background:var(--ground);gap:0;padding-left:var(--space-xs)}.uiCanvasRail-islands .islandUnit{position:relative;margin-bottom:0}.uiCanvasRail-islands .islandStop{position:relative;z-index:1;margin:var(--space-sm) var(--space-xs) var(--space-sm) 0;padding:var(--space-2xs);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.uiCanvasRail-islands .islandStop.is-selected{outline:2px solid var(--accent);outline-offset:1px}.uiCanvasRail-islands .islandStop .stopRow{background:transparent;box-shadow:none}.uiCanvasRail-islands .islandStop .stopRowWrap{align-items:center;gap:0}.uiCanvasRail-islands .islandDrag{flex-shrink:0;align-self:center;width:20px;height:28px;margin:0 calc(-1 * var(--space-2xs)) 0 0;padding:0;border:none;border-radius:0;background:transparent;color:var(--ink-3);font-size:14px;line-height:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.uiCanvasRail-islands .islandDrag:hover{color:var(--ink);background:transparent}.uiCanvasRail-islands .islandDrag:active,.uiCanvasRail-islands .islandUnit.is-dragging .islandDrag{cursor:grabbing;color:var(--accent);background:transparent}.uiCanvasRail-islands .islandUnit.is-dragging{opacity:.55}.uiCanvasRail-islands .islandUnit.is-drop-target>.islandStop{outline:2px solid var(--accent);outline-offset:1px}.uiCanvasRail-islands .islandLeg{margin:0 var(--space-xs) 0 0;color:var(--ink-2)}.uiCanvasRail-islands .islandLeg.warn{color:var(--warn)}.uiCanvasRail-islands .islandLegRow{position:relative;display:grid;grid-template-columns:36px 1fr;column-gap:var(--space-xs);align-items:stretch;min-height:64px}.uiCanvasRail-islands .islandArrowCol{grid-column:1;grid-row:1 / -1;display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:0}.uiCanvasRail-islands .islandArrowStem{flex:1 1 auto;width:2px;min-height:24px;background:currentColor;opacity:.55;border-radius:1px}.uiCanvasRail-islands .islandArrowHead{flex:0 0 auto;width:0;height:0;margin-top:-1px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid currentColor;opacity:.75}.uiCanvasRail-islands .islandAddPlus{position:absolute;left:2px;top:15px;z-index:2;width:32px;height:32px;margin:0;padding:0;border:1.5px solid var(--line-strong);border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);font-size:1.25rem;font-weight:500;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .12s ease,border-color .12s ease,background .12s ease,color .12s ease}@media(hover:hover){.uiCanvasRail-islands .islandLeg:hover .islandAddPlus{opacity:1;pointer-events:auto}}.uiCanvasRail-islands .islandAddPlus.is-open,.uiCanvasRail-islands .islandAddPlus:focus-visible{opacity:1;pointer-events:auto}@media(hover:none){.uiCanvasRail-islands .islandAddPlus{opacity:1;pointer-events:auto}}.uiCanvasRail-islands .islandAddPlus:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.uiCanvasRail-islands .islandAddPlus.is-open{border-color:var(--accent);background:var(--accent);color:var(--accent-ink, #fff)}.uiCanvasRail-islands .islandLegSide{grid-column:2;display:flex;flex-direction:column;gap:var(--space-xs);padding:8px 0 10px;min-width:0}.uiCanvasRail-islands .islandTrenchToggle{display:flex;align-items:center;gap:var(--space-sm);width:100%;margin:0;padding:var(--space-sm) var(--space-md);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);color:inherit;text-align:left;cursor:pointer}.uiCanvasRail-islands .islandTrenchToggle:hover{border-color:var(--line-strong);background:var(--surface-raised)}.uiCanvasRail-islands .islandLeg.warn .islandTrenchToggle{border-color:var(--warn-line)}.uiCanvasRail-islands .islandTrenchFacts{flex:1;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);align-items:end}.uiCanvasRail-islands .islandFact{display:flex;flex-direction:column;gap:1px;min-width:0}.uiCanvasRail-islands .islandFactValue{font-size:var(--t-base);font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uiCanvasRail-islands .islandFactLabel{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.uiCanvasRail-islands .islandTrenchAside{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.uiCanvasRail-islands .islandWarnBadge{padding:2px 7px;border-radius:var(--radius-sm);background:var(--warn);color:var(--warn-ink);font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.uiCanvasRail-islands .islandGapBadge{padding:1px 6px;border-radius:var(--radius-sm);background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn);font-size:10px;font-weight:700}.uiCanvasRail-islands .islandTrenchChevron{font-size:var(--t-mini);color:var(--ink-2);width:1.2em;text-align:center;line-height:1}.uiCanvasRail-islands .islandAddMenu{display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-2xs);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}.uiCanvasRail-islands .islandAddChoice{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--space-sm);border:1px solid transparent;border-radius:var(--radius-sm);background:var(--surface);color:inherit;text-align:left;cursor:pointer}.uiCanvasRail-islands .islandAddChoice:hover{border-color:var(--accent-line);background:var(--accent-soft)}.uiCanvasRail-islands .islandAddChoice strong{font-size:var(--t-mini);font-weight:700}.uiCanvasRail-islands .islandAddChoice span{font-size:var(--t-micro);color:var(--ink-3);line-height:1.35}.uiCanvasRail-islands .islandTrenchPanel{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--line-soft)}.uiCanvasRail-islands .islandLeg.warn .islandTrenchPanel{border-color:var(--warn-line);background:var(--warn-soft)}.uiCanvasRail-islands .islandTrenchActions{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.uiCanvasRail-islands .islandTrenchPanel .legFuel,.uiCanvasRail-islands .islandTrenchPanel .gapRow{margin:0}.uiCanvasRail-islands .islandTrenchPanel .legFuel{padding:var(--space-2xs) 0 0}.rail-islands .railBody{background:var(--ground);gap:0;padding-left:var(--space-xs)}.rail-islands .islandUnit{position:relative;margin-bottom:0}.rail-islands .islandStop{position:relative;z-index:1;margin:var(--space-sm) var(--space-xs) var(--space-sm) 0;padding:var(--space-2xs);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.rail-islands .islandStop.is-selected{outline:2px solid var(--accent);outline-offset:1px}.rail-islands .islandStop .stopRow{background:transparent;box-shadow:none}.rail-islands .islandStop .stopRowWrap{align-items:center;gap:0}.rail-islands .islandDrag{flex-shrink:0;align-self:center;width:20px;height:28px;margin:0 calc(-1 * var(--space-2xs)) 0 0;padding:0;border:none;border-radius:0;background:transparent;color:var(--ink-3);font-size:14px;line-height:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.rail-islands .islandDrag:hover{color:var(--ink);background:transparent}.rail-islands .islandDrag:active,.rail-islands .islandUnit.is-dragging .islandDrag{cursor:grabbing;color:var(--accent);background:transparent}.rail-islands .islandUnit.is-dragging{opacity:.55}.rail-islands .islandUnit.is-drop-target>.islandStop{outline:2px solid var(--accent);outline-offset:1px}.rail-islands .islandLeg{margin:0 var(--space-xs) 0 0;color:var(--ink-2)}.rail-islands .islandLeg.warn{color:var(--warn)}.rail-islands .islandLegRow{position:relative;display:grid;grid-template-columns:36px 1fr;column-gap:var(--space-xs);align-items:stretch;min-height:64px}.rail-islands .islandArrowCol{grid-column:1;grid-row:1 / -1;display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:0}.rail-islands .islandArrowStem{flex:1 1 auto;width:2px;min-height:24px;background:currentColor;opacity:.55;border-radius:1px}.rail-islands .islandArrowHead{flex:0 0 auto;width:0;height:0;margin-top:-1px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid currentColor;opacity:.75}.rail-islands .islandAddPlus{position:absolute;left:2px;top:15px;z-index:2;width:32px;height:32px;margin:0;padding:0;border:1.5px solid var(--line-strong);border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);font-size:1.25rem;font-weight:500;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .12s ease,border-color .12s ease,background .12s ease,color .12s ease}@media(hover:hover){.rail-islands .islandLeg:hover .islandAddPlus{opacity:1;pointer-events:auto}}.rail-islands .islandAddPlus.is-open,.rail-islands .islandAddPlus:focus-visible{opacity:1;pointer-events:auto}@media(hover:none){.rail-islands .islandAddPlus{opacity:1;pointer-events:auto}}.rail-islands .islandAddPlus:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.rail-islands .islandAddPlus.is-open{border-color:var(--accent);background:var(--accent);color:var(--accent-ink, #fff)}.rail-islands .islandLegSide{grid-column:2;display:flex;flex-direction:column;gap:var(--space-xs);padding:8px 0 10px;min-width:0}.rail-islands .islandTrenchToggle{display:flex;align-items:center;gap:var(--space-sm);width:100%;margin:0;padding:var(--space-sm) var(--space-md);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);color:inherit;text-align:left;cursor:pointer}.rail-islands .islandTrenchToggle:hover{border-color:var(--line-strong);background:var(--surface-raised)}.rail-islands .islandLeg.warn .islandTrenchToggle{border-color:var(--warn-line)}.rail-islands .islandTrenchFacts{flex:1;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);align-items:end}.rail-islands .islandTrenchFacts:not(:has(.islandFact:nth-child(3))){grid-template-columns:repeat(2,minmax(0,1fr))}.rail-islands .islandFact{display:flex;flex-direction:column;gap:1px;min-width:0}.rail-islands .islandFactValue{font-size:var(--t-base);font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-islands .islandFactLabel{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.rail-islands .islandTrenchAside{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.rail-islands .islandWarnBadge{padding:2px 7px;border-radius:var(--radius-sm);background:var(--warn);color:var(--warn-ink);font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.rail-islands .islandGapBadge{padding:1px 6px;border-radius:var(--radius-sm);background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn);font-size:10px;font-weight:700}.rail-islands .islandTrenchChevron{font-size:var(--t-mini);color:var(--ink-2);width:1.2em;text-align:center;line-height:1}.rail-islands .islandAddMenu{display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-2xs);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}.rail-islands .islandAddChoice{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--space-sm);border:1px solid transparent;border-radius:var(--radius-sm);background:var(--surface);color:inherit;text-align:left;cursor:pointer}.rail-islands .islandAddChoice:hover{border-color:var(--accent-line);background:var(--accent-soft)}.rail-islands .islandAddChoice strong{font-size:var(--t-mini);font-weight:700}.rail-islands .islandAddChoice span{font-size:var(--t-micro);color:var(--ink-3);line-height:1.35}.rail-islands .islandTrenchPanel{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--line-soft)}.rail-islands .islandLeg.warn .islandTrenchPanel{border-color:var(--warn-line);background:var(--warn-soft)}.rail-islands .islandTrenchActions{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.rail-islands .islandTrenchPanel .legFuel,.rail-islands .islandTrenchPanel .gapRow{margin:0}.rail-islands .islandTrenchPanel .legFuel{padding:var(--space-2xs) 0 0}.rail-islands .islandTrenchPanel .legWarn{margin:0}.intentCandidateMedia--empty{background:var(--ground);border-bottom:1px solid var(--line)}.notebook{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:0;min-height:calc(100vh - 7rem);background:var(--ground)}.notebookRail{border-right:1px solid var(--line);background:var(--surface);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);overflow-y:auto}.notebookRailHead .pageTitle{margin:0 0 var(--space-2xs)}.notebookFilters{display:flex;flex-direction:column;gap:var(--space-2xs)}.notebookNew{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.notebookList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.notebookListItem{display:flex;flex-direction:column;gap:2px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);text-decoration:none;color:inherit;border:1px solid transparent}.notebookListItem:hover{background:var(--ground)}.notebookListItem.isActive{border-color:var(--line);background:var(--ground)}.notebookListItem.isPinned .notebookListTitle:before{content:"📌 ";font-size:.75em}.notebookListKind{font-size:var(--t-micro);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.notebookListTitle{font-size:var(--t-body);font-weight:600}.notebookListMeta{font-size:var(--t-micro);color:var(--ink-3)}.notebookMain{padding:var(--space-lg);overflow-y:auto}.notebookEmpty{max-width:28rem;margin:4rem auto;text-align:center}.notebookEditor{max-width:44rem;display:flex;flex-direction:column;gap:var(--space-md)}.notebookMetaRow{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:flex-end}.notebookMetaRow .fieldLabel{display:flex;flex-direction:column;gap:4px;font-size:var(--t-micro);color:var(--ink-2)}.notebookPin{display:flex;align-items:center;gap:6px;font-size:var(--t-small);padding-bottom:6px}.notebookBodyToggle{display:flex;gap:var(--space-2xs)}.notebookTextarea{min-height:22rem;width:100%}.notebookPreview{min-height:12rem;padding:var(--space-md);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface)}.mdBody h2,.mdBody h3,.mdBody h4{margin:.8em 0 .35em}.mdBody p,.mdBody ul,.mdBody ol,.mdBody blockquote{margin:0 0 .75em}.mdBody a{color:var(--accent)}.notebookAttachTitle{margin:0 0 var(--space-xs);font-size:var(--t-small)}.notebookAttachList{list-style:none;margin:var(--space-xs) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.notebookAttachList li{display:flex;align-items:center;gap:var(--space-sm)}.notebookActions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.stopNotebookLinks{display:flex;flex-direction:column;gap:var(--space-2xs)}.stopNotebookLink{display:flex;flex-direction:column;gap:2px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--line-soft);border-radius:var(--radius-sm);text-decoration:none;color:inherit;background:var(--surface)}.stopNotebookLink:hover{border-color:var(--line)}@media(max-width:720px){.notebook{grid-template-columns:1fr}.notebookRail{border-right:none;border-bottom:1px solid var(--line);max-height:40vh}}.notebookChildren{margin:0 0 0 var(--space-md);padding:0}.notebookTreeRoot+.notebookTreeRoot{margin-top:2px}.notebookChildActions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:flex-end}.notebookPlanAdd{display:flex;gap:var(--space-2xs);align-items:center}.notebookChildChips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.notebookChildChips a{display:inline-block;padding:4px 8px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);text-decoration:none;color:inherit;font-size:var(--t-micro);background:var(--surface)}.notebookChildChips a:hover{border-color:var(--line)}.dayPlanChip{display:block;margin-top:4px;padding:2px 6px;font-size:10px;line-height:1.3;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink-2);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.dayPlanChip:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 14%,transparent)}.visuallyHidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.notebookMain{background:var(--ground)}.noteDoc{max-width:44rem;margin:0 auto;padding:var(--space-lg) var(--space-xl) 4rem;display:flex;flex-direction:column;gap:var(--space-md)}.noteDocTop{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:2rem}.noteDocCrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--t-mini);color:var(--ink-3)}.noteDocCrumbs a{color:var(--ink-2);text-decoration:none}.noteDocCrumbs a:hover{color:var(--ink);text-decoration:underline}.noteDocTopMeta{display:flex;align-items:center;gap:var(--space-sm)}.noteDocSaveState{font-size:var(--t-micro);color:var(--ink-3);min-width:4.5rem;text-align:right}.noteDocTitle{width:100%;border:none;background:transparent;font:inherit;font-size:clamp(1.6rem,2.4vw,2.15rem);font-weight:650;letter-spacing:-.03em;line-height:1.2;color:var(--ink);padding:0;margin:0;outline:none}.noteDocTitle::placeholder{color:var(--ink-3)}.noteDocPlanDate{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-mini);color:var(--ink-2)}.noteDocPlanDate input{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);padding:4px 8px;font:inherit;color:var(--ink)}.noteDocEditor{min-height:16rem;position:relative}.noteDocProse{outline:none;font-size:var(--t-lead);line-height:1.65;color:var(--ink);min-height:14rem}.noteDocProse>*+*{margin-top:.65em}.noteDocProse h2{font-size:1.35em;font-weight:650;letter-spacing:-.02em;margin:1.4em 0 .4em}.noteDocProse h3{font-size:1.15em;font-weight:600;margin:1.2em 0 .35em}.noteDocProse ul,.noteDocProse ol{padding-left:1.35em}.noteDocProse blockquote{margin:0;padding-left:.9em;border-left:3px solid var(--line);color:var(--ink-2)}.noteDocProse a{color:var(--accent)}.noteDocProse ul[data-type=taskList]{list-style:none;padding-left:0}.noteDocProse ul[data-type=taskList] li{display:flex;gap:.5em;align-items:flex-start}.noteDocProse ul[data-type=taskList] li>label{margin-top:.3em}.noteDocProse p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;pointer-events:none;color:var(--ink-3)}.noteDocBubble,.noteDocFloat{display:flex;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:0 6px 20px color-mix(in srgb,var(--ink) 12%,transparent);z-index:20}.noteDocBubble button,.noteDocFloat button{border:none;background:transparent;color:var(--ink-2);font:inherit;font-size:var(--t-mini);font-weight:600;padding:4px 8px;border-radius:4px;cursor:pointer;min-width:1.75rem}.noteDocBubble button:hover,.noteDocFloat button:hover,.noteDocBubble button.isActive{background:var(--ground);color:var(--ink)}.noteDocChildren{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--line-soft)}.noteDocSectionLabel{margin:0 0 var(--space-sm);font-size:var(--t-micro);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.noteDocPageList{list-style:none;margin:0 0 var(--space-sm);padding:0;display:flex;flex-direction:column;gap:2px}.noteDocPageLink{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);text-decoration:none;color:inherit}.noteDocPageLink:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.noteDocPageIcon{color:var(--ink-3);font-size:12px}.noteDocPageTitle{flex:1;font-weight:550}.noteDocPageDate{font-size:var(--t-micro);color:var(--ink-3);font-variant-numeric:tabular-nums}.noteDocChildActions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.noteDocGhostBtn{border:none;background:transparent;color:var(--ink-2);font:inherit;font-size:var(--t-mini);padding:6px 4px;cursor:pointer}.noteDocGhostBtn:hover:not(:disabled){color:var(--ink);text-decoration:underline}.noteDocGhostBtn:disabled{opacity:.45;cursor:default}.noteDocPlanAdd{display:inline-flex;align-items:center;gap:6px}.noteDocPlanAdd input{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);padding:4px 6px;font:inherit;font-size:var(--t-mini)}.noteDocAttach{margin-top:var(--space-md);font-size:var(--t-mini);color:var(--ink-2)}.noteDocAttach summary{cursor:pointer;color:var(--ink-3)}.noteDocAuthor{margin:var(--space-lg) 0 0;font-size:var(--t-micro);color:var(--ink-3)}@media(max-width:720px){.noteDoc{padding:var(--space-md) var(--space-md) 3rem}}.noteDoc.hasCover{max-width:none;padding:0 0 4rem}.noteDocCover{position:relative;width:100%;height:clamp(160px,28vh,280px);overflow:hidden;background:var(--line-soft)}.noteDocCover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}.noteDocCoverFade{position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(to top,var(--ground) 0%,color-mix(in srgb,var(--ground) 70%,transparent) 40%,transparent 100%);pointer-events:none}.noteDoc.hasCover>:not(.noteDocCover){max-width:44rem;width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-xl);padding-right:var(--space-xl);box-sizing:border-box}.noteDoc.hasCover .noteDocTop{position:absolute;top:var(--space-sm);left:0;right:0;z-index:2;max-width:none;margin:0;padding-left:var(--space-md);padding-right:var(--space-md)}.noteDoc.hasCover .noteDocCrumbs,.noteDoc.hasCover .noteDocCrumbs a,.noteDoc.hasCover .noteDocSaveState{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}.noteDoc.hasCover .noteDocTop .btn{background:color-mix(in srgb,#000 40%,transparent);color:#fff;border-color:transparent}.noteDoc.hasCover .noteDocTitle{margin-top:-2.6rem;position:relative;z-index:1}@media(max-width:720px){.noteDocCover{height:140px}.noteDoc.hasCover>:not(.noteDocCover){padding-left:var(--space-md);padding-right:var(--space-md)}}.dayCell.dayPlanable{cursor:pointer}.noteDoc.hasCover .noteDocTop{position:static;z-index:auto;max-width:44rem;width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-xl);padding-right:var(--space-xl);box-sizing:border-box;margin-top:var(--space-md)}.noteDoc.hasCover .noteDocCrumbs,.noteDoc.hasCover .noteDocCrumbs a,.noteDoc.hasCover .noteDocSaveState{color:var(--ink-3);text-shadow:none}.noteDoc.hasCover .noteDocCrumbs a{color:var(--ink-2)}.noteDoc.hasCover .noteDocCrumbs a:hover{color:var(--ink)}.noteDoc.hasCover .noteDocTop .btn{background:var(--surface);color:var(--ink);border-color:var(--line)}.noteDoc.hasCover .noteDocTitle{margin-top:0;z-index:auto}@media(max-width:720px){.noteDoc.hasCover .noteDocTop{padding-left:var(--space-md);padding-right:var(--space-md)}}.notebookHome{max-width:58rem;margin:0 auto;padding:var(--space-lg) var(--space-md) 3rem}.notebookHomeHead{margin-bottom:var(--space-lg);max-width:28rem}.notebookHomeHead h2{margin:0 0 var(--space-xs);font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:650;letter-spacing:-.02em;color:var(--ink)}.notebookHomeGrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:var(--space-md) var(--space-sm)}.notebookHomeTile{display:flex;flex-direction:column;gap:.55rem;min-width:0;text-decoration:none;color:inherit}.notebookHomeThumb{display:block;position:relative;aspect-ratio:4 / 3;border-radius:var(--radius);overflow:hidden;background:color-mix(in srgb,var(--line-soft) 70%,var(--ink-3))}.notebookHomeThumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:transform .22s ease}@media(prefers-reduced-motion:reduce){.notebookHomeThumb img{transition:none}}.notebookHomeTile:hover .notebookHomeThumb img,.notebookHomeTile:focus-visible .notebookHomeThumb img{transform:scale(1.035)}.notebookHomeTile:focus-visible .notebookHomeThumb{outline:2px solid var(--accent, var(--ink));outline-offset:2px}.notebookHomeInitial{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:2.4rem;font-weight:650;letter-spacing:-.04em;color:color-mix(in srgb,#fff 88%,transparent);text-shadow:0 1px 2px rgba(0,0,0,.25)}.notebookHomeCaption{display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:0 2px}.notebookHomeCaption strong{font-size:var(--t-base);font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notebookHomeMeta{font-size:var(--t-micro);color:var(--ink-3)}@media(max-width:720px){.notebookHome{padding-top:var(--space-md)}.notebookHomeGrid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:var(--space-sm)}}.settingsMemberList{list-style:none;margin:0 0 var(--space-sm);padding:0;display:flex;flex-direction:column;gap:6px}.settingsMemberList li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;font-size:var(--t-mini)}.settingsMemberList strong{font-weight:600;color:var(--ink)}.settingsLogout{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--line)}.compareTable{width:100%;border-collapse:collapse;font-size:var(--t-mini)}.compareTable th,.compareTable td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.compareTable th{color:var(--ink-3);font-weight:500}.compareTable .isCurrent{background:var(--accent-soft)}.dateTimeField{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dateTimeFieldClock{width:auto;min-width:7.5rem}.noteDocSlash{position:absolute;z-index:5;margin-top:2.2rem;min-width:10rem;padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px}.noteDocSlashItem{border:none;background:transparent;text-align:left;padding:6px 10px;border-radius:var(--radius-sm);font:inherit;font-size:var(--t-mini);color:var(--ink);cursor:pointer}.noteDocSlashItem:hover,.noteDocSlashItem:focus-visible{background:var(--surface-2)}.noteDocEditor{position:relative}.dayStopBody{touch-action:none;cursor:grab}.dayStopBody:active{cursor:grabbing}.dayPlanChip{display:block;width:100%;box-sizing:border-box;border:none;text-align:left;font:inherit;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.dayPlanChip.carrying{opacity:.55;cursor:grabbing}.seqDot.tinted{background:var(--stop-color);color:#fff}.budgetPage{--budget-fuel: var(--accent);--budget-toll: #4d5f7a;--budget-vignette: #9a6b2e;--budget-fee: #7a4e5a}:root[data-theme=dark] .budgetPage,:root:not([data-theme=light]) .budgetPage{--budget-toll: #8a9bb0;--budget-vignette: #c4a06a;--budget-fee: #b88590}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .budgetPage{--budget-toll: #4d5f7a;--budget-vignette: #9a6b2e;--budget-fee: #7a4e5a}}.budgetRail{width:min(340px,38vw)}.budgetHero{margin-bottom:var(--space-lg)}.budgetHero .statBlock{margin-top:var(--space-sm)}.budgetHero .pageTitle{font-size:var(--t-lead)}.budgetMeta{margin:var(--space-xs) 0 0;font-size:var(--t-body);color:var(--ink-2)}.budgetBreakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);margin-top:var(--space-lg)}.budgetFigure{display:flex;flex-direction:column;gap:var(--space-3xs);min-width:0}.budgetFigureLabel{font-size:var(--t-mini);font-weight:500;color:var(--ink-3)}.budgetFigureValue{font-size:var(--t-lead);font-weight:600;letter-spacing:-.02em;color:var(--ink)}.budgetDetails{margin-top:var(--space-lg)}.budgetDetails>summary{cursor:pointer;font-size:var(--t-body);font-weight:600;color:var(--ink-2);list-style-position:outside}.budgetDetails>summary:hover{color:var(--ink)}.budgetLineItems{margin:var(--space-sm) 0 0;padding-left:1.25rem;font-size:var(--t-body);color:var(--ink-2);line-height:var(--lh-snug)}.budgetLineItems li+li{margin-top:var(--space-2xs)}.budgetFootnotes{margin-top:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-2xs)}.budgetFootnotes .hintText{margin:0}.budgetSection{margin-bottom:var(--space-2xl)}.budgetSectionTitle{font-size:var(--t-lead)!important;margin-bottom:var(--space-md)}.budgetExpenseHead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-sm) var(--space-lg);margin-bottom:var(--space-sm)}.budgetExpenseHead .budgetSectionTitle{margin-bottom:0}.budgetExpenseTotals{display:flex;flex-wrap:wrap;gap:var(--space-md) var(--space-xl)}.budgetExpenseTotal{display:inline-flex;align-items:baseline;gap:var(--space-xs);font-size:var(--t-body);font-weight:600}.budgetExpenseTotalLabel{font-weight:500;color:var(--ink-3);font-size:var(--t-mini)}.budgetExpenseName{display:block;font-weight:500}.budgetExpenses .cellMuted{display:block;margin-top:1px}.budgetCountries{margin-bottom:var(--space-2xl)}.budgetCountries>summary.budgetSectionTitle{display:list-item;margin-bottom:var(--space-md)}.budgetCountries[open]>summary{margin-bottom:var(--space-md)}.budgetChartBlock{margin-top:var(--space-md)}.budgetChartBlock .sectionLabel{margin-bottom:var(--space-md)}.budgetDonut{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.budgetDonutSvg{display:block;flex:none}.budgetDonutCentreValue{font-family:var(--mono);font-size:13px;font-weight:600;fill:var(--ink)}.budgetDonutCentreLabel{font-size:10px;font-weight:500;fill:var(--ink-3);letter-spacing:.04em;text-transform:uppercase}.budgetDonutLegend{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:6px}.budgetDonutLegend li{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--t-mini);color:var(--ink-2)}.budgetDonutSwatch{width:8px;height:8px;border-radius:2px;flex:none;background:var(--ink-3)}.budgetSwatchFuel{background:var(--budget-fuel)}.budgetSwatchToll{background:var(--budget-toll)}.budgetDonutLegendLabel{flex:1 1 auto;min-width:0}.budgetDonutLegendPct{color:var(--ink-3);font-size:var(--t-micro)}.budgetLegBarsKey{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-md);font-size:var(--t-mini);color:var(--ink-2)}.budgetLegBarsKey>span{display:inline-flex;align-items:center;gap:var(--space-2xs)}.budgetLegBarsList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.budgetLegBarRow{display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr) auto;gap:var(--space-sm);align-items:center}.budgetLegBarLabel{font-size:var(--t-mini);color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budgetLegBarTrack{display:flex;height:10px;border-radius:3px;background:var(--line-soft);overflow:hidden;min-width:0}.budgetLegBarSeg{display:block;height:100%;min-width:0}.budgetLegBarTotal{font-size:var(--t-mini);font-weight:600;color:var(--ink);text-align:right;min-width:4.5rem}@media(max-width:720px){.budgetPage.split{display:block}.budgetRail{width:auto;border-right:none;border-bottom:1px solid var(--line);max-height:none}.budgetLegBarRow{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.budgetLegBarLabel{grid-column:1 / -1}}.adminPage{max-width:720px;margin:0 auto;padding:var(--space-lg) var(--space-md) var(--space-2xl)}.adminHead{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.adminHead h1{margin:0 0 var(--space-2xs);font-size:var(--t-title)}.adminCard{margin-bottom:var(--space-lg);padding:var(--space-md);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.adminCard h2{margin:0 0 var(--space-sm);font-size:var(--t-lead)}.adminDl{display:grid;grid-template-columns:10rem 1fr;gap:var(--space-2xs) var(--space-md);margin:0 0 var(--space-md);font-size:var(--t-mini)}.adminDl dt{color:var(--ink-3)}.adminDl dd{margin:0}.adminTable{width:100%;border-collapse:collapse;font-size:var(--t-mini)}.adminTable th,.adminTable td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line-soft)}.adminTable th{color:var(--ink-3);font-weight:500}.settingsAdminLink{margin:var(--space-md) 0 0;font-size:var(--t-mini)}.settingsAdminLink a{color:var(--accent)}.adminCreateForm{display:flex;flex-direction:column;gap:var(--space-sm);max-width:22rem}.btn-danger{color:#a32d2d;border-color:#e2b6b6;background:#faf2f2}.btn-danger:hover:not(:disabled){color:#7a1f1f;border-color:#d09090;background:#f5e6e6}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .btn-danger{color:#e8a0a0;border-color:#6a3a3a;background:#2a1818}:root:not([data-theme=light]) .btn-danger:hover:not(:disabled){color:#f0c0c0;border-color:#8a5050;background:#3a2020}}:root[data-theme=dark] .btn-danger{color:#e8a0a0;border-color:#6a3a3a;background:#2a1818}:root[data-theme=dark] .btn-danger:hover:not(:disabled){color:#f0c0c0;border-color:#8a5050;background:#3a2020}@keyframes rtFadeIn{0%{opacity:0}to{opacity:1}}@keyframes rtFadeOut{0%{opacity:1}to{opacity:0}}@keyframes rtDialogIn{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes rtDialogOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.98) translateY(4px)}}@keyframes rtSheetIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes rtSheetOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes rtPanelInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes rtPanelInLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes rtPanelOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(8px)}}@keyframes rtPanelOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-8px)}}@keyframes rtPopIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes rtPopOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-3px)}}@keyframes rtSlideDownIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes rtContentIn{0%{opacity:0}to{opacity:1}}@keyframes rtPageSlideForward{0%{opacity:.88;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes rtPageSlideBack{0%{opacity:.88;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes rtBannerIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes rtRowIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes rtBarGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.dialogBackdrop{animation:rtFadeIn var(--dur-panel) var(--ease) both}.dialogBackdrop.is-exiting{animation:rtFadeOut var(--dur-panel) var(--ease) both;pointer-events:none}.dialog{animation:rtDialogIn var(--dur-panel) var(--ease) both}.dialog.is-exiting{animation:rtDialogOut var(--dur-panel) var(--ease) both}@media(max-width:720px){.dialog{animation-name:rtSheetIn}.dialog.is-exiting{animation-name:rtSheetOut}.stopPanel.animPanel,.intentPanel.animPanel,.routeAlts.animPanel{animation-name:rtSheetIn}.stopPanel.animPanel.is-exiting,.intentPanel.animPanel.is-exiting,.routeAlts.animPanel.is-exiting{animation-name:rtSheetOut}}.animPanel{animation:rtPanelInRight var(--dur-panel) var(--ease) both}.animPanel.is-exiting{animation:rtPanelOutRight var(--dur-panel) var(--ease) both;pointer-events:none}.routeAlts.animPanel,.intentPanel.animPanel{animation-name:rtPanelInLeft}.routeAlts.animPanel.is-exiting,.intentPanel.animPanel.is-exiting{animation-name:rtPanelOutLeft}.intentPanel{transition:width var(--dur-med) var(--ease)}.animPop{animation:rtPopIn var(--dur-med) var(--ease) both;transform-origin:top left}.animPop.is-exiting{animation:rtPopOut var(--dur-med) var(--ease) both;pointer-events:none}.tripSwitcherChevron{transition:transform var(--dur) var(--ease)}.tripSwitcherMenu.animPop{transform-origin:top left}.pageEnter{animation:rtContentIn var(--dur-med) var(--ease) both}.pageSlideForward{animation:rtPageSlideForward var(--dur-med) var(--ease) both}.pageSlideBack{animation:rtPageSlideBack var(--dur-med) var(--ease) both}.dayEditBar{animation:rtSlideDownIn var(--dur-med) var(--ease) both}.islandAddMenu{animation:rtPopIn var(--dur-med) var(--ease) both;transform-origin:left center}.islandTrenchChevron{display:inline-block;transition:transform var(--dur) var(--ease)}.islandLeg.is-open .islandTrenchChevron{transform:rotate(0)}.islandTrenchPanel{animation:rtSlideDownIn var(--dur-med) var(--ease) both}.islandUnit.is-dragging{box-shadow:var(--shadow);opacity:.72;z-index:2}.dayCell{transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),outline-color var(--dur) var(--ease)}.colorSwatch{transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}.banner-warn,.banner-info,.banner{animation:rtBannerIn var(--dur-med) var(--ease) both}.budgetExpenses tbody tr,.checkList li,.listGrid>.card{animation:rtRowIn var(--dur-med) var(--ease) both}.budgetLegBarTrack{transform-origin:left center}.budgetPage.is-chartReady .budgetLegBarSeg{animation:rtBarGrow var(--dur-med) var(--ease) both;transform-origin:left center}.budgetDonutSvg.budgetDonutAnimate path,.budgetDonutSvg.budgetDonutAnimate circle{stroke-dasharray:400;stroke-dashoffset:400;animation:rtDonutDraw .55s var(--ease) forwards}@keyframes rtDonutDraw{to{stroke-dashoffset:0}}.notebookMain.pageEnter,.notebookHome.pageEnter{animation:rtContentIn var(--dur-med) var(--ease) both}.authFieldEnter{animation:rtSlideDownIn var(--dur-med) var(--ease) both}.intentCarouselFade{animation:rtFadeIn var(--dur-med) var(--ease) both}.notebookListItem{transition:background var(--dur) var(--ease)}.tripPageBody{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.tripPageBody>.split,.tripPageBody>.notebook,.tripPageBody>.main{flex:1 1 auto;min-height:0}.dialogAddStop{max-width:520px;max-height:min(92vh,760px);overflow:visible}.dialogAddStop .dialogBody{overflow:visible}.noteDocTitleRow{display:flex;align-items:center;gap:.7rem;min-width:0}.noteDocTitleRow .noteDocTitle{flex:1 1 auto;width:auto;min-width:0}.noteDocTitleRow .seqDot{width:1.85rem;height:1.85rem;font-size:.85rem}.noteDocCrumbs .seqDot{width:18px;height:18px;font-size:10px}.noteDocLede{margin-top:calc(var(--space-xs) * -1)}.notebookListName{display:flex;align-items:center;gap:8px;min-width:0}.notebookListName .notebookListTitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notebookHomeName{display:flex;align-items:center;gap:8px;min-width:0}.notebookHomeName .seqDot{width:20px;height:20px}.notebookHome .noteDoc{max-width:none;margin:0;padding:0 0 var(--space-sm)}.notebookHome .noteDocEditor,.notebookHome .noteDocProse{min-height:7.5rem}.notebookPlaces{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--line)}.notebookLoose{margin:0 0 var(--space-md)}.noteDocToolbar{position:sticky;top:0;z-index:4;display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin:0 0 var(--space-sm);padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.noteDocToolbar button,.noteDocBubble button,.noteDocFloat button{border:none;background:transparent;color:var(--ink-2);font:inherit;font-size:var(--t-mini);font-weight:600;padding:4px 8px;border-radius:4px;cursor:pointer;min-width:1.75rem}.noteDocToolbar button:hover,.noteDocToolbar button.isActive,.noteDocBubble button:hover,.noteDocBubble button.isActive,.noteDocFloat button:hover,.noteDocFloat button.isActive{background:var(--ground);color:var(--ink)}.noteDocFmtSep{width:1px;align-self:stretch;margin:2px 4px;background:var(--line)}.noteDoc.hasCover .noteDocToolbar{background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.budgetRoadsLead{margin:0 0 var(--space-md);max-width:42rem}.budgetRoadsGrid{display:flex;flex-direction:column;gap:var(--space-lg)}.budgetRoadsHeading{margin:0 0 var(--space-sm);font-size:var(--t-mini);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.budgetRoadsList{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.budgetRoadsRow{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md)}.budgetRoadsRow+.budgetRoadsRow{border-top:1px solid var(--line)}.budgetRoadsMain{display:flex;flex-direction:column;gap:2px;min-width:0}.budgetRoadsName{font-weight:600;color:var(--ink)}.budgetRoadsCode{display:inline-block;margin-right:var(--space-xs);color:var(--ink-3);font-weight:600}.budgetRoadsMeta{font-size:var(--t-mini);color:var(--ink-3)}.budgetRoadsHint{font-size:var(--t-mini);color:var(--ink-2)}.budgetRoadsAmount{flex-shrink:0;font-weight:600;text-align:right}.budgetRoadsLeg+.budgetRoadsLeg{border-top:1px solid var(--line)}.budgetRoadsLeg .budgetRoadsRow{border-top:none}.budgetTollFragments{list-style:none;margin:0;padding:0 0 var(--space-sm) var(--space-md);border-top:1px dashed var(--line)}.budgetTollFragment{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-2xs) var(--space-md) var(--space-2xs) 0}.budgetTollFragmentName{font-size:var(--t-body);font-weight:500;color:var(--ink-2)}.budgetTollFragment .budgetRoadsAmount{font-weight:500;font-size:var(--t-mini)}.rail-islands .islandWarnBadgeWrap{position:relative;display:inline-flex}.rail-islands .islandWarnTip{position:absolute;right:0;bottom:calc(100% + 8px);z-index:40;width:min(240px,70vw);padding:10px 12px;border-radius:var(--radius);border:1px solid var(--warn-line);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-lg);font-size:var(--t-mini);font-weight:500;letter-spacing:0;text-transform:none;line-height:1.35;text-align:left;white-space:normal;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity var(--dur) ease,transform var(--dur) ease}.rail-islands .islandWarnTip:after{content:"";position:absolute;right:12px;top:100%;border:6px solid transparent;border-top-color:var(--warn-line)}.rail-islands .islandWarnBadgeWrap:hover .islandWarnTip,.rail-islands .islandWarnBadgeWrap:focus-within .islandWarnTip{opacity:1;transform:translateY(0)}
