:root{--color-cyan-500:#00e7f0;--color-cyan-700:#0e7490;--color-cyan-800:#155e75;--color-magenta-500:#ff2cfb;--color-green-500:#00e6b3;--color-blue-500:#3b7bff;--color-yellow-500:#f7df1e;--color-red-500:#ff3e55;--color-red-700:#8f2016;--color-white:#fff;--color-neutral-25:#fafafa;--color-neutral-50:#f6f8fb;--color-neutral-100:#f0f0f0;--color-neutral-200:#e5e5e5;--color-neutral-900:#1a1a1a;--color-neutral-950:#0a0a0a;--color-blush-25:#fff4f2;--color-blush-50:#fef8f8;--color-slate-50:#f8fafc;--rgb-ink:10 10 10;--rgb-surface:255 255 255;--rgb-black:0 0 0;--rgb-slate:15 23 42;--rgb-cyan:0 231 240;--rgb-red-600:180 35 24;--rgb-red-700:143 32 22;--rgb-slate-800:17 24 39;--rgb-glass:14 14 14;--rgb-slate-50:248 250 252;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-4:16px;--space-4-5:18px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:999px;--font-size-2xs:.75rem;--font-size-xs:.8125rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem;--font-size-4xl:3rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-family-sans:system-ui, Avenir, Helvetica, Arial, sans-serif;--font-family-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--line-height-flat:1;--line-height-snug:1.2;--line-height-ui:1.4;--line-height-relaxed:1.5;--blur-sm:8px;--blur-md:10px;--blur-lg:12px;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.25s;--duration-toast:5s;--ease-standard:ease;--brand-primary:var(--color-cyan-500);--brand-secondary:var(--color-magenta-500);--brand-accent:var(--color-red-500);--brand-highlight:var(--color-green-500);--brand-ink:var(--color-cyan-700);--brand-ink-strong:var(--color-cyan-800);--text-primary:var(--color-neutral-950);--text-secondary:rgb(var(--rgb-ink) / .72);--text-tertiary:rgb(var(--rgb-ink) / .56);--text-disabled:rgb(var(--rgb-ink) / .38);--text-inverse-primary:var(--color-white);--text-inverse-secondary:rgb(var(--rgb-surface) / .72);--text-inverse-tertiary:rgb(var(--rgb-surface) / .56);--text-inverse-disabled:rgb(var(--rgb-surface) / .38);--text-on-brand:var(--color-neutral-950);--text-inverse:var(--text-on-brand);--surface-page:var(--color-white);--surface-raised:var(--color-white);--surface-sunken:var(--color-neutral-50);--surface-muted:var(--color-neutral-100);--surface-inset:var(--color-neutral-25);--surface-toggle:var(--color-neutral-200);--surface-accent-subtle:var(--color-blush-50);--surface-scrim:rgb(var(--rgb-black) / .6);--surface-hover-tint:rgb(var(--rgb-ink) / .06);--surface-veil:rgb(var(--rgb-surface) / .94);--surface-veil-blur:var(--blur-lg);--surface-glass:rgb(var(--rgb-glass) / .96);--container-primary:var(--color-neutral-950);--container-secondary:var(--color-neutral-900);--border-subtle:rgb(var(--rgb-ink) / .08);--border-default:rgb(var(--rgb-ink) / .12);--border-strong:rgb(var(--rgb-ink) / .24);--border-stronger:rgb(var(--rgb-ink) / .35);--border-dashed:rgb(var(--rgb-black) / .14);--state-success:var(--color-green-500);--state-warning:var(--color-yellow-500);--state-error:var(--color-red-500);--state-info:var(--color-blue-500);--state-danger-ink:var(--color-red-700);--state-danger-surface:rgb(var(--rgb-red-600) / .12);--state-danger-border:rgb(var(--rgb-red-600) / .24);--state-highlight-surface:rgb(var(--rgb-cyan) / .14);--state-highlight-surface-soft:rgb(var(--rgb-cyan) / .12);--opacity-disabled:.6;--focus-ring:var(--brand-ink);--focus-ring-width:2px;--focus-ring-shadow:0 0 0 2px rgb(var(--rgb-cyan) / .32);--space-xs:var(--space-1);--space-sm:var(--space-2);--space-md:var(--space-4);--space-lg:var(--space-6);--space-xl:var(--space-8);--padding-xs:var(--space-2);--padding-sm:var(--space-4);--padding-md:var(--space-6);--padding-lg:var(--space-8);--size-touch-target:44px;--size-control-sm:32px;--size-control-xs:24px;--size-date-label:72px;--size-date-label-tall:88px;--layout-sidebar-max:480px;--layout-container-max:1280px;--layout-mobile-toggle:72px;--shadow-sm:0 1px 2px rgb(var(--rgb-black) / .08), 0 2px 4px rgb(var(--rgb-black) / .06);--shadow-md:0 2px 4px rgb(var(--rgb-black) / .08), 0 6px 12px rgb(var(--rgb-black) / .1);--shadow-lg:0 4px 8px rgb(var(--rgb-black) / .1), 0 16px 32px rgb(var(--rgb-black) / .12);--shadow-card:0 18px 36px rgb(var(--rgb-slate) / .08);--shadow-overlay:0 26px 60px rgb(var(--rgb-black) / .55);--shadow-toast:0 18px 42px rgb(var(--rgb-slate) / .18);--shadow-marker:0 6px 18px rgb(var(--rgb-black) / .08);--shadow-dot:0 10px 24px rgb(var(--rgb-black) / .12);--font-size-h1:var(--font-size-4xl);--font-size-h2:var(--font-size-3xl);--font-size-h3:var(--font-size-2xl);--font-size-h4:var(--font-size-xl);--font-size-h5:var(--font-size-lg);--font-size-h6:var(--font-size-md);--font-size-body:var(--font-size-md);--font-size-small:var(--font-size-sm);--font-size-caption:var(--font-size-xs);--font-size-micro:var(--font-size-2xs);--line-height-heading-lg:1.15;--line-height-heading:1.25;--line-height-heading-sm:1.3;--line-height-body:1.55;--letter-spacing-heading-lg:-.03em;--letter-spacing-heading:0em;--letter-spacing-body:0em;--letter-spacing-small:.02em;--letter-spacing-caps:.08em;--letter-spacing-caps-tight:.04em;--z-map:1;--z-sidebar:2;--z-sticky:3;--z-docked:10;--z-overlay:30;--z-toast:50;--day-default:var(--brand-secondary);--button-bg:var(--brand-primary);--button-fg:var(--text-on-brand);--button-border:transparent;--button-border-hover:var(--border-stronger);--button-radius:var(--radius-sm);--button-padding-y:.6em;--button-padding-x:1.2em;--button-gap:var(--space-1);--button-font-weight:var(--font-weight-medium);--input-bg:var(--surface-raised);--input-min-height:52px;--input-border:var(--container-secondary);--input-radius:var(--radius-xs);--input-padding:var(--padding-sm);--input-fg:var(--text-primary);--card-bg:linear-gradient(180deg, rgb(var(--rgb-surface) / .96), rgb(var(--rgb-slate-50) / .9));--card-border:var(--border-subtle);--card-radius:var(--radius-sm);--card-shadow:var(--shadow-card);--card-padding-y:var(--space-4-5);--card-padding-x:var(--space-5);--modal-bg:var(--surface-glass);--modal-border:var(--border-subtle);--modal-radius:var(--radius-lg);--modal-shadow:var(--shadow-overlay);--modal-width:520px;--modal-blur:var(--blur-sm);--toast-radius:var(--radius-lg);--toast-shadow:var(--shadow-toast);--toast-blur:var(--blur-md);--toast-bg-error:rgb(var(--rgb-red-700) / .94);--toast-fg-error:var(--color-blush-25);--toast-bg-info:rgb(var(--rgb-slate-800) / .92);--toast-fg-info:var(--color-slate-50);--chip-radius:var(--radius-full);--chip-padding-y:var(--space-1);--chip-padding-x:var(--space-2);--chip-font-size:var(--font-size-micro);--timeline-line-width:2px;--timeline-stop-size:22px;--timeline-stop-unplotted-size:14px;--timeline-day-dot-size:20px;--timeline-stop-center:29px;--timeline-day-dot-center:14px;--timeline-travel-marker-halo:4px;--timeline-punch-out:var(--surface-veil);--day-ink:color-mix(in srgb, var(--day-color,var(--day-default)) 55%, var(--color-neutral-950));--day-tint:color-mix(in srgb, var(--day-color,var(--day-default)) 14%, var(--color-white));--day-axis-fade:color-mix(in srgb, var(--day-color,var(--day-default)) 32%, var(--color-white));--swatch-width:48px;--swatch-height:40px;--day-drop-zone-width:18px;--date-label-radius:var(--radius-sm);--date-label-width:var(--size-date-label);--date-label-padding:var(--padding-xs)}.surface-dark{--rgb-ink:255 255 255;--rgb-surface:10 10 10;--text-primary:var(--color-white);--text-inverse-primary:var(--color-neutral-950);--surface-raised:rgb(var(--rgb-ink) / .04);--container-secondary:rgb(var(--rgb-ink) / .16);--brand-ink:var(--brand-primary);--brand-ink-strong:var(--brand-highlight);--focus-ring:var(--brand-primary);--input-bg:rgb(var(--rgb-ink) / .04)}:root{background:var(--surface-page);color:var(--text-primary);font-family:var(--font-family-sans);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-regular);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%}body{place-items:center;min-width:320px;min-height:100dvh;margin:0;display:flex}*,:before,:after{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}h1,h2,h3,h4,h5,h6{margin:0}h1{font-size:var(--font-size-h1);line-height:var(--line-height-heading-lg);letter-spacing:var(--letter-spacing-heading-lg)}h2{font-size:var(--font-size-h2);line-height:var(--line-height-heading-lg);letter-spacing:var(--letter-spacing-heading-lg)}h3{font-size:var(--font-size-h3);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading)}h4{font-size:var(--font-size-h4);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading)}h5{font-size:var(--font-size-h5);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading)}h6{font-size:var(--font-size-h6);line-height:var(--line-height-heading-sm);letter-spacing:var(--letter-spacing-heading)}p,li,dt,dd{line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}small{font-size:var(--font-size-small);letter-spacing:var(--letter-spacing-small);line-height:var(--line-height-ui)}a{font-weight:var(--font-weight-medium);color:var(--brand-ink);-webkit-text-decoration:inherit;text-decoration:inherit}a:hover{color:var(--brand-ink-strong)}.eyebrow{text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);font-size:var(--font-size-caption);color:var(--brand-ink);margin:0}.container{max-width:var(--layout-container-max);width:100%}.container.full-width{max-width:100%}.success-text{color:var(--state-success)}.error-text{color:var(--state-error)}.warning-text{color:var(--state-warning)}.row{flex-direction:row;justify-content:start;align-items:start;display:flex}.column{flex-direction:column;justify-content:start;align-items:start;display:flex}.align-center{align-items:center}.flex-end{justify-content:flex-end}.justify-center{justify-content:center}.space-between{justify-content:space-between}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}button{border-radius:var(--button-radius);border:1px solid var(--button-border);padding:var(--button-padding-y) var(--button-padding-x);font-size:var(--font-size-body);font-weight:var(--button-font-weight);background-color:var(--button-bg);color:var(--button-fg);cursor:pointer;transition:border-color var(--duration-slow) var(--ease-standard);justify-content:center;align-items:center;gap:var(--button-gap);flex-direction:row;font-family:inherit;display:flex}button:hover{border-color:var(--button-border-hover)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}button.standard{--button-bg:transparent;--button-fg:var(--text-primary)}button.error{--button-bg:var(--state-error);--button-fg:var(--text-on-brand)}button.icon{height:var(--size-touch-target);width:var(--size-touch-target);margin:var(--space-1);padding:0}.link-button{--button-bg:transparent;--button-fg:var(--brand-ink);--button-border-hover:transparent;border:none;padding:0}.link-button:hover{--button-fg:var(--brand-ink-strong);border:none}.field{gap:var(--space-xs);display:grid}.field input,.field select,.field textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--input-radius);color:var(--input-fg);padding:var(--input-padding);width:100%;font-size:var(--font-size-body)}.field textarea{resize:vertical;min-height:96px}.field input:focus,.field select:focus,.field textarea:focus{outline:var(--focus-ring-width) solid var(--focus-ring)}.form{gap:var(--space-md);display:grid}.modal-overlay{background:var(--surface-scrim);padding:var(--padding-md);z-index:var(--z-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay .modal{width:min(var(--modal-width), 100%);background:var(--modal-bg);border:1px solid var(--modal-border);border-radius:var(--modal-radius);min-width:0;max-width:100%;box-shadow:var(--modal-shadow);padding:var(--padding-md);color:var(--text-primary);gap:var(--space-md);-webkit-backdrop-filter:blur(var(--modal-blur));backdrop-filter:blur(var(--modal-blur));flex-direction:column;display:flex;position:relative}.modal-overlay .modal .modal-header{gap:var(--space-xs);padding-right:48px;display:grid}.modal-overlay .modal .modal-close{top:var(--space-2);right:var(--space-2);width:var(--size-touch-target);height:var(--size-touch-target);color:var(--text-secondary);background:0 0;border:none;padding:0;position:absolute}.modal-overlay .modal .modal-close:hover{color:var(--text-primary)}.modal-overlay .modal .modal-subtext{color:var(--text-secondary);margin:0}.modal-overlay .modal .modal-form{gap:var(--space-md);display:grid}.home{height:100dvh;padding:0 var(--padding-sm);flex-direction:column;justify-content:center;align-items:center;margin:0 auto;display:flex}.home .logo-container{flex-direction:column;justify-content:center;align-items:center;display:flex}.home .logo-container .header{color:var(--text-primary)}.home .logo-container .location-data{gap:var(--space-sm)}.home .auth-chip{color:var(--text-primary)}.home .login{align-items:center;gap:var(--space-md);flex-direction:column;width:100%;display:flex}.date-range-inputs{flex-wrap:wrap}.date-range-inputs input[type=date]{flex:130px;width:100%;min-width:0}.date-divider{color:var(--text-secondary);font-size:var(--font-size-small)}.auth-toggle{background:var(--surface-toggle);border:1px solid var(--border-default);border-radius:var(--radius-full);margin-bottom:var(--space-sm);display:inline-flex;overflow:hidden}.auth-toggle .pill{--button-bg:transparent;--button-fg:var(--text-primary);border:none}.auth-toggle .pill.active{--button-bg:var(--brand-secondary);--button-fg:var(--text-on-brand)}.itinerary-grid{gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}@media (width<=1200px){.itinerary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.itinerary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.itinerary-grid{grid-template-columns:1fr}}.itinerary-list-item{background:var(--container-primary);border-radius:var(--radius-sm);padding:var(--padding-sm);width:100%;color:var(--text-primary);gap:var(--space-sm);flex-direction:column;align-items:center;text-decoration:none;display:flex}
