/* LESiM gameplay UX pass 1, 2026 research-led.
 * Applied to real staging simulator, no gameplay logic changes.
 * Prioritizes next decision, legibility, and advanced actions on demand.
 */
@media(min-width:1101px){
 .map-heading .map-title{font:700 15px/1.2 "Segoe UI",Arial,sans-serif!important;letter-spacing:0!important}
 .map-heading .map-title .slash{display:none!important}
 .map-heading .map-tools{gap:8px!important;flex-wrap:nowrap!important}
 .map-heading .map-tools #openDesk,.map-heading .map-tools #toggleFleet{
   min-height:38px!important;font-size:13px!important;font-weight:700!important;letter-spacing:0!important;
 }
 .map-heading .ls-focus-toggle{font-size:12px!important;min-height:38px!important}
 .queue .pane-heading h2{font-size:19px!important}
 .queue-tabs button{min-height:40px!important}
 .queue .incident .incident-title{font-size:16px!important;line-height:1.35!important}
 .queue .incident .incident-address{font-size:13px!important}
 body.ls-dispo-focus .queue-foot{font-size:12px!important}
 body.ls-dispo-focus .map-corner.top-left .map-readout.secondary{display:none!important}
 body.ls-dispo-focus .map-legend{gap:9px!important}
 body.ls-dispo-focus .map-legend span{font-size:11px!important}
}
.ls-map-more{position:relative;flex-shrink:0}
.ls-map-more>summary{display:flex;align-items:center;gap:8px;min-height:38px;cursor:pointer;
 background:#19364b;color:#e0eef9;border:1px solid #547890;border-radius:7px;
 padding:8px 14px;font:650 13px/1.3 "Segoe UI",Arial,sans-serif;white-space:nowrap;list-style:none}
