:root{--ink: #0B1220;--paper: #0E1626;--panel: #0E1626;--panel2: #111C30;--slate: #1A2436;--line: #222D42;--fog: #8A94A6;--fog2: #5A6577;--white: #F4F6FB;--amber: #FFB23E;--amber-deep: #E8901C;--signal: #3DDC97;--signal-deep: #22B377;--blue: #5B9DFF;--violet: #C792EA;--rose: #FF6B81;--teal: #4DD0C4}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Sora,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--white);background:var(--ink);-webkit-font-smoothing:antialiased}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}button,input,select{font-family:inherit}a{color:inherit;text-decoration:none}.skeleton{background:linear-gradient(90deg,#15203a,#1c2740,#15203a);background-size:200% 100%;animation:shimmer 1.4s infinite linear;border-radius:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes blink{50%{opacity:.3}}@keyframes ping{0%{width:80px;height:80px;opacity:.7}to{width:200px;height:200px;opacity:0}}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.toast{margin-top:12px;padding:10px 14px;border-radius:10px;font-size:12.5px;background:#ff6b811f;color:var(--rose);border:1px solid rgba(255,107,129,.25)}.toast.ok{background:#3ddc971f;color:var(--signal);border-color:#3ddc9740}.mobile-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(1200px 600px at 15% -10%,#14203a 0%,transparent 55%),radial-gradient(1000px 500px at 90% 110%,#122b25 0%,transparent 55%),var(--ink)}.mobile-wrap.top{align-items:flex-start}.screen{width:min(420px,100%);background:var(--paper);border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -20px #000,inset 0 0 0 1px #1c2740;display:flex;flex-direction:column;position:relative}.statusbar{display:flex;justify-content:space-between;align-items:center;padding:14px 24px 4px;font-family:IBM Plex Mono,monospace;font-size:12px;position:sticky;top:0;background:var(--paper);z-index:2}.statusbar .dots{display:flex;gap:4px}.statusbar .dots span{width:5px;height:5px;border-radius:50%;background:var(--white);opacity:.8}.screen-body{flex:1;display:flex;flex-direction:column;padding:8px 28px 28px}.brand{display:flex;flex-direction:column;align-items:flex-start;margin-top:14px}.logo{display:flex;align-items:center;gap:10px}.logo .glyph{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:800;font-size:18px;color:var(--ink)}.logo .name{font-size:22px;font-weight:800;letter-spacing:-.02em}.role-pill{margin-top:16px;display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}.role-pill .led{width:7px;height:7px;border-radius:50%}.headline{margin-top:20px}.headline h2{font-size:25px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.headline p{color:var(--fog);font-size:13.5px;margin-top:8px;line-height:1.5}.role-switch{display:flex;gap:6px;background:#0a1322;border:1px solid var(--line);border-radius:12px;padding:4px;margin-top:14px}.role-switch button{flex:1;background:transparent;border:none;color:var(--fog);font-weight:600;font-size:12px;padding:9px 8px;border-radius:8px;cursor:pointer}.role-switch button.on{background:var(--panel2);color:var(--white)}.form{margin-top:18px;display:flex;flex-direction:column;gap:14px}.field label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fog);margin-bottom:7px;font-weight:500}.field .input{display:flex;align-items:center;gap:10px;background:#0a1322;border:1px solid var(--line);border-radius:14px;padding:14px 15px;transition:border-color .2s}.field .input:focus-within{border-color:var(--accent)}.field .input input{background:none;border:none;outline:none;color:var(--white);font-size:15px;width:100%}.field .input input::placeholder{color:#566276}.field .input .suffix{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--fog)}.cta{margin-top:6px;border:none;border-radius:14px;padding:16px;font-weight:700;font-size:15px;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;transition:transform .12s}.cta:active{transform:translateY(1px)}.cta[disabled]{opacity:.55;cursor:not-allowed}.alt{margin-top:18px;padding-top:16px;display:flex;flex-direction:column;gap:12px}.divider{display:flex;align-items:center;gap:12px;color:var(--fog);font-size:11px}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}.alt-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:#0a1322;border:1px solid var(--line);border-radius:14px;padding:14px;color:var(--white);font-weight:600;font-size:14px;cursor:pointer}.footnote{text-align:center;color:#4c586c;font-size:11px;font-family:IBM Plex Mono,monospace}.worker{--accent: var(--amber)}.worker .logo .glyph{background:linear-gradient(135deg,var(--amber),var(--amber-deep))}.worker .role-pill{background:#ffb23e1f;color:var(--amber);border:1px solid rgba(255,178,62,.25)}.worker .role-pill .led{background:var(--amber);box-shadow:0 0 8px var(--amber)}.worker .cta{background:linear-gradient(135deg,var(--amber),var(--amber-deep));box-shadow:0 12px 30px -10px var(--amber-deep)}.driver{--accent: var(--signal)}.driver .logo .glyph{background:linear-gradient(135deg,var(--signal),var(--signal-deep))}.driver .role-pill{background:#3ddc971f;color:var(--signal);border:1px solid rgba(61,220,151,.25)}.driver .role-pill .led{background:var(--signal);box-shadow:0 0 8px var(--signal)}.driver .cta{background:linear-gradient(135deg,var(--signal),var(--signal-deep));box-shadow:0 12px 30px -10px var(--signal-deep)}.supervisor{--accent: var(--blue)}.supervisor .logo .glyph{background:linear-gradient(135deg,var(--blue),#3a6fd8);color:#fff}.supervisor .role-pill{background:#5b9dff1f;color:var(--blue);border:1px solid rgba(91,157,255,.25)}.supervisor .role-pill .led{background:var(--blue);box-shadow:0 0 8px var(--blue)}.supervisor .cta{background:linear-gradient(135deg,var(--blue),#3a6fd8);color:#fff;box-shadow:0 12px 30px -10px #3a6fd8}.shift-strip{margin-top:16px;background:#0a1322;border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:14px}.shift-strip .clock{font-family:IBM Plex Mono,monospace;font-size:26px;font-weight:600;color:var(--amber);line-height:1}.shift-strip .meta{font-size:11.5px;color:var(--fog);line-height:1.45}.shift-strip .meta b{color:var(--white);font-weight:600}.topbar{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.iconbtn{width:34px;height:34px;border-radius:10px;background:#0a1322;border:1px solid var(--line);display:grid;place-items:center;cursor:pointer}.idcard{margin-top:20px;border-radius:22px;padding:22px;position:relative;overflow:hidden;background:linear-gradient(150deg,#1b2438,#0d1525);border:1px solid var(--line)}.idcard:before{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,178,62,.22),transparent 70%)}.idcard .eyebrow{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.24em;color:var(--amber);text-transform:uppercase}.id-main{display:flex;gap:16px;align-items:center;margin-top:14px}.avatar{width:78px;height:78px;border-radius:18px;flex:none;background:linear-gradient(135deg,#37425a,#222b3e);border:2px solid rgba(255,178,62,.4);display:grid;place-items:center;font-size:30px;font-weight:700;color:#aeb8cc;position:relative}.avatar .verify{position:absolute;bottom:-6px;right:-6px;width:24px;height:24px;border-radius:50%;background:var(--amber);display:grid;place-items:center;border:3px solid var(--paper)}.id-name h3{font-size:21px;font-weight:700}.id-name .sub{font-size:12.5px;color:var(--fog);margin-top:3px}.id-meta{display:flex;margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.id-meta .cell{flex:1}.id-meta .cell+.cell{border-left:1px solid var(--line);padding-left:14px}.id-meta .k{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fog)}.id-meta .v{font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:600;margin-top:4px}.section-h{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fog);margin:24px 0 12px;font-weight:500}.shift-card{background:#0a1322;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;align-items:center;gap:14px}.shift-card .when{font-family:IBM Plex Mono,monospace;font-size:24px;font-weight:600;color:var(--amber);line-height:1}.shift-card .info{font-size:12px;color:var(--fog);line-height:1.5}.shift-card .info b{color:var(--white);font-weight:600}.tap-cta{margin-top:auto;border:none;border-radius:16px;padding:17px;font-weight:700;font-size:15px;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,var(--amber),var(--amber-deep));box-shadow:0 14px 32px -10px var(--amber-deep)}.nfc-body{align-items:center;text-align:center}.nfc-head{margin-top:24px}.nfc-head h2{font-size:23px;font-weight:700}.nfc-head p{color:var(--fog);font-size:13px;margin-top:8px;line-height:1.5;max-width:280px}.radar{margin:28px auto 0;width:200px;height:200px;position:relative;display:grid;place-items:center}.radar .ring{position:absolute;border-radius:50%;border:2px solid var(--amber);opacity:0;animation:ping 2.4s ease-out infinite}.radar .ring:nth-child(2){animation-delay:.8s}.radar .ring:nth-child(3){animation-delay:1.6s}.radar .core{width:92px;height:92px;border-radius:50%;background:linear-gradient(135deg,var(--amber),var(--amber-deep));display:grid;place-items:center;box-shadow:0 0 40px -4px var(--amber);z-index:2}.status-line{margin-top:18px;font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--amber);display:flex;align-items:center;gap:8px}.status-line .pulse{width:8px;height:8px;border-radius:50%;background:var(--amber);animation:blink 1.2s infinite}.nfc-instruction{margin-top:28px;background:#0a1322;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;text-align:left;width:100%}.nfc-instruction .num{width:26px;height:26px;border-radius:8px;background:#ffb23e24;color:var(--amber);font-weight:700;font-size:13px;display:grid;place-items:center;flex:none}.nfc-instruction span{font-size:12.5px;color:var(--fog);line-height:1.4}.nfc-instruction b{color:var(--white)}.qr-fallback{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:9px;background:#0a1322;border:1px solid var(--line);border-radius:14px;padding:13px;color:var(--white);font-weight:600;font-size:13.5px;cursor:pointer;width:100%}.qr-display{margin-top:24px;background:#fff;padding:22px;border-radius:18px;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.qr-display img{width:100%;max-width:220px;height:auto}.qr-display .code-line{color:#111;font-family:IBM Plex Mono,monospace;font-size:12px}.route-head{display:flex;justify-content:space-between;align-items:flex-end;margin-top:22px}.route-head .r-id{font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--signal);font-weight:600}.route-head h2{font-size:20px;font-weight:700;margin-top:4px}.route-head .stop-now{text-align:right;font-size:11px;color:var(--fog)}.route-head .stop-now b{display:block;color:var(--white);font-size:13px;font-weight:600;font-family:IBM Plex Mono,monospace}.count-hero{margin-top:20px;border-radius:22px;padding:24px;text-align:center;position:relative;overflow:hidden;background:linear-gradient(150deg,#13352a,#0c1c1a);border:1px solid rgba(61,220,151,.3)}.count-hero .label{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--signal)}.count-hero .big{font-size:62px;font-weight:800;letter-spacing:-.03em;line-height:1;margin-top:6px}.count-hero .big .of{color:var(--fog);font-weight:600;font-size:30px}.count-hero .delta{margin-top:10px;display:inline-flex;align-items:center;gap:7px;font-size:12px;background:#3ddc9724;color:var(--signal);padding:5px 12px;border-radius:999px;font-weight:600}.scanner{margin-top:18px;border-radius:18px;border:2px dashed rgba(61,220,151,.45);background:#0a1322;padding:18px;display:flex;align-items:center;gap:16px;cursor:pointer}.scanner .wave{width:60px;height:60px;border-radius:14px;flex:none;background:#3ddc971a;display:grid;place-items:center}.scanner .text h4{font-size:15px;font-weight:700}.scanner .text p{font-size:11.5px;color:var(--fog);margin-top:3px;line-height:1.4}.feed{margin-top:18px}.feed .feed-h{display:flex;justify-content:space-between;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fog);margin-bottom:10px}.boarded{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--line)}.boarded .pic{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#37425a,#222b3e);display:grid;place-items:center;font-size:13px;font-weight:700;color:#aeb8cc;flex:none}.boarded .who{flex:1}.boarded .who .n{font-size:13.5px;font-weight:600}.boarded .who .t{font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--fog)}.boarded .ok{width:22px;height:22px;border-radius:50%;background:#3ddc9729;display:grid;place-items:center;flex:none}.driver-cta{margin-top:14px;border:none;border-radius:16px;padding:16px;font-weight:700;font-size:15px;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,var(--signal),var(--signal-deep));box-shadow:0 14px 32px -10px var(--signal-deep)}.scan-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080ff0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:16px}.scan-modal video{width:100%;max-width:340px;border-radius:16px;background:#000}.scan-ph{width:100%;max-width:340px;height:260px;border:2px dashed rgba(61,220,151,.5);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--fog)}.scan-status{font-size:13px;color:var(--white);text-align:center;max-width:320px}.manual-entry{width:100%;max-width:340px}.manual-entry input{width:100%;background:#0a1322;border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--white);font-family:IBM Plex Mono,monospace;font-size:12px;margin-bottom:8px}.console{background:#080d17;min-height:100dvh}.app{display:flex;min-height:100dvh}.side{width:230px;background:#0a111e;border-right:1px solid var(--line);padding:22px 14px;position:sticky;top:0;height:100dvh;flex:none;display:flex;flex-direction:column}.side .s-brand{display:flex;align-items:center;gap:10px;padding:0 8px 22px;border-bottom:1px solid var(--line)}.side .s-brand .glyph{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--blue),#3a6fd8);display:grid;place-items:center;font-weight:800;font-size:16px;color:#fff}.side .s-brand .nm{font-size:18px;font-weight:800}.side .s-brand .role{font-size:10px;color:var(--fog);letter-spacing:.18em;text-transform:uppercase;margin-top:2px}.nav{margin-top:16px;display:flex;flex-direction:column;gap:3px;flex:1}.nav .lbl{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--fog2);padding:14px 10px 6px}.nav button{display:flex;align-items:center;gap:11px;background:none;border:none;color:var(--fog);font-size:13.5px;font-weight:500;padding:10px 11px;border-radius:9px;cursor:pointer;width:100%;text-align:left;transition:.15s}.nav button:hover{background:#101a2c;color:var(--white)}.nav button.active{background:linear-gradient(135deg,#5b9dff29,#5b9dff0d);color:#fff;box-shadow:inset 0 0 0 1px #5b9dff4d}.nav button .ico{width:18px;display:grid;place-items:center;flex:none}.me{display:flex;align-items:center;gap:10px;padding:12px 8px 0;border-top:1px solid var(--line);margin-top:8px}.me .pf{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#37425a,#222b3e);display:grid;place-items:center;font-size:12px;font-weight:700;color:#aeb8cc}.me .nm{font-size:12.5px;font-weight:600}.me .sub{font-size:10px;color:var(--fog)}.me .logout{margin-left:auto;background:transparent;border:0;color:var(--fog);cursor:pointer}.me .logout:hover{color:var(--white)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.c-topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--line);background:#0a111e;position:sticky;top:0;z-index:10}.c-topbar h1{font-size:20px;font-weight:700}.c-topbar .crumb{font-size:11px;color:var(--fog);margin-top:3px}.c-topbar .right{display:flex;align-items:center;gap:14px}.livebadge{display:flex;align-items:center;gap:7px;background:#3ddc971f;border:1px solid rgba(61,220,151,.3);color:var(--signal);font-size:11px;font-weight:600;padding:6px 12px;border-radius:999px}.livebadge .d{width:7px;height:7px;border-radius:50%;background:var(--signal);animation:blink 1.3s infinite}.datepick{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);padding:7px 13px;border-radius:9px;font-size:12px}.canvas{padding:24px 28px 40px;flex:1;animation:fade .25s}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(4,1fr);margin-bottom:20px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;position:relative;overflow:hidden}.kpi .k{font-size:11px;color:var(--fog);letter-spacing:.06em;text-transform:uppercase}.kpi .v{font-size:30px;font-weight:800;letter-spacing:-.02em;margin-top:8px}.kpi .v small{font-size:15px;color:var(--fog);font-weight:600}.kpi .trend{font-size:11px;margin-top:8px;display:inline-flex;align-items:center;gap:5px;font-weight:600}.kpi .bar{position:absolute;left:0;top:0;width:4px;height:100%}.up{color:var(--signal)}.down{color:var(--rose)}.warn{color:var(--amber)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}.panel h3{font-size:14px;font-weight:700;margin-bottom:4px}.ph-sub{font-size:11.5px;color:var(--fog);margin-bottom:16px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.panel-head h3{margin:0}.seg{display:flex;gap:4px;background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:3px}.seg button{background:none;border:none;color:var(--fog);font-size:11px;font-weight:600;padding:5px 11px;border-radius:6px;cursor:pointer}.seg button.on{background:var(--panel2);color:#fff}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fog);font-weight:600;padding:0 12px 12px}td{padding:13px 12px;border-top:1px solid var(--line);font-size:13px;vertical-align:middle}.who-cell{display:flex;align-items:center;gap:11px}.who-cell .pf{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#37425a,#222b3e);display:grid;place-items:center;font-size:12px;font-weight:700;color:#aeb8cc;flex:none}.who-cell .nm{font-weight:600;font-size:13px}.who-cell .sub{font-size:10.5px;color:var(--fog)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px}.chip.green{background:#3ddc9721;color:var(--signal)}.chip.amber{background:#ffb23e21;color:var(--amber)}.chip.rose{background:#ff6b8121;color:var(--rose)}.chip.blue{background:#5b9dff21;color:var(--blue)}.chip.grey{background:#172033;color:var(--fog)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.prog{height:7px;border-radius:4px;background:#172033;overflow:hidden}.prog i{display:block;height:100%;border-radius:4px}.fleet-grid{grid-template-columns:repeat(3,1fr)}.bus{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}.bus .bh{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.bus .route{font-weight:700;font-size:15px}.bus .driver{font-size:11px;color:var(--fog);margin-top:2px}.bus .gauge{display:flex;align-items:baseline;gap:6px;margin:12px 0 6px}.bus .gauge .n{font-size:28px;font-weight:800}.bus .gauge .of{font-size:14px;color:var(--fog);font-weight:600}.bus .stops{display:flex;align-items:center;margin-top:14px}.bus .stops .s{width:9px;height:9px;border-radius:50%;border:2px solid var(--signal);flex:none}.bus .stops .s.done{background:var(--signal)}.bus .stops .s.miss{border-color:var(--rose);background:var(--rose)}.bus .stops .ln{height:2px;flex:1;background:var(--line)}.bus .stops .ln.done{background:var(--signal)}.bus .meta{display:flex;justify-content:space-between;font-size:10.5px;color:var(--fog);margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.scorebar{display:flex;align-items:center;gap:10px}.scorecircle{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:15px;flex:none}.breakdown{display:flex;gap:6px;flex-wrap:wrap}.breakdown .b{font-size:9.5px;color:var(--fog);background:#141d2e;border:1px solid var(--line);padding:3px 7px;border-radius:5px}.breakdown .b b{color:var(--white)}.scoretrack{flex:1;height:7px;border-radius:4px;background:#172033;overflow:hidden}.scoretrack i{display:block;height:100%}.scoreval{font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;width:38px;text-align:right}.sched{display:grid;grid-template-columns:170px repeat(7,1fr);gap:8px}.sched .corner{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fog);display:flex;align-items:flex-end;padding-bottom:8px}.sched .day{text-align:center;font-size:11px;font-weight:600;padding:8px 0}.sched .day small{display:block;color:var(--fog);font-weight:400;font-size:10px;margin-top:2px}.sched .wname{display:flex;align-items:center;gap:9px;padding:8px 0}.sched .wname .pf{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#37425a,#222b3e);display:grid;place-items:center;font-size:11px;font-weight:700;color:#aeb8cc;flex:none}.sched .wname .nm{font-size:12px;font-weight:600}.sched .wname .sc{font-size:10px;color:var(--signal);font-family:IBM Plex Mono,monospace}.cell{border-radius:8px;padding:8px 6px;text-align:center;font-size:10.5px;font-weight:600;min-height:46px;display:flex;flex-direction:column;justify-content:center;gap:2px}.cell.assigned{background:#3ddc9721;color:var(--signal);border:1px solid rgba(61,220,151,.25)}.cell.proposed{background:#5b9dff1f;color:var(--blue);border:1px dashed rgba(91,157,255,.4)}.cell.rest{background:#0d1322;color:var(--fog2);border:1px solid var(--line)}.cell.off{background:#141d2e;color:var(--fog2)}.cell small{font-size:9px;font-weight:400;opacity:.85}.barchart{display:flex;align-items:flex-end;gap:10px;height:180px;padding-top:10px}.barchart .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}.barchart .stack{width:100%;max-width:38px;border-radius:6px 6px 0 0;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.barchart .stack .turn{background:var(--signal)}.barchart .stack .drop{background:var(--rose)}.barchart .lbl{font-size:10px;color:var(--fog)}.legend{display:flex;gap:16px;font-size:11px;color:var(--fog);margin-top:8px}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}.two{grid-template-columns:1fr 1fr}.l2r1{grid-template-columns:1.6fr 1fr}.mini{font-size:11px;color:var(--fog)}.right-num{text-align:right;font-family:IBM Plex Mono,monospace;font-weight:600}.insight{display:flex;gap:12px;background:#5b9dff12;border:1px solid rgba(91,157,255,.2);border-radius:12px;padding:14px 16px;margin-bottom:16px}.insight .ic{width:34px;height:34px;border-radius:9px;background:#5b9dff26;display:grid;place-items:center;flex:none}.insight .tx{font-size:12.5px;line-height:1.5;color:#c7d2e4}.insight .tx b{color:#fff}@media (max-width: 1000px){.side{width:64px;padding:14px 6px}.side .s-brand div,.nav .lbl,.nav button span:not(.ico),.me>div:not(.pf){display:none}.nav button{justify-content:center}.kpis{grid-template-columns:repeat(2,1fr)}.fleet-grid,.two,.l2r1{grid-template-columns:1fr}}
