:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0b1120;color:#e2e8f0}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:1px solid rgba(148,163,184,.1);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.header-brand{display:flex;align-items:center;gap:.75rem}.header-brand .plane-icon{font-size:1.75rem}.header-brand h1{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-nav{display:flex;gap:.25rem}.header-nav button{background:transparent;border:none;color:#e2e8f099;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;transition:all .2s}.header-nav button:hover{color:#e2e8f0;background:#ffffff0d}.header-nav button.active{color:#60a5fa;background:#60a5fa1a}.hero{text-align:center;padding:3rem 2rem 2rem}.hero h2{margin:0 0 .5rem;font-size:2rem;font-weight:700;letter-spacing:-.03em}.hero p{margin:0;color:#e2e8f08c;font-size:1rem}.search-card{max-width:720px;margin:2rem auto;background:#1e293b99;border:1px solid rgba(148,163,184,.12);border-radius:1rem;padding:1.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.search-row{display:flex;gap:.75rem;flex-wrap:wrap}.search-field{flex:1;min-width:140px;display:flex;flex-direction:column;gap:.35rem}.search-field label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#e2e8f073;font-weight:600}.search-field input,.search-field select{background:#0f172ab3;border:1px solid rgba(148,163,184,.15);border-radius:.5rem;padding:.65rem .85rem;color:#e2e8f0;font-size:.95rem;outline:none;transition:border-color .2s}.search-field input:focus,.search-field select:focus{border-color:#60a5fa}.search-btn{align-self:flex-end;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;color:#fff;padding:.65rem 1.75rem;border-radius:.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s}.search-btn:hover{opacity:.85}.stats{display:flex;justify-content:center;gap:2rem;padding:0 2rem 2rem;flex-wrap:wrap}.stat-box{text-align:center}.stat-box .value{font-size:1.5rem;font-weight:700;color:#60a5fa}.stat-box .label{font-size:.75rem;color:#e2e8f073;text-transform:uppercase;letter-spacing:.08em}.flights-section{max-width:900px;margin:0 auto;padding:0 2rem 3rem;width:100%}.flights-section h3{margin:0 0 1rem;font-size:1.15rem;font-weight:600}.flight-card{background:#1e293b80;border:1px solid rgba(148,163,184,.1);border-radius:.75rem;padding:1.25rem 1.5rem;margin-bottom:.75rem;display:flex;align-items:center;gap:1.5rem;transition:border-color .2s}.flight-card:hover{border-color:#60a5fa4d}.flight-airline{font-size:.75rem;color:#e2e8f080;min-width:80px}.flight-number{font-weight:700;font-size:1rem;color:#60a5fa;min-width:80px}.flight-route{flex:1;display:flex;align-items:center;gap:.75rem}.flight-route .city{font-weight:600;font-size:.95rem}.flight-route .code{font-size:.75rem;color:#e2e8f073}.flight-route .route-line{flex:1;height:2px;background:#94a3b826;position:relative}.flight-route .route-line:before{content:"\\2708";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.9rem;color:#60a5fa}.flight-time{text-align:right;min-width:100px}.flight-time .depart{font-weight:600;font-size:.95rem}.flight-time .duration{font-size:.75rem;color:#e2e8f073}.flight-status{min-width:80px;text-align:center}.status-badge{display:inline-block;padding:.25rem .65rem;border-radius:1rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.on-time{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.25)}.status-badge.delayed{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.25)}.status-badge.cancelled{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.25)}.status-badge.boarding{background:#60a5fa26;color:#60a5fa;border:1px solid rgba(96,165,250,.25)}.flight-price{min-width:70px;text-align:right;font-weight:700;color:#a78bfa;font-size:1rem}.sky{position:relative;height:120px;overflow:hidden;margin:1rem 0 2rem}.airplane{position:absolute;top:50%;font-size:2rem;animation:fly 8s linear infinite;transform:translateY(-50%)}@keyframes fly{0%{left:-5%}to{left:105%}}.cloud{position:absolute;color:#e2e8f012;font-size:3rem;animation:drift linear infinite}@keyframes drift{0%{transform:translate(100vw)}to{transform:translate(-200px)}}.tab-content{display:none}.tab-content.active{display:block}.boarding-pass{max-width:500px;margin:2rem auto;background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(148,163,184,.15);border-radius:1rem;overflow:hidden}.bp-header{background:linear-gradient(135deg,#3b82f6,#8b5cf6);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.bp-header .airline-name{font-weight:700;font-size:1.1rem}.bp-header .flight-id{font-family:ui-monospace,monospace;font-size:.85rem;opacity:.85}.bp-body{padding:1.5rem;display:flex;gap:1.5rem}.bp-route{flex:1;display:flex;align-items:center;gap:1rem}.bp-route .endpoint{text-align:center}.bp-route .endpoint .code{font-size:1.75rem;font-weight:800;letter-spacing:-.02em}.bp-route .endpoint .city-name{font-size:.75rem;color:#e2e8f080}.bp-route .dashes{flex:1;border-top:2px dashed rgba(148,163,184,.2)}.bp-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem 1.5rem;border-top:1px solid rgba(148,163,184,.1)}.bp-detail-item .label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#e2e8f066}.bp-detail-item .val{font-weight:600;font-size:.95rem;margin-top:.15rem}.bp-barcode{padding:1rem 1.5rem;border-top:1px solid rgba(148,163,240,.1);display:flex;justify-content:center;gap:2px}.bp-barcode .bar{width:3px;background:#e2e8f040;border-radius:1px}@media(max-width:640px){.search-row{flex-direction:column}.flight-card{flex-wrap:wrap;gap:.75rem}.flight-route{order:3;width:100%}.bp-body{flex-direction:column}.bp-details{grid-template-columns:repeat(2,1fr)}}
