:root{--bg:#f5f7f8;--panel:#fff;--ink:#172026;--muted:#69767d;--line:#dfe5e8;--accent:#0e6b50;--accent2:#e9f3ef;--warn:#a56b00;--warnbg:#fff5d8;--bad:#a73131;--badbg:#fde9e7;--good:#227a52;--goodbg:#e8f5ee;--nav:#101c22}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)} button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:var(--nav);color:#fff;padding:22px 16px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:4px 6px 24px}.brand-mark{width:44px;height:44px;border-radius:12px;background:#fff;color:var(--nav);display:grid;place-items:center;font-weight:900}.brand span{display:block;color:#9db0ba;font-size:12px;margin-top:3px}.sidebar nav{display:grid;gap:6px}.sidebar nav button{border:0;background:transparent;color:#c8d4da;padding:12px 14px;border-radius:10px;text-align:left;cursor:pointer}.sidebar nav button:hover,.sidebar nav button.active{background:#20323a;color:white}.sidebar-foot{margin-top:auto;font-size:12px;color:#82949d;padding:12px 6px}.topbar{padding:24px 30px 18px;display:flex;justify-content:space-between;gap:20px;align-items:center}.topbar h1{margin:0 0 5px;font-size:26px}.topbar p{margin:0;color:var(--muted)}.primary{border:0;background:var(--accent);color:#fff;padding:13px 18px;border-radius:10px;font-weight:800;cursor:pointer}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 14px;border-radius:9px;cursor:pointer}.danger{border:0;background:var(--bad);color:white;padding:10px 14px;border-radius:9px}.content{padding:0 30px 32px}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 2px 10px rgba(17,34,44,.03)}.metric .label{color:var(--muted);font-size:13px}.metric .value{font-size:29px;font-weight:850;margin-top:5px}.metric .hint{font-size:12px;margin-top:5px;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px}.section-title h2{font-size:18px;margin:0}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#fafbfb}.clickable{cursor:pointer}.clickable:hover{background:#f6faf8}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800}.badge.good{background:var(--goodbg);color:var(--good)}.badge.warn{background:var(--warnbg);color:var(--warn)}.badge.bad{background:var(--badbg);color:var(--bad)}.badge.neutral{background:#eef2f4;color:#5c6970}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.field{display:grid;gap:6px}.field label{font-size:12px;color:var(--muted);font-weight:700}.field input,.field select,.field textarea{border:1px solid #cfd8dc;background:#fff;border-radius:9px;padding:10px 11px;min-width:0}.field textarea{min-height:90px;resize:vertical}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.wizard-head{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.step-chip{padding:8px 10px;border-radius:999px;background:#edf1f3;color:#65727a;font-size:12px;font-weight:800}.step-chip.active{background:var(--accent2);color:var(--accent)}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.battery-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.battery-id{font-size:24px;font-weight:900}.battery-meta{color:var(--muted);margin-top:5px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-top:18px;overflow:auto}.tabs button{border:0;background:transparent;padding:11px 8px;white-space:nowrap;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.tabs button.active{color:var(--accent);border-color:var(--accent);font-weight:800}.cell-grid{display:grid;grid-template-columns:repeat(12,minmax(68px,1fr));gap:7px}.cell-box{border:1px solid var(--line);border-radius:8px;padding:8px;text-align:center;background:#fff}.cell-box .n{font-size:11px;color:var(--muted)}.cell-box .v{font-weight:850;font-size:13px;margin-top:3px}.cell-box.good{border-color:#b9ddc8;background:var(--goodbg)}.cell-box.warn{border-color:#efd487;background:var(--warnbg)}.cell-box.bad{border-color:#efb5ae;background:var(--badbg)}.chart{height:240px;width:100%;display:block}.legend{font-size:12px;color:var(--muted);margin-top:6px}.notice{padding:12px 14px;border-radius:10px;background:#eef6f3;border:1px solid #d3e8df;color:#315e4c}.warning-box{padding:12px 14px;border-radius:10px;background:var(--warnbg);border:1px solid #edd99e;color:#725619}.kv{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--line);padding:9px 0;gap:10px}.kv span:first-child{color:var(--muted)}.empty{padding:40px;text-align:center;color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sticky-save{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 30%);padding-top:24px}.small{font-size:12px;color:var(--muted)}.public-card{max-width:760px;margin:25px auto}.print-only{display:none}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr 1fr}.span-3{grid-column:span 2}.cell-grid{grid-template-columns:repeat(8,1fr)}}
@media(max-width:620px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;min-height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.topbar{padding:18px;align-items:flex-start}.topbar .primary{display:none}.content{padding:0 18px 24px}.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.cell-grid{grid-template-columns:repeat(4,1fr)}}
@media print{.sidebar,.topbar,.actions,.tabs{display:none!important}.app-shell{display:block}.content{padding:0}.card{box-shadow:none}.print-only{display:block}}
.sync-status{display:inline-flex;margin-left:8px;padding:3px 8px;border-radius:999px;background:#eaf1f4;color:#617078;font-size:11px;vertical-align:middle}.flow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.flow div{padding:10px 12px;background:#f4f7f8;border-radius:10px;font-size:13px}.flow b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--nav);color:#fff;margin-right:5px}.flow span{color:#89979e}.form-panel{margin-top:16px}.import-box{border-style:dashed}.actions.left{justify-content:flex-start;align-items:center}.cell-input{width:88px;border:1px solid #d1dade;border-radius:7px;padding:7px}.small-input{width:76px}.note-input{min-width:170px;border:1px solid #d1dade;border-radius:7px;padding:7px}.toast{position:fixed;right:22px;bottom:22px;z-index:9999;padding:13px 16px;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.16);background:#fff;border:1px solid var(--line);font-weight:800}.toast.good{color:var(--good);border-color:#b6dcc8}.toast.bad{color:var(--bad);border-color:#edb3ad}.chart-line{color:var(--accent)}
@media(max-width:620px){.flow span{display:none}.flow div{flex:1 1 45%}.note-input{min-width:130px}.cell-input{width:76px}}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef4f2,#f7f8f9)}
.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 18px 60px rgba(16,28,34,.12)}
.auth-brand{display:flex;gap:14px;align-items:center;margin-bottom:22px}.auth-brand h1{margin:0;font-size:22px}.auth-brand p{margin:4px 0 0;color:var(--muted);font-size:13px}.auth-card form{display:grid;gap:14px}.auth-submit{width:100%;margin-top:4px}.auth-error{min-height:18px;color:var(--bad);font-size:12px;font-weight:700}.auth-note{margin:14px 0 0}.sidebar-foot strong{display:block;color:#fff}.sidebar-foot .user-role{display:inline-block;margin-top:5px;font-size:10px;padding:3px 6px;border-radius:999px;background:#20323a;color:#c8d4da}.sidebar-foot button{display:block;margin-top:9px;border:0;background:transparent;color:#d5e0e5;padding:0;cursor:pointer;text-decoration:underline}.version-note{margin-top:12px;color:#82949d}.compact{padding:7px 10px;border-radius:8px;font-size:12px}.actions-cell{white-space:nowrap}.user-metric{font-size:18px!important;line-height:1.2}.attachment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.attachment-card{padding:14px}.attachment-card a{color:var(--ink);text-decoration:none;display:block;margin:5px 0 8px;word-break:break-word}.attachment-card a:hover{text-decoration:underline}.attachment-kind{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-weight:900}.hash-line{font-size:9px;color:var(--muted);word-break:break-all;margin-top:8px}.link-danger{border:0;background:transparent;color:var(--bad);padding:7px 0 0;cursor:pointer;font-size:12px}.primary:disabled,.secondary:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:1000px){.attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.attachment-grid{grid-template-columns:1fr}.auth-card{padding:20px}}
.inspection-timer-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-8px 0 16px;padding:12px 16px;border-color:#cfe4da;background:#f2f8f5}.inspection-timer-card strong{color:var(--accent)}
@media(max-width:680px){.inspection-timer-card{align-items:flex-start;flex-direction:column;gap:4px}}
/* v0.12.31 tablet visual stabilization */
main{min-width:0}
@media (min-width:621px) and (max-width:900px){
  .app-shell{grid-template-columns:200px minmax(0,1fr)}
  .sidebar{padding:14px 10px}
  .brand{gap:8px;padding:2px 4px 14px}
  .brand-mark{width:36px;height:36px;border-radius:10px}
  .brand strong{font-size:14px}
  .brand span{font-size:10px}
  .sidebar nav{gap:3px}
  .sidebar nav button{padding:9px 10px;font-size:13px}
  .sidebar-foot{padding:8px 4px}
  .topbar{padding:18px 18px 14px;gap:10px;flex-wrap:wrap}
  .topbar h1{font-size:23px}
  .topbar .primary{padding:11px 13px;font-size:13px}
  .content{padding:0 18px 24px}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cell-grid{grid-template-columns:repeat(6,minmax(62px,1fr))}
  .kv{grid-template-columns:minmax(125px,42%) minmax(0,1fr)}
  .battery-head{flex-direction:column}
  .table-wrap{max-width:100%;overflow-x:auto}
}

/* Keep all navigation entries reachable on short screens. */
.sidebar{min-height:0;overflow-y:auto;overscroll-behavior:contain}.sidebar .brand,.sidebar-foot{flex-shrink:0}

/* Guided data entry: shared by dynamically rendered forms. */
.guide-required{color:#b42318;font-weight:800;font-size:1.1em}
.guide-bar{position:sticky;top:0;z-index:12;padding:12px 14px;margin:0 0 18px;background:#f1f8f5;border:1px solid #a9cfc0;border-radius:10px;box-shadow:0 2px 8px #17202612}
.guide-progress{font-weight:800;color:#12533f}.guide-help{font-size:12px;line-height:1.5;margin-top:3px;color:#455b52}.guide-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.guide-actions button{background:#fff;border:1px solid #8bab9e;border-radius:7px;padding:8px 12px;min-height:40px;cursor:pointer}.guide-actions button:disabled{opacity:.45;cursor:default}.guide-actions [hidden]{display:none}.guide-message{color:#a1261c;font-weight:700;line-height:1.5}.guide-message:not(:empty){margin-top:8px}.guide-cell-mode{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:13px}.guide-cell-mode select{min-height:40px;max-width:100%;padding:6px;border:1px solid #8bab9e;border-radius:6px;background:#fff}
.guided-form input,.guided-form select,.guided-form textarea{scroll-margin:150px 24px 120px}
.guided-form .guide-active,.guided-form input:focus-visible,.guided-form select:focus-visible,.guided-form textarea:focus-visible{outline:3px solid #087553;outline-offset:3px;box-shadow:0 0 0 6px #dff3ea;background-color:#fbfffd}
.guided-form .guide-invalid{outline:2px solid #b42318;outline-offset:2px}.guided-form .guide-active-row{background:#eff8f4}.guided-form .guide-active-row>td:first-child{box-shadow:inset 4px 0 #087553;color:#075c42}
@media(max-width:1024px){.guided-form input,.guided-form select,.guided-form textarea{min-height:44px}.guide-actions button{min-height:44px}.guide-bar{position:sticky}.guided-form input,.guided-form select,.guided-form textarea{scroll-margin:70px 16px 100px}}
@media(prefers-reduced-motion:reduce){.guided-form *{scroll-behavior:auto}}

/* Universal measurement screens */
.lab-json{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;max-height:28rem;overflow:auto}.lab-chart{margin:16px 0;max-width:100%;min-width:0}.lab-chart svg{display:block;width:100%;max-width:760px;height:auto}.lab-actions{display:flex;flex-wrap:wrap;gap:10px}#lab-message{overflow-wrap:anywhere;margin:12px 0}#lab-history,#lab-review,#lab-map{min-width:0;max-width:100%;overflow-wrap:anywhere}#lab-import-form input[type=file]{max-width:100%;min-width:0}#app:has([id^="lab-"]) .section-title{flex-wrap:wrap}

/* Fleet actions must fit the content column instead of overflowing a right-aligned flex row. */
.fleet-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;justify-content:stretch}
.fleet-actions>button{min-width:0;white-space:normal;overflow-wrap:anywhere;height:100%;min-height:48px}
/* A single active field-work panel, with unchanged underlying form controls. */
#inspection-form [data-inspection-step][hidden],#inspection-form [hidden]{display:none!important}
.inspection-step-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:14px 0}
.inspection-step-nav button{min-width:0;min-height:48px;padding:9px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);overflow-wrap:anywhere;cursor:pointer;text-align:left}
.inspection-step-nav button.active{background:var(--accent);color:white;border-color:var(--accent)}
#wizard-progress{scroll-margin-top:14px;font-size:20px}
#inspection-form .guide-bar{position:static}
#inspection-form [data-inspection-step]>.card{margin-top:12px!important}
#inspection-form .actions{flex-wrap:wrap;justify-content:flex-start}
#inspection-form .section-title{flex-wrap:wrap;gap:10px}
.wizard-controls{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:8px;padding:12px 0;background:var(--bg);z-index:3}
.wizard-controls button{min-height:44px}
.wizard-text,#wizard-evidence-summary{white-space:pre-wrap;overflow-wrap:anywhere}
.wizard-cells{width:100%;max-width:100%;overflow:visible}
.wizard-cells table{width:100%;table-layout:fixed}
.wizard-cells th,.wizard-cells td{white-space:normal;overflow-wrap:anywhere;padding:8px}
.wizard-cells input,.wizard-cells select{width:100%;min-width:0;max-width:100%;min-height:44px}
@media(max-width:1024px){
 .inspection-step-nav{grid-template-columns:repeat(5,minmax(0,1fr));font-size:12px}
 #inspection-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #inspection-form .form-grid>.field{min-width:0;max-width:100%}
 #inspection-form .form-grid>.span-3{grid-column:1/-1}
 #inspection-form input,#inspection-form select,#inspection-form textarea{max-width:100%;min-width:0}
 .wizard-cells table,.wizard-cells tbody{display:block}
 .wizard-cells thead{display:none}
 .wizard-cells tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
 .wizard-cells td{display:block;border:0;padding:0;min-width:0}
 .wizard-cells td:first-child,.wizard-cells td[data-cell-status]{grid-column:1/-1}
 .wizard-cells td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:4px}
}
@media(max-width:620px){#inspection-form .form-grid{grid-template-columns:1fr}#inspection-form .field{grid-column:1/-1}}

#inspection-form .guide-progress{display:none}
#inspection-form .guide-bar{padding:10px;margin:8px 0}
#inspection-timer{padding:8px 12px;margin:8px 0;font-size:13px}
#inspection-draft-status{padding:8px 12px;font-size:12px;line-height:1.4}
@media(max-width:620px){.inspection-step-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

#inspection-form[data-wizard-step="5"] .guide-progress,#inspection-form[data-wizard-step="6"] .guide-progress{display:block}
.evidence-preview{display:flex;gap:12px;padding:12px;border:1px solid var(--border,#ddd);margin:8px 0;overflow-wrap:anywhere}.evidence-preview img{width:80px;height:80px;object-fit:contain}.evidence-preview>div{min-width:0;flex:1}.evidence-preview select{max-width:100%}.review-checklist{overflow-wrap:anywhere}.review-checklist dl{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:8px}.review-checklist dd{margin:0}.review-errors{border-left:4px solid #b91c1c;padding:12px}.review-warnings{border-left:4px solid #c78b00;padding:12px}button:disabled{cursor:not-allowed;opacity:.55}
/* Notifications must never intercept field navigation or evidence actions. */
.toast{pointer-events:none}
body:has(#inspection-form[data-wizard]) .toast{bottom:100px;max-width:calc(100vw - 32px)}

.trial-banner{padding:12px 18px;background:#fff1c2;color:#593c00;font-weight:750;border-bottom:2px solid #be8b18;overflow-wrap:anywhere}.trial-banner span{font-weight:400}.correction-dialog{max-width:min(620px,calc(100vw - 32px));border:1px solid #bcc7d1;border-radius:12px;padding:24px}.correction-dialog::backdrop{background:#17212baa}.correction-dialog textarea{display:block;width:100%;min-height:100px}.evidence-format{max-width:150px;overflow-wrap:anywhere;padding:12px;background:#edf1f4;color:#425163}.draft-corrections{margin:14px 0}.review-checklist p{overflow-wrap:anywhere}

/* Location-first forms stay inside the tablet viewport. */
fieldset { min-width:0; border:1px solid #d5e4df; border-radius:10px; margin:12px 0; padding:14px; }
.lw-inactive { opacity:.6; }
#lw-create-dialog { width:min(900px,94vw); max-height:90vh; overflow:auto; }
#lw-setup select[multiple] { min-height:100px; }
#lw-trends { margin-top:20px; }
/* Field correction dialogs keep the underlying entry form intact. */
.fc-dialog{width:min(900px,94vw);max-height:90vh;overflow:auto;border:1px solid #bed3c9;border-radius:12px;padding:20px;box-sizing:border-box}.fc-dialog textarea{display:block;width:100%;min-height:160px;box-sizing:border-box}.fc-dialog .form-grid{min-width:0}.fc-dialog input,.fc-dialog select{max-width:100%;box-sizing:border-box}.evidence-preview img{max-width:140px;max-height:110px;object-fit:contain}.evidence-preview>div{min-width:0;overflow-wrap:anywhere}

/* Scoped presentation for the new work/cost module. */
.work-cost-screen .actions{flex-wrap:wrap;justify-content:flex-start}
.work-cost-screen button:not(.primary):not(.secondary){border:1px solid var(--line);background:white;color:var(--ink);padding:10px 14px;border-radius:9px;cursor:pointer}
.work-cost-screen .actions button{flex:0 1 auto;min-height:44px}
.work-cost-screen details{padding:10px 0;border-bottom:1px solid var(--line)}
.work-cost-screen fieldset{border:1px solid var(--line);border-radius:10px;margin:16px 0;padding:16px}
.work-cost-screen fieldset>label{display:inline-flex;align-items:center;gap:8px;margin:8px 16px 8px 0}
.work-cost-screen #wc-results{display:grid;gap:12px;margin-top:20px}
/* Manual field review: readable labels, separate cell measurements and visible focus. */
.stat>span,.stat>strong{display:block}.stat>strong{margin-top:.35rem}.kv{gap:1rem}.field{min-width:0}.field label{overflow-wrap:anywhere}.field input,.field select{max-width:100%}
#manual-electrolyte-tables table{width:100%;table-layout:fixed}#manual-electrolyte-tables td:first-child{width:20%}#manual-electrolyte-tables input,#manual-electrolyte-tables select{width:100%;min-width:0}
.guide-active,:focus-visible{outline:3px solid #087e8b;outline-offset:2px}

/* Diagnostic field layout, scoped to the existing wizard. */
#lw-setup[data-diagnostic]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
#lw-setup[data-diagnostic]>.form-grid{display:block}#lw-setup[data-diagnostic]>.form-grid>.field{margin-bottom:12px}
.diag-instrument-block{min-width:0}#u-purpose-setup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#u-purpose-setup label{min-width:0}#u-purpose-setup select{width:100%;min-width:0}
#inspection-form [hidden],#lw-setup [hidden]{display:none!important}
.diag-technical-table{max-height:65vh;overflow:auto}.diag-technical-table thead{position:sticky;top:0;z-index:2;background:#f3f7f6}.diag-technical-table td,.diag-technical-table th{padding:4px 6px}.diag-technical-table input,.diag-technical-table select{padding:5px;min-height:32px;width:100%;min-width:65px}
[data-diagnostic-status=bad]{background:#ffe8e6}[data-diagnostic-status=warn]{background:#fff5d6}
#diag-thermal-zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#diag-thermal-zones>h3,#diag-thermal-zones>p{grid-column:1/-1}#diag-thermal-zones img{max-width:160px;max-height:130px}#diag-thermal-zones fieldset{min-width:0}
#diag-evidence-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media(max-width:850px){#lw-setup[data-diagnostic]{grid-template-columns:1fr}#u-purpose-setup{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Keep technical tables tabular on tablets; override the older mobile-card rules. */
#inspection-form .diag-technical-table{overflow:auto;max-width:100%}
#inspection-form .diag-technical-table table{display:table!important;table-layout:fixed;width:100%}
#inspection-form .diag-technical-table thead{display:table-header-group!important}
#inspection-form .diag-technical-table tbody{display:table-row-group!important}
#inspection-form .diag-technical-table tr{display:table-row!important}
#inspection-form .diag-technical-table td,#inspection-form .diag-technical-table th{display:table-cell;padding:5px;white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
#inspection-form .diag-technical-table td[hidden],#inspection-form .diag-technical-table th[hidden],#inspection-form .diag-technical-table tr[hidden]{display:none!important}
#inspection-form .diag-technical-table td::before{display:none!important}
#inspection-form .diag-technical-table input,#inspection-form .diag-technical-table select{min-width:0;width:100%;min-height:34px;box-sizing:border-box}
#inspection-form .diag-technical-table th{font-size:11px;background:#f1f6f5;top:0;z-index:2}
#inspection-form .diag-technical-table td:first-child{width:40px}
#manual-electrolyte-tables table{min-width:680px}
.diag-instrument-block select,#inspection-form select[id^="diag-"]{min-height:38px;width:100%;border:1px solid #c5d2d9;border-radius:6px;padding:6px}
#inspection-form .diag-technical-table [data-cell-status] button{font-size:11px;white-space:normal}

#inspection-form .diag-technical-table th:first-child{width:32px}
#inspection-form .diag-technical-table th[data-cell-status]{width:130px}
#inspection-form .diag-technical-table [data-cell-status]{font-size:12px;overflow-wrap:normal}
#inspection-form .diag-technical-table [data-cell-status] button{display:block;padding:3px 6px;min-height:26px;white-space:nowrap}
/* Reports: readable actions and filters at desktop and tablet widths. */
.report-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.report-filters label{display:grid;gap:5px;min-width:0}.report-filters input,.report-filters select{width:100%;min-width:0}.report-detail{display:block;margin-top:5px;overflow-wrap:anywhere}.report-actions{display:flex;flex-wrap:wrap;gap:6px}.report-actions button{white-space:normal;max-width:100%}#reports-register,#report-battery-history{min-width:0}#reports-register td,#report-battery-history td{overflow-wrap:anywhere;max-width:220px}@media(max-width:900px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:1050px){
 #reports-register .table-wrap,#report-battery-history .table-wrap{overflow:visible}
 #reports-register table,#report-battery-history table{display:block;width:100%;min-width:0}
 #reports-register thead,#report-battery-history thead{display:none}
 #reports-register tbody,#report-battery-history tbody{display:grid;gap:14px}
 #reports-register tbody tr,#report-battery-history tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #ccd8df;border-radius:8px;padding:8px;background:#fff}
 #reports-register td,#report-battery-history td{display:block;max-width:none;min-width:0;border:0;padding:8px;white-space:normal}
 #reports-register td::before,#report-battery-history td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:#49616c;margin-bottom:6px}
 #reports-register td:last-child,#report-battery-history td:last-child{grid-column:1/-1}
 .report-actions button{min-height:40px;padding:8px 12px}
}

/* Battery QR handoff only. The label document owns its physical print dimensions. */
#battery-qr-ready{background:#fff;padding:24px;border-radius:12px}
.battery-qr-cards{display:grid;grid-template-columns:minmax(280px,0.85fr) minmax(420px,1.15fr);gap:24px;align-items:start}
.battery-qr-cards h2{font-size:20px;margin:0 0 16px}.battery-qr-details{display:grid;grid-template-columns:minmax(125px,1fr) 1.4fr;gap:0;margin:0}.battery-qr-details dt,.battery-qr-details dd{padding:13px 0;border-bottom:1px solid #e1e7e4;margin:0;overflow-wrap:anywhere}.battery-qr-details dt{color:#56645e}.battery-qr-details dd{font-weight:600}.battery-qr-details dd:first-of-type{font-size:24px;color:#0e6b50}
#battery-qr-preview{display:block;width:100%;aspect-ratio:3/2;border:0;background:white}.battery-qr-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 20px}.battery-qr-actions button,.battery-qr-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:15px 22px;font-size:16px;font-weight:650;border-radius:8px;text-decoration:none}.battery-qr-actions a{border:1px solid #cbd8d1;color:#153b2b;background:#fff}.battery-qr-actions .primary{background:#0e6b50;color:white}
@media(max-width:1100px){.battery-qr-cards{grid-template-columns:1fr}#battery-qr-ready{padding:16px}.battery-qr-actions>*{flex:1 1 220px}}

/* Linked asset details: presentation only; stored identities and links are unchanged. */
.traction-system{margin:24px 0;border:1px solid #b7d4c7;border-left:4px solid #15734e;scroll-margin-top:20px;background:#f7fbf9}
.traction-system:focus{outline:2px solid #388c68;outline-offset:3px}
.traction-chain{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;margin:20px 0}
.traction-node{position:relative;min-width:0;padding:16px 12px;border:1px solid #cddfd5;border-radius:10px;background:#fff;display:flex;flex-direction:column;gap:8px}
.traction-node span{font-size:14px;color:#355e4d}
.traction-node strong{font-size:clamp(18px,2vw,24px);color:#163e2c;overflow-wrap:anywhere}
.traction-node+.traction-node:before{content:'→';position:absolute;left:-28px;top:50%;transform:translateY(-50%);font-size:24px;color:#388c68}
.traction-revealed{animation:traction-reveal 1.5s ease-out}
@keyframes traction-reveal{from{box-shadow:0 0 0 5px #9bcdb5}to{box-shadow:0 0 0 0 transparent}}
@media(max-width:900px){.traction-chain{grid-template-columns:1fr;gap:28px}.traction-node+.traction-node:before{content:'↓';left:50%;top:-29px;transform:translateX(-50%);line-height:28px}.traction-node strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.traction-revealed{animation:none}}

.traction-history-toggle{scroll-margin-top:20px;display:block;width:100%;padding:14px 12px;margin-top:12px;text-align:left;border:1px solid #b7d4c7;border-radius:8px;background:#fff;color:#163e2c;font:inherit;font-weight:600;cursor:pointer}
.traction-history-toggle:focus-visible{outline:2px solid #15734e;outline-offset:2px}
#traction-history[hidden]{display:none!important}
.traction-history-entry{padding:14px 0;border-top:1px solid #cddfd5}
.traction-history-entry h4{margin:0 0 12px}.traction-history-entry dl{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:8px;margin:0}.traction-history-entry dd{margin:0;overflow-wrap:anywhere}
/* Phase 1: same-page orientation, no layout changes outside the opened block. */
.inline-revealed{outline:3px solid #27875c;outline-offset:3px;scroll-margin-top:90px}
.phase1-system{margin:12px 0;padding:14px;background:#f0f8f3;border:1px solid #b6d8c4;border-radius:10px}
.phase1-chain{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;flex-wrap:wrap}
.phase1-chain div{display:flex;flex-direction:column;gap:4px;min-width:110px}.phase1-chain strong{font-size:1.15rem}.phase1-arrow{color:#27875c;font-size:1.5rem}
[data-validation-message]{color:#a32020;font-weight:600}
@media(max-width:600px){.phase1-chain{flex-direction:column;align-items:flex-start}.phase1-arrow{transform:rotate(90deg);align-self:center}.phase1-chain div{width:100%}}

/* Keep the original file input accessible to scripts without browser-language captions. */
.sr-file-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.sr-file-control{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.sr-file-control .small{overflow-wrap:anywhere;min-width:0}

/* Scoped SLI guided workflows; existing modules unchanged. */
.sli-screen .sli-jobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:20px 0}
.sli-screen .sli-jobs button{min-height:76px;font-size:17px;text-align:left;padding:16px}
.sli-screen .sli-steps{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}.sli-steps li{padding:10px;background:#eef3f5;border-radius:8px}.sli-steps .active{background:#144e5e;color:white}
.sli-screen .sli-field-error,.sli-screen .sli-errors{color:#9b2525}.sli-screen .sli-errors:empty{display:none}.sli-screen .sli-errors button{color:inherit}
.sli-screen fieldset{border:1px solid #d6e0e3;border-radius:10px;padding:16px}.sli-screen fieldset[hidden]{display:none}.sli-screen legend{font-weight:700}.sli-screen .sli-qr{width:180px;max-width:90%}.sli-screen input:focus,.sli-screen select:focus,.sli-screen textarea:focus{outline:3px solid #197c91;outline-offset:2px}.sli-screen [data-step]{scroll-margin-top:20px}
.sli-screen button,.sli-screen a.secondary{border:1px solid #b8cbd0;border-radius:8px;background:white;color:#143b46;padding:10px 16px;cursor:pointer;font:inherit;min-height:44px}.sli-screen button:hover{background:#e7f2f4}.sli-screen #sli-confirm,.sli-screen #import-confirm{background:#176174;color:white}.sli-screen input:not([type=checkbox]),.sli-screen select,.sli-screen textarea{display:block;width:100%;box-sizing:border-box;min-height:44px;margin:6px 0 14px;padding:9px;border:1px solid #b8cbd0;border-radius:7px;background:white;font:inherit}.sli-screen textarea{min-height:100px}.sli-screen .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 20px}.sli-screen .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.sli-screen .actions:first-child{justify-content:flex-start;margin-bottom:20px}.sli-screen :focus-visible{outline:3px solid #197c91;outline-offset:3px}
