:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182e46;background:#edf2f6;font-synthesis:none;--muted:#64748b;--blue:#215de1;--line:rgba(91,119,147,.17)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 8% 2%,#dbe8ff 0,transparent 45%),radial-gradient(ellipse at 95% 48%,#e0eeea 0,transparent 48%)}button,input{font:inherit}button,a,label[for=file]{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}a{color:inherit;text-decoration:none}.shell{max-width:1240px;padding:0 38px;margin:auto}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-weight:650;font-size:20px;letter-spacing:-.6px;display:flex;gap:12px;align-items:center}.mark{display:grid;place-items:center;background:#fff9;border:1px solid #fff;border-radius:13px;width:40px;height:40px;color:var(--blue);font-size:23px}.brand-light{font-weight:400;color:var(--muted)}.header-right{display:flex;align-items:center;gap:22px}.live{font-size:12px;color:#4b6673}.live:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#529887;margin-right:8px}.quiet{background:none;border:0;color:var(--muted);font-size:12px;padding:8px}.glass{background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.95);border-radius:20px;box-shadow:0 8px 28px #34516a06;backdrop-filter:blur(16px)}main{min-height:calc(100vh - 184px);padding:36px 0}.eyebrow,.section-label{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--muted)}h1{font-size:32px;letter-spacing:-1.2px;margin:7px 0 0;font-weight:600}h2,h3,p{margin-top:0}.workspace-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.primary{display:flex;align-items:center;justify-content:center;gap:24px;background:var(--blue);color:#fff;border:0;border-radius:12px;padding:13px 19px;font-size:13px;font-weight:600;box-shadow:0 5px 15px #215de11a}.upload-button{cursor:pointer}.upload-button input{position:absolute;opacity:0;width:1px;height:1px}.upload-button:focus-within,button:focus-visible,summary:focus-visible{outline:3px solid #78a3fc;outline-offset:4px}.layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:24px;align-items:start}.history{padding:22px 13px}.section-label{display:flex;justify-content:space-between;align-items:center;gap:12px;line-height:1.5}.history>.section-label{padding:0 8px 15px}.section-label>span{letter-spacing:0;font-weight:400;font-size:11px}.history-item{border:0;background:none;width:100%;text-align:left;padding:14px 12px;border-radius:12px;color:inherit;margin:3px 0;display:block}.history-item.active{background:#e4edfc}.history-item strong{display:block;font-size:15px;font-weight:600}.history-item span{display:block;color:var(--muted);font-size:11px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item .history-state{color:#44667c}.retention{margin:25px 8px 0;font-size:10px;line-height:1.8;color:var(--muted)}.job-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 2px 18px}.job-title h2{font-size:18px;margin:4px 0 0;font-weight:550;letter-spacing:-.4px}#filename{display:block;max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{white-space:nowrap;font-size:11px;border:1px solid #bcd5ca;background:#e6f1eb;color:#36634e;border-radius:30px;padding:7px 12px}.badge.pending{background:#e6ecfd;border-color:#cbd8f9;color:#345d9b}.badge.warn{background:#fcf1df;border-color:#e5d1ad;color:#7d5823}.flight-card{display:flex;justify-content:space-between;align-items:center;padding:25px 27px;background:linear-gradient(130deg,#ffffffdd,#eef5ffcc);margin-bottom:14px}.flight-card h2{font-size:39px;letter-spacing:-1.5px;margin:8px 0 4px;font-weight:600}.route-line{font-size:23px;font-weight:400;color:#98acc5;vertical-align:middle;margin:0 16px}.aircraft{text-align:right;display:grid;gap:8px}.aircraft strong{font-size:21px;letter-spacing:.5px}.small{font-size:11px;color:var(--muted);line-height:1.6}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.metric{padding:20px 20px 17px}.metric .value{font-size:29px;letter-spacing:-1px;font-variant-numeric:tabular-nums;font-weight:600;margin:10px 0 5px}.metric .unit{font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:5px}.metric .source{font-size:10px;color:#758899}.metric.accent{background:#1f4d8c;color:#fff;border-color:#1f4d8c}.metric.accent .eyebrow,.metric.accent .unit,.metric.accent .source{color:#c3d5ef}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.detail-card{padding:19px 21px}.detail-card h3{font-size:23px;letter-spacing:-.5px;margin:9px 0 3px}.detail-card p{margin:0}.weather,.crew{padding:21px;margin-bottom:12px}.weather>p{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.8;margin:14px 0 10px;color:#264366;overflow-wrap:anywhere}#crew{display:flex;gap:30px;flex-wrap:wrap;margin-top:17px}.crew-person{display:flex;gap:12px;align-items:center}.crew-role{font-size:10px;letter-spacing:.5px;background:#e6edf6;border-radius:8px;padding:10px;color:#486487}.crew-name{font-size:12px;font-weight:550}.sources{padding:16px 21px;margin-top:12px}.sources summary{cursor:pointer;font-size:12px;font-weight:600}.sources summary span{float:right;color:var(--muted);font-size:10px;font-weight:400}.sources>p{margin:15px 0 0}.sources dl{font-size:11px;display:grid;grid-template-columns:150px 1fr;gap:12px;line-height:1.6}.sources dt{font-weight:600}.sources dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}.notice{background:#fff6e5;border:1px solid #ecdcc0;border-radius:12px;padding:13px 17px;font-size:12px;line-height:1.7;margin-bottom:17px;white-space:pre-line}.error{color:#9b3a37}.empty{padding:75px 25px;text-align:center}.empty-icon{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:18px;background:#e8eff9;color:var(--blue);font-size:35px;margin-bottom:25px}.empty h2{font-size:22px;letter-spacing:-.7px}.empty p{font-size:13px;line-height:1.8;color:var(--muted)}.progress-panel{padding:23px;margin-bottom:16px}.progress-heading{display:flex;justify-content:space-between;font-size:13px}progress{width:100%;height:7px;appearance:none;border:0;margin:20px 0 12px;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:#e1e9f2}progress::-webkit-progress-value{background:var(--blue);transition:width .5s}.steps{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.login{max-width:470px;margin:30px auto 55px;padding:42px}.login h1{font-size:38px;line-height:1.13;margin:16px 0 20px}.login>p{font-size:13px;line-height:1.7;color:var(--muted)}.login label{display:block;font-size:12px;margin:27px 0 9px}.login input{width:100%;padding:13px;border:1px solid #cbd6e2;border-radius:10px;background:#ffffffe0;outline-color:var(--blue)}.login .primary{width:100%;margin:13px 0 18px;justify-content:space-between}.login p.small{font-size:11px}.loading{text-align:center;color:var(--muted);padding:80px}footer{height:84px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#758899;gap:20px}footer>span:first-child{font-size:9px;letter-spacing:1.7px}#job-list{max-height:520px;overflow:auto}
@media(max-width:900px){.shell{padding:0 22px}.layout{grid-template-columns:190px minmax(0,1fr);gap:16px}.metrics{grid-template-columns:repeat(2,1fr)}.route-line{margin:0 5px}.flight-card h2{font-size:32px}.flight-card{padding:22px}.aircraft strong{font-size:18px}}
@media(max-width:640px){.shell{padding:0 16px}header{height:78px}.brand{font-size:17px}.mark{width:34px;height:34px}.header-right{gap:5px}.live{font-size:10px}.quiet{font-size:10px}.layout{display:flex;flex-direction:column-reverse}.content,.history{width:100%}.history{margin-top:8px}#job-list{max-height:200px}.retention{margin-top:12px}main{padding:25px 0}.workspace-title{margin-bottom:23px}h1{font-size:29px}.primary{font-size:12px;padding:12px}.flight-card{padding:20px 17px}.flight-card h2{font-size:32px}.aircraft strong{font-size:17px}.aircraft .small{font-size:9px}.metric{padding:18px}.metric .value{font-size:28px}.job-title{gap:10px}#filename{max-width:230px}.badge{padding:6px 9px;font-size:10px}.login{padding:30px 25px;margin:20px auto}.login h1{font-size:36px}.sources dl{grid-template-columns:90px 1fr}.steps{font-size:9px}footer{font-size:9px;line-height:1.7}.detail-card{padding:18px}.detail-card h3{font-size:21px}}
