@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/PublicSans-Regular-CHd9Ljqw.woff2) format("woff2");unicode-range:U+0000-02CC,U+02CE-02D7,U+02DA,U+02DC-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2190-21FF,U+2212,U+2215,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/PublicSans-Medium-DlzG9-gQ.woff2) format("woff2");unicode-range:U+0000-02CC,U+02CE-02D7,U+02DA,U+02DC-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2190-21FF,U+2212,U+2215,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/PublicSans-SemiBold-p5Vzo_zN.woff2) format("woff2");unicode-range:U+0000-02CC,U+02CE-02D7,U+02DA,U+02DC-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2190-21FF,U+2212,U+2215,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}@font-face{font-family:Literata;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Literata-SemiBold-CPCFNpbD.woff2) format("woff2");unicode-range:U+0000-02CC,U+02CE-02D7,U+02DA,U+02DC-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2190-21FF,U+2212,U+2215,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}@font-face{font-family:Literata;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/Literata-Italic-D3IRB44V.woff2) format("woff2");unicode-range:U+0000-02CC,U+02CE-02D7,U+02DA,U+02DC-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2190-21FF,U+2212,U+2215,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}:root{color-scheme:light;--paper: #faf6f0;--paper-2: #f3ece2;--card: #fffdf9;--ink: #2b2622;--ink-soft: #6b5f54;--line: #e6dccd;--terracotta: #e76f51;--ochre: #e9c46a;--teal: #2a9d8f;--c-flight: #23877b;--c-lodging: #d4583a;--c-activity: #a87a0a;--c-food: #c44536;--c-transport: #5a7d9a;--c-other: #877d77;--accent: #b8492c;--accent-ink: #fffdf9;--link: #1a6b61;--focus-ring: #23877b;--overlay-hero: linear-gradient(0deg, #faf6f0f0 0%, #faf6f0d9 45%, #faf6f026 100%);--overlay-backdrop: #faf6f0b3;--band: #2b2622;--band-ink: #f1dcaa;--overlay-landing: linear-gradient(0deg, color-mix(in srgb, var(--band) 92%, transparent) 0%, color-mix(in srgb, var(--band) 78%, transparent) 45%, color-mix(in srgb, var(--band) 30%, transparent) 80%, color-mix(in srgb, var(--band) 70%, transparent) calc(100% - 72px) , color-mix(in srgb, var(--band) 70%, transparent) 100%);--on-overlay-landing: #faf6f0;--band-text: #faf6f0;--band-edge: var(--band);--success: #3d7148;--warn: #8a6100;--danger: #b3372a;--status-idea: #62574d;--status-idea-bg: #f1e9dd;--status-planned: #6b4f08;--status-planned-bg: #f6e7c1;--status-booked: #165e56;--status-booked-bg: #d3ebe7;--status-done: #3c5934;--status-done-bg: #dde8d9;--shadow-1: 0 1px 2px #2b26220f, 0 1px 1px #2b26220a;--shadow-2: 0 4px 14px #2b262214, 0 1px 3px #2b26220f;--shadow-3: 0 16px 40px #2b262229, 0 4px 12px #2b262214;--shadow-tile: 0 8px 24px #2b26221a, 0 1px 2px #2b26220f;--glow-primary: 0 1px 3px color-mix(in srgb, var(--accent) 35%, transparent);--font-display: "Literata", Georgia, "Times New Roman", serif;--font-ui: "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--leading-display: 1.08;--leading-tight: 1.15;--leading-normal: 1.5;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-gutter: 2.5rem;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px;--ease-out: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-loader: cubic-bezier(.22, 1, .36, 1);--dur-fast: .15s;--dur-base: .25s;--dur-slow: .3s;--radius: var(--radius-md);--shadow: var(--shadow-1)}:root[data-theme=dark]{color-scheme:dark;--paper: #1b1714;--paper-2: #241e1a;--card: #2a231e;--ink: #f3ebe0;--ink-soft: #bdb0a1;--line: #3e352d;--terracotta: #ef8a6b;--ochre: #e8c878;--teal: #4fb5a7;--c-flight: #4fb5a7;--c-lodging: #ef8a6b;--c-activity: #dcab3c;--c-food: #e5776a;--c-transport: #8eaeca;--c-other: #a89e97;--accent: #ef8a6b;--accent-ink: #1b1714;--link: #72cdbf;--focus-ring: #72cdbf;--overlay-hero: linear-gradient(0deg, #1b1714f0 0%, #1b1714d9 45%, #1b171433 100%);--overlay-backdrop: #1b1714b3;--band: #120f0d;--band-ink: #ebd09a;--overlay-landing: linear-gradient(0deg, color-mix(in srgb, var(--band) 92%, transparent) 0%, color-mix(in srgb, var(--band) 78%, transparent) 45%, color-mix(in srgb, var(--band) 30%, transparent) 80%, color-mix(in srgb, var(--band) 70%, transparent) calc(100% - 72px) , color-mix(in srgb, var(--band) 70%, transparent) 100%);--on-overlay-landing: #faf6f0;--band-text: #f3ebe0;--band-edge: var(--line);--success: #86c190;--warn: #e6b54e;--danger: #f08576;--status-idea: #cfc2b3;--status-idea-bg: #342c26;--status-planned: #f0d48e;--status-planned-bg: #3d321d;--status-booked: #93d8cd;--status-booked-bg: #1c3833;--status-done: #b7d5aa;--status-done-bg: #29361f;--shadow-1: 0 1px 2px #00000059, 0 0 0 1px #f3ebe00a;--shadow-2: 0 6px 18px #00000073, 0 0 0 1px #f3ebe00f;--shadow-3: 0 20px 48px #0000008c, 0 0 0 1px #f3ebe014;--shadow-tile: 0 10px 28px #00000080, 0 0 0 1px #f3ebe00f}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #1b1714;--paper-2: #241e1a;--card: #2a231e;--ink: #f3ebe0;--ink-soft: #bdb0a1;--line: #3e352d;--terracotta: #ef8a6b;--ochre: #e8c878;--teal: #4fb5a7;--c-flight: #4fb5a7;--c-lodging: #ef8a6b;--c-activity: #dcab3c;--c-food: #e5776a;--c-transport: #8eaeca;--c-other: #a89e97;--accent: #ef8a6b;--accent-ink: #1b1714;--link: #72cdbf;--focus-ring: #72cdbf;--overlay-hero: linear-gradient(0deg, #1b1714f0 0%, #1b1714d9 45%, #1b171433 100%);--overlay-backdrop: #1b1714b3;--band: #120f0d;--band-ink: #ebd09a;--overlay-landing: linear-gradient(0deg, color-mix(in srgb, var(--band) 92%, transparent) 0%, color-mix(in srgb, var(--band) 78%, transparent) 45%, color-mix(in srgb, var(--band) 30%, transparent) 80%, color-mix(in srgb, var(--band) 70%, transparent) calc(100% - 72px) , color-mix(in srgb, var(--band) 70%, transparent) 100%);--on-overlay-landing: #faf6f0;--band-text: #f3ebe0;--band-edge: var(--line);--success: #86c190;--warn: #e6b54e;--danger: #f08576;--status-idea: #cfc2b3;--status-idea-bg: #342c26;--status-planned: #f0d48e;--status-planned-bg: #3d321d;--status-booked: #93d8cd;--status-booked-bg: #1c3833;--status-done: #b7d5aa;--status-done-bg: #29361f;--shadow-1: 0 1px 2px #00000059, 0 0 0 1px #f3ebe00a;--shadow-2: 0 6px 18px #00000073, 0 0 0 1px #f3ebe00f;--shadow-3: 0 20px 48px #0000008c, 0 0 0 1px #f3ebe014;--shadow-tile: 0 10px 28px #00000080, 0 0 0 1px #f3ebe00f}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;transition:background-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-semibold);line-height:var(--leading-tight);margin:0}strong,b{font-weight:var(--weight-semibold)}a{color:var(--link)}a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}button{font-family:var(--font-ui);cursor:pointer}.entry-cost,.cost-cell,.stat-chip,.day-cost,.num,.budget-label{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:1ms!important;animation-duration:1ms!important}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.route-shell,.page{flex:1;display:flex;flex-direction:column}.content{width:100%;max-width:1100px;margin:0 auto;padding:var(--space-5) var(--space-5) 96px}.splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);background:var(--paper);color:var(--accent)}.splash-wordmark{font-family:var(--font-display);font-style:italic;font-size:var(--text-3xl);color:var(--ink-soft)}.splash-mark{display:flex}.boot-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;transition:opacity var(--dur-base) var(--ease-in)}html #boot-splash{visibility:visible}.boot-splash>*{animation:loader-in var(--dur-base) var(--ease-out) .2s both}.boot-splash.is-leaving{opacity:0;pointer-events:none}.boot-splash.is-leaving>*{animation-play-state:paused}.route-line{display:block;overflow:visible;animation:route-fade 1.6s var(--ease-loader) infinite}.route-line--sm{width:48px;height:10px}.route-line--sm .route-line-arc{stroke-width:3;stroke-dasharray:.1 7}.route-line--sm circle{r:4}.route-line--md{width:96px;height:20px}.route-line--lg{width:160px;height:32px}.route-line-arc{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round}.route-line-reveal{fill:var(--ink);transform-box:fill-box;transform-origin:left center;animation:route-draw 1.6s var(--ease-loader) infinite}.route-line-start{fill:var(--ink-soft)}.route-line-end{fill:var(--accent);transform-box:fill-box;transform-origin:center;animation:route-arrive 1.6s var(--ease-loader) infinite}@keyframes route-draw{0%{transform:scaleX(0)}62%,to{transform:scaleX(1)}}@keyframes route-arrive{0%,60%{transform:scale(1)}70%{transform:scale(1.35)}80%,to{transform:scale(1)}}@keyframes route-fade{0%{opacity:0}8%,82%{opacity:1}to{opacity:0}}@keyframes loader-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.route-line,.route-line-reveal,.route-line-end{animation:none!important}}@media print{.loader,.skeleton,.skeleton-trip-grid,.skeleton-timeline,.skeleton-trip-body,.skeleton-trip-toolbar .stat-chips,.skeleton-sidebar,.skeleton-hero-block,.boot-splash{display:none!important}[data-route-fade]{opacity:1!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.section-title{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.3;letter-spacing:-.005em;font-weight:var(--weight-semibold);color:var(--ink);margin:var(--space-6) 0 var(--space-3);display:flex;align-items:baseline;gap:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 10%,var(--card));color:var(--ink);font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.45;letter-spacing:.01em;font-weight:var(--weight-medium);text-decoration:none;scroll-margin:var(--space-2);transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 18%,var(--card))}:where(.trip-toolbar,.share-nudge,.packing-panel,.notes-panel,.chat-panel,.trip-sidebar,.template-section,.copy-code,.link-extractor,.item-comment,.place-field-panel,.mcp-token-panel,.calendar-feed-token-panel) .btn:not(.btn-primary,.btn-danger,.btn-danger-ghost){border-color:color-mix(in srgb,var(--ink-soft) 30%,var(--card))}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible,.btn-primary:focus-visible,.btn-danger:focus-visible,.btn-danger-ghost:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn svg{width:18px;height:18px;flex:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:var(--weight-semibold);box-shadow:var(--glow-primary)}.btn-primary:disabled,.btn-primary[aria-disabled=true]{box-shadow:none}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,var(--ink));border-color:color-mix(in srgb,var(--accent) 88%,var(--ink));color:var(--accent-ink)}.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--card);font-weight:var(--weight-semibold)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 88%,var(--ink));border-color:color-mix(in srgb,var(--danger) 88%,var(--ink));color:var(--card)}.btn-danger-ghost{background:var(--card);border-color:var(--danger);color:var(--danger)}.btn-danger-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 12%,var(--card));border-color:var(--danger);color:var(--danger)}.icon-btn{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--ink);font-size:var(--text-base);line-height:1;text-decoration:none;scroll-margin:var(--space-2);transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.icon-btn:hover:not(:disabled){background:var(--paper-2)}.icon-btn:active:not(:disabled){transform:translateY(1px)}.icon-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.icon-btn:disabled,.icon-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.icon-btn svg{width:20px;height:20px}.link-btn{background:none;border:none;padding:var(--space-1) 0;color:var(--link);font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.45;text-align:left;text-decoration:underline;text-underline-offset:2px;transition:color var(--dur-fast) var(--ease-out)}.link-btn:hover:not(:disabled){color:color-mix(in srgb,var(--link) 80%,var(--ink))}.link-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}.link-btn:disabled,.link-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-3);border:1px solid transparent;border-radius:var(--radius-pill);background:var(--card);color:var(--ink);font-size:var(--text-sm);line-height:1.45;letter-spacing:.01em;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;transition:background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}button.chip:focus-visible,a.chip:focus-visible,.chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.chip-active{background:var(--status-planned-bg);color:var(--status-planned)}.chip-upcoming{background:var(--status-booked-bg);color:var(--status-booked)}.chip-past{background:var(--status-idea-bg);color:var(--status-idea)}.chip-shared{background:var(--status-idea-bg);color:var(--status-idea);border:1px dashed var(--line)}.chip-active:focus-visible,.chip-upcoming:focus-visible,.chip-past:focus-visible,.chip-shared:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.stat-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:32px;padding:var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);color:var(--ink);font-size:var(--text-sm);line-height:1.45;font-weight:var(--weight-medium);white-space:nowrap}.budget-chip{gap:var(--space-2)}.budget-chip.warn,.budget-label.warn{color:var(--warn)}.budget-chip.over,.budget-label.over{color:var(--danger)}.budget-bar{position:relative;display:inline-block;width:72px;height:8px;border-radius:var(--radius-pill);background:var(--card);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink-soft) 70%,var(--card))}.budget-meter-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;overflow:hidden;transform-origin:left center}@media (prefers-reduced-motion: no-preference){.budget-meter-fill{animation:budget-grow var(--dur-slow) var(--ease-out) both}}@keyframes budget-grow{0%{transform:scaleX(0)}}.budget-fill,.budget-key{--meter-color: var(--teal)}.budget-fill{position:absolute;inset:0 auto 0 0;display:block}.budget-fill--actual{background:var(--meter-color)}.budget-fill--planned{background:repeating-linear-gradient(135deg,var(--meter-color) 0 2px,transparent 2px 5px)}.budget-fill.warn,.budget-label.warn .budget-key{--meter-color: var(--warn)}.budget-fill.over,.budget-label.over .budget-key{--meter-color: var(--danger)}.budget-meter-alert{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;border-radius:1px;background:var(--ink)}.budget-key{padding-bottom:2px;background-position:left bottom;background-size:100% 3px;background-repeat:no-repeat}.budget-key--actual{background-image:linear-gradient(var(--meter-color),var(--meter-color))}.budget-key--planned{background-image:repeating-linear-gradient(135deg,var(--meter-color) 0 2px,transparent 2px 4px)}.budget-flag{font-weight:var(--weight-semibold)}.budget-flag.warn{color:var(--warn)}.budget-flag.over{color:var(--danger)}@media (forced-colors: active){.budget-bar{forced-color-adjust:none;background:Canvas;box-shadow:none;outline:1px solid CanvasText}.budget-fill,.budget-fill.warn,.budget-fill.over,.budget-key,.budget-label.warn .budget-key,.budget-label.over .budget-key{--meter-color: CanvasText}.budget-key{forced-color-adjust:none;color:CanvasText}.budget-meter-alert{background:Highlight}}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:calc(100% + var(--space-2));z-index:30;min-width:200px;padding:var(--space-1) 0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);color:var(--ink);box-shadow:var(--shadow-2);overflow:hidden}.menu-label{padding:var(--space-2) var(--space-4);color:var(--ink-soft);font-size:var(--text-sm);line-height:1.45;overflow-wrap:anywhere}.menu-label+.menu-item,.menu-label+.theme-toggle{border-top:1px solid var(--line)}.menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-2) var(--space-4);border:none;background:none;color:var(--ink);font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.45;text-align:left;text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out)}.menu-item:hover:not(:disabled){background:var(--paper-2)}.menu-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.menu-item:disabled,.menu-item[aria-disabled=true]{opacity:.5;cursor:not-allowed}.menu-item.danger{color:var(--danger)}.menu-item svg{width:18px;height:18px;flex:none}.theme-toggle{display:flex;gap:2px;margin:var(--space-2) var(--space-3);padding:3px;border-radius:var(--radius-pill);background:var(--paper-2)}.theme-toggle-option{flex:1;min-height:36px;padding:0 var(--space-3);border:none;border-radius:var(--radius-pill);background:transparent;color:var(--ink-soft);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.theme-toggle-option:hover{color:var(--ink)}.theme-toggle-option.selected,.theme-toggle-option[aria-checked=true]{background:var(--accent);color:var(--accent-ink)}.theme-toggle-option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (forced-colors: active){.theme-toggle{border:1px solid CanvasText}.theme-toggle-option.selected,.theme-toggle-option[aria-checked=true]{forced-color-adjust:none;background:Highlight;color:HighlightText}}.muted{color:var(--ink-soft)}.center{text-align:center}.err{color:var(--danger);font-style:normal;font-size:var(--text-sm);line-height:1.45}@media (max-width: 699px){.content{padding:var(--space-4) var(--space-4) 110px}.theme-toggle-option{min-height:44px}.chip,.stat-chip,.link-btn{font-size:var(--text-sm)}}.toasts{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:100;display:flex;flex-direction:column;gap:var(--space-2);width:min(380px,calc(100vw - 2 * var(--space-5)));pointer-events:none}.toast-live{position:fixed;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.toast{pointer-events:auto;display:grid;grid-template-columns:20px minmax(0,1fr) 32px;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border-left:4px solid var(--line);background:var(--card);color:var(--ink);box-shadow:var(--shadow-2);font-size:var(--text-sm);line-height:var(--leading-normal)}.toast-icon{width:20px;height:20px;flex:none}.toast-message{min-width:0}.toast-success{border-left-color:var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-error .toast-icon{color:var(--danger)}.toast-close{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-md);background:none;color:var(--ink-soft);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.toast-close svg{width:16px;height:16px}.toast-close:hover{background:var(--paper-2);color:var(--ink)}.toast-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (max-width: 699px){.toasts{right:var(--space-3);left:var(--space-3);width:auto;bottom:calc(var(--space-3) + env(safe-area-inset-bottom))}body:has(.tab-bar) .toasts{bottom:calc(72px + env(safe-area-inset-bottom))}.toast{grid-template-columns:20px minmax(0,1fr) 44px}.toast-close{width:44px;height:44px}}.offline-banner{position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;align-items:center;justify-content:center;gap:var(--space-2);overflow:hidden;max-height:0;padding:0 var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,var(--paper));pointer-events:none}.offline-banner.offline-banner-visible{max-height:48px;border-top:1px solid var(--line);padding:var(--space-2) var(--space-4)}.offline-banner svg{width:16px;height:16px;flex:none}body:has(.offline-banner-visible){padding-bottom:48px}@media (min-width: 700px){body:has(.offline-banner-visible) .trip-sidebar:not(.collapsed){height:calc(100dvh - var(--app-header-h, 56px) - 48px)}}@media (max-width: 699px){.offline-banner{bottom:calc(56px + env(safe-area-inset-bottom,0px))}body:has(.offline-banner-visible){padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);height:56px;padding:0 var(--space-5);background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line);color:var(--ink)}.wordmark{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:1;letter-spacing:-.01em;color:var(--ink);text-decoration:none;border-radius:var(--radius-sm)}.wordmark:hover{color:var(--ink)}.wordmark:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.wordmark.big{display:block;font-size:var(--text-4xl);line-height:var(--leading-display);letter-spacing:-.015em;text-align:center}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.header-actions-slot{display:contents}.header-actions-group{display:flex;align-items:center;gap:var(--space-2)}.app-header .icon-btn{width:44px;height:44px}.app-header .menu{min-width:240px}.app-header .menu-account{display:flex;flex-direction:column;gap:2px}.app-header .menu-account-name{color:var(--ink);font-weight:var(--weight-semibold)}.app-header .menu-item+.menu-label{border-top:1px solid var(--line);margin-top:var(--space-1);padding-top:var(--space-3);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:var(--weight-semibold)}.app-header .menu-label+.theme-toggle{border-top:0}@media (max-width: 699px){.app-header{gap:var(--space-2);height:52px;padding:0 var(--space-4)}.app-header .btn:focus-visible{outline-offset:2px}.app-header .menu-item+.menu-label{font-size:var(--text-sm)}}.auth-page,.login-page{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--space-6) var(--space-4);background:var(--paper);color:var(--ink)}.auth-page>.hero-loop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.page>.auth-page{flex:1;min-height:0}.auth-card,.login-card{position:relative;z-index:1;width:min(420px,100%);padding:var(--space-6);background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);text-align:center}.auth-card h2{font-family:var(--font-display);font-size:var(--text-2xl);line-height:var(--leading-tight);margin:0 0 var(--space-2)}.auth-message{color:var(--ink-soft);margin:0 0 var(--space-5)}.auth-message.err{color:var(--danger)}.auth-card .btn-primary{width:100%}.login-card .wordmark.big{font-size:var(--text-4xl);color:var(--ink);text-align:center}.login-tagline{margin:var(--space-2) 0 var(--space-5);font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);color:var(--ink-soft)}.login-card .form{text-align:left}.login-card .form .btn-primary{width:100%}.login-card .form .link-btn{align-self:center}.login-sent{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--status-booked-bg);color:var(--status-booked);text-align:left;line-height:var(--leading-normal)}.login-sent strong{color:var(--status-booked);overflow-wrap:anywhere}.btn-google{width:100%;justify-content:center;background:var(--card);border:1px solid var(--ink-soft);color:var(--ink);font-weight:var(--weight-semibold);transition:background-color var(--dur-fast) var(--ease-out)}.btn-google:hover:not(:disabled){background:var(--paper-2)}.btn-google:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.auth-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--ink-soft);font-size:var(--text-sm)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.auth-mode-toggle{display:flex;width:100%;margin-bottom:var(--space-4);justify-content:center}.auth-mode-toggle button{flex:1}.invite-preview{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-3);background:var(--paper-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-md);text-align:left}.invite-preview-thumb{flex:none;width:64px;height:64px;border-radius:var(--radius-sm);background-size:cover;background-position:center}.invite-preview-text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:var(--text-sm);color:var(--ink-soft)}.invite-preview-eyebrow{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:var(--weight-semibold)}.invite-preview-title{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-tight);color:var(--ink)}@media (max-width: 699px){.login-page{display:block;place-items:normal;padding:0 0 var(--space-6)}.login-page>.hero-loop{position:relative;inset:auto;height:40vh}.login-page>.auth-card{width:auto;margin:calc(-1 * var(--space-6)) var(--space-4) 0;padding:var(--space-5) var(--space-4)}.login-card .wordmark.big{font-size:var(--text-3xl)}.invite-preview-eyebrow{font-size:var(--text-sm)}.auth-card .link-btn{min-height:44px}}.auth-card h2[tabindex="-1"]:focus{outline:none}.hero-loop{position:relative;overflow:hidden;isolation:isolate;background:var(--paper-2);color:var(--ink)}.hero-loop-media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;pointer-events:none}.hero-loop-media::-webkit-media-controls{display:none!important}.hero-loop-media::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}.hero-loop-media::-webkit-media-controls-overlay-play-button{display:none!important}.hero-loop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:var(--overlay-hero);pointer-events:none}.hero-loop-content{position:relative;z-index:2}.hero-loop-overlay--landing{background:var(--overlay-landing)}.hero-loop[tabindex="-1"]:focus{outline:none}.hero-loop-pause{position:absolute;right:var(--space-7);bottom:var(--space-5);z-index:3;display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid currentColor;border-radius:var(--radius-pill);background:transparent;color:var(--ink);transition:opacity var(--dur-fast) var(--ease-out)}.hero-loop-pause svg{width:20px;height:20px;fill:currentColor}.hero-loop-pause:hover{opacity:.85}.hero-loop-pause:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.hero-loop-overlay--landing~.hero-loop-pause{color:var(--on-overlay-landing)}.hero-loop-overlay--landing~.hero-loop-pause:focus-visible{outline-color:var(--on-overlay-landing)}@media (max-width: 699px){.hero-loop-pause{right:var(--space-4);bottom:var(--space-4)}}.loader{display:flex;align-items:center;justify-content:center;color:var(--accent)}.loader--md{padding:var(--space-5) 0}.loader--lg{padding:var(--space-6) 0}.loader--sm{display:inline-flex;padding:0;vertical-align:middle}.loader.is-hidden .route-line,.loader.is-hidden .route-line *{visibility:hidden;animation-play-state:paused}.skeleton-trip-grid.is-hidden,.skeleton-timeline.is-hidden,.skeleton-trip-body.is-hidden,.skeleton-trip-toolbar .stat-chips.is-hidden,.skeleton-sidebar.is-hidden,.skeleton-hero-block.is-hidden{visibility:hidden}.skeleton-loader-slot{visibility:visible;position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;pointer-events:none}.skeleton-card>.skeleton-loader-slot{inset:0 0 auto;aspect-ratio:16 / 9}.skeleton-loader-slot--top{top:0;left:0;right:0}.skeleton{background:color-mix(in srgb,var(--ink) 9%,transparent);border-radius:var(--radius-sm)}.skeleton-heading{width:min(12rem,60%);height:calc(var(--text-xl) * 1.3);margin:var(--space-6) 0 var(--space-3)}.skeleton-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-1)}.skeleton-card-cover{aspect-ratio:16 / 9;border-radius:0}.skeleton-card-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4)}.skeleton-bar{height:var(--text-base)}.skeleton-bar--title{width:70%;height:var(--text-lg)}.skeleton-bar--meta{width:45%}.skeleton-timeline{display:flex;flex-direction:column;gap:var(--space-4)}.skeleton-day{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-1);overflow:hidden}.skeleton-day-band{height:56px;border-radius:var(--radius-md) var(--radius-md) 0 0}.skeleton-day-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);min-height:96px}.trip-hero.skeleton-hero-block{background-color:color-mix(in srgb,var(--ink) 9%,var(--paper-2))}.skeleton-trip-body{position:relative}.skeleton-rows{display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-filter-row{width:min(32rem,80%);height:44px;border-radius:var(--radius-md)}.skeleton-table-row{height:44px}.skeleton-list-row{height:56px;border-radius:var(--radius-md)}.skeleton-bar-row{display:flex;align-items:center;gap:var(--space-3);min-height:32px}.skeleton-bar-row-label{flex:none;width:20%;height:var(--text-sm)}.skeleton-bar-row-bar{width:30%;height:20px;border-radius:var(--radius-pill)}.skeleton-text{display:block;max-width:100%;height:calc(var(--text-sm) * 1.45)}.skeleton-pill{display:block;width:72px;height:28px;border-radius:var(--radius-pill)}.skeleton-budget-bar{display:block;align-self:stretch;height:8px;border-radius:var(--radius-pill)}.skeleton-btn-icon{display:inline-block;flex:none;width:16px;height:16px}.skeleton-sidebar{gap:var(--space-3);padding:var(--space-3)}.skeleton-sidebar-head{height:40px}.skeleton-sidebar-icon{width:32px;height:32px;border-radius:var(--radius-sm)}@media (max-width: 699px){.skeleton-pill{height:44px}}.home-header{height:320px;margin:0 0 var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.home-header .hero-loop-content{height:100%;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:nowrap;gap:var(--space-4);padding:var(--space-6)}.home-header .hero-loop-content>.btn{flex:none}.hero-loop.home-header{color:var(--ink)}.home-header-text{min-width:0;overflow-wrap:anywhere}.home-status{margin:0 0 var(--space-4);font-size:var(--text-sm)}.home-status:empty{position:absolute;margin:0}.home-greeting{margin:0 0 var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.08em;color:var(--ink)}.home-title{margin:0;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--ink)}.trip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-5)}.trip-card-motion{display:flex;min-width:0}.trip-card{position:relative;flex:1;min-width:0;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.trip-card:focus-visible,.trip-card:has(.trip-card-link:focus-visible){transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--shadow-2);outline:2px solid var(--focus-ring);outline-offset:3px}@media (hover: hover){.trip-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--shadow-2)}.trip-card:active{transform:translateY(-1px)}}@media (prefers-reduced-motion: reduce){.trip-card:hover,.trip-card:active,.trip-card:focus-visible,.trip-card:has(.trip-card-link:focus-visible){transform:none}}.trip-card-link{display:block;color:inherit;text-decoration:none}.trip-card-link:hover{color:inherit}.trip-card-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}.trip-card:has(.trip-card-link:focus-visible) .trip-card-link:focus-visible{outline:none}.trip-cover{position:relative;aspect-ratio:16 / 9;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:var(--space-3) var(--space-4);background-size:cover;background-position:center}.trip-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-hero);z-index:0}.trip-cover>*{position:relative;z-index:1}.trip-destination{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.08em;line-height:1.3;color:var(--ink);max-width:100%;overflow-wrap:anywhere}.trip-card-body{padding:var(--space-4)}.trip-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--ink)}.trip-dates{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--ink-soft)}.trip-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);margin-top:var(--space-3);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink-soft)}.trip-card-actions{position:absolute;top:var(--space-2);right:var(--space-2);z-index:2;display:flex;gap:var(--space-1)}.trip-card-actions .icon-btn{background:color-mix(in srgb,var(--card) 88%,transparent);color:var(--ink);box-shadow:var(--shadow-1)}.trip-card-actions .icon-btn:hover{background:var(--card)}.trip-card-actions a.icon-btn{color:var(--link)}.empty-state{padding:var(--space-8) var(--space-5);text-align:center;color:var(--ink-soft)}.empty-state h2{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--text-2xl);color:var(--ink)}.empty-state p{max-width:52ch;margin:0 auto;text-wrap:pretty}.empty-state .btn{margin-top:var(--space-5)}.empty-state .empty-state-aside{margin-top:var(--space-5);font-size:var(--text-sm)}.empty-state.aurora{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:22rem;padding:var(--space-7) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);color:var(--ink)}.aurora-glow{position:absolute;z-index:-1;width:60%;aspect-ratio:1;border-radius:50%;filter:blur(32px);animation:aurora-drift 18s var(--ease-out) infinite alternate}.aurora-glow--a{top:-30%;left:-12%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 35%,transparent),transparent 68%)}.aurora-glow--b{top:-20%;right:-18%;background:radial-gradient(circle,color-mix(in srgb,var(--focus-ring) 30%,transparent),transparent 68%);animation-duration:23s;animation-direction:alternate-reverse}.aurora-glow--c{bottom:-40%;left:24%;background:radial-gradient(circle,color-mix(in srgb,var(--ochre) 35%,transparent),transparent 70%);animation-duration:21s}.empty-state.aurora.is-offscreen .aurora-glow{animation-play-state:paused}@keyframes aurora-drift{0%{transform:translate(0) scale(1)}to{transform:translate(14%,10%) scale(1.15)}}.aurora-panel{max-width:36rem;padding:var(--space-6);border-radius:var(--radius-md);background:color-mix(in srgb,var(--paper) 64%,transparent);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2)}.empty-state.aurora p{color:var(--ink)}@media (prefers-reduced-motion: reduce){.aurora-glow{animation:none!important}}@media (forced-colors: active){.aurora-glow{display:none}}@media (max-width: 699px){.home-header{height:220px;margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-4);border-radius:0;box-shadow:none}.home-header .hero-loop-content{padding:var(--space-4)}.home-title{font-size:var(--text-2xl)}.trip-grid{grid-template-columns:1fr;gap:var(--space-4)}.trip-card-actions .icon-btn{width:44px;height:44px}.empty-state.aurora{min-height:20rem;padding:var(--space-5) var(--space-3)}.aurora-panel{padding:var(--space-5) var(--space-4)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--band) 55%,transparent);display:grid;place-items:center;z-index:50;padding:var(--space-6)}.modal{background:var(--card);color:var(--ink);border-radius:var(--radius-lg);width:min(560px,100%);max-height:calc(100dvh - 2 * var(--space-6));display:flex;flex-direction:column;box-shadow:var(--shadow-3);overflow:hidden}.modal:has(.item-form){width:min(640px,100%)}.modal:focus,.modal:focus-visible{outline:none}.modal-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--card);border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-family:var(--font-display);font-size:var(--text-xl);line-height:1.3;letter-spacing:-.005em;color:var(--ink)}.modal-head .icon-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.modal-body{padding:var(--space-5);overflow-y:auto;overscroll-behavior:contain}.confirm-body{margin:0 0 var(--space-4);color:var(--ink);line-height:var(--leading-normal)}.form{display:flex;flex-direction:column;gap:var(--space-4)}.field{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.field>span{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-soft)}.field>small{font-size:var(--text-sm);line-height:1.45}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-3)}.field.checkbox{flex-direction:row;align-items:center;gap:var(--space-2);min-height:44px}.field.checkbox>span{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--ink)}input,select,textarea{font-family:var(--font-ui);font-size:var(--text-base);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb,var(--ink-soft) 55%,var(--card));border-radius:var(--radius-md);background:var(--paper-2);color:var(--ink);width:100%;min-height:44px;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--ink-soft);opacity:1}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--ink-soft)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--accent)}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true],input[aria-invalid=true]:hover:not(:disabled),select[aria-invalid=true]:hover:not(:disabled),textarea[aria-invalid=true]:hover:not(:disabled),input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus,input[aria-invalid=true]:focus-visible,select[aria-invalid=true]:focus-visible,textarea[aria-invalid=true]:focus-visible{border-color:var(--danger)}input[type=checkbox]{width:20px;height:20px;min-height:0;padding:0;accent-color:var(--accent);flex:none}textarea{resize:vertical;line-height:var(--leading-normal)}textarea.autogrow{line-height:var(--leading-normal);resize:none;overflow-y:hidden}.segmented{display:flex;flex-wrap:wrap;gap:2px;padding:3px;background:var(--paper-2);border-radius:var(--radius-pill);align-self:flex-start;max-width:100%}.segmented button{display:inline-flex;align-items:center;gap:var(--space-1);border:0;background:transparent;color:var(--ink-soft);border-radius:var(--radius-pill);padding:0 var(--space-3);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);min-height:36px;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.segmented button:hover:not(.selected){color:var(--ink);background:color-mix(in srgb,var(--ink-soft) 12%,var(--paper-2))}.segmented button.selected{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-1)}.segmented button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.segmented-glyph{display:inline-flex;color:var(--glyph, currentColor)}.segmented button.selected .segmented-glyph{color:currentColor}@media (forced-colors: active){.segmented button.selected,.segmented button[aria-checked=true],.segmented button[aria-pressed=true],.segmented .expense-split-option:has(input:checked){forced-color-adjust:none;background:Highlight;color:HighlightText;outline:2px solid Highlight}.segmented button:focus-visible,.segmented .expense-split-option:has(input:focus-visible){outline:2px solid CanvasText;outline-offset:3px}}.more-details{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line)}.more-details-toggle{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;min-height:44px;padding:0 var(--space-3) 0 var(--space-2);border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.more-details-toggle:hover{background:color-mix(in srgb,var(--ink-soft) 12%,var(--card))}.more-details-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.more-details-chevron{flex:none;transition:transform var(--dur-fast) var(--ease-out)}.more-details-toggle[aria-expanded=true] .more-details-chevron{transform:rotate(90deg)}.more-details-panel{display:flex;flex-direction:column;gap:var(--space-4)}.more-details-panel[hidden]{display:none}.swatches{display:flex;gap:var(--space-2);flex-wrap:wrap}.swatch{width:32px;height:32px;padding:0;border-radius:50%;border:2px solid var(--card);box-shadow:0 0 0 1px var(--line);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.swatch:hover{transform:scale(1.08)}.swatch.selected{box-shadow:0 0 0 2px var(--ink)}.swatch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}@media (forced-colors: active){.swatch{forced-color-adjust:none;border-color:Canvas;box-shadow:0 0 0 1px CanvasText}.swatch.selected,.swatch[aria-pressed=true]{box-shadow:0 0 0 2px Canvas,0 0 0 4px CanvasText}.swatch:focus-visible{outline-color:Highlight;outline-offset:5px}}.link-row{display:grid;grid-template-columns:1fr 2fr auto;gap:var(--space-2);margin-bottom:var(--space-2);align-items:start}.link-row .err{grid-column:1 / -1}.link-row .icon-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.field.field-filled>span{color:var(--accent)}.field.field-filled input:not([type=checkbox]),.field.field-filled textarea,.field.field-filled .segmented,.field.field-filled .date-field-btn{box-shadow:0 0 0 2px var(--accent)}.field.field-filled.checkbox>span{text-decoration:underline dotted;text-underline-offset:3px}.field-filled-note{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.form-actions .spacer,.spacer{flex:1}@media (prefers-reduced-motion: reduce){input,select,textarea,.segmented button,.swatch,.more-details-toggle,.more-details-chevron{transition:none}}@media (max-width: 699px){.modal-overlay{padding:0;place-items:end stretch}.modal,.modal:has(.item-form){width:100%;height:100dvh;max-height:100dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-head{padding-top:calc(var(--space-4) + env(safe-area-inset-top))}.modal-body{padding-bottom:0}.field-row{grid-template-columns:minmax(0,1fr)}input,select,textarea{font-size:max(1rem,16px)}.segmented button{min-height:44px}.segmented.segmented-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.25rem,1fr));align-self:stretch;border-radius:var(--radius-md)}.segmented.segmented-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented.segmented-grid button,.segmented.segmented-grid .expense-split-option{justify-content:center;padding-inline:var(--space-2);border-radius:var(--radius-sm);text-align:center}.modal .link-btn{display:inline-flex;align-items:center;min-height:44px}.swatch{width:44px;height:44px}.link-row{grid-template-columns:1fr auto}.link-row>input:nth-child(2){grid-column:1 / 2;grid-row:2}.form-actions{position:sticky;bottom:0;z-index:1;margin:var(--space-2) calc(-1 * var(--space-5)) 0;padding:var(--space-3) var(--space-5) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line)}.form-actions .btn{padding-inline:var(--space-4)}}.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.wf-datepicker{position:relative}.date-field-btn{width:100%;text-align:left;min-height:44px;padding:var(--space-2) var(--space-3);background:var(--paper-2);border:1px solid color-mix(in srgb,var(--ink-soft) 55%,var(--card));border-radius:var(--radius-md);font:inherit;font-size:var(--text-base);color:var(--ink);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out)}.date-field-btn:hover{border-color:var(--ink-soft)}.date-field-btn[aria-expanded=true]{border-color:var(--accent)}.date-field-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--accent)}.date-field-btn.placeholder{color:var(--ink-soft)}.wf-datepicker-pop{position:fixed;z-index:1000;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-3);padding:var(--space-3)}.wf-datepicker-pop .rdp-root,.rdp-root{--rdp-accent-color: var(--accent);--rdp-accent-background-color: color-mix(in srgb, var(--accent) 16%, var(--card));--rdp-day_button-border: 2px solid var(--focus-ring);--rdp-range_middle-background-color: color-mix(in srgb, var(--accent) 16%, var(--card));--rdp-range_middle-color: var(--ink);--rdp-range_start-color: var(--accent-ink);--rdp-range_end-color: var(--accent-ink);--rdp-range_start-date-background-color: var(--accent);--rdp-range_end-date-background-color: var(--accent);--rdp-today-color: var(--link);--rdp-selected-border: 2px solid var(--accent);font-family:var(--font-ui);color:var(--ink)}.rdp-root .rdp-day:not(.rdp-selected) .rdp-day_button:not(:focus-visible){border-color:transparent}.rdp-root .rdp-day_button:focus-visible{outline:none}.rdp-root .rdp-button_previous:focus-visible,.rdp-root .rdp-button_next:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-radius:var(--radius-md)}.rdp-root .rdp-chevron{fill:var(--ink-soft)}.rdp-root .rdp-caption_label{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink)}.rdp-root .rdp-weekday{color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--weight-semibold);opacity:1}.rdp-root .rdp-selected:not(.rdp-range_middle) .rdp-day_button{background:var(--accent);color:var(--accent-ink)}.rdp-root .rdp-range_middle .rdp-day_button{color:var(--ink)}.wf-datepicker-pop .wf-trip-day,.wf-trip-day{position:relative;background:var(--paper-2);font-weight:var(--weight-semibold)}.wf-trip-day:after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--teal);pointer-events:none}.wf-datepicker-hint{margin:var(--space-2) var(--space-1) 0;font-size:var(--text-sm);color:var(--ink-soft)}.wf-datepicker-backdrop{display:none}@media (max-width: 699px){.wf-datepicker-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--band) 55%,transparent);z-index:999}.wf-datepicker-pop{position:fixed;left:0;right:0;bottom:0;top:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:0;padding:var(--space-4) var(--space-3) calc(var(--space-4) + env(safe-area-inset-bottom))}.wf-datepicker-pop .rdp-root{--rdp-day-height: 46px;--rdp-day-width: 46px;--rdp-day_button-height: 44px;--rdp-day_button-width: 44px;margin:0 auto}}.destination-suggest{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-2);padding:var(--space-1);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-2)}.destination-suggest-item,.destination-suggest-selected{display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);border:0;border-radius:var(--radius-sm);background:var(--card);font:inherit;font-size:var(--text-sm);color:var(--ink);text-align:left}.destination-suggest-item{width:100%;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.destination-suggest-item:hover,.destination-suggest-item:active{background:var(--paper-2);color:var(--ink)}.destination-suggest-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.destination-suggest-selected{justify-content:space-between;padding-left:var(--space-3);background:color-mix(in srgb,var(--teal) 14%,var(--card));color:var(--ink);font-weight:var(--weight-medium)}.destination-suggest-selected button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.destination-suggest-thumb{flex:none;width:40px;height:40px;object-fit:cover;border-radius:var(--radius-sm);background:var(--paper-2)}@media (prefers-reduced-motion: reduce){.destination-suggest-item{transition:none}}@media (max-width: 699px){.destination-suggest-item,.destination-suggest-selected{min-height:48px;font-size:var(--text-base)}}.countdown-dial{position:relative;display:grid;place-items:center;width:72px;height:72px;color:var(--ink)}.countdown-dial svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.countdown-dial-disc{fill:var(--card);stroke:color-mix(in srgb,var(--ink-soft) 30%,var(--card));stroke-width:1}.countdown-dial-off{stroke:color-mix(in srgb,var(--ink-soft) 45%,var(--card));stroke-width:1.5;stroke-linecap:round}.countdown-dial-on{stroke:var(--accent);stroke-width:3;stroke-linecap:round}.countdown-dial-read{position:relative;display:grid;justify-items:center;line-height:1}.countdown-dial-days{white-space:nowrap;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.countdown-dial-unit{margin-top:1px;color:var(--ink-soft);font-size:var(--text-sm)}@media (forced-colors: active){.countdown-dial svg{forced-color-adjust:none}.countdown-dial-disc{fill:Canvas;stroke:CanvasText;stroke-width:1}.countdown-dial-on{stroke:Highlight}.countdown-dial-off{stroke:GrayText}}.trip-cover>.visited-stamp-tilt{position:absolute;top:64px;right:var(--space-3);transform:rotate(-6deg);pointer-events:none}.visited-stamp{position:relative;display:grid;justify-items:center;gap:1px;width:max-content;max-width:9rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--card);color:var(--accent);text-align:center}.visited-stamp-defs{position:absolute;width:0;height:0;overflow:hidden}.visited-stamp-frame{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:2px solid var(--accent);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--card),inset 0 0 0 3px var(--accent)}.visited-stamp-kicker,.visited-stamp-date{font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.12em;line-height:1.2;font-variant-numeric:tabular-nums}.visited-stamp-place{display:-webkit-box;max-width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1.2;overflow-wrap:anywhere}.trip-cover.is-visited .trip-destination{max-width:calc(100% - 10.5rem)}@media (forced-colors: active){.visited-stamp{background:Canvas;color:CanvasText}.visited-stamp-frame{filter:none!important;border-color:CanvasText;box-shadow:none}}.lf-arrow{flex:none;display:block;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.lf-arrow--up{transform:rotate(-90deg)}.lf-line{stroke-dasharray:1 1;stroke-dashoffset:.55;transition:stroke-dashoffset var(--dur-base) var(--ease-out)}.lf-dot{fill:currentColor;stroke:none;transition:transform var(--dur-base) var(--ease-out)}.lf-head{transition:transform var(--dur-base) var(--ease-out)}.route-arrow-link:hover .lf-line,.route-arrow-link:focus-visible .lf-line{stroke-dashoffset:0}.route-arrow-link:hover .lf-dot,.route-arrow-link:focus-visible .lf-dot{transform:translate(11px)}.route-arrow-link:hover .lf-head,.route-arrow-link:focus-visible .lf-head{transform:translate(2px)}@media (forced-colors: active){.lf-arrow{stroke:CanvasText}.lf-dot{fill:CanvasText}}.app-footer{margin-top:auto;border-top:1px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px)}.app-footer-inner{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:var(--space-6) var(--space-8);width:100%;max-width:var(--app-footer-column, 1100px);margin:0 auto;padding:var(--space-6) var(--space-5)}.app-footer-heading{margin:0 0 var(--space-2);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}.app-footer-group ul{margin:0;padding:0;list-style:none}.app-footer-link{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;color:var(--link);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none}.app-footer-link-label{background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat;padding-bottom:2px;transition:background-size var(--dur-base) var(--ease-out)}.app-footer-link:hover .app-footer-link-label,.app-footer-link:focus-visible .app-footer-link-label{background-size:100% 1px}.app-footer-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}@media (max-width: 699px){.app-footer-inner{grid-template-columns:minmax(0,1fr);gap:var(--space-5);padding:var(--space-5) var(--space-4)}}@media print{.app-footer{display:none}}.has-backdrop{isolation:isolate}.page-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(var(--overlay-backdrop),var(--overlay-backdrop)),url(/assets/backdrop-light-DKkvwW-Y.jpg) center / cover no-repeat}:root[data-theme=dark] .page-backdrop{background-image:linear-gradient(var(--overlay-backdrop),var(--overlay-backdrop)),url(/assets/backdrop-dark-CVRkxonW.jpg)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .page-backdrop{background-image:linear-gradient(var(--overlay-backdrop),var(--overlay-backdrop)),url(/assets/backdrop-dark-CVRkxonW.jpg)}}@media (max-width: 699px){.page-backdrop{background-position:0 0,22% 100%}}@media print{.page-backdrop{display:none}}@media (forced-colors: active){.page-backdrop{display:none}}.profile-content{max-width:60rem;margin:0 auto}.profile-page{--app-footer-column: 60rem}.profile-content>h1{margin:0 0 var(--space-5);font-family:var(--font-display);font-size:var(--text-2xl);color:var(--ink)}.profile-layout[hidden],.profile-section-body[hidden]{display:none}.profile-layout{display:grid;grid-template-columns:12.5rem minmax(0,45rem);gap:var(--space-6);align-items:start}.profile-nav{position:sticky;top:calc(56px + var(--space-5))}.profile-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.profile-nav-link{position:relative;display:flex;min-height:44px;border-radius:var(--radius-md);color:var(--ink-soft);font-weight:var(--weight-medium);text-decoration:none;transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.profile-nav-link:hover{color:var(--ink)}.profile-nav-link:not([aria-current=page]):hover{background:color-mix(in srgb,var(--card) 55%,var(--paper))}.profile-nav-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.profile-nav-pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-1)}.profile-nav-content{position:relative;display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3)}.profile-nav-link[aria-current=page]{color:var(--ink);font-weight:var(--weight-semibold)}.profile-nav-link[aria-current=page] svg{color:var(--accent)}@media (forced-colors: active){.profile-nav-pill{forced-color-adjust:none;background:Highlight;box-shadow:none}.profile-nav-link[aria-current=page],.profile-nav-link[aria-current=page] svg{forced-color-adjust:none;color:HighlightText}.profile-nav-link[aria-current=page]:focus-visible{outline-color:CanvasText}}.profile-section-head{margin:0 0 var(--space-5)}.profile-section-head h2{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:var(--text-xl);color:var(--ink)}.profile-section-head h2:focus{outline:none}.profile-section-head p{margin:0;font-size:var(--text-sm)}.profile-section-body{display:flex;flex-direction:column;gap:var(--space-5)}.profile-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-5)}.profile-card>h3{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink)}.profile-card:focus{outline:none}.profile-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.profile-hint{margin:0 0 var(--space-4);font-size:var(--text-sm);max-width:65ch}.form>.profile-hint{margin:0}.profile-content .form-actions{justify-content:flex-start;flex-wrap:wrap}.save-status{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--success);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.save-status-dirty{color:var(--ink-soft);font-size:var(--text-sm)}.profile-card .theme-toggle{width:fit-content;max-width:100%;margin:0 0 var(--space-4)}.profile-unit-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.profile-unit-row .field{flex:0 1 12rem}.profile-unit-row .save-status{min-height:44px}.profile-airport-field{max-width:12rem}.setup-steps{list-style:none;margin:var(--space-4) 0 0;padding:0;counter-reset:setup-step;display:flex;flex-direction:column;gap:var(--space-6)}.setup-step{counter-increment:setup-step;position:relative;padding-left:calc(28px + var(--space-4));min-width:0}.setup-step:before{content:counter(setup-step);position:absolute;top:0;left:0;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-pill);background:var(--band);color:var(--band-ink);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.setup-step:not(:last-child):after{content:"";position:absolute;top:calc(28px + var(--space-2));bottom:calc(-1 * var(--space-6) + var(--space-2));left:13.5px;width:1px;background:var(--line)}.setup-step-title{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:28px;color:var(--ink)}.profile-list{list-style:none;margin:0;padding:0;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.profile-list li+li{border-top:1px solid var(--line)}.profile-list-link{display:flex;align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-3) var(--space-4);color:var(--ink);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out)}.profile-list-link:active{background:var(--paper-2)}.profile-list-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.profile-list-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:var(--radius-pill);background:var(--paper-2);color:var(--accent)}.profile-list-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.profile-list-label{font-weight:var(--weight-semibold)}.profile-list-summary{font-size:var(--text-sm);color:var(--ink-soft)}.profile-list-link>svg{flex:none;color:var(--ink-soft)}.profile-back{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;margin:0 0 var(--space-2) calc(-1 * var(--space-2));padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--link);font-weight:var(--weight-semibold);text-decoration:none}.profile-back:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.mcp-scope-field{display:flex;flex-direction:column;gap:var(--space-3);margin:0 0 var(--space-4);padding:0;border:0}.mcp-scope-field>legend{padding:0;margin:0 0 var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink)}.mcp-scope-option{display:flex;flex-direction:column;gap:var(--space-1)}.mcp-scope-option-label{display:flex;align-items:center;gap:var(--space-2);min-height:44px;cursor:pointer;color:var(--ink)}.mcp-scope-option-label input[type=radio]{width:20px;height:20px;flex:0 0 auto;accent-color:var(--accent)}.mcp-scope-help{margin:0 0 0 calc(20px + var(--space-2));font-size:var(--text-sm)}.mcp-scope-warning{margin:0 0 var(--space-4);padding:var(--space-3);background:color-mix(in srgb,var(--warn) 14%,var(--card));border:1px solid color-mix(in srgb,var(--warn) 45%,var(--card));border-radius:var(--radius-md);color:var(--ink);font-size:var(--text-sm)}.mcp-token-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);margin:var(--space-4) 0 0;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-md)}.mcp-token-panel-copy{margin:0;font-weight:var(--weight-semibold);color:var(--ink)}.mcp-token-panel-hint{margin:0;font-size:var(--text-sm)}.mcp-token-panel .copy-code{max-width:100%}.mcp-token-panel .copy-code-value{overflow-wrap:anywhere;min-width:0}.mcp-token-list-title{margin:var(--space-6) 0 var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--line);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--ink)}.mcp-token-more{margin-top:var(--space-3)}.mcp-token-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.mcp-token-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md)}.mcp-token-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.mcp-token-name{font-weight:var(--weight-semibold);color:var(--ink);overflow-wrap:anywhere}.mcp-token-meta{font-size:var(--text-sm);color:var(--ink-soft)}.calendar-feed-info{display:flex;flex-direction:column;gap:var(--space-3)}.calendar-feed-info p{margin:0;color:var(--ink)}#calendar-feed .form-actions{flex-wrap:wrap;justify-content:flex-start}.calendar-feed-hint{align-self:flex-start;font-size:var(--text-sm);color:var(--ink-soft)}.calendar-feed-token-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);margin:var(--space-4) 0 0;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-md)}.calendar-feed-token-copy{margin:0;font-weight:var(--weight-semibold);color:var(--ink)}.calendar-feed-token-hint{margin:0;font-size:var(--text-sm)}@media (max-width: 699px){.profile-layout{display:block}.profile-content.is-list>h1{margin-bottom:var(--space-4)}.profile-card{padding:var(--space-4)}.profile-section-body{gap:var(--space-4)}.setup-step{padding-left:calc(28px + var(--space-3))}.mcp-token-row{flex-direction:column;align-items:stretch}.mcp-token-row .btn{align-self:flex-start}.profile-hint,.mcp-token-meta{font-size:var(--text-sm)}.profile-content .form-actions{position:static;margin:var(--space-2) 0 0;padding:0;border-top:none;background:none}.profile-content .link-btn{min-height:44px}}.connect-ai-note{padding:var(--space-2) var(--space-3);margin:0 0 var(--space-3);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-md);font-size:var(--text-sm)}.connect-ai-note code{font-family:ui-monospace,SF Mono,Menlo,monospace}.connect-ai-groups{display:flex;flex-direction:column;gap:var(--space-4)}.connect-ai-group{margin:0;padding:0;border:none;min-width:0}.connect-ai-group>legend{padding:0;margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-soft)}.connect-ai-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.connect-ai-card{display:flex;align-items:flex-start;gap:var(--space-3);min-height:44px;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);color:var(--ink);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.connect-ai-card:hover{border-color:var(--ink-soft)}.connect-ai-card input[type=radio]{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent);cursor:pointer}.connect-ai-card:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--card))}.connect-ai-card:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.connect-ai-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.connect-ai-card-label{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);color:var(--ink)}.connect-ai-card-tagline{font-size:var(--text-sm);color:var(--ink-soft)}.connect-ai-beta{background:var(--paper-2);border-color:var(--line)}.connect-ai-snippet{display:flex;flex-direction:column;gap:var(--space-2);counter-reset:connect-ai-step}.connect-ai-step{counter-increment:connect-ai-step;margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink)}.connect-ai-step:before{content:counter(connect-ai-step) ". ";color:var(--ink-soft)}.connect-ai-step--alt{counter-increment:none}.connect-ai-step--alt:before{content:none}.connect-ai-step code{font-family:ui-monospace,SF Mono,Menlo,monospace}.connect-ai-hint{margin:0;max-width:65ch;font-size:var(--text-sm)}.connect-ai-hint code{font-family:ui-monospace,SF Mono,Menlo,monospace;overflow-wrap:anywhere}.connect-ai-footnote{margin:var(--space-3) 0 0;max-width:65ch;font-size:var(--text-sm)}@media (max-width: 699px){.connect-ai-cards{grid-template-columns:minmax(0,1fr)}.connect-ai-card-tagline,.connect-ai-beta{font-size:var(--text-sm)}}.copy-code{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--paper-2);color:var(--ink);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:1.5;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.copy-code:hover{border-color:var(--ink-soft)}.copy-code:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.copy-code-icon{width:14px;height:14px;flex:none;color:var(--ink-soft)}.copy-code.is-copied{background:var(--card);border-color:var(--success)}.copy-code.is-copied .copy-code-icon{color:var(--success)}.copy-code-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.copy-code-error{margin:var(--space-1) 0 0;color:var(--danger);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:normal}.copy-code-block{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2);width:100%;max-width:100%;padding:var(--space-3);cursor:default}.copy-code-pre{flex:1 1 0;min-width:0;margin:0;overflow-wrap:anywhere;white-space:pre-wrap;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;-webkit-user-select:text;user-select:text}.copy-code-copy-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);color:var(--ink-soft);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.copy-code-copy-btn:hover{border-color:var(--ink-soft);color:var(--ink)}.copy-code-copy-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.copy-code-block.is-copied .copy-code-copy-btn{border-color:var(--success);color:var(--success)}.copy-code-block.has-error{border-color:var(--danger)}.copy-code-block .copy-code-error{flex:1 1 100%;margin:0}@media (max-width: 699px){.copy-code{min-height:44px}}.template-manager{display:flex;flex-direction:column;gap:var(--space-4);max-width:720px;color:var(--ink)}.template-hint{margin:0;color:var(--ink-soft);font-size:var(--text-sm)}.template-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--paper-2)}.template-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.template-section-head h3{margin:0;font-size:var(--text-md, 1rem);color:var(--ink)}.template-empty{margin:0;padding:var(--space-3) 0;color:var(--ink-soft);font-size:var(--text-sm)}.template-shared-heading{margin:0;color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.08em}.template-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.template-row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--card);color:var(--ink)}.template-row-readonly{background:color-mix(in srgb,var(--ink-soft) 6%,var(--card))}.template-row-main{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.template-row-info{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);min-width:0}.template-name{font-weight:var(--weight-semibold);overflow-wrap:break-word}.template-count,.template-author{color:var(--ink-soft);font-size:var(--text-sm)}.template-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.template-share-toggle{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--ink-soft);font-size:var(--text-sm)}.template-share-toggle input{accent-color:var(--accent)}.template-entry-editor{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid color-mix(in srgb,var(--ink-soft) 25%,var(--card))}.template-entry-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:var(--space-2)}.template-entry-row-itinerary{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1.4fr) auto}.template-entry-row input,.template-entry-row select,.template-entry-row textarea{min-width:0;font-size:var(--text-sm)}.template-entry-notes{resize:none;overflow-y:hidden;font-family:inherit;line-height:var(--leading-normal)}.template-entry-editor-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}@media (max-width: 699px){.template-entry-row,.template-entry-row-itinerary{grid-template-columns:1fr}.template-row-actions .link-btn,.template-section-head .btn,.template-share-toggle{min-height:44px}.template-share-toggle input{width:20px;height:20px}.template-count,.template-author,.template-hint,.template-shared-heading,.template-entry-row input,.template-entry-row select,.template-entry-row textarea{font-size:var(--text-sm)}}.trip-page{--trip-frame-max: 1440px;--trip-frame-pad: var(--space-5);background:var(--paper);color:var(--ink)}.trip-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;width:calc(100% - 2 * var(--trip-frame-pad));max-width:calc(var(--trip-frame-max) - 2 * var(--trip-frame-pad));min-height:260px;margin:var(--space-4) auto 0;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--paper-2);background-size:cover;background-position:center;box-shadow:var(--shadow-1);color:var(--ink)}.trip-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--overlay-hero)}.trip-hero-inner{width:100%;padding:var(--space-6);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.trip-hero-text{min-width:0;flex:1 1 auto}.trip-headline{margin:0;font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-semibold);line-height:var(--leading-display);letter-spacing:-.015em;color:var(--ink);overflow-wrap:anywhere}.trip-hero-sub{margin-top:var(--space-2);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--ink);font-variant-numeric:tabular-nums}.trip-status-note{font-size:var(--text-sm)}.trip-status-note:empty{position:absolute}.trip-offline-note{padding:var(--space-5) 0}.trip-toolbar{width:calc(100% - 2 * var(--trip-frame-pad));max-width:calc(var(--trip-frame-max) - 2 * var(--trip-frame-pad));margin:var(--space-3) auto 0;padding:var(--space-2) var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;background:var(--paper-2);color:var(--ink);border-radius:var(--radius-md)}.stat-chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.trip-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.trip-toolbar .budget-chip{flex-direction:column;align-items:flex-start;gap:var(--space-1);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);white-space:normal}.budget-rows{display:flex;flex-direction:column;gap:2px}.budget-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2)}.budget-share-toggle{align-self:flex-start;padding:0 var(--space-2);min-height:28px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-medium)}.budget-share-toggle[aria-pressed=true]{border-color:var(--accent);color:var(--ink)}.budget-share-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.budget-flag-slot{display:inline-grid;justify-items:start}.budget-flag-slot>*{grid-area:1 / 1;white-space:nowrap}.budget-flag-sizer{visibility:hidden;font-weight:var(--weight-semibold)}.budget-threshold{color:var(--ink-soft);font-size:var(--text-sm)}.trip-toolbar .budget-bar{align-self:stretch;width:auto}.trip-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.trip-actions .btn{display:inline-flex;align-items:center;gap:var(--space-2)}.trip-icon{flex:none}.drafts-tray-wrap{display:contents}.tab-bar{width:calc(100% - 2 * var(--trip-frame-pad));max-width:calc(var(--trip-frame-max) - 2 * var(--trip-frame-pad));margin:var(--space-4) auto 0;display:flex;gap:var(--space-5);border-bottom:1px solid var(--line)}.tab-bar a{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-1);text-decoration:none;color:var(--ink-soft);font-weight:var(--weight-medium);transition:color var(--dur-fast) var(--ease-out)}.tab-bar a:hover{color:var(--ink)}.tab-bar a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;border-radius:var(--radius-md)}.tab-bar a.active,.tab-bar a[aria-current=page]{color:var(--ink)}.tab-bar .tab-icon{display:none}.tab-label{display:inline-flex;align-items:center}.tab-indicator{position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--accent)}.trip-content{padding-top:var(--space-5)}@media (max-width: 699px){.trip-hero{width:100%;min-height:200px;margin:0;border-radius:0;box-shadow:none}.trip-hero-inner{flex-direction:column;align-items:stretch;padding:var(--space-4)}.trip-compact-bar{position:fixed;top:52px;left:0;right:0;z-index:15;display:flex;align-items:center;height:56px;padding:0 var(--space-4);background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow-1)}.trip-compact-day{flex:none;margin-left:auto;padding-left:var(--space-3);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;font-variant-numeric:tabular-nums;letter-spacing:.08em;white-space:nowrap}.trip-compact-bar .trip-headline{min-width:0;font-size:var(--text-lg);line-height:var(--leading-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-content .timeline-day{scroll-margin-top:calc(52px + 56px + var(--space-2))}.trip-headline{font-size:var(--text-3xl);letter-spacing:-.015em}.trip-page{--trip-frame-pad: var(--space-4)}.trip-toolbar{flex-wrap:nowrap;align-items:flex-start;margin-top:var(--space-3);padding:var(--space-2) var(--space-3)}.trip-toolbar .stat-chips{flex:1 1 auto;min-width:0}.trip-toolbar .trip-actions{flex:none}.trip-actions .btn{min-height:44px}.budget-share-toggle{min-height:44px;padding:0 var(--space-3)}.budget-threshold{display:none}.app-header .header-actions:has(.trip-header-actions),.header-actions-group.trip-header-actions{gap:var(--space-1)}.trip-header-actions .header-btn .btn-label{display:none}.trip-header-actions .header-btn{min-width:44px;padding-inline:var(--space-3)}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;width:100%;max-width:none;height:calc(56px + env(safe-area-inset-bottom,0px));margin:0;padding:0 0 env(safe-area-inset-bottom,0px);gap:0;background:var(--card);border-top:1px solid var(--line);border-bottom:none;box-shadow:var(--shadow-2)}.tab-bar a,.tab-bar a.tab-chat,.tab-bar a.tab-packing{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:44px;padding:0;font-size:var(--text-sm);color:var(--ink-soft)}.tab-bar a.active,.tab-bar a[aria-current=page]{color:var(--ink)}.tab-bar .tab-icon{display:inline-flex}.tab-bar .tab-label{display:none;line-height:1.2}.tab-indicator{top:-1px;bottom:auto;left:20%;right:20%;height:3px;border-radius:0 0 3px 3px}.trip-content{padding-top:var(--space-4);padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}}.trip-content:focus,.trip-headline:focus{outline:none}.drafts-tray{display:inline-flex}.drafts-trigger{position:relative;min-height:44px;white-space:nowrap;font-variant-numeric:tabular-nums}.drafts-trigger-icon,.drafts-trigger-badge{display:none}.drafts-tray-error{display:inline-flex;align-items:center}.drafts-list{max-height:min(70vh,420px);overflow-y:auto;margin:0;list-style:none}.draft-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--line)}.draft-row:first-child{border-top:0}.draft-row-main{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-width:0;flex:1}.draft-source,.draft-title{color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-medium);overflow-wrap:anywhere}.draft-status{font-size:var(--text-sm)}.draft-error{overflow-wrap:anywhere}.draft-review{min-height:44px}.draft-dismiss{flex-shrink:0;min-height:44px;padding-inline:var(--space-4)}.draft-confirm{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.draft-confirm-label{color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap}.draft-discard,.draft-cancel{min-height:44px}@media (max-width: 699px){.drafts-trigger{min-width:44px;padding:0}.drafts-trigger-icon{display:block;transform:translate(-3px,4px)}.drafts-trigger-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.drafts-trigger-badge{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1}.drafts-tray .menu{position:fixed;top:calc(52px + var(--space-2));inset-inline:var(--space-4);width:auto;min-width:0;max-width:none}.draft-row{flex-wrap:wrap}.draft-review,.draft-dismiss{width:100%}.draft-confirm{flex-wrap:wrap;width:100%}.draft-confirm-label{width:100%;white-space:normal}.draft-discard,.draft-cancel{flex:1}}@media (forced-colors: active){.drafts-trigger-badge{forced-color-adjust:none;background:Highlight;color:HighlightText;border:1px solid CanvasText}}.export-menu{display:inline-flex}.export-menu-list{min-width:240px;max-width:calc(100vw - 2 * var(--space-4))}.export-menu-item{display:flex;flex-direction:column}.export-menu-hint{font-size:var(--text-xs);color:var(--ink-soft);padding:0 var(--space-4) var(--space-2)}@media (max-width: 699px){.export-menu-hint{font-size:var(--text-sm)}.export-menu-list .menu-item{min-height:44px}}.trip-actions-menu{display:inline-flex}.trip-actions-trigger{min-width:44px;min-height:44px;border-color:var(--line);border-radius:var(--radius-md);background:var(--card)}.trip-actions-trigger[aria-expanded=true]{background:var(--paper-2)}.trip-actions-list{min-width:240px;max-width:calc(100vw - 2 * var(--space-4));max-height:min(70vh,520px);overflow-y:auto}.trip-actions-group{margin-top:var(--space-1);border-top:1px solid var(--line)}.trip-actions-list .menu-item{min-height:44px}.item-form-fx-hint{font-size:var(--text-sm)}.item-form-add-to-ledger-wrap{display:flex;flex-direction:column;align-self:end;gap:var(--space-1)}.item-form-ledger-hint{font-size:var(--text-sm)}.item-form-group-features{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line)}.item-form-saved-hint{margin:0;padding-top:var(--space-4);border-top:1px solid var(--line);font-size:var(--text-sm)}.item-form-offline-hint{font-size:var(--text-sm);color:var(--ink-soft)}@media (max-width: 699px){.item-form-add-to-ledger-wrap{align-self:stretch}.item-form-add-to-ledger{min-height:44px}}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1.5;white-space:nowrap}.badge svg{width:12px;height:12px;flex:none}.badge-idea{color:var(--status-idea);background:var(--status-idea-bg);border:1px dashed var(--line)}.badge-planned{color:var(--status-planned);background:var(--status-planned-bg)}.badge-booked{color:var(--status-booked);background:var(--status-booked-bg)}.badge-done{color:var(--status-done);background:var(--status-done-bg)}.lock-badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1.5;white-space:nowrap;color:var(--ink-soft);background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--line)}.type-badge{display:inline-flex;align-items:center;gap:4px;color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap}.type-badge-glyph{display:inline-grid;place-items:center;flex:none}.type-badge svg{width:16px;height:16px;flex:none}.type-icon{width:28px;height:28px;min-width:28px;border-radius:50%;display:inline-grid;place-items:center}.type-icon svg{width:16px;height:16px}@media (max-width: 699px){.badge,.lock-badge{font-size:var(--text-sm)}}.assignee-picker{display:flex;flex-direction:column;gap:var(--space-2)}.assignee-chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.assignee-chip{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--teal) 22%,var(--card));color:var(--link);border:1px solid var(--line);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1}.assignee-chip-more{background:var(--paper-2);color:var(--ink-soft)}.assignee-fieldset{display:flex;flex-direction:column;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);margin:0}.assignee-fieldset legend{padding:0 var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-soft)}.assignee-option{min-height:44px}.modal:has(.expense-form){width:min(600px,100%)}.expense-readonly-note{margin:0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--paper-2);color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--leading-normal)}.expense-view{display:flex;flex-direction:column;gap:var(--space-4)}.expense-view-fields{display:flex;flex-direction:column;gap:var(--space-2);margin:0}.expense-view-fields>div{display:flex;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}.expense-view-fields dt{color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.expense-view-fields dd{margin:0;font-variant-numeric:tabular-nums}.expense-fx-hint{font-size:var(--text-sm)}.expense-split-method{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.expense-split-method legend{padding:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-soft)}.expense-split-option{position:relative;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);min-height:44px;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-soft);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.expense-split-option:has(input:checked){background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-1)}.expense-split-option:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:3px}.expense-split-option input[type=radio]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer}.expense-members{display:flex;flex-direction:column;gap:var(--space-2)}.expense-member-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.expense-member-row:last-child{border-bottom:0}.expense-member-include{flex:1;min-width:160px}.expense-member-value{width:140px;flex:none}.expense-member-preview{font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin-left:auto}@media (max-width: 699px){.expense-member-row{flex-direction:column;align-items:stretch}.expense-member-value{width:100%}.expense-member-preview{margin-left:0}}.expense-form .field>label{display:flex;flex-direction:column;gap:var(--space-1)}.expense-form .field>label>span{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-soft)}.item-attachments{display:flex;flex-direction:column;gap:var(--space-2)}.item-attachments-field input[type=file]{min-height:44px;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink-soft);font-size:var(--text-sm);cursor:pointer}.item-attachments-field input[type=file]::file-selector-button{min-height:44px;margin-inline-end:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 10%,var(--card));color:var(--ink);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.45;letter-spacing:.01em;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.item-attachments-field input[type=file]:hover:not(:disabled)::file-selector-button{background:color-mix(in srgb,var(--accent) 18%,var(--card))}.item-attachments-field input[type=file]:disabled::file-selector-button{cursor:not-allowed}.item-attachments-field input[type=file]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.item-attachments-error{display:flex;flex-direction:column;gap:var(--space-1);background:color-mix(in srgb,var(--danger) 12%,var(--card));border:1px solid var(--danger);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--ink)}.item-attachments-error p{margin:0;word-break:break-word}.item-attachments-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.item-attachments-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.item-attachments-link{flex:1 1 auto;min-width:0;min-height:44px;display:inline-flex;align-items:center;color:var(--link);font-size:var(--text-sm);line-height:var(--leading-normal);word-break:break-all;text-decoration:underline;text-underline-offset:2px}.item-attachments-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.item-attachments-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.item-attachments-actions .link-btn{min-height:44px;display:inline-flex;align-items:center}.item-attachments-actions .icon-btn{min-width:44px;min-height:44px}.item-attachments-offline-notice{flex-basis:100%;font-size:var(--text-sm);color:var(--ink-soft)}@media (max-width: 699px){.item-attachments-row{flex-direction:column;align-items:stretch}.item-attachments-actions{justify-content:flex-start}}.item-comments{display:flex;flex-direction:column;gap:var(--space-3)}.item-comments-empty{font-size:var(--text-sm)}.item-comments-error{display:flex;align-items:center;gap:var(--space-3);color:var(--danger);font-size:var(--text-sm)}.item-comments-list{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none}.item-comment{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--paper-2);border-radius:var(--radius-sm)}.item-comment-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2)}.item-comment-author{font-weight:var(--weight-semibold);color:var(--ink)}.item-comment-time,.item-comment-edited{font-size:var(--text-sm);color:var(--ink-soft)}.item-comment-body{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.item-comment-body .mention{color:var(--link);font-weight:var(--weight-semibold)}.item-comment-body .mention-me{color:var(--status-planned);background:var(--status-planned-bg);border-radius:var(--radius-sm);padding:0 3px}.item-comment-actions{display:flex;gap:var(--space-3)}.item-comment-actions .link-btn{min-height:44px}.item-comments-hint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.item-comment-edit{display:flex;flex-direction:column;gap:var(--space-2)}.item-comment-edit-input{width:100%;resize:none;min-height:44px}.item-comment-edit-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.item-comments-composer{display:flex;align-items:flex-end;gap:var(--space-2)}.item-comments-input{flex:1;min-width:0;resize:none;min-height:44px}@media (max-width: 699px){.item-comment-time,.item-comment-edited,.item-comments-empty{font-size:var(--text-sm)}.item-comments-composer{flex-direction:column;align-items:stretch}.item-comments-composer .btn{min-height:44px}}.link-extractor{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-2)}.link-extractor-field{gap:var(--space-1)}.link-extractor-input{resize:vertical}.link-extractor-error{display:flex;flex-direction:column;gap:var(--space-1);background:color-mix(in srgb,var(--danger) 12%,var(--card));border:1px solid var(--danger);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--ink)}.link-extractor-error p{margin:0;word-break:break-word}.link-extractor-notice{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--ink-soft)}.link-extractor-notice:not(:empty){background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.link-extractor-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.link-extractor-actions .btn{min-height:44px}.link-extractor-mode{display:flex;flex-direction:column;gap:var(--space-2)}.link-extractor-mode-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-soft)}.link-extractor-mode-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.link-extractor-mode-option{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);border:1px solid color-mix(in srgb,var(--ink-soft) 55%,var(--card));border-radius:var(--radius-md);background:var(--card);color:var(--ink);font-size:var(--text-sm);line-height:var(--leading-normal);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.link-extractor-mode-option:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--card))}.link-extractor-mode-option input[type=radio]{width:18px;height:18px;min-height:0;padding:0;flex:none;accent-color:var(--accent)}.link-extractor-mode-option input[type=radio]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.link-extractor-screenshot{display:flex;flex-direction:column;gap:var(--space-2)}.link-extractor-field input[type=file]{min-height:44px;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink-soft);font-size:var(--text-sm);cursor:pointer}.link-extractor-field input[type=file]::file-selector-button{min-height:44px;margin-inline-end:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid color-mix(in srgb,var(--ink-soft) 30%,var(--card));border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 10%,var(--card));color:var(--ink);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.45;letter-spacing:.01em;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.link-extractor-field input[type=file]:hover:not(:disabled)::file-selector-button{background:color-mix(in srgb,var(--accent) 18%,var(--card))}.link-extractor-field input[type=file]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.link-extractor-file-chip{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.link-extractor-file-name{font-size:var(--text-sm);color:var(--ink-soft);word-break:break-all}.link-extractor-file-chip .link-btn{min-height:44px;display:inline-flex;align-items:center}@media (max-width: 699px){.link-extractor{padding:var(--space-3) var(--space-2)}.link-extractor-actions .btn{flex:1 1 auto}}.place-field{display:flex;flex-direction:column;gap:var(--space-2)}.place-field-status{margin:0;color:var(--ink);font-size:var(--text-sm)}.place-field-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-2)}.place-field-search-status{margin:0;font-size:var(--text-sm)}.place-field-candidates{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.place-field-candidate{display:flex;align-items:center;width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.place-field-candidate:hover:not(:disabled){background:var(--paper-2)}.place-field-candidate:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.place-field-candidate:disabled{opacity:.6;cursor:not-allowed}.place-field-attribution{margin:0;font-size:var(--text-xs)}.place-field-coords{display:flex;flex-direction:column;gap:var(--space-2)}@media (max-width: 699px){.place-field-attribution{font-size:var(--text-sm)}.place-field-toggle,.place-field-attribution a,.place-field-status-attribution a{min-height:44px;display:inline-flex;align-items:center}}.share-dialog{display:flex;flex-direction:column}.share-section{padding:var(--space-5) 0;border-top:1px solid var(--line)}.share-section:first-child{padding-top:0;border-top:none}.share-section:last-child{padding-bottom:0}.share-section h3{margin:0 0 var(--space-3);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.share-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.share-row{display:flex;align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card)}.share-avatar{display:inline-grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:color-mix(in srgb,var(--teal) 14%,var(--card));color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1}.member-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.owner-badge,.invite-badge{display:inline-block;flex:none;padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap}.owner-badge{background:var(--status-booked-bg);color:var(--status-booked)}.invite-badge{background:var(--status-idea-bg);color:var(--status-idea)}.share-inline-form{display:flex;gap:var(--space-2)}.share-inline-form input{flex:1;min-width:0}.share-inline-form .btn{flex:none}.share-hint{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:var(--leading-normal)}.share-link-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.share-link-input{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink)}.share-regenerate{margin-top:var(--space-2)}@media (max-width: 699px){.share-dialog .btn{min-height:44px}.share-dialog{padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom))}.share-inline-form{flex-direction:column}.share-inline-form .btn{width:100%}.share-link-row{flex-direction:column}.share-link-row .btn{width:100%}}.trip-layout{--app-header-h: 56px;max-width:var(--trip-frame-max, 1440px);margin:0 auto;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-5);padding:0 var(--trip-frame-pad, var(--space-5))}.trip-layout>.trip-content{max-width:none;margin:0;padding-left:0;padding-right:0}.trip-layout.open{--sidebar-w: 340px}.trip-layout.collapsed{--sidebar-w: 48px}.trip-sidebar{position:sticky;top:var(--app-header-h, 56px);align-self:start;width:var(--sidebar-w, 340px);height:calc(100dvh - var(--app-header-h, 56px));display:flex;flex-direction:column;background:var(--paper-2);color:var(--ink);border-left:1px solid var(--line);overflow:hidden;margin-top:var(--space-4)}.trip-sidebar.collapsed{height:auto;align-items:center;gap:var(--space-1);padding:var(--space-1) 0}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:48px;padding:0 var(--space-1) 0 var(--space-2);background:var(--paper-2);border-bottom:1px solid var(--line)}.sidebar-tabs{display:flex;gap:var(--space-1)}.sidebar-tabs button{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:.01em;color:var(--ink-soft);background:none;border:none;border-bottom:2px solid transparent;padding:var(--space-2) var(--space-3);min-height:44px;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.sidebar-tabs button svg{width:16px;height:16px;flex:none}.sidebar-tabs button:hover:not(.active){color:var(--ink)}.sidebar-tabs button:focus-visible,.sidebar-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;border-radius:var(--radius-md)}.sidebar-tabs button.active{color:var(--ink);background:var(--card);border-bottom-color:var(--accent)}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);font-family:var(--font-ui);font-size:var(--text-sm);background:none;border:none;border-radius:var(--radius-md);color:var(--ink-soft);cursor:pointer;padding:var(--space-2);min-width:44px;min-height:44px;transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.sidebar-toggle:hover{color:var(--ink);background:color-mix(in srgb,var(--ink-soft) 12%,var(--paper-2))}.sidebar-toggle svg{width:20px;height:20px;flex:none}.sidebar-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;background:var(--paper-2)}.sidebar-body>.chat-panel{flex:1;min-height:0}.nav-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-left:var(--space-1);vertical-align:middle}.nav-at{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--space-1);margin-left:var(--space-1);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1}.tab-chat,.tab-bar .tab-chat,.tab-packing,.tab-bar .tab-packing{display:none}@media (max-width: 699px){.trip-layout,.trip-layout.open,.trip-layout.collapsed{display:block;padding:0}.tab-chat,.tab-bar .tab-chat{display:block}.tab-packing,.tab-bar .tab-packing{display:flex}.trip-content>.chat-panel{height:72dvh;min-height:320px;border:1px solid var(--line);border-radius:var(--radius-md);overflow:clip}}.chat-panel{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--paper-2);color:var(--ink)}.chat-list{flex:1;min-height:0;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);background:var(--paper-2)}.chat-load-older{align-self:center;font-size:var(--text-xs);padding:var(--space-1) var(--space-4)}.chat-error{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);background:color-mix(in srgb,var(--danger) 12%,var(--card));border:1px solid var(--danger);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--ink)}.chat-error p{margin:0;word-break:break-word}.chat-msg{position:relative;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--radius-sm);padding:var(--space-2) var(--space-3);max-width:min(85%,560px);align-self:flex-start}.chat-msg.mine{align-self:flex-end;background:color-mix(in srgb,var(--teal) 14%,var(--card));border-color:color-mix(in srgb,var(--teal) 28%,var(--line));border-radius:var(--radius-md) var(--radius-md) var(--radius-sm) var(--radius-md)}.chat-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-1) var(--space-2);font-size:var(--text-xs);line-height:1.4;color:var(--ink-soft);margin-bottom:2px}.chat-author{font-weight:var(--weight-semibold);color:var(--ink)}.chat-time{color:var(--ink-soft);font-variant-numeric:tabular-nums}.chat-edited{color:var(--ink-soft)}.chat-body{white-space:pre-wrap;word-break:break-word;font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--ink)}.mention{color:var(--link);font-weight:var(--weight-semibold)}.mention-me{color:var(--status-planned);background:var(--status-planned-bg);border-radius:var(--radius-sm);padding:0 3px}.chat-msg-actions{display:flex;gap:var(--space-3);margin-top:var(--space-1)}@media (hover: hover) and (min-width: 700px){.chat-msg-actions{opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.chat-msg:hover .chat-msg-actions,.chat-msg:focus-within .chat-msg-actions{opacity:1}}.chat-edit{display:flex;flex-direction:column;gap:var(--space-2)}.chat-edit-input{font-family:var(--font-ui);font-size:var(--text-sm);padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);color:var(--ink);resize:vertical;min-height:44px}.chat-edit-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.chat-reactions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);margin-top:var(--space-1);position:relative}.chat-reaction,.chat-reaction-add{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-ui);font-size:var(--text-sm);line-height:1;min-height:28px;border:1px solid var(--line);background:var(--paper-2);border-radius:var(--radius-pill);padding:0 var(--space-2);cursor:pointer;color:var(--ink);transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.chat-reaction:hover,.chat-reaction-add:hover{background:color-mix(in srgb,var(--teal) 14%,var(--card));border-color:color-mix(in srgb,var(--teal) 40%,var(--line))}.chat-reaction:focus-visible,.chat-reaction-add:focus-visible,.chat-reaction-picker button:focus-visible,.mention-suggest-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.chat-reaction.reacted{border:1px solid var(--teal);background:color-mix(in srgb,var(--teal) 14%,var(--card));color:var(--ink);font-weight:var(--weight-medium)}.chat-reaction-add{color:var(--ink-soft);padding:0 var(--space-2)}.chat-reaction-add svg{width:14px;height:14px}.chat-reaction-picker{position:absolute;bottom:100%;left:0;margin-bottom:var(--space-1);display:flex;gap:var(--space-1);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:var(--space-1);z-index:5}.chat-reaction-picker button{border:none;background:none;border-radius:var(--radius-md);font-size:var(--text-lg);line-height:1;cursor:pointer;padding:var(--space-1);min-height:32px;transition:background-color var(--dur-fast) var(--ease-out)}.chat-reaction-picker button:hover{background:var(--paper-2)}.chat-composer{position:relative;border-top:1px solid var(--line);background:var(--card);padding:var(--space-2) var(--space-3)}.mention-suggest{position:absolute;bottom:100%;left:var(--space-3);right:var(--space-3);margin-bottom:var(--space-1);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-2);overflow:hidden;z-index:5}.mention-suggest-item{font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;padding:var(--space-2) var(--space-3);min-height:36px;border:none;background:var(--card);cursor:pointer;color:var(--ink);transition:background-color var(--dur-fast) var(--ease-out)}.mention-suggest-item.active,.mention-suggest-item:hover{background:var(--paper-2);color:var(--ink)}.chat-composer-row{display:flex;align-items:flex-end;gap:var(--space-2)}.chat-composer-input{flex:1;font-family:var(--font-ui);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb,var(--ink-soft) 55%,var(--card));border-radius:var(--radius-md);background:var(--card);color:var(--ink);resize:none;min-height:44px;max-height:8.5rem;line-height:var(--leading-normal)}.chat-send{flex-shrink:0}.chat-send svg{width:16px;height:16px}@media (max-width: 699px){.chat-composer{position:sticky;bottom:calc(56px + env(safe-area-inset-bottom));padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom))}.chat-body,.chat-meta,.chat-load-older,.chat-composer-input,.mention-suggest-item{font-size:var(--text-sm)}.chat-reaction,.chat-reaction-add{min-height:44px;min-width:44px;justify-content:center}.chat-reaction-picker{display:grid;grid-template-columns:repeat(3,44px)}.chat-reaction-picker button{min-width:44px}.chat-msg.mine .chat-reaction-picker{left:auto;right:0}.chat-msg-actions .link-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px}.chat-load-older,.chat-error .btn,.chat-reaction-picker button,.chat-send,.chat-edit-actions .btn,.chat-msg-actions button,.mention-suggest-item{min-height:44px}}.chat-offline-note:empty{position:absolute;margin:0}.notes-panel{display:flex;flex-direction:column;gap:var(--space-4);max-width:640px;padding:var(--space-3);background:var(--paper-2);color:var(--ink)}.note-add{display:flex;flex-direction:column;gap:var(--space-2)}.note-add textarea,.note-edit textarea{background:var(--card);min-height:72px;border-radius:var(--radius-md);line-height:var(--leading-normal)}.notes-list{display:flex;flex-direction:column;gap:var(--space-3)}.note-card{position:relative;isolation:isolate;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:var(--space-3)}.note-grain-defs{position:absolute;width:0;height:0;overflow:hidden}.note-grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;border-radius:inherit;clip-path:inset(0 round var(--radius-md));pointer-events:none}.note-grain rect{fill:var(--ink);opacity:.08}.note-tape{position:absolute;top:-7px;left:50%;width:72px;height:16px;background:color-mix(in srgb,var(--ochre) 40%,var(--card));transform:translate(-50%) rotate(-3deg);pointer-events:none}.note-heading{margin:0 0 var(--space-2);color:var(--ink-soft);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1.4;letter-spacing:.02em}.note-date{font-weight:var(--weight-regular);font-variant-numeric:tabular-nums}.note-body{margin:0;white-space:pre-wrap;word-break:break-word;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--ink)}.note-meta{margin:var(--space-2) 0 0;font-size:var(--text-xs);line-height:1.4;color:var(--ink-soft)}.note-actions{display:flex;gap:var(--space-4);margin-top:var(--space-1)}.note-edit{display:flex;flex-direction:column;gap:var(--space-2)}@media (max-width: 699px){.note-actions .link-btn,.note-add .btn,.note-edit .btn{min-height:44px}}@media (forced-colors: active){.note-grain,.note-tape{display:none}}.template-picker{display:flex;flex-direction:column;gap:var(--space-3)}.template-picker-share{display:flex;align-items:center;gap:var(--space-2);min-height:44px;color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-medium)}.template-picker-share input[type=checkbox]{width:18px;height:18px;flex:none}.template-picker-empty{padding:var(--space-4) 0;color:var(--ink-soft);font-size:var(--text-sm);text-align:center}.template-picker-group-label{color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.08em}.template-picker-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.template-picker-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);background:var(--paper-2);color:var(--ink);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.template-picker-row:hover{background:color-mix(in srgb,var(--accent) 12%,var(--paper-2));border-color:var(--accent)}.template-picker-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.template-picker-meta{flex:none;color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap}@media (max-width: 699px){.template-picker-meta{font-size:var(--text-sm)}.template-picker-share{font-size:var(--text-base)}}.progress-ring{display:flex;align-items:center;gap:var(--space-3);margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--card);color:var(--ink)}.progress-ring-dial{position:relative;flex:none;display:grid;place-items:center;width:64px;height:64px}.progress-ring-dial svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.progress-ring-track{fill:none;stroke:color-mix(in srgb,var(--accent) 15%,var(--card));stroke-width:7}.progress-ring-value{fill:none;stroke:var(--accent);stroke-width:7;stroke-linecap:butt}.progress-ring-num{position:relative;font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;line-height:1}.progress-ring-num small{margin-left:1px;color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-regular)}.progress-ring-caption{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:var(--text-sm);line-height:var(--leading-normal)}.progress-ring-count{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.progress-ring-meta{color:var(--ink-soft);font-variant-numeric:tabular-nums}@media (forced-colors: active){.progress-ring-dial svg{forced-color-adjust:none}.progress-ring-track{stroke:CanvasText;stroke-width:1}.progress-ring-value{stroke:Highlight}}.packing-panel{display:flex;flex-direction:column;gap:var(--space-4);max-width:640px;padding:var(--space-3);background:var(--paper-2);color:var(--ink)}.packing-add{position:sticky;top:0;z-index:1;background:var(--paper-2);padding-bottom:var(--space-2)}.packing-add-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.packing-add-row input{flex:1 1 160px;min-width:0}.packing-category{display:flex;flex-direction:column;gap:var(--space-2)}.packing-category-label{color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.08em}.packing-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);transition:background-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}@media (hover: hover){.packing-row:hover{background:var(--paper-2)}}.packing-row:active{transform:translateY(1px);transition-duration:var(--dur-fast)}.packing-row.shared-by-other{background:color-mix(in srgb,var(--ink-soft) 6%,var(--card))}.packing-row.checked .packing-text{color:var(--ink-soft);text-decoration:line-through}.packing-main{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:var(--space-3);min-width:0;align-self:stretch;cursor:pointer}.packing-row.shared-by-other .packing-main{cursor:default}.packing-check{justify-self:center}.packing-check:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.packing-text{min-width:0;font-size:var(--text-sm);line-height:var(--leading-normal);overflow-wrap:break-word}.packing-author{display:block;margin-top:2px;color:var(--ink-soft);font-size:var(--text-sm)}.packing-row-actions{display:flex;align-items:center;gap:var(--space-2)}.packing-share{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-soft);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.packing-share:hover:not(:disabled){background:color-mix(in srgb,var(--ink-soft) 14%,var(--card))}.packing-share:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.packing-share:disabled{opacity:.5;cursor:not-allowed}.packing-share.on{background:var(--accent);color:var(--accent-ink)}.packing-share svg{width:16px;height:16px}.packing-empty{padding:var(--space-4) 0;color:var(--ink-soft);font-size:var(--text-sm);text-align:center}@media (max-width: 699px){.packing-row{min-height:44px;padding-block:0}.packing-main{min-height:44px;padding-block:var(--space-1)}.packing-share{width:44px;height:44px}.packing-row-actions .link-btn{min-height:44px}}.timeline{max-width:760px;margin:0;display:flex;flex-direction:column;gap:var(--space-5)}.timeline-day{background:var(--card);color:var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-1);scroll-margin-top:70px}.timeline-day.is-today .day-band{box-shadow:inset 3px 0 0 var(--ochre)}.day-bulk-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.day-band{background:var(--band);color:var(--band-ink);padding:var(--space-3) var(--space-4);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);border-radius:var(--radius-md) var(--radius-md) 0 0}.day-band-main{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-width:0}.day-band-theme-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);max-width:100%;min-width:0}.day-band-side{display:flex;align-items:center;gap:var(--space-2)}.day-heading{margin:0 calc(-1 * var(--space-2));max-width:calc(100% + 2 * var(--space-2));font:inherit}.day-band-toggle{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%;min-height:44px;padding:var(--space-1) var(--space-2);background:none;border:none;border-radius:var(--radius-sm);color:inherit;font:inherit;text-align:left;cursor:pointer}.day-band-toggle:hover{background:color-mix(in srgb,var(--band-ink) 10%,transparent)}.day-band-toggle:focus-visible{outline:2px solid var(--band-ink);outline-offset:2px}.day-band .icon-btn{color:var(--band-ink)}.day-band .icon-btn:hover:not(:disabled){background:color-mix(in srgb,var(--band-ink) 10%,transparent)}.day-band .icon-btn:focus-visible{outline-color:var(--band-ink)}.day-chevron{flex-shrink:0;transition:transform var(--dur-base) var(--ease-out)}.day-band-toggle[aria-expanded=true] .day-chevron{transform:rotate(180deg)}.day-eyebrow{min-width:0;font-size:var(--text-sm);font-variant-caps:all-small-caps;font-variant-numeric:tabular-nums;letter-spacing:.08em;font-weight:var(--weight-semibold);line-height:1.45}.day-item-count{color:var(--band-ink);font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap}.day-theme{background:none;border:none;padding:0;max-width:100%;color:var(--band-ink);font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);line-height:1.45;text-align:left;cursor:text;overflow-wrap:anywhere;border-radius:var(--radius-sm)}.day-theme:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.day-theme:focus-visible{outline:2px solid var(--band-ink);outline-offset:2px}.day-theme-placeholder{text-decoration:underline dashed var(--band-ink);text-decoration-thickness:1px;text-underline-offset:4px}.day-theme-input{width:100%;background:var(--card);color:var(--ink);border:1px solid var(--ink-soft);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);line-height:1.45}.day-theme-input:focus-visible{outline:2px solid var(--band-ink);outline-offset:2px}.day-theme-input:disabled{opacity:.6;cursor:progress}.day-cost{color:var(--band-ink);font-size:var(--text-base);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.today-marker{display:inline-block;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-pill);padding:1px var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.08em;line-height:1.4;white-space:nowrap}.day-band.is-collapsed{grid-template-columns:auto minmax(0,1fr) auto;border-radius:var(--radius-md)}.day-summary{margin:0;min-width:0;color:color-mix(in srgb,var(--band-ink) 78%,var(--band));font-size:var(--text-sm);line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.day-summary-theme{font-family:var(--font-display);font-style:italic;font-size:var(--text-base);color:var(--band-ink);margin-right:var(--space-2)}.day-cost-label{font-size:var(--text-sm);font-weight:var(--weight-regular);font-variant-caps:all-small-caps;letter-spacing:.08em}.day-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.entry-title-row .lock-badge,.staying-row .lock-badge,.idea-title-row .lock-badge{min-height:22px}.staying-row{display:flex;align-items:center;gap:var(--space-3);width:100%;background:var(--paper-2);color:var(--ink-soft);border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);text-align:left;transition:color var(--dur-fast) var(--ease-out)}.staying-row:hover{color:var(--ink)}.staying-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.staying-row .type-icon{width:24px;height:24px;min-width:24px}.bucket{display:flex;flex-direction:column;gap:var(--space-2)}.bucket-label{display:flex;align-items:center;gap:var(--space-3);color:var(--ink-soft);font-size:var(--text-sm);font-variant-caps:all-small-caps;letter-spacing:.08em;font-weight:var(--weight-semibold)}.bucket-label:after{content:"";flex:1;height:1px;background:var(--line)}.now-line{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:0 var(--space-3);color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;font-variant-numeric:tabular-nums;letter-spacing:.08em}.now-line:before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--ochre)}.now-line:after{content:"";flex:1;height:2px;background:var(--ochre)}.entry{display:grid;grid-template-columns:28px minmax(84px,128px) minmax(0,1fr);align-items:start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);border-left:3px solid var(--c-other);background:var(--card);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.entry:hover{background:color-mix(in srgb,var(--paper-2) 60%,var(--card))}.entry:active{background:var(--paper-2)}.entry-open{background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.entry-open:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}.entry .type-icon{width:28px;height:28px;min-width:28px}.entry-time{color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;padding-top:var(--space-1)}.entry-time-date,.entry-time-start,.entry-time-end{display:block}.entry-main{min-width:0}.entry-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.entry-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--ink);overflow-wrap:anywhere}.entry.is-done .entry-title{color:var(--ink-soft);font-weight:var(--weight-medium)}.entry.is-done .type-icon{opacity:.6}.entry-cost{margin-left:auto;color:var(--ink);font-weight:var(--weight-semibold);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.entry .unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font-size:var(--text-xs);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.entry-detail-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);margin-top:var(--space-1);color:var(--ink-soft);font-size:var(--text-sm);overflow-wrap:anywhere}.entry-detail-row a{color:var(--link)}.entry-link-arrow{margin-left:.25em}.checkin-btn{min-height:44px}.entry-notes{margin:var(--space-2) 0 0;color:var(--ink-soft);font-size:var(--text-sm);white-space:pre-wrap}.entry-notes .link-btn{margin-left:var(--space-1);padding:0}.link-chip{display:inline-block;background:var(--paper-2);color:var(--link);border-radius:var(--radius-pill);padding:2px var(--space-2);font-size:var(--text-sm);text-decoration:none;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out)}.link-chip:hover{text-decoration:underline}.link-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.travel-leg{margin:0;padding:0 var(--space-3);overflow-wrap:anywhere}.ideas-strip{background:var(--paper-2);color:var(--ink);border-radius:var(--radius-sm)}.ideas-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;background:none;border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-align:left;transition:color var(--dur-fast) var(--ease-out)}.ideas-toggle:hover{color:var(--ink)}.ideas-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.ideas-chevron{flex-shrink:0;transition:transform var(--dur-base) var(--ease-out)}.ideas-toggle[aria-expanded=true] .ideas-chevron{transform:rotate(180deg)}.ideas-list{overflow:hidden}.idea-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.idea-row:hover{background:var(--card)}.idea-row .type-icon{width:24px;height:24px;min-width:24px}.idea-open{display:flex;flex-direction:column;align-items:flex-start;min-width:0;background:none;border:none;padding:0;margin:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.idea-open:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}.idea-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);max-width:100%}.idea-title{font-weight:var(--weight-medium);overflow-wrap:anywhere}.idea-time{color:var(--ink-soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.idea-cost{font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.promote-btn{background:none;color:var(--link);border:none;border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--link) 40%,transparent);text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) var(--ease-out)}.promote-btn:hover:not(:disabled){text-decoration-color:var(--link)}.promote-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.promote-btn:disabled{opacity:.5;cursor:not-allowed}.timeline-rail{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.rail-step{position:relative;display:flex;flex-direction:column;gap:var(--space-2)}.rail-step:not(:last-child)>.rail-row:before{content:"";position:absolute;top:34px;bottom:calc(-1 * (var(--space-2) + 12px));left:10px;border-left:2px dashed var(--ink-soft)}.rail-step.is-done:not(:last-child)>.rail-row:before{border-left-style:solid;border-left-color:var(--accent)}.rail-row{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:var(--space-2)}.rail-node{box-sizing:border-box;display:grid;place-items:center;width:22px;height:22px;margin-top:12px;border:2px solid var(--ink-soft);border-radius:50%;background:var(--card)}.rail-step.is-done .rail-node{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.rail-step.is-now .rail-node{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,var(--card))}.rail-step.is-now .rail-node:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}.rail-step:is(.is-next,.is-later) .rail-node{border-color:transparent;background:transparent}.rail-step:is(.is-next,.is-later) .rail-node:before{content:"";box-sizing:border-box;width:12px;height:12px;border:2px solid var(--ink-soft);border-radius:50%;background:var(--card)}.rail-step:is(.is-next,.is-later):not(:last-child)>.rail-row:before{top:29px}.rail-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase}.rail-chip.is-now{background:var(--accent);color:var(--accent-ink)}.rail-chip.is-done{border:1px solid var(--ink-soft);color:var(--ink-soft)}.rail-meta{color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-semibold)}@media (min-width: 700px){.rail-row>.entry:not(.ticket-stub){display:flex;flex-wrap:wrap;align-items:flex-start}.rail-row>.entry:not(.ticket-stub) .entry-time{flex:0 1 8rem;min-width:84px}.rail-row>.entry:not(.ticket-stub) .entry-main{flex:1 1 10rem}}.entry.ticket-stub{position:relative;display:block;padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--ink-soft) 30%,var(--card));border-left:3px solid var(--c-flight);border-radius:var(--radius-md)}.entry.ticket-stub:hover{background:var(--card)}.ticket-main{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-3);background:color-mix(in srgb,var(--teal) 14%,var(--card));transition:background-color var(--dur-fast) var(--ease-out)}.entry.ticket-stub:hover .ticket-main{background:color-mix(in srgb,var(--teal) 20%,var(--card))}.ticket-top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.ticket-top .type-icon{width:24px;height:24px;min-width:24px}.ticket-eyebrow{color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.1em}.ticket-badges{flex:1;justify-content:flex-end}.ticket-badges .entry-cost{margin-left:0}.ticket-route{display:grid;gap:var(--space-1)}.ticket-route .entry-title{font-family:var(--font-display);font-size:var(--text-xl);line-height:var(--leading-tight)}.ticket-arc{display:block;width:100%;max-width:20rem;height:20px;overflow:visible}.ticket-arc-path{fill:none;stroke:var(--ink-soft);stroke-width:1.5;stroke-dasharray:2 4;stroke-linecap:round;vector-effect:non-scaling-stroke}.ticket-arc-plane{fill:var(--c-flight)}.ticket-main .entry-detail-row{margin-top:0}.ticket-perf{position:relative;height:0;margin:0 var(--space-4);border-top:2px dashed color-mix(in srgb,var(--ink-soft) 30%,var(--card))}.ticket-perf:before,.ticket-perf:after{content:"";position:absolute;top:-10px;width:9px;height:18px;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--ink-soft) 30%,var(--card));background:var(--card)}.ticket-perf:before{left:calc(-1 * var(--space-4));border-left:none;border-radius:0 100% 100% 0/0 50% 50% 0}.ticket-perf:after{right:calc(-1 * var(--space-4));border-right:none;border-radius:100% 0 0 100%/50% 0 0 50%}.ticket-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:var(--space-3) var(--space-4);margin:0;padding:var(--space-3) var(--space-4) 0}.ticket-details>div{display:flex;flex-direction:column;gap:2px;min-width:0}.ticket-details dt{color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.1em}.ticket-details dd{margin:0;color:var(--ink);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ticket-extra{padding:var(--space-2) var(--space-4) 0}.ticket-extra .entry-notes{margin-top:var(--space-1)}.ticket-foot{padding:var(--space-3) var(--space-4)}.ticket-barcode{display:block;height:24px;max-width:16rem;opacity:.7;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 8px,var(--ink) 8px 11px,transparent 11px 12px,var(--ink) 12px 13px,transparent 13px 16px)}.entry.ticket-stub.is-done .entry-title{color:var(--ink-soft)}@media (forced-colors: active){.ticket-barcode,.ticket-arc{display:none}.ticket-perf,.ticket-perf:before,.ticket-perf:after{border-color:CanvasText}.rail-step:not(:last-child)>.rail-row:before{border-left-color:CanvasText}.rail-node{forced-color-adjust:none;border-color:CanvasText;background:Canvas;color:Canvas}.rail-step.is-done .rail-node,.rail-step.is-now .rail-node:before{background:Highlight;border-color:Highlight}.rail-step.is-now .rail-node{border-color:Highlight;box-shadow:none}.rail-step:is(.is-next,.is-later) .rail-node{border-color:transparent;background:transparent}.rail-step:is(.is-next,.is-later) .rail-node:before{border-color:CanvasText;background:Canvas}.now-line:before,.now-line:after{forced-color-adjust:none;background:CanvasText}}@media (max-width: 699px){.timeline{gap:var(--space-4)}.timeline-day{scroll-margin-top:64px}.day-band{padding:var(--space-3)}.day-band.is-collapsed{grid-template-columns:minmax(0,1fr) min-content}.day-band.is-collapsed .day-summary{grid-column:1 / -1;grid-row:2;white-space:normal}.day-theme{min-height:44px;font-size:var(--text-lg)}.today-marker,.entry .unread-badge{font-size:var(--text-sm)}.travel-leg .link-btn,.entry-detail-row a{display:inline-flex;align-items:center;min-height:44px}.day-body{padding:var(--space-3)}.entry{grid-template-columns:28px minmax(0,1fr);column-gap:var(--space-3);row-gap:var(--space-1)}.entry .type-icon{grid-row:1 / span 2}.entry-time{grid-column:2;grid-row:1;padding-top:0}.entry-time-date,.entry-time-start,.entry-time-end{display:inline}.entry-time-date{margin-right:.25em}.entry-main{grid-column:2;grid-row:2}.entry.ticket-stub{display:block}.ticket-main{padding:var(--space-3)}.ticket-perf{margin:0 var(--space-3)}.ticket-perf:before{left:calc(-1 * var(--space-3))}.ticket-perf:after{right:calc(-1 * var(--space-3))}.ticket-details{grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-3) var(--space-3) 0}.ticket-extra,.ticket-foot{padding-inline:var(--space-3)}.ticket-route .entry-title{font-size:var(--text-lg)}.rail-chip{font-size:var(--text-sm)}.ideas-toggle{min-height:44px}.idea-row{grid-template-columns:auto minmax(0,1fr) auto}.idea-cost{grid-column:3;grid-row:2;justify-self:end}.promote-btn{min-height:44px;grid-column:3;grid-row:1}.day-band-side{flex-wrap:wrap;justify-content:flex-end}.day-band-side .icon-btn{min-width:44px;min-height:44px}.day-bulk-toolbar .btn{min-height:44px}.day-band{grid-template-columns:minmax(0,1fr) min-content}.day-item-count{flex-basis:100%;text-align:right;font-size:var(--text-sm)}.day-band.is-collapsed .day-band-side{display:grid;grid-template-columns:auto auto;column-gap:var(--space-1);justify-items:end;align-items:center}.day-band.is-collapsed .day-band-side>:not(.day-actions){grid-column:1;line-height:1.3}.day-band.is-collapsed .day-actions{grid-column:2;grid-row:1 / span 3}.day-band.is-collapsed .day-cost-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.timeline-attribution{margin:0;text-align:center}.day-band-toggle[aria-disabled=true]{cursor:progress;opacity:.6}.day-actions{display:inline-flex}.day-actions-menu{min-width:220px;max-width:calc(100vw - 2 * var(--space-4))}.ideas-strip-head{display:flex;align-items:center;gap:var(--space-2)}.ideas-strip-head .ideas-toggle{flex:1 1 auto;width:auto;min-width:0}.ideas-strip-head .ideas-sort-toggle{margin-right:var(--space-2)}.ideas-sort-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:2px var(--space-3);background:none;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.ideas-sort-toggle:hover{color:var(--ink);border-color:var(--ink-soft)}.ideas-sort-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ideas-sort-toggle[aria-pressed=true]{background:color-mix(in srgb,var(--teal) 14%,var(--card));border-color:var(--teal);color:var(--link)}.idea-votes{display:flex;align-items:center;gap:var(--space-2)}.idea-voters .assignee-chip{width:24px;height:24px;min-width:24px}.vote-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;background:none;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-soft);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.vote-btn:hover:not(:disabled){color:var(--ink);border-color:var(--ink-soft)}.vote-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.vote-btn:disabled{opacity:.5;cursor:not-allowed}.vote-btn.vote-up[aria-pressed=true]{background:color-mix(in srgb,var(--success) 16%,var(--card));border-color:var(--success);color:var(--success)}.vote-btn.vote-down[aria-pressed=true]{background:color-mix(in srgb,var(--danger) 16%,var(--card));border-color:var(--danger);color:var(--danger)}.idea-score{min-width:2ch;text-align:center;font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--ink)}@media (max-width: 699px){.idea-votes{grid-column:1 / 3;grid-row:2;padding-top:var(--space-1)}.ideas-sort-toggle,.vote-btn{min-width:44px;min-height:44px}.ideas-sort-toggle,.idea-score{font-size:var(--text-sm)}}.quick-add{position:relative;display:inline-block;width:100%}.quick-add-trigger{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;padding:var(--space-2) var(--space-3);border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--card);color:var(--ink-soft);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.quick-add-trigger:hover{background:var(--paper-2);color:var(--ink);border-color:var(--ink-soft)}.quick-add-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.quick-add-trigger svg{flex:none}.quick-add-popover{position:absolute;left:0;top:calc(100% + var(--space-2));z-index:20;display:flex;flex-direction:column;min-width:190px;padding:var(--space-1) 0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-2);overflow:hidden}.quick-add-row{width:100%;overflow:hidden}.quick-add-row-inner{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-2)}.quick-add-option{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:none;color:var(--ink);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.quick-add-option:hover{background:var(--paper-2)}.quick-add-option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.quick-add-option-glyph{display:flex;flex:none}.quick-add-option-glyph svg{width:18px;height:18px}.quick-add-option-label{overflow-wrap:anywhere}.route-sketch{display:grid;gap:var(--space-2);max-width:24rem;margin:0;color:var(--ink)}.route-sketch-caption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 var(--space-3)}.route-sketch-title{font-weight:var(--weight-semibold)}.route-sketch-meta{color:var(--ink-soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.route-sketch-map{display:block;width:100%;height:auto;border-radius:var(--radius-md);background-color:var(--paper-2);background-image:radial-gradient(color-mix(in srgb,var(--ink) 14%,var(--paper-2)) 1px,transparent 1.5px);background-size:12px 12px}.route-sketch-halo{fill:none;stroke:color-mix(in srgb,var(--accent) 18%,var(--paper-2));stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.route-sketch-path{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.route-sketch-stop circle{fill:var(--card);stroke:var(--accent);stroke-width:2.5}.route-sketch-stop text{fill:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-semibold);text-anchor:middle;dominant-baseline:central;font-variant-numeric:tabular-nums}.route-sketch-stop.is-dot circle{fill:var(--accent);stroke:var(--paper-2);stroke-width:1.5}.route-sketch-stop.is-start circle{fill:var(--accent)}.route-sketch-stop.is-start text{fill:var(--accent-ink)}.route-sketch-stop.is-end circle{fill:var(--ink);stroke:var(--ink)}.route-sketch-stop.is-end text{fill:var(--card)}.route-sketch-name{fill:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-semibold);paint-order:stroke;stroke:var(--paper-2);stroke-width:4px;stroke-linejoin:round}.route-sketch-stops{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:var(--space-1) var(--space-4);margin:0;padding:0;list-style:none;font-size:var(--text-sm)}.route-sketch-stops li{display:flex;align-items:baseline;gap:var(--space-2);min-width:0}.route-sketch-num{flex:none;min-width:1.5em;color:var(--ink-soft);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;text-align:right}.route-sketch-stop-name{min-width:0;overflow-wrap:anywhere}.route-sketch-dist{flex:none;margin-left:auto;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.route-sketch-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-1) var(--space-4);margin:0;color:var(--ink-soft);font-size:var(--text-sm)}.route-sketch-attrib a{color:inherit;text-decoration:underline}.route-sketch-attrib a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (max-width: 699px){.route-sketch{max-width:none}.route-sketch-stops{grid-template-columns:minmax(0,1fr)}.route-sketch-foot .link-btn,.route-sketch-attrib a{display:inline-flex;align-items:center;min-height:44px}}@media (forced-colors: active){.route-sketch-map{forced-color-adjust:none;background:Canvas;outline:1px solid CanvasText}.route-sketch-halo{stroke:none}.route-sketch-path{stroke:CanvasText}.route-sketch-stop circle,.route-sketch-stop.is-dot circle{fill:Canvas;stroke:CanvasText}.route-sketch-stop text{fill:CanvasText}.route-sketch-stop.is-start circle{fill:CanvasText}.route-sketch-stop.is-start text{fill:Canvas}.route-sketch-stop.is-end circle{fill:Highlight;stroke:Highlight}.route-sketch-stop.is-end text{fill:HighlightText}.route-sketch-name{fill:CanvasText;stroke:Canvas}}.trip-start{background:var(--card);color:var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.trip-start-title{font-size:var(--text-xl);line-height:1.3;letter-spacing:-.005em;text-wrap:balance}.trip-start-text{margin:0;max-width:60ch;color:var(--ink-soft);line-height:var(--leading-normal)}.trip-start-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-1)}.trip-start-dismiss{margin-left:auto}.share-nudge{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--paper-2);color:var(--ink);border-radius:var(--radius-md)}.share-nudge-text{margin:0;font-size:var(--text-sm);line-height:1.45}.share-nudge-actions{display:flex;align-items:center;gap:var(--space-3)}@media (max-width: 699px){.trip-start{padding:var(--space-4)}.trip-start-actions .btn,.share-nudge-actions .btn,.trip-start-dismiss,.share-nudge-actions .link-btn{min-height:44px}.trip-start-dismiss{margin-left:0}.share-nudge{padding:var(--space-3)}}.weather-tile{overflow:hidden;border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font-family:var(--font-ui)}.weather-tile-content{display:flex;min-width:0;align-items:center;gap:var(--space-2)}.weather-tile-glyph-surface{display:grid;place-items:center;flex:none;background:var(--paper-2);border-radius:var(--radius-sm);color:var(--ink-soft)}.weather-tile-temps{display:flex;align-items:baseline;gap:var(--space-1);font-variant-numeric:tabular-nums}.weather-tile-high{font-weight:var(--weight-semibold);color:var(--ink)}.weather-tile-low{color:var(--ink-soft)}.weather-tile-typical{padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--status-idea-bg);color:var(--status-idea);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap}.weather-tile-attribution{font-size:var(--text-xs);color:var(--ink-soft);text-decoration:underline}.weather-tile-attribution:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.weather-tile-art{position:relative;flex:none;display:block;margin-bottom:2px}.weather-tile-art-glyph{position:absolute;right:-3px;bottom:-2px;display:grid;place-items:center;width:20px;height:20px;border-radius:var(--radius-pill);background:var(--card);color:var(--ink);box-shadow:var(--shadow-1)}.weather-tile-art-glyph svg{width:14px;height:14px}.weather-tile-thumb{flex:none;width:48px;height:32px;border-radius:var(--radius-sm);object-fit:cover;display:block}.weather-tile-place{flex:0 1 auto;min-width:0;max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:var(--text-sm)}.weather-tile-small{display:inline-flex;max-width:100%;min-width:0;min-height:32px;padding:var(--space-1) var(--space-2)}.weather-tile-small .weather-tile-content{gap:var(--space-2)}.weather-tile-small .weather-tile-glyph-surface{width:24px;height:24px}.weather-tile-small .weather-tile-glyph-surface svg{width:16px;height:16px}.weather-tile-small .weather-tile-temps{font-size:var(--text-sm)}@media (max-width: 699px){.weather-tile-small .weather-tile-temps,.weather-tile-typical{font-size:var(--text-sm)}.weather-tile-small .weather-tile-content{flex-wrap:wrap;row-gap:2px}.weather-tile-place{max-width:100%}.weather-tile-attribution{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm)}}.table-tab{display:flex;flex-direction:column;gap:var(--space-4);color:var(--ink)}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.view-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.segmented-group-field{display:flex;align-items:center;gap:var(--space-2)}.segmented-group-label{color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-medium)}.segmented-group{display:flex;gap:2px;padding:3px;border-radius:var(--radius-pill);background:var(--paper-2)}.segmented-group-option{min-height:32px;padding:0 var(--space-3);border:none;border-radius:var(--radius-pill);background:transparent;color:var(--ink-soft);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.segmented-group-option:hover{color:var(--ink)}.segmented-group-option.selected,.segmented-group-option[aria-checked=true]{background:var(--accent);color:var(--accent-ink)}.segmented-group-option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.search{flex:1 1 220px;min-width:220px;max-width:340px;height:44px;padding:0 var(--space-3);border:1px solid var(--ink-soft);border-radius:var(--radius-md);background:var(--card);color:var(--ink);font:inherit;font-size:var(--text-sm);transition:border-color var(--dur-fast) var(--ease-out)}.search::placeholder{color:var(--ink-soft)}.search:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:var(--focus-ring)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filter-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:32px;padding:var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);color:var(--ink-soft);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.filter-chip:hover{border-color:var(--ink-soft)}.filter-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.filter-chip:active{transform:translateY(1px)}.filter-chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.filter-chip.on:focus-visible{outline-offset:3px}.filter-dot{width:8px;height:8px;border-radius:50%;background:var(--dot-color);flex:none}.filter-chip.on .filter-dot{box-shadow:0 0 0 1.5px var(--accent-ink)}.table-wrap{max-height:calc(100vh - 240px);overflow:auto;background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.items-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm);color:var(--ink)}.items-table th{position:sticky;top:0;z-index:1;padding:var(--space-2) var(--space-3);background:var(--paper-2);color:var(--ink-soft);text-align:left;font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.08em;white-space:nowrap;border-bottom:1px solid var(--line)}.items-table th.cost-head{text-align:right}.sort-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) 0;border:0;background:none;color:inherit;font:inherit;font-variant-caps:inherit;letter-spacing:inherit;transition:color var(--dur-fast) var(--ease-out)}.sort-btn:hover,.sort-btn.sorted{color:var(--ink)}.sort-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-md)}.items-table td{padding:var(--space-3);border-bottom:1px solid var(--line);vertical-align:top}.items-table tbody tr{cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.items-table tbody tr:hover{background:color-mix(in srgb,var(--paper-2) 50%,var(--card))}.items-table tbody tr:active{background:var(--paper-2)}.items-table tbody tr.empty-row{cursor:default}.items-table tbody tr.empty-row:hover{background:none}.items-table tfoot td{position:sticky;bottom:0;z-index:1;border-top:1px solid var(--line);border-bottom:none;background:var(--paper-2);color:var(--ink);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.items-table a{color:var(--link)}.items-table .link-chip{margin:0 var(--space-1) var(--space-1) 0}.items-table .checkin-btn{margin:0 var(--space-2) var(--space-2) 0;min-height:44px}.title-cell{font-weight:var(--weight-medium);box-shadow:inset 3px 0 0 var(--row-color, var(--line))}.title-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.title-line .lock-badge{flex:none;min-height:22px}.items-table .unread-badge{display:inline-flex;flex:none;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font-size:var(--text-xs);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;line-height:1}.row-open{display:block;padding:0;margin:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.row-open:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}.cost-cell{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink)}.cost-lines{display:inline-flex;flex-direction:column;align-items:flex-end}.cost-converted{margin-top:2px;color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--weight-medium)}@media (max-width: 699px){.filters{flex-direction:column;align-items:stretch}.search{flex:none;max-width:none;min-width:0;height:44px;font-size:var(--text-base)}.filter-chip{min-height:44px}.view-controls{flex-direction:column;align-items:stretch}.segmented-group-field{justify-content:space-between}.segmented-group-option{min-height:44px;font-size:var(--text-base)}.items-table .unread-badge{min-width:20px;height:20px;font-size:var(--text-sm)}.table-wrap{max-height:none;overflow:visible;background:none;box-shadow:none;border-radius:0}.items-table,.items-table tbody,.items-table tfoot,.items-table tr,.items-table td{display:block}.items-table thead{display:none}.items-table tbody tr,.items-table tfoot tr{margin-bottom:var(--space-3);padding:var(--space-3);background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.items-table tfoot tr{background:var(--paper-2)}.items-table td,.items-table tfoot td{position:static;display:flex;gap:var(--space-3);padding:var(--space-1) 0;border:none;background:none;font-size:var(--text-sm);overflow-wrap:anywhere}.items-table td:empty{display:none}.items-table td[data-label=Links]{flex-wrap:wrap}.items-table td:before{content:attr(data-label);flex:none;min-width:96px;color:var(--ink-soft);font-weight:var(--weight-semibold)}.items-table td[data-label=""]:before,.items-table td:not([data-label]):before{display:none}.items-table td.title-cell{box-shadow:none;border-left:3px solid var(--row-color, var(--line));padding-left:var(--space-2);font-size:var(--text-base)}.row-open{display:flex;align-items:center;min-height:44px}.cost-cell{text-align:left;white-space:normal}.cost-lines{align-items:flex-start}.cost-converted{font-size:var(--text-sm)}}.time-grid-wrap{overflow:auto}.time-grid{display:grid;--time-grid-time-width: 84px;--time-grid-col-min: 140px;min-width:100%}.time-grid-corner{position:sticky;top:0;left:0;z-index:3;background:var(--paper-2);border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.time-grid-day-head{position:sticky;top:0;z-index:2;display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);background:var(--paper-2);border-bottom:1px solid var(--line);border-left:1px solid var(--line)}.time-grid-day-no{color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.time-grid-day-date{color:var(--ink-soft);font-size:var(--text-xs)}.time-grid-day-head.is-today{background:color-mix(in srgb,var(--accent) 16%,var(--paper-2))}.time-grid-today-tag{align-self:flex-start;padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.time-grid-allday-label{position:sticky;left:0;z-index:1;padding:var(--space-2) var(--space-3);background:var(--card);color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.06em;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.time-grid-allday-cell{display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--space-1);padding:var(--space-2);background:var(--card);border-bottom:1px solid var(--line);border-left:1px solid var(--line);min-height:44px}.time-grid-allday-chip{display:inline-flex;align-items:center;gap:var(--space-1);max-width:100%;min-height:28px;padding:2px var(--space-2) 2px 2px;border:none;border-radius:var(--radius-md);background:color-mix(in srgb,var(--time-grid-block-color) 16%,var(--card));color:var(--ink);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.time-grid-allday-chip:hover{background:color-mix(in srgb,var(--time-grid-block-color) 26%,var(--card))}.time-grid-allday-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.time-grid-allday-chip.is-staying,.time-grid-allday-chip.is-checkout{color:var(--ink-soft)}.time-grid-allday-chip.is-staying:hover,.time-grid-allday-chip.is-checkout:hover{color:var(--ink)}.time-grid-allday-chip .type-icon{width:20px;min-width:20px;height:20px;flex:none}.time-grid-allday-chip .type-icon svg{width:14px;height:14px}.time-grid-allday-chip-label{min-width:0;overflow-wrap:anywhere}.time-grid-time-col{position:sticky;left:0;z-index:1;background:var(--card);border-right:1px solid var(--line)}.time-grid-time-label{position:absolute;left:0;right:0;padding:2px var(--space-2) 0;color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap}.time-grid-col{position:relative;background:var(--card);border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,var(--line) 0,var(--line) 1px,transparent 1px,transparent var(--time-grid-slot-height, 56px))}.time-grid-col.is-today{background-color:color-mix(in srgb,var(--accent) 6%,var(--card))}.time-grid-block{position:absolute;display:flex;flex-direction:column;gap:0;overflow:hidden;padding:2px var(--space-2);border:none;border-left:3px solid var(--time-grid-block-color);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--time-grid-block-color) 14%,var(--card));color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-height:44px;box-shadow:var(--shadow-1);transition:background-color var(--dur-fast) var(--ease-out);scroll-margin-top:64px;scroll-margin-left:84px}.time-grid-block:hover{background:color-mix(in srgb,var(--time-grid-block-color) 24%,var(--card))}.time-grid-block:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.time-grid-block.is-narrow{padding-inline:var(--space-1)}.time-grid-block.is-narrow .type-icon{display:none}.time-grid .lock-badge{flex:none;padding:0;background:none;box-shadow:none}.time-grid-block.continues{border-bottom:2px dashed var(--time-grid-block-color)}.time-grid-block-title-row{display:flex;align-items:flex-start;gap:var(--space-1);min-width:0}.time-grid-block-title-row .type-icon{width:16px;min-width:16px;height:16px;flex:none}.time-grid-block-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--title-lines, 2);line-clamp:var(--title-lines, 2);overflow:hidden;min-width:0;color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:17px;overflow-wrap:anywhere}.time-grid-block-time{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--time-lines, 1);line-clamp:var(--time-lines, 1);overflow:hidden;color:var(--ink-soft);font-size:var(--text-xs);line-height:17px;overflow-wrap:anywhere}.time-grid-block-continues{line-height:17px;color:var(--ink-soft);font-size:var(--text-xs)}.time-grid-empty{padding:var(--space-6) var(--space-4)}.time-grid-caption{margin-top:var(--space-2);font-size:var(--text-xs)}.time-grid-note{margin-top:var(--space-1);font-size:var(--text-xs)}@media (max-width: 699px){.time-grid{--time-grid-time-width: 72px;--time-grid-col-min: 132px}.time-grid-day-date,.time-grid-today-tag,.time-grid-allday-label,.time-grid-allday-chip,.time-grid-time-label,.time-grid-block-time,.time-grid-block-continues,.time-grid-caption,.time-grid-note{font-size:var(--text-sm)}.time-grid-allday-chip{min-height:44px}.time-grid-block{scroll-margin-left:72px}.table-wrap.time-grid-wrap{max-height:calc(100vh - 320px);max-height:calc(100dvh - 320px);overflow:auto;background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}}.gantt-tab{color:var(--ink);--gantt-col: 56px}.gantt-tab .scroll-hint{display:none;margin:0 0 var(--space-2);color:var(--ink-soft);font-size:var(--text-sm)}.gantt-scroll{overflow-x:auto;background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.gantt{position:relative;min-width:fit-content;padding-bottom:var(--space-6)}.gantt-head{display:grid;gap:2px;padding:var(--space-2) var(--space-3);background:var(--paper-2);border-bottom:1px solid var(--line)}.gantt-day-head{display:flex;flex-direction:column;padding:2px var(--space-2);border-left:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.gantt-day-head.today{background:color-mix(in srgb,var(--ochre) 18%,var(--card))}.gantt-day-date-short{display:none}.gantt-day-no{color:var(--ink);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.gantt-group{padding:0 var(--space-3)}.gantt-group-label{position:sticky;left:0;display:inline-flex;align-items:center;gap:var(--space-2);margin:var(--space-3) 0 var(--space-2);padding:0 var(--space-2) 0 0;background:var(--card);color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.08em}.gantt-group-dot{width:10px;height:10px;border-radius:50%;background:var(--bar-color)}.gantt-row{position:relative;display:grid;gap:2px;margin-bottom:var(--space-1)}.gantt-today{background:color-mix(in srgb,var(--ochre) 18%,var(--card));border-radius:var(--radius-sm);grid-row:1}.gantt-bar{position:relative;grid-row:1;display:inline-flex;align-items:center;gap:var(--space-1);height:28px;min-width:0;padding:0 var(--space-2);border:1px solid transparent;border-left:3px solid var(--bar-color);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bar-color) 22%,var(--card));color:var(--ink);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:left;white-space:nowrap;transition:box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.gantt-bar:hover{box-shadow:var(--shadow-2);transform:translateY(-1px);z-index:2}.gantt-bar:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;z-index:2}.gantt-bar:active{transform:translateY(0)}.gantt-bar.status-idea{background:color-mix(in srgb,var(--bar-color) 10%,var(--card));border:1px dashed var(--bar-color);border-left:3px solid var(--bar-color)}.gantt-bar.status-planned{background:color-mix(in srgb,var(--bar-color) 22%,var(--card))}.gantt-bar.status-booked{background:color-mix(in srgb,var(--bar-color) 22%,var(--card));font-weight:var(--weight-semibold)}.gantt-bar.status-done{background:color-mix(in srgb,var(--bar-color) 22%,var(--card))}.gantt-check{flex:none;color:var(--status-done)}.gantt-bar .lock-badge{flex:none;padding:0;background:none;box-shadow:none}.gantt-bar.point{justify-self:start;width:max-content;max-width:calc(var(--gantt-col) * 3);min-width:0;gap:var(--space-2);padding:0 var(--space-2) 0 var(--space-1);border:none;background:none;overflow:hidden}.gantt-bar.point:hover{box-shadow:none}.gantt-bar.point:hover .gantt-point-label{text-decoration:underline}.gantt-point-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--bar-color)}.gantt-point-label{min-width:1ch;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.gantt-bar-label{min-width:1ch;overflow:hidden;text-overflow:ellipsis}.gantt-bar:after{content:attr(data-tooltip);position:absolute;left:0;bottom:calc(100% + 6px);z-index:10;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--ink);color:var(--paper);box-shadow:var(--shadow-2);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(2px);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.gantt-bar:hover:after,.gantt-bar:focus-visible:after{opacity:1;transform:translateY(0)}.gantt-group-label+.gantt-row .gantt-bar:after{top:100%;bottom:auto;transform:translateY(-2px)}.route-sketch.overview-route{max-width:none;margin-top:var(--space-gutter);padding:var(--space-5);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-tile);grid-template-columns:minmax(0,24rem) minmax(0,1fr);align-items:start;gap:var(--space-3) var(--space-5)}.overview-route .route-sketch-caption,.overview-route .route-sketch-foot{grid-column:1 / -1}.overview-route .route-sketch-stops{grid-template-columns:minmax(0,1fr)}@media (max-width: 699px){.gantt-tab{--gantt-col: 60px}.gantt-day-head{padding-inline:var(--space-1)}.gantt-day-date{display:none}.gantt-day-date-short{display:inline}.route-sketch.overview-route{padding:var(--space-3);grid-template-columns:minmax(0,1fr)}.gantt-tab .scroll-hint{display:block}.gantt-day-head,.gantt-bar{font-size:var(--text-sm)}.gantt-bar{height:44px;gap:2px;padding:0 var(--space-1)}.gantt-bar-label,.gantt-point-label{min-width:0}.gantt-bar.point{min-width:44px}}.currency-totals{margin-bottom:var(--space-gutter);padding:var(--space-5);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-tile);color:var(--ink)}.currency-totals h2{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.currency-totals-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--space-4)}.currency-totals-block h3{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-soft)}.currency-totals-rows{display:flex;flex-direction:column;gap:var(--space-1);margin:0 0 var(--space-2);padding:0;list-style:none}.currency-totals-row{display:flex;align-items:center;min-height:44px;justify-content:space-between;gap:var(--space-3);margin:0;font-size:var(--text-sm)}.currency-totals-total{padding-top:var(--space-2);border-top:1px solid var(--line);font-weight:var(--weight-semibold)}.currency-totals-stale{margin:var(--space-1) 0 0;font-size:var(--text-xs)}@media (max-width: 699px){.currency-totals{padding:var(--space-3)}.currency-totals-stale{font-size:var(--text-sm)}}.destination-card-list{display:flex;flex-direction:column;gap:var(--space-gutter);margin-bottom:var(--space-gutter)}.destination-card{padding:var(--space-5);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-tile);color:var(--ink)}.destination-card h2{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.destination-card-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-3) var(--space-4);margin:0 0 var(--space-3)}.destination-card-facts>div{display:flex;flex-direction:column;gap:2px}.destination-card-facts dt{color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.destination-card-facts dd{margin:0;font-size:var(--text-sm);line-height:var(--leading-normal)}.destination-card-caveat{margin:0 0 var(--space-3);font-size:var(--text-sm)}.destination-card-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}@media (max-width: 699px){.destination-card{padding:var(--space-3)}.destination-card-links a{min-height:44px;display:inline-flex;align-items:center}}.planned-split{margin-bottom:var(--space-gutter);padding:var(--space-5);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-tile);color:var(--ink)}.planned-split h2{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.planned-split-total{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-regular);color:var(--ink-soft);font-variant-numeric:tabular-nums}.planned-split-body{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-6)}.planned-split-chart{flex:none;width:128px;height:128px}.planned-split-chart svg{display:block;width:100%;height:100%;overflow:visible}.planned-split-seg{fill:none;stroke-width:14;stroke-linecap:butt}.planned-split-seg.is-first{stroke:var(--accent)}.planned-split-seg.is-second{stroke:var(--focus-ring)}.planned-split-seg.is-third{stroke:var(--ink)}.planned-split-seg.is-other{stroke:var(--ink-soft);stroke-width:7}.planned-split-legend{flex:1 1 14rem;display:grid;gap:var(--space-2);min-width:0;margin:0;padding:0;list-style:none}.planned-split-legend li{display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:var(--space-2);align-items:center;font-size:var(--text-sm)}.planned-split-name{font-weight:var(--weight-semibold)}.planned-split-value{grid-column:2;color:var(--ink-soft);font-variant-numeric:tabular-nums}.planned-split-key{width:12px;height:12px;justify-self:center}.planned-split-key.is-first{border-radius:50%;background:var(--accent)}.planned-split-key.is-second{background:var(--focus-ring)}.planned-split-key.is-third{width:10px;height:10px;background:var(--ink);transform:rotate(45deg)}.planned-split-key.is-other{box-sizing:border-box;border:3px solid var(--ink-soft);border-radius:50%}.planned-split-empty,.planned-split-foot,.planned-split-note{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:var(--text-sm)}.planned-split-empty{margin-top:0}@media (forced-colors: active){.planned-split-chart svg,.planned-split-key{forced-color-adjust:none}.planned-split-seg.is-first,.planned-split-seg.is-third{stroke:CanvasText}.planned-split-seg.is-third{stroke-width:10}.planned-split-seg.is-second{stroke:Highlight}.planned-split-seg.is-other{stroke:GrayText}.planned-split-key.is-first,.planned-split-key.is-third{background:CanvasText}.planned-split-key.is-second{background:Highlight}.planned-split-key.is-other{background:Canvas;border-color:GrayText}}@media (max-width: 699px){.planned-split{padding:var(--space-3)}.planned-split-chart{width:112px;height:112px}}.trip-numbers{margin-bottom:var(--space-gutter);color:var(--ink)}.trip-numbers-title{margin:0 0 var(--space-2);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.08em}.trip-numbers dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:var(--space-3);margin:0}.trip-numbers-stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:var(--space-1);min-width:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-tile)}.trip-numbers-stat:first-child{background:color-mix(in srgb,var(--accent) 10%,var(--card))}.trip-numbers dt{color:var(--ink-soft);font-size:var(--text-sm)}.trip-numbers dd{margin:0;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-semibold);line-height:1;font-variant-numeric:tabular-nums}.trip-numbers-num{display:block;white-space:nowrap}@media (max-width: 699px){.trip-numbers dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.trip-numbers-stat{padding:var(--space-3)}.trip-numbers dd{font-size:var(--text-2xl)}}.money-tab{display:flex;flex-direction:column;gap:var(--space-4);color:var(--ink)}.money-expenses-section{margin-bottom:calc(var(--space-gutter) - var(--space-4));padding:var(--space-5);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-tile)}.money-toolbar{display:flex;justify-content:flex-end}.money-expenses-section h2{margin:0 0 var(--space-2);font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-xl)}.money-expenses{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.money-expense-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm)}.money-expense-title{display:flex;align-items:center;gap:var(--space-2);flex:1 1 220px;min-width:0}.money-expense-open{display:block;padding:0;margin:0;border:none;background:none;color:inherit;font:inherit;font-weight:var(--weight-medium);text-align:left;cursor:pointer;overflow-wrap:anywhere}.money-expense-open:hover{color:var(--link)}.money-expense-open:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.money-expense-meta{display:flex;align-items:center;gap:var(--space-3);color:var(--ink-soft);font-size:var(--text-sm);flex:0 1 auto;white-space:nowrap}.money-expense-amount{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}.money-expense-converted{font-size:var(--text-sm)}@media (max-width: 699px){.money-expenses-section{padding:var(--space-3)}.money-toolbar .btn{width:100%;min-height:44px}.money-expense-row{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.money-expense-title{flex:none}.money-expense-open{min-height:44px;display:flex;align-items:center;font-size:var(--text-base)}.money-expense-meta,.money-expense-amount{font-size:var(--text-sm)}.money-expense-meta{white-space:normal;flex-wrap:wrap}.money-expense-payer{overflow-wrap:anywhere;min-width:0}.money-expense-amount{margin-left:0}}.daily-spend{--db-bar-h: 140px;--db-label-h: 2.5rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-3);max-width:36rem;margin:0 0 var(--space-5);color:var(--ink)}.daily-spend-caption{display:flex;flex-direction:column;gap:2px;min-width:0}.daily-spend-title{font-weight:var(--weight-semibold)}.daily-spend-range{color:var(--ink-soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.daily-spend-nav{display:flex;gap:var(--space-1)}.daily-spend-plot,.daily-spend-empty,.daily-spend-legend,.daily-spend-notes{grid-column:1 / -1}.daily-spend-plot{position:relative;padding-top:calc(2.75rem + var(--db-head-extra, 0px))}.daily-spend-line{position:absolute;left:0;right:0;bottom:calc(var(--db-label-h) + var(--space-1) + var(--db-bar-h) * var(--db-line) / 100);border-top:2px dashed color-mix(in srgb,var(--ink) 55%,var(--card));pointer-events:none}.daily-spend-bars{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-1);margin:0;padding:0;list-style:none}.daily-spend-day{display:flex;flex-direction:column-reverse;gap:var(--space-1);min-width:0}.daily-spend-label{display:flex;flex-direction:column;align-items:center;height:var(--db-label-h);color:var(--ink-soft);font-size:var(--text-sm);line-height:1.25;font-variant-numeric:tabular-nums}.daily-spend-day.is-today .daily-spend-label{color:var(--ink);font-weight:var(--weight-semibold)}.daily-spend-col{position:relative;height:var(--db-bar-h)}.daily-spend-bar{position:absolute;left:14%;right:14%;bottom:0;height:calc(var(--db-v) * 1%);min-height:2px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--accent);transform-origin:bottom center}.daily-spend-day.is-over .daily-spend-bar{background:repeating-linear-gradient(135deg,var(--ink) 0 3px,color-mix(in srgb,var(--ink) 62%,var(--card)) 3px 6px)}.daily-spend-value{position:absolute;left:50%;bottom:calc(var(--db-v) * 1% + var(--space-1) + var(--db-raise, 0px));display:flex;flex-direction:column;align-items:center;transform:translate(calc(-50% + var(--db-shift, 0px)));font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1.25;font-variant-numeric:tabular-nums;white-space:nowrap}@media (min-width: 700px){.daily-spend.has-small-values .daily-spend-value{font-size:var(--text-xs)}}.daily-spend-over-mark{font-size:var(--text-xs);line-height:1}.daily-spend-empty,.daily-spend-legend,.daily-spend-notes{margin:0;color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--leading-normal)}.daily-spend-legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4)}.daily-spend-key{display:inline-flex;align-items:center;gap:var(--space-2)}.daily-spend-key-line{flex:none;width:24px;border-top:2px dashed color-mix(in srgb,var(--ink) 55%,var(--card))}.daily-spend-key-over{flex:none;width:14px;height:14px;background:repeating-linear-gradient(135deg,var(--ink) 0 3px,color-mix(in srgb,var(--ink) 62%,var(--card)) 3px 6px)}.daily-spend-notes{padding:0;list-style:none}@media (max-width: 699px){.daily-spend{--db-bar-h: 120px}.daily-spend-bars{gap:2px}.daily-spend-bar{left:10%;right:10%}.daily-spend-over-mark{font-size:var(--text-sm)}}@media (forced-colors: active){.daily-spend-plot,.daily-spend-legend{forced-color-adjust:none}.daily-spend-bar{background:CanvasText}.daily-spend-day.is-over .daily-spend-bar,.daily-spend-key-over{background:repeating-linear-gradient(135deg,CanvasText 0 3px,Canvas 3px 6px);outline:1px solid CanvasText}.daily-spend-line,.daily-spend-key-line{border-top-color:CanvasText}.daily-spend-label,.daily-spend-value,.daily-spend-legend{color:CanvasText}}.settle-up{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-tile);color:var(--ink)}.settle-up h2,.settle-up h3{margin:0 0 var(--space-2);font-family:var(--font-display);font-weight:var(--weight-semibold)}.settle-up h2{font-size:var(--text-xl)}.settle-up h3{font-size:var(--text-base)}.settle-balances,.settle-transfers,.settle-recorded-list,.settle-stale-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.settle-balance-row,.settle-recorded-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--card)}.settle-balance-name{min-width:0;overflow-wrap:break-word;font-weight:var(--weight-medium)}.settle-balance-amount{white-space:nowrap}.settle-balance-owed{color:var(--success)}.settle-balance-owes{color:var(--danger)}.settle-balance-even{color:var(--ink-soft)}.settle-square{margin:0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--paper-2);color:var(--ink-soft);text-align:center}.settle-square-note{margin:0;text-align:center}.settle-transfer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card)}.settle-transfer-text{min-width:0;overflow-wrap:break-word}.settle-transfer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.settle-pay-link,.settle-transfer-actions .btn{min-height:44px;padding-inline:var(--space-4)}.settle-pay-link{text-decoration:none}.settle-transfer-note,.settle-recorded-row span{min-width:0;overflow-wrap:break-word}.settle-recorded-row .btn{min-height:44px}.settle-stale{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--paper-2)}.settle-stale h3{color:var(--warn)}.settle-stale-hint{margin:0 0 var(--space-2)}.settle-stale-list li{padding:var(--space-1) 0;color:var(--ink-soft)}@media (max-width: 699px){.settle-up{gap:var(--space-4);padding:var(--space-3)}.settle-transfer-row,.settle-transfer-actions,.settle-recorded-row{flex-direction:column;align-items:stretch}.settle-pay-link,.settle-transfer-actions .btn,.settle-recorded-row .btn{width:100%}}.spend-so-far{display:grid;gap:var(--space-2);max-width:30rem;margin:0 0 calc(var(--space-gutter) - var(--space-4));padding:var(--space-5);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-tile);color:var(--ink)}.spend-so-far-label{color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-caps:all-small-caps;letter-spacing:.08em}.spend-so-far-value{margin:0;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-semibold);line-height:var(--leading-display);font-variant-numeric:tabular-nums}.spend-so-far-num{display:block;white-space:nowrap}.spend-so-far-change{margin:0;color:var(--ink-soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.spend-so-far-chart{display:block;width:100%;height:auto;margin-top:var(--space-2);overflow:visible}.spend-so-far-area{fill:color-mix(in srgb,var(--accent) 8%,var(--card))}.spend-so-far-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.spend-so-far-budget{stroke:color-mix(in srgb,var(--ink) 55%,var(--card));stroke-width:1.5;stroke-dasharray:5 4}.spend-so-far-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1) var(--space-3);margin:0;color:var(--ink-soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.spend-so-far-budget-key{order:3;flex-basis:100%}.spend-so-far-empty{margin:var(--space-2) 0 0;color:var(--ink-soft);font-size:var(--text-sm)}.spend-so-far-notes{margin:0;padding-left:1.2em;color:var(--ink-soft);font-size:var(--text-sm)}@media (forced-colors: active){.spend-so-far-chart{forced-color-adjust:none}.spend-so-far-area{fill:none}.spend-so-far-line{stroke:Highlight}.spend-so-far-budget{stroke:CanvasText}}@media (max-width: 699px){.spend-so-far{max-width:none;padding:var(--space-3)}.spend-so-far-value{font-size:var(--text-2xl)}}.print-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5) 0}.print-status{font-size:var(--text-sm)}.print-status:empty{position:absolute}.print-saved-note{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--ink-soft)}.print-content{max-width:760px;margin:0 auto;padding:var(--space-5)}.print-head{margin-bottom:var(--space-6);border-bottom:1px solid var(--line);padding-bottom:var(--space-4)}.print-head h1{font-family:var(--font-display);font-size:var(--text-3xl);margin:0 0 var(--space-2)}.print-sub{color:var(--ink-soft);margin:0}.print-day{margin-bottom:var(--space-6)}.print-day h2{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);font-family:var(--font-display);font-size:var(--text-xl);border-bottom:1px solid var(--line);padding-bottom:var(--space-2);margin:0 0 var(--space-3)}.print-day-cost{font-family:var(--font-ui);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink-soft)}.print-empty{margin:0 0 var(--space-3)}.print-bucket{margin-bottom:var(--space-4)}.print-bucket h3{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin:0 0 var(--space-2)}.print-bucket ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.print-item-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}.print-item-type{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.print-item-title{font-weight:var(--weight-semibold);flex:1 1 auto}.print-item-time{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:var(--text-sm)}.print-item-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-sm);color:var(--ink-soft);margin-top:var(--space-1)}.print-item-notes{margin:var(--space-1) 0 0;font-size:var(--text-sm);white-space:pre-wrap}@media (max-width: 699px){.print-toolbar{padding:var(--space-4) var(--space-4) 0}.print-status:not(:empty){flex-basis:100%}.print-content{padding:var(--space-4)}.print-item-type{font-size:var(--text-sm)}}@media print{.app-header,.tab-bar,.trip-sidebar,.offline-banner,.print-toolbar,button{display:none!important}:root{color-scheme:light}body{background:var(--card);color:var(--ink);print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-content{max-width:none;padding:0}.print-sub,.print-day-cost,.print-bucket h3,.print-item-type,.print-item-time,.print-item-meta{color:var(--ink-soft)}.print-head,.print-day h2{border-color:var(--line)}.print-day{break-inside:avoid;page-break-inside:avoid}}
