.glass-nav{background:#0b1512b8;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff0f}.glass-card{position:relative;isolation:isolate;background:#131f1ab8;backdrop-filter:blur(16px) saturate(145%);-webkit-backdrop-filter:blur(16px) saturate(145%);border:1px solid rgba(255,255,255,.08);border-radius:20px}.glass-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;box-shadow:inset 0 0 20px -8px #ffffff1f;background:linear-gradient(135deg,#ffffff0a,#ffffff03);pointer-events:none}.surface{background:#131f1a99;border:1px solid rgba(255,255,255,.06);border-radius:16px}:root{--color-bg: #0B1512;--color-surface-1: #131F1A;--color-surface-2: #1A2B24;--color-surface-3: #213329;--glass-bg-nav: rgba(11, 21, 18, .72);--glass-bg-card: rgba(19, 31, 26, .72);--glass-border: rgba(255, 255, 255, .08);--glass-highlight: rgba(255, 255, 255, .06);--color-text-primary: #F4F7F3;--color-text-secondary: #B8C9C2;--color-text-muted: #8A9E96;--color-text-disabled: #4A5E56;--color-amber: #E8A838;--color-amber-dim: rgba(232, 168, 56, .15);--color-sage: #5CB88A;--color-sage-dim: rgba(92, 184, 138, .12);--color-coral: #E85C4A;--color-coral-dim: rgba(232, 92, 74, .12);--color-blue: #4A90C4;--color-blue-dim: rgba(74, 144, 196, .12);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 28px rgba(0, 0, 0, .5);--font-display: "Fraunces", Georgia, serif;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 30px;--text-hero: 36px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--card-padding: var(--space-4);--card-gap: var(--space-3);--section-gap: var(--space-6);--list-item-padding-y: var(--space-3);--tab-bar-height: 56px;--header-height: 56px;--motion-instant: 80ms;--motion-fast: .15s;--motion-default: .22s;--motion-enter: .28s;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased}#root,.app-shell{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);padding-top:env(safe-area-inset-top);z-index:100}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);height:var(--header-height)}.header-name{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--color-text-primary)}.header-sub{display:block;font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted)}.header-right{display:flex;align-items:center;gap:var(--space-3)}.sync-indicator{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600}.sync-indicator--live{color:var(--color-sage)}.sync-indicator--reconnecting{color:var(--color-amber)}.progress-badge{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);background:var(--color-surface-2);padding:2px 8px;border-radius:99px}.scroll-content{flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;padding-top:calc(var(--header-height) + env(safe-area-inset-top));padding-bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom) + var(--space-4))}.tab-bar{position:fixed;bottom:0;left:0;right:0;height:var(--tab-bar-height);padding-bottom:env(safe-area-inset-bottom);z-index:100;display:flex;align-items:flex-start}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:var(--space-2) 0;background:none;border:none;color:var(--color-text-muted);font-family:var(--font-body);font-size:10px;font-weight:500;min-height:44px;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--motion-fast) ease}.tab-item--active{color:var(--color-amber)}.tab-label{font-size:10px;font-weight:600}.urgency-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-coral-dim);border-bottom:1px solid rgba(232,92,74,.2);font-size:var(--text-sm);font-weight:500;color:var(--color-coral);transition:max-height .2s ease,opacity .2s ease;max-height:40px;overflow:hidden}.urgency-banner--hidden{max-height:0;opacity:0;padding:0}.offline-banner{padding:var(--space-2) var(--space-4);background:var(--color-amber-dim);color:var(--color-amber);font-size:var(--text-xs);font-weight:600;text-align:center}[role=button],button,a,label[for],.tappable{min-height:44px;min-width:44px;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent}.tappable{transition:opacity var(--motion-fast) ease,transform var(--motion-fast) ease}.tappable:active{opacity:.7;transform:scale(.97);transition:none}.accordion-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--motion-default) var(--ease-out)}.accordion-body[aria-hidden=false]{grid-template-rows:1fr}.accordion-inner{overflow:hidden}.chevron{transition:transform var(--motion-fast) ease;flex-shrink:0}.chevron--open{transform:rotate(180deg)}[data-trip-color=teal]{--trip-accent: #5CB88A}[data-trip-color=blue]{--trip-accent: #4A90C4}[data-trip-color=indigo]{--trip-accent: #7B68EE}[data-trip-color=purple]{--trip-accent: #9B7FD4}[data-trip-color=green]{--trip-accent: #5CB88A}[data-trip-color=orange]{--trip-accent: #E8A838}[data-trip-color=steelblue]{--trip-accent: #4682B4}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:99px;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;min-width:44px;min-height:28px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;transition:transform var(--motion-instant) ease-out,background var(--motion-fast) ease}.badge:active{transform:scale(.94)}.badge--planned{background:#8a9e9626;color:var(--color-text-muted)}.badge--booked{background:var(--color-sage-dim);color:var(--color-sage)}.badge--done{background:var(--color-amber-dim);color:var(--color-amber)}.trip-list{display:flex;flex-direction:column;gap:var(--card-gap);padding:var(--card-gap)}.trip-card{background:var(--color-surface-1);border-radius:16px;overflow:hidden;border:1px solid var(--border-subtle);border-top:4px solid var(--trip-accent, var(--color-text-muted));box-shadow:var(--shadow-sm)}.trip-card__header{display:flex;align-items:flex-start;gap:var(--space-3);width:100%}.trip-card__expand{flex:1;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--card-padding);background:none;border:none;text-align:left;min-height:44px;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.trip-card__number{font-family:var(--font-display);font-size:var(--text-hero);font-weight:300;color:var(--color-text-muted);line-height:1;min-width:48px;flex-shrink:0;padding-top:2px}.trip-card__info{flex:1;min-width:0}.trip-card__name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary);line-height:1.2;margin-bottom:2px}.trip-card__tagline{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.trip-card__meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.trip-card__pills{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-1)}.pill{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:99px;font-size:10px;font-weight:600;background:var(--color-surface-2);color:var(--color-text-muted)}.pill--water{background:var(--color-blue-dim);color:var(--color-blue)}.pill--boots{background:var(--color-amber-dim);color:var(--color-amber)}.trip-card__progress{font-size:var(--text-xs);color:var(--color-text-muted)}.trip-card__actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);flex-shrink:0;padding:var(--card-padding) var(--card-padding) 0 0}.trip-detail{padding:0 var(--card-padding) var(--card-padding);display:flex;flex-direction:column;gap:var(--space-4)}.trip-detail__stats{display:flex;flex-direction:column;gap:var(--space-2)}.stat-row{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--space-1) 0}.stat-label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.battery-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0}.battery-label{font-size:var(--text-xs);color:var(--color-text-secondary);min-width:40px;font-weight:600}.battery-track{height:8px;flex:1;background:#ffffff1a;border-radius:4px;overflow:hidden}.battery-fill{height:100%;border-radius:4px;transition:width .3s ease-out}.battery-fill[data-level=high]{background:var(--color-sage)}.battery-fill[data-level=medium]{background:var(--color-amber)}.battery-fill[data-level=low]{background:var(--color-coral)}.nav-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-amber-dim);color:var(--color-amber);border-radius:12px;font-size:var(--text-sm);font-weight:600;text-decoration:none;border:1px solid rgba(232,168,56,.2);min-height:44px}.reservation-checklist{display:flex;flex-direction:column}.reservation-checklist__title{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2)}.checklist-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--list-item-padding-y) 0;border-bottom:1px solid var(--border-subtle);min-height:44px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.checklist-item:last-child{border-bottom:none}.checklist-item input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.checkbox{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border-default);background:transparent;flex-shrink:0;display:grid;place-items:center;transition:all var(--motion-fast) ease;margin-top:2px}.checkbox--checked{background:var(--color-sage);border-color:var(--color-sage)}.checkbox--checked:after{content:"";display:block;width:5px;height:9px;border:2px solid white;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px)}.item-label{flex:1;font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.4}.checklist-item--urgent .item-label:before{content:"NOW → ";color:var(--color-coral);font-weight:600}.checklist-item--checked .item-label{text-decoration:line-through;color:var(--color-text-disabled)}.notes-input{width:100%;background:transparent;border:none;border-bottom:1.5px solid var(--border-default);border-radius:0;padding:var(--space-2) 0;font-family:var(--font-body);font-size:16px;color:var(--color-text-primary);outline:none;resize:none;transition:border-color var(--motion-fast) ease}.notes-input:focus{border-bottom-color:var(--color-amber)}.notes-input::placeholder{color:var(--color-text-disabled)}.section-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2)}.conflict-warning{font-size:var(--text-xs);color:var(--color-coral);margin-bottom:var(--space-2)}.trip-detail__restaurants{display:flex;flex-direction:column;gap:var(--space-2)}.restaurant-row{padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle)}.restaurant-row:last-child{border-bottom:none}.restaurant-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.restaurant-vibe{font-size:var(--text-xs);color:var(--color-amber);margin-bottom:2px}.restaurant-why{font-size:var(--text-xs);color:var(--color-text-muted)}.gear-tab{padding:var(--card-gap);display:flex;flex-direction:column;gap:var(--section-gap)}.boot-warning{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-amber-dim);border:1px solid rgba(232,168,56,.2);border-radius:12px;font-size:var(--text-sm);color:var(--color-amber);transition:max-height .2s ease,opacity .2s ease;overflow:hidden;max-height:80px}.boot-warning--hidden{max-height:0;opacity:0;padding:0;margin:0;border:none}.boot-selector{border:none;padding:0}.boot-selector legend.section-label{display:block;margin-bottom:var(--space-3)}.boot-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--list-item-padding-y) 0;border-bottom:1px solid var(--border-subtle);min-height:44px;cursor:pointer}.boot-option:last-of-type{border-bottom:none}.boot-option input[type=radio]{margin-top:4px;flex-shrink:0;accent-color:var(--color-amber)}.boot-option__info{display:flex;flex-direction:column;gap:2px}.boot-option__name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.boot-option__price{font-size:var(--text-xs);color:var(--color-sage)}.boot-option__rating{font-size:var(--text-xs);color:var(--color-text-muted)}.boot-option__note{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.4}.gear-checklist{display:flex;flex-direction:column;gap:var(--space-6)}.gear-section__title{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2)}.gear-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--list-item-padding-y) 0;border-bottom:1px solid var(--border-subtle);min-height:44px;cursor:pointer}.gear-item:last-child{border-bottom:none}.gear-item__info{flex:1}.gear-item__name{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.gear-item__price{font-size:var(--text-xs);color:var(--color-sage)}.gear-item__note{font-size:var(--text-xs);color:var(--color-text-muted)}.gear-item--checked .gear-item__name{text-decoration:line-through;color:var(--color-text-disabled)}.gear-progress{padding:var(--space-4) 0}.gear-progress__label{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2)}.gear-progress__track{height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.gear-progress__fill{height:100%;background:var(--color-sage);border-radius:3px;transition:width .3s ease-out}.tesla-tab{padding:var(--card-gap);display:flex;flex-direction:column;gap:var(--space-4)}.tesla-callout{padding:var(--card-padding)}.tesla-callout__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-3)}.tesla-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.stat-chip{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);background:var(--color-surface-2);border-radius:12px}.stat-value{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-amber)}.trip-charge-list{display:flex;flex-direction:column;gap:var(--space-3)}.trip-charge-row{display:flex;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-1);border-radius:12px;border:1px solid var(--border-subtle)}.trip-charge-id{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300;color:var(--color-text-muted);min-width:36px;flex-shrink:0}.trip-charge-info{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.trip-charge-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.trip-charge-miles{font-size:var(--text-xs);color:var(--color-text-muted)}.trip-charge-sc{font-size:var(--text-xs);color:var(--color-text-secondary)}.pro-tips{background:var(--color-surface-1);border-radius:12px;border:1px solid var(--border-subtle);overflow:hidden}.pro-tips__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) var(--card-padding);background:none;border:none;font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);min-height:44px}.pro-tips__list{list-style:none;padding:0 var(--card-padding) var(--card-padding);display:flex;flex-direction:column;gap:var(--space-3);counter-reset:tips}.pro-tips__list li{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5;padding-left:var(--space-5);position:relative}.pro-tips__list li:before{content:counter(tips);counter-increment:tips;position:absolute;left:0;color:var(--color-amber);font-weight:700;font-size:var(--text-xs)}.calendar-tab{padding:var(--card-gap);display:flex;flex-direction:column;gap:var(--space-5);align-items:stretch}.calendar-icon-wrap{display:flex;align-items:center;justify-content:center;padding:var(--space-6);margin:0 auto;width:80px;height:80px}.calendar-heading{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-text-primary);text-align:center}.calendar-sub{font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.event-legend{display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-surface-1);border-radius:16px;padding:var(--card-padding)}.legend-row{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.download-button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-amber);color:#0b1512;border:none;border-radius:14px;font-family:var(--font-body);font-size:var(--text-base);font-weight:700;min-height:52px;width:100%;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:opacity var(--motion-fast) ease}.download-button:active{opacity:.85}.download-button--secondary{background:var(--color-surface-2);color:var(--color-text-secondary)}.import-steps{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);background:var(--color-surface-1);border-radius:16px;padding:var(--card-padding)}.import-steps li{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.import-steps strong{color:var(--color-amber);font-weight:700}.install-hint{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--card-padding);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap}.install-hint__dismiss{background:none;border:none;color:var(--color-text-muted);font-size:var(--text-md);padding:0;margin-left:auto;min-height:24px;min-width:24px;cursor:pointer}:focus-visible{outline:2px solid var(--color-amber);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(prefers-reduced-transparency:reduce){.glass-nav,.glass-card{backdrop-filter:none;-webkit-backdrop-filter:none;background:#131f1af2}}
