/* v100 approved compact map/shift direction. Presentation only; existing role handlers remain. */
body.compact-review{--canvas:#fff;--panel:#fff;--surface-soft:#f0f4f2;--ink:#172b3c;--muted:#566674;--line:#e0e6e8;--layout-green:#21694e;--layout-orange:#945300;--layout-red:#a83434;background:var(--canvas)}
body.compact-review.night-mode{--canvas:#050505;--panel:#141414;--surface-soft:#212121;--ink:#ffffff;--muted:#9e9e9e;--line:rgb(255 255 255 / 14%);--layout-green:#00c972;--layout-orange:#ff9800;--layout-red:#ff8d98}
#compact-review{max-width:860px;font-size:calc(14px * var(--text-scale,1))}
body.compact-review #modal:not(.hidden){top:var(--app-viewport-top,0px)!important;bottom:calc(var(--cr-footer-height,68px) + env(safe-area-inset-bottom))!important;left:0!important;right:0!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;transform:none!important;margin:0!important;border:0!important;border-radius:0!important;box-sizing:border-box!important}
body.compact-review.cr-keyboard-open #modal:not(.hidden){bottom:0!important}
@media (orientation:landscape) and (max-height:500px) and (min-width:568px) {
  body.compact-review #modal:not(.hidden){
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:auto!important;
    bottom:calc(var(--cr-footer-height,68px) + env(safe-area-inset-bottom,0px))!important;
    width:100vw!important;
    width:100dvw!important;
    min-width:100vw!important;
    min-width:100dvw!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    transform:none!important;
    margin-top:0!important;
    margin-bottom:0!important;
    margin-left:calc(50% - 50vw)!important;
    margin-left:calc(50% - 50dvw)!important;
    margin-right:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50dvw)!important;
    box-sizing:border-box!important;
  }
}
body.compact-review #modal:not(.hidden)>.modal-head{padding-top:max(12px,env(safe-area-inset-top))!important;padding-left:max(14px,env(safe-area-inset-left))!important;padding-right:max(14px,env(safe-area-inset-right))!important}
body.compact-review #modal:not(.hidden)>.modal-body{flex:1 1 auto!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;padding-left:max(14px,env(safe-area-inset-left))!important;padding-right:max(14px,env(safe-area-inset-right))!important;padding-bottom:max(28px,env(safe-area-inset-bottom))!important}
body.compact-review #modal .simple-portal-home{width:100%;max-width:100%;margin:0}
body.compact-review #modal .simple-work-card>.button{display:flex;width:auto;margin:12px 16px 0}
body.compact-review #modal .simple-work-card>.simple-next-action{width:auto;margin:12px 12px 4px}
body.compact-review #modal .modal-navigation-back{margin-top:12px}
#compact-review .cr-docket-entry{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0 0 10px;padding:0 0 10px;border-bottom:1px solid var(--line)}
#compact-review .cr-docket-entry .cr-row{border-bottom:0}
#compact-review .cr-docket-entry>.cr-button{align-self:flex-start;margin:0 12px}
.simple-work-card>.button{display:inline-flex;margin:10px 16px 14px}
#compact-review button,#compact-review a,#compact-review summary{touch-action:manipulation}
#compact-review .cr-header{padding:12px 18px;padding-top:max(12px,env(safe-area-inset-top));min-height:66px;gap:10px}
#compact-review .cr-brand{background:none;border-radius:0;color:var(--ink);font-size:25px;font-weight:850;font-style:italic;letter-spacing:-1.5px;width:50px}
#compact-review .cr-header strong{font-size:calc(16px * var(--text-scale,1));font-weight:700}
#compact-review .cr-header small{font-size:calc(10px * var(--text-scale,1));letter-spacing:.03em}
#compact-review .cr-iconbutton{width:44px;height:44px;min-width:44px;padding:10px;color:var(--ink)}
#compact-review .cr-main{padding:18px 20px 26px;scrollbar-gutter:stable;overflow-x:hidden}
#compact-review h1{font-size:calc(22px * var(--text-scale,1));letter-spacing:-.025em}
#compact-review h2{font-size:calc(16px * var(--text-scale,1));letter-spacing:-.02em}
#compact-review .cr-pagehead{margin:0 0 16px;flex-wrap:wrap;min-width:0}
#compact-review .cr-row{min-height:60px;gap:12px;overflow-wrap:anywhere}
#compact-review .cr-row:not(.cr-open-shift){padding:12px 0}
#compact-review .cr-open-shift{padding:16px}
#compact-review .cr-open-shift.cr-needs-closeout{background:#7a3e12;border-color:#e0a15a;color:#fff}
#compact-review .cr-open-shift.cr-needs-closeout .cr-rowbody small{color:#fff4e8}
#compact-review :is(h1,h2,.cr-rowbody strong,.layout-shift-title strong,.layout-person>strong,.layout-unallocated strong,.cr-pill,.layout-chip,.cr-job-label b){min-width:0;overflow-wrap:anywhere;white-space:normal}
#compact-review .cr-row strong{font-size:calc(14px * var(--text-scale,1));font-weight:650}
#compact-review .cr-row small{font-size:calc(12px * var(--text-scale,1));line-height:1.45;margin-top:3px}
#compact-review .cr-row>svg{width:16px;height:16px}
#compact-review .cr-icon{background:none;border-radius:0;color:var(--muted);width:28px;height:32px}
#compact-review .cr-icon svg{width:23px;height:23px}
#compact-review .cr-list{border:0;border-radius:0;overflow:visible}
#compact-review .cr-list>.cr-row:last-child{border-bottom:1px solid var(--line)}
#compact-review .cr-sectionhead{margin-top:22px}
#compact-review .cr-sectionhead button,#compact-review .cr-button,#compact-review .cr-tabs button,#compact-review .cr-search input{min-height:44px}
#compact-review .cr-button{border-radius:6px}
#compact-review .cr-nav{grid-template-columns:repeat(auto-fit,minmax(0,1fr));padding:5px 10px max(5px,env(safe-area-inset-bottom));gap:6px}
#compact-review .cr-nav button{position:relative;min-height:60px;border-radius:0;padding:8px 1px 10px;font-size:calc(11px * var(--text-scale,1));color:var(--muted)}
#compact-review .cr-nav button[aria-current=page]{background:none;color:var(--srt93-accent);font-weight:700}
#compact-review .cr-nav button[aria-current=page]::after{content:'';position:absolute;bottom:2px;width:26px;height:3px;border-radius:2px;background:currentColor}
#compact-review .cr-nav svg{width:23px;height:23px}
#compact-review .cr-metrics{border:0;border-block:1px solid var(--line);border-radius:0;margin:14px 0}
#compact-review .cr-metrics button{padding:11px 8px}
#compact-review .cr-metrics b{font-size:calc(20px * var(--text-scale,1))}
#compact-review .cr-quick{gap:10px;margin-bottom:14px;flex-wrap:wrap}
#compact-review .cr-quick>.cr-row{border:0;border-bottom:1px solid var(--line);border-radius:0;flex:1 1 240px}
#compact-review .cr-job{padding:14px 0}
#compact-review .cr-job strong{font-weight:650}
#compact-review .cr-pill{border-radius:5px}
#compact-review .cr-map-panel{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface-soft)}
#compact-review .cr-map-heading{padding:10px 12px;background:var(--panel)}
#compact-review .cr-map-heading h2{font-size:calc(14px * var(--text-scale,1))}
#compact-review .cr-map-heading small{font-size:calc(11px * var(--text-scale,1))}
#compact-review .cr-map-canvas{height:260px;min-height:220px;background:#edf1eb}
#compact-review .cr-map-empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;background:var(--surface-soft);color:var(--muted);font-size:calc(13px * var(--text-scale,1))}
#compact-review .cr-map-empty p{max-width:34em;line-height:1.5}
#compact-review .cr-map-actions{padding:6px 10px;gap:8px;background:var(--panel)}
#compact-review .cr-map-actions button{border:0;font-size:calc(12px * var(--text-scale,1))}
#compact-review .cr-map-note{margin:0;padding:0 12px 10px;background:var(--panel);font-size:calc(10px * var(--text-scale,1));line-height:1.5}
#compact-review .layout-datebar{gap:8px;font-size:calc(12px * var(--text-scale,1));color:var(--muted)}
#compact-review .layout-datebar h1{margin-right:auto}
#compact-review .layout-datebar small{display:none}
#compact-review .layout-fleet-summary{display:flex;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:12px 0;font-size:calc(11px * var(--text-scale,1));color:var(--muted)}
#compact-review .layout-fleet-summary span{display:flex;align-items:center;gap:5px}
#compact-review .layout-fleet-summary i{display:inline-block;width:7px;height:7px;background:currentColor;border-radius:50%;flex:none}
#compact-review .layout-fleet-summary b{font-size:calc(13px * var(--text-scale,1));margin-left:1px}
#compact-review .layout-source{font-size:calc(11px * var(--text-scale,1));color:var(--muted);line-height:1.5;margin:9px 0 16px}
#compact-review .layout-section{margin-top:22px}
#compact-review .layout-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
#compact-review .layout-chip{display:inline-block;flex:none;border-radius:5px;background:var(--surface-soft);padding:4px 7px;font-size:calc(10px * var(--text-scale,1));font-weight:500;color:var(--muted)}
#compact-review .layout-person{display:flex;align-items:center;gap:10px;min-height:64px;width:100%;border:0;border-bottom:1px solid var(--line);padding:11px 0;background:var(--panel);color:var(--ink);text-align:left}
#compact-review .layout-person>strong{font-size:calc(14px * var(--text-scale,1));font-weight:600;flex:1;min-width:0;overflow-wrap:anywhere}
#compact-review .layout-person>span:last-child{flex:0 1 48%;font-size:calc(12px * var(--text-scale,1))}
#compact-review .layout-person b{display:block;font-weight:600}
#compact-review .layout-person small{display:block;color:var(--muted);font-size:calc(10px * var(--text-scale,1));margin-top:3px;line-height:1.4}
#compact-review .layout-line-icon{display:flex;width:28px;flex:none}
#compact-review .layout-status-working b,#compact-review .layout-status-working .layout-line-icon,#compact-review .layout-fleet-summary .layout-status-working{color:var(--layout-green)}
#compact-review .layout-status-night b,#compact-review .layout-status-night .layout-line-icon,#compact-review .layout-attention .cr-icon{color:var(--layout-orange)}
#compact-review .layout-status-off b,#compact-review .layout-status-off .layout-line-icon{color:var(--layout-red)}
#compact-review .layout-status-unknown .layout-line-icon{color:var(--muted)}
#compact-review .layout-view{font-size:calc(12px * var(--text-scale,1));color:var(--muted)}
#compact-review .layout-day-select{display:flex;align-items:center;background:var(--surface-soft);border-radius:7px;padding:4px;gap:4px}
#compact-review .layout-day-select>button{min-height:44px;border:0;border-radius:5px;background:none;padding:7px 14px;font-size:calc(13px * var(--text-scale,1));color:var(--muted);flex:1}
#compact-review .layout-day-select>button[aria-pressed=true]{background:var(--panel);color:var(--srt93-accent);font-weight:650;box-shadow:0 1px 3px #162d3b12}
#compact-review .layout-date-select{display:flex;align-items:center;gap:5px;min-width:0;max-width:46%;font-size:12px;padding:0 5px}
#compact-review .layout-date-select svg{width:18px}
#compact-review .layout-date-select input{min-height:44px;width:130px;max-width:100%;min-width:0;background:none;color:var(--ink);border:0;font-size:16px;box-shadow:none;padding:2px}
#compact-review .layout-plan-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px;color:var(--muted);font-size:calc(11px * var(--text-scale,1));margin:14px 0 5px}
#compact-review .layout-secondary-tabs{margin-bottom:10px}
#compact-review .layout-secondary-tabs button{font-size:calc(11px * var(--text-scale,1));padding-inline:11px}
#compact-review .layout-alert{display:flex;align-items:center;gap:9px;min-height:48px;width:100%;border:0;border-left:3px solid var(--layout-orange);border-radius:5px;background:#e5a94b18;color:var(--layout-orange);padding:10px;font-size:calc(13px * var(--text-scale,1));text-align:left}
#compact-review .layout-alert span{flex:1}
#compact-review .layout-unallocated{display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid var(--line);padding:14px 0;min-height:66px;background:var(--panel);color:var(--ink);text-align:left}
#compact-review .layout-unallocated>span:first-child{flex:1;min-width:0}
#compact-review .layout-unallocated strong{display:block;font-weight:600;font-size:calc(14px * var(--text-scale,1));overflow-wrap:anywhere}
#compact-review .layout-unallocated small{display:block;color:var(--muted);margin-top:4px;font-size:calc(11px * var(--text-scale,1))}
#compact-review .layout-outline{border:1px solid var(--line);border-radius:5px;padding:8px;color:var(--muted);font-size:calc(11px * var(--text-scale,1));flex:0 1 32%;text-align:center}
#compact-review .layout-shift{display:flex;width:100%;gap:12px;align-items:center;padding:15px 0;border:0;border-bottom:1px solid var(--line);min-height:88px;background:var(--panel);color:var(--ink);text-align:left}
#compact-review .layout-shift-time{display:flex;flex-direction:column;gap:2px;align-self:flex-start;flex:0 0 78px;font-size:calc(12px * var(--text-scale,1));font-weight:600;padding-top:2px;overflow-wrap:anywhere;line-height:1.2}
#compact-review .layout-shift-date{display:block;color:var(--muted);font-size:calc(10px * var(--text-scale,1));font-weight:650}
#compact-review .layout-shift-body{flex:1;min-width:0;border-left:2px solid var(--line);padding-left:12px;display:grid;gap:5px;font-size:calc(12px * var(--text-scale,1));line-height:1.4}
#compact-review .layout-shift-title{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
#compact-review .layout-shift-title strong{font-size:calc(14px * var(--text-scale,1));font-weight:650}
#compact-review .layout-shift-body>span{overflow-wrap:anywhere}
#compact-review .layout-shift small{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:calc(11px * var(--text-scale,1));overflow-wrap:anywhere}
#compact-review .layout-shift small svg{width:16px;height:16px}
#compact-review .layout-shift>svg{width:15px;height:15px;color:var(--muted)}
#compact-review .layout-conflict,#compact-review .layout-conflict-note{color:var(--layout-orange)}
#compact-review .layout-conflict-note{font-size:calc(10px * var(--text-scale,1));font-style:normal}
#compact-review .layout-add-job{display:flex;justify-content:center;align-items:center;gap:9px;width:100%;min-height:48px;margin-top:20px;border:0;border-radius:6px;background:var(--srt93-accent);color:var(--srt93-on-accent);font-size:calc(14px * var(--text-scale,1));font-weight:650}
#compact-review [data-manager-clock] svg{width:40px;height:40px}
body.compact-review .modal-head{background:var(--panel);border-bottom:1px solid var(--line)}
body.compact-review .modal-close{width:44px;min-height:44px;height:44px;flex-basis:44px}
body.compact-review .modal-body :is(.button,.cr-button){min-height:44px}
body.compact-review .modal-body :is(.form-card,.form-section,.simple-menu-card){border-radius:6px;box-shadow:none}
body.compact-review .modal-body :is(input,select,textarea){color:var(--ink);background:var(--panel)}
body.compact-review .modal-body .simple-menu-card{border-inline:0;border-top:0;border-radius:0}
body.compact-review .cr-note{font-size:calc(12px * var(--text-scale,1));color:var(--muted);line-height:1.5}
@media(min-width:760px){#compact-review .cr-main{padding:24px 30px 32px}#compact-review .cr-header{padding-inline:30px}#compact-review .cr-map-canvas{height:320px}}
@media(max-width:380px){#compact-review .cr-main{padding:14px 12px 22px}#compact-review .cr-header{padding-inline:12px;gap:5px}#compact-review .cr-header strong{font-size:14px}#compact-review .layout-datebar>span{font-size:11px}#compact-review .layout-day-select>button{padding-inline:7px}#compact-review .layout-date-select svg{display:none}#compact-review .layout-shift{gap:8px}#compact-review .layout-shift-time{flex-basis:68px}#compact-review .layout-shift-body{padding-left:9px}}
@media(prefers-reduced-motion:reduce){#compact-review *,body.compact-review #modal *{scroll-behavior:auto!important}}
#compact-review .cr-main{padding-bottom:140px}
body.compact-review #toast-region{z-index:1300;bottom:calc(var(--cr-footer-height, 68px) + 8px + env(safe-area-inset-bottom))}

body.compact-review.night-mode #compact-review :is(.cr-nav button[aria-current=page],.cr-tabs button[aria-pressed=true],.layout-day-select>button[aria-pressed=true],.cr-sectionhead button){color:var(--layout-green)}
#compact-review [data-shift98="open"]{border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding-inline:0!important}
#compact-review .cr-shift-followup{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
#compact-review .cr-shift-followup>.cr-button{flex:1 1 150px;text-align:center}
#compact-review .layout-history-tools{margin-top:16px;border-bottom:1px solid var(--line);padding-bottom:10px}
#compact-review .layout-history-tools>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:calc(13px * var(--text-scale,1));font-weight:600}

#compact-review .cr-header>div{min-width:0;flex:1}#compact-review .cr-header strong{overflow-wrap:anywhere}
#compact-review .cr-header .cr-brand{width:36px;font-size:22px;flex:none}
#compact-review .cr-header .cr-iconbutton{min-width:40px;width:40px;padding:9px}
#compact-review .cr-nav button:disabled{opacity:.55;cursor:default}
#compact-review [data-manager-clock]{display:inline-flex;margin-left:auto;width:40px;height:40px;flex:none}
.layout-plan-group{margin:18px 0;border-left:4px solid #315f91;padding-left:12px;min-width:0}
.layout-plan-group.group-accent-1{border-color:#746034}.layout-plan-group.group-accent-2{border-color:#725581}
.layout-plan-group h2{font-size:16px}.layout-plan-group h2 small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:5px}
.layout-driver-plan h3{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:0}
.layout-active{font-size:12px;color:var(--layout-green);border:1px solid currentColor;border-radius:4px;padding:3px 6px}
body.compact-review .group-driver-assets{border:1px solid var(--line);border-left:4px solid #315f91;margin:18px 0;padding:12px;min-width:0}
body.compact-review .group-driver-assets:nth-of-type(3n+2){border-left-color:#746034}body.compact-review .group-driver-assets:nth-of-type(3n){border-left-color:#725581}
body.compact-review .group-driver-assets legend{font-weight:700;padding:6px;max-width:100%;overflow-wrap:anywhere}
body.compact-review.night-mode .layout-plan-group,body.compact-review.night-mode .group-driver-assets{border:1px solid var(--line);border-left-width:4px;border-left-color:#1084fe;background:var(--panel)}
body.compact-review.night-mode .group-accent-1{border-left-color:#ff9800}body.compact-review.night-mode .group-accent-2{border-left-color:#8fa0f6}
body.compact-review.night-mode #compact-review :is(.cr-list,.cr-map-panel,.layout-section,.cr-job){background:var(--panel);border:1px solid var(--line)}
body.compact-review.night-mode #compact-review :is(.cr-row,.layout-person,.layout-shift,.layout-unallocated):not(.cr-open-shift){background:var(--panel)}
body.compact-review .modal-head :is(h2,p){overflow-wrap:anywhere;min-width:0}
body.compact-review #modal :is(input,select,textarea){max-width:100%;min-width:0;box-sizing:border-box}
body.compact-review #modal fieldset{min-inline-size:0}
#compact-review .layout-shift-title{flex-wrap:wrap}#compact-review .layout-chip{white-space:normal;text-align:left}
@media(max-width:380px){#compact-review .cr-header{gap:3px;padding-inline:10px}#compact-review .cr-header .cr-brand{width:30px;font-size:19px}#compact-review .cr-nav{gap:0;padding-inline:2px}#compact-review .cr-nav button{font-size:10px}body.compact-review .group-driver-assets .form-row{grid-template-columns:minmax(0,1fr)}}

/* Saved-position tyre diagram. Draws only recorded wheels; body shape follows the saved body type. */
body .tyre-position-diagram:has(.fitment-layout){max-width:440px;width:100%;margin-inline:auto;box-sizing:border-box;background:var(--panel);border-color:var(--line);color:var(--ink)}
body .fitment-layout{--tyre-w:34px;--tyre-h:56px;--dual-gap:3px;--core:108px;--fitment-fill:#d7e4ec;--fitment-stroke:#3d5564;--fitment-rail:#6a8290;--fitment-axle:#243846;--fitment-inset:rgba(36,56,70,.14);--fitment-glass:#b7d3e3;--fitment-slat:rgba(23,39,49,.22);--fitment-selected:#0d7a4c;--fitment-due:#9a5a09;container-type:inline-size;min-width:0;color:var(--ink)}
body:not(.day-mode) .fitment-layout{--fitment-fill:#212121;--fitment-stroke:#9e9e9e;--fitment-rail:#858585;--fitment-axle:#dedede;--fitment-inset:rgba(255,255,255,.08);--fitment-glass:#363636;--fitment-slat:rgba(255,255,255,.14);--fitment-selected:#00c972;--fitment-due:#ff9800}
.fitment-caption{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;margin:0 0 8px;padding:0 2px;color:var(--muted);font-size:calc(12px * var(--text-scale,1));font-weight:750;letter-spacing:.04em}
.fitment-caption span:nth-child(2){text-align:center;color:var(--ink)}
.fitment-caption span:last-child{text-align:right}
.fitment-stack{max-width:400px;margin:0 auto}
.fitment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(var(--core),1.15fr) minmax(0,1fr);align-items:stretch}
.fitment-bay{display:flex;align-items:flex-start;min-width:0;position:relative;z-index:2}
.fitment-bay.is-left{justify-content:flex-end;padding-right:8px}
.fitment-bay.is-right{justify-content:flex-start;padding-left:8px}
.fitment-row.is-axle .fitment-bay{padding-bottom:12px}
.fitment-pair{display:flex;align-items:flex-start;gap:var(--dual-gap)}
.fitment-core{position:relative;min-width:0;z-index:0}
.fitment-layout[data-body="end-tipper"] .is-nose{min-height:158px}
.fitment-layout[data-body="walking-floor"] .is-nose,.fitment-layout[data-body="trailer"] .is-nose{min-height:150px}
.fitment-layout[data-body="dolly"] .is-nose{min-height:108px}
.fitment-layout[data-body="prime"] .is-nose{min-height:118px}
.fitment-layout[data-body="chassis"] .is-nose{min-height:28px}
.fitment-layout .is-mid{min-height:72px}
.fitment-layout[data-body="end-tipper"] .is-tail,.fitment-layout[data-body="walking-floor"] .is-tail,.fitment-layout[data-body="trailer"] .is-tail{min-height:40px}
.fitment-layout[data-body="dolly"] .is-tail{min-height:18px}
.fitment-layout[data-body="prime"] .is-tail{min-height:48px}
.fitment-layout[data-body="chassis"] .is-tail{min-height:16px}
.fitment-layout[data-body="end-tipper"] .fitment-core,.fitment-layout[data-body="walking-floor"] .fitment-core,.fitment-layout[data-body="trailer"] .fitment-core{background:var(--fitment-fill);box-shadow:inset 2.5px 0 0 var(--fitment-stroke),inset -2.5px 0 0 var(--fitment-stroke)}
.fitment-layout[data-body="end-tipper"] .is-nose .fitment-core{border-radius:14px 14px 0 0;box-shadow:inset 2.5px 0 0 var(--fitment-stroke),inset -2.5px 0 0 var(--fitment-stroke),inset 0 2.5px 0 var(--fitment-stroke)}
.fitment-layout[data-body="walking-floor"] .is-nose .fitment-core,.fitment-layout[data-body="trailer"] .is-nose .fitment-core{border-radius:4px 4px 0 0;box-shadow:inset 2.5px 0 0 var(--fitment-stroke),inset -2.5px 0 0 var(--fitment-stroke),inset 0 8px 0 var(--fitment-stroke)}
.fitment-layout[data-body="end-tipper"] .is-tail .fitment-core,.fitment-layout[data-body="walking-floor"] .is-tail .fitment-core,.fitment-layout[data-body="trailer"] .is-tail .fitment-core{border-radius:0 0 8px 8px;box-shadow:inset 2.5px 0 0 var(--fitment-stroke),inset -2.5px 0 0 var(--fitment-stroke),inset 0 -2.5px 0 var(--fitment-stroke)}
.fitment-layout[data-body="end-tipper"] .is-tail .fitment-core::before{content:"";position:absolute;top:0;left:18px;right:18px;height:7px;background:var(--fitment-stroke)}
.fitment-layout[data-body="walking-floor"] .is-nose .fitment-core::after,.fitment-layout[data-body="walking-floor"] .is-mid .fitment-core::after{content:"";position:absolute;left:0;right:0;top:8px;bottom:36px;background-image:repeating-linear-gradient(to bottom,transparent 0 13px,var(--fitment-slat) 13px 15px);pointer-events:none}
.fitment-layout[data-body="walking-floor"] .is-tail .fitment-core::after{content:"";position:absolute;left:18px;right:18px;top:16px;bottom:6px;background-image:repeating-linear-gradient(to bottom,transparent 0 13px,var(--fitment-slat) 13px 15px);pointer-events:none}
.fitment-layout[data-body="dolly"] .is-axle .fitment-core,.fitment-layout[data-body="dolly"] .is-mid .fitment-core{background:var(--fitment-fill);box-shadow:inset 2.5px 0 0 var(--fitment-stroke),inset -2.5px 0 0 var(--fitment-stroke)}
.fitment-layout[data-body="dolly"] .is-tail .fitment-core{background:var(--fitment-fill);border-radius:0 0 6px 6px;box-shadow:inset 2.5px 0 0 var(--fitment-stroke),inset -2.5px 0 0 var(--fitment-stroke),inset 0 -2.5px 0 var(--fitment-stroke)}
.fitment-layout[data-body="chassis"] .fitment-core{box-shadow:inset 2px 0 0 var(--fitment-rail),inset -2px 0 0 var(--fitment-rail)}
.fitment-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.fitment-art path{fill:none;stroke:var(--fitment-stroke);stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.fitment-rail{position:absolute;top:0;bottom:0;left:50%;width:16px;transform:translateX(-50%);background:linear-gradient(var(--fitment-rail),var(--fitment-rail)) left/2px 100% no-repeat,linear-gradient(var(--fitment-rail),var(--fitment-rail)) right/2px 100% no-repeat;pointer-events:none}
.fitment-layout[data-body="end-tipper"] .is-nose .fitment-rail,.fitment-layout[data-body="walking-floor"] .is-nose .fitment-rail,.fitment-layout[data-body="trailer"] .is-nose .fitment-rail{top:46%}
.fitment-layout[data-body="prime"] .is-nose .fitment-rail,.fitment-layout[data-body="dolly"] .is-nose .fitment-rail{display:none}
.fitment-axle-line{position:absolute;left:10px;right:10px;top:calc(var(--tyre-h) / 2 - 2px);height:4px;border-radius:2px;background:linear-gradient(#f7fbfe,var(--fitment-axle) 42%,#6d8494);box-shadow:0 1px 0 rgba(0,0,0,.25);pointer-events:none}
body:not(.day-mode) .fitment-axle-line{background:linear-gradient(#9e9e9e,var(--fitment-axle) 38%,#636363)}
.fitment-pin{position:absolute;top:7px;left:50%;width:12px;height:12px;transform:translateX(-50%);border:2px solid var(--fitment-stroke);border-radius:50%;background:radial-gradient(circle,var(--fitment-stroke) 0 2px,var(--fitment-fill) 3px);z-index:2;pointer-events:none}
.fitment-fifth{position:absolute;left:50%;top:50%;width:30px;height:30px;transform:translate(-50%,-50%);border:2px solid var(--fitment-stroke);border-radius:50%;background:radial-gradient(circle,transparent 0 7px,var(--fitment-stroke) 8px 10px,transparent 11px),var(--fitment-fill);z-index:2;pointer-events:none}
.fitment-layout[data-body="dolly"] .is-nose .fitment-fifth{top:28%;bottom:auto;transform:translate(-50%,0)}
.fitment-lamps{position:absolute;left:14%;right:14%;bottom:7px;display:flex;justify-content:space-between;z-index:2;pointer-events:none}
.fitment-row.is-tail .fitment-lamps{display:none}
.fitment-lamps i{width:8px;height:8px;border-radius:50%;background:#de5a52;box-shadow:0 0 0 1px rgba(0,0,0,.35)}
.fitment-layout[data-body="prime"] .is-nose .fitment-lamps{top:10px;bottom:auto}
.fitment-layout[data-body="prime"] .is-nose .fitment-lamps i{background:#f6f1dc;box-shadow:0 0 0 1px var(--fitment-stroke)}
.fitment-door{position:absolute;top:8px;bottom:8px;left:50%;width:2px;transform:translateX(-50%);background:var(--fitment-stroke);pointer-events:none}
.fitment-cab{position:absolute;inset:2px 0 0;display:flex;flex-direction:column;gap:3px;pointer-events:none}
.fitment-hood{height:18px;margin:0 14%;border:2px solid var(--fitment-stroke);border-radius:7px 7px 2px 2px;background:var(--fitment-fill)}
.fitment-glass{height:20px;margin:0 10%;border:2px solid var(--fitment-stroke);border-radius:2px;background:var(--fitment-glass)}
.fitment-cab-body{position:relative;flex:1;border:2.5px solid var(--fitment-stroke);border-radius:9px 9px 3px 3px;background:var(--fitment-fill)}
body .fitment-layout .tyre-position-choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;width:var(--tyre-w);min-width:var(--tyre-w);min-height:0;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink);box-shadow:none;cursor:pointer;font-weight:750}
body .fitment-layout .tyre-position-choice input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
body .fitment-layout .tyre-position-choice:has(input:disabled){cursor:default;opacity:1}
body .fitment-layout .tyre-position-choice:has(input:disabled) input{cursor:default}
body .fitment-layout .tyre-position-symbol{display:block;width:var(--tyre-w);height:var(--tyre-h);border-radius:calc(var(--tyre-w) * .34);background:linear-gradient(90deg,#121418 0%,#2c3138 8%,#1a1d22 16%,#262a30 50%,#1a1d22 84%,#2c3138 92%,#121418 100%);box-shadow:inset 0 0 0 1.5px #0c0e11,inset 0 1px 0 rgba(255,255,255,.34),0 1px 1px rgba(0,0,0,.28);position:relative;opacity:1}
body .fitment-layout .tyre-position-symbol::before{content:"";position:absolute;left:20%;right:20%;top:7%;bottom:7%;border-radius:3px;background:repeating-linear-gradient(90deg,#3c4149 0 2px,#202328 2px 5px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
body .fitment-layout .tyre-code{display:block;max-width:100%;margin:0;color:var(--ink);font-size:calc(12px * var(--text-scale,1));font-weight:750;letter-spacing:0;line-height:1.1;text-align:center;white-space:nowrap}
body .fitment-pair .tyre-code small{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body .fitment-layout .tyre-position-choice:has(input:checked) .tyre-position-symbol{box-shadow:0 0 0 3px var(--fitment-selected),inset 0 0 0 1.5px #0c0e11,inset 0 1px 0 rgba(255,255,255,.34)}
body .fitment-layout .tyre-position-choice:has(input:checked) .tyre-code{color:var(--fitment-selected)}
body .fitment-layout .tyre-position-choice.has-open-wheel-change .tyre-position-symbol{box-shadow:0 0 0 3px var(--fitment-due),inset 0 0 0 1.5px #0c0e11,inset 0 1px 0 rgba(255,255,255,.34)}
body .fitment-layout .tyre-position-choice.has-open-wheel-change:has(input:checked) .tyre-position-symbol{box-shadow:0 0 0 3px var(--fitment-selected),inset 0 0 0 1.5px #0c0e11}
body .fitment-layout .tyre-position-choice.has-open-wheel-change .tyre-position-symbol::after{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--fitment-due);box-shadow:0 0 0 2px var(--panel);transform:translateX(-50%)}
body .fitment-layout .tyre-position-choice:has(input:focus-visible){outline:3px solid var(--fitment-selected);outline-offset:2px}
body.day-mode .fitment-layout .tyre-position-choice:has(input:checked) .tyre-code{color:#085c38}
body:not(.day-mode) .fitment-layout .tyre-position-choice:has(input:checked) .tyre-code{color:#00c972}
.fitment-due{list-style:none;margin:10px 0 0;padding:8px 10px;border:1px solid var(--fitment-due);border-radius:8px}
body.day-mode .fitment-due{background:#fff6e8;color:#6a3e08}
body:not(.day-mode) .fitment-due{background:#2a1d10;color:#ff9800}
.fitment-due li{font-size:calc(12px * var(--text-scale,1));font-weight:700;line-height:1.35}
.fitment-extra{display:grid;gap:6px;margin-top:12px}
.fitment-extra>strong{color:var(--ink);font-size:calc(12px * var(--text-scale,1))}
body .fitment-extra .tyre-position-choice{flex-direction:row;align-items:center;width:auto;min-width:0;min-height:44px;padding:8px 10px;border:1px solid var(--line);background:var(--surface-soft);gap:8px}
body .fitment-extra .tyre-position-symbol{display:none}
body .fitment-extra .tyre-code{white-space:normal;text-align:left;font-size:calc(13px * var(--text-scale,1))}
body .fitment-extra .tyre-code small{display:block;margin-top:2px;color:var(--fitment-due);font-size:calc(11px * var(--text-scale,1));font-weight:700}
@container (min-width: 431px){
 .fitment-stack{--tyre-w:38px;--tyre-h:64px;--dual-gap:4px;--core:132px}
}
@container (max-width: 430px){
 .fitment-stack{--tyre-w:44px;--tyre-h:44px;--dual-gap:4px;--core:64px}
 .fitment-row{grid-template-columns:auto minmax(var(--core),1fr) auto}
 .fitment-bay.is-left{padding-right:2px}
 .fitment-bay.is-right{padding-left:2px}
 .fitment-row.is-axle .fitment-bay{padding-bottom:8px}
 .fitment-layout .tyre-position-choice{width:44px;min-width:44px;min-height:44px}
 .fitment-pair .tyre-code{max-width:44px;overflow:hidden}
}
.fitment-wheel-list{display:none}
@media (max-width: 430px){
 .fitment-wheel-list{display:grid;gap:8px;margin-top:12px}
 .fitment-wheel-row{display:flex;align-items:center;box-sizing:border-box;width:100%;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink);font-size:calc(14px * var(--text-scale,1));font-weight:650}
}
body .srt93-reference .srt93-wheel-list{display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0 4px}
body .srt93-reference .srt93-wheel-list button{box-sizing:border-box;width:100%;min-width:44px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);text-align:left;font:inherit;font-weight:650}
body .srt93-reference .srt93-wheel-list button[aria-pressed="true"]{outline:3px solid var(--srt93-accent)}
@media (min-width: 480px){body .srt93-reference .srt93-wheel-list{grid-template-columns:1fr 1fr}}

/* Director "Cancel this job?" dialog on phones: equal, full-width stacked actions pinned to the
   bottom of the sheet, and a full-width 44px tap row for "Add a note (optional)". Layout only. */
@media (max-width:720px){
#modal .modal-body:has(> #management-cancel-job-form){display:flex;flex-direction:column;padding-bottom:0}
#modal #management-cancel-job-form{flex:1 0 auto;display:flex;flex-direction:column;gap:14px}
#modal #management-cancel-job-form > p{margin:0}
#modal #management-cancel-job-form > details > summary{box-sizing:border-box;width:100%;min-height:44px;padding:12px 0;line-height:20px;cursor:pointer;-webkit-tap-highlight-color:transparent}
#modal #management-cancel-job-form > .confirmation-actions{position:sticky;bottom:0;z-index:2;margin-top:auto;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;flex-wrap:nowrap;gap:12px!important;padding:12px 0 max(12px,env(safe-area-inset-bottom));background:var(--panel)}
body.compact-review #modal #management-cancel-job-form > .confirmation-actions{background:var(--canvas,var(--panel))}
#modal #management-cancel-job-form > .confirmation-actions > .button{flex:0 0 auto;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:auto;min-height:52px!important;margin:0;padding:12px 16px!important;border-radius:12px!important;font-size:max(16px,calc(16px * var(--text-scale,1)))!important;line-height:1.25!important}
}

/* Night surfaces, fields, map chrome and status fills. Layout is unchanged. */
body.night-mode #compact-review .cr-row .cr-icon,
body.night-mode .srt-more-menu .cr-icon { color: #8fa0f6; background: #212121; }
body.night-mode #compact-review .srt-weight-docket .cr-icon { color: #050505; background: #ff9800; }
body.night-mode #compact-review .srt-driver-docket .cr-icon { color: #ffffff; background: #292929; }
body.compact-review.night-mode #compact-review .cr-search,
body.compact-review.night-mode .modal-body :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]), select, textarea) {
  background: #212121; color: #ffffff; border-color: rgb(255 255 255 / 14%);
}
body.compact-review.night-mode #compact-review .cr-search input { background: transparent; color: #ffffff; }
body.night-mode :is(input, textarea)::placeholder { color: #9e9e9e; opacity: 1; }
body.night-mode :is(a, .link-button) { color: #8fa0f6; }
body.night-mode :is(a, .link-button):hover { color: #1084fe; }
body.night-mode #compact-review .cr-open-shift { background: #0b6b42; border-color: #00c972; color: #ffffff; }
body.night-mode #compact-review .cr-open-shift .cr-rowbody small { color: #ffffff; }
body.night-mode #compact-review .cr-open-shift.cr-needs-closeout { background: #2a1d10; border-color: #ff9800; color: #ffffff; }
body.night-mode #compact-review .cr-open-shift.cr-needs-closeout .cr-rowbody small { color: #ffffff; }
body.compact-review.night-mode .cr-map-canvas { background: #141414; }
body.compact-review.night-mode .cr-map-canvas .leaflet-tile { filter: brightness(.72) contrast(.95) saturate(.35); }
body.compact-review.night-mode .cr-map-canvas .leaflet-control-zoom a { background: #212121; color: #ffffff; border-color: rgb(255 255 255 / 14%); }
body.compact-review.night-mode .cr-map-canvas .leaflet-control-attribution { background: rgb(5 5 5 / 88%); color: #9e9e9e; }
body.compact-review.night-mode .cr-map-popup { color: #ffffff; }
body.compact-review.night-mode .cr-map-popup button { background: #292929; color: #ffffff; border-color: rgb(255 255 255 / 14%); }
body.compact-review.night-mode .cr-truck-pin { background: #05a95f; color: #050505; border-color: #ffffff; }
body.compact-review.night-mode .cr-truck-pin.is-stale { background: #ff9800; color: #050505; }
body.night-mode .toast { background: #292929; color: #ffffff; border: 1px solid rgb(255 255 255 / 14%); }
body.night-mode .toast.success { background: #0b6b42; color: #ffffff; }
body.night-mode .toast.warning { background: #d77f02; color: #050505; }
body.night-mode .modal-backdrop { background: rgb(0 0 0 / 50%); }
body.night-mode .message-priority-badge.is-high { color: #050505; background: #ff9800; }
body.night-mode .message-priority-badge.is-urgent { color: #050505; background: #ff263c; }
body.night-mode :is(.pill-green, .status-good) { background: #12382a; color: #00c972; border-color: #05a95f; }
body.night-mode .pill-amber { background: #2a1d10; color: #ff9800; border-color: #d77f02; }
body.night-mode .pill-red { background: #2a1218; color: #ff8d98; border-color: #ff263c; }
body.night-mode .pill-blue { background: #212121; color: #8fa0f6; border-color: #1084fe; }
body.night-mode .pill-grey { background: #292929; color: #9e9e9e; border-color: rgb(255 255 255 / 14%); }
#compact-review .cr-nav button[aria-current=page] svg{stroke-width:2.25}
#compact-review .cr-nav button[aria-current=page] svg .srt-solid{fill:currentColor;fill-opacity:.22}
#compact-review .cr-empty{display:flex;flex-direction:column;align-items:center}
#compact-review .cr-empty-icon{display:flex;justify-content:center;margin:0 auto 8px;color:var(--muted)}
#compact-review .cr-map-empty .cr-empty-icon{margin-bottom:8px}
