@keyframes shimmer-sweep{0%{background-position:-200% 0}to{background-position:200% 0}}@media (width>=768px){.shimmer-hero-container{height:240px;padding:32px}}@media (width>=900px){.app-container{padding-bottom:0}}@media (width>=768px){.main-content{padding:28px 24px 60px}}@media (width>=900px){.bottom-nav{display:none}}@media (width>=768px){.trip-hero{height:240px;padding:32px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=500px){.input-row{grid-template-columns:1fr}}@keyframes beaconPulse{0%{opacity:.8;transform:scale(.9);box-shadow:0 0 #38bdf8b3}70%{opacity:1;transform:scale(1.2);box-shadow:0 0 0 6px #38bdf800}to{opacity:.8;transform:scale(.9);box-shadow:0 0 #38bdf800}}@media (width<=600px){.flight-telemetry-grid{grid-template-columns:repeat(2,1fr)}.flight-route-card{flex-direction:column;align-items:stretch;gap:12px}.flight-airport-box.dest{text-align:left;align-items:flex-start}.flight-route-spine{width:100%}}@media (width<=640px){.poi-card-thumb{border-radius:var(--radius-sm);width:88px;height:68px}.timeline-item-body-row{gap:10px}}@media (width<=640px){.trip-hero{border-radius:var(--radius-lg);height:128px;margin-bottom:12px;padding:12px 14px}.trip-hero-overlay{background:linear-gradient(#080c1440 0%,#080c14eb 100%)}.trip-hero-content{align-items:flex-end;gap:6px}.trip-hero-main-info{flex:1;gap:3px;min-width:0}.trip-hero-badges{gap:5px}.hero-dest-pill,.hero-date-pill{padding:2px 7px;font-size:10.5px}.hero-date-desktop{display:none}.hero-date-mobile{display:inline}.trip-hero-title{text-overflow:ellipsis;white-space:nowrap;max-width:220px;margin:0;font-weight:800;line-height:1.2;overflow:hidden;font-size:17px!important}.trip-hero-meta-row{gap:8px;margin-top:1px}.hero-tripmates-count{font-size:11px}.hero-budget-pill{gap:4px;padding:2px 7px;font-size:11px}.hero-budget-bar{display:none}.trip-hero-actions{gap:5px}.hero-ai-btn{display:none!important}.hero-btn-main{height:32px;padding:5px 10px!important;font-size:12px!important}.hero-share-btn{height:32px;padding:5px 8px!important}.day-tabs-scroll{gap:6px;margin-bottom:8px;padding-bottom:2px}.day-tab-btn{border-radius:var(--radius-sm);padding:5px 9px}.day-tab-label{font-size:9.5px}.day-tab-date{font-size:11px}.timeline-desktop-actions{display:none!important}.timeline-mobile-search-toggle{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-subtle);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;position:relative;display:inline-flex!important}.timeline-category-chip{padding:4px 9px;font-size:11px}.timeline-item-card{gap:10px!important;padding:12px!important}.card-timeline-vertical{min-width:52px!important;padding-right:2px!important}.timeline-val{font-size:11.5px!important}.timeline-val.end{font-size:10.5px!important}.timeline-spine-duration{padding:1px 3px!important;font-size:8.5px!important}.timeline-cat-badge{width:20px!important;height:20px!important}.poi-card-thumb{border-radius:var(--radius-sm)!important;width:62px!important;height:54px!important}.flight-track-desktop{display:none!important}.flight-track-mobile{display:inline!important}.track-flight-btn{padding:2px 7px!important;font-size:11px!important}.category-badge,.status-badge{padding:2px 6px!important;font-size:10px!important}}@media (width<=640px){.card-header-with-thumb,.timeline-item-header-group{gap:8px}.timeline-item-title{margin-bottom:3px;line-height:1.25;font-size:14.5px!important}.timeline-item-location{font-size:11.5px!important}.poi-card-thumb{flex-shrink:0;border-radius:var(--radius-sm)!important;width:50px!important;height:44px!important}.timeline-item-notes{line-height:1.4;font-size:12px!important}.timeline-item-notes-wrapper{margin-top:5px}.nav-controls-desktop{display:none!important}.nav-controls-mobile{border-top:1px dashed var(--border-subtle);justify-content:space-between;align-items:center;gap:6px;width:100%;margin-top:5px;padding-top:6px;display:flex!important}.nav-mobile-main-btn{border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);white-space:nowrap;transition:all var(--transition-fast);border:1px solid #6366f140;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.nav-mobile-main-btn:active{transform:scale(.97)}.nav-mobile-alt-modes{align-items:center;gap:4px;display:flex}.nav-mobile-chip{border-radius:var(--radius-xs);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:2px;padding:3px 6px;font-size:10.5px;font-weight:600;text-decoration:none;display:inline-flex}.nav-mobile-chip.walk{color:#34d399}.nav-mobile-chip.transit{color:#a78bfa}.nav-mobile-chip.drive{color:#38bdf8}}@media (width<=640px){.map-wrapper{height:380px}}@media (width>=1024px){.map-wrapper{height:580px}}:root{--bg-app:#080c14;--bg-subtle:#0d1322;--bg-card:#121a2cb8;--bg-card-hover:#1a253ed9;--bg-glass:#0d1322bf;--bg-elevated:#162038;--bg-input:#0f172a99;--border-subtle:#ffffff14;--border-active:#6366f166;--border-card:#ffffff17;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#090d16;--primary:#6366f1;--primary-hover:#4f46e5;--primary-light:#6366f126;--primary-glow:#6366f159;--accent-coral:#f43f5e;--accent-coral-light:#f43f5e26;--accent-emerald:#10b981;--accent-emerald-light:#10b98126;--accent-amber:#f59e0b;--accent-amber-light:#f59e0b26;--accent-cyan:#06b6d4;--accent-cyan-light:#06b6d426;--cat-flight:#38bdf8;--cat-flight-bg:#38bdf824;--cat-hotel:#818cf8;--cat-hotel-bg:#818cf824;--cat-activity:#34d399;--cat-activity-bg:#34d39924;--cat-dining:#fb923c;--cat-dining-bg:#fb923c24;--cat-transit:#a78bfa;--cat-transit-bg:#a78bfa24;--cat-note:#f472b6;--cat-note-bg:#f472b624;--font-display:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow-sm:0 1px 2px 0 #00000040;--shadow-md:0 4px 16px -2px #00000059;--shadow-lg:0 10px 30px -4px #00000080;--shadow-glow:0 0 24px #6366f140;--radius-xs:6px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.16, 1, .3, 1);--transition-normal:.25s cubic-bezier(.16, 1, .3, 1);--transition-smooth:.4s cubic-bezier(.16, 1, .3, 1);--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px)}[data-theme=light]{--bg-app:#f4f6fb;--bg-subtle:#eaeff8;--bg-card:#ffffffe0;--bg-card-hover:#fff;--bg-glass:#ffffffd9;--bg-elevated:#fff;--bg-input:#fff;--border-subtle:#0f172a14;--border-active:#6366f199;--border-card:#0f172a12;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#f8fafc;--shadow-sm:0 1px 2px 0 #0f172a0f;--shadow-md:0 4px 18px -2px #0f172a14;--shadow-lg:0 12px 36px -4px #0f172a1f;--shadow-glow:0 0 20px #6366f12e}.shimmer-base{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff0a 0%,#ffffff1f 50%,#ffffff0a 100%) 0 0/200% 100%;animation:1.6s ease-in-out infinite shimmer-sweep;display:block}[data-theme=light] .shimmer-base{background:linear-gradient(90deg,#0000000d 0%,#0000001f 50%,#0000000d 100%) 0 0/200% 100%}.shimmer-line{width:100%;height:14px;margin-bottom:8px}.shimmer-line.title{border-radius:var(--radius-sm);width:65%;height:22px}.shimmer-line.subtitle{border-radius:var(--radius-xs);width:45%;height:14px}.shimmer-line.short{width:30%}.shimmer-circle{border-radius:50%;flex-shrink:0;width:32px;height:32px}.shimmer-badge{border-radius:var(--radius-full);width:72px;height:22px}.shimmer-thumb{border-radius:var(--radius-md) var(--radius-md) 0 0;width:100%;height:140px}.shimmer-hero-container{border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--bg-card);flex-direction:column;justify-content:flex-end;height:200px;margin-bottom:24px;padding:24px;display:flex;position:relative;overflow:hidden}@media (width>=768px){.shimmer-hero-container{height:240px;padding:32px}}.shimmer-hero-overlay{background:linear-gradient(#080c144d 0%,#080c14cc 100%);position:absolute;inset:0}.shimmer-hero-content{z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;width:100%;display:flex;position:relative}.shimmer-timeline-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-md);box-sizing:border-box;align-items:flex-start;gap:16px;min-height:185px;margin-bottom:14px;padding:16px 18px;display:flex}.shimmer-timeline-vertical{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;min-width:82px;padding-right:6px;display:flex;position:relative}.shimmer-timeline-content{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.shimmer-trip-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);flex-direction:column;min-height:275px;display:flex;overflow:hidden}.shimmer-trip-card-body{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex}.shimmer-map-container{border-radius:var(--radius-lg);width:100%;position:relative;overflow:hidden}.shimmer-ai-pulse{border-radius:var(--radius-md);border:1px dashed var(--border-active);background:linear-gradient(90deg,#6366f114 0%,#6366f138 50%,#6366f114 100%) 0 0/200% 100%;padding:24px;animation:1.4s ease-in-out infinite shimmer-sweep}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background-color:var(--bg-app);width:100%;min-height:100%;color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-weight:700;line-height:1.25}p{color:var(--text-secondary)}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}input,textarea,select{color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:10px 14px;font-family:inherit;font-size:14px}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}input::placeholder,textarea::placeholder{color:var(--text-muted)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{min-height:100dvh;padding-bottom:calc(86px + var(--sab));flex-direction:column;display:flex;position:relative}@media (width>=900px){.app-container{padding-bottom:0}}.main-content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:20px 16px 40px}@media (width>=768px){.main-content{padding:28px 24px 60px}}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.flex-1{flex:1}.w-full{width:100%}.btn{border-radius:var(--radius-sm);transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:14px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);box-shadow:0 2px 10px #6366f159}.btn-primary:hover{filter:brightness(1.08);box-shadow:0 4px 16px #6366f180}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-active)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-elevated)}.btn-glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);color:var(--text-primary)}.btn-glass:hover{background:var(--bg-card-hover);border-color:var(--border-active)}.btn-icon{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{color:var(--text-primary);background:var(--bg-elevated)}.btn-sm{border-radius:var(--radius-xs);padding:6px 12px;font-size:13px}.btn-lg{border-radius:var(--radius-md);padding:12px 24px;font-size:15px}.navbar{z-index:1500;background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);width:100%;padding-top:var(--sat);position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1280px;margin:0 auto;padding:12px 16px;display:flex}.brand-logo{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);align-items:center;gap:10px;font-size:20px;font-weight:800;text-decoration:none;display:flex}.brand-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--primary-light);color:var(--primary);border-radius:var(--radius-full);padding:2px 6px;font-size:10px;font-weight:700}.bottom-nav{z-index:2000;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-subtle);padding-bottom:var(--sab);height:calc(64px + var(--sab));justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=900px){.bottom-nav{display:none}}.bottom-nav-item{height:100%;color:var(--text-muted);transition:color var(--transition-fast);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-icon-container{border-radius:var(--radius-full);transition:all var(--transition-fast);justify-content:center;align-items:center;padding:4px 12px;display:flex;position:relative}.bottom-nav-item.active .bottom-nav-icon-container{background:var(--primary-light)}.category-badge{border-radius:var(--radius-full);text-transform:capitalize;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.category-flight{color:var(--cat-flight);background:var(--cat-flight-bg);border:1px solid #38bdf840}.category-hotel{color:var(--cat-hotel);background:var(--cat-hotel-bg);border:1px solid #818cf840}.category-activity{color:var(--cat-activity);background:var(--cat-activity-bg);border:1px solid #34d39940}.category-dining{color:var(--cat-dining);background:var(--cat-dining-bg);border:1px solid #fb923c40}.category-transit{color:var(--cat-transit);background:var(--cat-transit-bg);border:1px solid #a78bfa40}.category-note{color:var(--cat-note);background:var(--cat-note-bg);border:1px solid #f472b640}.status-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.status-booked{color:#10b981;background:#10b9811f}.status-planned{color:#38bdf8;background:#38bdf81f}.status-completed{color:#94a3b8;background:#94a3b81f}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.glass-card:hover{background:var(--bg-card-hover);border-color:var(--border-active);box-shadow:var(--shadow-md)}.trip-hero{border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;height:200px;margin-bottom:24px;padding:24px;display:flex;position:relative;overflow:hidden}@media (width>=768px){.trip-hero{height:240px;padding:32px}}.trip-hero-overlay{background:linear-gradient(#080c1433 0%,#080c14e0 100%);position:absolute;inset:0}.trip-hero-content{z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:relative}.trip-hero-main-info{flex-direction:column;gap:6px;min-width:0;display:flex}.trip-hero-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hero-dest-pill,.hero-date-pill{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);color:#fff;background:#0000008c;border:1px solid #ffffff26;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.hero-date-mobile{display:none}.hero-date-desktop{display:inline}.trip-hero-title{color:#fff;text-shadow:0 2px 10px #00000080;font-size:clamp(22px,4vw,32px);font-weight:800;line-height:1.25}.trip-hero-meta-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:4px;display:flex}.hero-tripmates-group{cursor:pointer;align-items:center;gap:8px;display:flex}.hero-tripmates-count{color:#ffffffd9;font-size:12px;font-weight:600}.hero-budget-pill{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);color:#fff;background:#0000008c;border:1px solid #ffffff26;align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:flex}.hero-budget-bar{background:#fff3;border-radius:3px;width:50px;height:6px;margin-left:4px;overflow:hidden}.trip-hero-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.day-tabs-scroll{scrollbar-width:none;gap:8px;margin-bottom:20px;padding-bottom:6px;display:flex;overflow-x:auto}.day-tabs-scroll::-webkit-scrollbar{display:none}.day-tab-btn{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);flex-direction:column;align-items:center;padding:8px 16px;display:flex}.day-tab-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.day-tab-btn.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.day-tab-label{text-transform:uppercase;font-size:11px;font-weight:700}.day-tab-date{font-size:13px;font-weight:600}.timeline-container{flex-direction:column;gap:14px;display:flex;position:relative}.timeline-item-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-md);transition:all var(--transition-fast);gap:16px;padding:16px 18px;display:flex;position:relative}.timeline-item-card:hover{border-color:var(--border-active);background:var(--bg-card-hover);transform:translateY(-1px)}.card-timeline-vertical{flex-direction:column;flex-shrink:0;align-items:flex-end;min-width:82px;padding-right:6px;display:flex;position:relative}.timeline-step{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.timeline-val{font-family:var(--font-display);color:var(--text-primary);text-align:right;letter-spacing:-.02em;font-size:13px;font-weight:700}.timeline-val.end{color:var(--text-muted);font-size:12px;font-weight:600}.timeline-axis-dot{z-index:2;border-radius:50%;flex-shrink:0;width:10px;height:10px;position:relative;box-shadow:0 0 6px #0006}.timeline-axis-dot.start{background:var(--bg-card);border:2px solid var(--primary)}.timeline-axis-dot.end{background:var(--primary);border:2px solid var(--bg-card)}.timeline-axis-spine{justify-content:flex-end;align-items:center;width:100%;min-height:24px;margin:3px 0;display:flex;position:relative}.timeline-spine-line{background:linear-gradient(180deg, var(--primary), #ffffff26);width:2px;position:absolute;top:0;bottom:0;right:4px}.timeline-spine-line.dashed{background:repeating-linear-gradient(#ffffff40 0 3px,#0000 3px 6px)}.timeline-spine-duration{color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-full);white-space:nowrap;margin-right:14px;padding:1px 6px;font-size:10px;font-weight:700}.timeline-cat-badge{width:30px;height:30px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;margin-top:8px;margin-right:-10px;display:flex}.timeline-content-col{flex:1;min-width:0}.modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(8px);background:#04070dbf;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--bg-elevated);border:1px solid var(--border-card);border-radius:var(--radius-xl);width:100%;max-width:540px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-body{flex-direction:column;gap:18px;padding:20px 24px;display:flex}.modal-footer{border-top:1px solid var(--border-subtle);justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);font-size:13px;font-weight:600}.input-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=500px){.input-row{grid-template-columns:1fr}}.avatar-stack{align-items:center;display:flex}.avatar-stack img,.avatar-stack .avatar-initial{border:2px solid var(--bg-app);object-fit:cover;background:var(--bg-elevated);width:30px;height:30px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;margin-left:-8px;font-size:12px;font-weight:700;display:inline-flex}.avatar-stack img:first-child,.avatar-stack .avatar-initial:first-child{margin-left:0}.nav-controls-wrapper{border-top:1px dashed var(--border-subtle);flex-direction:column;gap:8px;width:100%;margin-top:8px;padding-top:8px;display:flex}.nav-estimate-bar{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:5px 8px;font-size:11px;display:flex}.nav-estimate-left{color:var(--text-secondary);align-items:center;gap:5px;display:flex}.nav-estimate-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-xs);color:var(--primary);background:#6366f126;padding:1px 5px;font-size:9px;font-weight:800}.nav-estimate-origin{text-overflow:ellipsis;white-space:nowrap;max-width:130px;color:var(--text-muted);overflow:hidden}.nav-estimate-distance{color:var(--text-primary);font-weight:700}.nav-estimate-times{align-items:center;gap:6px;display:flex}.nav-time-chip{border-radius:var(--radius-xs);white-space:nowrap;align-items:center;gap:3px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-flex}.nav-time-chip.drive{color:#38bdf8;background:#38bdf81a}.nav-time-chip.transit{color:#a78bfa;background:#a78bfa1f}.nav-time-chip.walk{color:#34d399;background:#34d3991a}.nav-buttons-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.nav-buttons-row.compact{gap:4px}.nav-label-group{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.nav-lead-icon{color:var(--primary);opacity:.85}.nav-actions-group{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.nav-mode-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-card);transition:all var(--transition-fast);white-space:nowrap;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.nav-mode-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.nav-mode-btn.drive{color:#38bdf8;border-color:#38bdf840}.nav-mode-btn.drive:hover{background:#38bdf81f;border-color:#38bdf8}.nav-mode-btn.transit{color:#a78bfa;border-color:#a78bfa40}.nav-mode-btn.transit:hover{background:#a78bfa1f;border-color:#a78bfa}.nav-mode-btn.walk{color:#34d399;border-color:#34d39940}.nav-mode-btn.walk:hover{background:#34d3991f;border-color:#34d399}.nav-btn-text{font-weight:600}.nav-btn-time{opacity:.8;border-radius:var(--radius-xs);background:#ffffff14;padding:0 3px;font-size:10px}.nav-btn-ext{opacity:.5;margin-left:1px}.nav-app-picker{display:inline-block;position:relative}.nav-app-toggle-btn{border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;align-items:center;gap:3px;padding:4px 6px;font-size:10px;font-weight:600;display:flex}.nav-app-toggle-btn:hover{color:var(--text-primary);border-color:var(--border-active)}.nav-app-dropdown{background:var(--bg-elevated);border:1px solid var(--border-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:100;flex-direction:column;gap:2px;min-width:105px;padding:4px;animation:.15s ease-out fadeIn;display:flex;position:absolute;bottom:calc(100% + 4px);right:0}.nav-app-item{color:var(--text-secondary);border-radius:var(--radius-xs);text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:6px 8px;font-size:11px;font-weight:500}.nav-app-item:hover,.nav-app-item.active{background:var(--primary-light);color:var(--primary);font-weight:700}.flight-modal-sheet{background:var(--bg-elevated);border:1px solid var(--border-card);box-shadow:0 20px 50px #00000080}.flight-modal-plane-badge{border-radius:var(--radius-md);color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 0 16px #38bdf833}.flight-live-status-pill{border-radius:var(--radius-full);letter-spacing:.04em;border:1px solid;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex}.live-beacon-dot{border-radius:50%;width:7px;height:7px;animation:1.8s infinite beaconPulse}.flight-route-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex;position:relative;overflow:hidden}.flight-airport-box{flex-direction:column;gap:3px;min-width:100px;display:flex}.flight-airport-box.dest{text-align:right;align-items:flex-end}.flight-iata-code{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.03em;font-size:28px;font-weight:900;line-height:1}.flight-airport-city{color:var(--text-secondary);font-size:13px;font-weight:500}.flight-time-box{color:var(--primary);align-items:center;gap:5px;margin-top:4px;font-size:14px;font-weight:700;display:flex}.flight-gate-info{color:var(--text-muted);font-size:11px}.flight-route-spine{flex-direction:column;flex:1;align-items:center;gap:8px;padding:0 10px;display:flex}.flight-spine-time{color:var(--text-muted);background:var(--bg-elevated);border-radius:var(--radius-full);border:1px solid var(--border-subtle);padding:2px 8px;font-size:11px;font-weight:700}.flight-spine-track{background:var(--border-card);border-radius:var(--radius-full);width:100%;height:4px;position:relative}.flight-spine-fill{background:linear-gradient(90deg, #38bdf8, var(--primary));border-radius:var(--radius-full);height:100%;transition:width .3s}.flight-spine-airplane{color:#38bdf8;background:var(--bg-app);border-radius:50%;justify-content:center;align-items:center;padding:3px;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)rotate(90deg);box-shadow:0 0 10px #38bdf8cc}.flight-spine-sub{color:#38bdf8;font-size:11px;font-weight:600}.flight-telemetry-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=600px){.flight-telemetry-grid{grid-template-columns:repeat(2,1fr)}.flight-route-card{flex-direction:column;align-items:stretch;gap:12px}.flight-airport-box.dest{text-align:left;align-items:flex-start}.flight-route-spine{width:100%}}.flight-telemetry-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:10px;padding:10px 12px;display:flex}.telemetry-icon-box{border-radius:var(--radius-sm);background:var(--bg-elevated);width:32px;height:32px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.telemetry-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;font-size:10px;font-weight:700;display:block}.telemetry-val{color:var(--text-primary);margin-top:1px;font-size:13px;font-weight:700;display:block}.flight-radar-map-wrapper{border-radius:var(--radius-md);border:1px solid var(--border-card);isolation:isolate;contain:paint;z-index:1;height:240px;position:relative;overflow:hidden;box-shadow:inset 0 0 20px #0006}.flight-radar-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#38bdf8;border-radius:var(--radius-full);z-index:1000;background:#0f172ad9;border:1px solid #38bdf84d;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 4px 12px #0000004d}.live-pulse{animation:1.5s infinite pulse}.flight-external-radar-bar{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:8px;display:flex}.track-flight-btn{color:#38bdf8;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#38bdf81f;border:1px solid #38bdf84d;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.track-flight-btn:hover{background:#38bdf838;border-color:#38bdf8;transform:translateY(-1px);box-shadow:0 2px 8px #38bdf840}.timeline-item-body-row{flex-direction:column;gap:6px;width:100%;margin-bottom:8px;display:flex}.timeline-item-text-col{flex:1;min-width:0}.poi-card-thumb{border-radius:var(--radius-md);border:1px solid var(--border-card);background:var(--bg-elevated);width:130px;height:90px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);flex-shrink:0;position:relative;overflow:hidden;box-shadow:0 4px 14px #0003}.timeline-item-card:hover .poi-card-thumb{transform:scale(1.03);box-shadow:0 6px 18px #0000004d}.poi-thumb-img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=640px){.poi-card-thumb{border-radius:var(--radius-sm);width:88px;height:68px}.timeline-item-body-row{gap:10px}}.poi-thumb-mini{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);flex-shrink:0;width:48px;height:48px;position:relative;overflow:hidden}.currency-converter-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-card);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:16px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 18px #00000026}.currency-converter-card:before{content:"";background:linear-gradient(90deg,#10b981 0%,#6366f1 50%,#38bdf8 100%);height:3px;position:absolute;top:0;left:0;right:0}.currency-converter-card.compact{gap:10px;padding:12px 14px}.converter-header{justify-content:space-between;align-items:center;display:flex}.converter-badge{border-radius:var(--radius-sm);color:#10b981;background:#10b98126;border:1px solid #10b9814d;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.converter-body{flex-direction:column;gap:8px;display:flex}.converter-input-group{flex-direction:column;gap:4px;display:flex}.converter-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.converter-field{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast);align-items:stretch;display:flex;overflow:hidden}.converter-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #6366f133}.converter-input{min-width:0;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:10px 14px;font-size:18px;font-weight:800}.converter-output{min-width:0;color:var(--accent-emerald);-webkit-user-select:all;user-select:all;flex:1;align-items:center;padding:10px 14px;font-size:18px;font-weight:800;display:flex}.converter-select{background:var(--bg-card-hover);border:none;border-left:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);outline:none;padding:0 12px;font-size:13px;font-weight:700}.converter-select:hover{background:var(--bg-elevated)}.converter-swap-wrapper{z-index:2;justify-content:center;margin:-4px 0;display:flex}.converter-swap-btn{background:var(--bg-elevated);border:1px solid var(--border-subtle);width:30px;height:30px;color:var(--primary);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 2px 8px #0000002e}.converter-swap-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:rotate(180deg)scale(1.1)}.converter-presets-row{flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px;display:flex}.converter-preset-chip{border-radius:var(--radius-xs);background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);padding:3px 8px;font-size:11px;font-weight:600}.converter-preset-chip:hover{color:var(--primary);border-color:var(--primary);background:#6366f126;transform:translateY(-1px)}.converter-rate-bar{border-top:1px solid var(--border-subtle);color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:4px;padding-top:8px;font-size:11px;display:flex}.dual-currency-tag{color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);align-items:center;gap:4px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-flex}.timeline-filter-toolbar{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.timeline-categories-scroll{scrollbar-width:none;flex:1;gap:6px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.timeline-categories-scroll::-webkit-scrollbar{display:none}.timeline-category-chip{border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-subtle);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.timeline-category-chip:hover{background:var(--bg-card-hover);color:var(--text-primary)}.timeline-category-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.timeline-mobile-search-toggle{display:none}.timeline-mobile-search-bar{background:var(--bg-card);border:1px solid var(--primary);border-radius:var(--radius-full);width:100%;box-shadow:0 0 0 3px var(--primary-light);align-items:center;gap:8px;padding:4px 10px;display:flex}.timeline-mobile-search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:4px;font-size:13px}.timeline-desktop-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.search-active-dot{background:var(--primary);border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:3px}.flight-track-mobile{display:none}.flight-track-desktop{display:inline}@media (width<=640px){.trip-hero{border-radius:var(--radius-lg);height:128px;margin-bottom:12px;padding:12px 14px}.trip-hero-overlay{background:linear-gradient(#080c1440 0%,#080c14eb 100%)}.trip-hero-content{align-items:flex-end;gap:6px}.trip-hero-main-info{flex:1;gap:3px;min-width:0}.trip-hero-badges{gap:5px}.hero-dest-pill,.hero-date-pill{padding:2px 7px;font-size:10.5px}.hero-date-desktop{display:none}.hero-date-mobile{display:inline}.trip-hero-title{text-overflow:ellipsis;white-space:nowrap;max-width:220px;margin:0;font-weight:800;line-height:1.2;overflow:hidden;font-size:17px!important}.trip-hero-meta-row{gap:8px;margin-top:1px}.hero-tripmates-count{font-size:11px}.hero-budget-pill{gap:4px;padding:2px 7px;font-size:11px}.hero-budget-bar{display:none}.trip-hero-actions{gap:5px}.hero-ai-btn{display:none!important}.hero-btn-main{height:32px;padding:5px 10px!important;font-size:12px!important}.hero-share-btn{height:32px;padding:5px 8px!important}.day-tabs-scroll{gap:6px;margin-bottom:8px;padding-bottom:2px}.day-tab-btn{border-radius:var(--radius-sm);padding:5px 9px}.day-tab-label{font-size:9.5px}.day-tab-date{font-size:11px}.timeline-desktop-actions{display:none!important}.timeline-mobile-search-toggle{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-subtle);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;position:relative;display:inline-flex!important}.timeline-category-chip{padding:4px 9px;font-size:11px}.timeline-item-card{gap:10px!important;padding:12px!important}.card-timeline-vertical{min-width:52px!important;padding-right:2px!important}.timeline-val{font-size:11.5px!important}.timeline-val.end{font-size:10.5px!important}.timeline-spine-duration{padding:1px 3px!important;font-size:8.5px!important}.timeline-cat-badge{width:20px!important;height:20px!important}.poi-card-thumb{border-radius:var(--radius-sm)!important;width:62px!important;height:54px!important}.flight-track-desktop{display:none!important}.flight-track-mobile{display:inline!important}.track-flight-btn{padding:2px 7px!important;font-size:11px!important}.category-badge,.status-badge{padding:2px 6px!important;font-size:10px!important}}.card-header-with-thumb,.timeline-item-header-group{justify-content:space-between;align-items:flex-start;gap:12px;width:100%;display:flex}.timeline-item-title-col{flex:1;min-width:0}.timeline-item-title{color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:700;line-height:1.3}.timeline-item-location{color:var(--text-secondary);align-items:center;gap:5px;font-size:13px;display:flex}.timeline-location-link{color:inherit;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;max-width:100%;text-decoration:none;display:inline-flex;overflow:hidden}.timeline-location-link:hover{color:var(--primary)}.location-name-text{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.timeline-item-notes-wrapper{width:100%;margin-top:6px}.timeline-item-notes{color:var(--text-secondary);white-space:pre-line;margin:0;font-size:13px;line-height:1.45}.timeline-item-notes.clamped{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.timeline-item-notes.expanded{display:block}.notes-expand-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;margin-top:2px;padding:2px 0;font-size:11.5px;font-weight:600}.notes-expand-btn:hover{text-decoration:underline}.nav-controls-mobile{display:none}.nav-controls-desktop{width:100%;display:block}@media (width<=640px){.card-header-with-thumb,.timeline-item-header-group{gap:8px}.timeline-item-title{margin-bottom:3px;line-height:1.25;font-size:14.5px!important}.timeline-item-location{font-size:11.5px!important}.poi-card-thumb{flex-shrink:0;border-radius:var(--radius-sm)!important;width:50px!important;height:44px!important}.timeline-item-notes{line-height:1.4;font-size:12px!important}.timeline-item-notes-wrapper{margin-top:5px}.nav-controls-desktop{display:none!important}.nav-controls-mobile{border-top:1px dashed var(--border-subtle);justify-content:space-between;align-items:center;gap:6px;width:100%;margin-top:5px;padding-top:6px;display:flex!important}.nav-mobile-main-btn{border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);white-space:nowrap;transition:all var(--transition-fast);border:1px solid #6366f140;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.nav-mobile-main-btn:active{transform:scale(.97)}.nav-mobile-alt-modes{align-items:center;gap:4px;display:flex}.nav-mobile-chip{border-radius:var(--radius-xs);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:2px;padding:3px 6px;font-size:10.5px;font-weight:600;text-decoration:none;display:inline-flex}.nav-mobile-chip.walk{color:#34d399}.nav-mobile-chip.transit{color:#a78bfa}.nav-mobile-chip.drive{color:#38bdf8}}.map-wrapper{border-radius:var(--radius-lg);border:1px solid var(--border-card);width:100%;height:480px;box-shadow:var(--shadow-md);z-index:1;isolation:isolate;contain:paint;position:relative;overflow:hidden}@media (width<=640px){.map-wrapper{height:380px}}@media (width>=1024px){.map-wrapper{height:580px}}.leaflet-container{width:100%;height:100%;background-color:var(--bg-subtle)!important;font-family:var(--font-body)!important}[data-theme=dark] .leaflet-tile-pane,:root:not([data-theme=light]) .leaflet-tile-pane{filter:brightness(.7)invert()contrast(1.1)hue-rotate(200deg)saturate(.35)}.custom-map-pin{cursor:pointer;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 14px #00000073}.custom-map-pin:hover{transform:scale(1.18);z-index:1000!important}.leaflet-popup-content-wrapper{overflow:hidden;background:var(--bg-card)!important;-webkit-backdrop-filter:blur(16px)!important;border:1px solid var(--border-card)!important;border-radius:var(--radius-md)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-lg)!important;padding:0!important}.leaflet-popup-content{margin:14px 16px!important;line-height:1.4!important}.leaflet-popup-tip{background:var(--bg-card)!important;border:1px solid var(--border-card)!important}.leaflet-popup-close-button{color:var(--text-muted)!important;padding:6px 8px!important}.leaflet-popup-close-button:hover{color:var(--text-primary)!important}.map-popup-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.map-popup-title{font-family:var(--font-display);color:var(--text-primary);font-size:14px;font-weight:700}.map-popup-time{color:var(--text-muted);font-size:12px;font-weight:500}.map-popup-location{color:var(--text-secondary);margin-top:4px;font-size:12px}
