:root{--bg:#0f172a;--card:#1e293b;--card-soft:#24344d;--accent:#3b82f6;--text:#e2e8f0;--muted:#94a3b8;--green:#34d399;--green-bg:#064e3b;--orange:#f59e0b;--orange-bg:#78350f;--line:#334155;--danger:#fb7185;--accent-glow:#3b82f622}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 Inter,system-ui,sans-serif}a{color:var(--text);text-decoration:none}a:hover{color:var(--accent)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px max(24px,calc((100% - 1180px)/2));border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:5}.brand{font-size:22px;font-weight:800;letter-spacing:-.04em}.brand span{color:var(--accent)}nav{display:flex;gap:22px;color:var(--muted);font-size:14px}nav a{color:var(--muted)}.container{max-width:1180px;margin:0 auto;padding:56px 24px 90px}.hero,.page-heading,.section-heading,.flight-top,.flight-bottom,.detail-head{display:flex;align-items:center;justify-content:space-between;gap:24px}.hero{padding:22px 0 48px}h1{font-size:42px;line-height:1.1;letter-spacing:-.05em;margin:4px 0 12px}h2{margin:0 0 18px;letter-spacing:-.03em}h3{margin:0;font-size:16px}.muted{color:var(--muted)}.eyebrow,.stat-label{color:var(--accent);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.stats{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px}.stats .card{display:flex;flex-direction:column;gap:8px;min-height:150px}.stats strong{font-size:36px;line-height:1.1}.stats a{color:var(--accent);font-size:13px}.section-card{margin-top:16px}.section-heading{margin-bottom:32px}.route{display:flex;align-items:center;gap:16px;min-height:48px}.route>div:not(.route-line){display:flex;align-items:center;gap:10px;min-width:105px}.route small{display:block;color:var(--muted);font-size:12px}.route strong{font-size:18px}.route-line{height:1px;background:var(--line);flex:1;position:relative}.route-line:after{content:"✦";position:absolute;left:50%;top:-12px;color:var(--accent);background:var(--card);padding:0 8px}.dot{height:9px;width:9px;background:var(--muted);border-radius:50%;display:inline-block}.dot.active{background:var(--accent);box-shadow:0 0 0 5px var(--accent-glow)}.button{border:0;border-radius:10px;background:var(--accent);color:var(--text);padding:11px 17px;font-weight:700;cursor:pointer;display:inline-block}.button:hover{color:var(--text);filter:brightness(1.1)}.button.secondary{background:var(--card-soft);color:var(--text)}.flash{padding:12px 16px;border-radius:10px;margin-bottom:16px}.flash.success{background:var(--green-bg);color:var(--green)}.flash.error{background:var(--orange-bg);color:var(--text)}.badge{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.confirmed{background:var(--green-bg);color:var(--green)}.booked{background:var(--orange-bg);color:var(--orange)}.muted-badge{background:var(--line);color:var(--muted)}.searchbar,.search-form{display:flex;align-items:end;gap:10px}.searchbar input{min-width:230px}.search-form{margin:24px 0;flex-wrap:wrap}.search-form label{flex:1}.flight-list{display:grid;gap:14px}.flight-card{border-left:3px solid transparent}.flight-card.cheapest{border-color:var(--green)}.flight-bottom{margin-top:24px}.flight-bottom>strong{font-size:24px}.form-row{display:flex;gap:12px}.form-row>*{flex:1}label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px;margin-bottom:15px}input,select{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:11px 12px;font:inherit}input:focus,select:focus{outline:2px solid var(--accent);border-color:transparent}.auth-wrap{max-width:500px;margin:30px auto}.auth-wrap form{margin-top:26px}.crew-card{display:flex;align-items:center;gap:14px;position:relative}.crew-card .arrow{margin-left:auto;color:var(--muted)}.crew-card .role,.crew-card p{margin:2px 0;color:var(--accent);font-size:13px}.avatar{width:42px;height:42px;border-radius:50%;background:var(--card-soft);display:grid;place-items:center;color:var(--accent);font-weight:800}.avatar.large{width:76px;height:76px;font-size:28px}.detail-head{justify-content:flex-start;margin:24px 0 36px}.detail-grid{align-items:start}.detail-grid dl{display:grid;grid-template-columns:130px 1fr;gap:10px;margin:0}.detail-grid dt{color:var(--muted)}.detail-grid dd{margin:0}.ticket-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.ticket-row:last-child{border-bottom:0}.ticket-row small{display:block;color:var(--muted)}.back{display:inline-block;color:var(--muted);margin-bottom:18px}.qr-card{text-align:center}.qr-card img{display:block;width:250px;height:250px;margin:12px auto 20px;background:var(--text);border-radius:8px}.table-card{padding:0;overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:800px}th,td{text-align:left;padding:15px 20px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}td a{color:var(--accent)}.large-route{margin:30px 0 35px}.large-route strong{font-size:26px}.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.position-form{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}@media(max-width:720px){.topbar{align-items:flex-start;gap:14px;flex-direction:column}nav{gap:12px;flex-wrap:wrap}.container{padding-top:32px}h1{font-size:34px}.hero,.page-heading{align-items:flex-start;flex-direction:column}.searchbar{width:100%}.searchbar input{min-width:0}.form-row{flex-direction:column;gap:0}.route{gap:8px}.route>div:not(.route-line){min-width:72px;display:block}.route small{font-size:10px}}
.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.position-form{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.filterbar,.timesheet-form{display:flex;gap:14px;flex-wrap:wrap;align-items:end}.filterbar label,.timesheet-form label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:170px}.filterbar input,.filterbar select,.timesheet-form input,.timesheet-form select{background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:10px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.brand{display:flex;align-items:baseline;gap:1px}.brand small{margin-left:6px;font-size:10px;letter-spacing:.12em;color:var(--muted)}.site-footer{max-width:1180px;margin:0 auto;padding:24px;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}.site-footer a{color:var(--muted)}.auth-wrap{max-width:520px;margin:8px auto 32px;padding:32px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.auth-brand>span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--accent-glow);font-size:22px}.auth-brand strong{font-size:12px;letter-spacing:.13em;color:var(--muted)}.auth-wrap h1{font-size:32px}.auth-wrap form{margin-top:20px}.auth-submit{width:100%;text-align:center}.password-toggle{align-self:flex-start;margin:0;border:0;padding:0;background:transparent;color:var(--accent);font:inherit;font-size:12px;cursor:pointer}.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:22px 0 2px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.login-tabs button{border:0;border-radius:8px;padding:10px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.login-tabs button.active{background:var(--card-soft);color:var(--text)}.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0}.auth-links a{color:var(--accent);font-size:13px}.consent{flex-direction:row;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5}.consent input{width:auto;margin-top:3px}.consent a{color:var(--accent)}.policy{max-width:860px;margin:0 auto}.policy h2{margin-top:36px}.policy li{margin:8px 0}@media(max-width:720px){.auth-wrap{padding:24px 18px}.site-footer{flex-direction:column}.auth-wrap h1{font-size:28px}}
