:root{--color-true-black: #000000;--color-deep-iris: #16165c;--color-iris-shadow: #232269;--color-iris-glow: #403cd5;--color-iris-pulse: #075cf5;--color-iris-border: #4846c6;--color-iris-veil: #524fe1;--color-lilac-mist: #b1a6f6;--color-clinical-cyan: #00b1ff;--color-cyan-soft: #59b4ff;--color-mint-vital: #00ffaa;--color-teal-signal: #2ee9ff;--color-cloud-white: #ffffff;--color-pearl: #f4f4f6;--color-ash: #d8d8e3;--color-fog: #9494a9;--color-status-danger: #ff6369;--font-gilroy: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-caption: 12px;--leading-caption: 1.44;--tracking-caption: .24px;--text-body-sm: 14px;--leading-body-sm: 1.44;--tracking-body-sm: .28px;--text-subheading: 18px;--leading-subheading: 1.44;--tracking-subheading: -.54px;--text-heading-sm: 24px;--leading-heading-sm: 1.44;--tracking-heading-sm: -.72px;--text-heading: 46px;--leading-heading: 1;--tracking-heading: -1.84px;--font-weight-medium: 500;--font-weight-semibold: 600;--spacing-unit: 4px;--spacing-8: 8px;--spacing-12: 12px;--spacing-16: 16px;--spacing-20: 20px;--spacing-24: 24px;--spacing-32: 32px;--spacing-36: 36px;--spacing-40: 40px;--spacing-48: 48px;--page-max-width: 1200px;--section-gap: 80px;--card-padding: 24px;--element-gap: 8px;--radius-icons: 7px;--radius-inputs: 16px;--radius-cards: 24px;--radius-cards-elevated: 32px;--radius-tags: 9999px;--radius-buttons: 9999px;--vt-font-display: var(--font-gilroy);--vt-font-sans: var(--font-gilroy);--vt-font-mono: var(--font-gilroy);--vt-space-1: 4px;--vt-space-2: var(--spacing-8);--vt-space-3: var(--spacing-12);--vt-space-4: var(--spacing-16);--vt-space-5: var(--spacing-20);--vt-space-6: var(--spacing-24);--vt-space-8: var(--spacing-32);--vt-space-10: var(--spacing-40);--vt-space-12: var(--spacing-48);--vt-radius-sm: var(--radius-icons);--vt-radius-md: var(--radius-inputs);--vt-radius-lg: var(--radius-cards);--vt-radius-xl: var(--radius-cards-elevated);--vt-radius-full: var(--radius-buttons);--vt-stroke-brand: 1.5px;--vt-stroke-border: 1px;--vt-motion-fast: .12s;--vt-motion-base: .18s;--vt-motion-slow: .28s;--vt-ease: cubic-bezier(.2, 0, .2, 1);--vt-ease-out: cubic-bezier(.2, 0, 0, 1)}:root,[data-theme=dark]{--vt-bg: var(--color-true-black);--vt-bg-sunken: var(--color-true-black);--vt-surface: var(--color-iris-shadow);--vt-surface-raised: var(--color-iris-glow);--vt-surface-hover: var(--color-iris-glow);--vt-border: var(--color-iris-border);--vt-border-strong: var(--color-iris-veil);--vt-text: var(--color-cloud-white);--vt-text-muted: var(--color-pearl);--vt-text-subtle: var(--color-ash);--vt-text-on-brand: var(--color-cloud-white);--vt-brand: var(--color-iris-pulse);--vt-brand-hover: var(--color-iris-glow);--vt-brand-pressed: var(--color-iris-border);--vt-brand-text: var(--color-clinical-cyan);--vt-brand-bg: color-mix(in srgb, var(--color-iris-glow) 35%, var(--color-deep-iris));--vt-meta: var(--color-mint-vital);--vt-meta-bg: color-mix(in srgb, var(--color-mint-vital) 12%, var(--color-deep-iris));--vt-alert: var(--color-teal-signal);--vt-alert-bg: color-mix(in srgb, var(--color-teal-signal) 12%, var(--color-deep-iris));--vt-danger: var(--color-status-danger);--vt-danger-bg: color-mix(in srgb, var(--color-status-danger) 18%, var(--color-deep-iris));--vt-danger-text-on: var(--color-cloud-white);--vt-save: var(--color-cyan-soft);--vt-save-bg: color-mix(in srgb, var(--color-cyan-soft) 14%, var(--color-deep-iris));--vt-focus-ring: var(--color-clinical-cyan);--vt-shadow-sm: none;--vt-shadow-md: none;--vt-shadow-lg: none;--vt-shadow-cta: 0 0 20px rgba(60, 57, 185, .4)}[data-theme=light]{--vt-bg: var(--color-pearl);--vt-bg-sunken: var(--color-pearl);--vt-surface: var(--color-cloud-white);--vt-surface-raised: var(--color-cloud-white);--vt-surface-hover: var(--color-pearl);--vt-border: var(--color-ash);--vt-border-strong: var(--color-fog);--vt-text: var(--color-deep-iris);--vt-text-muted: color-mix(in srgb, var(--color-deep-iris) 72%, var(--color-fog));--vt-text-subtle: var(--color-fog);--vt-text-on-brand: var(--color-deep-iris);--vt-brand: var(--color-pearl);--vt-brand-hover: var(--color-cloud-white);--vt-brand-pressed: var(--color-ash);--vt-brand-text: var(--color-deep-iris);--vt-brand-bg: var(--color-pearl);--vt-meta: var(--color-mint-vital);--vt-meta-bg: color-mix(in srgb, var(--color-mint-vital) 16%, var(--color-pearl));--vt-alert: var(--color-teal-signal);--vt-alert-bg: color-mix(in srgb, var(--color-teal-signal) 14%, var(--color-pearl));--vt-danger: var(--color-status-danger);--vt-danger-bg: color-mix(in srgb, var(--color-status-danger) 12%, var(--color-pearl));--vt-danger-text-on: var(--color-cloud-white);--vt-save: var(--color-clinical-cyan);--vt-save-bg: color-mix(in srgb, var(--color-clinical-cyan) 12%, var(--color-pearl));--vt-focus-ring: var(--color-clinical-cyan);--vt-shadow-sm: 0 1px 2px rgba(22, 22, 92, .06);--vt-shadow-md: 0 4px 12px rgba(22, 22, 92, .08);--vt-shadow-lg: none;--vt-shadow-cta: none}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--vt-bg: var(--color-pearl);--vt-bg-sunken: var(--color-pearl);--vt-surface: var(--color-cloud-white);--vt-surface-raised: var(--color-cloud-white);--vt-surface-hover: var(--color-pearl);--vt-border: var(--color-ash);--vt-border-strong: var(--color-fog);--vt-text: var(--color-deep-iris);--vt-text-muted: color-mix(in srgb, var(--color-deep-iris) 72%, var(--color-fog));--vt-text-subtle: var(--color-fog);--vt-brand: var(--color-pearl);--vt-brand-hover: var(--color-cloud-white);--vt-brand-text: var(--color-deep-iris);--vt-brand-bg: var(--color-pearl);--vt-meta: var(--color-mint-vital);--vt-alert: var(--color-teal-signal);--vt-danger: var(--color-status-danger);--vt-focus-ring: var(--color-clinical-cyan);--vt-shadow-sm: 0 1px 2px rgba(22, 22, 92, .06);--vt-shadow-md: 0 4px 12px rgba(22, 22, 92, .08);--vt-shadow-cta: none}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--vt-bg: var(--color-true-black);--vt-bg-sunken: var(--color-true-black);--vt-surface: var(--color-iris-shadow);--vt-surface-raised: var(--color-iris-glow);--vt-surface-hover: var(--color-iris-glow);--vt-border: var(--color-iris-border);--vt-border-strong: var(--color-iris-veil);--vt-text: var(--color-cloud-white);--vt-text-muted: var(--color-pearl);--vt-text-subtle: var(--color-ash);--vt-brand: var(--color-iris-pulse);--vt-brand-hover: var(--color-iris-glow);--vt-brand-text: var(--color-clinical-cyan);--vt-brand-bg: color-mix(in srgb, var(--color-iris-glow) 35%, var(--color-deep-iris));--vt-meta: var(--color-mint-vital);--vt-alert: var(--color-teal-signal);--vt-danger: var(--color-status-danger);--vt-focus-ring: var(--color-clinical-cyan);--vt-shadow-sm: none;--vt-shadow-md: none;--vt-shadow-cta: 0 0 20px rgba(60, 57, 185, .4)}}.vt-display-xl{font:600 48px/.92 var(--vt-font-display);letter-spacing:-.04em}.vt-display-lg{font:600 36px/1 var(--vt-font-display);letter-spacing:-.03em}.vt-display-md{font:600 28px/1.44 var(--vt-font-display);letter-spacing:-.02em}.vt-title-lg{font:600 var(--text-heading-sm)/var(--leading-heading-sm) var(--vt-font-display);letter-spacing:var(--tracking-heading-sm)}.vt-title-md{font:600 var(--text-subheading)/var(--leading-subheading) var(--vt-font-sans);letter-spacing:var(--tracking-subheading)}.vt-body-lg{font:500 17px/1.44 var(--vt-font-sans);letter-spacing:-.03em}.vt-body-md{font:500 15px/1.44 var(--vt-font-sans)}.vt-body-sm{font:500 var(--text-body-sm)/var(--leading-body-sm) var(--vt-font-sans);letter-spacing:.02em}.vt-label{font:500 13px/1.44 var(--vt-font-sans)}.vt-caption{font:500 var(--text-caption)/var(--leading-caption) var(--vt-font-sans);letter-spacing:.02em}.vt-data-lg{font:600 20px/1.44 var(--vt-font-sans);font-variant-numeric:tabular-nums;color:var(--vt-brand-text)}.vt-data-md{font:500 15px/1.44 var(--vt-font-sans);font-variant-numeric:tabular-nums}.vt-data-sm{font:500 var(--text-caption)/var(--leading-caption) var(--vt-font-sans);font-variant-numeric:tabular-nums}body{background:var(--vt-bg);color:var(--vt-text);font:500 15px/1.44 var(--vt-font-sans);-webkit-font-smoothing:antialiased}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--vt-focus-ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--bg-window: var(--vt-bg);--bg-panel: var(--vt-surface);--bg-elevated: var(--vt-surface-raised);--trip-plan-bg: color-mix(in srgb, var(--bg-panel) 60%, var(--bg-window));--trip-plan-radius: calc(var(--radius-lg) + var(--space-md));--text-primary: var(--vt-text);--text-secondary: var(--vt-text-muted);--accent: var(--vt-brand);--accent-soft: var(--vt-brand-bg);--accent-border: var(--vt-brand);--border: var(--vt-border);--border-strong: var(--vt-border-strong);--fill-subtle: var(--vt-bg-sunken);--fill-muted: var(--vt-surface-hover);--fill-hover: var(--vt-surface-hover);--button-primary-bg: var(--vt-brand);--button-primary-fg: var(--vt-text-on-brand);--danger: var(--vt-danger);--success: var(--vt-meta);--warning: var(--vt-alert);--radius-sm: var(--vt-radius-sm);--radius-md: var(--vt-radius-md);--radius-lg: var(--vt-radius-lg);--space-xxs: var(--vt-space-1);--space-xs: 6px;--space-sm: var(--vt-space-2);--space-md: var(--vt-space-3);--space-lg: var(--vt-space-4);--space-xl: var(--vt-space-5);--space-xxl: var(--vt-space-6);--font-sans: var(--vt-font-sans);--font-mono: var(--vt-font-mono);--shadow-sm: var(--vt-shadow-sm);--shadow-cta: var(--vt-shadow-cta);--sidebar-width: 72px;--sidebar-width-expanded: 232px;--trip-col-min: 340px;--results-col-min: 320px}*,*:before,*:after{box-sizing:border-box}html{height:100%;height:100dvh;margin:0}body,#root{height:100%;margin:0;overflow:hidden}#root{color:var(--vt-text);background:var(--vt-bg)}body{font-family:var(--font-sans);background:var(--bg-window);color:var(--text-primary);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}.app-shell{height:100%;min-height:0;overflow:hidden;background:var(--bg-window)}.app-body{height:100%;display:flex;min-height:0;overflow:hidden;background:var(--bg-window);position:relative}.app-main{min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;flex:1;margin:0 0 0 calc(-1 * var(--space-lg));border-radius:var(--trip-plan-radius) 0 0 var(--trip-plan-radius);background:var(--trip-plan-bg);box-shadow:var(--shadow-md);position:relative;z-index:2}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--bg-window);padding:var(--space-md) var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm);overflow:hidden;position:relative;z-index:1;transition:width var(--vt-motion-base) var(--vt-ease)}.sidebar.expanded{width:var(--sidebar-width-expanded)}.sidebar-toggle-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.sidebar-toggle-btn:hover{background:var(--fill-hover);color:var(--text-primary)}.sidebar-toggle-btn svg{width:20px;height:20px}.sidebar-trips{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:var(--space-xxs)}.sidebar-spacer{flex:1}.sidebar-trip-btn{flex-shrink:0;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;width:100%;text-align:left;transition:background .15s ease,color .15s ease}.sidebar-trip-btn:hover{background:var(--fill-hover);color:var(--text-primary)}.sidebar-trip-btn.active{background:var(--trip-plan-bg);color:var(--accent)}.sidebar-trip-badge{flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--accent-soft);color:var(--accent)}.sidebar-trip-btn.active .sidebar-trip-badge{background:var(--accent);color:var(--vt-text-on-brand)}.sidebar-trip-badge-ghost{background:transparent;border:1px dashed var(--border-strong);color:var(--text-secondary)}.sidebar-trip-badge-icon{background:transparent;color:var(--text-secondary)}.sidebar-trip-badge-ghost svg,.sidebar-trip-badge-icon svg{width:16px;height:16px}.sidebar-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;opacity:0;max-width:0;transition:opacity var(--vt-motion-fast) ease,max-width var(--vt-motion-base) var(--vt-ease)}.sidebar.expanded .sidebar-label{opacity:1;max-width:160px}.workspace{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;padding:var(--space-md)}.trip-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px;flex-shrink:0;padding-bottom:var(--space-md)}.trip-header-title{flex:1 1 160px;min-width:0;margin:0;margin-left:calc(var(--trip-plan-radius) - var(--space-md));font-size:var(--text-heading-sm, 24px);font-weight:600;letter-spacing:-.03em;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-pill-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--vt-radius-full);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;min-width:0;max-width:100%}.trip-pill-btn-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-pill-btn-place{width:299px;height:40px;box-sizing:border-box;flex-shrink:0}.trip-pill-btn-code{color:var(--text-secondary);font-weight:400}.trip-pill-divider{color:var(--text-secondary)}.location-search{display:grid;gap:8px}.location-search-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.location-search-input{display:block;width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-primary);font-size:14px}.location-search-results{display:grid;gap:2px;max-height:260px;overflow-y:auto}.location-search-result{display:grid;gap:2px;text-align:left;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);cursor:pointer;width:100%}.location-search-result:hover{background:var(--fill-hover)}.location-search-result.active{background:var(--accent-soft);color:var(--accent)}.location-search-result-main{font-size:14px;font-weight:600}.location-search-result-code{color:var(--text-secondary);font-weight:400}.location-search-result-sub{font-size:12px;color:var(--text-secondary)}.location-search-empty{padding:8px 10px;font-size:13px;color:var(--text-secondary)}.trip-swap-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:var(--vt-radius-full);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer}.trip-swap-btn:hover{background:var(--fill-hover);color:var(--text-primary)}.trip-swap-btn svg{width:16px;height:16px}.trip-pill-btn svg{width:15px;height:15px;flex-shrink:0;color:var(--text-secondary)}.trip-pill-btn:hover{background:var(--fill-hover)}.trip-header-controls-wide{display:none;gap:8px;flex-wrap:wrap}.trip-header-controls-narrow{display:inline-flex;min-width:0}@media(min-width:720px){.trip-header-controls-wide{display:flex}.trip-header-controls-narrow{display:none}}.popover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000059}.popover-panel{position:fixed;max-height:70vh;overflow:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md);z-index:101}.workspace-grid{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(360px,auto) minmax(360px,auto);gap:var(--space-md);flex:1}.workspace-grid>*{min-width:0}.results-columns{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);min-height:0}.results-columns>.panel{min-height:0}@media(max-width:1179px){.results-columns[data-active=flights]>.panel:nth-of-type(3),.results-columns[data-active=hotels]>.panel:nth-of-type(2){display:none}}@media(min-width:720px){.workspace-grid{grid-template-columns:minmax(var(--trip-col-min),420px) 1fr;grid-template-rows:minmax(0,1fr);min-height:0}}@media(min-width:1180px){.workspace-grid{grid-template-columns:minmax(var(--trip-col-min),1.1fr) minmax(var(--results-col-min),1fr) minmax(var(--results-col-min),1fr)}.results-columns{display:contents}.results-columns .segmented{display:none}}.workspace>.panel{flex:1;min-height:0}.panel{display:flex;flex-direction:column;min-height:0;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg)}.panel-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border)}.panel-title{font-size:var(--text-heading-sm, 24px);font-weight:600;letter-spacing:-.03em;line-height:1.44;margin:0}.panel-subtitle{font-size:12px;color:var(--text-secondary);margin-top:2px}.budget-editor{position:relative;flex-shrink:0}.budget-editor-pill{display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--vt-radius-full);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer}.budget-editor-pill:hover{background:var(--fill-hover)}@keyframes budget-sheet-drop{0%{opacity:0;transform:translateY(-6px) scaleY(.94)}to{opacity:1;transform:translateY(0) scaleY(1)}}.budget-sheet{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:260px;padding:20px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-panel);box-shadow:var(--shadow-md);display:grid;gap:8px;transform-origin:top right;animation:budget-sheet-drop .18s cubic-bezier(.16,1,.3,1)}.budget-sheet-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-align:center}.budget-sheet-input{width:100%;border:none;background:transparent;color:var(--text-primary);font-size:40px;font-weight:700;text-align:center;letter-spacing:-.02em;padding:4px 0}.budget-sheet-input:focus{outline:none}@keyframes budget-sheet-status-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.budget-sheet-status{min-height:18px;text-align:center;font-size:13px;font-weight:600;animation:budget-sheet-status-in .16s ease-out}.budget-sheet-ok{color:var(--text-secondary)}.budget-sheet-warning{color:var(--danger)}.budget-sheet-warning.soft{color:color-mix(in srgb,var(--danger) 65%,var(--text-secondary))}.panel-body{flex:1;min-height:0;overflow:auto}.trip-chat-column{display:flex;flex-direction:column;gap:var(--space-sm);min-height:0;overflow:hidden}.trip-chat-top{flex:0 1 auto;max-height:50%;min-height:0;display:flex;flex-direction:column}.trip-chat-top>.panel{flex:1;min-height:0}.trip-chat-bottom{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.trip-chat-bottom>.panel{flex:1;min-height:0}.btn{padding:8px 16px;border-radius:var(--vt-radius-full);border:1px solid var(--border-strong);background:var(--fill-muted);color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:500;transition:background .15s ease}.btn:hover{background:var(--fill-hover)}.btn:disabled{background:var(--fill-muted);color:var(--text-secondary);border-color:var(--border-strong);cursor:not-allowed}.btn:disabled:hover{background:var(--fill-muted)}.btn-primary{background:var(--button-primary-bg);border-color:var(--button-primary-bg);color:var(--button-primary-fg);font-weight:500;font-size:17px;padding:12px 24px;box-shadow:var(--shadow-cta)}.btn-primary:hover{background:var(--vt-brand-hover);border-color:var(--vt-brand-hover)}.btn-primary:disabled{background:var(--fill-muted);color:var(--text-secondary);border-color:var(--border-strong);box-shadow:none;cursor:not-allowed}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.animated-button{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:12px 24px;border:3px solid;border-color:transparent;font-size:14px;background-color:transparent;border-radius:100px;font-weight:600;color:var(--accent);box-shadow:0 0 0 2px var(--accent);cursor:pointer;overflow:hidden;transition:all .6s cubic-bezier(.23,1,.32,1)}.animated-button svg{position:absolute;width:18px;fill:var(--accent);z-index:9;transition:all .8s cubic-bezier(.23,1,.32,1)}.animated-button .arr-1{right:16px}.animated-button .arr-2{left:-25%}.animated-button .circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background-color:var(--accent);border-radius:50%;opacity:0;transition:all .8s cubic-bezier(.23,1,.32,1)}.animated-button .text{position:relative;z-index:1;transform:translate(-8px);transition:all .8s cubic-bezier(.23,1,.32,1)}.animated-button:hover:not(:disabled){box-shadow:0 0 0 8px transparent;color:var(--vt-text-on-brand);border-radius:12px}.animated-button:hover:not(:disabled) .arr-1{right:-25%}.animated-button:hover:not(:disabled) .arr-2{left:16px}.animated-button:hover:not(:disabled) .text{transform:translate(8px)}.animated-button:hover:not(:disabled) svg{fill:var(--vt-text-on-brand)}.animated-button:active:not(:disabled){scale:.97;box-shadow:0 0 0 4px var(--accent)}.animated-button:hover:not(:disabled) .circle{width:220px;height:220px;opacity:1}.animated-button:disabled{color:var(--text-secondary);box-shadow:0 0 0 2px var(--border-strong);cursor:not-allowed}.animated-button:disabled svg{fill:var(--text-secondary)}.animated-button--compact{width:auto;flex:0 0 auto;padding:8px 32px;gap:0;font-size:13px}.animated-button--compact svg{width:14px}.animated-button--compact .arr-1{right:10px}.animated-button--compact .arr-2{left:-30%}.animated-button--compact .text{transform:translate(-4px)}.animated-button--compact:hover:not(:disabled) .arr-1{right:-30%}.animated-button--compact:hover:not(:disabled) .arr-2{left:10px}.animated-button--compact:hover:not(:disabled) .text{transform:translate(4px)}.animated-button--compact:hover:not(:disabled){border-radius:100px}.animated-button--compact .circle{top:0;left:0;width:100%;height:100%;border-radius:100px;transform:scale(0);opacity:1}.animated-button--compact:hover:not(:disabled) .circle{width:100%;height:100%;transform:scale(1);opacity:1}.animated-button--static:hover:not(:disabled){box-shadow:0 0 0 2px var(--accent);color:var(--accent);border-radius:100px;background-color:var(--fill-hover)}.animated-button--static:active:not(:disabled){scale:1;box-shadow:0 0 0 2px var(--accent)}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.icon-btn:hover{background:var(--fill-hover);color:var(--text-primary)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn:disabled:hover{background:transparent;color:var(--text-secondary)}.icon-btn svg{width:18px;height:18px}@media(pointer:coarse){.btn,.chip,.segmented button,.sidebar-trip-btn,.sidebar-toggle-btn,.icon-btn{min-height:44px}.btn,.icon-btn{min-width:44px}}.segmented{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-elevated)}.segmented button{border:none;background:transparent;padding:8px 12px;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-secondary)}.segmented button.active{background:var(--accent);color:var(--vt-text-on-brand);font-weight:600}.segmented-pill{position:relative;display:inline-flex;width:fit-content;padding:4px;border-radius:var(--vt-radius-full);background:var(--bg-elevated)}.segmented-pill-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:var(--vt-radius-full);background:var(--accent);transition:transform var(--vt-motion-base) var(--vt-ease);z-index:0}.segmented-pill[data-active=roundTrip] .segmented-pill-thumb{transform:translate(100%)}.segmented-pill button{position:relative;z-index:1;border:none;background:transparent;padding:8px 16px;border-radius:var(--vt-radius-full);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color var(--vt-motion-fast) ease}.segmented-pill button.active{color:var(--vt-text-on-brand);font-weight:600}.chip{padding:6px 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--fill-subtle);font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer}.chip:hover{background:var(--fill-muted)}.chip.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.date-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer}.date-cell:hover:not(.date-cell-in-range):not(:disabled){background:var(--fill-hover);border-radius:999px}.date-cell-in-range{background:var(--accent-soft)}.date-cell-range-start{border-radius:999px 0 0 999px}.date-cell-range-end{border-radius:0 999px 999px 0}.date-cell-badge{width:28px;height:28px;border-radius:999px;background:var(--accent);color:var(--vt-text-on-brand);display:flex;align-items:center;justify-content:center}.date-cell-disabled{color:var(--text-secondary);opacity:.4;cursor:not-allowed}.card{padding:var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--fill-subtle)}.card.selected{border-color:var(--accent-border);border-width:1.5px;background:var(--accent-soft)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--accent-soft);color:var(--accent)}.badge.danger{background:#ff636324;color:var(--danger)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-md);padding:var(--space-xxl);color:var(--text-secondary);height:100%}.skeleton{height:84px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--fill-subtle),var(--fill-muted),var(--fill-subtle));background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.chat-bubble{max-width:85%;padding:var(--space-md);border-radius:var(--radius-md);font-size:14px;line-height:1.45}.chat-bubble.user{margin-left:auto;background:var(--accent-soft);color:var(--text-primary)}.chat-bubble.assistant{background:var(--fill-muted)}.chat-bubble.system{background:var(--fill-subtle);color:var(--text-secondary);font-size:13px}.composer{margin:12px;padding:10px 12px 8px;border:1px solid var(--border);border-radius:20px;background:var(--bg-panel)}.composer-textarea{display:block;width:100%;max-height:100px;resize:none;border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:14px;line-height:1.3;padding:2px 2px 8px}.composer-textarea:focus{outline:none}.composer-textarea::placeholder{color:var(--text-secondary)}.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:6px}.composer-toolbar-left{display:flex;align-items:center;gap:6px;min-width:0}.composer-menu{position:relative;flex-shrink:0}.composer-icon-btn{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;height:34px;min-width:34px;padding:0 10px;border-radius:10px;border:1px solid transparent;background:var(--bg-elevated);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer}.composer-icon-btn svg{width:16px;height:16px;flex-shrink:0;transition:transform .2s cubic-bezier(.23,1,.32,1)}.composer-icon-btn:hover:not(:disabled){background:var(--fill-hover);color:var(--text-primary)}.composer-icon-btn:disabled{opacity:.4;cursor:not-allowed}.composer-icon-btn.attach-open svg{transform:rotate(45deg)}.composer-dropdown{position:absolute;bottom:calc(100% + 8px);left:0;z-index:20;min-width:170px;padding:6px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-md);animation:budget-sheet-drop .15s cubic-bezier(.16,1,.3,1);transform-origin:bottom left}.composer-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;text-align:left}.composer-dropdown-item svg{width:15px;height:15px;color:var(--text-secondary);flex-shrink:0}.composer-dropdown-item:hover{background:var(--fill-hover)}.composer-dropdown-item.active{background:var(--accent-soft);color:var(--accent)}.composer-dropdown-item.active svg{color:var(--accent)}.composer-send-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;padding:0;border-radius:10px;border:none;background:var(--accent);color:var(--vt-text-on-brand);cursor:pointer}.composer-send-btn svg{width:15px;height:15px}.composer-send-btn:disabled{background:var(--bg-elevated);color:var(--text-secondary);cursor:not-allowed}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100}.modal{width:min(520px,92vw);max-height:90vh;overflow:auto;background:var(--bg-panel);border-radius:var(--radius-lg);border:1px solid var(--border);padding:var(--space-xl)}.form-grid{display:grid;gap:var(--space-md)}.form-grid label{display:grid;gap:var(--space-xs);font-size:13px;color:var(--text-secondary)}.form-grid input,.form-grid select{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-primary)}.focus-bar{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.saved-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:var(--space-lg)}.hotel-thumb{height:120px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px}.airline-mark{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.progress{height:6px;border-radius:999px;background:var(--fill-muted);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent)}.progress.over>span{background:var(--danger)}.disclaimer{font-size:12px;color:var(--text-secondary);padding:var(--space-sm) var(--space-lg) 0}.chat-suggestion{padding:8px;border-radius:var(--radius-sm);background:var(--fill-subtle);font-size:12px}
