:root{--background:210 40% 98%;--foreground:222 47% 11%;--primary:351 76% 59%;--primary-foreground:210 40% 98%;--card:0 0% 100%;--card-foreground:222 47% 11%;--input:214 32% 91%;--ring:351 76% 59%;--radius:.75rem}*{box-sizing:border-box;margin:0;padding:0}body{color:hsl(var(--foreground));background:hsl(var(--background));background-image:radial-gradient(at 0 0,#fce9eb 0,#0000 50%),radial-gradient(at 50% 0,#dce1ef 0,#0000 50%),radial-gradient(at 100% 0,#f2d9e2 0,#0000 50%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;font-family:Inter,sans-serif;display:flex}.glass-panel{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius);background:#ffffffb3;border:1px solid #ffffff80;box-shadow:0 4px 30px #0000001a}.container{width:100%;max-width:600px;padding:2rem}.title{text-align:center;color:hsl(var(--primary));letter-spacing:-.05em;justify-content:center;align-items:center;gap:1rem;margin-bottom:.5rem;font-size:2.5rem;font-weight:700;display:flex}.subtitle{text-align:center;color:#0009;margin-bottom:2rem;padding:10px;font-size:1rem}.search-form{gap:1rem;margin-bottom:2rem;display:flex}.input-group{flex:1;align-items:center;display:flex;position:relative}.input-field{width:100%;color:hsl(var(--foreground));background:#fffc;border:1px solid #0000001a;border-radius:26px;outline:none;padding:1rem 3.5rem 1rem 1.5rem;font-size:1rem;transition:all .3s}.input-field:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary),.3);background:#fff}.search-btn{background:hsl(var(--primary));color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:.5rem;transition:all .3s;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.search-btn:hover{opacity:.9;box-shadow:0 4px 12px hsla(var(--primary),.4)}.search-btn:disabled{opacity:.5;cursor:not-allowed}.flight-card{margin-top:1.5rem;padding:2rem;animation:.5s ease-out forwards slideUp}.flight-header{border-bottom:1px solid #0000001a;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.airline-name{text-transform:uppercase;letter-spacing:.05em;color:#0009;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.flight-number{color:hsl(var(--foreground));font-size:1.5rem;font-weight:700;line-height:1.1}.flight-status{border-radius:999px;padding:.25rem .75rem;font-size:.875rem;font-weight:600}.status-scheduled{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f633}.status-delayed{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b33}.status-landed{color:#10b981;background:#10b98126;border:1px solid #10b98133}.status-cancelled{color:#ef4444;background:#ef444426;border:1px solid #ef444433}.status-active{color:#8b5cf6;background:#8b5cf626;border:1px solid #8b5cf633}.status-default{color:#6b7280;background:#6b728026;border:1px solid #6b728033}.flight-route{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.location{flex:1}.location-code{color:hsl(var(--foreground));margin-bottom:.5rem;font-size:2.5rem;font-weight:800;line-height:1}.location-city{color:#0009;font-size:.875rem;font-weight:500}.duration-text{color:#0009;padding-top:.5rem;font-size:.875rem;font-weight:500}.route-visual{flex-direction:column;flex:1;align-items:center;padding:0 1rem;display:flex}.plane-icon{color:hsl(var(--primary));margin-bottom:.5rem;font-size:1.5rem;transform:rotate(0)}.route-line{background:linear-gradient(90deg,#0000,#0000004d,#0000);width:100%;height:1px;position:relative}.flight-times{justify-content:space-between;margin-top:1rem;display:flex}.time-group{flex:1}.time-label{text-transform:uppercase;letter-spacing:.05em;color:#00000080;margin-bottom:.25rem;font-size:.75rem}.time-value{color:hsl(var(--foreground));flex-direction:column;gap:0;font-size:1.25rem;font-weight:600;display:flex}.date-part{color:#0006;margin-bottom:.5rem;font-size:1rem;font-weight:500}.gate-info-bottom{color:#0006;margin-top:.5rem;font-size:.875rem;font-weight:500}.time-zone{color:#0006;margin-top:.25rem;font-size:.75rem}@media (max-width:640px){.container{padding:1rem .75rem}.glass-panel{padding:1.5rem 1rem!important}.location-code{font-size:2rem}.time-value{font-size:1.125rem}}.text-right{text-align:right}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-message{color:#f87171;border-radius:var(--radius);text-align:center;background:#f871711a;border:1px solid #f8717133;margin-top:1rem;padding:1rem}
