:root{color:#316570;--brand-blue:#e1eff1;--brand-white:#fafafa;--brand-dark:#316570;--brand-medium:#90c4cf;--brand-border:#31657024;--brand-shadow:0 20px 44px #3165701a;background:radial-gradient(circle at 0 0,#90c4cf47,#0000 34%),linear-gradient(#e1eff1 0%,#fafafa 28%,#f5f9fa 100%);font-family:Avenir Next,Segoe UI,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}body{min-width:320px;margin:0}a{color:var(--brand-dark)}button,select,textarea,input{font:inherit}button{cursor:pointer}.app-shell,.admin-shell{width:min(1180px,100vw - 32px);margin:0 auto;padding:24px 0 40px}.topbar,.search-panel,.airport-card,.admin-panel,.admin-login,.app-message,.empty-state{border:1px solid var(--brand-border);box-shadow:var(--brand-shadow);background:#fafafaeb;border-radius:28px}.topbar{margin-bottom:18px;padding:28px}.topbar-copy{max-width:72ch}.brand-lockup{margin-bottom:14px;text-decoration:none;display:inline-flex}.brand-logo{width:min(100%,420px);height:auto;display:block}.topbar h1,.admin-shell h1{letter-spacing:-.05em;color:var(--brand-dark);margin:8px 0 14px;font-size:clamp(2.4rem,4.4vw,4.8rem);line-height:.96}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:#316570b8;margin:0;font-size:.78rem}.hero-copy{color:#316570c7;max-width:58ch;margin:0}.search-panel{margin-bottom:18px;padding:18px 20px 20px}.search-label{text-transform:uppercase;letter-spacing:.12em;color:#316570b8;margin-bottom:10px;font-size:.86rem;font-weight:700;display:block}.search-input,.report-row select,.admin-login input,.admin-form select,.admin-form textarea{width:100%;color:var(--brand-dark);background:#fff;border:1px solid #3165702e;border-radius:18px;padding:14px 16px;transition:border-color .16s,box-shadow .16s}.search-input{font-size:1rem}.search-input:focus,.report-row select:focus,.admin-login input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--brand-medium);outline:none;box-shadow:0 0 0 4px #90c4cf38}.toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.toolbar p{color:#316570c2;max-width:74ch;margin:0}.ghost-button,.report-row button,.admin-login button,.admin-form button,.admin-actions button{background:var(--brand-dark);color:var(--brand-white);border:0;border-radius:999px;padding:11px 18px;font-weight:700}.ghost-button{color:var(--brand-dark);background:#e1eff1eb;border:1px solid #3165701a}.card-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px;display:grid}.airport-card{overflow:hidden}.faa-banner,.admin-banner,.warning-banner{padding:12px 18px;font-size:.95rem;font-weight:600}.faa-link{color:inherit;text-decoration:none}.faa-link:hover{text-decoration:underline}.faa-green{color:#24714f;background:#bfe9cc94}.faa-yellow{color:#8c6220;background:#ffe4a99e}.faa-red{color:#8f2c2c;background:#facdcdb8}.admin-banner{color:var(--brand-dark);background:#e1eff1f5}.warning-banner{color:#8c6a17;background:#ffeda4b3}.airport-card-head,.wait-grid,.source-row,.report-row,.expanded-area,.chart-panel{padding:18px 20px}.airport-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.airport-code-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.airport-code-row h2,.terminal-group h3{color:var(--brand-dark);margin:0}.airport-name{color:#316570bd;margin:6px 0 0}.status-chip,.pill,.badge{border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.status-ready,.badge-open{color:#25734a;background:#c5eed2c7}.status-partial,.status-loading,.badge-unknown{color:#316570b8;background:#e1eff1f5}.status-error,.badge-closed{color:#8c3232;background:#fad6d6e0}.wait-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.wait-grid-single{grid-template-columns:1fr}.metric{border:1px solid #31657017;border-radius:22px;padding:18px}.metric-estimated{background:linear-gradient(#e1eff1f0 0%,#90c4cf3d 100%)}.metric-traveler{background:linear-gradient(#fafafafa 0%,#e1eff1d1 100%)}.metric-label{color:#316570b8;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:.88rem;display:block}.metric strong{color:var(--brand-dark);margin-bottom:4px;font-size:2rem;display:block}.metric small,.checkpoint-copy small,.report-message,.error-copy{color:#316570b8}.source-row{border-top:1px solid #31657014;border-bottom:1px solid #31657014;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.source-group,.source-links{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pill{color:#316570c7;background:#e1eff1f0}.pill-muted{color:#8c6a17;background:#ffeda4b3}.source-links a{font-size:.88rem;font-weight:700;text-decoration:none}.source-links a:hover{text-decoration:underline}.report-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.modal-backdrop{z-index:40;background:#3165705c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.report-modal{border:1px solid var(--brand-border);background:#fafafafa;border-radius:28px;width:min(720px,100%);max-height:min(90vh,860px);padding:24px;overflow:auto;box-shadow:0 26px 60px #3165702e}.report-modal-head,.report-modal-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.report-modal-head h3{color:var(--brand-dark);margin:6px 0 0;font-size:1.55rem}.report-modal-close{white-space:nowrap}.report-modal-section{margin-top:18px}.choice-grid{flex-wrap:wrap;gap:10px;display:flex}.choice-grid-lanes{margin-top:4px}.choice-pill{color:var(--brand-dark);background:#e1eff1b3;border:1px solid #3165701f;border-radius:999px;padding:10px 14px;font-weight:700}.choice-pill-active{background:var(--brand-dark);color:var(--brand-white);border-color:var(--brand-dark)}.report-modal-actions{margin-top:24px}.fallback-copy{padding:18px 20px}.fallback-copy p{color:#316570d1;margin:0}.fallback-copy a{font-weight:700}.report-row select{max-width:240px}.expanded-area{border-top:1px solid #31657014;gap:18px;display:grid}.terminal-group{padding-top:2px}.checkpoint-list{gap:10px;display:grid}.checkpoint-row{border-bottom:1px solid #31657014;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.checkpoint-copy,.checkpoint-meta,.chart-header,.admin-head,.admin-actions{align-items:center;gap:10px;display:flex}.checkpoint-meta{flex-wrap:wrap;justify-content:flex-end}.status-dot{background:#b9c8cc;border-radius:999px;width:10px;height:10px}.status-dot-open{background:#30a76a}.status-dot-closed{background:#97a6aa}.chart-panel{padding-top:10px}.chart-header{justify-content:space-between;margin-bottom:12px}.chart-legend{color:#316570b3;flex-wrap:wrap;gap:10px;font-size:.8rem;display:flex}.chart-shell{height:220px}.admin-shell{justify-content:center;align-items:start;min-height:100vh;display:flex}.admin-panel,.admin-login{width:min(900px,100%);padding:28px}.admin-form,.admin-notes{gap:14px;display:grid}.admin-form textarea{max-width:none;min-height:110px}.admin-note-card{background:#e1eff194;border-radius:18px;justify-content:space-between;align-items:start;gap:20px;padding:18px;display:flex}.danger{background:#8c3232}.app-message,.empty-state{margin-top:18px;padding:18px}@media (width<=860px){.app-shell,.admin-shell{width:min(100vw - 20px,100%);padding:12px 0 28px}.topbar,.wait-grid,.toolbar,.airport-card-head,.checkpoint-row,.admin-note-card,.admin-head,.source-row,.report-modal-head,.report-modal-actions{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.brand-logo{width:min(100%,320px)}.chart-header,.checkpoint-meta{justify-content:flex-start}.card-grid{grid-template-columns:1fr}.report-modal{padding:20px}}
