:root{--nav:#081a2d;--nav2:#0d2741;--nav3:#13314e;--bg:#edf2f7;--card:#fff;--ink:#142237;--muted:#6c7b90;--line:#dce5ef;--blue:#1769e0;--green:#087f5b;--red:#c43d4a;--amber:#b76b00;--soft:#f5f8fc;--shadow:0 9px 28px #172b4312}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);height:100vh;overflow:hidden}.topbar{height:64px;background:var(--nav);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #ffffff12}.brand{display:flex;align-items:center;gap:11px}.brand img{height:31px;max-width:130px;object-fit:contain}.brand b{font-size:18px;letter-spacing:.01em}.brand span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.16em;opacity:.6;margin-top:1px}.top-controls{display:flex;align-items:center;gap:8px}.top-controls input,.top-controls button{height:36px;border-radius:8px;border:1px solid #ffffff28;background:#fff;padding:0 10px}.top-controls #station{width:84px;text-transform:uppercase}.top-controls button{border:0;background:var(--blue);color:#fff;font-weight:750;padding:0 15px}.automation-pill{display:flex;align-items:center;gap:7px;height:32px;padding:0 10px;border:1px solid #4ed3a65c;border-radius:999px;color:#8ef1cd;background:#0f6b4a25;font-size:11px;font-weight:850;letter-spacing:.07em}.automation-pill i{width:7px;height:7px;background:#42dda6;border-radius:50%;box-shadow:0 0 0 4px #42dda620}.app-shell{height:calc(100vh - 64px);display:grid;grid-template-columns:302px minmax(0,1fr)}.flight-rail{background:var(--nav2);color:#fff;overflow:hidden;display:flex;flex-direction:column;border-right:1px solid #0a1d30}.rail-head{padding:16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff10}.rail-head strong{display:block;font-size:14px;margin-top:3px}.rail-head button{background:#ffffff12;border:1px solid #ffffff18;color:#d6e6f6;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:750}.kicker{font-size:9px;letter-spacing:.14em;font-weight:800;color:#8091a6}.flight-rail .kicker{color:#87a0b8}.flight-search{padding:10px 12px;border-bottom:1px solid #ffffff0d}.flight-search input{width:100%;height:35px;border-radius:7px;border:1px solid #ffffff1c;background:#071b2f;color:#fff;padding:0 10px;outline:none}.flight-list{overflow:auto;padding:7px}.flight-item{padding:11px 12px;border-radius:9px;margin-bottom:5px;cursor:pointer;border:1px solid transparent;transition:.12s}.flight-item:hover{background:#ffffff08}.flight-item.active{background:#fff;color:var(--ink);box-shadow:0 6px 18px #0002}.flight-item .top{display:flex;justify-content:space-between;align-items:center;font-weight:850}.flight-item .top strong{font-size:16px}.flight-item .top time{font-size:13px}.flight-item .route{font-size:11px;opacity:.72;margin:3px 0 7px}.flight-item .counts{display:flex;gap:6px;align-items:center;font-size:10px}.mini-stat{padding:3px 5px;border-radius:5px;background:#ffffff0d}.flight-item.active .mini-stat{background:#edf3fa}.dcs-chip{margin-left:auto;font-weight:800;text-transform:uppercase;font-size:9px}.dcs-chip.boarding{color:#23d19a}.flight-item.active .dcs-chip.boarding{color:var(--green)}main{overflow:auto;min-width:0}.empty-state{height:100%;display:grid;place-content:center;text-align:center;color:var(--muted)}.empty-state .empty-icon{width:62px;height:62px;border-radius:17px;background:var(--nav);color:#fff;display:grid;place-items:center;margin:0 auto 13px;font-weight:900}.empty-state h2{margin:0 0 5px;color:var(--ink)}.empty-state p{margin:0}.hidden{display:none!important}#workspace{padding:16px;min-width:970px}.flight-head{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:15px 17px;display:grid;grid-template-columns:1fr 190px 270px;gap:14px;align-items:center}.eyebrow{font-size:10px;color:var(--blue);font-weight:850;letter-spacing:.12em}.flight-line{display:flex;gap:10px;align-items:center}.flight-line h1{font-size:27px;margin:2px 0}.meta{color:var(--muted);font-size:12px}.status{font-size:10px;font-weight:850;border-radius:999px;padding:5px 8px;background:#eef3f9;color:#506176}.flight-clock,.position-card{border-left:1px solid var(--line);padding-left:17px}.flight-clock span,.position-card span{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted);font-weight:800}.flight-clock b{font-size:23px}.flight-clock small,.position-card small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.position-card strong{display:block;font-size:15px;margin-top:3px}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:10px 0}.metrics article{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.metrics span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.metrics b{display:block;font-size:22px;margin:1px 0}.metrics small{font-size:10px;color:var(--muted)}.modebar{height:46px;background:var(--nav);display:flex;align-items:center;padding:0 7px;border-radius:10px 10px 0 0;color:#fff}.mode{height:34px;padding:0 18px;border:0;background:transparent;color:#8fa7bd;font-weight:850;font-size:11px;border-radius:7px}.mode.active{background:#fff;color:var(--nav)}.signed{margin-left:auto;display:flex;align-items:center;gap:8px;padding-right:8px}.signed span{font-size:9px;opacity:.58;text-transform:uppercase}.signed b{font-size:12px}.process{height:52px;background:#fff;border:1px solid var(--line);border-top:0;display:flex;padding:0 8px;align-items:stretch;overflow:hidden}.step{flex:1;min-width:98px;border:0;background:#fff;color:#627287;border-right:1px solid var(--line);font-weight:750;font-size:11px;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.step:last-child{border-right:0}.step i{width:18px;height:18px;border-radius:50%;background:#e7edf5;display:grid;place-items:center;font-style:normal;font-size:9px}.step.active{color:var(--blue);background:#f5f9ff;box-shadow:inset 0 -3px var(--blue)}.step.complete i{background:#daf4e9;color:var(--green)}.workspace-grid{display:grid;grid-template-columns:minmax(600px,1fr) 365px;min-height:385px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;overflow:hidden}.left-pane{min-width:0;border-right:1px solid var(--line)}.search-strip{padding:9px;display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line);background:#fafcff}.searchbox{height:36px;flex:1;border:1px solid #cdd8e5;border-radius:7px;background:#fff;display:flex;align-items:center}.searchbox span{font-size:9px;margin-left:8px;padding:3px 5px;background:#edf2f7;border-radius:4px;color:#66788f}.searchbox input{border:0;outline:0;flex:1;height:100%;padding:0 8px;background:transparent}.quick-filters{display:flex;gap:4px}.quick-filters button{border:1px solid var(--line);background:#fff;border-radius:6px;height:30px;padding:0 7px;font-size:9px;color:#607086;font-weight:750}.quick-filters button.active{background:var(--nav);color:#fff}.table-wrap{height:340px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}thead{position:sticky;top:0;background:#f3f6fa;z-index:1}th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#68798f;padding:8px;border-bottom:1px solid var(--line)}td{padding:8px;border-bottom:1px solid #edf1f5;white-space:nowrap}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:#f1f7ff}.pax-name{font-weight:800}.sub{display:block;color:var(--muted);font-size:9px}.badge{display:inline-flex;padding:3px 6px;border-radius:5px;background:#eef3f8;font-size:9px;font-weight:800}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:#bac6d4}.dot.ok{background:#13a171}.dot.warn{background:#e29b18}.dot.bad{background:#d44d59}.right-pane{padding:12px;background:#fbfcfe;overflow:auto}.no-pax{height:100%;display:grid;place-content:center;text-align:center;color:var(--muted);padding:30px}.no-pax b{color:var(--ink);font-size:15px}.no-pax span{font-size:11px;margin-top:4px}.pax-head{display:flex;justify-content:space-between;gap:12px}.pax-head h2{font-size:19px;margin:2px 0}.pnr{font-size:10px;color:var(--blue);font-weight:850;letter-spacing:.1em}.seat-big{height:50px;min-width:58px;border-radius:9px;background:var(--nav);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900}.pax-statuses{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.status-token{font-size:9px;font-weight:800;padding:5px 7px;border-radius:6px;background:#eaf0f6}.status-token.green{background:#dff5ec;color:#087457}.status-token.amber{background:#fff1d7;color:#8d5900}.status-token.red{background:#fde4e7;color:#ad2f3a}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px;margin-top:8px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.panel-title b{font-size:13px}.panel-title span{font-size:9px;color:var(--muted)}.action-row{display:flex;gap:7px;flex-wrap:wrap}.action{border:0;border-radius:7px;background:var(--blue);color:#fff;font-weight:800;font-size:10px;height:34px;padding:0 11px}.action.secondary{background:#eaf0f6;color:#31445b}.action.green{background:var(--green)}.action.red{background:var(--red)}.action.amber{background:#f0a323;color:#fff}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px}.field-row label,.assign label{font-size:9px;color:var(--muted);font-weight:800}.field-row input,.field-row select,.assign input{display:block;width:100%;height:34px;border:1px solid #ccd7e4;border-radius:6px;background:#fff;padding:0 8px;margin-top:3px}.bag-list,.service-list{display:grid;gap:6px}.bag-line,.service-line{display:flex;justify-content:space-between;gap:8px;padding:8px;background:#f5f8fb;border-radius:7px;font-size:10px}.seat-mini{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-height:215px;overflow:auto;padding:5px}.seat-cell{height:27px;border:1px solid #cad6e3;border-radius:5px;background:#fff;font-size:9px;display:grid;place-items:center}.seat-cell.aisle{border:0;background:transparent}.seat-cell.occupied{background:#dce5ef;color:#8693a3}.seat-cell.mine{background:var(--blue);color:#fff;border-color:var(--blue)}.boarding-console{border:1px solid var(--line);border-radius:9px;overflow:hidden}.boarding-input{display:flex;padding:9px;background:var(--nav);gap:7px}.boarding-input input{height:40px;flex:1;border:0;border-radius:6px;padding:0 10px;font-size:14px}.boarding-input button{border:0;border-radius:6px;background:#fff;color:var(--nav);font-weight:900;padding:0 13px}.scan-banner{padding:14px;text-align:center;font-weight:900;font-size:14px;background:#edf2f7}.scan-banner.accepted{background:#d9f5e9;color:#057a56}.scan-banner.warning{background:#fff0d1;color:#955d00}.scan-banner.rejected{background:#fde1e5;color:#b3313e}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}.ops-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.card-head b{display:block;font-size:13px}.hint{font-size:9px;color:var(--muted)}.assign{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:7px;align-items:end}.assign button{height:34px;border:0;border-radius:6px;background:var(--nav);color:#fff;font-weight:800;font-size:10px;padding:0 11px}.events{height:118px;overflow:auto}.event{display:grid;grid-template-columns:62px 90px 1fr 67px;gap:7px;font-size:9px;padding:6px 4px;border-bottom:1px solid #edf1f5;align-items:center}.event time{color:var(--muted)}.event b{font-size:9px}.event .agent{font-weight:850;color:var(--blue);text-align:right}.event .detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-overlay{position:fixed;inset:0;pointer-events:none;display:grid;place-items:center;z-index:50}.scan-result{min-width:350px;max-width:520px;padding:25px;border-radius:15px;box-shadow:0 25px 80px #0005;font-size:20px;font-weight:900;text-align:center;background:#fff}.scan-result.accepted{background:#0e8a61;color:#fff}.scan-result.warning{background:#e49b1c;color:#fff}.scan-result.rejected{background:#c83d49;color:#fff}#toast{position:fixed;right:18px;bottom:18px;background:#10243a;color:#fff;padding:10px 13px;border-radius:8px;font-size:11px;opacity:0;transform:translateY(8px);transition:.18s;z-index:60;max-width:380px}#toast.show{opacity:1;transform:translateY(0)}@media(max-width:1100px){.app-shell{grid-template-columns:250px 1fr}#workspace{min-width:900px}.flight-head{grid-template-columns:1fr 160px 230px}.workspace-grid{grid-template-columns:1fr 330px}.quick-filters{display:none}}@media(max-width:800px){body{overflow:auto}.topbar{position:sticky;top:0;z-index:20}.app-shell{display:block;height:auto}.flight-rail{height:230px}.flight-list{display:flex;overflow:auto}.flight-item{min-width:190px}.top-controls .automation-pill{display:none}main{overflow:visible}#workspace{min-width:0}.flight-head{grid-template-columns:1fr}.flight-clock,.position-card{border-left:0;border-top:1px solid var(--line);padding:8px 0 0}.metrics{grid-template-columns:repeat(2,1fr)}.workspace-grid,.bottom-grid{grid-template-columns:1fr}.left-pane{border-right:0}.right-pane{border-top:1px solid var(--line)}.process{overflow:auto}.step{min-width:100px}.assign{grid-template-columns:1fr 1fr}.app-shell main{min-width:0}}
