@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{color:#fff;background-color:#060d1b;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}#root{min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#ffffff05}::-webkit-scrollbar-thumb{background:#4f8ef74d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#4f8ef780}::selection{color:#fff;background:#4f8ef74d}:focus-visible{outline-offset:2px;outline:2px solid #4f8ef7}a{color:#4f8ef7;text-decoration:none}a:hover{color:#6ba3ff}.header{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#0a1628 0%,#1a2942 50%,#0d2137 100%);border-bottom:1px solid #4f8ef733;padding:0 2rem;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;max-width:1400px;height:72px;margin:0 auto;display:flex}.header-brand{align-items:center;gap:1rem;display:flex}.header-logo svg{filter:drop-shadow(0 2px 8px #4f8ef766);width:40px;height:40px}.header-titles{flex-direction:column;display:flex}.header-title{color:#fff;letter-spacing:-.5px;margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}.header-title-accent{color:#4f8ef7;font-weight:300}.header-subtitle{color:#ffffff80;letter-spacing:.5px;text-transform:uppercase;margin:0;font-size:.75rem}.header-info{align-items:center;gap:1.5rem;display:flex}.header-company-badge{background:#4f8ef71a;border:1px solid #4f8ef740;border-radius:8px;flex-direction:column;align-items:flex-end;padding:.4rem .8rem;display:flex}.badge-label{color:#fff6;text-transform:uppercase;letter-spacing:1px;font-size:.6rem}.badge-value{color:#4f8ef7;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600}.header-status{align-items:center;gap:.5rem;display:flex}.status-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse;box-shadow:0 0 8px #22c55e99}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{color:#ffffff80;font-size:.75rem}@media (width<=768px){.header{padding:0 1rem}.header-content{height:60px}.header-subtitle,.header-status{display:none}}.search-form-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#0f172af2,#141e34f2);border:1px solid #4f8ef726;border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0000004d}.search-form-header{margin-bottom:1.5rem}.search-form-title{color:#fff;align-items:center;gap:.75rem;margin:0 0 .25rem;font-size:1.25rem;font-weight:600;display:flex}.search-icon{color:#4f8ef7;width:22px;height:22px}.search-form-description{color:#fff6;margin:0;font-size:.85rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-label{color:#fff9;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:.4rem;font-size:.75rem;font-weight:500;display:flex}.label-icon{opacity:.6;width:14px;height:14px}.form-input,.form-select{color:#fff;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:10px;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.form-input:focus,.form-select:focus{background:#4f8ef70d;border-color:#4f8ef7;box-shadow:0 0 0 3px #4f8ef726}.form-input::placeholder{color:#ffffff40}.form-select option{color:#fff;background:#1a2942}.form-actions{margin-bottom:1.25rem}.btn-search{color:#fff;cursor:pointer;letter-spacing:.3px;background:linear-gradient(135deg,#4f8ef7 0%,#2563eb 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.85rem 2rem;font-size:.95rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-search:hover:not(:disabled){background:linear-gradient(135deg,#5a99ff 0%,#3b7bf7 100%);transform:translateY(-1px);box-shadow:0 6px 20px #4f8ef766}.btn-search:active:not(:disabled){transform:translateY(0)}.btn-search:disabled{opacity:.7;cursor:not-allowed}.btn-icon{width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}.popular-routes{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.popular-label{color:#ffffff59;font-size:.75rem}.route-chip{color:#fff9;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:.35rem .75rem;font-size:.7rem;transition:all .2s}.route-chip:hover{color:#4f8ef7;background:#4f8ef726;border-color:#4f8ef766}.results-container{margin-top:2rem}.results-header{margin-bottom:1.25rem}.results-title{color:#fff;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:600;display:flex}.results-icon{color:#22c55e;width:20px;height:20px}.results-empty{text-align:center;background:#0f172a99;border:1px dashed #ffffff1a;border-radius:16px;margin-top:2rem;padding:3rem 2rem}.empty-icon{color:#fff3;width:48px;height:48px;margin-bottom:1rem}.results-empty h3{color:#fff9;margin:0 0 .5rem;font-size:1.1rem}.results-empty p{color:#ffffff59;margin:0;font-size:.85rem}.flight-cards{flex-direction:column;gap:1rem;display:flex}.flight-card{background:linear-gradient(145deg,#0f172ae6,#141e34e6);border:1px solid #4f8ef71f;border-radius:14px;padding:1.5rem;transition:all .3s}.flight-card:hover{border-color:#4f8ef74d;transform:translateY(-2px);box-shadow:0 8px 30px #00000040}.flight-card-top{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.airline-info{align-items:center;gap:.75rem;display:flex}.airline-name{color:#fff;font-size:.95rem;font-weight:600}.flight-number{color:#fff6;background:#ffffff0d;border-radius:4px;padding:.2rem .5rem;font-family:JetBrains Mono,monospace;font-size:.8rem}.cabin-badge{text-transform:uppercase;letter-spacing:.5px;background:#ffffff08;border:1px solid;border-radius:20px;padding:.3rem .7rem;font-size:.7rem;font-weight:600}.flight-route{justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:.75rem 0;display:flex}.route-point{flex-direction:column;align-items:center;gap:.15rem;min-width:80px;display:flex}.route-code{color:#fff;letter-spacing:2px;font-size:1.5rem;font-weight:700}.route-time{color:#4f8ef7;font-size:.95rem;font-weight:500}.route-date{color:#ffffff59;font-size:.7rem}.route-connector{flex:1;align-items:center;gap:.5rem;padding:0 1rem;display:flex}.connector-line{background:linear-gradient(90deg,#4f8ef71a,#4f8ef766,#4f8ef71a);flex:1;height:1px}.plane-icon{color:#4f8ef7;flex-shrink:0;width:20px;height:20px;transform:rotate(90deg)}.flight-card-bottom{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.flight-meta{gap:1rem;display:flex}.seats-info{color:#ffffff73;align-items:center;gap:.35rem;font-size:.8rem;display:flex}.meta-icon{width:14px;height:14px}.flight-price-action{align-items:center;gap:1.25rem;display:flex}.price-tag{align-items:baseline;gap:.25rem;display:flex}.price-amount{color:#fff;font-size:1.4rem;font-weight:700}.price-currency{color:#fff9;font-size:.85rem;font-weight:600}.price-per{color:#ffffff4d;font-size:.7rem}.btn-book{color:#fff;cursor:pointer;letter-spacing:.3px;white-space:nowrap;background:linear-gradient(135deg,#c7a020 0%,#b8860b 100%);border:none;border-radius:8px;padding:.65rem 1.5rem;font-size:.85rem;font-weight:600;transition:all .2s}.btn-book:hover:not(:disabled){background:linear-gradient(135deg,#d4ab30 0%,#c9940f 100%);transform:translateY(-1px);box-shadow:0 4px 15px #c7a02059}.btn-book:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.flight-route{flex-direction:column;gap:.5rem}.route-connector{width:80px;padding:0;transform:rotate(90deg)}.flight-card-bottom{flex-direction:column;align-items:stretch;gap:1rem}.flight-price-action{justify-content:space-between}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(160deg,#0f1729 0%,#162035 100%);border:1px solid #4f8ef733;border-radius:20px;width:100%;max-width:520px;max-height:90vh;padding:2rem;animation:.3s slideUp;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close-btn{cursor:pointer;color:#ffffff80;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:.4rem;transition:all .2s;position:absolute;top:1rem;right:1rem}.modal-close-btn:hover{color:#fff;background:#ffffff1a}.modal-close-btn svg{width:18px;height:18px}.booking-form-header{margin-bottom:1.5rem}.booking-form-header h2{color:#fff;margin:0 0 .25rem;font-size:1.2rem}.booking-form-header p{color:#fff6;margin:0;font-size:.85rem}.booking-price-preview{font-weight:600;color:#4f8ef7!important;margin-top:.5rem!important}.booking-form-fields .form-group{margin-bottom:1rem}.booking-form-fields label{color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.35rem;font-size:.75rem;display:block}.booking-form-fields input,.booking-form-fields select{color:#fff;box-sizing:border-box;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:10px;outline:none;width:100%;padding:.7rem 1rem;font-family:inherit;font-size:.9rem;transition:all .2s}.booking-form-fields input:focus,.booking-form-fields select:focus{border-color:#4f8ef7;box-shadow:0 0 0 3px #4f8ef726}.booking-form-fields input::placeholder{color:#fff3}.booking-form-fields select option{background:#1a2942}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.booking-total{color:#fff9;border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;margin:.5rem 0 1rem;padding:1rem 0;font-size:.9rem;display:flex}.total-amount{color:#fff;font-size:1.3rem;font-weight:700}.btn-confirm{color:#fff;cursor:pointer;background:linear-gradient(135deg,#c7a020 0%,#b8860b 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.85rem;font-size:.95rem;font-weight:600;transition:all .3s;display:flex}.btn-confirm:hover:not(:disabled){background:linear-gradient(135deg,#d4ab30 0%,#c9940f 100%);box-shadow:0 6px 20px #c7a02059}.btn-confirm:disabled{opacity:.7;cursor:not-allowed}.confirmation-header{text-align:center;margin-bottom:1.5rem}.success-icon-wrapper{background:#22c55e1a;border:2px solid #22c55e4d;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1rem;display:flex}.success-icon{color:#22c55e;width:30px;height:30px}.confirmation-header h2{color:#22c55e;margin:0 0 .5rem;font-size:1.3rem}.confirmation-ref{color:#4f8ef7;background:#4f8ef71a;border-radius:6px;padding:.4rem .8rem;font-family:JetBrains Mono,monospace;font-size:.9rem;display:inline-block}.confirmation-details{margin-bottom:1.5rem}.detail-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;padding:.6rem 0;display:flex}.detail-row.total{border-top:1px solid #ffffff1a;border-bottom:none;margin-top:.5rem;padding-top:.75rem}.detail-label{color:#fff6;font-size:.85rem}.detail-value{color:#fff;font-size:.85rem;font-weight:500}.detail-value.price{color:#c7a020;font-size:1.1rem;font-weight:700}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.status-badge.confirmed{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.confirmation-note{background:#4f8ef714;border:1px solid #4f8ef726;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.note-icon{color:#4f8ef7;flex-shrink:0;width:18px;height:18px}.confirmation-note span{color:#ffffff80;font-size:.75rem}.btn-close{color:#ffffffb3;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;width:100%;padding:.75rem;font-size:.9rem;transition:all .2s}.btn-close:hover{color:#fff;background:#ffffff1a}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}.flight-booking-app{min-height:calc(100vh - 72px);padding:2rem}.app-container{max-width:900px;margin:0 auto}.error-banner{background:#ef44441a;border:1px solid #ef44444d;border-radius:12px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.85rem 1.25rem;animation:.3s slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-icon{color:#ef4444;flex-shrink:0;width:20px;height:20px}.error-banner span{color:#fca5a5;flex:1;font-size:.85rem}.error-close{cursor:pointer;color:#fca5a580;background:0 0;border:none;padding:.25rem;transition:color .2s}.error-close:hover{color:#fca5a5}.error-close svg{width:16px;height:16px}.app{color:#fff;background:linear-gradient(170deg,#060d1b 0%,#0a1628 30%,#101d33 60%,#0d1a2e 100%);min-height:100vh}main{position:relative}.app:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(at 20%,#4f8ef708 0%,#0000 50%),radial-gradient(at 80% 20%,#c7a02005 0%,#0000 50%),radial-gradient(at 50% 80%,#4f8ef705 0%,#0000 50%);position:fixed;inset:0}.app>*{z-index:1;position:relative}
