:root{--bg:#06101a;--panel:#0b1925;--panel2:#0e2231;--line:#1f3b4e;--text:#ecf6fc;--muted:#86a0b2;--blue:#4db8ff;--red:#ff5b64;--amber:#ffc857;--green:#62e6a4;--purple:#ba88ff;--shadow:0 16px 42px rgba(0,0,0,.28)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;height:100%;overflow:hidden}button,input,select{font:inherit}.boot{height:100vh;display:grid;place-items:center;align-content:center;gap:14px}.boot img{width:76px;height:76px;border-radius:20px}.game{height:100vh;display:grid;grid-template-rows:auto 1fr;background:radial-gradient(circle at 50% -10%,#123048 0,#07111b 42%)}.topbar{height:64px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:8px 14px;border-bottom:1px solid #173244;background:rgba(6,16,26,.96);z-index:1000}.brand{display:flex;align-items:center;gap:10px}.brand a{width:38px;height:38px;border:1px solid #28465a;border-radius:12px;display:grid;place-items:center;color:#fff;text-decoration:none;font-size:20px}.brand img{width:38px;height:38px;border-radius:12px}.brand div{display:flex;flex-direction:column}.brand b{font-size:14px}.brand small{font-size:9px;color:var(--blue);letter-spacing:.12em}.shift-stats{display:flex;justify-content:center;gap:18px}.stat{display:flex;flex-direction:column;align-items:center;min-width:70px}.stat span{font-size:9px;color:var(--muted);letter-spacing:.1em}.stat b{font-size:16px}.rep.good{color:var(--green)}.rep.bad{color:var(--red)}.speed{display:flex;gap:6px}.speed button,.icon-btn{border:1px solid #2b5066;background:#0b1c29;color:#dff4ff;border-radius:9px;padding:8px 10px;font-weight:800;font-size:11px;cursor:pointer}.speed button.active{background:#174461;border-color:#4db8ff}.workspace{min-height:0;display:grid;grid-template-columns:290px minmax(0,1fr) 350px;gap:8px;padding:8px}.sidebar,.rightbar{min-height:0;border:1px solid #18384b;background:rgba(7,20,30,.92);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.panel-head{padding:12px 13px;border-bottom:1px solid #1b3a4d;display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-head b{font-size:12px}.panel-head small{font-size:9px;color:var(--muted)}.units{padding:8px;overflow:auto;display:flex;flex-direction:column;gap:7px}.unit{border:1px solid #1d3c4e;background:#0b1b28;border-radius:12px;padding:9px;display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;cursor:pointer;text-align:left;color:inherit}.unit.selected{border-color:#67c8ff;box-shadow:0 0 0 1px #67c8ff inset;background:#0e2940}.unit.busy{opacity:.82}.unit .uicon{font-size:24px}.unit b{font-size:11px}.unit small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.unit em{font-style:normal;font-size:9px;color:#9ad9ff}.unit .status{font-size:8px;text-transform:uppercase;color:var(--green);font-weight:900}.unit .status.busy{color:var(--amber)}.mapwrap{position:relative;min-width:0;border:1px solid #18384b;border-radius:16px;overflow:hidden;background:#07131e}.map{height:100%;width:100%;z-index:1}.map-overlay{position:absolute;left:12px;top:12px;z-index:500;display:flex;flex-direction:column;gap:7px;pointer-events:none}.map-chip{background:rgba(5,15,24,.9);border:1px solid #294b60;border-radius:10px;padding:7px 9px;font-size:10px;box-shadow:var(--shadow)}.map-chip b{color:#fff}.map-chip span{color:var(--muted)}.right-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:7px;gap:5px;border-bottom:1px solid #19384a}.right-tabs button{border:1px solid #1e3d50;background:#091824;color:#8fa9ba;border-radius:8px;padding:8px 5px;font-size:9px;font-weight:900;cursor:pointer}.right-tabs button.active{background:#11324a;color:#fff;border-color:#3c83ac}.feed{min-height:0;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:7px}.incident-card{border:1px solid #244658;border-left:4px solid var(--blue);background:#0b1b27;border-radius:11px;padding:9px;cursor:pointer}.incident-card.call{border-left-color:var(--green)}.incident-card.critical{border-left-color:var(--red)}.incident-card.selected{outline:1px solid #fff5}.incident-card .row{display:flex;justify-content:space-between;gap:8px}.incident-card b{font-size:11px}.incident-card p{margin:5px 0;color:#bad0dc;font-size:10px;line-height:1.4}.tags{display:flex;gap:4px;flex-wrap:wrap}.tag{font-size:8px;padding:3px 5px;border:1px solid #2a4d61;border-radius:999px;color:#9fc0d0}.tag.police{color:#78c8ff}.tag.medical{color:#7ff0be}.tag.fire{color:#ff9f76}.timer{height:4px;background:#122c3b;border-radius:6px;overflow:hidden;margin-top:7px}.timer i{height:100%;display:block;background:var(--amber)}.timer.danger i{background:var(--red)}.detail{padding:10px;overflow:auto;min-height:0}.detail-empty{display:grid;place-items:center;height:100%;color:var(--muted);text-align:center;padding:24px}.detail h2{font-size:17px;margin:4px 0}.detail .meta{font-size:9px;color:var(--muted)}.detail .desc{font-size:11px;line-height:1.5;color:#c8d9e2;background:#0a1a27;border:1px solid #1a3c4f;border-radius:10px;padding:9px;margin:9px 0}.dispatch-box{display:flex;gap:6px;margin:8px 0}.primary,.danger,.secondary{border:0;border-radius:10px;padding:10px 12px;font-weight:900;font-size:10px;cursor:pointer}.primary{background:#4db8ff;color:#04121c;flex:1}.danger{background:#5b1b25;color:#ffc5ca;border:1px solid #9f3544}.secondary{background:#102836;color:#cfe8f5;border:1px solid #285166}.scene-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.scene-el{background:#091a25;border:1px solid #1d3b4c;border-radius:10px;padding:8px}.scene-el .row{display:flex;justify-content:space-between;gap:8px}.scene-el b{font-size:10px}.scene-el small{font-size:8px;color:var(--muted)}.scene-el.blocked{opacity:.55}.scene-el.done{border-color:#2c7258}.scene-el.failed{border-color:#8b3340}.progress{height:5px;background:#132b39;border-radius:8px;overflow:hidden;margin-top:6px}.progress i{display:block;height:100%;background:var(--blue)}.dialog{display:flex;flex-direction:column;gap:8px}.caller{background:#13291f;border:1px solid #28583f;border-radius:12px;padding:10px}.caller small{color:#79d7a5;font-size:8px;font-weight:900}.caller p{font-size:11px;line-height:1.5;margin:6px 0 0}.transcript{max-height:150px;overflow:auto;display:flex;flex-direction:column;gap:5px}.line{font-size:9px;padding:6px 8px;border-radius:8px;background:#0a1b28}.line.operator{margin-left:18px;border-right:2px solid var(--blue)}.line.caller{margin-right:18px;border-left:2px solid var(--green)}.options{display:flex;flex-direction:column;gap:6px}.options button{background:#0e293a;border:1px solid #27516a;color:#e9f7ff;border-radius:10px;padding:9px;text-align:left;font-size:10px;cursor:pointer}.options button:hover{border-color:#54b8e9}.ringing{animation:ring 1s infinite}@keyframes ring{50%{box-shadow:0 0 0 2px rgba(98,230,164,.22)}}.setup{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 10%,#163c55,#06101a 60%)}.setup-card{width:min(760px,100%);background:#091a27;border:1px solid #25475b;border-radius:22px;padding:24px;box-shadow:var(--shadow)}.setup-card .logo{width:64px;height:64px;border-radius:18px}.setup-card h1{font-size:32px;margin:12px 0 6px}.setup-card p{color:#a7becb;line-height:1.55}.setup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.setup-grid button{background:#0c2231;color:white;border:1px solid #2b5066;border-radius:14px;padding:16px;cursor:pointer}.setup-grid button:hover{border-color:#4db8ff}.setup-grid b{display:block;font-size:20px}.setup-grid span{font-size:9px;color:#8fa9ba}.how{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.how div{background:#071721;border:1px solid #17384a;border-radius:12px;padding:10px}.how b{font-size:10px}.how p{font-size:9px;margin:4px 0;color:#8fa9ba}.summary{max-height:80vh;overflow:auto}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.summary-grid div{background:#071721;border:1px solid #1c3c4e;border-radius:12px;padding:12px;text-align:center}.summary-grid b{font-size:22px}.summary-grid small{display:block;color:var(--muted);font-size:8px}.log{font-size:9px;color:#9bb4c1;max-height:130px;overflow:auto;background:#06141e;border-radius:10px;padding:8px}.leaflet-container{background:#0b1c29}.leaflet-control-attribution{font-size:8px!important;background:rgba(255,255,255,.82)!important}.unit-marker,.incident-marker{display:grid;place-items:center;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 10px #0008}.unit-marker{width:30px;height:30px;background:#0e2432;font-size:17px}.incident-marker{width:32px;height:32px;background:#8d2d3a;font-size:16px}.incident-marker.callm{background:#146640}.incident-marker.searchm{background:#6b4d16}.incident-marker.selected{box-shadow:0 0 0 5px rgba(77,184,255,.35),0 2px 10px #0008}.leaflet-tooltip.operator-tip{background:#07141d;color:#e9f8ff;border:1px solid #26495c;font-size:9px;box-shadow:none}.leaflet-tooltip.operator-tip:before{display:none}
@media(max-width:1100px){.workspace{grid-template-columns:240px 1fr 310px}.shift-stats{gap:8px}.stat{min-width:55px}.brand div{display:none}}
@media(max-width:760px){html,body{overflow:auto;height:auto}.game{height:auto;min-height:100vh;display:block}.topbar{position:sticky;top:0;height:auto;min-height:58px;grid-template-columns:1fr auto;z-index:1500}.brand{min-width:0}.brand div{display:flex}.brand b{font-size:11px}.shift-stats{grid-column:1/-1;order:3;justify-content:space-between;padding-top:7px}.stat{min-width:auto}.speed{grid-column:2;grid-row:1}.workspace{display:flex;flex-direction:column;padding:6px;gap:6px}.mapwrap{height:48vh;min-height:330px;order:1}.sidebar{order:2;max-height:none}.units{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.unit{grid-template-columns:28px 1fr}.unit .status{grid-column:2}.rightbar{order:3;min-height:520px}.feed,.detail{overflow:visible}.right-tabs{position:sticky;top:96px;z-index:1200;background:#071722}.setup-grid,.how,.summary-grid{grid-template-columns:1fr}.setup-card{padding:18px}.setup-card h1{font-size:27px}.dispatch-box{position:sticky;bottom:8px;z-index:1300;background:#07131ee8;padding:6px;border-radius:12px}.transcript{max-height:none;overflow:visible}}

/* v5.2.1 — Career/fleet runtime unchanged; Windows release-check hotfix */
.back-game{width:38px;height:38px;border:1px solid #28465a;border-radius:12px;display:grid;place-items:center;color:#fff;background:#091824;font-size:20px;cursor:pointer}.unit i{display:block;margin-top:3px;font-style:normal;font-size:8px;color:#718d9e}.workspace{grid-template-columns:300px minmax(0,1fr) 395px}.rightbar{min-width:0}.right-tabs button{font-size:10px;padding:10px 6px}.incident-card{padding:11px}.incident-card b{font-size:12px}.incident-card p{font-size:11px}.team-state{margin:9px 0;padding:8px;border:1px solid #214558;border-radius:10px;background:#071721}.team-state> b{display:block;font-size:8px;letter-spacing:.09em;color:#8ea7b6;margin-bottom:6px}.team-state>div{display:flex;gap:5px;flex-wrap:wrap}.team-state.compact{padding:6px 7px;margin:7px 0 0}.team-state.compact> b{margin-bottom:4px}.team-state.empty span{font-size:9px;color:#7891a1}.team-chip{font-size:8px;padding:4px 6px;border-radius:999px;border:1px solid #294c5f;background:#0c2230}.team-chip.onsite{color:#7df0b2;border-color:#2d7053}.team-chip.road{color:#88d3ff;border-color:#285a76}.call-feed .incident-card{padding:14px}.call-feed .incident-card b{font-size:14px}.call-feed .incident-card p{font-size:12px;line-height:1.5}.call-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.call-heading span{font-size:8px;letter-spacing:.12em;color:#66dba0;font-weight:900}.call-heading h2{font-size:20px;margin:3px 0}.call-heading small{font-size:10px;color:#8ea7b6}.caller{padding:14px}.caller small{font-size:9px}.caller p{font-size:14px;line-height:1.6}.transcript{max-height:220px;gap:7px}.line{font-size:11px;padding:9px 10px;line-height:1.45}.options{gap:8px}.options button{font-size:13px;line-height:1.45;padding:13px 12px;min-height:52px}.dialog .dispatch-box{margin:10px 0}.dialog .primary,.dialog .secondary{font-size:11px;padding:12px}.unit-marker.police{background:#12334a}.unit-marker.medical{background:#123a2a}.unit-marker.fire{background:#4a2618}
.setup-wide{width:min(1180px,100%);padding:22px}.setup-hero{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.setup-hero>div:nth-child(2) small{color:#4db8ff;font-weight:900;letter-spacing:.13em}.setup-hero h1{margin:5px 0 3px}.setup-hero h1 span{color:#4db8ff}.setup-hero p{margin:0}.career-wallet{min-width:190px;background:#071721;border:1px solid #285166;border-radius:15px;padding:12px;text-align:right}.career-wallet span{display:block;font-size:8px;color:#8ea7b6;letter-spacing:.1em}.career-wallet b{display:block;font-size:24px;color:#6fe6aa}.career-wallet small{font-size:9px;color:#7f99aa}.setup-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);gap:12px;margin-top:16px}.career-panel,.garage-panel{background:#071721;border:1px solid #17384a;border-radius:16px;padding:13px;min-width:0}.section-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.section-title b{font-size:13px}.section-title small{display:block;color:#819bab;font-size:9px;margin-top:3px}.section-title>span{font-size:9px;color:#7ddfb0;background:#0d2a20;border:1px solid #285b47;border-radius:999px;padding:5px 7px;white-space:nowrap}.fleet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fleet-service{background:#091c29;border:1px solid #1b3a4c;border-radius:12px;padding:9px}.fleet-service h3{font-size:10px;margin:0 0 7px}.fleet-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:6px;padding:7px 0;border-top:1px solid #173344}.fleet-row:first-of-type{border-top:0}.garage-icon{font-size:20px}.fleet-row b{font-size:9px}.fleet-row small{display:block;font-size:8px;color:#819aaa}.stepper{display:grid;grid-template-columns:28px 25px 28px;align-items:center;text-align:center}.stepper button{height:28px;border:1px solid #31556a;background:#0d2838;color:#fff;border-radius:7px;font-weight:900;cursor:pointer}.stepper b{font-size:11px}.region-note{display:flex;gap:10px;align-items:center;background:#0c2130;border:1px dashed #31536a;border-radius:11px;padding:9px 10px;margin:10px 0}.region-note b{font-size:9px;white-space:nowrap}.region-note span{font-size:9px;color:#9ab2bf;line-height:1.45}.duration-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.duration-title>b{font-size:11px}.duration-title select{max-width:330px}.shop-list{display:flex;flex-direction:column;gap:6px;max-height:445px;overflow:auto;padding-right:2px}.shop-card{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;border:1px solid #1e4053;background:#091c29;border-radius:11px;padding:8px}.shop-card.locked{opacity:.58}.shop-icon{font-size:22px}.shop-card b{font-size:10px}.shop-card small,.shop-card em{display:block;font-size:8px;color:#839dad;font-style:normal}.shop-card em{color:#76d7ab;margin-top:2px}.shop-card button{border:1px solid #327255;background:#0f3225;color:#7cf0b7;border-radius:8px;padding:8px;font-size:9px;font-weight:900;cursor:pointer}.shop-card button:disabled{cursor:not-allowed}.reset-career{width:100%;margin-top:8px;border:1px solid #5c2930;background:#271118;color:#d98c95;border-radius:9px;padding:8px;font-size:8px;font-weight:900;cursor:pointer}.legal{font-size:8px;color:#6f8998;margin:12px 0 0!important}.muted{font-size:9px!important;color:#718a9a!important}.reward-card{margin:14px 0;background:#0b2a1e;border:1px solid #2d7153;border-radius:14px;padding:14px;text-align:center}.reward-card span{font-size:8px;letter-spacing:.12em;color:#8ed9b7}.reward-card b{display:block;font-size:28px;color:#70edb2;margin:4px}.reward-card small{font-size:9px;color:#90b5a5}.summary-kicker{color:#4db8ff;font-weight:900}.summary{width:min(820px,100%)}
@media(max-width:1100px){.workspace{grid-template-columns:240px 1fr 320px}.setup-columns{grid-template-columns:1fr}.fleet-grid{grid-template-columns:repeat(3,1fr)}.shop-list{max-height:none}.setup-wide{max-height:none}.call-heading h2{font-size:18px}.options button{font-size:12px}}
@media(max-width:760px){.workspace{display:flex}.mapwrap{height:43vh;min-height:300px}.rightbar{min-height:600px}.units{grid-template-columns:1fr}.setup{padding:10px}.setup-wide{padding:13px}.setup-hero{grid-template-columns:auto 1fr}.career-wallet{grid-column:1/-1;text-align:left;display:grid;grid-template-columns:1fr auto;align-items:center}.career-wallet small{grid-column:1/-1}.setup-columns{display:block}.garage-panel{margin-top:10px}.fleet-grid{grid-template-columns:1fr}.duration-title{display:block}.duration-title select{margin-top:7px;max-width:none;width:100%}.setup-grid{grid-template-columns:1fr}.call-feed .incident-card{padding:13px}.call-feed .incident-card b{font-size:15px}.caller p{font-size:15px}.options button{font-size:14px;min-height:58px}.right-tabs{top:108px}.team-chip{font-size:9px}.dispatch-box{position:sticky;bottom:8px}.topbar{padding-bottom:7px}.shift-stats{overflow-x:auto;justify-content:flex-start;gap:16px}.stat{min-width:72px}.shop-list{max-height:none}.setup-card h1{font-size:25px}}

/* v5.2.2 incident readability + alert + unit declutter */
.game-notice{position:fixed;z-index:1800;top:76px;left:50%;transform:translateX(-50%);width:min(520px,calc(100vw - 24px));border:1px solid #39718e;border-radius:14px;background:rgba(6,20,30,.97);color:#effaff;padding:11px 14px;box-shadow:0 12px 36px #0009;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;text-align:left;cursor:pointer;animation:notice-in .25s ease-out,notice-pulse 1.2s ease-in-out infinite}
.game-notice[hidden]{display:none}.game-notice b{font-size:10px;letter-spacing:.08em}.game-notice span{font-size:11px;font-weight:800}.game-notice small{font-size:8px;color:#9ab4c3}.game-notice.call{border-color:#3ecf91;box-shadow:0 12px 36px #0009,0 0 0 1px rgba(62,207,145,.16)}.game-notice.incident{border-color:#ff6879;box-shadow:0 12px 36px #0009,0 0 0 1px rgba(255,104,121,.18)}
@keyframes notice-in{from{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes notice-pulse{50%{filter:brightness(1.12)}}
.right-tabs button.attention{border-color:#49db9b;color:#dffff0;animation:tab-call 1s ease-in-out infinite}.right-tabs button.attention-danger{border-color:#ff6577;color:#ffd8dd;animation:tab-danger 1s ease-in-out infinite}@keyframes tab-call{50%{background:#174735;box-shadow:inset 0 0 0 1px #55d9a1}}@keyframes tab-danger{50%{background:#4a1822;box-shadow:inset 0 0 0 1px #ff6d7e}}
.new-badge{font-style:normal;font-size:7px;vertical-align:2px;margin-left:5px;padding:2px 5px;border-radius:999px;background:#2b976d;color:white;letter-spacing:.08em}.incident-card.call.unseen{border-color:#3cb57f;box-shadow:0 0 0 1px rgba(60,181,127,.16) inset}
.need-state{margin:9px 0;padding:8px;border:1px solid #244b60;background:#081b27;border-radius:10px}.need-state.compact{margin:7px 0 0;padding:6px 7px}.need-state.attention{border-color:#a34a58;background:#28131a;animation:need-pulse 1.3s ease-in-out infinite}.need-state>b{display:block;font-size:8px;letter-spacing:.09em;color:#91afbf;margin-bottom:5px}.need-state.attention>b{color:#ff9eaa}.need-state>div{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.need-state>small{display:block;margin-top:6px;font-size:8px;color:#ffc1c8}.need-chip{font-size:8px;padding:3px 6px;border-radius:999px;border:1px solid #31576c;background:#0d2735}.need-chip.police{color:#7fcdff}.need-chip.medical{color:#7cebad}.need-chip.fire{color:#ffab84}.need-chip.later{opacity:.55}.need-arrow{font-size:7px;color:#758f9e;margin:0 2px}@keyframes need-pulse{50%{box-shadow:0 0 0 2px rgba(255,100,119,.12)}}
.scene-requirement{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:7px;border-radius:8px;padding:6px 7px;background:#071721;border:1px solid #234355}.scene-requirement span{font-size:8px;color:#a7bfcc}.scene-requirement span b{font-size:9px;color:#e8f6fc}.scene-requirement em{font-style:normal;font-size:8px;font-weight:800}.scene-requirement.ready{border-color:#28664c}.scene-requirement.ready em{color:#72dfa5}.scene-requirement.missing{border-color:#69434b}.scene-requirement.missing em{color:#ff9ba6}.scene-el.blocked .scene-requirement{border-color:#46515b}.scene-el.blocked .scene-requirement em{color:#a2abb2}
.unit-marker{transition:transform .18s ease-out}.unit .status.busy{white-space:nowrap}
@media(max-width:760px){.game-notice{top:102px;grid-template-columns:1fr auto;padding:10px 11px}.game-notice b{grid-column:1/-1}.game-notice span{font-size:12px}.game-notice small{font-size:8px}.scene-requirement{display:block}.scene-requirement em{display:block;margin-top:4px}.need-chip{font-size:9px}}


/* v5.2.3 map readability + fleet organization */
.unit-group{border:1px solid #18394b;border-radius:12px;overflow:hidden;background:#071720;margin-bottom:7px}.unit-group-head{width:100%;border:0;background:#0c2533;color:#eaf7fd;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;cursor:pointer;text-align:left}.unit-group-head span{font-size:11px;font-weight:900;letter-spacing:.03em}.unit-group-head small{font-size:8px;color:#8eabba}.unit-group.open .unit-group-head{border-bottom:1px solid #1a3c4d}.unit-group-body{display:flex;flex-direction:column;gap:6px;padding:7px}.nearest-head{position:sticky;top:0;z-index:3;background:rgba(7,23,32,.97);border:1px solid #2f6077;border-radius:10px;padding:8px 9px;margin-bottom:2px;box-shadow:0 6px 16px #0005}.nearest-head b{display:block;font-size:10px;color:#8bd5ff}.nearest-head small{display:block;font-size:8px;color:#91aab8;margin-top:2px}.proximity{display:block;font-size:9px;color:#ffd57e;margin-top:4px}.unit i{display:block;font-style:normal;font-size:7px;color:#698695;margin-top:3px}
.incident-marker{width:40px;height:40px;font-size:18px;border-width:3px;cursor:pointer;box-shadow:0 3px 14px #000a,0 0 0 3px rgba(255,255,255,.10)}.incident-marker.svc-police{background:#197ac0}.incident-marker.svc-medical{background:#d94358}.incident-marker.svc-fire{background:#e87525}.incident-marker.svc-multi{background:conic-gradient(#197ac0 0 33%,#d94358 33% 66%,#e87525 66% 100%)}.incident-marker.searchm{border-style:dashed}.incident-marker.selected{box-shadow:0 0 0 6px rgba(255,221,104,.38),0 3px 16px #000b}.unit-marker{box-shadow:0 2px 12px #000a}.leaflet-incident-pane{pointer-events:auto}.leaflet-unit-pane{pointer-events:auto}
@media(max-width:760px){.unit-group-head{padding:12px}.unit-group-head span{font-size:12px}.nearest-head{position:static}.proximity{font-size:10px}.incident-marker{width:42px;height:42px}}
/* v5.2.4 career/search/exit polish */
.shop-actions{display:flex;flex-direction:column;gap:5px;min-width:108px}.shop-actions button{width:100%}.shop-card .sell{border-color:#6d4b32;background:#2b1c0e;color:#ffc88d}.shop-card .sell:disabled{opacity:.35}.top-actions{display:flex;align-items:center;gap:9px}.exit-game{height:38px;border:1px solid #78404a;background:#2a1117;color:#ffb0ba;border-radius:10px;padding:0 12px;font-size:9px;font-weight:1000;letter-spacing:.06em;cursor:pointer;white-space:nowrap}.exit-game:hover{background:#3a161f}.scene-requirement.ready{opacity:.65}
@media(max-width:760px){.exit-game{padding:0 9px;font-size:8px}.top-actions{gap:5px}.shop-actions{min-width:96px}.shop-card{grid-template-columns:30px minmax(0,1fr) 96px}}

/* v5.3.0 mode split + Operations & Career */
.mode-select{overflow:auto}.mode-card{width:min(980px,100%)}.mode-hero{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.mode-option{min-height:260px;border:1px solid #2a4e62;border-radius:18px;background:#0a1d2a;color:#eef9ff;padding:24px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:.18s ease}.mode-option:hover{transform:translateY(-2px);border-color:#62c6ff}.mode-option.operations{background:linear-gradient(145deg,#0c2331,#18243a);border-color:#6a5ca8}.mode-option>span{font-size:42px}.mode-option>b{font-size:23px}.mode-option p{font-size:12px;line-height:1.55;color:#a9bfca;margin:0}.mode-option em{margin-top:auto;font-style:normal;font-size:9px;letter-spacing:.08em;color:#76d9ff}.mode-option.operations em{color:#c5a7ff}.mode-back{display:inline-block;text-decoration:none}.ops-toolbar{display:flex;align-items:center;gap:12px;margin:12px 0;padding:9px 10px;background:#071823;border:1px solid #1b3b4d;border-radius:11px}.ops-toolbar span{font-size:9px;color:#87a1af}.ops-wide{width:min(1220px,100%);max-height:calc(100vh - 24px);overflow:auto}.ops-section{margin:12px 0;padding:13px;border:1px solid #1c3c4f;border-radius:14px;background:#071823}.profile-row{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.profile-option,.briefing-option,.chain-option,.station-toggle{border:1px solid #2a4b5f;background:#0b2230;color:#eaf8ff;border-radius:10px;cursor:pointer}.profile-option{padding:9px 13px;display:flex;gap:7px;align-items:center}.profile-option.active,.briefing-option.active,.chain-option.active,.station-toggle.active{border-color:#6ccfff;background:#11354a;box-shadow:0 0 0 1px rgba(108,207,255,.16) inset}.briefing-grid,.chain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.briefing-option,.chain-option{padding:10px;text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:8px}.briefing-option>span,.chain-option>span{font-size:22px;grid-row:1/3}.briefing-option b,.chain-option b{font-size:10px}.briefing-option small,.chain-option small{font-size:8px;color:#8da7b6;line-height:1.4}.ops-stations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.ops-station-group>b{font-size:10px}.ops-station-group>div{display:flex;flex-direction:column;gap:6px;margin-top:7px}.station-toggle{display:grid;grid-template-columns:24px 1fr auto;align-items:center;padding:8px;text-align:left}.station-toggle b{font-size:9px}.station-toggle small{font-size:8px;color:#8199a8}.ops-economy{grid-template-columns:1fr 1fr 1fr}.ops-shop-list{display:flex;flex-direction:column;gap:6px;max-height:430px;overflow:auto}.ops-shop-card{display:grid;grid-template-columns:28px 1fr auto;gap:7px;align-items:center;border:1px solid #1c3d50;background:#091c29;border-radius:10px;padding:8px}.ops-shop-card>span{font-size:20px}.ops-shop-card b{font-size:9px}.ops-shop-card small,.ops-shop-card em{display:block;font-size:8px;color:#829dab;font-style:normal}.ops-shop-card em{color:#8dd6b2;margin-top:2px}.ops-shop-card button{border:1px solid #315c73;background:#0f2a39;color:#d9f4ff;border-radius:8px;padding:7px;font-size:8px;font-weight:900}.operations-game{grid-template-rows:auto auto 1fr}.ops-live-strip{min-height:30px;display:flex;align-items:center;justify-content:center;gap:18px;padding:5px 10px;background:#101829;border-bottom:1px solid #2c385a;color:#c9dcff;font-size:9px;z-index:900}.station-marker{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;border:2px solid #fff9;background:#102230;box-shadow:0 2px 8px #0009;font-size:15px;opacity:.9}.station-marker.police{background:#155b88}.station-marker.medical{background:#8c3042}.station-marker.fire{background:#9b511c}.ops-unit-meta{display:block;margin-top:3px;font-size:7px;color:#c6a9ff}.priority-box{display:flex;align-items:center;gap:5px;margin:8px 0;padding:7px;border:1px solid #2c4559;border-radius:9px;background:#091a26}.priority-box span{font-size:8px;color:#8ea6b5;margin-right:auto}.priority-box button{border:1px solid #36536a;background:#0b2230;color:#bcd0dc;border-radius:7px;padding:5px 8px;font-size:8px;font-weight:900;cursor:pointer}.priority-box button.active{color:#fff;border-color:#f0c55b;background:#4a3913}.priority-badge{display:inline-block;font-style:normal;border-radius:5px;padding:2px 4px;font-size:7px;vertical-align:1px}.priority-badge.p1{background:#8d2635;color:#fff}.priority-badge.p2{background:#7b5816;color:#fff}.priority-badge.p3{background:#1e526e;color:#fff}.tag.chain{color:#c7a8ff;border-color:#69528c}.ops-aar-grid{grid-template-columns:repeat(4,1fr)}.aar-context{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;margin:12px 0;padding:10px;border:1px solid #283d58;background:#0c1624;border-radius:12px}.aar-context b{font-size:9px}.aar-context span{font-size:8px;color:#92a7b6}.summary-actions{display:flex;gap:8px;margin-top:14px}.summary-actions>a{text-decoration:none;text-align:center;display:grid;place-items:center}.profile-night .leaflet-tile-pane{filter:brightness(.62) saturate(.78) hue-rotate(178deg)}
@media(max-width:1000px){.ops-economy{grid-template-columns:1fr}.briefing-grid,.chain-grid{grid-template-columns:1fr 1fr}.ops-stations{grid-template-columns:1fr}.mode-grid{grid-template-columns:1fr}.mode-option{min-height:190px}}
@media(max-width:760px){.ops-wide{max-height:none}.briefing-grid,.chain-grid{grid-template-columns:1fr}.ops-live-strip{justify-content:flex-start;overflow-x:auto;white-space:nowrap}.ops-aar-grid{grid-template-columns:repeat(2,1fr)}.summary-actions{flex-direction:column}.mode-card{padding:14px}.mode-option{padding:16px}}

/* v5.3.2 Operations station spacing + x4 input polish */
.unit-marker{width:34px;height:34px;font-size:18px;cursor:pointer}
.operator-unit-leaflet{will-change:transform;cursor:pointer}
.operations-game .station-marker{opacity:.78}

/* v5.3.3 return-command reliability + Operations sticky wallet */
.ops-sticky-wallet{position:sticky;top:0;z-index:35;display:flex;align-items:center;gap:10px;margin:8px 0 10px;padding:9px 12px;border:1px solid #4a7d62;background:rgba(8,29,25,.97);backdrop-filter:blur(10px);border-radius:11px;box-shadow:0 7px 18px #0008}
.ops-sticky-wallet span{font-size:9px;font-weight:900;color:#9edab9;letter-spacing:.06em}.ops-sticky-wallet b{font-size:17px;color:#f2fff8}.ops-sticky-wallet small{margin-left:auto;font-size:8px;color:#83a997}
.unit.returning-selected{outline:1px solid #7ecbff}
@media(max-width:760px){.ops-sticky-wallet{top:0;padding:9px}.ops-sticky-wallet small{display:none}.ops-sticky-wallet b{margin-left:auto;font-size:15px}}

/* v5.4.1 · Phone-only map-first command UI
   IMPORTANT: this layer is intentionally restricted to <=640px. Tablet/desktop rules stay untouched. */
.mobile-command-bar,.mobile-sheet-backdrop,.mobile-sheet-grab,.mobile-pick-units,.mobile-unit-dispatch{display:none}

@media(max-width:640px){
  html,body{width:100%;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none}
  body{position:fixed;inset:0}
  .game,.operations-game{width:100%;height:100%;height:100dvh;min-height:0;overflow:hidden;display:grid;grid-template-rows:54px minmax(0,1fr);position:relative}
  .operations-game{grid-template-rows:54px 30px minmax(0,1fr)}

  /* Compact header: the map owns the phone screen. */
  .topbar{position:relative;top:auto;height:54px;min-height:54px;padding:6px 8px;padding-top:max(6px,env(safe-area-inset-top));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom-color:#1d3c50;z-index:3000}
  .brand{min-width:0;gap:7px}.brand img{width:34px;height:34px;border-radius:10px}.back-game{width:34px;height:34px;border-radius:10px;font-size:18px;flex:0 0 auto}.brand div{display:flex;min-width:0}.brand small{font-size:6.5px;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px}
  .top-actions{display:flex;align-items:center;gap:4px}.exit-game{height:34px;padding:0 8px;font-size:7px;border-radius:9px;max-width:76px;overflow:hidden;text-overflow:ellipsis}

  /* HUD floats above the map instead of consuming another header row. */
  .shift-stats{position:fixed;z-index:2400;top:60px;left:7px;right:7px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:5px;background:rgba(5,17,27,.88);border:1px solid #244658;border-radius:11px;box-shadow:0 7px 20px #0008;backdrop-filter:blur(10px);overflow:visible}
  .operations-game .shift-stats{top:90px}
  .stat{min-width:0;padding:1px 2px}.stat span{font-size:6px;letter-spacing:.05em;white-space:nowrap}.stat b{font-size:11px;line-height:1.1;white-space:nowrap}

  /* Speed is a floating map control, never allowed to collide with the header. */
  .top-actions .speed{position:fixed;z-index:2450;top:111px;right:7px;display:grid;grid-template-columns:repeat(4,34px);gap:3px;padding:4px;background:rgba(5,17,27,.91);border:1px solid #284b60;border-radius:11px;box-shadow:0 7px 20px #0008;backdrop-filter:blur(10px)}
  .operations-game .top-actions .speed{top:141px}
  .speed button{width:34px;height:34px;padding:0;border-radius:8px;font-size:9px}

  .ops-live-strip{min-height:30px;height:30px;justify-content:flex-start;gap:11px;padding:5px 8px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;z-index:2000}.ops-live-strip::-webkit-scrollbar{display:none}.ops-live-strip span,.ops-live-strip b{font-size:7px}

  /* Live workspace = full map. Side columns become transient sheets. */
  .workspace{display:block;position:relative;min-height:0;height:100%;padding:0;overflow:hidden}
  .mapwrap{position:absolute;inset:0;height:auto!important;min-height:0!important;order:initial;border:0;border-radius:0;background:#07131e}
  .map{position:absolute;inset:0;height:100%;width:100%}
  .map-overlay{left:7px;top:62px;right:155px;z-index:1200}.operations-game .map-overlay{top:62px}.map-chip{display:inline-block;max-width:100%;padding:5px 7px;border-radius:8px;font-size:8px;line-height:1.2}.map-chip br,.map-chip span{display:none}
  .mapwrap .leaflet-top.leaflet-left{top:50px}.operations-game .mapwrap .leaflet-top.leaflet-left{top:50px}.leaflet-control-zoom a{width:32px!important;height:32px!important;line-height:32px!important}
  .leaflet-control-attribution{max-width:65vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  /* Phone bottom sheets. Closed sheets are completely out of hit-testing. */
  .sidebar,.rightbar{display:flex;position:fixed;z-index:4300;left:7px;right:7px;bottom:calc(68px + env(safe-area-inset-bottom));width:auto;max-width:none;min-width:0;min-height:0;height:min(72dvh,620px);max-height:calc(100dvh - 90px);border-radius:20px 20px 15px 15px;background:rgba(7,20,30,.985);border:1px solid #2a5369;box-shadow:0 -18px 46px #000c;transform:translateY(calc(100% + 100px));opacity:0;pointer-events:none;transition:transform .24s cubic-bezier(.2,.75,.25,1),opacity .18s ease;overflow:hidden;order:initial}
  .sidebar.mobile-open,.rightbar.mobile-open{transform:translateY(0);opacity:1;pointer-events:auto}
  .sidebar{max-height:min(76dvh,660px)}
  .rightbar{min-height:0}
  .panel-head{flex:0 0 auto;padding:10px 11px}.panel-head b{font-size:11px}.panel-head small{font-size:8px}.panel-head .icon-btn{padding:8px 9px;font-size:8px}
  .units{display:flex;flex:1;min-height:0;overflow:auto;grid-template-columns:none;padding:7px 7px calc(14px + env(safe-area-inset-bottom));gap:6px;overscroll-behavior:contain;scrollbar-width:thin}
  .unit{min-height:58px;grid-template-columns:34px minmax(0,1fr) auto;padding:8px 9px;border-radius:12px}.unit .uicon{font-size:23px}.unit b{font-size:11px}.unit small{font-size:8px}.unit .status{grid-column:auto;font-size:7px;max-width:68px;text-align:right}.proximity{font-size:9px}
  .unit-group{margin-bottom:5px}.unit-group-head{padding:10px}.unit-group-body{padding:5px;gap:5px}
  .nearest-head{position:sticky;top:0;z-index:8;margin:-1px 0 3px;padding:8px;background:#071a26ee;backdrop-filter:blur(8px)}
  .mobile-unit-dispatch{display:grid;position:sticky;top:48px;z-index:12;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:3px 0 5px;padding:9px;background:rgba(8,26,38,.97);border:1px solid #38718c;border-radius:12px;box-shadow:0 7px 18px #0008}
  .mobile-unit-dispatch small,.mobile-unit-dispatch b,.mobile-unit-dispatch span{display:block}.mobile-unit-dispatch small{font-size:6px;color:#8eb7cc;letter-spacing:.1em}.mobile-unit-dispatch b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-unit-dispatch span{font-size:8px;color:#8fa8b8;margin-top:2px}.mobile-unit-dispatch button{border:0;background:#4db8ff;color:#04121c;border-radius:10px;padding:10px 11px;font-size:8px;font-weight:1000;white-space:nowrap}.mobile-unit-dispatch button:disabled{opacity:.45}

  .mobile-sheet-grab{display:grid;grid-template-columns:28px 1fr 34px;align-items:center;gap:8px;height:42px;min-height:42px;padding:5px 8px;border-bottom:1px solid #1e4053;background:#091b28}.mobile-sheet-grab>span{justify-self:center;width:27px;height:4px;background:#365467;border-radius:999px}.mobile-sheet-grab>b{font-size:8px;letter-spacing:.1em;color:#96adbc;text-align:center}.mobile-sheet-grab button{width:32px;height:32px;border:1px solid #294b60;background:#0b2130;color:#eaf7fd;border-radius:10px;font-size:20px;line-height:1}
  .right-tabs{position:static;top:auto;flex:0 0 auto;display:grid;grid-template-columns:repeat(3,1fr);padding:6px;gap:4px;background:#071722;border-bottom:1px solid #19384a}.right-tabs button{min-height:38px;padding:6px 4px;font-size:8px;border-radius:9px}
  .detail{flex:1;min-height:0;overflow:auto;padding:9px 9px calc(14px + env(safe-area-inset-bottom));overscroll-behavior:contain}.feed{min-height:0;overflow:auto;padding:0;gap:6px}
  .detail-empty{min-height:210px;height:auto;padding:18px}.detail h2{font-size:19px}.detail .meta{font-size:8px}.detail .desc{font-size:12px;line-height:1.5;padding:10px}.incident-card{min-height:72px;padding:11px;border-radius:12px}.incident-card b{font-size:13px}.incident-card p{font-size:11px;line-height:1.45;margin:6px 0}.incident-card .row small{font-size:9px}.tag{font-size:8px;padding:4px 6px}.team-chip{font-size:8px}
  .call-feed .incident-card{min-height:84px;padding:12px}.call-feed .incident-card b{font-size:14px}.caller{padding:12px}.caller p{font-size:14px}.options{gap:7px}.options button{font-size:13px;min-height:54px;padding:12px}.transcript{max-height:26dvh;overflow:auto}.line{font-size:10px;padding:8px}

  /* Thumb-friendly scene actions. */
  .dispatch-box{position:sticky;bottom:-1px;z-index:15;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:9px -2px 6px;padding:7px;background:rgba(7,19,30,.96);border:1px solid #244b61;border-radius:12px;box-shadow:0 -7px 18px #0007;backdrop-filter:blur(8px)}
  .mobile-pick-units{display:block;grid-column:1/-1;border:1px solid #367493;background:#0f3549;color:#eaf8ff;border-radius:10px;min-height:44px;padding:9px;font-size:10px;font-weight:1000}.dispatch-box .primary,.dispatch-box .secondary{min-height:43px;font-size:9px;padding:9px}.dispatch-box .primary{grid-column:1}.dispatch-box .secondary{grid-column:2}
  .scene-list{gap:7px}.scene-el{padding:10px}.scene-el b{font-size:11px}.scene-el small{font-size:8px}.scene-requirement{font-size:9px}.danger{min-height:44px}

  .game-notice{position:fixed;z-index:5000;top:104px;left:8px;right:8px;width:auto;max-width:none;grid-template-columns:1fr auto;padding:9px 10px}.operations-game .game-notice{top:134px}.game-notice b{grid-column:1/-1;font-size:8px}.game-notice span{font-size:11px}.game-notice small{font-size:7px}

  .mobile-sheet-backdrop{display:block;position:fixed;z-index:4200;inset:0;background:rgba(0,0,0,.50);opacity:0;pointer-events:none;transition:opacity .18s ease;backdrop-filter:blur(1px)}.mobile-sheet-backdrop.open{opacity:1;pointer-events:auto}
  .mobile-command-bar{display:grid;position:fixed;z-index:4100;left:7px;right:7px;bottom:max(7px,env(safe-area-inset-bottom));height:58px;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;background:rgba(5,17,27,.96);border:1px solid #2a4d61;border-radius:16px;box-shadow:0 10px 30px #000c;backdrop-filter:blur(12px)}
  .mobile-command-bar button{position:relative;min-width:0;border:0;background:transparent;color:#90a9b9;border-radius:11px;display:grid;place-items:center;align-content:center;gap:1px;padding:3px;cursor:pointer}.mobile-command-bar button>span{font-size:18px;line-height:1}.mobile-command-bar button>b{font-size:7px}.mobile-command-bar button.active{background:#113249;color:#effaff}.mobile-command-bar em{position:absolute;top:3px;right:10px;min-width:15px;height:15px;padding:0 3px;display:none;place-items:center;border-radius:999px;background:#e74f60;color:#fff;font-size:7px;font-style:normal;font-weight:1000;border:2px solid #071722}.mobile-command-bar em:not(:empty){display:grid}

  /* Reserve the command-bar edge for map interaction. */
  .mapwrap{padding-bottom:0}.leaflet-bottom{bottom:64px}.rightbar .log{max-height:120px}.scene-requirement{display:block}.scene-requirement em{display:block;margin-top:4px}.need-chip{font-size:9px}
}


/* v5.4.2 · Phone setup scroll hotfix
   v5.4.1 intentionally locks the live map to the viewport. Setup/garage screens must remain vertically scrollable. */
@media(max-width:640px){
  html,body{height:auto;min-height:100%;overflow:auto;overscroll-behavior-x:none;overscroll-behavior-y:auto}
  body{position:static;inset:auto;touch-action:pan-y}
  .game,.operations-game{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;overflow:hidden;touch-action:auto}
  .setup{display:block;width:100%;height:100dvh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:10px 10px calc(44px + env(safe-area-inset-bottom));scrollbar-gutter:stable}
  .setup>.setup-card{margin:0 auto}
  .setup.mode-select{display:grid;place-items:start center;align-content:start}
}

/* v5.4.3 · Android/Chrome phone setup scroll hardening
   The document is the only vertical scroll owner on setup screens. Live map viewport-lock remains fixed. */
@media(max-width:640px){
  html{width:100%;height:auto!important;min-height:100%;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-x:none;overscroll-behavior-y:auto}
  body{position:static!important;inset:auto!important;width:100%;height:auto!important;min-height:100dvh;overflow-x:hidden!important;overflow-y:visible!important;overscroll-behavior-y:auto!important;touch-action:auto!important}
  #app{width:100%;min-height:100dvh;overflow:visible!important}
  .game,.operations-game{position:fixed!important;inset:0;width:100%;height:100dvh;min-height:0;overflow:hidden;touch-action:auto}
  .setup,.setup.mode-select{display:block!important;width:100%;height:auto!important;min-height:100dvh;overflow:visible!important;overscroll-behavior-y:auto!important;-webkit-overflow-scrolling:auto;touch-action:auto!important;padding:10px 10px calc(72px + env(safe-area-inset-bottom))}
  .setup>.setup-card{margin:0 auto}

  /* Classic: starting a shift must never be hidden below the long fleet list on a phone. */
  .setup[data-screen="classic-setup"] .career-panel{display:flex;flex-direction:column;min-width:0}
  .setup[data-screen="classic-setup"] .career-panel>.section-title{order:0}
  .setup[data-screen="classic-setup"] .shift-start-panel{order:1;position:sticky;top:0;z-index:90;margin:0 0 10px;padding:9px;border:1px solid #2b5a72;border-radius:13px;background:rgba(7,24,35,.97);box-shadow:0 8px 24px #0008;backdrop-filter:blur(10px)}
  .setup[data-screen="classic-setup"] .fleet-grid{order:2}
  .setup[data-screen="classic-setup"] .region-note{order:3}
  .shift-start-panel .duration-title{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin:0 0 7px}
  .shift-start-panel .duration-title>b{font-size:9px;white-space:nowrap}
  .shift-start-panel .duration-title select{width:100%;max-width:none;margin:0;min-height:36px;padding:7px 8px;font-size:9px}
  .shift-start-panel .setup-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}
  .shift-start-panel .setup-grid button{min-height:49px;padding:7px 4px;border-radius:10px}
  .shift-start-panel .setup-grid b{font-size:14px}
  .shift-start-panel .setup-grid span{font-size:6.5px}
}
