:root{--navy: #12233D;--navy-deep: #0A1626;--amber: #E8A33D;--amber-dim: #C98A2C;--paper: #F5F2EA;--paper-dim: #EAE5D8;--teal: #1F6F78;--red: #C24444;--ink: #1B2430;--ink-soft: #5B6472;--line: rgba(18,35,61,.14);--radius: 3px;--font-display: "Space Grotesk", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}#root{min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}.app-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}#app{flex:1}a{color:inherit}button{font-family:inherit;cursor:pointer}::selection{background:var(--amber);color:var(--navy-deep)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.topbar{background:var(--navy-deep);color:var(--paper);padding:14px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--amber)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:.5px}.brand .dot{color:var(--amber)}.topnav{display:flex;gap:22px;font-size:13px;letter-spacing:.6px;text-transform:uppercase;font-family:var(--font-mono)}.topnav button,.topnav a{background:none;border:none;color:var(--paper);opacity:.75;padding:4px 0;border-bottom:2px solid transparent;transition:opacity .15s,border-color .15s;text-decoration:none;font-size:13px;letter-spacing:.6px;text-transform:uppercase;font-family:var(--font-mono);cursor:pointer}.topnav button:hover,.topnav button.active,.topnav a:hover,.topnav a.active{opacity:1;border-color:var(--amber)}.flapboard{display:flex;gap:6px;flex-wrap:wrap}.flap-char{position:relative;width:26px;height:34px;background:var(--navy);border-radius:3px;overflow:hidden;font-family:var(--font-mono);font-weight:600;font-size:20px;color:var(--amber);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #e8a33d26}.flap-char:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#0000008c}.flap-char span{display:block;transition:opacity .05s}@media (prefers-reduced-motion: reduce){.flap-char span{transition:none}}.hero{background:linear-gradient(180deg,var(--navy-deep) 0%,var(--navy) 100%);color:var(--paper);padding:56px 28px 64px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(90deg,rgba(245,242,234,.035) 0 1px,transparent 1px 64px),repeating-linear-gradient(0deg,rgba(245,242,234,.035) 0 1px,transparent 1px 64px);pointer-events:none}.hero-inner{max-width:1080px;margin:0 auto;position:relative}.hero-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:2px;font-size:12px;color:var(--amber);margin-bottom:18px}.hero h1{font-family:var(--font-display);font-size:clamp(32px,5vw,52px);line-height:1.05;margin:0 0 14px;max-width:680px;font-weight:700}.hero p{font-size:16px;color:#f5f2eab8;max-width:520px;margin:0 0 36px;line-height:1.55}.search-card{background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:22px;box-shadow:0 24px 48px -20px #00000080;display:grid;grid-template-columns:repeat(4,1fr) auto;gap:14px;align-items:end}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft)}.field input,.field select{border:1px solid var(--line);background:#fff;border-radius:2px;padding:10px;font-size:14px;font-family:var(--font-body);color:var(--ink);width:100%}.swap-row{display:contents}.trip-toggle{grid-column:1 / -1;display:flex;gap:18px;margin-bottom:2px;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.8px}.trip-toggle label{display:flex;align-items:center;gap:6px;color:var(--ink-soft);cursor:pointer}.trip-toggle input{accent-color:var(--teal)}.btn{border:none;border-radius:2px;font-weight:600;padding:11px 20px;font-size:14px;transition:transform .1s,background .15s;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--amber);color:var(--navy-deep)}.btn-primary:hover{background:var(--amber-dim)}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--navy)}.btn-dark{background:var(--navy);color:var(--paper)}.btn-dark:hover{background:var(--navy-deep)}.btn:disabled{opacity:.45;cursor:not-allowed}.wrap{max-width:1080px;margin:0 auto;padding:40px 28px 80px}.section-title{font-family:var(--font-display);font-size:22px;font-weight:600;margin:0 0 4px}.section-sub{color:var(--ink-soft);font-size:14px;margin:0 0 24px}.results-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:12px}.sort-group{display:flex;gap:8px;font-family:var(--font-mono);font-size:12px}.sort-chip{padding:7px 12px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.5px}.sort-chip.active{background:var(--navy);color:var(--paper);border-color:var(--navy)}.flight-card{display:grid;grid-template-columns:1fr auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;overflow:hidden;transition:box-shadow .15s,border-color .15s}.flight-card:hover{box-shadow:0 10px 24px -12px #12233d40;border-color:#12233d4d}.flight-main{padding:20px 22px;display:flex;flex-direction:column;gap:14px}.flight-airline{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.6px}.airline-mark{width:22px;height:22px;border-radius:50%;background:var(--navy);color:var(--amber);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:11px;font-weight:700}.flight-route{display:flex;align-items:center;gap:18px}.route-point{text-align:center}.route-point .time{font-family:var(--font-mono);font-size:24px;font-weight:600;color:var(--navy-deep)}.route-point .code{font-size:12px;color:var(--ink-soft);letter-spacing:.5px}.route-line{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:90px}.route-line .dur{font-size:11px;color:var(--ink-soft);font-family:var(--font-mono)}.route-line .bar{width:100%;height:1px;background:var(--line);position:relative}.route-line .bar:before,.route-line .bar:after{content:"";position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--teal)}.route-line .bar:before{left:0}.route-line .bar:after{right:0;background:var(--amber)}.route-line .stops{font-size:11px;color:var(--ink-soft)}.flight-tags{display:flex;gap:8px;flex-wrap:wrap}.tag{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:20px;background:var(--paper-dim);color:var(--ink-soft)}.flight-stub{background:var(--navy);color:var(--paper);width:190px;padding:20px 18px;display:flex;flex-direction:column;justify-content:space-between;position:relative;border-left:2px dashed rgba(245,242,234,.25)}.flight-stub:before,.flight-stub:after{content:"";position:absolute;width:16px;height:16px;background:var(--paper);border-radius:50%;left:-9px}.flight-stub:before{top:-8px}.flight-stub:after{bottom:-8px}.price{font-family:var(--font-mono);font-size:26px;font-weight:600;color:var(--amber)}.price-sub{font-size:11px;color:#f5f2ea99;margin-top:2px}.empty-state{text-align:center;padding:60px 20px;color:var(--ink-soft)}.flow-grid{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.panel h3{font-family:var(--font-display);font-size:17px;margin:0 0 16px}.stepper{display:flex;gap:0;margin-bottom:28px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.8px}.step{flex:1;text-align:center;padding-bottom:10px;border-bottom:3px solid var(--line);color:var(--ink-soft)}.step.active{border-color:var(--amber);color:var(--navy-deep);font-weight:600}.step.done{border-color:var(--teal);color:var(--teal)}.stepper a.step{display:block;color:inherit}.stepper a.step.step-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.seat-map{display:grid;grid-template-columns:repeat(6,34px);gap:8px;justify-content:center;margin:20px 0}.seat{width:34px;height:34px;border-radius:4px 4px 8px 8px;background:var(--paper-dim);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10px;color:var(--ink-soft)}.seat.available:hover{border-color:var(--teal);cursor:pointer}.seat.occupied{background:#dcd6c6;color:#b4ac97;cursor:not-allowed}.seat.selected{background:var(--teal);border-color:var(--teal);color:#fff}.seat.aisle-gap{background:transparent;border:none}.legend{display:flex;gap:16px;justify-content:center;font-size:11px;color:var(--ink-soft);margin-bottom:6px}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.summary-row{display:flex;justify-content:space-between;font-size:13px;padding:8px 0;border-bottom:1px dashed var(--line);color:var(--ink-soft)}.summary-row.total{color:var(--ink);font-weight:600;font-size:15px;border-bottom:none;padding-top:14px}.confirm-wrap{max-width:640px;margin:0 auto;text-align:center}.check-badge{width:60px;height:60px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:28px}.check-badge--warn{background:var(--amber);color:var(--navy-deep)}.eticket{text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:0;margin-top:28px;position:relative;overflow:hidden;box-shadow:0 8px 24px -12px #12233d26}.eticket:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--amber))}.eticket-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.eticket-brand{display:flex;align-items:baseline;gap:1px;font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.5px;color:var(--navy-deep)}.eticket-brand-dot{color:var(--amber)}.eticket-status{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:20px;flex-shrink:0}.eticket-status--confirmed{background:#1f6f781f;color:var(--teal)}.eticket-status--cancelled{background:#c244441f;color:var(--red)}.eticket .pnr{font-family:var(--font-mono);font-size:28px;letter-spacing:4px;color:var(--ink);font-weight:600;margin-top:4px}.eticket-leg-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--ink-soft);margin-top:20px;margin-bottom:-8px}.eticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;font-size:13px}.eticket-grid--summary{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.eticket-grid .k{color:var(--ink-soft);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:2px}.eticket-foot{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:10px;letter-spacing:.3px;color:var(--ink-soft);line-height:1.5}.eticket--compact{padding:20px;margin-top:16px}.eticket--compact .eticket-main{padding:0}.eticket-layout{display:grid;grid-template-columns:1fr 148px;align-items:stretch}.eticket-main{padding:26px;min-width:0}.eticket-stub{position:relative;background:var(--paper-dim);border-left:2px dashed var(--line);padding:22px 14px;display:flex;flex-direction:column;gap:8px;color:var(--ink)}.eticket-stub-notch{position:absolute;left:-7px;width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid var(--line)}.eticket-stub-notch--top{top:18px}.eticket-stub-notch--bottom{bottom:18px}.eticket-stub-brand{font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.6px;color:var(--navy-deep)}.eticket-stub-pnr{font-family:var(--font-mono);font-size:16px;letter-spacing:2px;color:var(--ink);font-weight:600}.eticket-stub-route,.eticket-stub-date,.eticket-stub-meta{font-family:var(--font-mono);font-size:10px;color:var(--ink-soft);line-height:1.45}.eticket-stub-pax-name{font-size:12px;font-weight:600;color:var(--ink)}.eticket-stub-pax-seat{font-family:var(--font-mono);font-size:10px;color:var(--ink-soft)}.eticket-stub-more{font-size:10px;color:var(--ink-soft)}.eticket-barcode--stub{margin-top:auto;height:36px;max-width:none}.eticket-agency{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}.eticket-agency-meta{font-family:var(--font-mono);font-size:10px;color:var(--ink-soft);margin-top:6px}.eticket-status-ok{color:var(--teal);font-family:var(--font-mono);font-weight:600}.eticket-pax-card{margin-top:12px;padding:14px;background:#faf9f6;border-radius:var(--radius);border:1px solid var(--line)}.eticket-pax-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:14px}.eticket-pax-head span{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft)}.eticket-fare-calc{margin-top:12px;font-family:var(--font-mono);font-size:10px;letter-spacing:.3px;color:var(--ink-soft);word-break:break-word}.eticket-notice-list{margin:8px 0 0;padding-left:18px;font-size:12px;color:var(--ink);line-height:1.55}.eticket-notice-list li+li{margin-top:6px}.eticket-table--coupons{font-size:11px}.eticket-table--coupons th,.eticket-table--coupons td{padding:7px 8px;white-space:nowrap}.eticket--compact .pnr{font-size:22px;letter-spacing:3px}.eticket--compact .eticket-grid{gap:12px;font-size:12px}.eticket--cancelled{opacity:.92}.eticket--cancelled:after{content:"CANCELLED";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:42px;font-weight:700;letter-spacing:6px;color:#c2444424;pointer-events:none}.eticket-doc-type{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--ink-soft);margin-top:4px}.eticket-ref-block{margin-bottom:4px}.eticket-ref-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;font-family:var(--font-mono);font-size:11px;color:var(--ink-soft)}.eticket-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.eticket-grid--payment{margin-top:16px;padding:14px;background:#faf9f6;border-radius:var(--radius);border:1px solid var(--line)}.eticket-grid--dense{margin-top:14px}.eticket-cell .eticket-v{line-height:1.45}.eticket-sub{display:block;font-size:11px;color:var(--ink-soft);margin-top:2px}.eticket-route-banner{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:14px 0 4px;padding:14px;background:#faf9f6;border:1px solid var(--line);border-radius:var(--radius)}.eticket-route-end{display:flex;flex-direction:column;gap:4px}.eticket-route-end--arrive{text-align:right;align-items:flex-end}.eticket-route-code{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:1px;color:var(--ink)}.eticket-route-time{font-family:var(--font-mono);font-size:13px;color:var(--ink)}.eticket-route-mid{display:flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);min-width:72px}.eticket-route-bar{display:block;width:100%;height:2px;background:linear-gradient(90deg,var(--teal),var(--amber));border-radius:1px}.eticket-table-wrap{overflow-x:auto;margin-top:10px}.eticket-table{width:100%;border-collapse:collapse;font-size:12px}.eticket-table th{text-align:left;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);padding:8px 10px;border-bottom:1px solid var(--line)}.eticket-table td{padding:10px;border-bottom:1px solid rgba(18,35,61,.08);vertical-align:top;color:var(--ink)}.eticket-mono{font-family:var(--font-mono);font-size:11px}.eticket-extras-list{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--ink)}.eticket-extras-list li+li{margin-top:4px}.eticket-price-rows{margin-top:10px;font-size:13px}.eticket-price-row{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid rgba(18,35,61,.08);color:var(--ink)}.eticket-price-row span:last-child{font-family:var(--font-mono);white-space:nowrap}.eticket-price-row--total{margin-top:6px;padding-top:12px;border-top:1px solid var(--line);border-bottom:none;font-weight:600;font-size:14px;color:var(--ink)}.eticket-price-row--total span:last-child{color:var(--ink);font-size:15px}.eticket-barcode-block{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);text-align:center}.eticket-barcode{display:flex;align-items:stretch;justify-content:center;gap:1px;height:44px;max-width:280px;margin:0 auto 8px}.eticket-bar{background:var(--ink);min-width:1px;border-radius:1px}.eticket-barcode-text{font-family:var(--font-mono);font-size:12px;letter-spacing:3px;color:var(--ink-soft)}.eticket--compact .eticket-route-code{font-size:20px}.eticket--compact .eticket-table th,.eticket--compact .eticket-table td{padding:6px 8px;font-size:11px}@media (max-width: 880px){.eticket-layout{grid-template-columns:1fr}.eticket-stub{border-left:none;border-top:2px dashed var(--line)}.eticket-stub-notch{display:none}.eticket-route-banner{grid-template-columns:1fr;text-align:center}.eticket-route-end--arrive{text-align:center;align-items:center}.eticket-grid--dense{grid-template-columns:1fr}}.trips-list .flight-card{cursor:default}.pill-status{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;padding:3px 9px;border-radius:20px}.pill-status.confirmed{background:#1f6f781f;color:var(--teal)}.pill-status.pending{background:#c8782826;color:#a86820}footer{flex-shrink:0;background:var(--navy-deep);color:#f5f2ea8c;padding:28px;text-align:center;font-size:12px;font-family:var(--font-mono)}.swap-row{display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px}.btn-swap{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:16px;font-weight:600;flex-shrink:0;transition:border-color .15s,background .15s}.btn-swap:hover{border-color:var(--teal);background:#1f6f780f}.form-error{grid-column:1 / -1;color:var(--red);font-size:13px;padding:8px 12px;background:#c2444414;border:1px solid rgba(194,68,68,.3);border-radius:var(--radius)}.full-width{grid-column:1 / -1}.tag-clickable{font-size:12px;padding:8px 14px;cursor:pointer;border:1px solid var(--line);background:var(--paper-dim);transition:border-color .15s,background .15s}.tag-clickable:hover{border-color:var(--teal);background:#1f6f7814}.filters-panel{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.filters-panel--loading{opacity:.55;pointer-events:none}.filter-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-soft);cursor:pointer}.filter-select,.filter-input{border:1px solid var(--line);background:#fff;border-radius:2px;padding:7px 10px;font-size:13px;font-family:var(--font-body)}.filter-input{width:110px}.flight-card-skeleton{pointer-events:none;cursor:default}.flight-card-skeleton:hover{box-shadow:none;border-color:var(--line)}.flight-stub-skeleton{gap:16px}.skeleton-list{display:flex;flex-direction:column}.skeleton{display:block;background:linear-gradient(90deg,var(--paper-dim) 0%,#ece7da 40%,var(--paper-dim) 80%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite;border-radius:2px}.skeleton-light{background:linear-gradient(90deg,#f5f2ea26,#f5f2ea47,#f5f2ea26 80%);background-size:200% 100%}.skeleton-circle{width:22px;height:22px;border-radius:50%;flex-shrink:0}.skeleton-line{height:12px}.skeleton-line--xs{width:48px;height:10px}.skeleton-line--sm{width:36px;height:10px;margin-top:6px}.skeleton-line--md{width:160px;height:12px}.skeleton-line--lg{width:56px;height:22px}.skeleton-line--xl{width:72px;height:26px;margin:4px 0}.skeleton-route-bar{width:100%;height:2px;margin:6px 0}.skeleton-pill{width:88px;height:22px;border-radius:20px;display:inline-block}.skeleton-pill--short{width:64px}.skeleton-btn{width:100%;height:38px;border-radius:2px}.skeleton-text{color:var(--ink-soft);opacity:.7}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background:var(--paper-dim)}.skeleton-light{background:#f5f2ea33}}.btn-sm{padding:7px 12px;font-size:12px}.results-section{margin-bottom:32px}.results-leg-title{font-family:var(--font-display);font-size:16px;font-weight:600;margin:0 0 14px;display:flex;align-items:center;gap:10px}.results-count{font-family:var(--font-mono);font-size:11px;font-weight:400;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.5px}.return-continue-bar{position:sticky;bottom:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;box-shadow:0 -8px 24px -8px #12233d1f}.return-selection-summary{font-size:13px;color:var(--ink-soft);font-family:var(--font-mono)}.flight-card{cursor:pointer}.flight-card.selected{border-color:var(--teal);box-shadow:0 0 0 2px #1f6f7833}.flight-card.cancelled{opacity:.65}.fare-compare{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}.fare-col{text-align:center;padding:6px 4px}.fare-col-name{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:var(--ink-soft);letter-spacing:.4px}.fare-col-price{font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--navy-deep);margin:2px 0}.fare-col-meta{font-size:10px;color:var(--ink-soft)}.expand-toggle{background:none;border:none;color:var(--teal);font-size:12px;font-family:var(--font-mono);padding:4px 0;cursor:pointer;text-align:left}.flight-detail{margin-top:10px;padding:12px;background:var(--paper);border-radius:var(--radius);font-size:13px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.detail-k{display:block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:var(--ink-soft);letter-spacing:.4px}.detail-fare-row{padding:4px 0;color:var(--ink-soft);font-size:12px}.select-label{display:block;text-align:center;pointer-events:none}.field-error{display:block;color:var(--red);font-size:11px;margin-top:4px}.input-error{border-color:var(--red)!important}.panel-note{font-size:12px;color:var(--ink-soft);margin-top:-8px;margin-bottom:18px}.pax-label{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);margin-bottom:10px}.leg-badge{display:inline-block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.6px;background:var(--navy);color:var(--paper);padding:3px 8px;border-radius:20px;margin-bottom:10px}.summary-leg{margin-bottom:12px;padding-bottom:12px;border-bottom:1px dashed var(--line)}.summary-leg-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--teal);margin-bottom:6px}.summary-meta{font-size:13px;color:var(--ink-soft);margin-bottom:6px}.confirm-step .check-badge{margin-bottom:12px}.confirm-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}.eticket-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft)}.pill-status.cancelled{background:#c244441f;color:var(--red)}.pnr-inline{color:var(--navy-deep);font-weight:600}.trip-card{cursor:pointer}.btn-danger{border-color:var(--red)!important;color:var(--red)!important}.btn-danger:hover{background:#c2444414!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a16268c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-panel{background:var(--paper);border-radius:var(--radius);padding:28px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 24px 48px -12px #0006}.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:24px;color:var(--ink-soft);cursor:pointer;line-height:1}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.print-ticket-wrap{margin-top:8px}.premium-ticket{background:linear-gradient(165deg,#faf8f3,#f5f2ea 45%,#f0ece2);border:1px solid rgba(18,35,61,.22);border-radius:4px;overflow:hidden;box-shadow:0 1px #fffc inset,0 24px 48px -24px #12233d59;color:var(--navy-deep);font-size:13px;line-height:1.45}.premium-ticket--cancelled{opacity:.88}.premium-ticket--cancelled:after{content:"CANCELLED";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:48px;font-weight:700;letter-spacing:8px;color:#c244441f;pointer-events:none;transform:rotate(-18deg)}.premium-ticket{position:relative}.pt-header{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;background:linear-gradient(180deg,var(--navy-deep) 0%,var(--navy) 100%);color:var(--paper);border-bottom:3px solid var(--amber)}.pt-brand{display:flex;align-items:baseline;gap:2px;flex-wrap:wrap}.pt-brand-name{font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:.5px}.pt-brand-dot{color:var(--amber);font-weight:700}.pt-brand-sub{width:100%;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:1.2px;opacity:.65;margin-top:2px}.pt-status{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.8px;padding:5px 12px;border-radius:20px;font-weight:600}.pt-status--confirmed{background:#1f6f7840;color:#a8e0e6;border:1px solid rgba(168,224,230,.35)}.pt-status--cancelled{background:#c2444440;color:#f0b0b0;border:1px solid rgba(240,176,176,.35)}.pt-body{display:grid;grid-template-columns:1fr 168px}.pt-main{padding:22px 24px 20px;border-right:2px dashed rgba(18,35,61,.2)}.pt-stub{padding:18px 16px;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);color:var(--paper);display:flex;flex-direction:column;gap:8px;position:relative}.pt-stub-notch{position:absolute;width:14px;height:14px;background:#f5f2ea;border-radius:50%;left:-8px}.pt-stub-notch--top{top:-7px}.pt-stub-notch--bottom{bottom:-7px}.pt-stub-brand{font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:1px;color:var(--amber)}.pt-stub-pnr{font-family:var(--font-mono);font-size:20px;font-weight:600;letter-spacing:3px;color:var(--amber)}.pt-stub-route{font-family:var(--font-mono);font-size:11px;letter-spacing:.5px;opacity:.85}.pt-stub-date{font-size:11px;opacity:.65;margin-bottom:4px}.pt-stub-pax{margin-top:4px}.pt-stub-pax-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-stub-pax-seat{font-family:var(--font-mono);font-size:10px;color:var(--amber);opacity:.9}.pt-stub-more{font-size:10px;opacity:.55;font-family:var(--font-mono)}.pt-barcode{display:flex;align-items:stretch;height:36px;gap:1px;margin-top:auto;padding-top:10px}.pt-bar{background:#f5f2eaeb;min-width:1px}.pt-barcode-text{font-family:var(--font-mono);font-size:9px;letter-spacing:2px;text-align:center;opacity:.55}.pt-pnr-block{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(18,35,61,.12)}.pt-pnr-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft);margin-bottom:4px}.pt-pnr{font-family:var(--font-mono);font-size:32px;font-weight:600;letter-spacing:6px;color:var(--navy-deep);line-height:1.1}.pt-issued{font-size:11px;color:var(--ink-soft);margin-top:6px}.pt-leg{margin-bottom:18px;padding-bottom:16px;border-bottom:1px dashed rgba(18,35,61,.14)}.pt-leg:last-of-type{border-bottom:none}.pt-leg-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--teal);margin-bottom:10px;font-weight:600}.pt-route-row{display:flex;align-items:center;gap:12px}.pt-city{min-width:64px}.pt-city-arrive{text-align:right}.pt-city-code{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:1px;line-height:1}.pt-city-time{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--ink-soft);margin-top:4px}.pt-nextday{font-size:10px;color:var(--amber-dim);margin-left:2px}.pt-route-mid{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px}.pt-route-meta{font-family:var(--font-mono);font-size:10px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px}.pt-route-line{display:flex;align-items:center;width:100%;gap:0;position:relative}.pt-route-bar{flex:1;height:2px;background:linear-gradient(90deg,var(--teal),var(--amber))}.pt-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pt-dot-a{background:var(--teal)}.pt-dot-b{background:var(--amber)}.pt-plane{position:absolute;left:50%;transform:translate(-50%);font-size:14px;color:var(--navy);background:#f5f2ea;padding:0 4px;line-height:1}.pt-leg-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:12px;color:var(--ink-soft)}.pt-leg-meta span+span:before{content:"· ";opacity:.45;margin-right:4px}.pt-fare-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.pt-fare-chip{font-size:12px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:2px}.pt-k{display:block;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);margin-bottom:2px}.pt-passengers{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:12px}.pt-passengers th{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);text-align:left;padding:8px 10px;border-bottom:2px solid var(--navy);font-weight:600}.pt-passengers td{padding:10px;border-bottom:1px solid rgba(18,35,61,.1);vertical-align:top}.pt-mono{font-family:var(--font-mono)}.pt-seat{font-weight:600;color:var(--teal)}.pt-footer-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:4px}.pt-total{text-align:right}.pt-total-amt{font-family:var(--font-mono);font-size:22px;font-weight:600;color:var(--navy-deep)}.pt-legal{padding:10px 22px;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);background:#12233d0a;border-top:1px solid rgba(18,35,61,.1);text-align:center;line-height:1.5}.premium-ticket--compact .pt-pnr{font-size:26px;letter-spacing:4px}.premium-ticket--compact .pt-city-code{font-size:22px}@media (max-width: 720px){.pt-body{grid-template-columns:1fr}.pt-main{border-right:none;border-bottom:2px dashed rgba(18,35,61,.2)}.pt-stub-notch{display:none}}@media print{@page{size:A4 portrait;margin:8mm}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{background:#fff!important;margin:0!important;padding:0!important;height:auto!important;overflow:visible!important}body.is-printing-ticket>*:not(#print-ticket-portal){display:none!important}#print-ticket-portal{display:block!important;position:static!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:visible!important}#print-ticket-portal .eticket{background:#fff!important;color:var(--ink)!important;width:100%!important;max-width:100%!important;overflow:visible!important;box-shadow:none!important;border:1pt solid #12233D!important;page-break-inside:auto;break-inside:auto;margin-top:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}#print-ticket-portal .eticket:before{-webkit-print-color-adjust:exact;print-color-adjust:exact}#print-ticket-portal .pnr{font-size:24px!important;letter-spacing:3px!important}#print-ticket-portal .eticket-grid{font-size:12px!important}#print-ticket-portal .eticket-layout{display:grid!important;grid-template-columns:1fr 128px!important}#print-ticket-portal .eticket-stub{display:flex!important}#print-ticket-portal .eticket-stub-notch{background:#fff!important}#print-ticket-portal .eticket-top,#print-ticket-portal .eticket-foot{page-break-inside:avoid;break-inside:avoid}body:not(.is-printing-ticket) .no-print{display:none!important}body:not(.is-printing-ticket) .print-ticket-wrap,body:not(.is-printing-ticket) .print-ticket-wrap *{visibility:visible}body:not(.is-printing-ticket) *{visibility:hidden}body:not(.is-printing-ticket) .print-ticket-wrap{position:static!important;width:100%!important;overflow:visible!important}body:not(.is-printing-ticket) .modal-panel,body:not(.is-printing-ticket) .modal-overlay,body:not(.is-printing-ticket) .wrap,body:not(.is-printing-ticket) #app,body:not(.is-printing-ticket) .app-shell{max-height:none!important;overflow:visible!important;height:auto!important}}.print-ticket-portal{display:none}@media (max-width: 880px){.search-card{grid-template-columns:1fr 1fr}.flow-grid,.flight-card{grid-template-columns:1fr}.flight-stub{width:100%;border-left:none;border-top:2px dashed rgba(245,242,234,.25);flex-direction:row}.form-grid,.eticket-grid,.fare-compare{grid-template-columns:1fr}.return-continue-bar{flex-direction:column;align-items:stretch}}.topnav-divider{width:1px;height:18px;background:#f5f2ea40;align-self:center}.auth-wrap{max-width:480px}.auth-panel{margin-top:8px}.auth-switch{margin-top:18px;text-align:center}.auth-switch a{color:var(--teal);font-weight:600}.auth-banner{margin-bottom:0;padding:14px 18px}.auth-banner p{margin:0;font-size:14px}.auth-banner a{color:var(--teal);font-weight:600}.account-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.airport-autocomplete{position:relative}.airport-dropdown{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #00000014;list-style:none;margin:0;padding:6px 0;max-height:280px;overflow-y:auto}.airport-dropdown li{padding:10px 14px;cursor:pointer;transition:background .12s}.airport-dropdown li:hover,.airport-dropdown li.active{background:#1f6f780f}.airport-dropdown-city{font-weight:600;font-size:14px}.airport-dropdown-name{font-size:12px;color:var(--ink-soft);margin-top:2px}.airport-dropdown-meta{display:flex;gap:10px;font-size:11px;font-family:var(--font-mono);color:var(--ink-soft);margin-top:4px}.airport-code{color:var(--teal);font-weight:600}.pax-selector{position:relative}.pax-selector-trigger{width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:#fff;font-size:14px;cursor:pointer}.pax-selector-panel{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:0 8px 24px #00000014}.pax-counter-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}.pax-counter-label{font-weight:600;font-size:14px}.pax-counter-sub{font-size:12px;color:var(--ink-soft)}.pax-counter-controls{display:flex;align-items:center;gap:12px}.pax-btn{width:32px;height:32px;border:1px solid var(--line);border-radius:3px;background:#fff;cursor:pointer;font-size:18px}.pax-count{min-width:20px;text-align:center;font-family:var(--font-mono)}.pax-cabin-section{margin-top:12px}.pax-cabin-option{display:flex;gap:10px;padding:8px 0;cursor:pointer;font-size:13px}.flex-dates-panel{margin-top:16px;padding:16px;background:#f5f2ea59;border-radius:var(--radius)}.flex-dates-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.flex-dates-title{font-family:var(--font-display);font-weight:600}.flex-dates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.flex-date-cell{border:1px solid var(--line);background:#fff;border-radius:3px;padding:10px;text-align:center;cursor:pointer;transition:border-color .15s,transform .15s}.flex-date-cell:hover{border-color:var(--teal);transform:translateY(-1px)}.flex-date-cell.selected{border-color:var(--teal);background:#1f6f780f}.flex-date-cell.cheapest{border-color:var(--amber)}.flex-date-day{display:block;font-size:12px;color:var(--ink-soft)}.flex-date-price{display:block;font-family:var(--font-mono);font-weight:600;margin-top:4px}.flex-date-badge{font-size:10px;color:var(--amber);text-transform:uppercase;font-family:var(--font-mono)}.discover-section{padding-top:8px}.landing-content{padding-bottom:48px}.landing-section{margin-top:40px}.landing-trust{padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tag-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.trust-item{display:flex;flex-direction:column;gap:6px}.trust-item strong{font-family:var(--font-display);font-size:16px}.trust-item span{font-size:13px;color:var(--ink-soft)}.destination-gallery{margin-top:8px}.destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}.destination-card{position:relative;border:none;padding:0;border-radius:var(--radius);overflow:hidden;cursor:pointer;text-align:left;background:var(--navy-deep);aspect-ratio:4 / 5;transition:transform .2s ease,box-shadow .2s ease}.destination-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000002e}.destination-card:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.destination-card--fallback{background:linear-gradient(145deg,hsl(var(--dest-hue, 200) 45% 22%),hsl(calc(var(--dest-hue, 200) + 40) 35% 12%))}.destination-card-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:.35}.destination-card-fallback-code{font-family:var(--font-display);font-size:72px;font-weight:700;color:var(--paper);letter-spacing:4px}.destination-card-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.destination-card:hover .destination-card-img{transform:scale(1.05)}.destination-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f1c2e0d,#0f1c2e59 45%,#0f1c2ee0)}.destination-card-body{position:absolute;left:0;right:0;bottom:0;padding:18px;color:var(--paper);z-index:1}.destination-card-code{font-family:var(--font-mono);font-size:11px;letter-spacing:1px;color:var(--amber);text-transform:uppercase}.destination-card-city{font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1.15;margin-top:4px}.destination-card-country{font-size:13px;opacity:.85;margin-top:2px}.destination-card-tagline{font-size:12px;opacity:.75;margin-top:6px;line-height:1.4}.destination-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid rgba(245,242,234,.2);gap:8px;flex-wrap:wrap}.destination-card-price{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--amber)}.destination-card-searches{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;opacity:.65;letter-spacing:.4px}.discover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:12px}.discover-card{text-align:left;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.discover-card:hover{border-color:var(--teal);box-shadow:0 4px 16px #0000000f;transform:translateY(-2px)}.discover-card-route{font-family:var(--font-display);font-weight:600;margin-bottom:4px}.discover-card-meta{font-size:13px;color:var(--ink-soft)}.discover-card-price{font-family:var(--font-mono);color:var(--teal);margin-top:8px;font-size:13px}.flight-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;padding:2px 8px;border-radius:20px;margin-left:6px}.flight-label--recommended{background:#e8a33d33;color:#a86820}.flight-label--cheapest{background:#1f6f781f;color:var(--teal)}.flight-label--fastest{background:#3c50781f;color:var(--navy)}.flight-label--value{background:#1f6f782e;color:var(--teal)}.flight-label--nonstop{background:#f5f2eacc;color:var(--ink-soft)}.flight-label--flex{background:#c878281f;color:#a86820}.recommended-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px;margin-bottom:20px;border:1px solid var(--amber);border-radius:var(--radius);background:linear-gradient(135deg,#e8a33d14,#1f6f780a)}.recommended-badge{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;color:var(--amber);font-weight:600}.recommended-title{font-weight:600;font-size:14px}.recommended-flight{font-size:13px;color:var(--ink-soft);margin-top:4px}.recommended-price{font-family:var(--font-mono);font-size:22px;font-weight:600;margin-left:auto}.fare-confidence{font-size:13px;padding:8px 12px;border-radius:3px;margin:8px 0}.fare-confidence--great{background:#1f6f7814;color:var(--teal)}.fare-confidence--fair{background:#f5f2eacc;color:var(--ink-soft)}.fare-confidence--rising{background:#c878281a;color:#a86820}.premium-card{transition:border-color .2s,box-shadow .2s,transform .2s}.premium-card.selected{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}.price-animate{transition:opacity .25s}.trip-timeline{margin-bottom:20px}.trip-timeline-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}.trip-timeline-track{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.trip-timeline-code{font-family:var(--font-mono);font-size:22px;font-weight:600}.trip-timeline-city{font-size:13px;color:var(--ink-soft)}.trip-timeline-time{font-family:var(--font-mono);font-size:16px;margin-top:4px}.trip-timeline-connector{text-align:center;min-width:100px}.trip-timeline-line{height:2px;background:var(--line);margin:6px 0;position:relative}.trip-timeline-meta{font-size:12px;color:var(--ink-soft)}.fare-comparison-panel{margin-bottom:20px}.fare-comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fare-comparison-card{text-align:left;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;cursor:pointer;transition:border-color .15s,transform .15s;position:relative}.fare-comparison-card:hover{transform:translateY(-2px)}.fare-comparison-card.selected{border-color:var(--teal);background:#1f6f780a}.fare-comparison-card.recommended{border-color:var(--amber)}.fare-comparison-rec{position:absolute;top:10px;right:10px;font-size:10px;font-family:var(--font-mono);color:var(--amber);text-transform:uppercase}.fare-comparison-name{font-family:var(--font-display);font-weight:600;font-size:16px}.fare-comparison-price{font-family:var(--font-mono);font-size:20px;margin:8px 0}.fare-comparison-features{list-style:none;padding:0;margin:10px 0;font-size:12px}.fare-comparison-features .included{color:var(--teal)}.fare-comparison-features .excluded{color:var(--ink-soft);opacity:.6}.fare-comparison-tagline{font-size:12px;color:var(--ink-soft);font-style:italic}.price-breakdown-trigger{background:none;border:none;color:var(--teal);font-size:13px;cursor:pointer;padding:8px 0}.price-breakdown-panel{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.trip-summary-sidebar .trip-summary-route{font-family:var(--font-display);font-size:18px;font-weight:600;margin-top:8px}.trip-summary-date{font-size:13px;color:var(--ink-soft);margin-bottom:12px}.trip-summary-section{border-top:1px dashed var(--line);padding-top:8px;margin-top:8px}.trip-summary-toggle{width:100%;text-align:left;background:none;border:none;font-weight:600;font-size:13px;cursor:pointer;padding:6px 0}.trip-summary-body{padding-bottom:8px}.premium-stepper{display:flex;flex-direction:column;gap:0;margin-bottom:24px;border-left:2px solid var(--line);padding-left:16px}.premium-step{display:flex;align-items:center;gap:12px;padding:10px 0;color:var(--ink-soft);transition:color .15s}.premium-step.active{color:var(--navy-deep);font-weight:600}.premium-step.done{color:var(--teal)}.premium-step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;border:2px solid var(--line);flex-shrink:0}.premium-step.active .premium-step-num{border-color:var(--teal);background:var(--teal);color:#fff}.premium-step.done .premium-step-num{border-color:var(--teal);color:var(--teal)}.premium-step-label{flex:1}.premium-step-status{font-size:11px;font-family:var(--font-mono);text-transform:uppercase}.seat-cockpit{text-align:center;font-family:var(--font-mono);font-size:10px;color:var(--ink-soft);letter-spacing:2px;margin-bottom:12px}.seat-legend-premium{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:12px}.seat-legend-premium i{display:inline-block;width:14px;height:14px;border-radius:2px;margin-right:4px;vertical-align:middle}.swatch-available{background:var(--paper-dim);border:1px solid var(--line)}.swatch-selected{background:var(--teal)}.swatch-occupied{background:#dcd6c6}.swatch-premium{background:#e8a33d66}.swatch-legroom{background:#1f6f7840}.seat--premium{background:#e8a33d26!important}.seat--extraLegroom{background:#1f6f781f!important}.seat--preferred{border-color:var(--navy)!important}.selected-seat-info{margin-top:14px;padding:12px;background:#1f6f780f;border-radius:3px}.selected-seat-title{font-weight:600}.selected-seat-meta{font-size:13px;color:var(--ink-soft)}.extras-rec-panel .extras-rec-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}.review-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.review-edit{font-size:13px;color:var(--teal);text-decoration:none;font-weight:600}.payment-trust{margin-bottom:16px;padding:14px;background:#1f6f780d;border-radius:var(--radius)}.payment-trust-item{font-size:13px;margin-bottom:6px}.payment-methods{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;font-family:var(--font-mono);font-size:11px;color:var(--ink-soft)}.confirm-premium-title{text-align:center;font-size:22px;margin-bottom:8px}.confirm-premium-route{text-align:center;font-family:var(--font-display);font-size:18px;font-weight:600}.confirm-premium-pnr{text-align:center;font-family:var(--font-mono);font-size:28px;letter-spacing:3px;color:var(--amber);margin:12px 0}.confirm-next-steps,.confirm-prep{text-align:left;max-width:360px;margin:20px auto}.confirm-step-row.done{color:var(--teal)}.confirm-step-row.pending{color:var(--ink-soft)}.trip-hero-card{padding:24px;margin-top:16px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:var(--paper);cursor:pointer}.trip-hero-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;opacity:.7}.trip-hero-route{font-family:var(--font-display);font-size:26px;font-weight:700;margin:10px 0}.trip-hero-arrow{opacity:.5;margin:0 8px}.trip-hero-meta{font-size:13px;opacity:.8}.trip-hero-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:20px;flex-wrap:wrap;gap:12px}.trip-countdown{margin-top:8px;font-size:14px}.trip-countdown strong{color:var(--amber);font-size:18px}.trip-prep-checklist ul{list-style:none;padding:0;font-size:14px}.trip-prep-checklist li{padding:4px 0}.booking-top-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.saved-travellers-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.manage-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:12px 0 20px}.travel-assistant{margin:16px 0;padding:14px;background:#f5f2ea80;border-radius:var(--radius)}.assistant-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}@media (max-width: 880px){.fare-comparison-grid,.trip-timeline-track{grid-template-columns:1fr}.trip-timeline-connector{order:2}.destination-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:1fr}}@media (max-width: 520px){.destination-grid{grid-template-columns:1fr}.destination-card{aspect-ratio:16 / 10}}
