:root{--ink:#07171f;--muted:#6e7b80;--line:#dbe3e5;--cream:#f4f2eb;--card:#fff;--lime:#cce958;--teal:#0b7f78;--orange:#ee7b52;--blue:#3978df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}.app-shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:32px 22px 22px;background:#07171f;color:#eef5ef;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;color:white;text-decoration:none;font:800 22px Manrope}.brand-mark{display:grid;place-items:center;width:32px;height:32px;background:var(--lime);color:#07171f;border-radius:50%}.sidebar nav{display:grid;gap:8px;margin-top:60px}.nav-item{padding:13px 14px;color:#95a5a9;text-decoration:none;border-radius:11px;display:flex;gap:12px;align-items:center;font-weight:600}.nav-item:hover,.nav-item.active{background:#14282f;color:white}.nav-item b{margin-left:auto;background:var(--lime);color:#07171f;padding:2px 7px;border-radius:12px;font-size:11px}.sidebar-bottom{margin-top:auto}.mini-weather{display:flex;gap:12px;padding:14px 10px;border-bottom:1px solid #26373d}.mini-weather>span{font-size:24px}.mini-weather div,.user-card span:nth-child(2){display:flex;flex-direction:column}.mini-weather small,.user-card small{color:#829399;margin-top:2px}.user-card{width:100%;border:0;background:none;color:white;display:flex;align-items:center;gap:10px;text-align:left;padding:18px 5px 0}.user-card>span:last-child{margin-left:auto;color:#829399}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#def27d;color:#07171f;font-weight:700}main{padding:28px 42px 20px;max-width:1600px;width:100%;margin:auto}.topbar,.section-head,.panel-head{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:#829095;margin:0 0 7px}.topbar h1{font:700 24px Manrope;margin:0}.icon-button,.menu-button{position:relative;border:1px solid var(--line);background:#faf9f4;border-radius:50%;width:42px;height:42px;font-size:17px}.dot{position:absolute;right:9px;top:7px;width:7px;height:7px;background:var(--orange);border-radius:50%;border:2px solid white}.menu-button{display:none}.hero-search{margin-top:29px;min-height:280px;border-radius:22px;padding:42px 48px;background:#0b3034;display:grid;grid-template-columns:.85fr 1.3fr;align-items:center;gap:60px;position:relative;overflow:hidden}.hero-search:after{content:"";position:absolute;width:390px;height:390px;border:1px solid #2d5353;border-radius:50%;left:-170px;bottom:-250px;box-shadow:0 0 0 55px #0e3739}.hero-copy{position:relative;z-index:1;color:white}.live-pill{font-size:10px;letter-spacing:.12em;font-weight:800;background:#173e40;padding:8px 10px;border-radius:20px}.live-pill i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:6px;box-shadow:0 0 0 4px #cce95822}.hero-copy h2{font:700 clamp(36px,4vw,58px)/.95 Manrope;margin:19px 0 14px;letter-spacing:-.04em}.hero-copy h2 em{color:var(--lime);font-style:normal}.hero-copy p{color:#b8c6c7;margin:0}.search-card{background:#fff;padding:25px;border-radius:17px;position:relative;z-index:2;box-shadow:0 22px 50px #00151744}.search-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:22px}.tab{border:0;background:none;padding:0 0 12px;color:#849094;font:600 13px DM Sans;cursor:pointer}.tab.active{color:var(--ink);border-bottom:2px solid var(--ink)}.search-card label{display:block;font-size:10px;letter-spacing:.14em;font-weight:800;margin-bottom:8px}.search-row{display:flex;gap:9px}.input-wrap{height:53px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:10px;padding:0 14px;flex:1}.input-wrap:focus-within{border-color:#0b7f78;box-shadow:0 0 0 3px #0b7f7818}.input-wrap input{width:100%;border:0;outline:0;font:700 17px Manrope;text-transform:uppercase}.search-button{background:var(--lime);border:0;border-radius:9px;padding:0 22px;font-weight:800;cursor:pointer}.search-button:hover{filter:brightness(.96);transform:translateY(-1px)}.search-button span{margin-left:12px}.search-card>small{display:block;color:#8a9498;margin-top:11px}.section-head{margin:34px 0 16px}.section-head h3,.panel h3{font:700 20px Manrope;margin:0}.text-button{border:0;background:none;font-weight:700;cursor:pointer}.flight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.flight-card{background:#fff;border:1px solid #e1e5e4;border-radius:15px;padding:20px;cursor:pointer;transition:.2s}.flight-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #13252b12}.flight-top{display:flex;justify-content:space-between;align-items:center}.airline{display:flex;align-items:center;gap:9px}.airline-logo{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:white}.airline-logo.ac{background:#d83a42}.airline-logo.ws{background:#146d6c}.airline-logo.ba{background:#173d8c}.airline small{display:block;color:#859095}.status{font-size:10px;font-weight:800;padding:6px 9px;border-radius:20px}.status.air{background:#e4f0ff;color:#2168c7}.status.delay{background:#ffede6;color:#d25a32}.status.board{background:#eaf4c2;color:#4d6900}.route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin:25px 0 18px}.airport:last-child{text-align:right}.airport strong{font:800 28px Manrope}.airport small{display:block;color:#7e898e}.route-line{width:78px;border-top:1px dashed #a7b0b2;position:relative;text-align:center}.route-line span{position:absolute;top:-14px;left:32px;background:#fff;padding:2px}.progress{height:4px;border-radius:3px;background:#edf0ed;overflow:hidden}.progress i{display:block;height:100%;background:#173a3b;border-radius:3px}.flight-meta{display:flex;justify-content:space-between;margin-top:11px;color:#7d898d;font-size:11px}.flight-meta strong{color:var(--ink)}.lower-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:14px;margin-top:16px}.panel{background:#fff;border:1px solid #e1e5e4;border-radius:15px;overflow:hidden}.panel-head{padding:20px 22px 15px}.segmented{background:#f0f1ed;padding:3px;border-radius:8px}.segmented button{border:0;background:none;padding:6px 11px;border-radius:6px;font-size:11px}.segmented .active{background:white;box-shadow:0 1px 3px #0002}.map{height:290px;background:#e8eddf;position:relative;overflow:hidden}.map svg{position:absolute;width:100%;height:100%}.water{fill:#c9e3e5}.road{fill:none;stroke:#fff;stroke-width:5}.road.faint{stroke-width:3}.city{position:absolute;font-size:11px;font-weight:700;color:#647277}.toronto{left:47%;top:48%}.miss{left:19%;top:61%}.oshawa{right:12%;top:30%}.plane{position:absolute;border:0;background:#173a3b;color:#fff;width:31px;height:31px;border-radius:50%;box-shadow:0 3px 10px #0003;cursor:pointer}.plane small{position:absolute;white-space:nowrap;left:35px;top:7px;background:white;color:#1a3037;padding:3px 6px;border-radius:4px;font-weight:700}.plane.selected{background:var(--orange);transform:scale(1.12)}.p1{left:25%;top:28%;transform:rotate(24deg)}.p1 small{transform:rotate(-24deg)}.p2{left:52%;top:30%}.p3{right:20%;top:55%;transform:rotate(-20deg)}.p3 small{transform:rotate(20deg)}.map-key{position:absolute;left:18px;bottom:14px;background:#ffffffdd;padding:8px 10px;border-radius:7px;display:flex;gap:12px;font-size:10px}.map-key i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.blue{background:var(--blue)}.orange{background:var(--orange)}.small{width:32px;height:32px}.timeline{padding:0 22px}.event{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:15px 0;border-top:1px solid #edf0ef}.event-icon{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}.event-icon.green{background:#edf5cf;color:#698400}.event-icon.orange{background:#ffebe4;color:#d35f38}.event-icon.blue{background:#e3efff;color:#3472ca}.event strong{font-size:13px}.event p{font-size:11px;color:#738085;margin:3px 0}.event small{font-size:10px;color:#a2aaad}.alerts-button{margin:5px 22px 18px;width:calc(100% - 44px);padding:11px;border:1px solid var(--line);background:white;border-radius:8px;font-weight:700}.alerts-button span{float:right}footer{display:flex;justify-content:space-between;color:#8a9498;font-size:11px;padding:24px 4px 3px}dialog{border:0;border-radius:20px;padding:0;width:min(540px,calc(100% - 30px));box-shadow:0 30px 80px #00151b55}dialog::backdrop{background:#06161c99;backdrop-filter:blur(4px)}.modal-close{position:absolute;right:16px;top:14px;border:0;background:#eef1ee;border-radius:50%;width:32px;height:32px;font-size:20px}.modal-body{padding:34px}.modal-body .route{margin:35px 0}.modal-banner{background:#0b3034;color:white;padding:25px;border-radius:14px}.modal-banner .status{float:right}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.detail-grid div{background:#f4f5f1;padding:12px;border-radius:9px}.detail-grid small{display:block;color:#79858a;margin-bottom:4px}.toast{position:fixed;right:28px;bottom:28px;background:#07171f;color:white;padding:13px 18px;border-radius:10px;opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:none}@media(max-width:1000px){.app-shell{grid-template-columns:78px 1fr}.sidebar{padding:26px 13px}.brand span:last-child,.nav-item:not(.active),.nav-item.active{font-size:0}.nav-item.active span{font-size:18px}.sidebar nav{margin-top:45px}.mini-weather,.user-card span:not(.avatar){display:none}.hero-search{grid-template-columns:1fr;padding:35px}.hero-copy br{display:none}.flight-grid{grid-template-columns:1fr 1fr}.flight-card:last-child{grid-column:span 2}.lower-grid{grid-template-columns:1fr}}@media(max-width:700px){.app-shell{display:block}.sidebar{position:fixed;z-index:10;left:0;right:0;bottom:0;top:auto;height:66px;display:block;padding:8px 14px}.brand,.sidebar-bottom{display:none}.sidebar nav{margin:0;display:flex;justify-content:space-around}.nav-item,.nav-item.active{font-size:0;padding:12px;background:none}.nav-item span,.nav-item.active span{font-size:19px}.nav-item b{display:none}main{padding:20px 16px 80px}.topbar h1{font-size:19px}.hero-search{margin-top:20px;padding:28px 20px}.hero-copy h2{font-size:42px}.search-row{display:grid}.search-button{height:50px}.flight-grid{grid-template-columns:1fr}.flight-card:last-child{grid-column:auto}.lower-grid{grid-template-columns:1fr}.route-line{width:54px}.menu-button{display:none}footer{display:none}}
