@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Nunito:wght@400;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap";button,.btn,[role=button],input[type=button],input[type=submit],input[type=reset],.clickable{min-height:44px;min-width:44px}.btn-small,.icon-button{min-height:44px;min-width:44px;padding:max(8px,calc((44px - 100%)/2));display:inline-flex;align-items:center;justify-content:center}.delete-btn,.remove-btn,.close-btn{min-height:44px;min-width:44px;padding:10px;border-radius:6px;background-color:transparent;border:2px solid transparent}.delete-btn:focus,.remove-btn:focus,.close-btn:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon-only{position:relative}.icon-only:after{content:attr(aria-label);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:rgba(0,0,0,.8);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:1000}.icon-only:hover:after,.icon-only:focus:after{opacity:1}@media (prefers-contrast: high){button,.btn{border:2px solid}.delete-btn:hover,.remove-btn:hover,.close-btn:hover{background-color:ButtonText;color:ButtonFace}}@media (prefers-reduced-motion: reduce){.icon-only:after{transition:none}button,.btn{transition:none}}button:focus-visible,.btn:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-text{color:contrast(var(--background-color) vs white,black);font-weight:500}@media (pointer: coarse){button,.btn,[role=button]{min-height:48px;min-width:48px;padding:12px}button+button,.btn+.btn{margin-left:8px}}:root{--bg-page: #0a0a0a;--bg-card: #141414;--bg-card-hover: #1c1c1c;--bg-input: #181818;--bg-elevated: #1e1e1e;--border: #232323;--border-bright: #333333;--accent: #F97316;--accent-dark: #EA580C;--accent-warm: #FB923C;--accent-light: rgba(249, 115, 22, .1);--accent-glow: rgba(249, 115, 22, .18);--accent-subtle: rgba(249, 115, 22, .06);--coral: #F97316;--coral-light: rgba(249, 115, 22, .1);--coral-glow: rgba(249, 115, 22, .22);--success: #34d472;--success-light: rgba(52, 212, 114, .1);--success-glow: rgba(52, 212, 114, .22);--amber: #fbbf24;--amber-light: rgba(251, 191, 36, .1);--warm-purple: #a78bfa;--purple-light: rgba(167, 139, 250, .1);--warm-purple-light: rgba(167, 139, 250, .1);--danger: #f87171;--danger-light: rgba(248, 113, 113, .1);--danger-solid: #ef4444;--danger-dark: #dc2626;--success-solid: #16a34a;--success-muted: #22c55e;--text-primary: #f0ece6;--text-secondary: #9a918a;--text-muted: #605a55;--text-dim: #4a4540;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3), 0 1px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--shadow-warm: 0 8px 32px rgba(249, 115, 22, .15), 0 2px 8px rgba(0, 0, 0, .2);--shadow-card: 0 2px 12px rgba(0, 0, 0, .25);--shadow-card-hover: 0 8px 28px rgba(249, 115, 22, .12), 0 4px 12px rgba(0, 0, 0, .3);--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-pill: 9999px;--font-display: "Nunito", sans-serif;--font-body: "Inter", "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 40px;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.55;--leading-relaxed: 1.7;--tracking-tighter: -.03em;--tracking-tight: -.015em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .04em;--tracking-widest: .08em;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.25, .46, .45, .94);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s}[data-theme=light]{--bg-page: #f5f3f0;--bg-card: #ffffff;--bg-card-hover: #faf9f7;--bg-input: #f0eeeb;--bg-elevated: #ffffff;--border: #e8e4df;--border-bright: #d4cfc9;--accent: #F97316;--accent-dark: #EA580C;--accent-warm: #FB923C;--accent-light: rgba(249, 115, 22, .08);--accent-glow: rgba(249, 115, 22, .16);--accent-subtle: rgba(249, 115, 22, .04);--coral: #EA580C;--coral-light: rgba(234, 88, 12, .1);--coral-glow: rgba(234, 88, 12, .22);--success: #22c55e;--success-light: rgba(34, 197, 94, .08);--success-glow: rgba(34, 197, 94, .2);--amber: #f59e0b;--amber-light: rgba(245, 158, 11, .08);--danger: #ef4444;--danger-light: rgba(239, 68, 68, .08);--warm-purple: #8b5cf6;--warm-purple-light: rgba(139, 92, 246, .08);--text-primary: #1a1612;--text-secondary: #6b6358;--text-muted: #9c9488;--text-dim: #bdb5a9;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 16px rgba(0, 0, 0, .06), 0 1px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .04);--shadow-warm: 0 8px 32px rgba(249, 115, 22, .1), 0 2px 8px rgba(0, 0, 0, .04);--shadow-card: 0 1px 4px rgba(0, 0, 0, .04), 0 2px 12px rgba(0, 0, 0, .03);--shadow-card-hover: 0 8px 28px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .04)}[data-theme=light] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px}body:after{content:"";position:fixed;top:-20%;left:50%;transform:translate(-50%);width:80%;height:40%;pointer-events:none;z-index:0;opacity:.035;background:radial-gradient(ellipse,rgba(249,115,22,.6),transparent 70%);filter:blur(80px)}[data-theme=light] body:after{opacity:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}button,a,[role=button]{min-height:44px;touch-action:manipulation;cursor:pointer}html,body{height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{transition:background-color .3s ease,color .3s ease;font-family:var(--font-body);font-size:var(--text-base);font-weight:400;background:var(--bg-page);color:var(--text-primary);line-height:var(--leading-normal);letter-spacing:var(--tracking-tight);overscroll-behavior:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);-webkit-touch-callout:none;font-feature-settings:"cv11" 1,"ss01" 1}#root{min-height:100vh;position:relative;z-index:1}input,button,select,textarea{font-family:var(--font-body)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter)}h1{font-size:clamp(1.8rem,6vw,2.8rem);font-weight:900}h2{font-size:clamp(1.4rem,4.5vw,2rem);font-weight:800}h3{font-size:clamp(1.1rem,3.5vw,1.4rem);font-weight:800}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes planeBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes springIn{0%{opacity:0;transform:scale(.88)}60%{opacity:1;transform:scale(1.03)}80%{transform:scale(.98)}to{transform:scale(1)}}.loading-screen{min-height:100vh;background:var(--bg-page);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.loading-plane{font-size:42px;animation:float 2s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(249,115,22,.3))}.loading-text{font-family:var(--font-display);font-weight:900;font-size:28px;letter-spacing:var(--tracking-wider);color:var(--text-primary);animation:fadeIn .8s var(--ease-out-expo)}.loading-screen{background:radial-gradient(ellipse at 50% 30%,rgba(249,115,22,.04),transparent 70%),var(--bg-page)}.glass-card{background:var(--bg-card);border:1px solid rgba(249,115,22,.15);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:slideUp .4s var(--ease-out-expo);transition:transform var(--duration-normal) var(--ease-spring),box-shadow var(--duration-normal) ease,border-color var(--duration-normal) ease,background var(--duration-normal) ease}.glass-card:hover{background:var(--bg-card-hover);border-color:#f9731659;box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}[data-theme=light] .glass-card{background:#ffffff;border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow-card),0 0 0 1px #00000005}[data-theme=light] .glass-card:hover{background:#ffffff;border-color:#f9731640;box-shadow:var(--shadow-card-hover)}.trip-card__flights{font-size:12px;font-weight:600;color:var(--accent);font-family:Inter,monospace;letter-spacing:.5px}[data-theme=light] .trip-card__flights{color:#f97316}.stops-badge--nonstop{background:rgba(34,197,94,.1);color:#16a34a;border:1px solid rgba(34,197,94,.2)}.stops-badge--stops{background:rgba(249,115,22,.1);color:#f97316;border:1px solid rgba(249,115,22,.2)}.stops-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}.shared-leg__fn,.agent-route-row__fn,.leg-flight-number{font-family:Inter,monospace;font-weight:600;font-size:14px;color:#f97316;letter-spacing:.5px}[data-theme=light] .shared-leg__fn,[data-theme=light] .agent-route-row__fn,[data-theme=light] .leg-flight-number{color:#f97316}.trip-card__meta{display:flex;align-items:center;gap:8px;margin:8px 0}.btn-primary{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 28px;background:linear-gradient(135deg,#F97316 0%,#EA580C 60%,#d4650a 100%);background-size:200% 200%;color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;cursor:pointer;box-shadow:0 4px 16px #f973164d,0 1px 3px #0000001f,inset 0 1px #ffffff1f;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-normal) ease,opacity var(--duration-normal) ease,background-position .4s ease;letter-spacing:var(--tracking-wide);text-decoration:none;-webkit-font-smoothing:antialiased;overflow:hidden}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #f9731659,0 2px 6px #00000026,inset 0 1px #ffffff26;background-position:right center}.btn-primary:active:not(:disabled){transform:scale(.98) translateY(0);box-shadow:0 2px 8px #f9731633}.btn-primary:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none;filter:saturate(.5)}.btn-primary:focus-visible{outline:2px solid var(--accent-warm);outline-offset:3px}.btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.3) 50%,transparent 60%);background-size:200% 100%;transform:translate(-100%);transition:none}.btn-primary:hover:after{animation:shimmer-slide 1.6s ease-in-out}@keyframes shimmer-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 28px;background:transparent;color:var(--text-secondary);border:1.5px solid var(--border-bright);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background var(--duration-normal) ease,border-color var(--duration-normal) ease,transform var(--duration-fast) var(--ease-spring),color var(--duration-normal) ease,box-shadow var(--duration-normal) ease;letter-spacing:var(--tracking-wide)}.btn-outline:hover{background:var(--accent-subtle);border-color:#f9731666;color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 14px #f9731614}.btn-outline:active{transform:scale(.98)}.btn-outline:focus-visible{outline:2px solid var(--accent-warm);outline-offset:3px}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background:var(--danger-light);color:var(--danger);border:1.5px solid rgba(239,68,68,.2);border-radius:14px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,transform .15s}.btn-danger:hover{background:rgba(239,68,68,.18);border-color:#ef444473;transform:translateY(-1px)}.btn-danger:active{transform:scale(.97)}.btn-danger:focus-visible{outline:2px solid var(--accent-warm);outline-offset:3px}.badge{display:inline-flex;align-items:center;padding:5px 14px;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wider);white-space:nowrap;line-height:1}.badge-success{background:rgba(34,197,94,.1);color:#34d472;border:1px solid rgba(34,197,94,.2);box-shadow:inset 0 1px #ffffff0d}[data-theme=light] .badge-success{color:#16a34a;background:rgba(34,197,94,.08);border-color:#22c55e2e;box-shadow:inset 0 1px #ffffff80}.badge-warning{background:rgba(245,158,11,.1);color:#fbbf24;border:1px solid rgba(245,158,11,.22);box-shadow:inset 0 1px #ffffff0d}[data-theme=light] .badge-warning{color:#d97706;background:rgba(245,158,11,.08);box-shadow:inset 0 1px #ffffff80}.badge-danger{background:var(--danger-light);color:var(--danger);border:1px solid rgba(239,68,68,.18);box-shadow:inset 0 1px #ffffff0d}.badge-air{background:linear-gradient(135deg,#F97316,#EA580C);color:#fff;border:1px solid rgba(249,115,22,.6);animation:breathe 2.8s ease-in-out infinite;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 2px 8px #f973164d,inset 0 1px #ffffff26}[data-theme=light] .badge-air{background:linear-gradient(135deg,#F97316,#EA580C);color:#fff;box-shadow:0 2px 8px #f9731640}.badge-departed{background:rgba(167,139,250,.1);color:var(--warm-purple);border:1px solid rgba(167,139,250,.22);box-shadow:inset 0 1px #ffffff0d}[data-theme=light] .badge-departed{color:#7c3aed;background:rgba(139,92,246,.08);box-shadow:inset 0 1px #ffffff80}.badge-default{background:rgba(154,145,137,.08);color:var(--text-secondary);border:1px solid rgba(154,145,137,.15)}.badge-delayed{background:rgba(239,68,68,.1);color:#fb923c;border:1px solid rgba(251,146,60,.25);box-shadow:inset 0 1px #ffffff0d}.badge-live{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-pill);background:linear-gradient(135deg,#F97316,#EA580C);color:#fff;font-size:10px;font-weight:700;letter-spacing:var(--tracking-widest);text-transform:uppercase;animation:breathe 2s ease-in-out infinite;box-shadow:0 2px 8px #f973164d}.float{animation:float 3s ease-in-out infinite}.pulse{animation:pulse 2s ease-in-out infinite}.dark-input{transition:border-color .2s ease,box-shadow .2s ease}.dark-input:focus{outline:none;border-color:var(--accent-warm)!important;box-shadow:0 0 0 3px #f9731626,0 2px 8px #f9731614!important}:focus-visible{outline:2px solid var(--accent-warm);outline-offset:3px;border-radius:4px}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:999px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--accent-warm)}*{scrollbar-width:thin;scrollbar-color:var(--border-bright) transparent}details summary{list-style:none}details summary::-webkit-details-marker{display:none}input[type=date]{text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;color-scheme:light dark}input[type=date]::-webkit-date-and-time-value{text-align:left}@media (prefers-color-scheme: dark){input[type=date]{color-scheme:dark}}[data-theme=light] input[type=date]{color-scheme:light}[data-theme=dark] input[type=date]{color-scheme:dark}*,*:before,*:after{transition-property:background-color,border-color,color,box-shadow;transition-duration:.3s;transition-timing-function:ease}button,.glass-card,.btn-primary,.btn-outline,.btn-danger,.badge-air,.float,.pulse,input{transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.2s}.docks-bar{display:inline-flex;border-radius:var(--radius-sm);overflow:hidden;background:rgba(255,255,255,.04);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:border-color .3s ease}[data-theme=light] .docks-bar{background:rgba(255,255,255,.7);border-color:#0000000f;box-shadow:var(--shadow-sm)}.docks-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-right:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,transform .15s ease;min-height:44px;white-space:nowrap;-webkit-user-select:none;user-select:none;letter-spacing:var(--tracking-wide)}.docks-btn:last-child,.docks-btn-right{border-right:none}.docks-btn:hover{background:rgba(255,255,255,.08);color:var(--text-primary)}[data-theme=light] .docks-btn:hover{background:rgba(0,0,0,.06)}.docks-btn:hover svg{transform:scale(1.1)}.docks-btn svg{width:18px;height:18px;transition:transform .2s ease;flex-shrink:0}.docks-btn-active{background:var(--accent)!important;color:#fff!important}.docks-btn-active:hover{background:var(--accent-dark)!important}.docks-btn:active{transform:scale(.97)}.docks-btn:focus-visible{outline:2px solid var(--accent-warm);outline-offset:-2px}.badge-air,.float,.pulse,.loading-plane{transition:none}.leg-duration{font-size:11px;color:var(--text-dim, #888);margin-top:2px;text-align:center;letter-spacing:.3px}.progress-labels__center{display:flex;flex-direction:column;align-items:center;gap:2px}.progress-labels__duration{font-size:11px;color:var(--accent-warm, #FB923C);font-weight:600;letter-spacing:.3px}.leg-airport__tz{font-size:.7em;opacity:.6;font-weight:400;letter-spacing:.02em}@keyframes slideUpSheet{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 640px){.modal-overlay{align-items:flex-end;padding:0}.modal-content{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:100%;margin:0;animation:slideUpSheet .35s var(--ease-spring)}}@media (hover: none){.glass-card:hover{transform:none;box-shadow:var(--shadow-md)}.btn-primary:hover:after{animation:none}}@keyframes pulse{0%,to{box-shadow:0 0 #f9731666}50%{box-shadow:0 0 0 8px #f9731600}}
