:root {
  color-scheme: light;
  --ink: #25282a;
  --muted: #697278;
  --line: #dfe3e5;
  --paper: #fff;
  --canvas: #f1f3f4;
  --soft: #f8f9fa;
  --accent: #526779;
  --accent-soft: #eaf0f4;
  --steel-soft: #e8ecee;
  --red: #9c4640;
  --red-soft: #f8edeb;
  --shadow: 0 18px 50px rgba(34, 38, 40, .07);
  --radius: 16px;
  --heading-font: ui-rounded, "Trebuchet MS", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--canvas); min-height: 100vh; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible { outline: 3px solid rgba(82, 103, 121, .42); outline-offset: 2px; }
.hidden { display: none !important; }
.app-shell { min-height: 100vh; }
.topbar { height: 76px; display: flex; align-items: center; gap: 18px; padding: 0 clamp(16px, 3vw, 44px); background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(14px); }
.brand { display:flex; align-items:center; gap:13px; min-width: 235px; }
.brand-logo { display:block; width:174px; height:auto; flex:0 0 auto; }
.brand-sub { display:block; padding-left:12px; border-left:1px solid var(--line); color:var(--muted); font-size:12px; line-height:1.2; letter-spacing:.35px; font-weight:700; white-space:nowrap; }
.brand-inverse { width:100%; min-width:0; justify-content:center; padding:14px 15px; border:1px solid rgba(255,255,255,.1); border-radius:13px; background:linear-gradient(135deg,#303334,#25282a); box-shadow:inset 0 1px 0 rgba(255,255,255,.07); }
.brand-inverse .brand-logo { width:min(205px,100%); }
.topbar-center { flex:1; }
.topbar-right { display:flex; align-items:center; gap:12px; }
.user-pill { display:flex; align-items:center; gap:9px; font-size:13px; color:#505558; }
.avatar { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#565b5e; font-weight:700; font-size:12px; }
.app-body { display:grid; grid-template-columns:228px minmax(0,1fr); width:100%; max-width:none; margin:0; min-height:calc(100vh - 76px); min-height:calc(100dvh - 76px); }
.sidebar { display:flex; flex-direction:column; padding:30px 16px; border-right:1px solid var(--line); background:#f7f8f9; }
.nav-label { padding:0 12px; margin:0 0 12px; color:#969a9a; font-size:10px; text-transform:uppercase; letter-spacing:1.4px; font-weight:700; }
.nav-list { display:grid; gap:5px; }
.nav-item { position:relative; border:0; color:#626c72; display:flex; align-items:center; gap:12px; min-height:46px; padding:0 13px; border-radius:12px; text-align:left; background:transparent; font-weight:600; font-size:13px; transition:.15s ease; }
.nav-item:hover { background:rgba(82,103,121,.14); color:var(--ink); }
.nav-item.active { background:#e9edef; color:var(--ink); box-shadow:0 3px 10px rgba(30,35,37,.05); }
.nav-item.active::before { content:""; position:absolute; left:0; top:11px; bottom:11px; width:3px; border-radius:3px; background:#697278; }
.nav-icon { width:20px; text-align:center; font-size:16px; opacity:.8; }
.sidebar-bottom { margin-top:auto; padding:14px 13px 8px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.55; }
.sidebar-brand-line { display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.sidebar-bottom strong { display:inline; color:#4d5354; font-size:12px; }
.sidebar-brand-line span { display:inline; color:#606a70; font-size:11px; }
.sidebar-bottom .sidebar-copyright { display:block; margin-top:5px; color:#8d969a; font-size:10px; }
.main { min-width:0; padding:clamp(20px,3.4vw,48px); }
.page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:25px; }
.eyebrow { display:flex; align-items:center; gap:8px; font:700 10px/1.4 var(--heading-font); color:#626c72; letter-spacing:1.05px; text-transform:uppercase; margin-bottom:9px; }
.eyebrow::before { content:""; width:14px; height:3px; flex:0 0 auto; border-radius:2px; background:#697278; }
h1,h2,h3,p { margin-top:0; }
h1 { font:700 clamp(25px,3vw,34px)/1.18 var(--heading-font); letter-spacing:-.55px; margin-bottom:8px; }
h2 { font:700 20px/1.32 var(--heading-font); letter-spacing:-.2px; }
h3 { font:700 15px/1.38 var(--heading-font); margin-bottom:5px; }
.page-sub { color:var(--muted); margin-bottom:0; font-size:14px; }
.panel { background:var(--paper); border:1px solid #e1e5e7; border-radius:var(--radius); box-shadow:0 5px 20px rgba(35,39,40,.035); }
.panel-pad { padding:22px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:0 17px; border-radius:11px; border:1px solid transparent; font-weight:700; font-size:13px; transition:transform .15s,background .15s,border .15s; text-decoration:none; white-space:nowrap; }
.button:active { transform:translateY(1px); }
.button-primary { background:var(--ink); color:#fff; }
.button-primary:hover { background:var(--accent); color:#fff; }
.button-secondary { background:#fff; color:#3f4547; border-color:var(--line); }
.button-secondary:hover { background:rgba(82,103,121,.12); border-color:var(--accent); }
.button-gold { background:var(--ink); color:#fff; border-color:var(--ink); }
.button-gold:hover { background:var(--accent); color:#fff; border-color:var(--accent); }
.button-danger { background:var(--red-soft); color:var(--red); border-color:#f1d9d5; }
.button-small { min-height:36px; padding:0 12px; font-size:12px; border-radius:9px; }
.icon-button { width:40px; min-width:40px; padding:0; }
.button-row { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:19px; }
.metric-card { padding:17px 20px 18px; display:flex; gap:14px; align-items:center; border-top:2px solid #d7dde0; }
.metric-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; background:var(--steel-soft); color:var(--ink); font-size:18px; }
.metric-number { font:700 22px var(--heading-font); letter-spacing:-.4px; }
.metric-label { display:block; color:var(--muted); font-size:11px; margin-top:2px; }
.toolbar { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--line); }
.segmented { display:flex; padding:4px; border-radius:10px; background:#edf0f1; gap:2px; }
.segment { min-height:34px; border:0; border-radius:7px; padding:0 12px; color:#727779; background:transparent; font-weight:700; font-size:12px; }
.segment:hover { background:rgba(82,103,121,.12); }
.segment.active { color:var(--ink); background:#fff; box-shadow:0 2px 6px rgba(20,24,25,.08); }
.searchbox { min-height:40px; padding:0 12px; display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:10px; background:#fff; color:#898d8d; min-width:min(320px,42vw); }
.searchbox input { width:100%; border:0; outline:0; background:transparent; color:var(--ink); font-size:13px; }
.table-wrap { overflow:auto; }
.mobile-records { display:none; }
table { border-collapse:collapse; width:100%; text-align:left; }
th { padding:13px 17px; color:#8a8f90; text-transform:uppercase; letter-spacing:1px; font-size:9px; font-weight:800; white-space:nowrap; }
td { padding:14px 17px; border-top:1px solid #f0f0ed; font-size:13px; color:#4c5254; vertical-align:middle; }
tbody tr { cursor:pointer; transition:background .12s; }
tbody tr:hover { background:#fbfbfa; }
.vehicle-cell { display:flex; align-items:center; gap:11px; min-width:220px; }
.vehicle-thumb { width:43px; height:36px; display:grid; place-items:center; background:#f0f0ed; border-radius:9px; color:#85898a; overflow:hidden; }
.vehicle-thumb img { width:100%; height:100%; object-fit:cover; }
.vehicle-name { font-weight:700; color:#303537; font-size:12px; }
.vehicle-reg { font-size:10px; color:#888d8e; margin-top:3px; letter-spacing:.6px; }
.pill { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:30px; font-size:10px; font-weight:800; white-space:nowrap; }
.pill:before { content:""; width:5px;height:5px;border-radius:50%;background:currentColor; }
.pill-signed { background:var(--steel-soft); color:#42494d; }
.pill-draft { background:#edf0f1; color:#626c72; }
.pill-ready { background:#e5eaec; color:#364147; }
.pill-archived { background:#edf0f1; color:#42494d; }
.date-cell { white-space:nowrap; }
.empty { text-align:center; padding:56px 20px; color:var(--muted); }
.empty-icon { margin:0 auto 14px; width:54px;height:54px;display:grid;place-items:center;background:var(--steel-soft);border-radius:13px;color:var(--ink);font-size:22px; }
.empty p { max-width:380px; margin:0 auto 18px; font-size:13px; line-height:1.6; }
.form-wrap { max-width:980px; margin:0 auto; }
.form-compact-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:11px; }
.form-compact-head .eyebrow { margin-bottom:4px; }
.form-compact-head h1 { margin:0; font-size:clamp(20px,2.3vw,27px); }
.form-progress { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-bottom:13px; padding:7px; background:#f8f9fa; }
.progress-step { min-width:0; display:flex; align-items:center; justify-content:center; gap:8px; min-height:43px; padding:5px 9px; border:0; border-radius:10px; background:transparent; color:#858d91; font-size:11px; font-weight:700; white-space:nowrap; }
.step-dot { width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#f0f0ed;font-size:10px; }
.progress-step.current { color:#34393b; }
.progress-step.current { background:#fff; box-shadow:0 2px 8px rgba(35,39,40,.08); }
.progress-step.current .step-dot { background:var(--ink); color:#fff; }
.progress-step.done .step-dot { background:#dfe4e6; color:var(--ink); }
.progress-step:hover { color:var(--ink); background:rgba(82,103,121,.1); }
.form-step-panel { overflow:hidden; }
.form-step-panel > .section-body { padding-top:18px; }
.hint-inline { color:#909697; font-size:10px; font-weight:400; }
.coating-list { margin-top:17px; padding:2px 14px; border:1px solid var(--line); border-radius:12px; background:#fbfcfc; }
.coating-row { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:54px; border-bottom:1px solid #e8ebec; color:#484e50; font-size:12px; font-weight:700; }
.coating-row:last-child { border-bottom:0; }
.coating-row .choice-row { flex:0 0 auto; gap:5px; }
.coating-row .choice span { min-width:64px; min-height:35px; padding:0 12px; }
.compact-condition-fields { display:grid; align-items:end; grid-template-columns:minmax(115px,160px) minmax(0,1fr); gap:14px; margin-top:15px; }
.compact-condition-fields .label { margin-bottom:5px; }
.compact-condition-fields .input { min-height:42px; padding-top:9px; padding-bottom:9px; }
.damage-section { margin-top:21px; padding-top:16px; border-top:1px solid var(--line); }
.damage-section-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:10px; }
.damage-section-head h3 { margin-bottom:2px; }
.damage-section-head p { margin:0; color:var(--muted); font-size:11px; }
.damage-count { display:inline-grid; place-items:center; min-width:22px; height:22px; margin-left:3px; border-radius:7px; background:var(--steel-soft); font-size:11px; }
.damage-list { display:grid; gap:8px; }
.damage-summary { display:flex; min-width:0; align-items:stretch; border:1px solid #e1e5e7; border-radius:12px; background:#fff; overflow:hidden; }
.damage-summary-main { flex:1; min-width:0; display:flex; align-items:center; gap:10px; border:0; padding:9px 10px; text-align:left; background:transparent; color:var(--ink); }
.damage-summary-main:hover { background:rgba(82,103,121,.08); }
.damage-summary-icon { width:42px; height:38px; flex:0 0 auto; display:grid; place-items:center; border-radius:8px; background:var(--soft); color:#697278; }
.damage-summary-icon img { width:100%; height:100%; object-fit:cover; border-radius:8px; }
.damage-summary-copy { flex:1; min-width:0; display:grid; gap:3px; }
.damage-summary-copy strong { font-size:12px; }
.damage-summary-copy small { overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.damage-summary .pill { flex:0 0 auto; align-self:center; }
.damage-remove { width:42px; flex:0 0 auto; border:0; border-left:1px solid var(--line); background:#fff; color:#737d82; font-size:21px; }
.damage-remove:hover { background:var(--accent); color:#fff; }
.pill-warning { background:#fff7e8; color:#665739; }
.empty-damage { padding:13px; border:1px dashed #d9dfe1; border-radius:11px; color:var(--muted); font-size:11px; }
.compact-textarea { min-height:72px; }
.request-textarea { min-height:130px; }
.form-actions { margin-top:13px; }
.form-action-right { display:flex; align-items:center; gap:9px; }
.damage-actions { margin-top:14px; }
.review-list { display:grid; gap:8px; margin-bottom:12px; }
.review-card { border:1px solid var(--line); border-radius:12px; background:#fff; overflow:hidden; }
.review-card > summary { min-height:57px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; list-style:none; cursor:pointer; }
.review-card > summary::-webkit-details-marker { display:none; }
.review-card > summary > span:first-child { display:grid; gap:3px; }
.review-card > summary strong { font-size:12px; }
.review-card > summary small { color:var(--muted); font-size:10px; }
.review-expand { color:#697278; font-size:10px; font-weight:700; }
.review-card[open] .review-expand { color:#826f4d; }
.review-card-body { padding:0 14px 14px; border-top:1px solid #edf0f1; }
.review-row { display:flex; justify-content:space-between; gap:14px; padding:9px 0; border-bottom:1px solid #eef0f1; font-size:11px; }
.review-row span { color:var(--muted); }
.review-row strong { max-width:65%; text-align:right; font-weight:600; overflow-wrap:anywhere; }
.review-damage-group { margin-top:10px; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#f7f8f8; }
.review-damage-group-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 11px; border-bottom:1px solid var(--line); background:#eef1f2; }
.review-damage-group-head strong { font-size:11px; }
.review-damage-group-head > span { color:var(--muted); font-size:10px; }
.review-damage { display:grid; gap:5px 10px; padding:10px 11px; border-bottom:1px solid #eef0f1; background:#fff; font-size:11px; }
.review-damage:last-child { border-bottom:0; }
.review-damage-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.review-damage-heading > span:first-child { color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.review-damage > strong { font-size:12px; }
.review-damage-type { padding:3px 7px; border-radius:999px; background:#eef1f2; color:#586166; font-size:10px; font-weight:600; }
.review-damage p { margin:0; color:var(--muted); white-space:pre-wrap; }
.review-damage img { max-width:180px; max-height:120px; object-fit:cover; border-radius:8px; }
.review-no-damage { margin:0; padding:10px 11px; color:var(--muted); background:#fff; font-size:11px; }
.review-notes { margin:10px 0; font-size:12px; line-height:1.6; white-space:pre-wrap; }
.review-disclaimer { margin-bottom:12px; }
.sign-panel { overflow:hidden; }
.signer-grid { align-items:start; }
.form-section { margin-bottom:15px; overflow:hidden; }
.section-head { display:flex; align-items:flex-start; justify-content:space-between; padding:20px 22px 15px; border-bottom:1px solid #e6e9eb; }
.section-title-row { display:flex; align-items:center; gap:11px; }
.section-num { width:30px;height:30px;display:grid;place-items:center;background:#e4e8ea;color:var(--ink);border-radius:8px;font:700 12px var(--heading-font); }
.section-head p { color:var(--muted); font-size:12px; margin:3px 0 0 41px; }
.section-body { padding:20px 22px 22px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 18px; }
.field { min-width:0; }
.field.span-2 { grid-column:span 2; }
.label { display:block; margin-bottom:7px; color:#484e50; font-size:12px; font-weight:700; }
.required { color:var(--red); padding-left:2px; }
.hint { color:#8b9091; font-size:10px; margin:6px 0 0; line-height:1.5; }
.input,.select,.textarea { width:100%; min-height:45px; border:1px solid #dedfdd; border-radius:10px; background:#fff; color:#303638; padding:11px 12px; outline:0; font-size:13px; transition:border .15s,box-shadow .15s; }
.input:focus,.select:focus,.textarea:focus { border-color:#737d82; box-shadow:0 0 0 3px rgba(37,40,42,.1); }
.textarea { min-height:90px; resize:vertical; line-height:1.5; }
.input::placeholder,.textarea::placeholder { color:#a4a8a8; }
.select { padding-right:32px; }
.choice-row { display:flex; gap:8px; flex-wrap:wrap; }
.choice { position:relative; }
.choice input { position:absolute; opacity:0; pointer-events:none; }
.choice span { min-height:39px; padding:0 13px; border:1px solid #e1e1de; border-radius:9px; display:inline-flex; align-items:center; justify-content:center; background:#fff; color:#727778; font-size:11px; font-weight:700; cursor:pointer; }
.choice input:checked + span { border-color:#737d82; background:#e9edef; color:var(--ink); }
.choice input:focus-visible + span { outline:3px solid rgba(37,40,42,.24); outline-offset:2px; }
.dropzone { min-height:155px; border:1px dashed #d6dde0; border-radius:13px; display:grid; place-items:center; text-align:center; padding:18px; background:#fafbfb; cursor:pointer; transition:.15s; }
.dropzone:hover { border-color:var(--accent); background:rgba(82,103,121,.1); }
.dropzone-icon { width:40px;height:40px;margin:0 auto 8px;display:grid;place-items:center;border-radius:10px;background:var(--steel-soft);color:var(--ink);font-size:19px; }
.dropzone:hover .dropzone-icon { background:var(--accent); color:#fff; }
.dropzone strong { display:block; font-size:12px; margin-bottom:4px; }
.dropzone small { color:var(--muted); font-size:10px; }
.photo-preview { width:100%; max-height:260px; object-fit:cover; border-radius:12px; }
.damage-card { padding:15px; border:1px solid #e9e9e5; border-radius:13px; background:#fcfcfb; margin-bottom:11px; }
.damage-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:13px; }
.damage-label { color:#585e60; font:700 11px var(--heading-font); }
.damage-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.damage-grid .wide { grid-column:span 2; }
.inline-file { display:flex; align-items:center; gap:8px; color:#8a8e8f; font-size:11px; }
.inline-file input { max-width:100%; font-size:11px; }
.file-chip { display:inline-flex;align-items:center;gap:6px;padding:6px 9px;background:#f1f1ee;border-radius:8px;color:#676d6f;font-size:10px; }
.notice { padding:14px 15px; border-radius:10px; background:#f0f3f4; color:#3c4143; font-size:11px; line-height:1.55; border:1px solid #dfe4e6; border-left:3px solid #737d82; }
.notice strong { color:#464b4b; }
.terms-agreement { margin-top:2px; }
.terms-placeholder { display:grid; place-items:center; text-align:center; height:100%; min-height:130px; }
.checkline { display:flex; align-items:flex-start; gap:10px; font-size:12px; line-height:1.5; color:#484e50; }
.checkline input { width:18px;height:18px;flex:0 0 auto; accent-color:var(--ink); margin:0; }
.text-link { border:0; background:transparent; color:var(--ink); padding:0; text-decoration:underline; text-decoration-color:#737d82; text-decoration-thickness:1.5px; font-weight:700; font-size:inherit; }
.text-link:hover { text-decoration-color:var(--accent); }
.signature-pad { width:100%; height:170px; border:1px solid #dedfdd; border-radius:12px; background:linear-gradient(#fff,#fdfdfb); touch-action:none; display:block; }
.signature-actions { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:8px; color:#858a8a; font-size:10px; }
.form-actions { position:sticky; bottom:10px; z-index:5; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px; border:1px solid rgba(226,226,223,.9); box-shadow:var(--shadow); background:rgba(255,255,255,.95); border-radius:14px; backdrop-filter:blur(12px); margin-top:16px; }
.record-summary { display:grid; grid-template-columns:88px minmax(0,1fr) minmax(180px,.75fr); align-items:center; gap:14px; margin:0 0 12px; padding:12px 14px; }
.record-summary-photo { width:88px; height:72px; display:grid; place-items:center; overflow:hidden; border-radius:10px; background:#eef1f2; color:#899194; font-size:23px; }
.record-summary-photo img { width:100%; height:100%; object-fit:cover; }
.record-summary-main { display:grid; min-width:0; gap:5px; }
.record-summary-main > strong { color:var(--ink); font-size:14px; }
.record-summary-meta { color:var(--muted); font-size:11px; line-height:1.45; overflow-wrap:anywhere; }
.record-summary-status { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:10px; }
.record-summary-signoff { display:grid; min-width:0; gap:4px; padding-left:14px; border-left:1px solid var(--line); }
.record-summary-signoff strong { color:var(--ink); font-size:12px; overflow-wrap:anywhere; }
.record-summary-signoff > span:last-child { color:var(--muted); font-size:10px; line-height:1.4; }
.record-sections { display:grid; gap:8px; }
.record-section { overflow:hidden; border:1px solid #e1e5e7; border-radius:12px; background:#fff; box-shadow:0 3px 13px rgba(35,39,40,.025); }
.record-section > summary { display:flex; min-height:57px; align-items:center; justify-content:space-between; gap:12px; padding:10px 15px; cursor:pointer; list-style:none; }
.record-section > summary::-webkit-details-marker { display:none; }
.record-section-copy { display:grid; min-width:0; gap:3px; }
.record-section-copy strong { color:var(--ink); font-size:12px; }
.record-section-copy small { color:var(--muted); font-size:10px; line-height:1.4; }
.record-section-toggle { display:flex; flex:0 0 auto; align-items:center; gap:6px; color:var(--muted); font-size:10px; font-weight:700; }
.record-section-toggle::after { content:"⌄"; color:#747d81; font-size:16px; transition:transform .15s; }
.record-section[open] > summary { border-bottom:1px solid #edf0f1; }
.record-section[open] .record-section-toggle::after { transform:rotate(180deg); }
.record-section-body { padding:4px 15px 14px; }
.record-facts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:18px; }
.record-fact { display:flex; min-width:0; min-height:43px; flex-direction:column; justify-content:center; gap:3px; padding:8px 0; border-bottom:1px solid #eef0f1; }
.record-fact-label { color:#80888b; font-size:9px; font-weight:700; letter-spacing:.045em; text-transform:uppercase; }
.record-fact-value { color:#414749; font-size:12px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.coating-status-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:18px; }
.coating-fact { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:8px; min-height:44px; padding:8px 0; border-bottom:1px solid #eef0f1; color:#596165; font-size:11px; }
.coating-value { flex:0 0 auto; padding:4px 8px; border-radius:999px; background:#eef1f2; color:#515a5e; font-size:10px; font-weight:700; }
.coating-yes { background:#eaf1ed; color:#426250; }
.coating-no { background:#f0f1f1; color:#596165; }
.record-notes-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; }
.record-note { min-width:0; padding:10px 11px; border-radius:9px; background:#f5f6f6; }
.record-note-label { display:flex; align-items:center; flex-wrap:wrap; gap:7px; color:#70797c; font-size:9px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.record-note p { margin:5px 0 0; color:#414749; font-size:11px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.staff-only-label { padding:2px 6px; border-radius:999px; background:#e8ecee; color:#596165; font-size:8px; letter-spacing:.02em; }
.record-defects { display:grid; }
.record-defect { display:grid; grid-template-columns:58px minmax(0,1fr); gap:11px; padding:11px 0; border-bottom:1px solid #eef0f1; }
.record-defect:last-child { border-bottom:0; }
.defect-photo { width:58px; height:52px; object-fit:cover; border-radius:8px; background:#eef1f2; }
.empty-defect-photo { display:grid; place-items:center; color:#969da0; }
.record-defect-copy { display:grid; min-width:0; gap:5px; align-content:start; }
.record-defect-heading { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.record-defect-heading > span:first-child { color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.record-defect-heading strong { color:#414749; font-size:11px; }
.record-defect-heading .pill { min-height:20px; padding:2px 7px; font-size:9px; }
.record-defect-copy p { margin:0; color:#646c6f; font-size:11px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.record-empty { margin:8px 0 0; color:var(--muted); font-size:11px; }
.record-signature { display:grid; gap:6px; justify-items:start; margin-top:12px; }
.record-signature img { max-width:min(280px,100%); height:76px; object-fit:contain; border-bottom:1px solid var(--line); }
.timeline { position:relative; padding-left:20px; }
.timeline:before { content:""; position:absolute; left:5px; top:6px; bottom:7px; width:1px; background:#dfe3e5; }
.timeline-item { position:relative; margin:0 0 19px; }
.timeline-item:before { content:""; position:absolute; left:-19px; top:4px; width:9px;height:9px;border-radius:50%;background:#697278;border:2px solid #f1f3f4; }
.timeline-title { color:#414648;font-size:12px;font-weight:700; }
.timeline-meta { color:#95999a;font-size:10px;margin:3px 0 6px; }
.timeline-body { color:#6b7172;font-size:11px;line-height:1.5;white-space:pre-wrap; }
.settings-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.settings-card { padding:20px; }
.settings-card h2 { font-size:17px; margin-bottom:5px; }
.settings-card > p { color:var(--muted); font-size:11px; line-height:1.5; margin-bottom:16px; }
.user-row { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-top:1px solid #efefed; gap:12px; }
.user-ident { display:flex; align-items:center; gap:10px; }
.user-ident strong { display:block; font-size:12px; }
.user-ident small { display:block; color:var(--muted); margin-top:3px; font-size:10px; }
.toast { position:fixed; bottom:22px; left:50%; transform:translateX(-50%) translateY(20px); opacity:0; pointer-events:none; z-index:100; padding:12px 17px; border-radius:11px; color:#fff; background:#303638; box-shadow:var(--shadow); font-size:12px; transition:.22s; max-width:calc(100vw - 24px); }
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.toast.error { background:#8c3f3a; }
.modal-backdrop { position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:16px; background:rgba(27,30,31,.48); backdrop-filter:blur(3px); }
.modal { width:min(600px,100%); max-height:min(88vh,820px); overflow:auto; background:#fff; border-radius:18px; box-shadow:0 25px 80px rgba(0,0,0,.2); }
.modal-head { position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:17px 20px;background:#fff;border-bottom:1px solid var(--line); }
.modal-head h2 { margin:0;font-size:16px; }
.modal-body { padding:20px; }
.modal-foot { display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;border-top:1px solid var(--line);background:#fff;position:sticky;bottom:0; }
.terms-modal { display:flex;flex-direction:column;width:min(960px,100%);height:min(90vh,1000px);height:min(90dvh,1000px);max-height:none;overflow:hidden;border-radius:15px; }
.terms-modal .modal-head { flex:0 0 auto; }
.terms-viewer { flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:18px;background:#eef1f2;overscroll-behavior:contain;-webkit-overflow-scrolling:touch; }
.terms-page { width:min(100%,820px);margin:0 auto 16px;background:#fff;box-shadow:0 2px 8px rgba(25,30,32,.12); }
.terms-page:last-child { margin-bottom:0; }
.terms-page canvas { display:block;width:100%; }
.terms-loading,.terms-error { display:grid;place-items:center;min-height:180px;color:#687074;font-size:13px;text-align:center;line-height:1.5; }
.terms-error { color:#674642; }
.login-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(ellipse 34rem 26rem at 50% 47%,rgba(37,40,42,.085) 0%,rgba(37,40,42,.045) 47%,transparent 78%),radial-gradient(ellipse at 12% 14%,rgba(105,114,120,.1) 0,transparent 30%),radial-gradient(ellipse at 88% 85%,rgba(105,114,120,.07) 0,transparent 32%),linear-gradient(140deg,#f4f6f7 0%,#e9edef 56%,#dfe4e6 100%); }
.login-card { width:min(440px,100%); padding:34px; border:1px solid #e7e3da; background:#fff; box-shadow:0 25px 80px rgba(45,42,36,.12); border-radius:22px; }
.login-card .brand { margin-bottom:32px; }
.login-card h1 { font-size:25px; }
.login-card .page-sub { line-height:1.55; font-size:13px; margin-bottom:22px; }
.login-card .field { margin-bottom:14px; }
.login-card .button { width:100%; margin-top:5px; }
.login-divider { border-top:1px solid #efefec; margin:22px 0 17px; }
.demo-link { border:0;background:none;color:var(--ink);text-decoration:underline;text-decoration-color:#737d82;text-decoration-thickness:1.5px;font-size:11px;font-weight:700;padding:8px 0; }
.demo-link:hover { text-decoration-color:var(--accent); }
.banner { padding:11px 14px;border-radius:10px;background:#f0f3f4;color:#3c4143;font-size:11px;line-height:1.5;margin-bottom:16px;border:1px solid #dfe4e6;border-left:3px solid #737d82; }
.mobile-nav { display:none; }
.print-stage { display:none; }
.checkin-number { display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#858a8a; }
.status-line { display:flex; gap:8px; align-items:center; }
.admin-only-note { font-size:10px;color:#858a8a; }

@media (max-width: 900px) {
  .app-body { grid-template-columns:200px minmax(0,1fr); }
  .sidebar { padding:24px 12px; }
  .main { padding:24px 18px; }
  .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric-card:nth-child(3) { grid-column:1 / -1; }
  .page-head { align-items:flex-start; flex-direction:column; gap:14px; }
  .page-head .button-row { width:100%; }
  .record-summary { grid-template-columns:72px minmax(0,1fr); gap:10px; }
  .record-summary-photo { width:72px; height:60px; }
  .record-summary-signoff { grid-column:1 / -1; display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; padding:9px 0 0; border-left:0; border-top:1px solid var(--line); }
  .record-facts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:14px; }
  .coating-status-grid { column-gap:14px; }
  .settings-grid { grid-template-columns:1fr; }
  .brand { min-width:0; }
  .form-wrap { max-width:820px; }
  .form-progress { gap:4px; padding:6px; }
  .progress-step { gap:6px; padding-left:5px; padding-right:5px; font-size:10px; }
}
@media (max-width: 640px) {
  .topbar { height:64px;padding:0 max(15px,env(safe-area-inset-right)) 0 max(15px,env(safe-area-inset-left));gap:10px; }
  .brand-logo { width:145px; }
  .brand { gap:0; }
  .brand-sub { display:none; }
  .user-pill .user-role { display:none; }
  .app-body { display:block; min-height:calc(100vh - 64px); min-height:calc(100dvh - 64px); }
  .sidebar { display:none; }
  .main { padding:22px 14px calc(96px + env(safe-area-inset-bottom)); }
  .page-head { align-items:flex-start; flex-direction:column; gap:15px; margin-bottom:19px; }
  .page-head .button-row { width:100%; }
  .page-head .button-row .button { flex:1; }
  .metrics { gap:8px; }
  .metric-card { min-width:0; padding:12px; gap:9px; }
  .metric-icon { width:34px;height:34px;flex:0 0 auto;border-radius:9px;font-size:15px; }
  .metric-number { font-size:19px; }
  .metric-label { font-size:10px; line-height:1.3; }
  .toolbar { flex-direction:column;align-items:stretch;padding:12px; }
  .segmented { overflow:auto; }
  .segment { flex:1; }
  .searchbox { min-width:0;width:100%; }
  .table-wrap { display:none; }
  .mobile-records { display:grid; gap:9px; padding:10px; }
  .record-card { padding:13px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:11px;border:1px solid #ececea;border-radius:13px;background:#fff; }
  .record-card .vehicle-thumb { width:48px;height:43px; }
  .record-card .record-date { grid-column:2/4;color:#888e8f;font-size:10px;margin-top:-4px; }
  .record-card .pill { grid-column:3;grid-row:1; }
  .form-progress { grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;gap:4px;padding:5px;margin-bottom:10px; }
  .progress-step { min-height:49px;flex-direction:column;gap:3px;padding:4px 2px;font-size:9px;line-height:1.1;white-space:normal;text-align:center; }
  .step-dot { width:21px;height:21px;font-size:9px; }
  .form-compact-head { margin-bottom:8px; }
  .form-compact-head h1 { font-size:20px; }
  .form-step-panel > .section-body { padding:14px; }
  .section-head { padding:17px 15px 13px; }
  .section-body { padding:16px 15px 18px; }
  .section-head p { margin-left:41px;font-size:11px; }
  .form-grid { grid-template-columns:1fr;gap:14px; }
  .field.span-2 { grid-column:auto; }
  .damage-grid { grid-template-columns:1fr; }
  .damage-grid .wide { grid-column:auto; }
  .form-actions { position:fixed;left:0;right:0;bottom:0;z-index:35;width:100%;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.25fr);margin:0;padding:8px max(14px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));gap:6px;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:0 -8px 24px rgba(34,38,40,.09);background:rgba(255,255,255,.97);backdrop-filter:blur(14px); }
  .form-actions > .button-row { display:contents; }
  .form-actions .form-action-right { display:contents; }
  .form-actions .button { width:100%;min-width:0;min-height:44px;flex:none;padding:0 5px;font-size:10px;white-space:normal;line-height:1.15; }
  .form-actions .button:last-child { grid-column:auto; }
  .damage-actions { grid-template-columns:minmax(0,.95fr) minmax(0,1fr) minmax(0,1.15fr); }
  .compact-condition-fields { grid-template-columns:minmax(96px,120px) minmax(0,1fr);gap:10px; }
  .coating-list { padding:1px 10px; }
  .coating-row { min-height:49px;gap:8px;font-size:11px; }
  .coating-row .choice-row { gap:4px; }
  .coating-row .choice span { min-width:54px;min-height:34px;padding:0 8px;font-size:10px; }
  .damage-summary-main { gap:8px;padding:8px; }
  .damage-summary-icon { width:36px;height:34px; }
  .damage-summary-copy small { max-width:45vw; }
  .review-card > summary { min-height:54px;padding:9px 11px; }
  .review-card-body { padding:0 11px 12px; }
  .signature-pad { height:145px; }
  .record-summary { grid-template-columns:60px minmax(0,1fr); gap:9px; padding:10px; }
  .record-summary-photo { width:60px; height:54px; }
  .record-summary-main > strong { font-size:12px; }
  .record-summary-meta { font-size:10px; }
  .record-summary-signoff { font-size:10px; }
  .record-section > summary { min-height:56px; padding:9px 12px; }
  .record-section-body { padding:3px 12px 12px; }
  .record-facts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:12px; }
  .record-fact { min-height:47px; }
  .record-fact-value { font-size:11px; }
  .coating-status-grid { column-gap:10px; }
  .coating-fact { flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; font-size:10px; }
  .coating-value { padding:3px 7px; }
  .record-notes-grid { grid-template-columns:1fr; gap:7px; }
  .record-defect { grid-template-columns:52px minmax(0,1fr); gap:9px; padding:10px 0; }
  .defect-photo { width:52px; height:48px; }
  .settings-grid { grid-template-columns:1fr; }
  .terms-backdrop { padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); }
  .terms-modal { width:100%;height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);border-radius:12px; }
  .terms-modal .modal-head { padding:13px 14px; }
  .terms-modal .modal-head h2 { font-size:14px; }
  .terms-viewer { padding:10px; }
  .terms-page { margin-bottom:10px; }
  .mobile-nav { position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:space-around;padding:8px 7px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(12px); }
  .mobile-nav .nav-item { flex:1;min-height:50px;display:flex;flex-direction:column;gap:2px;border-radius:10px;font-size:9px; }
  .mobile-nav .nav-item.active::before { left:50%;top:3px;bottom:auto;width:18px;height:2px;transform:translateX(-50%); }
  .mobile-nav .nav-icon { font-size:16px; }
  .login-card { padding:27px 22px; }
}
@media (max-width: 390px) {
  .topbar { padding-left:max(11px,env(safe-area-inset-left));padding-right:max(11px,env(safe-area-inset-right));gap:7px; }
  .brand-logo { width:124px; }
  .topbar-right { gap:6px; }
  .topbar-right .user-pill { gap:6px;font-size:11px; }
  .topbar-right .avatar { width:30px;height:30px;font-size:10px; }
  .topbar-right .button { min-height:34px;padding:0 9px;font-size:11px; }
}
@media (max-width: 360px) {
  .brand-logo { width:112px; }
  .topbar-right .user-pill > span { display:none; }
}
@media print {
  body { background:#fff; }
  .app-shell,.modal-backdrop,.toast { display:none !important; }
  .print-stage { display:block !important; padding:0; color:#202324; font-family:Arial,sans-serif; }
  .print-sheet { max-width:800px;margin:0 auto; }
  .print-header { display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #292c2d;padding-bottom:14px;margin-bottom:20px; }
  .print-brand { font-size:18px;font-weight:700; }
  .print-brand small { display:block;color:#777;font-size:9px;letter-spacing:2px;margin-top:4px; }
  .print-sheet h1 { font-size:22px;margin:0 0 6px; }
  .print-sheet h2 { font-size:13px;margin:20px 0 8px;padding-bottom:5px;border-bottom:1px solid #ddd; }
  .print-grid { display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;font-size:10px; }
  .print-field { padding:3px 0; }
  .print-field strong { color:#777;display:block;font-size:8px;text-transform:uppercase;letter-spacing:.7px;margin-bottom:3px; }
  .print-photo { max-width:100%;max-height:300px;object-fit:contain;margin:5px 7px 5px 0; }
  .print-signature { max-width:260px;height:85px;object-fit:contain;border-bottom:1px solid #aaa; }
  .print-small { color:#777;font-size:9px;line-height:1.5; }
  .print-defect { page-break-inside:avoid;margin:8px 0;padding:8px;border:1px solid #ddd; }
  @page { margin:16mm; }
}
.modal-open { overflow:hidden; }
.record-section-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:7px; padding:7px 0; }
.record-section-actions:empty { display:none; }
.record-photo-edit { position:relative; padding:0; border:0; text-align:center; }
.record-photo-edit:hover { box-shadow:0 0 0 2px var(--accent); }
.photo-edit-label { position:absolute; bottom:0; left:0; right:0; padding:3px 1px; background:rgba(37,40,42,.82); color:white; font-size:8px; font-weight:700; }
.record-defect-copy > .button { justify-self:start; margin-top:3px; }
.record-general-notes { padding-top:14px; }
.dated-note { padding:9px 0; border-bottom:1px solid var(--line); }
.dated-note:last-child { border-bottom:0; }
.dated-note small { color:var(--muted); font-size:10px; }
.dated-note p { margin:5px 0 0; font-size:12px; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.5; }
.record-editor-modal { display:flex; flex-direction:column; width:min(720px,100%); max-height:min(92vh,860px); max-height:min(92dvh,860px); overflow:hidden; }
.record-editor-modal > .modal-head { flex:0 0 auto; position:static; gap:12px; padding:15px 18px; }
.editor-record-label { display:block; color:var(--muted); margin-top:4px; font-size:10px; }
.record-editor-modal > form { display:flex; flex-direction:column; flex:1; min-height:0; overflow:hidden; }
.record-editor-modal .modal-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:16px 18px; }
.record-editor-modal .modal-foot { flex:0 0 auto; position:static; padding:12px 18px; }
.record-editor-modal .button { min-height:44px; }
.record-editor-modal .button-small { min-height:44px; }
.editor-sections { display:grid; gap:8px; margin-top:14px; }
.editor-section { border:1px solid var(--line); border-radius:11px; overflow:hidden; background:white; }
.editor-section > summary { min-height:58px; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 12px; cursor:pointer; list-style:none; }
.editor-section > summary::-webkit-details-marker { display:none; }
.editor-section > summary > span:first-child { display:grid; min-width:0; gap:4px; }
.editor-section summary strong { font-size:12px; }
.editor-section summary small { color:var(--muted); font-size:10px; line-height:1.4; }
.editor-section > summary:hover { background:rgba(82,103,121,.09); }
.editor-chevron { color:var(--muted); }
.editor-section[open] > summary { border-bottom:1px solid var(--line); }
.editor-section[open] .editor-chevron { transform:rotate(180deg); }
.editor-section-body { padding:12px; display:grid; gap:12px; }
.editor-other { margin-top:12px; }
.correction-editor { min-width:0; }
.editor-audit-hint { margin:13px 0 0; }
.coating-unrecorded { display:block; color:var(--muted); font-size:9px; font-weight:400; margin-top:3px; }
.editor-damage-list { display:grid; gap:7px; }
.editor-damage-row { display:flex; align-items:center; gap:6px; border:1px solid var(--line); border-radius:10px; padding:6px; min-width:0; }
.editor-damage-open { flex:1; min-width:0; display:flex; align-items:center; gap:9px; border:0; padding:3px; background:transparent; text-align:left; color:var(--ink); min-height:44px; border-radius:6px; }
.editor-damage-open:hover { background:rgba(82,103,121,.1); }
.editor-damage-open > img,.editor-damage-placeholder { width:42px; height:38px; flex:0 0 auto; object-fit:cover; border-radius:6px; background:var(--steel-soft); }
.editor-damage-placeholder { display:grid; place-items:center; }
.editor-damage-open > span:nth-child(2) { display:grid; min-width:0; gap:4px; }
.editor-damage-open strong { font-size:11px; }
.editor-damage-open small { color:var(--muted); font-size:10px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.editor-damage-open > span:last-child { margin-left:auto; font-size:10px; }
.editor-photo-preview { margin:7px 0 10px; background:var(--soft); border-radius:10px; padding:7px; }
.editor-photo-preview img { display:block; max-height:180px; max-width:100%; margin:auto; border-radius:7px; object-fit:contain; }
.editor-photo-remove { min-height:44px; }
.record-editor-modal .input[type="file"] { font-size:11px; padding:10px; }
.audit-kind { display:block; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); font-size:9px; margin-bottom:4px; }
.audit-reason { margin-bottom:7px; color:var(--muted); }
.audit-change { padding:8px 0; border-top:1px solid var(--line); }
.audit-values { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:5px; white-space:pre-wrap; overflow-wrap:anywhere; }
.audit-values small,.audit-photo-pair small { display:block; color:var(--muted); font-size:9px; margin-bottom:3px; }
.audit-photo-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:7px; }
.audit-photo-pair img,.audit-damage img { width:auto; max-width:100%; max-height:110px; object-fit:contain; border-radius:6px; margin-top:5px; }
.audit-damage,.audit-note { padding:8px 0; border-top:1px solid var(--line); }
.audit-damage p,.audit-note p { margin:4px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
@media (max-width:640px) {
  .record-editor-backdrop { padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); }
  .record-editor-modal { width:100%; max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px); border-radius:12px; }
  .record-editor-modal .modal-head { padding:12px; }
  .record-editor-modal .modal-head h2 { font-size:15px; }
  .record-editor-modal .modal-body { padding:12px; }
  .record-editor-modal .modal-foot { padding:10px 12px; }
  .record-editor-modal .modal-foot .button { flex:1; padding:0 10px; }
  .editor-section-body { padding:10px; }
  .editor-damage-row > .button { padding:0 8px; }
  .audit-values { gap:8px; }
}
@media print {
  .print-sheet .timeline { padding-left:0; }
  .print-sheet .timeline::before,.print-sheet .timeline-item::before { display:none; }
  .print-sheet .timeline-item { break-inside:avoid; margin:10px 0; }
  .print-sheet .timeline-body,.print-sheet .timeline-title,.print-sheet .dated-note p { font-size:9px; color:#333; }
  .print-sheet .timeline-meta,.print-sheet .dated-note small { font-size:8px; color:#555; }
  .print-sheet .audit-change,.print-sheet .audit-damage { border-color:#ddd; }
}

@media (max-width:640px) { .record-editor-modal .input,.record-editor-modal .select,.record-editor-modal .textarea { font-size:16px; } }

.record-editor-modal .coating-row .choice span { min-height:44px; min-width:58px; }

.damage-photo-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(88px,1fr)); gap:9px; max-width:480px; margin:9px 0; }
.damage-photo-gallery figure { margin:0; min-width:0; display:flex; flex-direction:column; gap:5px; }
.damage-photo-gallery a { display:block; border-radius:8px; overflow:hidden; background:var(--steel-soft); }
.damage-photo-gallery a:hover { outline:2px solid var(--accent); outline-offset:1px; }
.damage-photo-gallery img { display:block; width:100%; height:82px; object-fit:cover; margin:0; max-width:100%; max-height:none; border-radius:0; }
.damage-photo-control .button,.damage-photo-gallery .button { min-height:44px; padding:0 8px; }
.damage-photo-control > .button-row { margin-top:0; flex-wrap:wrap; }
.damage-photo-control .hint { margin:7px 0 0; }
.audit-photo-pair .damage-photo-gallery { grid-template-columns:repeat(auto-fill,minmax(70px,1fr)); }
.audit-photo-pair .damage-photo-gallery img { max-height:none; width:100%; height:70px; }
@media (max-width:640px) {
  .damage-photo-control .damage-photo-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .damage-photo-control > .button-row .button { flex:1; }
}
@media print {
  .print-sheet .damage-photo-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; gap:10px; }
  .print-sheet .damage-photo-gallery figure { break-inside:avoid; }
  .print-sheet .damage-photo-gallery img { height:auto; max-height:160px; object-fit:contain; }
  .print-sheet .print-defect { break-inside:auto; page-break-inside:auto; }
}