.ls-map-more>summary::-webkit-details-marker{display:none}
.ls-map-more>summary:after{content:'⌄';font-size:16px;line-height:1}
.ls-map-more[open]>summary{background:#275577;border-color:#83bce4}
.ls-map-more>summary:hover{background:#234b67}
.ls-map-more>summary:focus-visible{outline:3px solid #a5d8f8;outline-offset:2px}
.ls-map-more-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:100;
 min-width:210px;display:flex;flex-direction:column;gap:7px;
 padding:10px;background:#10283a;border:1px solid #648aa7;
 border-radius:9px;box-shadow:0 15px 35px #020a13b8}
.ls-map-more-panel>.map-tool{width:100%!important;min-height:40px!important;display:block!important;
 font:650 13px/1.2 "Segoe UI",Arial,sans-serif!important;text-align:left!important;
 padding:9px 11px!important;background:#183951!important;border-radius:6px!important;
 color:#e2f1fb!important;border:1px solid #496d87!important}
.ls-map-more-panel>.map-tool:hover{background:#265675!important}
@media(max-width:1100px){.ls-map-more>summary{min-height:35px;padding:7px 9px;font-size:12px}.ls-map-more-panel{right:0}}
@media(prefers-reduced-motion:reduce){.ls-map-more *{transition:none!important}}

/* 5.19.5.1 – incoming call is the player's primary task.
   Presentation only: the existing clickable call card keeps all game listeners. */
@media(min-width:1101px){
 .queue .lk-call-row{
   display:block!important;width:100%!important;min-height:158px!important;
   padding:17px 16px!important;margin:10px 0!important;
   background:linear-gradient(130deg,#17344a,#102338)!important;
   border:1px solid #4e7f9d!important;border-left:4px solid #75b9e8!important;
   border-radius:10px!important;
   box-shadow:0 7px 24px #0004!important;
   text-align:left!important;color:#f4f8fd!important;
 }
 .queue .lk-call-row.lk-call-ringing{
   border-left-color:#ec4b61!important;
   background:linear-gradient(130deg,#392732,#122a3f)!important;
 }
 .queue .lk-call-row.lk-call-progress{
   border-left-color:#e2a45c!important;
 }
 .queue .lk-call-row .incident-top{
   display:flex!important;align-items:center!important;justify-content:space-between!important;
   gap:8px!important;min-width:0!important;
   font:650 12px/1.35 "Segoe UI",Arial,sans-serif!important;
   color:#c8dfec!important;
 }
 .queue .lk-call-row .lk-call-pill{
   font:700 11px/1.2 "Segoe UI",Arial,sans-serif!important;letter-spacing:0!important;
   padding:6px 8px!important;border-radius:5px!important;
   color:#ffe4bf!important;background:#4a362b!important;border-color:#986b45!important;
 }
 .queue .lk-call-row .incident-title{
   font:780 18px/1.3 "Segoe UI",Arial,sans-serif!important;
   letter-spacing:-.02em!important;color:#fff!important;
   margin:15px 0 8px!important;
 }
 .queue .lk-call-row .incident-address{
   font:500 13px/1.45 "Segoe UI",Arial,sans-serif!important;
   color:#c1d3e3!important;margin-bottom:13px!important;
 }
 .queue .lk-call-row .incident-bottom{
   display:flex!important;align-items:center!important;justify-content:space-between!important;
   gap:9px!important;margin-top:12px!important;font:600 13px/1.3 "Segoe UI",Arial,sans-serif!important;
   color:#c8d8e8!important;
 }
 .queue .lk-call-row .incident-bottom strong{
   flex:none!important;
   color:#fff!important;background:#2473ab!important;
   border:1px solid #6eb4df!important;border-radius:6px!important;
   padding:10px 13px!important;min-height:38px!important;
   font:800 13px/1.2 "Segoe UI",Arial,sans-serif!important;
   box-shadow:0 3px 13px #0003!important;
 }
 .queue .lk-call-row.lk-call-ringing .incident-bottom strong{
   background:#cf394f!important;border-color:#f48c99!important;
 }
 .queue .lk-call-row:focus-visible{
   outline:3px solid #97d6ff!important;outline-offset:3px!important;
 }
 .queue .lk-phone-desk{margin:10px 12px 5px!important;border-radius:8px!important;border-color:#385b74!important}
 .queue .lk-phone-head{min-height:38px!important;padding:9px 12px!important;background:#143247!important}
 .queue .lk-phone-head b,.queue .lk-phone-head small{
   font:700 12px/1.2 "Segoe UI",Arial,sans-serif!important;letter-spacing:0!important;
 }
 .queue .lk-phone-line{min-height:44px!important}
 .queue .lk-phone-line strong,.queue .lk-phone-line time,.queue .lk-phone-line em{
   font:650 12px/1.2 "Segoe UI",Arial,sans-serif!important;
 }
 .queue .lk-phone-line>button:first-child{padding:11px 10px!important;gap:7px!important}
 .queue .lk-phone-line>button.lk-phone-park{height:32px!important;min-width:32px!important}
}
@media(prefers-reduced-motion:reduce){
 .queue .lk-call-row.lk-call-ringing{animation:none!important}
}

/* 5.19.5.2 – phone desk is a secondary channel overview, not a second primary action.
 * Keep all line controls visible and clickable: only improve hierarchy and wrapping. */
@media(min-width:1101px){
 .queue .lk-phone-desk{margin:10px 12px 3px!important;overflow:hidden!important}
 .queue .lk-phone-head{display:flex!important;flex-wrap:wrap!important;align-items:center!important;
   justify-content:flex-start!important;gap:5px 10px!important;padding:10px 11px!important;
   min-height:0!important;height:auto!important}
 .queue .lk-phone-head b{display:block!important;flex:1 0 100%!important;
   white-space:normal!important;overflow-wrap:break-word!important;
   font:700 13px/1.3 "Segoe UI",Arial,sans-serif!important;color:#edf6fb!important}
 .queue .lk-phone-head small{display:block!important;flex:1 1 auto!important;
   font:600 12px/1.3 "Segoe UI",Arial,sans-serif!important;
   white-space:normal!important;color:#a9c3d9!important}
 .queue .lk-phone-list{max-height:104px!important;overflow-y:auto!important}
 .queue .lk-phone-line{min-height:40px!important;background:#12283a!important}
 .queue .lk-phone-line>button:first-child{gap:8px!important;align-items:center!important;
   padding:9px 10px!important}
 .queue .lk-phone-line strong,.queue .lk-phone-line em,.queue .lk-phone-line time{
   font-size:12px!important;line-height:1.25!important}
 .queue .lk-phone-line>button:first-child strong{font-weight:700!important}
 .queue .lk-phone-line time{font-variant-numeric:tabular-nums!important;flex-shrink:0!important}
 .queue .lk-phone-line.state-waiting,
 .queue .lk-phone-line.state-hold{background:#24303b!important}
 .queue .lk-call-row{margin-top:8px!important}
}

/* 5.19.6 – one context-aware operational action, without a second vehicle-selection dialog. */
.map-heading .ls-quick-dispatch{
 flex-shrink:0!important;display:inline-flex!important;align-items:center!important;
 justify-content:center!important;min-height:40px!important;
 border:1px solid #73b6e2!important;border-radius:7px!important;
 padding:9px 13px!important;background:#2378ad!important;color:#fff!important;
 font:750 12px/1.25 "Segoe UI",Arial,sans-serif!important;
 letter-spacing:0!important;white-space:nowrap!important;
 box-shadow:0 3px 12px #071b2d80!important;
 cursor:pointer!important;
}
.map-heading .ls-quick-dispatch:not(:disabled):hover{background:#3091c8!important}
.map-heading .ls-quick-dispatch:disabled{
 cursor:default!important;background:#1b3448!important;color:#a3b6c5!important;
 border-color:#3a586c!important;box-shadow:none!important;
}
.map-heading .ls-quick-dispatch:focus-visible{outline:3px solid #a4dafe!important;outline-offset:2px!important}
@media(max-width:1100px){
 .map-heading .ls-quick-dispatch{min-height:36px!important;font-size:11px!important;padding:7px 9px!important}
}

/* Primary-action dispatch simplified vehicle list */
.ls-fleet-empty{padding:18px 20px;color:#c6d8e8;font:600 14px/1.6 "Segoe UI",Arial,sans-serif;background:#10283a;border:1px dashed #456985;border-radius:8px;margin:12px}
#fitBtn{min-height:38px!important;font:700 12px/1.2 "Segoe UI",Arial,sans-serif!important;padding:8px 12px!important}
#fitBtn:focus-visible{outline:3px solid #a4dafe!important}

/* LESiM dispatch repair / compact incident command panel. */
#operationsDrawer .detail-scroll{scrollbar-width:thin}
#operationsDrawer .detail-card{display:flex;flex-direction:column;gap:13px}
#operationsDrawer .detail-card>h3{font:750 23px/1.2 "Segoe UI",Arial,sans-serif!important;letter-spacing:-.025em!important;margin:0!important}
#operationsDrawer .detail-card>.location{font:500 13px/1.5 "Segoe UI",Arial,sans-serif!important;margin:0!important;color:#bed1df!important}
#operationsDrawer .detail-card>.summary{font:500 14px/1.55 "Segoe UI",Arial,sans-serif!important;margin:0!important;color:#c9d9e5!important}
#operationsDrawer .detail-card>.micro-label{font:750 12px/1.35 "Segoe UI",Arial,sans-serif!important;letter-spacing:0!important;margin:4px 0 0!important;color:#bcd1df!important}
#operationsDrawer .detail-card>.requirements{margin:0!important;display:flex!important;gap:7px!important;flex-wrap:wrap!important}
#operationsDrawer .detail-card>#smartDispatch{min-height:46px!important;padding:11px!important;margin:3px 0!important;
 font:750 13px/1.4 "Segoe UI",Arial,sans-serif!important;letter-spacing:0!important;
 border-radius:7px!important;background:#277ba9!important;color:#fff!important;border:1px solid #81c0de!important}
#operationsDrawer .detail-card>#smartDispatch:disabled{opacity:.6!important;cursor:default!important}
#operationsDrawer .detail-card>.assigned-list{margin:0!important}
#operationsDrawer .detail-card>.assigned-list .assigned-entry{padding:10px!important;font-size:13px!important}
#operationsDrawer .ls-advanced-detail{border:1px solid #375875;border-radius:9px;background:#102436;margin:5px 0 14px!important}
#operationsDrawer .ls-advanced-detail>summary{cursor:pointer;padding:15px 13px;font:700 13px/1.4 "Segoe UI",Arial,sans-serif;color:#bedff2;list-style:none}
#operationsDrawer .ls-advanced-detail>summary:before{content:'＋';font-size:17px;color:#89c4ee;margin-right:10px}
#operationsDrawer .ls-advanced-detail[open]>summary:before{content:'−'}
#operationsDrawer .ls-advanced-detail>summary::-webkit-details-marker{display:none}
#operationsDrawer .ls-advanced-detail[open]>summary{border-bottom:1px solid #375875}
#operationsDrawer .ls-advanced-detail>summary:focus-visible{outline:3px solid #a3dbfc;outline-offset:2px}
#operationsDrawer .ls-advanced-detail>*:not(summary){margin:11px 12px!important}
#operationsDrawer .right-actions{background:#102335}

/* Save/export/import belong to the existing Spielmenü, not the operational drawer.
   The original buttons remain in the DOM for menu actions and keyboard handlers. */
#operationsDrawer .right-actions{display:none!important}
#operationsDrawer .detail-scroll{bottom:0!important;min-height:0!important}

/* 5.19.8 – observable dispatch and conspicuous pause recovery */
#operationsDrawer .ls-dispatch-current-status{
 display:flex;flex-direction:column;gap:7px;padding:13px 14px;margin:8px 0!important;
 background:#15364a;border:1px solid #4d7994;border-radius:9px;
 color:#e3f3ff;font:500 13px/1.45 "Segoe UI",Arial,sans-serif;
}
#operationsDrawer .ls-dispatch-current-status strong{font-size:14px!important;color:#fff!important}
#operationsDrawer .ls-dispatch-current-status span{font-size:13px!important;white-space:normal;overflow-wrap:anywhere}
#operationsDrawer .ls-dispatch-current-status p{color:#ffe0a0!important;margin:5px 0!important;font-size:13px!important}
#operationsDrawer .ls-resume-shift{
 font:750 13px/1.3 "Segoe UI",Arial,sans-serif;color:#fff;
 padding:12px;background:#267d56;border:1px solid #71dba9;
 border-radius:7px;cursor:pointer;min-height:42px;
}
#operationsDrawer .ls-resume-shift:focus-visible{outline:3px solid #a8e4c8;outline-offset:2px}
.lk-form-error{color:#ffb2c2;font:700 14px/1.4 "Segoe UI",Arial,sans-serif;padding:12px;
 border:1px solid #c96877;border-radius:7px;background:#3b1c2d}

/* 5.19.9 – completed alarm is information, not another primary action. */
#operationsDrawer .detail-card>#smartDispatch:disabled{
 opacity:1!important;cursor:default!important;
 background:#153c37!important;color:#b4e9d4!important;
 border:1px solid #457e6e!important;
 box-shadow:none!important;
 font:700 13px/1.45 "Segoe UI",Arial,sans-serif!important;
}

/* LESiM usability pass 5.19.11: in-game clock, contextual radio and focused map header */
.top-actions .ls-time-controls{
 display:flex!important;align-items:center!important;gap:7px!important;margin-right:10px!important
}
.top-actions .ls-time-controls #pauseBtn,
.top-actions .ls-time-controls #speedBtn{
 display:inline-flex!important;justify-content:center!important;align-items:center!important;
 min-height:40px!important;min-width:78px!important;padding:9px 12px!important;
 background:#173c58!important;border:1px solid #5a83a1!important;border-radius:7px!important;
 color:#edf7ff!important;font:750 13px/1.3 "Segoe UI",Arial,sans-serif!important;
 opacity:1!important;visibility:visible!important;pointer-events:auto!important;
}
.top-actions .ls-time-controls #pauseBtn:focus-visible,
.top-actions .ls-time-controls #speedBtn:focus-visible{outline:3px solid #a8dfff!important;outline-offset:2px!important}
/* Other map commands remain accessible via the game menu or context panels. */
.map-heading .map-tools>.ls-quick-dispatch,
.map-heading .map-tools>.v3-floating-actions,
.map-heading .map-tools>.ls-focus-toggle{display:none!important}
.map-heading .map-tools{gap:7px!important}
.map-heading .ls-map-more{margin-left:auto!important}
.lk-speak-pending{border-left:4px solid #e6a653!important;box-shadow:0 0 0 1px #c68d4e65!important}
.lk-speak-alert{display:inline-flex;align-items:center;gap:5px;background:#533c20;border:1px solid #d09b58;
 color:#ffe1ac;font:750 12px/1.4 "Segoe UI",Arial,sans-serif;padding:5px 7px;border-radius:5px;
 margin:0 5px 6px 0}
#operationsDrawer .ls-speak-action{
 width:100%;min-height:46px;padding:11px;margin:6px 0 12px;
 background:#825323;color:#fff3da;border:1px solid #e2af65;border-radius:7px;
 font:750 14px/1.4 "Segoe UI",Arial,sans-serif;cursor:pointer
}
#operationsDrawer .ls-speak-action:focus-visible{outline:3px solid #f8cc7a;outline-offset:2px}
/* A game menu is modal: never allow a newly opened telephone dialog to overpaint it. */
body.lk-gm-open #lkCallOverlay{visibility:hidden!important;pointer-events:none!important}
body.lk-gm-open #lkGameMenu .lk-gm-shade{z-index:2147483000!important}
body.lk-gm-open #lkGameMenu .lk-gm-panel{z-index:2147483001!important}
@media(max-width:1100px){
 .top-actions .ls-time-controls{gap:4px!important;margin-right:4px!important}
 .top-actions .ls-time-controls #pauseBtn,.top-actions .ls-time-controls #speedBtn{
  min-height:35px!important;min-width:56px!important;font-size:11px!important;padding:6px!important
 }
}
@media(prefers-reduced-motion:reduce){.lk-speak-pending{animation:none!important}}

/* 5.19.11 – dispatch command as an independent, closable operation window. */
#drawerVeil:not([hidden]){position:fixed!important;inset:0!important;z-index:10040!important;background:rgba(2,10,20,.75)!important;backdrop-filter:blur(2px)}
#operationsDrawer{
 position:fixed!important;left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;
 width:min(660px,calc(100vw - 28px))!important;height:min(750px,calc(100dvh - 35px))!important;
 max-height:calc(100dvh - 35px)!important;z-index:10041!important;
 transform:translate(-50%,-48%) scale(.98)!important;opacity:0!important;
 pointer-events:none!important;visibility:hidden!important;
 background:#111f2c!important;border:1px solid #58748b!important;
 border-radius:12px!important;box-shadow:0 28px 90px #000c!important;
 transition:opacity .15s ease,transform .15s ease!important;
}
#operationsDrawer.open{
 transform:translate(-50%,-50%) scale(1)!important;opacity:1!important;
 pointer-events:auto!important;visibility:visible!important;
}
#operationsDrawer .right-heading{min-height:64px!important;height:auto!important;
 padding:17px 60px 17px 22px!important;border-bottom:1px solid #3d5a72!important}
#operationsDrawer .right-heading h2{font-size:20px!important}
#operationsDrawer .drawer-close{width:43px!important;height:43px!important;right:15px!important;top:10px!important;
 border-radius:8px!important;font-size:24px!important}
#operationsDrawer .detail-scroll{padding:16px 22px!important;overflow-y:auto!important;max-height:calc(100% - 65px)!important}
#operationsDrawer .detail-card>.summary{line-height:1.5!important}
@keyframes lsSpeakEdge{0%,100%{border-left-color:#e6a653;box-shadow:inset 3px 0 #e6a65355}50%{border-left-color:#ffe4a9;box-shadow:inset 5px 0 #ebbd74aa}}
.lk-speak-pending{animation:lsSpeakEdge 2.1s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.lk-speak-pending{animation:none!important}}
@media(max-width:700px){
 #operationsDrawer{width:calc(100vw - 16px)!important;height:calc(100dvh - 20px)!important}
 #operationsDrawer .detail-scroll{padding:12px 15px!important}
}

/* 5.19.15 – routine vehicle statuses are informational, not radio interruptions. */
.incident .ls-status-strip{
 display:flex!important;flex-wrap:wrap!important;gap:5px!important;
 align-items:center!important;margin-top:9px!important
}
.incident .ls-status-pill{
 display:inline-flex!important;align-items:center!important;min-height:26px!important;
 padding:4px 7px!important;border:1px solid #466e87!important;border-radius:5px!important;
 background:#193a4c!important;color:#c7e7f5!important;
 font:700 11px/1.3 "Segoe UI",Arial,sans-serif!important
}
.incident .ls-status-new{
 display:inline-flex!important;align-items:center!important;min-height:26px!important;
 padding:4px 8px!important;border:1px solid #79aacc!important;border-radius:5px!important;
 background:#244c67!important;color:#f2faff!important;
 font:700 11px/1.3 "Segoe UI",Arial,sans-serif!important
}
#operationsDrawer .assigned-entry>span:last-child{
 font:700 12px/1.4 "Segoe UI",Arial,sans-serif!important;color:#aad5ec!important
}
