.equipment-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap; }
    .equipment-heading label { display:flex;align-items:center;gap:6px;min-height:44px;font-size:14px;cursor:pointer; }
    .equipment-heading input { width:18px;height:18px;accent-color:#0ea5b7; }
    #locationMapTitle:focus { outline:none; }
    .location-map-actions > :focus-visible { outline:2px solid #657780;outline-offset:3px; }
    .location-map-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px; }
    .location-map-actions > * { display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;text-align:center;white-space:normal;padding:10px 12px; }
    @media(max-width:480px) { .location-map-actions { grid-template-columns:1fr;grid-auto-rows:1fr; } }
    .photo-selection-status { display:flex;align-items:center;justify-content:center;gap:8px;min-height:24px;font-size:14px; }
    .photo-selection-status[aria-busy=true]::before { content:'';width:14px;height:14px;flex:none;border:2px solid #cddbdc;border-top-color:#0ea5b7;border-radius:50%;animation:photo-selection-spin 1s linear infinite; }
    @keyframes photo-selection-spin { to { transform:rotate(360deg); } }
    @media(prefers-reduced-motion:reduce) { .photo-selection-status[aria-busy=true]::before { animation:none; } }
    .field-label {
      display: block;
      font-size: 0.875rem;
      font-weight: 600;
      color: #475569;
    }
    .field-label[hidden] { display: none !important; }
    #geolocationConsent { width:min(440px,calc(100% - 32px)); max-height:85dvh; overflow:auto; padding:24px; border:1px solid #cddbdc; border-radius:8px; background:#fff; color:#15272e; }
    #geolocationConsent::backdrop { background:#15272e66; }
    #geolocationTitle { font-size:20px; font-weight:700; margin-bottom:12px; outline:none; }
    #geolocationConsent p { font-size:15px; line-height:1.55; }
    #geolocationConsent details { margin-top:16px; font-size:14px; line-height:1.5; }
    #geolocationConsent summary { cursor:pointer; color:inherit; font-weight:600; min-height:32px; }
    #geolocationConsent details p { margin-top:10px; }
    #geolocationConsent a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
    .geo-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:20px; }
    #geolocationConsent .signature-action-primary { background:#008774; color:#fff; }
    html[data-ui-theme=dark] #geolocationConsent { background:#222a2d; color:#edf1f2; border-color:#536568; }
    @media(max-width:480px) { #geolocationConsent { padding:20px; } .geo-actions { display:grid; grid-template-columns:1fr; } .geo-actions button { min-height:44px; } }
    #representativeField.hidden, #interestedPersonField.hidden { display: none; }
    @media (max-width: 600px) {
      .signer-options { grid-template-columns: minmax(0, 1fr); }
      .signer-options label { display: flex; align-items: center; gap: 10px; min-height: 44px; text-align: left; }
      .signer-options input { flex-shrink: 0; }
    }
    .field-input {
      margin-top: 0.5rem;
      width: 100%;
      border-radius: 1rem;
      border: 1px solid #cbd5e1;
      background: #fff;
      padding: 0.75rem 1rem;
      font-size: 0.9375rem;
      color: #101820;
      outline: none;
      transition: border-color 0.15s ease, box-shadow 0.15s ease;
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
    }
    .field-input:focus {
      border-color: #0ea5b7;
      box-shadow: 0 0 0 4px rgba(14, 165, 183, 0.14);
    }
    .damage-btn {
      border-radius: 1rem;
      border: 1px solid #cbd5e1;
      background: #f8fafc;
      padding: 0.75rem 1rem;
      text-align: left;
      font-size: 0.875rem;
      font-weight: 700;
      color: #17212b;
      transition: border-color 0.15s ease, background 0.15s ease;
    }
    .damage-btn:hover {
      border-color: #0ea5b7;
      background: #ecfeff;
    }
    .damage-row {
      display: grid;
      grid-template-columns: 36px minmax(0, 1fr) minmax(0, 1fr) 40px;
      align-items: end;
    }
    .damage-row .field-input { margin-top: 0; min-width: 0; }
    .damage-field {
      display: grid;
      gap: 0.35rem;
      min-width: 0;
      color: #64748b;
      font-size: 0.75rem;
      font-weight: 700;
    }
    @media (max-width: 639px) {
      .damage-row { grid-template-columns: 28px minmax(0, 1fr) 40px; }
      .damage-row .damage-type { grid-column: 2 / 3; }
      .damage-row .damage-remove { grid-column: 3; grid-row: 1 / 3; align-self: end; }
    }
    .check-row {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      border-radius: 1rem;
      background: #f8fafc;
      padding: 0.85rem 1rem;
      font-size: 0.875rem;
      font-weight: 600;
      color: #334155;
    }
    .check-row input {
      height: 1.1rem;
      width: 1.1rem;
      flex: 0 0 1.1rem;
      margin: 0;
      box-sizing: border-box;
      accent-color: #0ea5b7;
    }
    .drop-zone.is-dragging {
      border-color: #0ea5b7;
      background: #ecfeff;
    }
    .inspection-documents { container-type: inline-size; }
    .inspection-documents .documents-heading { margin-bottom: 0; }
    .inspection-documents #uploadMaterialRules { margin-top: 0.5rem; margin-bottom: 1rem; }
    .inspection-upload-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem;
    }
    .inspection-upload-grid .drop-zone {
      display: flex;
      width: 100%;
      min-height: 0;
      height: auto;
      aspect-ratio: 1;
      contain: size;
      padding: 12px;
      min-width: 0;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }
    @container (min-width: 820px) {
      .inspection-upload-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    }
    @media (min-width: 601px) {
      @container (max-width: 399px) {
        .inspection-upload-grid { grid-template-columns: minmax(0, 1fr); }
      }
    }
    @media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
      .inspection-upload-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); }
      .inspection-upload-grid .drop-zone { max-width: 230px; }
      .inspection-upload-grid .drop-zone { overflow: auto; }
    }
    .inspection-upload-grid .multi-file-preview:empty,
    .inspection-upload-grid #photoPreview:empty { display: none; }
    .inspection-upload-grid .drop-zone > span:first-of-type { width: 36px; height: 36px; font-size: 13px; }
    .inspection-upload-grid .drop-zone > span:nth-of-type(2) { margin-top: 10px; font-size: 14px; line-height: 1.3; }
    .inspection-upload-grid .drop-zone > span:nth-of-type(3) { font-size: 12px; line-height: 1.35; }
    .recognize-sts-button {
      position: relative;
      overflow: hidden;
      display: inline-flex;
      min-height: 44px;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      margin-top: 1rem;
      padding: 0.7rem 1rem;
      border-radius: 6px;
      background: #0ea5b7;
      color: #fff;
      font-size: 0.875rem;
      font-weight: 700;
    }
    .recognize-sts-button:disabled { cursor: not-allowed; opacity: 0.45; }
    .recognize-sts-progress {
      position: absolute;
      inset: auto 0 0;
      height: 3px;
      overflow: hidden;
      background: rgba(255, 255, 255, 0.24);
    }
    .recognize-sts-progress > span {
      display: block;
      width: 38%;
      height: 100%;
      background: #fff;
      animation: sts-progress 1.2s ease-in-out infinite;
    }
    @keyframes sts-progress {
      from { transform: translateX(-110%); }
      to { transform: translateX(280%); }
    }
    .equipment-scroll {
      width: 100%;
      max-width: 100%;
      min-width: 0;
      overflow-x: auto;
      padding-bottom: 0.5rem;
      scrollbar-width: thin;
    }
    .equipment-grid {
      display: grid;
      grid-auto-flow: column;
      grid-template-rows: repeat(7, 52px);
      grid-auto-columns: 270px;
      gap: 0.4rem 0.75rem;
      min-width: max-content;
    }
    .equipment-option {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      min-width: 270px;
      padding: 0.45rem 0.7rem;
      border: 1px solid #e2e8f0;
      border-radius: 5px;
      background: #fff;
      font-size: 0.8125rem;
      line-height: 1.15rem;
      white-space: normal;
    }
    .equipment-option input { width: 1rem; height: 1rem; accent-color: #0ea5b7; }
    .body-type-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0.5rem;
    }
    .body-type-option {
      display: flex;
      min-width: 0;
      align-items: center;
      gap: 0.5rem;
      padding: 0.65rem 0.75rem;
      border: 1px solid #e2e8f0;
      border-radius: 6px;
      background: #fff;
      font-size: 0.8125rem;
      font-weight: 600;
    }
    .body-type-option input { width: 1rem; height: 1rem; flex: 0 0 1rem; accent-color: #0ea5b7; }
    .inspection-card-grid { grid-template-columns: minmax(0, 1fr); }
    .inspection-card-grid > * { min-width: 0; max-width: 100%; }
    .field-label { min-width: 0; max-width: 100%; }
    .inspection-time-grid { width: 100%; max-width: 100%; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .inspection-time-grid > * { min-width: 0; }
    .inspection-date-field,
    .inspection-time-field { min-width: 0; width: 100%; max-width: 100%; overflow: hidden; }
    input[type="date"].field-input,
    input[type="time"].field-input { display: block; box-sizing: border-box; min-width: 0; width: 100%; max-width: 100%; }
    input[type="date"].field-input::-webkit-date-and-time-value,
    input[type="time"].field-input::-webkit-date-and-time-value { min-width: 0; text-align: center; }
    .inspect-bottom-nav { display: none; }
    .inspect-main form,
    .inspect-main form > div,
    .inspect-main form > aside,
    .inspect-main form section { min-width: 0; }
    .multi-file-preview {
      display: grid;
      width: 100%;
      gap: 0.35rem;
      text-align: left;
      min-height: 0;
      overflow-y: auto;
      flex: 1 1 auto;
      align-content: start;
    }
    .file-preview-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 44px;
      align-items: center;
      gap: 0.35rem;
      width: 100%;
    }
    .file-preview-name {
      min-width: 0;
      overflow: hidden;
      border-radius: 5px;
      padding: 0.35rem 0.45rem;
      background: rgba(255,255,255,.82);
      color: #334155;
      text-align: left;
      overflow-wrap: anywhere;
      font-size: 12px;
      line-height: 1.35;
    }
    .file-preview-view,
    .file-preview-remove {
      display: grid;
      width: 34px;
      height: 34px;
      place-items: center;
      border: 1px solid #cbd5e1;
      border-radius: 5px;
      background: #fff;
      color: #475569;
    }
    .file-preview-view svg { width: 17px; height: 17px; }
    .file-preview-view { position: relative; grid-column: 1 / -1; grid-row: 1; width: 100%; height: 80px; overflow: hidden; }
    .file-preview-view img, .upload-photo-cover img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
    .upload-photo-cover { position: relative; display: block; width: 100%; height: 80px; margin-bottom: 8px; background: #fff; border: 1px solid #cbd5e1; border-radius: 5px; }
    #photoPreview { width: 100%; }
    .file-preview-remove { width: 44px; height: 44px; }
    .inspection-upload-grid .drop-zone > span { flex-shrink: 0; }
    .inspection-upload-grid .drop-zone.has-files > span:first-of-type,
    .inspection-upload-grid .drop-zone.has-files > span:nth-of-type(3):not(#photoPreview) { display: none; }
    .inspection-upload-grid .drop-zone.has-files > span:nth-of-type(2) { margin-top: 0; }
    .photo-preview-item { position: relative; min-width: 0; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 6px; background: #f8fafc; }
    .photo-preview-media { position: relative; width: 100%; aspect-ratio: 4 / 3; min-height: 84px; background: #eef2f4; }
    .photo-preview-item img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
    .photo-preview-label { overflow: hidden; padding: 0.55rem 0.75rem; color: #475569; font-size: 0.75rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
    .photo-preview-view,
    .photo-preview-remove { position: absolute; top: 6px; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(203,213,225,.9); border-radius: 5px; background: rgba(255,255,255,.94); color: #334155; box-shadow: 0 2px 8px rgba(15,23,42,.14); }
    .photo-preview-view { right: 48px; }
    .photo-preview-remove { right: 6px; font-size: 1.25rem; }
    .photo-preview-view svg { width: 18px; height: 18px; }
    .drop-zone.has-files {
      align-items: stretch;
      justify-content: flex-start;
      overflow-y: auto;
      overscroll-behavior: contain;
    }
    .location-control { display: flex; align-items: stretch; gap: 0.5rem; }
    .location-control .field-input { min-width: 0; flex: 1; }
    .location-input {
      height: 48px;
      overflow-x: auto;
      overflow-y: hidden;
      resize: none;
      white-space: pre;
      touch-action: pan-x;
      scrollbar-width: thin;
    }
    .location-button {
      display: grid;
      width: 48px;
      flex: 0 0 48px;
      place-items: center;
      border: 1px solid #cbd5e1;
      border-radius: 6px;
      background: #fff;
      color: #0e7490;
    }
    .location-button:disabled { cursor: wait; opacity: 0.55; }
    @media(min-width:769px) and (any-pointer:fine) and (not (any-pointer:coarse)) {
      .location-button { align-self:flex-end; box-sizing:border-box; height:48px; min-height:0; padding:0; }
      .location-button svg { width:24px; height:24px; }
    }
    .photo-viewer {
      position: fixed;
      inset: 0;
      z-index: 80;
      display: flex;
      align-items: stretch;
      justify-content: center;
      padding: max(0.75rem, env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-right)) max(0.75rem, env(safe-area-inset-bottom)) max(0.75rem, env(safe-area-inset-left));
      background: rgba(7, 20, 29, 0.92);
      overscroll-behavior: contain;
    }
    .photo-viewer[hidden] { display: none; }
    .photo-viewer-dialog { display: grid; width: min(100%, 980px); min-height: 0; grid-template-rows: auto minmax(0, 1fr) auto; color: #fff; }
    .photo-viewer-header { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 0.75rem; }
    .photo-viewer-stage { position: relative; display: grid; min-height: 0; place-items: center; overflow: hidden; touch-action: pan-y; }
    .photo-viewer-image { position: absolute; top: 50%; left: 50%; max-width: none; max-height: none; object-fit: contain; transform: translate(-50%, -50%); }
    .photo-viewer-pdf { width: 100%; height: 100%; min-height: 0; border: 0; background: #fff; }
    .photo-viewer-unsupported { display: grid; min-height: 45vh; place-items: center; padding: 2rem; border: 1px solid rgba(255,255,255,.25); background: #10212d; text-align: center; }
    .photo-viewer-image[hidden], .photo-viewer-pdf[hidden], .photo-viewer-unsupported[hidden] { display: none; }
    .photo-viewer-toolbar { display: flex; min-height: 56px; align-items: center; justify-content: space-between; gap: 0.75rem; padding-top: 0.75rem; }
    .photo-viewer-tools { display: flex; gap: 8px; }
    .photo-viewer-button svg { width: 20px; height: 20px; }
    .photo-viewer-button:disabled { opacity: .35; cursor: default; }
    .photo-viewer-button { min-width: 44px; min-height: 44px; padding: 0.6rem; border: 1px solid rgba(255,255,255,.35); border-radius: 6px; }
    .photo-viewer-arrow { position: absolute; top: 50%; z-index: 2; transform: translateY(-50%); background: rgba(7,20,29,.7); }
    .photo-viewer-arrow.is-previous { left: 8px; }
    .photo-viewer-arrow.is-next { right: 8px; }
    body.signature-mode-open { overflow: hidden; }
    .signature-preview canvas { pointer-events: none; }
    .signature-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
    .signature-action-primary,
    .signature-action-secondary {
      display: inline-flex;
      min-height: 44px;
      align-items: center;
      justify-content: center;
      border-radius: 6px;
      padding: 0.7rem 1rem;
      font-size: 0.875rem;
      font-weight: 700;
    }
    .signature-action-primary { background: #0ea5b7; color: #fff; }
    .signature-action-secondary { border: 1px solid #cbd5e1; background: #fff; color: #17212b; }
    .signature-fullscreen {
      position: fixed;
      inset: 0;
      z-index: 120;
      display: flex;
      width: 100%;
      height: 100vh;
      height: 100dvh;
      flex-direction: column;
      overflow: hidden;
      padding: max(0.75rem, env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-right)) max(0.75rem, env(safe-area-inset-bottom)) max(0.75rem, env(safe-area-inset-left));
      background: #f8fafc;
    }
    .signature-fullscreen[hidden] { display: none; }
    .signature-fullscreen-header {
      display: flex;
      flex: 0 0 auto;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: 0.25rem 0 0.75rem;
    }
    .signature-fullscreen-heading { min-width: 0; }
    .signature-fullscreen-title { font-size: 1.125rem; font-weight: 700; color: #101820; }
    .signature-fullscreen-subtitle { margin-top: 0.15rem; font-size: 0.8125rem; color: #64748b; }
    .signature-rotate-hint {
      display: none;
      flex: 0 0 auto;
      margin-bottom: 0.6rem;
      border-left: 3px solid #0ea5b7;
      padding: 0.45rem 0.65rem;
      background: #ecfeff;
      color: #155e75;
      font-size: 0.8125rem;
      font-weight: 600;
    }
    .signature-fullscreen-pad {
      min-height: 0;
      flex: 1 1 auto;
      overflow: hidden;
      border: 1px solid #cbd5e1;
      border-radius: 6px;
      background: #fff;
      box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    }
    .signature-fullscreen-pad canvas { display: block; width: 100%; height: 100%; outline: none; touch-action: none; }
    .signature-fullscreen-footer {
      display: grid;
      flex: 0 0 auto;
      grid-template-columns: auto auto minmax(170px, 1fr);
      gap: 0.65rem;
      padding-top: 0.75rem;
    }
    .signature-fullscreen-footer .signature-action-primary:disabled { cursor: not-allowed; opacity: 0.45; }
    @media (orientation: portrait) and (max-width: 820px) {
      .signature-rotate-hint { display: block; }
    }
    .ocr-review-row {
      grid-template-columns: 24px minmax(0, 1fr);
      align-items: start;
    }
    .ocr-review-row > strong { align-self: center; overflow-wrap: anywhere; }
    .ocr-review-comparison {
      grid-column: 2 / -1;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.75rem;
      min-width: 0;
    }
    .ocr-review-value b {
      white-space: normal;
      overflow-wrap: anywhere;
      word-break: break-word;
    }
    .ocr-review-actions[hidden] { display: none; }
    .ocr-review-actions button:disabled { cursor: wait; opacity: 0.65; }
    .step-item.is-active {
      background: #ecfeff;
    }
    .step-item.is-active p:last-child {
      color: #0ea5b7;
    }
    @media (max-width: 640px) {
      .step-track {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      }
      .step-item {
        min-width: 0;
        padding: 1rem !important;
        border-bottom: 1px solid #e2e8f0;
      }
      .step-item:nth-child(odd) {
        border-right: 1px solid #e2e8f0;
      }
      .step-item p {
        overflow-wrap: anywhere;
      }
    }
    .inspect-sidebar {
      position: fixed;
      inset: 0 auto 0 0;
      z-index: 50;
      width: 228px;
      padding: 22px 14px;
      color: #dce8ef;
      background: #132737;
    }
    .inspect-sidebar-brand {
      display: flex;
      align-items: center;
      gap: 9px;
      margin-bottom: 28px;
      color: #fff;
      font-weight: 700;
    }
    .inspect-sidebar-mark {
      display: block;
      width: 34px;
      height: auto;
      object-fit: contain;
    }
    .inspect-sidebar-link {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 4px;
      padding: 11px 12px;
      border-radius: 5px;
      font-size: 12px;
      color: #dce8ef;
      text-decoration: none;
    }
    .inspect-sidebar-link:hover,
    .inspect-sidebar-link:focus-visible {
      color: #fff;
      background: rgba(255, 255, 255, 0.08);
      outline: none;
    }
    .inspect-sidebar-link.is-active {
      background: #0ea5b7;
      color: #fff;
    }
    .inspect-main {
      min-height: 100vh;
      margin-left: 228px;
    }
    .inspect-main .rounded-3xl {
      border-radius: 8px !important;
    }
    .inspect-main .rounded-2xl {
      border-radius: 6px !important;
    }
    body[data-page="inspect"] > header,
    body[data-page="inspect"] > footer {
      display: none;
    }
    .inspect-mobile-header,
    .inspect-sidebar-overlay,
    .inspect-sidebar-close {
      display: none;
    }
    @media (max-width: 900px) {
      .inspect-sidebar {
        display: flex;
        flex-direction: column;
        width: min(86vw, 290px);
        transform: translateX(-105%);
        transition: transform 0.2s ease;
        box-shadow: 18px 0 50px rgba(7, 20, 29, 0.2);
      }
      .inspect-sidebar.is-open {
        transform: translateX(0);
      }
      .inspect-sidebar-close {
        position: absolute;
        top: 14px;
        right: 12px;
        display: grid;
        width: 36px;
        height: 36px;
        place-items: center;
        border: 1px solid rgba(255, 255, 255, 0.18);
        border-radius: 6px;
        color: #fff;
        background: transparent;
        font-size: 22px;
      }
      .inspect-mobile-header {
        position: sticky;
        top: 0;
        z-index: 40;
        display: flex;
        min-height: 64px;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 10px 16px;
        border-bottom: 1px solid #d8e1e8;
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(10px);
      }
      .inspect-mobile-brand {
        display: flex;
        align-items: center;
        gap: 9px;
        color: #101820;
        font-weight: 750;
      }
      .inspect-mobile-brand img {
        width: 32px;
      }
      .inspect-menu-button {
        display: inline-flex;
        min-height: 40px;
        align-items: center;
        gap: 8px;
        padding: 0 12px;
        border: 1px solid #cbd5e1;
        border-radius: 6px;
        background: #fff;
        color: #17212b;
        font-size: 13px;
        font-weight: 700;
      }
      .inspect-menu-glyph {
        width: 18px;
        height: 12px;
        border-top: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        position: relative;
      }
      .inspect-menu-glyph::after {
        position: absolute;
        top: 4px;
        left: 0;
        width: 100%;
        border-top: 2px solid currentColor;
        content: "";
      }
      .inspect-sidebar-overlay {
        position: fixed;
        inset: 0;
        z-index: 45;
        display: block;
        visibility: hidden;
        background: rgba(7, 20, 29, 0.5);
        opacity: 0;
        transition: opacity 0.2s ease, visibility 0.2s ease;
      }
      .inspect-sidebar-overlay.is-visible {
        visibility: visible;
        opacity: 1;
      }
      .inspect-main {
        margin-left: 0;
        padding-bottom: 76px;
      }
      .inspection-upload-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .inspect-bottom-nav {
        position: fixed;
        inset: auto 0 0 0;
        z-index: 44;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        min-height: 64px;
        padding: 5px 4px calc(5px + env(safe-area-inset-bottom));
        border-top: 1px solid #d8e1e8;
        background: rgba(255,255,255,0.98);
      }
      .inspect-bottom-nav a {
        display: flex;
        min-width: 0;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        color: #64748b;
        font-size: 10px;
        font-weight: 650;
        text-align: center;
      }
      .inspect-bottom-nav a.is-active { color: #0ea5b7; }
      .inspect-bottom-nav svg { width: 19px; height: 19px; }
    }
    @media (max-width: 640px) {
      .inspect-main form,
      .inspect-main form > * {
        min-width: 0;
        width: 100%;
        max-width: 100%;
      }
      .inspect-main > main {
        padding-right: 1rem;
        padding-left: 1rem;
      }
      .inspect-main .documents-heading {
        align-items: stretch;
        flex-direction: column;
      }
      .inspect-main .drop-zone {
        padding: 0.85rem;
      }
      .inspect-main .drop-zone > span:nth-of-type(1) { width: 2.5rem; height: 2.5rem; }
      .inspect-main .drop-zone > span:nth-of-type(2) { margin-top: 0.65rem; font-size: 0.8125rem; }
      .inspect-main .drop-zone > span:nth-of-type(3) { font-size: 0.6875rem; line-height: 1rem; }
      .inspect-main .drop-zone .multi-file-preview,
      .inspect-main .drop-zone #directionPreview,
      .inspect-main .drop-zone #photoPreview { margin-top: 0.45rem; font-size: 0.6875rem; }
      .inspect-main .drop-zone .file-preview-view,
      .inspect-main .drop-zone .upload-photo-cover { height: 56px; }
      .recognize-sts-button { width: 100%; }
      .equipment-grid { grid-template-rows: repeat(6, 56px); grid-auto-columns: 245px; }
      .equipment-option { min-width: 245px; }
      .body-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .inspection-time-grid { gap: 0.75rem; }
      .inspection-time-field { overflow: hidden; }
      input[type="date"].field-input,
      input[type="time"].field-input {
        -webkit-appearance: none;
        appearance: none;
        inline-size: 100%;
        min-inline-size: 0;
        max-inline-size: 100%;
        padding-right: 0.6rem;
        padding-left: 0.6rem;
        font-size: 1rem;
      }
      input[type="date"].field-input::-webkit-calendar-picker-indicator,
      input[type="time"].field-input::-webkit-calendar-picker-indicator { display: none; }
      .damage-btn { padding: 0.7rem 0.8rem; }
      .damage-field .field-input { padding: 0.65rem 0.75rem; font-size: 0.875rem; }
      .ocr-review-panel { padding: 0.85rem; }
      .ocr-review-heading { gap: 0.5rem; }
      .ocr-review-row { padding: 0.75rem; }
      .ocr-review-comparison { gap: 0.5rem; }
      .ocr-review-actions { grid-template-columns: minmax(0, 1fr); }
      .signature-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
      .signature-fullscreen-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .signature-fullscreen-footer .signature-save-button { grid-column: 1 / -1; grid-row: 1; }
    }
    @media (min-width: 640px) {
      .inspection-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (prefers-reduced-motion: reduce) {
      * {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
      }
    }
