@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap";#login-form{flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;max-width:500px;display:flex}#login-form input{border:1px solid var(--border-color);width:100%;font-size:var(--text-regular);font-family:var(--font-family);border-radius:6px;outline:none;padding:.75rem 1rem;transition:border-color .2s}#login-form input:focus{border-color:var(--fancy-black)}#login-form .password-wrapper{gap:.5rem;width:100%;display:flex}#login-form .password-wrapper input{flex:1}#login-form .password-wrapper button{width:auto;padding:.75rem 1rem}#login-form .form-error{color:#c0392b;width:100%;font-size:.875rem}#login-form button{background-color:var(--fancy-black);color:#fff;width:100%;font-size:var(--text-regular);font-family:var(--font-family);cursor:pointer;border:none;border-radius:6px;padding:.75rem 1rem;transition:opacity .2s}#login-form button:hover{opacity:.85}.auth-body{background-color:#0a1f44;min-height:100vh}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex;position:relative;overflow:hidden}.auth-card{z-index:1;background:#fff;border-radius:16px;width:100%;max-width:420px;padding:2.5rem 2rem;position:relative;box-shadow:0 20px 60px #0000004d}.auth-logo{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.auth-plane-icon{color:#4a90d9;width:2rem;height:2rem}.auth-wordmark{color:#0a1f44;letter-spacing:-.02em;font-size:1.75rem;font-weight:700}.auth-tagline{color:#6b7a99;margin-bottom:1.75rem;font-size:.9rem}.auth-error{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{flex-direction:column;gap:.4rem;display:flex}.auth-field label{color:#374151;font-size:.85rem;font-weight:500}.auth-field input{font-size:1rem;font-family:var(--font-family);color:#111;background:#f9fafc;border:1.5px solid #dde3ef;border-radius:8px;outline:none;padding:.75rem 1rem;transition:border-color .2s}.auth-field input::placeholder{color:#a0aec0}.auth-field input:focus{background:#fff;border-color:#4a90d9}.auth-btn{color:#fff;width:100%;font-size:1rem;font-family:var(--font-family);cursor:pointer;background-color:#4a90d9;border:none;border-radius:8px;margin-top:.5rem;padding:.85rem 1rem;font-weight:600;transition:background-color .2s,transform .1s}.auth-btn:hover{background-color:#3a7bc8}.auth-btn:active{transform:scale(.99)}.auth-wave{pointer-events:none;height:120px;position:absolute;bottom:0;left:0;right:0}.auth-wave svg{width:100%;height:100%}input,select,textarea{font-family:var(--font-family)}.flights-page{max-width:560px;margin:0 auto;padding:2rem 1.5rem 4rem}.search-card{background:#fff;border-radius:16px;margin-bottom:2.5rem;padding:1.75rem;box-shadow:0 4px 24px #0a1f441a}.search-form{flex-direction:column;gap:.85rem;display:flex}.trip-toggle{background:#f0f2f8;border-radius:8px;align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.trip-btn{font-size:.875rem;font-family:var(--font-family);color:#6b7a99;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem 1.1rem;font-weight:500;transition:background-color .15s,color .15s}.trip-btn.active{color:#0a1f44;background:#fff;font-weight:600;box-shadow:0 1px 4px #0a1f441a}.airport-box{border:1.5px solid #dde3ef;border-radius:12px;transition:border-color .2s;position:relative;overflow:visible}.airport-box:focus-within{border-color:#4a90d9}.airport-row{align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.airport-row:first-child{border-bottom:1px solid #dde3ef}.airport-field-wrapper{flex:1;position:relative}.airport-field-wrapper label{text-transform:uppercase;letter-spacing:.07em;color:#6b7a99;margin-bottom:.3rem;font-size:.7rem;font-weight:700;display:block}.airport-field-wrapper input{width:100%;font-size:1rem;font-family:var(--font-family);color:#111;background:0 0;border:none;outline:none}.airport-field-wrapper input::placeholder{color:#b0bccf}.airport-row-icon{color:#d0d8e8;flex-shrink:0;width:1.3rem;height:1.3rem}.swap-btn{cursor:pointer;z-index:10;background:#fff;border:1.5px solid #dde3ef;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:border-color .15s,box-shadow .15s;display:flex;position:absolute;top:50%;right:1rem;transform:translateY(-50%);box-shadow:0 2px 6px #0a1f4414}.swap-btn svg{color:#6b7a99;width:.95rem;height:.95rem;transition:color .15s}.swap-btn:hover{border-color:#4a90d9;box-shadow:0 3px 10px #4a90d933}.swap-btn:hover svg{color:#4a90d9}.swap-btn:active svg{transition:transform .25s;transform:rotate(180deg)}.dates-row{gap:.75rem;display:flex}.search-field{flex-direction:column;flex:1;gap:.4rem;display:flex;position:relative}.search-field label{color:#6b7a99;text-transform:uppercase;letter-spacing:.07em;font-size:.7rem;font-weight:700}.search-btn{color:#fff;width:100%;font-size:1rem;font-family:var(--font-family);cursor:pointer;background-color:#0a1f44;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;padding:.9rem 1rem;font-weight:600;transition:background-color .2s,transform .1s;display:flex}.search-btn svg{width:1.1rem;height:1.1rem}.search-btn:hover{background-color:#132d5e}.search-btn:active{transform:scale(.99)}.search-btn:disabled{opacity:.6;cursor:not-allowed}.airport-dropdown{z-index:200;background:#fff;border:1.5px solid #dde3ef;border-radius:12px;list-style:none;position:absolute;top:calc(100% + 6px);left:-1rem;right:-1rem;overflow:hidden;box-shadow:0 8px 28px #0a1f4424}.airport-dropdown[hidden]{display:none}.airport-option{cursor:pointer;align-items:baseline;gap:.5rem;padding:.65rem 1rem;transition:background-color .1s;display:flex}.airport-option:not(:last-child){border-bottom:1px solid #f0f2f8}.airport-option:hover,.airport-option.active{background-color:#f0f5ff}.airport-option-code{color:#0a1f44;min-width:2.5rem;font-size:.95rem;font-weight:700}.airport-option-name{color:#374151;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.85rem;overflow:hidden}.airport-option-country{color:#9aa5bc;white-space:nowrap;font-size:.75rem}.flight-loading{text-align:center;color:#6b7a99;padding:3rem 0}.flight-loading p{margin-top:1rem;font-size:.95rem}.loading-track{align-items:center;gap:1rem;max-width:400px;margin:0 auto;display:flex}.loading-plane{color:#4a90d9;flex-shrink:0;width:2rem;height:2rem;animation:1.8s ease-in-out infinite fly-across}.loading-bar{background:#dde3ef;border-radius:2px;flex:1;height:4px;overflow:hidden}.loading-progress{background:#4a90d9;border-radius:2px;height:100%;animation:1.8s ease-in-out infinite progress-slide}@keyframes fly-across{0%{opacity:.5;transform:translate(-8px)}50%{opacity:1;transform:translate(8px)}to{opacity:.5;transform:translate(-8px)}}@keyframes progress-slide{0%{width:0%}60%{width:80%}to{width:100%}}.flight-empty{text-align:center;padding:4rem 2rem}.empty-illustration svg{width:160px;height:auto;margin-bottom:1.5rem}.empty-title{color:#0a1f44;margin-bottom:.4rem;font-size:1.2rem;font-weight:600}.empty-subtitle{color:#6b7a99;font-size:.9rem}.results-filters{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.filter-label{text-transform:uppercase;letter-spacing:.07em;color:#6b7a99;white-space:nowrap;min-width:5rem;font-size:.7rem;font-weight:700}.filter-pills{flex-wrap:wrap;gap:.4rem;display:flex}.filter-pill{font-size:.8rem;font-family:var(--font-family);color:#6b7a99;cursor:pointer;background:#f0f2f8;border:1.5px solid #0000;border-radius:20px;padding:.3rem .85rem;font-weight:500;transition:background-color .15s,color .15s,border-color .15s}.filter-pill:hover{color:#0a1f44;background:#e4e9f5}.filter-pill.active{color:#fff;background:#0a1f44;border-color:#0a1f44}.results-heading{color:#0a1f44;margin-bottom:1.25rem;font-size:1.1rem;font-weight:600}.results-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.flight-card{background:#fff;border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 12px #0a1f4414}.flight-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px #0a1f4424}.card-top{justify-content:space-between;align-items:flex-start;display:flex}.card-airline{color:#0a1f44;font-size:1rem;font-weight:600}.card-source-badge{text-transform:uppercase;letter-spacing:.06em;color:#4a5e8a;background:#eef2fb;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.card-route{color:#374151;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.card-route .route-code{color:#0a1f44;font-size:1rem;font-weight:700}.card-route svg{color:#a0aec0;width:1rem;height:1rem}.card-times{color:#6b7a99;justify-content:space-between;font-size:.85rem;display:flex}.card-bottom{border-top:1px solid #f0f2f8;justify-content:space-between;align-items:center;margin-top:.25rem;padding-top:.75rem;display:flex}.card-price{color:#0a1f44;font-size:1.5rem;font-weight:700}.card-price .card-currency{color:#6b7a99;margin-left:.15rem;font-size:.85rem;font-weight:500}.stops-badge{border-radius:20px;padding:.25rem .7rem;font-size:.75rem;font-weight:600}.stops-badge.direct{color:#16a34a;background:#dcfce7}.stops-badge.one-stop{color:#ca8a04;background:#fef9c3}.stops-badge.multi-stop{color:#dc2626;background:#fee2e2}.calendar-popup{z-index:300;-webkit-user-select:none;user-select:none;background:#fff;border-radius:16px;width:320px;padding:1.25rem;position:fixed;box-shadow:0 16px 48px #0a1f442e,0 2px 8px #0a1f4414}.calendar-popup[hidden]{display:none}.cal-step-label{text-transform:uppercase;letter-spacing:.08em;color:#4a90d9;margin-bottom:.75rem;font-size:.7rem;font-weight:700}.cal-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.cal-nav{color:#6b7a99;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.15rem .5rem;font-size:1.6rem;line-height:1;transition:background-color .15s,color .15s}.cal-nav:hover{color:#0a1f44;background:#f0f2f8}.cal-month-year{color:#0a1f44;font-size:1rem;font-weight:700}.cal-dow{grid-template-columns:repeat(7,1fr);margin-bottom:.25rem;display:grid}.cal-dow-cell{text-align:center;color:#9aa5bc;text-transform:uppercase;letter-spacing:.04em;padding:.3rem 0;font-size:.68rem;font-weight:700}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-cell{aspect-ratio:1;color:#374151;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:.875rem;transition:background-color .1s,color .1s;display:flex}.cal-cell--empty{cursor:default}.cal-cell--past{color:#c8cfdb;cursor:default}.cal-cell--today:not(.cal-cell--selected){color:#4a90d9;background:#eef5ff;font-weight:700}.cal-cell:not(.cal-cell--past):not(.cal-cell--empty):not(.cal-cell--selected):hover{color:#0a1f44;background:#f0f5ff}.cal-cell--selected{font-weight:600;box-shadow:0 2px 8px #4a90d966;color:#fff!important;background:#4a90d9!important}.cal-cell--start:not(.cal-cell--end){border-top-right-radius:0;border-bottom-right-radius:0}.cal-cell--end:not(.cal-cell--start){border-top-left-radius:0;border-bottom-left-radius:0}.cal-cell--in-range,.cal-cell--hover-range{color:#0a1f44;background:#deeeff;border-radius:0}.cal-footer{border-top:1px solid #f0f2f8;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.cal-footer-dates{flex-direction:column;gap:.2rem;display:flex}.cal-footer-date{color:#374151;font-size:.8rem;font-weight:500}.cal-clear-btn{color:#9aa5bc;cursor:pointer;font-size:.78rem;font-family:var(--font-family);white-space:nowrap;background:0 0;border:none;transition:color .15s}.cal-clear-btn:hover{color:#dc2626}.date-trigger{cursor:pointer;background:#f9fafc;border:1.5px solid #dde3ef;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;transition:border-color .2s,background-color .2s;display:flex}.date-trigger svg{color:#9aa5bc;flex-shrink:0;width:1rem;height:1rem;transition:color .15s}.date-trigger span{color:#a0aec0;font-size:.95rem;font-family:var(--font-family);white-space:nowrap;transition:color .15s}.date-trigger:hover{background:#fff;border-color:#4a90d9}.date-trigger:hover svg{color:#4a90d9}.date-trigger:hover span{color:#374151}.date-trigger.has-value{background:#f0f6ff;border-color:#4a90d9}.date-trigger.has-value svg{color:#4a90d9}.date-trigger.has-value span{color:#0a1f44;font-weight:500}.main-nav{background-color:#0a1f44;justify-content:space-between;align-items:center;height:60px;padding:0 2rem;display:flex}.nav-wordmark{color:#fff;letter-spacing:-.01em;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.nav-wordmark:hover{color:#4a90d9}.nav-plane{color:#4a90d9;width:1.3rem;height:1.3rem}.nav-logout-form{margin:0}.nav-logout-btn{color:#ffffffd9;font-size:.875rem;font-family:var(--font-family);cursor:pointer;background:0 0;border:1.5px solid #ffffff4d;border-radius:6px;padding:.4rem 1rem;transition:border-color .2s,color .2s,background-color .2s}.nav-logout-btn:hover{color:#fff;background-color:#ffffff14;border-color:#fff}section{padding:var(--general-padding);flex-direction:column;gap:1rem;max-width:1200px;height:100vh;margin:auto;display:flex}footer{padding:var(--component-padding);text-align:center;border-top:1px solid var(--border-color)}:root{--font-family:"Roboto", sans-serif;--text-regular:1rem;--link-color:#000;--border-color:#ccc;--fancy-black:#292d32;--component-padding:1rem 2rem;--general-padding:1rem}a{color:var(--link-color);text-decoration:none}body,*{box-sizing:border-box;font-family:var(--font-family);margin:0;padding:0}body{color:#111;background-color:#f4f6fb}[hidden]{display:none!important}
