/* Yard Tracker V2 — pre-release whole-app polish layer.
   Loaded last so it can unify legacy screen-specific styles without changing business logic. */
:root{
  --yt-space-1:4px;
  --yt-space-2:8px;
  --yt-space-3:12px;
  --yt-space-4:16px;
  --yt-space-5:20px;
  --yt-space-6:24px;
  --yt-space-7:32px;
  --yt-radius-sm:10px;
  --yt-radius-md:14px;
  --yt-radius-lg:18px;
  --yt-control:44px;
  --yt-control-mobile:48px;
  --yt-content:1480px;
  --yt-form:760px;
  --yt-surface:#111a23;
  --yt-surface-raised:#15212c;
  --yt-border:#2a3946;
  --yt-muted:#93a6b4;
}
html,body{max-width:100%;overflow-x:hidden}
body{line-height:1.45}
button,input,select,textarea{max-width:100%}
button{min-height:var(--yt-control);line-height:1.2}
button,.badge,.field-card,.panel,.container-card,.record-card{overflow-wrap:anywhere}
input,select,textarea{min-width:0}
input::placeholder,textarea::placeholder{color:#718796;opacity:1}
h1,h2,h3,strong,small,span,p,label{min-width:0}
img{max-width:100%}
.icon{vertical-align:middle}

/* Typography and grouping */
.heading{gap:var(--yt-space-5);margin-bottom:var(--yt-space-6)}
.heading h1{line-height:1.1}
.heading p,.page-caption{line-height:1.5}
.panel,.container-card,.record-card{border-color:var(--yt-border)}
.panel-head{gap:var(--yt-space-4)}
.panel-head h2{line-height:1.2}
.empty{line-height:1.55}
.badge{line-height:1.2;max-width:100%}

/* Forms */
.field{gap:7px}
.field>label,.field>span,label.field{line-height:1.35}
.field input,.field select,.field textarea,.register-toolbar input,.register-toolbar select,.register-form input,.register-form select,.register-form textarea{
  min-height:var(--yt-control);
  border-radius:var(--yt-radius-sm);
}
textarea{line-height:1.45}
.error{line-height:1.45}
dialog{max-width:calc(100vw - 24px)}
.modal-head,.modal-body,.modal-foot{min-width:0}
.modal-head h2{overflow-wrap:anywhere}
.modal-body{overflow-x:hidden}
.modal-body form{max-width:100%}
.form-grid,.register-form{min-width:0}
.photo-drop{min-height:104px}

/* Consistent evidence treatment */
.photos,.review-evidence,.intake-photos,.record-photo-list{gap:10px}
.photos img,.review-evidence img,.intake-photos img,.record-thumbs img,.field-photo{
  object-fit:cover;
  background:#0b141b;
  border-color:var(--yt-border);
}
.operational-evidence img,.msg-photo-link img,.msg-photo-view img{object-fit:contain;background:#091116}
.field-photo.wide{object-fit:cover;background:#0b141b}
.record-thumbs img{width:52px;height:52px}

/* Tablet transition: the base app hides the desktop rail at 800px; clear its reserved workspace too. */
@media(min-width:761px) and (max-width:800px){
  .sidebar{display:none!important}
  .workspace{margin-left:0!important}
  .workspace main{width:100%;max-width:none;padding-left:24px;padding-right:24px;padding-bottom:96px}
  .topbar{left:0;width:100%}
}

/* Worker mobile: simple, readable, thumb friendly */
@media(max-width:760px){
  :root{--yt-control:var(--yt-control-mobile)}
  .field-main{max-width:100%;overflow-x:hidden}
  .field-top{padding-left:16px!important;padding-right:16px!important}
  .field-hero{
    margin-bottom:16px;
    min-height:198px;
    padding:20px 20px 17px;
    background-position:center 54%;
  }
  .field-hero h1{font-size:clamp(30px,9vw,35px);line-height:1.02;margin:14px 0 8px;max-width:12ch}
  .field-hero p{line-height:1.4}
  .field-section{margin-bottom:22px}
  .field-section>header{margin-bottom:9px}
  .field-section>header h2{font-size:10px;letter-spacing:1.55px}
  .field-quick-grid{gap:9px;margin-bottom:20px}
  .field-quick-grid button{
    min-height:54px;
    padding:12px 10px;
    font-size:14px;
    white-space:normal;
    text-align:center;
  }
  .field-worker-actions button{min-height:58px}
  .field-card{
    gap:12px;
    padding:14px;
    margin-bottom:8px;
    border-radius:var(--yt-radius-md)!important;
    min-height:76px;
  }
  .field-card-copy{padding-right:18px}
  .field-card-copy strong{font-size:16px;line-height:1.25;margin:3px 0 5px}
  .field-card-copy>span:not(.field-card-arrow){font-size:12.5px;line-height:1.4}
  .field-card-copy .field-kicker{font-size:8.5px}
  .field-photo{width:64px;height:68px}
  .field-card.featured .field-photo{height:156px}
  .field-card.featured .field-card-copy{padding:17px 34px 18px 17px}
  .field-card-arrow{right:12px;bottom:14px}
  .field-card-cta{margin-top:10px!important}
  .field-nav{padding-left:4px;padding-right:4px}
  .field-nav button{min-width:0!important}
  .field-nav button span{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

  /* Record In / Record Out / Move */
  #dialog.field-dialog{
    width:100%;
    max-width:560px;
    max-height:calc(100vh - var(--ux-vtop,0px) - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    border-radius:20px 20px 0 0;
  }
  .field-dialog .modal-head{padding:15px 16px;min-height:64px}
  .field-dialog .modal-head h2{font-size:21px}
  .field-dialog .modal-body{padding:15px 16px calc(18px + env(safe-area-inset-bottom))}
  .field-dialog .field{margin-bottom:16px!important}
  .field-dialog input:not([type=checkbox]):not([type=radio]):not([type=file]),
  .field-dialog select,.field-dialog textarea{min-height:50px;border-radius:11px}
  .field-dialog textarea{min-height:92px}
  .physical-capture .field-two{gap:9px;margin:0 0 12px}
  .physical-capture .dispatch-photo{
    min-height:84px;
    border-radius:13px;
    padding:12px 10px;
  }
  .physical-capture>p,.physical-review>p{font-size:13px!important;line-height:1.4!important;margin:8px 0 14px!important}
  .physical-hint{font-size:12px!important}
  .physical-line{padding:14px 0;margin-bottom:10px}
  .physical-line h3{font-size:18px;line-height:1.25;margin-bottom:7px}
  .physical-balance{font-size:12px}
  .physical-confirm{margin:18px 0}
  .physical-review .field-photo.wide{height:min(42dvh,220px);border-radius:13px;margin:10px 0 14px}
  .physical-review .primary,.physical-capture .primary{min-height:56px}
  .field-dialog details{border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff0b}
  .field-dialog summary{padding:13px 0}

  /* Yard jobs */
  .field-job-actions{padding-bottom:12px}
  .field-job-actions>.field-photo.wide{height:min(38dvh,210px);margin-bottom:14px}
  .field-job-location{padding:11px 12px;margin-bottom:12px}
  .field-job-location strong{font-size:14px}
  .field-job-location button{min-width:44px}
  .field-job-actions .field-two{gap:8px}
  .field-job-actions .field-two button{font-size:13px;min-height:48px}

  /* Mobile materials */
  .material-browser-row{grid-template-columns:56px minmax(0,1fr)!important;gap:11px;padding:12px!important}
  .material-browser-row>img,.material-photo-placeholder{width:56px!important;height:56px!important}
  .material-browser-title h3{font-size:15px}
  .material-browser-copy>p{font-size:11.5px;line-height:1.4}
  .material-browser-actions{gap:8px;flex-wrap:wrap}
  .material-browser-actions button{min-height:44px}

  /* Mobile containers and cards */
  .container-card{padding:15px;gap:10px}
  .container-card .actions{gap:8px}
  .container-card .actions button{min-height:48px}
  .record-card>header,.record-card>footer{padding:13px 14px}
  .record-lines{padding:0 14px}
  .record-lines>div{gap:12px;padding:12px 0}

  /* Mobile maps */
  .yard-map-top{left:10px!important;right:10px!important}
  .yard-map-tools{right:10px!important}
  .yard-nearest-card{left:10px!important;right:66px!important}
  .yard-sheet{border-radius:20px 20px 0 0}
  .yard-sheet h2{font-size:21px}
}

/* Admin mobile: Astra remains the primary action, supporting content stays calm. */
@media(max-width:760px){
  .field-astra-home{margin:0 0 18px}
  .field-astra-panel{border-radius:16px;overflow:hidden}
  .field-astra-primary{min-height:92px}
  .field-astra-copy strong{line-height:1.12}
  .field-astra-copy small{line-height:1.35}
  .field-admin-actions-label{margin-top:18px}
  .field-admin-home-actions{margin-bottom:18px}
  .field-admin-today{margin-top:4px}
  .field-admin-today-row{min-height:70px}
  .field-admin-today-copy strong,.field-admin-today-copy>span{overflow-wrap:anywhere}
}

/* Stock Movements: professional register and stable filter grid. */
.movement-register{overflow:visible}
.movement-head{align-items:flex-start}
.movement-head-status{flex:0 0 auto}
.movement-filters{
  display:grid!important;
  grid-template-columns:minmax(280px,2fr) repeat(4,minmax(118px,1fr)) minmax(132px,1fr) minmax(132px,1fr)!important;
  gap:10px!important;
  align-items:end;
  padding:0 16px 14px;
}
.movement-filters>.field{min-width:0!important;margin:0!important}
.movement-search{min-width:0}
.movement-search-copy{min-width:0}
.movement-search input{min-width:0;width:100%}
.movement-date-filter{min-width:132px!important}
.movement-row{min-width:0}
.movement-core,.movement-context,.movement-row-end{min-width:0}
.movement-title strong,.movement-context strong,.movement-row-end span{overflow-wrap:anywhere}
.movement-thumb{object-fit:cover}
.movement-photo-cell{min-width:0;max-width:100%}
.movement-photo-cell .movement-thumb{max-width:100%;overflow:hidden}
.movement-detail{max-width:100%}
.movement-edit-grid{min-width:0}
.movement-source-grid dd{overflow-wrap:anywhere}
.movement-evidence-section img{object-fit:contain;background:#091116}
@media(max-width:1360px){
  .movement-filters{
    grid-template-columns:minmax(260px,2fr) repeat(3,minmax(120px,1fr))!important;
  }
  .movement-search{grid-column:1/-1}
}
@media(max-width:900px){
  .movement-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:0 12px 12px}
  .movement-search{grid-column:1/-1}
  .movement-date-filter{min-width:0!important}
  .movement-row{grid-template-columns:78px minmax(0,1fr)!important}
  .movement-context,.movement-row-end{grid-column:2}
}
@media(max-width:560px){
  .movement-title{width:100%;max-width:100%;align-items:flex-start}
  .movement-title .movement-source,.movement-title .movement-direction{flex:0 1 auto;max-width:100%;white-space:normal}
  .movement-title strong{flex:1 1 100%;min-width:0;white-space:normal}
  .movement-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .movement-filters{grid-template-columns:1fr!important}
  .movement-search{grid-column:auto}
  .movement-row{padding:12px!important}
  .movement-photo-cell{align-self:start}
  .movement-row{grid-template-columns:68px minmax(0,1fr)!important}
  .movement-context,.movement-row-end{grid-column:1/-1}
  .movement-modal-head{align-items:flex-start}
  .movement-edit-grid{grid-template-columns:1fr!important}
}

/* Operational filters: stop stretched/clipped controls on desktop and tablet. */
.register-toolbar{gap:10px}
.register-toolbar label{min-width:120px}
.register-toolbar input,.register-toolbar select{min-width:0}
@media(min-width:761px){
  .register-toolbar{align-items:end}
  .register-toolbar .search-field{min-width:220px}
  .receipt-filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(130px,1fr));align-items:end}
}

/* Transport: maintain spreadsheet density while containing long real-world values. */
.dispatch-table,.transport-table{min-width:0}
.dispatch-row,.transport-row{min-width:0}
.dispatch-row strong,.dispatch-row span,.transport-row strong,.transport-row span{min-width:0;overflow-wrap:anywhere}
.dispatch-filters,.transport-filters{align-items:end}
.dispatch-filters input,.dispatch-filters select,.transport-filters input,.transport-filters select{min-width:0}
@media(max-width:760px){
  .dispatch-heading{margin:14px 0}
  .dispatch-card,.transport-card{border-radius:14px}
  .dispatch-route{gap:12px}
  .dispatch-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Messenger containment and keyboard-friendly composer. */
.msg-conversation-copy,.msg-thread-head>div{min-width:0}
.msg-conversation-top strong,.msg-preview{max-width:100%}
.msg-compose-row textarea{min-width:0}
@media(max-width:760px){
  .msg-sidebar{padding:12px 10px!important}
  .msg-conversation{min-height:72px!important;padding:9px 8px!important}
  .msg-thread-head{padding:8px 9px!important}
  .msg-history{padding:11px 9px 8px!important}
  .msg-bubble{max-width:90%!important}
  #msg-composer{padding-left:8px!important;padding-right:8px!important}
}

/* Desktop: purposeful widths instead of stretched mobile forms. */
@media(min-width:801px){
  main:not(.desktop-yard-map-main){max-width:var(--yt-content)}
  .modal-body>form,.modal-body form.register-form{max-width:var(--yt-form)}
  .movement-detail{max-width:1100px}
  .login-form form{max-width:390px}
}
@media(min-width:1366px){
  .workspace main:not(.desktop-yard-map-main){padding-left:32px;padding-right:32px}
}

/* Narrow phones and long real-world content. */
@media(max-width:390px){
  .field-main{padding-left:14px!important;padding-right:14px!important}
  .field-hero{margin-left:-14px!important;margin-right:-14px!important}
  .field-quick-grid{grid-template-columns:1fr 1fr}
  .field-quick-grid button{font-size:13px;padding-left:8px;padding-right:8px}
  .field-card{padding:12px}
  .field-card-copy strong{font-size:15.5px}
  .field-dialog .modal-head,.field-dialog .modal-body{padding-left:14px;padding-right:14px}
}
@media(max-width:360px){
  .field-quick-grid button{font-size:12.5px}
  .field-photo{width:58px;height:64px}
  .field-nav button span{font-size:8.5px}
}



/* Second refinement pass — quieter chrome, clearer hierarchy, more deliberate density. */
input::placeholder,textarea::placeholder{color:#607684;opacity:.86}
button:not(.primary):not(.amber):not(.danger){box-shadow:none}
.field-card-copy .field-card-cta{
  border:1px solid rgba(135,194,224,.22)!important;
  background:rgba(103,164,195,.14)!important;
  color:#bcddeb!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  line-height:1.2!important;
}
.field-card[data-receive] .field-card-copy .field-card-cta,
.field-card.featured .field-card-copy .field-card-cta{
  background:#c5e0ed!important;
  border-color:#c5e0ed!important;
  color:#102836!important;
}
.field-history>summary{color:#94aab8}
.field-history>summary:hover{color:#c7dce7}
.field-result-summary{padding-inline:1px}
.field-result-summary strong{letter-spacing:-.01em}
.field-empty{border-color:rgba(255,255,255,.055)!important}

/* Graphite buttons should read as controls, not a wall of equally weighted tiles. */
.field-worker-actions button:not(.primary),
.field-admin-home-actions button,
.field-home-actions button:not(.primary){
  background:linear-gradient(180deg,rgba(27,43,54,.92),rgba(18,31,40,.92))!important;
  border-color:rgba(139,181,202,.13)!important;
}
.field-worker-actions button:not(.primary):active,
.field-admin-home-actions button:active,
.field-home-actions button:not(.primary):active{background:#1c3341!important}
.field-admin-home-actions .icon,.field-home-actions .icon{color:#9dbdcd}

/* Yard Jobs creation is useful but should not compete with the active work list. */
.field-main>[data-new-operation]{
  background:transparent!important;
  border:1px solid rgba(140,181,201,.15)!important;
  color:#a9c5d3!important;
  font-weight:650!important;
}

/* Astra is the admin focal point; use depth rather than extra colour. */
.field-astra-panel{
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 10px 28px rgba(0,0,0,.16)!important;
}
.field-astra-panel.has-pending{border-color:rgba(213,171,100,.28)!important}

/* Stock control navigation behaves like a compact mode switch, especially on phone. */
.stock-admin-tabs{gap:8px!important}
.stock-admin-tabs button{min-width:0}
@media(max-width:600px){
  .stock-admin-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    margin-bottom:14px!important;
    padding:0!important;
  }
  .stock-admin-tabs button{
    width:100%!important;
    min-height:46px!important;
    padding:9px 10px!important;
    font-size:12px!important;
    white-space:normal!important;
  }
}

/* Desktop operational readability: tiny metadata stays secondary without becoming microscopic. */
@media(min-width:1000px){
  .transport-table td{font-size:12.5px}
  .transport-table td>strong{font-size:12.5px}
  .transport-table td>small{font-size:10.5px;line-height:1.3}
  .transport-table th button{font-size:10.5px}
  .shell-v2 .sidebar .nav button{line-height:1.2}
}

/* Make map letterboxing feel intentional when the calibrated yard image cannot fill the viewport. */
.yard-map-app,.yard-map-stage{
  background:
    radial-gradient(circle at 50% 45%,rgba(75,118,139,.10),transparent 38%),
    linear-gradient(180deg,#0d1921,#091219)!important;
}
.yard-map-world>img{
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    #0b151c!important;
  background-size:32px 32px!important;
}

/* Empty operational-site overview should not dominate the whole desktop workspace. */
.yard-sites-canvas{height:min(44vh,440px)}
.yard-sites-empty{color:#8ca6b4}
@media(max-width:760px){
  .yard-sites-canvas{height:40vh;min-height:290px}
}

/* Mobile top chrome and modal actions: calmer, better aligned, no accidental visual shouting. */
@media(max-width:760px){
  .field-top{min-height:64px}
  .field-top>.brand{align-items:center}
  .field-dialog .modal-head>button{color:#a8bdc9!important;font-weight:650}
  .field-dialog .quiet{color:#9bb1bd}
  .field-dialog .physical-capture>.quiet[data-physical="save-draft"]{
    width:100%;
    border-top:1px solid rgba(255,255,255,.07)!important;
    border-radius:0!important;
    margin-top:4px;
  }
  .field-section>header h2{color:#88a4b4}
  /* Transport detail keeps shared mobile field styling, with deliberately inset geometry. */
  #dialog.field-dialog.transport-detail-dialog{
    position:fixed!important;
    inset:14px 9px!important;
    top:14px!important;
    right:9px!important;
    bottom:14px!important;
    left:9px!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    overflow:auto!important;
    border-radius:18px!important;
  }
  #dialog.field-dialog.transport-detail-dialog .modal-head{
    position:sticky!important;
    top:0!important;
    z-index:6!important;
    background:#101c28!important;
  }
  #dialog.field-dialog.transport-detail-dialog .modal-body{
    min-height:0!important;
    overflow-y:auto!important;
  }
}
\n
/* All phone dialogs, including Driver transport detail, must stay inside the usable layout viewport. */
@media(max-width:760px){
  #dialog[open]{
    max-height:calc(var(--ux-vh,100dvh) - var(--ux-vtop,0px) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 8px)!important;
  }
  #dialog[open] .modal-head>button{white-space:nowrap;overflow-wrap:normal;word-break:normal;flex:0 0 auto}
}

/* Accessible focus and restrained motion. */
:focus-visible{scroll-margin:80px}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* v1.40 whole-app polish — coherent graphite operations system */
:root{
  --yt-polish-surface:#0d161f;
  --yt-polish-surface-2:#111d27;
  --yt-polish-surface-3:#162632;
  --yt-polish-line:rgba(154,195,218,.13);
  --yt-polish-line-strong:rgba(154,205,232,.23);
  --yt-polish-muted:#8297a5;
  --yt-polish-soft:#adbec8;
}
body{font-feature-settings:"kern" 1,"liga" 1}
.shell-v2{min-height:100dvh}
.workspace{min-width:0}
.workspace main{min-width:0}
.topbar{backdrop-filter:blur(18px);background:rgba(9,15,21,.88)!important;border-bottom:1px solid rgba(255,255,255,.055)!important}
.sidebar{background:linear-gradient(180deg,#0b141c,#091118)!important;border-right:1px solid rgba(255,255,255,.055)!important}
.sidebar .brand{padding-bottom:18px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.05)}
.sidebar .nav{gap:4px}
.sidebar .nav button{min-height:42px;padding:9px 11px!important;border-radius:10px!important;color:#91a7b4}
.sidebar .nav button:hover{background:rgba(124,178,207,.07)!important;color:#d8e8ef}
.sidebar .nav button.active,.sidebar .nav button[aria-current=page]{background:linear-gradient(90deg,rgba(74,142,180,.19),rgba(74,142,180,.06))!important;color:#e7f2f7!important;box-shadow:inset 2px 0 #7bbddd}
.heading,.dispatch-heading,.field-heading{max-width:100%}
.heading h1,.dispatch-heading h1,.field-heading h1{letter-spacing:-.035em}
.heading p,.dispatch-subhead,.page-caption{color:#8297a5!important}

/* Desktop page rhythm */
@media(min-width:801px){
  .workspace main:not(.desktop-yard-map-main){padding-top:28px;padding-bottom:44px}
  .heading,.dispatch-heading{margin-bottom:20px}
  .panel,.container-card,.record-card,.movement-register,.transport-board-shell{
    border-color:var(--yt-polish-line)!important;
    box-shadow:0 10px 32px rgba(0,0,0,.10);
  }
  .panel-head{padding-top:15px;padding-bottom:15px}
  .panel-head h2{font-size:15px}
}

/* Tables/registers */
table{border-spacing:0}
.transport-table,.register-table,.movement-table{font-variant-numeric:tabular-nums}
.transport-table thead,.register-table thead{position:sticky;top:0;z-index:3;backdrop-filter:blur(12px)}
.transport-table th,.register-table th{height:40px!important;padding-top:7px!important;padding-bottom:7px!important}
.transport-table td,.register-table td{vertical-align:middle}
.transport-table tbody tr,.register-table tbody tr{transition:background .12s ease,border-color .12s ease}
.transport-table tbody tr:hover,.register-table tbody tr:hover{background:rgba(129,185,214,.045)!important}
.transport-table tbody tr:focus-within,.register-table tbody tr:focus-within{background:rgba(129,185,214,.065)!important}
.transport-driver-cell{min-width:128px}
.transport-driver-name{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid rgba(127,188,219,.18);border-radius:999px;background:rgba(82,145,177,.10);color:#c9e0eb;font-weight:650;white-space:nowrap}
.transport-status{font-weight:700;letter-spacing:.01em}
.transport-nowrap{font-variant-numeric:tabular-nums}
.transport-load-cell{min-width:0}
.transport-load-cell>span{min-width:0}
.transport-load-cell strong,.transport-load-cell small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Toolbars and filters */
.transport-toolbar,.register-toolbar,.movement-filters,.receipt-filters{
  background:rgba(9,18,25,.68)!important;
  border-color:rgba(255,255,255,.055)!important;
}
.transport-toolbar select,.transport-toolbar input,.register-toolbar select,.register-toolbar input,
.movement-filters select,.movement-filters input,.receipt-filters select,.receipt-filters input{
  min-height:42px!important;
  border-color:rgba(151,197,220,.15)!important;
  background:#0b151d!important;
}
.transport-toolbar select:focus,.transport-toolbar input:focus,.register-toolbar select:focus,.register-toolbar input:focus,
.movement-filters select:focus,.movement-filters input:focus{
  border-color:rgba(119,191,241,.48)!important;
}
.transport-row-count{color:#748b99!important;font-variant-numeric:tabular-nums}

/* Dialogs and forms */
dialog[open]{display:flex;flex-direction:column;min-height:0}
dialog .modal-head{flex:0 0 auto}
dialog .modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}
dialog .modal-foot{flex:0 0 auto}
.modal-head{padding-top:14px!important;padding-bottom:14px!important}
.modal-head h2{font-size:clamp(19px,2vw,24px);line-height:1.15}
.modal-head>button{border-color:transparent!important;background:transparent!important;color:#91a7b4!important}
.modal-head>button:hover{background:rgba(255,255,255,.04)!important;color:#d7e7ee!important}
.field input,.field select,.field textarea,.register-form input,.register-form select,.register-form textarea{
  border:1px solid rgba(153,199,223,.17)!important;
  background:#0a141c!important;
  transition:border-color .12s ease,background .12s ease,box-shadow .12s ease;
}
.field input:hover,.field select:hover,.field textarea:hover{border-color:rgba(153,199,223,.26)!important}
.field input:focus,.field select:focus,.field textarea:focus{background:#0c1821!important;box-shadow:0 0 0 3px rgba(91,164,204,.08)}
details>summary{cursor:pointer}
details>summary:hover{color:#d4e5ed}
.error:not(:empty),.inline-error:not(:empty){padding:9px 11px;border:1px solid rgba(223,111,105,.24);border-radius:10px;background:rgba(120,42,39,.12)}

/* Content cards */
.container-card,.record-card,.material-browser-row,.movement-row,.field-admin-today,.outgoing-row{
  transition:border-color .12s ease,background .12s ease,transform .12s ease;
}
.container-card:hover,.record-card:hover,.material-browser-row:hover{border-color:rgba(151,201,226,.20)!important}
.material-browser-row{border-radius:13px!important}
.material-browser-title h3{letter-spacing:-.01em}
.material-browser-actions button{border-radius:9px}
.container-card{border-radius:14px!important}
.container-card header strong,.record-card header strong{letter-spacing:-.01em}
.record-card{border-radius:14px!important;overflow:hidden}
.record-lines>div:last-child{border-bottom:0!important}
.outgoing-row:hover{background:rgba(122,176,204,.035)!important}
.outgoing-row strong{letter-spacing:-.01em}

/* Stock movements */
.movement-register{border-radius:16px!important;overflow:hidden}
.movement-head{padding:17px 18px!important}
.movement-row{padding-top:13px!important;padding-bottom:13px!important}
.movement-row:hover{background:rgba(124,181,211,.04)!important}
.movement-title strong{font-size:14px}
.movement-context small,.movement-row-end small{color:#748b99}
.movement-thumb{border-radius:9px!important}
.movement-detail section{border-color:rgba(255,255,255,.06)!important}

/* Transport detail/readability */
.transport-command-strip{gap:8px!important}
.transport-kpi{min-height:70px!important}
.transport-kpi.active{box-shadow:inset 0 0 0 1px rgba(116,190,228,.18)!important}
.transport-board-shell{border-radius:15px!important}
.transport-board-topline{padding-left:14px!important;padding-right:14px!important}
.transport-detail-premium{gap:9px!important}
.transport-detail-meta{gap:7px!important}
.transport-detail-meta>div{padding:9px 10px!important}
.transport-detail-meta small{margin-bottom:1px}
.transport-detail-route-premium{padding:11px 13px!important}
.transport-detail-section{border-radius:11px!important}
.transport-detail-section>header{padding:9px 11px!important}
.transport-detail-load-row{min-height:47px}
.transport-detail-actions button{border-color:rgba(151,199,223,.14)!important}
.transport-edit-section{padding:12px!important}
.transport-edit-grid{gap:8px!important}
.transport-primary-action{padding:11px 12px!important}
.transport-primary-action button{min-height:44px!important}

/* Messenger */
.messenger{border-radius:16px!important}
.msg-sidebar{border-right-color:rgba(255,255,255,.055)!important}
.msg-conversation{transition:background .12s ease}
.msg-thread-head{border-bottom-color:rgba(255,255,255,.055)!important}
.msg-history{scrollbar-gutter:stable}
.msg-bubble{box-shadow:none!important}
#msg-composer{border-top-color:rgba(255,255,255,.06)!important}
#msg-composer textarea{border:1px solid rgba(151,199,223,.12)!important;border-radius:12px!important;background:#0b1720!important}
.msg-compose-actions .primary{border-radius:999px!important}

/* Loading, empty and notices */
.ops-skeleton-row{border-radius:10px!important}
.field-empty,.empty,.transport-table-empty{color:#78909e!important}
.transport-table-empty{padding:30px 18px!important}
.notice,.field-connection,.field-saved{box-shadow:none!important}

/* Mobile polish */
@media(max-width:760px){
  body{background:#091118}
  .field-top{height:auto!important;min-height:60px!important;padding-top:env(safe-area-inset-top)!important;background:rgba(9,16,22,.94)!important;backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.055)}
  .field-top .brand small{color:#77909f}
  .field-main{padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}
  .field-hero.role-home{min-height:190px!important;margin-bottom:17px!important}
  .field-hero.role-home h1{font-size:31px!important;max-width:14ch!important}
  .field-quick-grid{gap:8px!important}
  .field-quick-grid button{border-radius:12px!important}
  .field-card{padding:13px 3px!important;min-height:72px!important}
  .field-card.featured{border-radius:15px!important}
  .field-card-copy>strong{font-size:16px!important}
  .field-card-copy>span:not(.field-card-arrow):not(.field-card-cta){font-size:11.5px!important}
  .field-section{margin-bottom:24px!important}
  .field-section>header{margin-bottom:7px!important}
  .field-nav{padding-top:6px!important}
  .field-nav button{min-height:52px!important;border-radius:10px!important}
  .field-nav button[aria-current=page]{background:rgba(75,132,162,.18)!important}
  #dialog[open]{width:calc(100% - 8px)!important;max-width:620px!important;margin:0 auto!important;top:calc(var(--ux-vtop,0px) + 4px + env(safe-area-inset-top))!important;bottom:auto!important;max-height:calc(var(--ux-vh) - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;box-sizing:border-box!important;border-radius:18px!important}
  #dialog[open] .modal-body{padding-left:13px!important;padding-right:13px!important}
  #dialog[open] .modal-head{padding-left:14px!important;padding-right:12px!important}
  .field-dialog input:not([type=checkbox]):not([type=radio]):not([type=file]),.field-dialog select,.field-dialog textarea{min-height:49px!important}
  .container-card,.record-card{border-radius:13px!important}
  .material-browser-row{padding:11px!important}
  .movement-row{padding:11px!important}
  .msg-bubble{max-width:88%!important}
  #msg-composer textarea{min-height:46px!important;max-height:120px!important}
  .transport-kpi{min-height:62px!important}
  .transport-kpi-count{font-size:18px!important}
  .transport-toolbar-premium{padding:8px!important}
  .transport-toolbar-premium .transport-search{min-width:220px!important}
  .transport-compact-row{padding:12px!important}
  .driver-home-job{border-radius:13px!important}
}

/* Tablet/narrow desktop: preserve density without accidental mobile stretching */
@media(min-width:761px) and (max-width:1100px){
  .workspace main{padding-left:20px!important;padding-right:20px!important}
  .transport-command-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .transport-toolbar-premium{display:grid!important;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(130px,1fr))!important}
  .transport-toolbar-premium .transport-search{grid-column:1/-1}
  .transport-table{font-size:11.5px}
  .transport-table td,.transport-table th{padding-left:9px!important;padding-right:9px!important}
  .movement-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .movement-search{grid-column:1/-1}
}

/* Long values must never break operational layouts */
.transport-table td,.transport-detail-meta strong,.transport-route-stop strong,.container-card,.record-card,
.material-browser-row,.movement-row,.msg-conversation-copy,.field-card-copy,.field-admin-today-copy{
  min-width:0;
}
.transport-route-primary,.container-card strong,.record-card strong,.material-browser-title h3,
.field-admin-today-copy strong,.field-admin-today-copy>span{overflow-wrap:anywhere}


/* v1.40.2 refinement — reduce vertical drag, strengthen hierarchy, keep touch targets */
@media(max-width:760px){
  /* Supervisor/admin home: more operation in the first viewport */
  .field-hero.role-home{min-height:176px!important;margin-bottom:14px!important;padding-bottom:18px!important}
  .field-hero.role-home h1{font-size:30px!important;margin-bottom:5px!important}
  .field-astra-home{margin-bottom:14px!important}
  .field-astra-primary{min-height:82px!important;padding-top:13px!important;padding-bottom:13px!important}
  .field-admin-actions-label{margin-top:14px!important;margin-bottom:7px!important}
  .field-admin-home-actions{gap:7px!important;margin-bottom:16px!important}
  .field-admin-home-actions button{min-height:52px!important;padding:8px 10px!important;border-radius:12px!important}
  .field-admin-home-actions button span{font-size:12.5px!important}
  .field-admin-today{margin-top:0!important;margin-bottom:20px!important}
  .field-admin-today>header{margin-bottom:8px!important}
  .field-admin-today>header h2{font-size:18px!important}
  .field-admin-today-row{min-height:60px!important;padding:9px 11px!important;grid-template-columns:30px minmax(0,1fr) 16px!important;gap:9px!important}
  .field-admin-today-icon{width:30px!important;height:30px!important;border-radius:9px!important}
  .field-admin-today-copy strong{font-size:12.5px!important}
  .field-admin-today-copy>span{font-size:10.5px!important}

  /* Materials: each result reads as one calm operational record */
  .material-browser-row{
    margin:0 0 8px!important;
    padding:12px!important;
    border:1px solid rgba(150,197,220,.09)!important;
    border-radius:13px!important;
    background:linear-gradient(145deg,rgba(18,31,40,.72),rgba(11,20,27,.72))!important;
  }
  .material-browser-title{gap:3px!important}
  .material-browser-title h3{font-size:16px!important;line-height:1.18!important}
  .material-browser-copy>p{margin-top:3px!important;color:#93a8b4!important}
  .material-browser-actions{margin-top:8px!important;gap:7px!important}
  .material-browser-actions button{
    min-height:38px!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    background:#102431!important;
    border-color:#2e4d5d!important;
    font-size:11px!important;
  }

  /* Stock control: compress summary/vault so movement rows arrive sooner */
  .movement-summary{gap:7px!important;margin-bottom:12px!important}
  .movement-stat{min-height:58px!important;padding:9px 8px!important;border-radius:11px!important}
  .movement-stat span{font-size:18px!important}
  .movement-stat small{font-size:9px!important}
  .movement-evidence-recovery{padding:13px!important;gap:10px!important;border-radius:13px!important}
  .movement-evidence-recovery-title{gap:4px!important}
  .movement-evidence-recovery-title strong{font-size:22px!important}
  .movement-evidence-recovery-title span{font-size:11.5px!important;line-height:1.4!important}
  .movement-recovery-facts{gap:5px!important;margin-top:8px!important}
  .movement-recovery-facts span{padding:5px 7px!important;font-size:9.5px!important}
  .movement-evidence-recovery-copy>p{font-size:10.5px!important;line-height:1.45!important;margin:8px 0 0!important}
  .movement-evidence-recovery-actions{align-items:flex-end!important}
  .movement-recovery-percent{font-size:18px!important}
  .movement-head{padding:14px!important}
  .movement-row{padding:10px 11px!important}

  /* Driver job: clearer route/action priority, less dead chrome */
  .driver-job-premium{gap:9px!important;padding-top:10px!important}
  .driver-route-card{padding:12px!important}
  .driver-now-actions{gap:6px!important}
  .driver-now-primary{min-height:54px!important;padding:10px 12px!important}
  .driver-contact-actions a{min-height:42px!important}
  .driver-panel>header{min-height:42px!important;padding:8px 10px!important}
  .driver-load-row{padding:9px 10px!important}
  .driver-action-block{padding:11px 12px!important;gap:9px!important}
  .driver-action-block .driver-job-primary{min-height:54px!important}
  .driver-job-tools{gap:6px!important}
  .driver-job-tools button{min-height:44px!important}
  .driver-job-history summary{min-height:42px!important}
}

/* Desktop/tablet: slightly calmer density without redesigning successful screens */
@media(min-width:801px){
  .register-list>.row{min-height:58px}
  .register-list>.row>div{min-width:0}
  .register-list>.row strong{font-size:13.5px}
  .register-list>.row small{line-height:1.35}
  .container-card,.record-card{box-shadow:0 8px 24px rgba(0,0,0,.08)}
  .msg-thread-head{min-height:62px!important}
  #msg-composer{padding-top:10px!important;padding-bottom:10px!important}
}


/* v1.40.2 mobile page structure */
@media(max-width:760px){
  .field-heading{padding:22px 0 18px!important}
  .field-heading small{font-size:9px!important;letter-spacing:1.45px!important}
  .field-heading h1{font-size:29px!important;margin:8px 0 5px!important}
  .field-heading p{font-size:13px!important;line-height:1.55!important;max-width:34ch}
  .field-result-summary{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:10px!important;margin:14px 0 8px!important}
  .field-result-summary strong{font-size:13px!important}
  .field-result-summary span{font-size:10px!important;color:#748b99!important;text-align:right}
  .field-history{margin-top:18px!important;padding-top:0!important;border-top:1px solid rgba(255,255,255,.07)!important}
  .field-history summary{min-height:52px!important;padding:12px 0!important;font-size:12px!important;color:#9db2be!important}
  .field-history>p{margin:0 0 10px!important;font-size:11px!important;line-height:1.45!important;color:#748b99!important}
  .field-wide:not(.primary){
    min-height:48px!important;
    border-radius:11px!important;
    background:#0d1b24!important;
    border-color:#243947!important;
    color:#c8d8e0!important;
  }
  .field-main>[data-field-unexpected],.field-main>[data-new-operation]{
    margin-top:12px!important;
    margin-bottom:8px!important;
  }
  .field-section>header h2{letter-spacing:1.4px!important}
  .field-section .field-card{border-top-color:rgba(255,255,255,.055)!important}
  .field-section .field-card:first-of-type{border-top:0!important}
}

/* Receiving and yard jobs: clearer grouping */
@media(max-width:760px){
  .field-section:has([data-receive]){margin-bottom:20px!important}
  .field-section:has([data-receive]) .field-card{
    padding:13px 3px!important;
  }
  .field-section:has([data-receive]) .field-card-copy strong{font-size:16px!important}
  .field-section:has([data-receive]) .field-card-cta{
    min-height:28px;
    display:inline-flex!important;
    align-items:center;
    width:max-content;
  }
  .field-section:has([data-job-detail]) .field-card,
  .field-section:has([data-job-status]) .field-card{
    padding-top:14px!important;
    padding-bottom:14px!important;
  }
}

/* Desktop messenger polish: stronger header, quieter chrome */
@media(min-width:900px){
  .msg-dock{border-color:rgba(147,196,220,.14)!important}
  .msg-dock-head{height:50px!important;background:rgba(10,19,26,.92)!important}
  .msg-dock-head strong{font-size:14px}
  .msg-thread-head{padding-left:14px!important;padding-right:12px!important}
  .msg-thread-head h2{font-size:16px!important;line-height:1.18!important}
  .msg-history{padding:15px 14px 10px!important}
  .msg-bubble{max-width:80%!important;margin-bottom:7px!important}
  .msg-bubble p{font-size:13.5px!important}
  #msg-composer textarea{min-height:44px!important}
}

@media(max-width:760px){
  .msg-thread-head>div{min-width:0}
  .msg-thread-head h2{
    white-space:normal!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    line-height:1.15!important;
    max-height:2.3em;
  }
  .msg-thread-head small{margin-top:2px}
}


/* Stocktake review workflow */
.stocktake-sessions{border-radius:16px!important;overflow:hidden}
.stocktake-session-list{display:grid}
.stocktake-session-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:14px;align-items:center;min-height:64px;padding:12px 16px;border:0;border-top:1px solid rgba(255,255,255,.055);border-radius:0;background:#0d171f;color:inherit;text-align:left}
.stocktake-session-row:hover{background:#101f29}
.stocktake-session-row>span:first-child{min-width:0;display:grid;gap:3px}
.stocktake-session-row strong{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stocktake-session-row small{font-size:10px;color:#7f95a2}
.stocktake-session-counts{display:grid;grid-template-columns:auto auto;gap:2px 6px;align-items:baseline}
.stocktake-session-counts b{font-size:14px;color:#c8dce6}.stocktake-session-counts b.warn{color:#e5bb78}
.stocktake-session-counts small{font-size:9px}
.stocktake-detail{display:grid;gap:12px}
.stocktake-integrity{padding:12px 13px;border:1px solid #2b4757;border-radius:12px;background:#0d1e28}
.stocktake-integrity strong{display:block;font-size:13px}.stocktake-integrity p{margin:4px 0 0;font-size:11px;line-height:1.5;color:#8197a4}
.stocktake-detail-actions{display:flex;flex-wrap:wrap;gap:8px}
.stocktake-observation-list{display:grid;gap:7px}
.stocktake-observation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid #263c49;border-radius:11px;background:#0c1821}
.stocktake-observation.reviewed{border-color:#294639;background:#0d1b18}
.stocktake-observation-main{min-width:0;display:grid;gap:3px}
.stocktake-observation-main .badge{width:max-content}
.stocktake-observation-main strong{font-size:13px;overflow-wrap:anywhere}
.stocktake-observation-main>span:not(.badge),.stocktake-observation-main small{font-size:10.5px;color:#8398a4;overflow-wrap:anywhere}
.stocktake-observation-side{display:grid;justify-items:end;gap:5px}
.stocktake-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:760px){
 .stocktake-session-row{grid-template-columns:minmax(0,1fr) auto 14px;padding:11px 12px;gap:9px}
 .stocktake-session-counts{display:none}
 .stocktake-detail-actions{display:grid}
 .stocktake-detail-actions button{width:100%;min-height:48px}
 .stocktake-observation{grid-template-columns:1fr;gap:8px}
 .stocktake-observation-side{justify-items:stretch}
 .stocktake-observation-side button{width:100%;min-height:44px}
 .stocktake-review-actions{grid-template-columns:1fr}
}


/* v1.40.4 launch hardening */
.queue-summary{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.queue-summary span{display:inline-flex;align-items:baseline;gap:5px;padding:7px 10px;border:1px solid rgba(151,199,223,.11);border-radius:999px;background:#0d1921;color:#8399a6;font-size:10px}
.queue-summary strong{font-size:14px;color:#d1e1e8}
.queue-item button[disabled]{opacity:.55;cursor:default}
#connection-notice:not([hidden]){backdrop-filter:blur(14px)}
@media(max-width:760px){
 .queue-summary{margin-top:2px}
 .queue-item{border-radius:12px!important}
 .queue-item .material-head{gap:8px!important}
 .queue-item button{min-height:44px}
}


/* v1.40.5 operational health */
.operational-health-panel .panel-body{display:grid;gap:10px}
.operational-health-preview{display:flex;align-items:center;min-height:42px;padding:9px 11px;border:1px solid rgba(151,199,223,.1);border-radius:11px;background:#0c171f;color:#8499a5;font-size:11px}
.operational-health{display:grid;gap:14px}
.health-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.health-summary>div{display:grid;gap:2px;padding:10px 11px;border:1px solid #263b47;border-radius:12px;background:#0d1820}
.health-summary strong{font-size:21px;color:#d7e7ee}.health-summary span{font-size:9.5px;text-transform:uppercase;letter-spacing:.8px;color:#78909d}
.health-summary .warn{border-color:rgba(226,174,92,.34);background:rgba(111,74,24,.12)}.health-summary .warn strong{color:#edc47f}
.health-user-list{display:grid;gap:9px}
.health-user{display:grid;gap:9px;padding:12px;border:1px solid #263b47;border-radius:13px;background:#0c171f}
.health-user.ready{border-color:rgba(105,184,147,.18)}.health-user.attention{border-color:rgba(226,174,92,.24)}
.health-user>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.health-user>header>div{min-width:0;display:grid;gap:2px}.health-user>header strong{font-size:14px}.health-user>header span:not(.badge){font-size:10px;color:#8196a2}
.health-issues{display:flex;flex-wrap:wrap;gap:5px}.health-issues span{padding:5px 7px;border:1px solid rgba(226,174,92,.25);border-radius:999px;background:rgba(112,75,25,.12);font-size:9.5px;color:#d9b576}
.health-devices{display:grid;gap:6px}
.health-device{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:9px 10px;border-radius:10px;background:#101d25}
.health-device>div:first-child{min-width:0;display:grid;gap:2px}.health-device strong{font-size:11.5px}.health-device span,.health-device small{font-size:9.5px;color:#8095a0;overflow-wrap:anywhere}
.health-device-meta{display:grid;justify-items:end;align-content:center;gap:2px}.health-device.ready strong{color:#a5d8bf}.health-device.attention strong{color:#e3bb78}
.health-diagnostic{color:#d2a768}
@media(max-width:760px){
 .health-summary{grid-template-columns:1fr 1fr}
 .health-user>header{align-items:flex-start}
 .health-device{grid-template-columns:1fr}
 .health-device-meta{justify-items:start}
}


/* Final mobile dialog viewport guard — must remain last so later polish rules cannot override it. */
@media(max-width:760px){
  #dialog[open]{
    height:auto!important;
    max-height:min(calc(var(--ux-vh,100dvh) - 40px),calc(100dvh - 40px))!important;
    box-sizing:border-box!important;
    overflow:auto!important;
  }
  #dialog[open] .modal-head>button{
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    flex:0 0 auto!important;
  }
}


/* v1.40.26 — sign-in and administrator user-management polish */
.login-premium{
  background:radial-gradient(circle at 78% 12%,rgba(76,141,181,.10),transparent 32%),#080e14;
}
.login-premium .login-art{
  position:relative;overflow:hidden;min-width:0;
  background:linear-gradient(90deg,rgba(5,12,18,.94),rgba(7,16,23,.54)),linear-gradient(0deg,rgba(5,12,18,.72),rgba(5,12,18,.06)),url('/yard-hero.jpg') center/cover;
}
.login-premium .login-art:after{content:"";position:absolute;inset:auto -18% -34% 18%;height:52%;background:radial-gradient(ellipse,rgba(76,154,195,.16),transparent 68%);pointer-events:none}
.login-art-copy{position:relative;z-index:1;max-width:620px}
.login-art-copy h1{font-size:clamp(44px,5vw,72px);line-height:.96;letter-spacing:-.055em;margin:14px 0 20px}
.login-art-copy>p{max-width:520px;font-size:15px;line-height:1.75;color:#b6c7d1;margin:0}
.login-art-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.login-art-meta span{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:6px 10px;border:1px solid rgba(164,205,226,.14);border-radius:999px;background:rgba(8,18,26,.48);backdrop-filter:blur(8px);color:#9fb4c1;font-size:10px;font-weight:600}
.login-art-meta .dot{width:6px;height:6px;border-radius:50%;background:#78b99d;box-shadow:0 0 0 3px rgba(120,185,157,.09)}
.login-premium .login-form{display:grid;place-items:center;padding:clamp(28px,5vw,72px)}
.login-card{width:min(430px,100%)!important;padding:30px;border:1px solid rgba(159,202,224,.13);border-radius:18px;background:linear-gradient(180deg,rgba(18,30,40,.96),rgba(12,21,29,.98));box-shadow:0 28px 90px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.025)}
.login-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}
.login-card-head h2{font-size:28px!important;line-height:1.08;letter-spacing:-.035em;margin:8px 0 9px!important}
.login-card-head p{margin:0!important;line-height:1.6!important}
.login-lock{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(128,189,220,.16);border-radius:12px;background:rgba(74,137,171,.09);color:#8fc7e4}
.login-lock .icon{width:20px;height:20px}
.login-card .field{margin-bottom:17px}
.login-card .field label{font-weight:650;color:#c7d5de}
.login-card .field input{min-height:52px;border-radius:10px!important;padding:13px 14px!important;font-size:15px}
.login-card .field input::placeholder{color:#596f7d}
.login-submit{width:100%;min-height:52px!important;margin-top:4px!important;justify-content:space-between!important;padding-left:17px!important;padding-right:15px!important}
.login-submit .icon{width:18px;height:18px}
.login-error:empty{display:none}
.login-error:not(:empty){padding:10px 12px;border:1px solid rgba(238,134,124,.20);border-radius:9px;background:rgba(133,50,45,.12)}
.login-help{display:grid;gap:5px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06)}
.login-help span{font-size:11px;font-weight:700;color:#a9bcc8}
.login-help small{font-size:10.5px;line-height:1.6;color:#718896}
.login-offline-note{display:flex;gap:11px;align-items:flex-start;margin:-5px 0 20px;padding:12px 13px;border:1px solid rgba(217,173,101,.25);border-radius:10px;background:rgba(111,82,39,.14);color:#e4c68e}
.login-offline-note>.icon{width:18px;height:18px;flex:0 0 auto;margin-top:1px}
.login-offline-note strong,.login-offline-note span{display:block}
.login-offline-note strong{font-size:11px;margin-bottom:3px}
.login-offline-note span{font-size:10.5px;line-height:1.5;color:#c6a976}

.first-password-shell{min-height:100dvh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 0%,rgba(80,149,184,.13),transparent 32%),linear-gradient(180deg,#0b141d,#070d12)}
.first-password-card{width:min(520px,100%);padding:30px;border:1px solid rgba(159,202,224,.14);border-radius:18px;background:#101b25;box-shadow:0 28px 90px rgba(0,0,0,.36)}
.first-password-brand{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.06)}
.first-password-card h1{font-size:30px;line-height:1.08;margin:9px 0 11px}
.first-password-lead{color:#90a5b3;line-height:1.7;margin:0 0 25px}
.first-password-submit{width:100%;min-height:50px!important}
.first-password-signout{width:100%;margin-top:10px;border-color:transparent!important}

.user-admin-panel{overflow:hidden}
.user-admin-head{align-items:flex-start!important}
.user-admin-head p{margin:7px 0 0;color:#8097a5;font-size:11px;line-height:1.5}
.user-admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.06)}
.user-admin-toolbar>div:first-child{display:grid;gap:4px}
.user-admin-toolbar strong{font-size:12px;color:#cbd9e2}
.user-admin-toolbar small{font-size:10.5px;color:#728896}
.managed-users{display:grid;gap:14px}
.user-admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.user-admin-summary>div{display:grid;gap:3px;padding:13px 14px;border:1px solid rgba(154,199,222,.11);border-radius:10px;background:rgba(9,18,25,.42)}
.user-admin-summary strong{font-size:20px;font-weight:650;color:#d7e6ee;font-variant-numeric:tabular-nums}
.user-admin-summary span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#708895}
.user-admin-list{display:grid;border-top:1px solid rgba(255,255,255,.05)}
.user-admin-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.055)}
.user-admin-row.is-disabled{opacity:.66}
.user-admin-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;border:1px solid rgba(134,183,208,.18);background:linear-gradient(145deg,#243949,#172733);color:#c7dce8;font-size:11px;font-weight:750;letter-spacing:.04em}
.user-admin-main{min-width:0}
.user-admin-name{display:flex;align-items:center;gap:8px;min-width:0}
.user-admin-name h3{font-size:13px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-admin-main p{font-size:11px;color:#90a7b5;margin:4px 0;overflow-wrap:anywhere}
.user-admin-main small{font-size:10px;color:#6e8795}
.user-status{flex:0 0 auto;display:inline-flex;align-items:center;min-height:20px;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;border:1px solid transparent}
.user-status.active{color:#9dceb8;background:rgba(74,139,111,.13);border-color:rgba(114,185,153,.18)}
.user-status.disabled{color:#a6b0b7;background:rgba(112,125,135,.12);border-color:rgba(143,154,162,.15)}
.user-status.administrator{color:#9ccbe3;background:rgba(67,132,167,.15);border-color:rgba(105,176,212,.20)}
.user-admin-actions{display:flex;gap:7px;align-items:center}
.user-admin-actions button{min-height:36px;padding:7px 10px;font-size:10px}
.user-admin-protected{font-size:9px;color:#69808d;white-space:nowrap}
.user-admin-empty,.user-admin-loading,.user-admin-error{padding:22px;border:1px dashed rgba(150,195,218,.14);border-radius:10px;text-align:center;color:#718997;font-size:11px;background:rgba(8,16,22,.28)}
.user-admin-error{color:#e7aaa1;border-style:solid;border-color:rgba(216,111,101,.20);background:rgba(105,42,39,.10)}
.user-admin-form{padding-top:22px!important}
.user-admin-modal-head .eyebrow{margin-bottom:6px}
.user-admin-form .field>small{line-height:1.55;color:#708895}
.user-enabled-toggle{display:flex;align-items:flex-start;gap:11px;padding:14px;margin:6px 0 16px;border:1px solid rgba(152,199,223,.13);border-radius:10px;background:rgba(10,19,26,.40)}
.user-enabled-toggle input{width:19px;height:19px;accent-color:#5ca4d1;margin-top:1px}
.user-enabled-toggle span{display:grid;gap:3px}
.user-enabled-toggle strong{font-size:11px;color:#cbd9e2}
.user-enabled-toggle small{font-size:10px;line-height:1.45;color:#708895}
.user-reset-person{display:grid;gap:4px;padding:13px 14px;margin-bottom:20px;border-radius:10px;background:rgba(79,139,171,.08);border:1px solid rgba(111,175,207,.13)}
.user-reset-person strong{font-size:13px}
.user-reset-person span{font-size:10px;color:#79919f}
.generate-password{margin:-5px 0 5px}
.user-admin-submit{width:100%;min-height:48px!important}

@media(max-width:800px){
  .login-premium{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100dvh}
  .login-premium .login-art{min-height:178px!important;padding:22px 22px 20px!important;border-right:0;border-bottom:1px solid rgba(255,255,255,.06)}
  .login-premium .login-art>.brand{margin-bottom:28px}
  .login-art-copy .eyebrow{display:none}
  .login-art-copy h1{font-size:34px;margin:0 0 8px}
  .login-art-copy>p{font-size:11px;line-height:1.55;max-width:310px}
  .login-art-meta{display:none}
  .login-premium .login-art>small{display:none}
  .login-premium .login-form{padding:18px 16px 34px;place-items:start center}
  .login-card{padding:22px 18px;border-radius:15px}
  .login-card-head{margin-bottom:20px}
  .login-card-head h2{font-size:24px!important}
  .login-lock{width:40px;height:40px}
  .login-card .field input{min-height:52px}
  .first-password-shell{padding:16px}
  .first-password-card{padding:22px 18px;border-radius:15px}
  .first-password-card h1{font-size:26px}
  .user-admin-head{gap:12px}
  .user-admin-head .primary{min-height:40px;padding:8px 11px}
  .user-admin-toolbar{display:grid;gap:12px}
  .user-admin-toolbar .app-update-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .user-admin-toolbar .app-update-actions button{width:100%;min-width:0}
  .user-admin-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .user-admin-summary>div{padding:11px 9px}
  .user-admin-summary strong{font-size:17px}
  .user-admin-row{grid-template-columns:40px minmax(0,1fr);gap:11px;padding:14px 0}
  .user-admin-avatar{width:38px;height:38px}
  .user-admin-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;padding-left:51px}
  .user-admin-actions button{width:100%;min-height:40px}
  .user-admin-protected{grid-column:1/-1;padding:2px 0}
  .user-admin-name{flex-wrap:wrap}
}

/* v1.40.30 administrator user deletion */
.user-admin-actions .danger{border-color:rgba(255,140,131,.18);background:rgba(255,140,131,.035)}
.user-admin-actions .danger:hover{border-color:rgba(255,140,131,.32);background:rgba(255,140,131,.08)}
@media(max-width:760px){
 .user-admin-actions .danger{grid-column:1/-1}
}

/* v1.40.39 — completed movement correction polish */
.movement-correction-lines{display:grid;gap:10px}.movement-correction-line{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(120px,.55fr) minmax(0,1fr);gap:10px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.02)}.movement-correction-line .field{margin:0;min-width:0}.movement-correction-actions .primary{min-width:138px}.movement-detail>.record-photo-panel{padding:14px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.018)}.movement-detail>.record-photo-panel h3{margin-top:0}.movement-detail>.record-photo-panel .intake-photos{margin-top:8px}
@media(max-width:720px){.movement-correction-line{grid-template-columns:1fr}.movement-correction-actions .primary{width:100%;min-width:0}}

/* v1.40.42 — shared bulk-selection treatment */
.bulk-action-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.025)}
.bulk-select-all{display:flex;align-items:center;gap:8px;font-size:12px;color:#a9bdc8;white-space:nowrap}.bulk-select-all input,.bulk-row-check input{width:17px;height:17px;accent-color:#8dc7e1}
.bulk-action-bar>strong{font-size:12px;color:#d7e6ed}.bulk-action-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.bulk-action-buttons .danger{border-color:rgba(235,126,126,.35);color:#f0b2b2}.bulk-action-buttons button:disabled{opacity:.42;cursor:not-allowed}
.transport-select-col{width:38px;min-width:38px;text-align:center!important}.bulk-row-check{display:grid;place-items:center;min-width:34px;min-height:34px;cursor:pointer}
.transport-table tr.bulk-selected td{background:rgba(91,167,204,.075)}.transport-table tr.bulk-selected td:first-child{box-shadow:inset 3px 0 0 rgba(132,200,232,.75)}
.transport-bulk-compact-row{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:stretch;border-radius:12px}.transport-bulk-compact-row.bulk-selected{background:rgba(91,167,204,.07)}
.transport-bulk-compact-row>.bulk-row-check{align-self:start;margin-top:10px}.transport-bulk-compact-row>.transport-compact-row{min-width:0}
.work-bulk-bar{margin:0 0 14px}.bulk-job-row{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:stretch}.bulk-job-row>.source-select{display:grid;place-items:center}
@media(max-width:720px){.bulk-action-bar{align-items:stretch;flex-direction:column}.bulk-action-buttons{width:100%;margin-left:0}.bulk-action-buttons button{flex:1 1 auto}.transport-bulk-compact-row{grid-template-columns:38px minmax(0,1fr)}}

.register-bulk-row{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:stretch}.register-bulk-row>.bulk-row-check{align-self:stretch;border-bottom:1px solid rgba(255,255,255,.045)}
.register-bulk-row>.register-row{min-width:0}.register-bulk-row:has([data-register-select]:checked){background:rgba(91,167,204,.06)}
.container-bulk-list{display:grid;gap:6px}.container-bulk-list .source-select{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid rgba(255,255,255,.055);border-radius:9px}

@media(max-width:1320px){
 .transport-table-bulk th,.transport-table-bulk td{padding-left:6px!important;padding-right:6px!important}
 .transport-table-bulk .transport-select-col{width:32px;min-width:32px}
 .transport-table-bulk .transport-driver-cell{min-width:104px}
 .transport-table-bulk .transport-reference{font-size:11px}
 .transport-table-bulk .transport-load-cell img{width:34px;height:34px}
 .transport-table-bulk th:last-child,.transport-table-bulk td:last-child{max-width:96px}
 .transport-table-bulk .transport-attention-note{max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

@media(max-width:1320px){
 .transport-table-bulk th:last-child,
 .transport-table-bulk td:last-child{display:none}
}

/* v1.40.43 — spreadsheet-style Transport selection, no checkbox column */
.transport-table tbody tr[data-dispatch="open"]{cursor:default}
.transport-table tbody tr.transport-row-selected td{background:rgba(83,157,194,.11)!important}
.transport-table tbody tr.transport-row-selected td:first-child{box-shadow:inset 3px 0 0 rgba(129,203,236,.9)}
.transport-table tbody tr[data-dispatch="open"]:focus{outline:0}
.transport-table tbody tr[data-dispatch="open"]:focus td{box-shadow:inset 0 1px 0 rgba(138,207,238,.26),inset 0 -1px 0 rgba(138,207,238,.26)}
.transport-table tbody tr.transport-row-selected:focus td:first-child{box-shadow:inset 3px 0 0 rgba(129,203,236,.95),inset 0 1px 0 rgba(138,207,238,.28),inset 0 -1px 0 rgba(138,207,238,.28)}
.transport-selection-toolbar{display:flex;align-items:center;gap:12px;min-height:40px;margin:0 0 8px;padding:7px 10px;border:1px solid rgba(116,187,221,.14);border-radius:9px;background:rgba(81,145,177,.055)}
.transport-selection-toolbar>strong{font-size:12px;color:#d5e8f1;white-space:nowrap}.transport-selection-toolbar>span{font-size:10.5px;color:#7795a5}
.transport-selection-toolbar>div{display:flex;gap:7px;margin-left:auto}.transport-selection-toolbar .danger{border-color:rgba(235,126,126,.28);color:#efb1b1}
@media(max-width:1320px){.transport-selection-toolbar>span{display:none}}

/* v1.40.43 restores the original Transport table width; checkbox-era rules no longer apply. */
@media(max-width:1320px){
 .transport-table:not(.transport-table-bulk) th:last-child,
 .transport-table:not(.transport-table-bulk) td:last-child{display:table-cell}
}
.transport-selection-toolbar{margin:0 0 8px}

/* v1.40.44 — desktop role preview */
.desktop-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 16px;border-bottom:1px solid rgba(125,197,230,.15);background:rgba(69,135,166,.08)}
.desktop-preview-banner>span{display:flex;align-items:center;gap:8px;min-width:0}.desktop-preview-banner .icon{width:15px;height:15px;color:#a9d9ef}.desktop-preview-banner strong{font-size:12px}.desktop-preview-banner small{color:#86a7b7;font-size:11px;text-transform:capitalize}.desktop-preview-exit{border-color:rgba(128,198,229,.2)!important}.desktop-preview-launch .icon{width:14px;height:14px}
@media(max-width:900px){.desktop-preview-banner{padding:8px 10px}.desktop-preview-banner small{display:none}}


/* v1.40.65 — supervisor IN/OUT approval + Astra triage */
.movement-review-queue .panel-body{display:grid;gap:12px}
.movement-review-submissions{display:grid;gap:7px}
.movement-review-submissions article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid rgba(150,200,226,.10);border-radius:12px;background:rgba(12,25,34,.65)}
.movement-review-submissions article>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;min-width:0}
.movement-review-submissions article strong{min-width:0;overflow-wrap:anywhere}
.movement-review-submissions article small{grid-column:1/-1;color:#8197a4;font-size:10px}
.movement-review-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.movement-row.is-approved{opacity:.82}
.movement-row.is-approved .movement-flag:first-child{border-color:rgba(102,201,165,.22);color:#a9dec9;background:rgba(61,124,96,.11)}
.movement-approval-card{display:grid;gap:12px;padding:15px;border:1px solid rgba(238,190,102,.20);border-radius:14px;background:linear-gradient(135deg,rgba(126,84,30,.12),rgba(12,25,34,.7))}
.movement-approval-card.approved{border-color:rgba(102,201,165,.20);background:linear-gradient(135deg,rgba(41,100,78,.11),rgba(12,25,34,.7))}
.movement-approval-card>div:first-child{display:grid;gap:4px}
.movement-approval-card>div:first-child>.badge{width:max-content}
.movement-approval-card>div:first-child strong{font-size:14px}
.movement-approval-card>div:first-child p,.movement-approval-card>small{margin:0;color:#869ca8;font-size:11px;line-height:1.45}
.astra-review-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}
.astra-review-counts span{display:grid;gap:2px;padding:9px;border:1px solid rgba(150,200,226,.09);border-radius:10px;background:rgba(13,27,36,.7)}
.astra-review-counts strong{font-size:18px}.astra-review-counts small{font-size:9px;color:#7e95a2;text-transform:uppercase;letter-spacing:.7px}
.astra-triage-source-list{display:grid;gap:6px;max-height:330px;overflow:auto;padding-right:3px}
.astra-triage-source-list label{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;border:1px solid rgba(150,200,226,.08);border-radius:11px;background:rgba(12,25,34,.65)}
.astra-triage-source-list input{margin-top:2px}.astra-triage-source-list span{display:grid;gap:3px}.astra-triage-source-list small{color:#8298a5;font-size:10px}
.astra-triage-results{display:grid;gap:10px}
.astra-triage-card{display:grid;gap:9px;padding:13px 14px;border:1px solid rgba(150,200,226,.10);border-radius:13px;background:rgba(12,25,34,.7)}
.astra-triage-card header{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}.astra-triage-card header strong{min-width:0;overflow-wrap:anywhere}
.astra-triage-card p{margin:0;color:#a5b8c2;font-size:11px;line-height:1.5}
.astra-triage-meta{display:flex;gap:7px;flex-wrap:wrap}.astra-triage-meta span{padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.025);font-size:9.5px;color:#8199a7}.astra-triage-meta b{color:#cfe3ec}
@media(max-width:760px){
 .movement-review-submissions article{align-items:stretch;flex-direction:column}.movement-review-submissions article>button{width:100%}
 .movement-review-actions{display:grid;grid-template-columns:1fr 1fr}.movement-review-actions button{width:100%}
 .astra-review-counts{grid-template-columns:1fr 1fr}
}

/* Multi-yard workspace selector */
.site-switch{min-width:210px}
.site-switch select{appearance:none;-webkit-appearance:none;max-width:240px;min-height:36px;padding:7px 30px 7px 11px;border:1px solid #314353;border-radius:8px;background:linear-gradient(180deg,#172532,#111d27);color:#d8e6f1;font-size:11px;font-weight:550;cursor:pointer}
.site-switch:after{content:"⌄";margin-left:-27px;pointer-events:none;color:#7890a3;font-size:12px}
@media(max-width:800px){.site-switch{min-width:0;max-width:190px}.site-switch select{max-width:170px;font-size:10px;padding-left:9px}}

/* v1.40.71 — whole-app consistency polish */
:root{--yt-polish-row:rgba(255,255,255,.045);--yt-polish-row-hover:rgba(120,181,214,.07)}
.panel-head>div{min-width:0}.panel-head h2,.panel-head p{max-width:100%;overflow-wrap:anywhere}
.panel-body>.page-caption:first-child{margin-top:0}
.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:24px;padding:4px 8px;border-radius:999px;font-size:10.5px;font-weight:700}
button.primary{font-weight:720}.quiet{font-weight:600}
.modal-head>div{min-width:0}.modal-head .page-caption{margin:4px 0 0}.modal-body{padding-top:18px}
.modal-body>.movement-integrity-card:first-child,.modal-body>.notice:first-child{margin-top:0}
.field>span,.field>label{font-size:12px;color:#9db2be}.field small{line-height:1.35}

/* CoR: make declaration feel like a first-class operational document workflow. */
.cor-signature-profile,.cor-register{overflow:hidden}
.cor-signature-profile .panel-head,.cor-register .panel-head{background:linear-gradient(180deg,rgba(69,135,169,.055),transparent)}
.cor-form{max-width:820px;margin-inline:auto}
.cor-load-summary{box-shadow:inset 0 1px rgba(255,255,255,.035)}
.cor-items>div{min-height:58px}.cor-items>div:hover{background:#0e1d27}
.cor-form-grid .field{margin:0}.cor-container-fields{margin-top:2px}
.cor-signature-box canvas{box-shadow:inset 0 0 0 1px rgba(20,35,47,.06)}
.cor-staff-confirm img,.cor-saved-signature img{border:1px solid #d8e0e5}
.cor-register-list article{transition:background .12s ease,border-color .12s ease,transform .12s ease}
.cor-register-list article:hover{background:#0e1d27;border-color:rgba(131,191,221,.16)}
.cor-register-list article>div:first-child{min-width:0}.cor-register-list article strong,.cor-register-list article small{overflow-wrap:anywhere}
.cor-complete{padding-top:8px;padding-bottom:12px}
.cor-complete-mark{box-shadow:0 10px 30px rgba(57,139,89,.12)}

/* Astra: clearer information hierarchy for long review sessions. */
.astra-cockpit-grid>button,.astra-triage-card,.astra-plan-jobs article{transition:background .12s ease,border-color .12s ease,transform .12s ease}
.astra-cockpit-grid>button:hover:not(:disabled),.astra-triage-card:hover{background:#0e1e28}
.astra-cockpit-grid small,.astra-triage-card p{max-width:52ch}
.astra-stocktake-flow>div{min-height:62px}.astra-review-counts span{min-height:62px;align-content:center}
.astra-triage-card .primary{justify-self:start}
.astra-plan-jobs article{min-height:64px}

/* Stock review: dense, scan-friendly, but keep exceptions obvious. */
.movement-row{border-left:2px solid transparent}
.movement-row.needs-review{border-left-color:rgba(221,168,82,.55)}
.movement-row.is-approved{border-left-color:rgba(79,173,117,.45)}
.movement-row:hover{background:var(--yt-polish-row-hover)!important}
.movement-row-tags{gap:6px}.movement-flag{line-height:1.2}
.movement-context>div{min-width:0}
.movement-context strong{line-height:1.35}
.movement-approval-card,.movement-integrity-card{border-radius:12px}
.stocktake-session-row{transition:background .12s ease,border-color .12s ease}
.stocktake-session-row:hover{background:var(--yt-polish-row-hover)}

/* Transport: stronger row readability and clearer status separation. */
.transport-table tbody tr,.dispatch-table tbody tr{border-bottom-color:rgba(255,255,255,.045)!important}
.transport-table tbody tr:hover,.dispatch-table tbody tr:hover{background:var(--yt-polish-row-hover)!important}
.transport-status.pending,.badge.pending{background:rgba(226,175,73,.14)!important;border-color:rgba(226,175,73,.34)!important;color:#f1ca78!important}
.transport-status.assigned,.badge.assigned{background:rgba(78,149,219,.15)!important;border-color:rgba(78,149,219,.36)!important;color:#9bcbf3!important}
.transport-status.in-transit,.transport-status.in_transit,.badge.in-transit,.badge.in_transit{background:rgba(157,105,225,.16)!important;border-color:rgba(157,105,225,.38)!important;color:#cfb1f5!important}
.transport-status.completed,.badge.completed{background:rgba(64,177,112,.15)!important;border-color:rgba(64,177,112,.35)!important;color:#9ee0b8!important}
.transport-detail-dialog .modal-body{scrollbar-gutter:stable both-edges}
.transport-detail-dialog .field-two{gap:10px}

/* Messenger: calmer thread chrome and better composer containment. */
.msg-thread-head{border-bottom-color:rgba(255,255,255,.055)!important}
.msg-history{scrollbar-gutter:stable}
.msg-bubble{line-height:1.45}
#msg-composer{border-top-color:rgba(255,255,255,.055)!important}
#msg-composer textarea{line-height:1.4;max-height:150px}
.msg-conversation{transition:background .12s ease}
.msg-conversation:hover{background:rgba(112,169,199,.06)!important}

/* Desktop shell: reduce visual noise while keeping hierarchy. */
@media(min-width:801px){
 .workspace main:not(.desktop-yard-map-main){max-width:1520px}
 .heading{margin-bottom:22px}
 .heading h1{font-size:clamp(27px,2.2vw,34px)}
 .panel{box-shadow:0 1px 0 rgba(255,255,255,.018)}
 .list-toolbar,.transport-toolbar,.movement-filters,.register-toolbar{border-radius:12px}
 .sidebar-bottom{padding-top:10px}
}

/* Phone: consistent touch sizing and avoid footer/action collisions. */
@media(max-width:760px){
 .field-dialog .modal-body{padding-bottom:calc(22px + env(safe-area-inset-bottom))}
 .field-dialog .modal-body>.primary.field-wide:last-child{margin-bottom:4px}
 .cor-form{max-width:none}
 .cor-items>div{align-items:flex-start}
 .cor-items>div b{font-size:12px}
 .cor-register-list article>div:last-child{width:100%}
 .cor-register-list article>div:last-child>*{flex:1 1 auto}
 .astra-cockpit-grid>button{min-height:104px}
 .movement-row{border-left-width:3px}
 .msg-bubble{max-width:92%!important}
}

/* Onsite reconciliations are stock adjustments, never physical OUT events. */
.movement-direction.adjustment{background:rgba(115,139,158,.15)!important;border-color:rgba(115,139,158,.34)!important;color:#b7cad5!important}

/* v1.40.81 — Containers operational workspace */
.container-command-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.container-command-strip>button{min-height:92px;display:grid;justify-items:start;align-content:center;gap:3px;padding:14px 16px;border-radius:14px;background:linear-gradient(145deg,#111f2a,#0d1821);border:1px solid #2c4352;text-align:left}
.container-command-strip>button strong{font-size:25px;line-height:1;color:#edf7fb}
.container-command-strip>button span{font-size:13px;font-weight:750}
.container-command-strip>button small{font-size:10px;color:#8299a7}
.container-command-strip>button.attention{border-color:#67542b;background:linear-gradient(145deg,#2a2518,#121b20)}
.container-command-strip>button.attention strong{color:#efd06d}
.container-workspace-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:12px;align-items:center;margin:0 0 18px}
.container-search{display:flex;align-items:center;gap:9px;min-height:46px;padding:0 13px;border:1px solid #314958;border-radius:12px;background:#0e1c26}
.container-search .icon{width:18px;color:#87a7b8}
.container-search input{width:100%;min-width:0;padding:11px 0;border:0;background:transparent;color:#eef6fa;outline:0}
.container-workspace-toolbar>.segmented{min-width:0}
.container-workspace-toolbar>small{white-space:nowrap}
.container-workspace-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.container-work-tile{position:relative;display:grid;gap:13px;align-content:start;padding:16px!important;overflow:hidden;background:linear-gradient(145deg,#11232d,#0c1921)!important}
.container-work-tile.source-linked{border-color:#36505e}
.container-work-tile .tile-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.container-tile-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.badge.source{background:#1c2c39;color:#b8d8e8;border-color:#385567}
.container-open-record{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;padding:0!important;min-height:0!important;border:0!important;background:transparent!important;text-align:left!important}
.container-open-record>span{min-width:0}
.container-open-record h2{margin-top:3px;font-size:22px;overflow-wrap:anywhere}
.container-open-record small{font-size:10px;letter-spacing:.3px;color:#849aa7}
.container-open-record>.icon{color:#8fb4c7}
.container-lifecycle{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.container-lifecycle span{position:relative;display:grid;justify-items:center;gap:5px;color:#647b89;font-size:8px;text-align:center;line-height:1.2}
.container-lifecycle span:before{content:"";position:absolute;top:4px;left:-50%;right:50%;height:1px;background:#2a3c48;z-index:0}
.container-lifecycle span:first-child:before{display:none}
.container-lifecycle i{position:relative;z-index:1;width:9px;height:9px;border-radius:50%;background:#263946;border:2px solid #263946}
.container-lifecycle span.done{color:#8eb6c9}
.container-lifecycle span.done i{background:#79b3cf;border-color:#79b3cf}
.container-lifecycle span.done:before,.container-lifecycle span.current:before{background:#5e91a9}
.container-lifecycle span.current{color:#e9f6fb;font-weight:800}
.container-lifecycle span.current i{background:#d5ecf7;border-color:#d5ecf7;box-shadow:0 0 0 4px #a8d9f022}
.container-lifecycle.cancelled{display:flex}.container-lifecycle.cancelled span{justify-items:start;color:#e7aaa4}.container-lifecycle.cancelled span:before{display:none}
.container-tile-actions{display:flex!important;flex-wrap:wrap;gap:7px;justify-content:flex-start!important;align-items:center}
.container-tile-actions button{flex:1 1 auto;min-width:100px}
.container-tile-actions .receive-action{margin-left:auto}
.container-empty-state{grid-column:1/-1;display:grid;justify-items:center;gap:5px;min-height:170px;border:1px dashed #2d4351;border-radius:14px;background:#0c1820}
.container-empty-state .icon{width:28px;height:28px;color:#7895a5}
.container-source-register{margin-top:34px}
.container-source-register>.eyebrow{margin-bottom:5px}
.container-source-register>h2{font-size:24px;margin-bottom:5px}
.container-source-register>.page-caption{max-width:850px;margin-bottom:14px}
.source-accounting{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}
.source-accounting>span{padding:12px 13px;border:1px solid #2c4352;border-radius:12px;background:#0e1c25}
.source-accounting strong,.source-accounting small{display:block}
.source-accounting strong{font-size:20px;color:#edf7fb}.source-accounting small{margin-top:3px;font-size:9px;text-transform:uppercase;letter-spacing:.7px}
.source-accounting>span.attention{border-color:#65532d;background:#292417}.source-accounting>span.attention strong{color:#efd06d}

/* Open container record */
.container-detail-heading h2{font-size:27px}
.container-record{display:grid;gap:18px}
.container-record-summary{display:grid;gap:14px;padding:16px;border:1px solid #324b5b;border-radius:16px;background:linear-gradient(145deg,#122834,#0c1c25)}
.container-record-state{display:flex;align-items:center;justify-content:space-between;gap:12px}
.container-record-state small{color:#9fb4bf}
.container-record-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.container-record-metrics>span{padding:10px;border-radius:11px;background:#0b1820;border:1px solid #29404d;text-align:center}
.container-record-metrics strong,.container-record-metrics small{display:block}.container-record-metrics strong{font-size:19px}.container-record-metrics small{margin-top:3px;font-size:9px;letter-spacing:.5px;text-transform:uppercase}
.container-record-metrics>span.attention{border-color:#65512d}.container-record-metrics>span.attention strong{color:#f0cf70}
.container-origin-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 15px;border:1px solid #36515f;border-radius:14px;background:#10222c}
.container-origin-card>div{display:grid;gap:4px}.container-origin-card strong{font-size:14px}.container-origin-card p{color:#8fa7b4;font-size:11px;line-height:1.45}
.container-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.container-section-head small{font-size:8px;letter-spacing:1.2px;color:#7793a1}.container-section-head h3{font-size:17px;margin-top:3px}.container-section-head>span{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:#182b36;color:#b8cfdb;font-size:10px}
.container-expected-list{display:grid;gap:6px}.container-expected-list p{padding:9px 11px;border-radius:9px;background:#0d1b24;border:1px solid #273d49;font-size:12px}
.container-receipt-list{display:grid;gap:10px}.container-receipt-card{padding:13px!important;border:1px solid #2b4452!important;border-radius:13px!important;background:#0c1a22}
.container-receipt-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.container-receipt-card>header strong,.container-receipt-card>header small{display:block}.container-receipt-card>header small{margin-top:3px}
.container-receipt-card ul{list-style:none;padding:0;margin:10px 0}.container-receipt-card li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #ffffff0c}.container-receipt-card li>span{min-width:0}.container-receipt-card li strong,.container-receipt-card li small{display:block}.container-receipt-card li b{white-space:nowrap}
.container-receipt-note{margin:7px 0;color:#a7bac4;font-size:12px}
.container-collection-card{display:flex;gap:11px;padding:12px 13px;margin-bottom:10px;border:1px solid #285745;border-radius:12px;background:#10291f}.container-collection-card>.icon{color:#82d8b7}.container-collection-card strong,.container-collection-card small{display:block}.container-collection-card p{font-size:12px;color:#b9d7ca}
.container-history{border:1px solid #293f4c;border-radius:13px;background:#0c1921}.container-history summary{padding:13px 14px;cursor:pointer;font-weight:750}.container-history>div{padding:0 14px 12px}
.container-record-actions{position:sticky;bottom:0;z-index:2}
@media(max-width:1100px){
 .container-workspace-toolbar{grid-template-columns:1fr}
 .container-workspace-toolbar>small{white-space:normal}
 .container-command-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .container-command-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .container-command-strip>button{min-height:82px;padding:12px}
 .container-command-strip>button strong{font-size:22px}
 .container-workspace-grid{grid-template-columns:1fr}
 .container-work-tile{padding:14px!important}
 .container-open-record h2{font-size:20px}
 .container-lifecycle span{font-size:7px}
 .container-tile-actions button{min-height:46px}
 .source-accounting{grid-template-columns:1fr 1fr}
 .source-accounting>span:last-child{grid-column:1/-1}
 .container-record-summary{padding:13px}
 .container-record-state{align-items:flex-start;flex-direction:column}
 .container-record-metrics{gap:6px}
 .container-origin-card{align-items:stretch;flex-direction:column}
 .container-origin-card button{width:100%}
 .container-receipt-card li{align-items:flex-start;flex-direction:column}
 .container-record-actions{align-items:stretch;flex-direction:column}
 .container-record-actions button{width:100%}
}
@media(max-width:560px){.movement-review-queue>.panel-head{flex-direction:column;align-items:stretch;gap:12px}.movement-review-queue .movement-head-status{display:flex;align-items:baseline;gap:10px}.movement-review-queue .movement-head-status span{margin:0}}

/* Team access: controls stay outside the live result list so typing keeps focus. */
.user-admin-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(140px,1fr));gap:12px;margin-bottom:16px}
.user-admin-filters .field{min-width:0;margin:0}
.user-admin-filters input,.user-admin-filters select{width:100%;min-width:0;min-height:44px}
.user-admin-results{margin:0;color:var(--text-muted,#90a7b5);font-size:12px}
.user-admin-panel .user-admin-actions button,.user-admin-panel .user-admin-head .primary,.user-admin-panel .user-admin-toolbar button{min-height:44px}
.user-admin-main small{overflow-wrap:anywhere}
.user-admin-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1050px){.user-admin-row{grid-template-columns:44px minmax(0,1fr)}.user-admin-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:600px){.user-admin-filters{grid-template-columns:minmax(0,1fr)}.user-admin-panel .user-admin-actions{grid-column:1/-1;padding-left:0;grid-template-columns:repeat(2,minmax(0,1fr))}.user-admin-name h3{white-space:normal;overflow-wrap:anywhere}.user-admin-head{flex-wrap:wrap}.user-admin-summary span{letter-spacing:0;font-size:10px}}

/* Shared Yard Jobs: instructions, checklist and operational updates. */
.work-job-detail{display:grid;gap:var(--yt-s5);min-width:0}
.work-job-detail h3{margin:0 0 var(--yt-s3);font-size:16px}
.work-job-meta,.work-section-heading,.work-job-card-top{display:flex;justify-content:space-between;gap:var(--yt-s3);flex-wrap:wrap}
.work-job-meta{color:var(--yt-text-2);font-size:13px}.work-job-meta strong{color:var(--yt-warning)}
.work-instructions,.work-checklist,.work-note-compose,.work-updates{padding:var(--yt-s4);border:1px solid var(--yt-border);border-radius:var(--yt-r2);background:var(--yt-surface)}
.work-instructions p,.work-update p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:var(--yt-text-2)}
.work-section-heading>span{font-size:12px;color:var(--yt-text-2)}
.work-check-item{display:flex;align-items:center;gap:var(--yt-s3);min-height:52px;padding:var(--yt-s3) 0;border-top:1px solid var(--yt-border);cursor:pointer}
.work-check-item input{width:24px;height:24px;min-height:24px;flex:0 0 24px;accent-color:var(--yt-primary)}
.work-check-item span{overflow-wrap:anywhere;line-height:1.5}.work-check-item.is-done span{color:var(--yt-muted)}
.work-primary-actions{display:grid;gap:var(--yt-s3)}.work-primary-actions button{min-height:52px}
.work-note-compose .field{display:grid;gap:var(--yt-s2)}.work-note-compose textarea{width:100%;resize:vertical;min-height:100px}
.work-note-actions{display:flex;flex-wrap:wrap;gap:var(--yt-s2)}.work-note-actions button{flex:1;min-height:48px}
.work-update{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--yt-s2);padding:var(--yt-s3) 0;border-top:1px solid var(--yt-border)}.work-update p{grid-column:1/-1}.work-update small{font-size:11px}
.work-admin-details{border:1px solid var(--yt-border);border-radius:var(--yt-r2);padding:var(--yt-s4)}.work-admin-details summary{min-height:44px;cursor:pointer}.work-admin-details button{margin:var(--yt-s2) var(--yt-s2) var(--yt-s2) 0}
.work-job-card{display:grid!important;gap:var(--yt-s3);text-align:left;width:100%;min-width:0;padding:var(--yt-s4)!important;border-radius:var(--yt-r3);background:var(--yt-surface)!important;white-space:normal}
.work-job-card strong{font-size:17px;line-height:1.4;overflow-wrap:anywhere;color:var(--yt-text)}.work-job-card>span{font-size:13px;color:var(--yt-text-2)}.work-job-card-top small{font-size:12px}.work-job-card progress{width:100%;height:8px;accent-color:var(--yt-primary)}.work-job-card-open{display:flex;align-items:center;justify-content:space-between;color:var(--yt-primary)!important}
.work-board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--yt-s4);margin-bottom:var(--yt-s5)}.work-board summary{min-height:44px}
@media(max-width:600px){.work-board-grid{grid-template-columns:minmax(0,1fr)}.work-update{grid-template-columns:minmax(0,1fr)}.work-update p{grid-column:auto}.work-job-detail{gap:var(--yt-s4)}.work-job-detail .work-instructions,.work-job-detail .work-checklist,.work-job-detail .work-note-compose,.work-job-detail .work-updates{padding:var(--yt-s3)}}

.work-job-head>div{min-width:0}.work-job-head h2{overflow-wrap:anywhere}.work-job-head>button{flex:0 0 auto;white-space:nowrap;min-width:64px}
.work-job-detail #work-error:empty{display:none}.field-section .work-job-card+.work-job-card{margin-top:var(--yt-s3)}

/* Keep urgent work visible even after a teammate starts it. */
.work-job-card.work-priority-urgent{border-inline-start:4px solid var(--yt-warning)}
.work-priority-urgent .work-job-card-top small:first-child{color:var(--yt-warning);font-weight:700}
.work-job-card.work-priority-high{border-inline-start:4px solid var(--yt-primary)}
.work-job-detail .work-primary-actions p{margin:0;line-height:1.5}

.work-job-card{grid-template-columns:minmax(0,1fr);justify-items:stretch;align-content:start}.work-job-card>strong,.work-job-card>span{text-align:left;width:100%}
[data-msg-unread]{white-space:nowrap;flex-shrink:0}

/* Phone chat: give the message room and keep secondary actions in its action sheet. */
@media(max-width:760px){
 #msg-composer .msg-compose-row{display:grid;grid-template-columns:44px 44px minmax(0,1fr) 44px;gap:4px!important}
 #msg-composer .msg-compose-row .chat-camera{display:none!important}
 #msg-composer .msg-compose-icon,#msg-composer .msg-send{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
 #msg-composer .msg-compose-row textarea{width:100%;min-width:0;box-sizing:border-box}
 .msg-bubble footer .msg-reaction-shortcuts,.msg-bubble footer [data-msg-reply]{display:none!important}
 .msg-bubble footer .msg-more{margin-inline-start:auto}
 #msg-draft-extras{max-height:24dvh;overflow-y:auto;overscroll-behavior:contain}
}

/* Yard job summaries share the same card on worker home, phone and desktop. */
.work-card-photo{display:block;overflow:hidden;border-radius:var(--yt-r2)}
.work-job-card .work-card-photo .field-photo{display:block;width:100%;height:120px;max-width:none;object-fit:cover;border-radius:0}
.work-card-assignment{overflow-wrap:anywhere;line-height:1.5;color:var(--yt-text-2)}
.work-job-card .work-card-assignment{font-size:13px}

@media(max-width:430px){.onsite-directory-tools>button{flex:1 1 100%!important;min-height:44px;white-space:nowrap;word-break:normal;overflow-wrap:normal}}
