.vehicle-body{font-family:inherit;color:#172237;font-size:12px;font-weight:500;line-height:1.5;min-width:0;box-sizing:border-box}
.vehicle-body *{box-sizing:border-box}
#paintWorkEditor{margin-top:14px;padding-top:12px;border-top:1px solid #d6e2f4}
#inspectionEditor{width:100%;max-width:100%;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #d6e2f4}
#inspectionEditor.vb-expanded{width:100%;margin:0;padding:16px;border:0;background:#f9fbff}
.vb-inspection-dialog{position:fixed;inset:0;width:min(760px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #cbdaf0;border-radius:14px;overflow-y:auto;background:#f9fbff;box-shadow:0 18px 60px #17223740}
.vb-inspection-dialog::backdrop{background:#17223780}
.vb-inspection-dialog[open]{display:block;z-index:2147483646}
.vb-dialog-shade{position:fixed;inset:0;z-index:2147483645;background:#17223780}
.vb-dialog-shade[hidden]{display:none}
#inspectionEditor.vb-expanded .vb-heading{position:sticky;top:0;z-index:1;background:#f9fbff;padding-bottom:6px}
.vehicle-body .vb-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.vehicle-body .vb-title{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}
.vehicle-body .vb-title strong{white-space:nowrap}
.vehicle-body .vb-month{font-size:12px;font-weight:600;color:#2458e8;background:#e5eeff;border-radius:5px;padding:1px 5px;white-space:nowrap}
.vehicle-body input.vb-date{font:inherit;font-weight:600;font-size:11px;width:128px;max-width:100%;min-width:0;min-height:32px;padding:4px 5px;margin:0;color:#172237;background:#fff;border:1px solid #cbdaf0;border-radius:7px}
.vehicle-body .vb-heading>button{flex-shrink:0}
.vehicle-body .vb-inspection-age{font-size:12px;font-weight:600;line-height:1.6;margin:4px 0 8px;color:#475569;border-radius:6px;padding:4px 6px;background:#edf3ff}
.vehicle-body .vb-inspection-age.vb-soon,.vb-list-reminder.vb-soon{color:#9a4c00;background:#fff1d6}
.vehicle-body .vb-inspection-age.vb-due,.vb-list-reminder.vb-due{color:#b91c1c;background:#fee2e2}
.vb-list-reminder{display:table;max-width:100%;margin-top:4px;padding:3px 7px;font-size:11px;font-weight:700;line-height:1.5;white-space:normal;border-radius:6px}
#mobileCarRows .vb-list-reminder{margin:4px 0 3px 18px}
.vehicle-body .vb-total{color:#2458e8;white-space:nowrap}
.vehicle-body .vb-help,.vehicle-body .vb-empty{font-size:12px;color:#475569;margin:6px 0;line-height:1.6}
.vehicle-body .vb-diagrams{display:grid;gap:5px;align-items:start;margin:8px 0}
.vehicle-body .vb-paint{grid-template-columns:repeat(3,minmax(0,1fr))}
.vehicle-body .vb-inspection{grid-template-columns:repeat(4,minmax(0,1fr))}
.vehicle-body .vb-view{min-width:0;text-align:center;color:#475569;font-size:12px;font-weight:600}
.vehicle-body .vb-view svg{display:block;width:100%;height:140px;overflow:visible;touch-action:manipulation}
#inspectionEditor .vb-view svg{height:115px}
#inspectionEditor.vb-expanded .vb-view svg{height:210px}
.vehicle-body .vb-part{cursor:pointer;outline:none}
.vehicle-body .vb-part path{fill:#fff;stroke:#93a7c2;stroke-width:1.4}
.vehicle-body .vb-part:hover path,.vehicle-body .vb-part:focus path,.vehicle-body .vb-active path{stroke:#2458e8;stroke-width:2}
.vehicle-body .vb-part:focus-visible path{stroke:#142a66;stroke-width:3}
.vehicle-body .vb-marked path{fill:#e5eeff;stroke:#2458e8;stroke-width:1.8}
.vehicle-body .vb-part text{fill:#2458e8;stroke:none;font-family:Arial,sans-serif;font-size:14px;font-weight:700;pointer-events:none}
.vehicle-body .vb-picker{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;color:#475569;margin:8px 0}
.vehicle-body select{font:inherit;font-weight:600;color:#172237;background:#fff;border:1px solid #cbdaf0;border-radius:7px;min-height:32px;padding:4px 7px;min-width:0;width:auto;margin:0}
.vehicle-body .vb-picker select{flex:1;width:0}
.vehicle-body .vb-paint-summary{display:flex;flex-wrap:wrap;gap:2px 8px;width:100%;max-width:100%;margin:6px 0;padding:5px 0;font-size:12px;line-height:20px;font-weight:600;color:#172237}
.vehicle-body .vb-paint-name{white-space:nowrap}
.vehicle-body .vb-paint-name:not(:last-child)::after{content:' ·';margin-left:8px;color:#475569}
.vehicle-body button{font:inherit;font-weight:600;background:#fff;color:#2458e8;border:1px solid #cbdaf0;border-radius:7px;padding:6px 9px;min-height:32px;width:auto;cursor:pointer;box-shadow:none;line-height:1.4;white-space:normal}
.vehicle-body button:hover{background:#edf3ff}
.vehicle-body button:disabled,.vehicle-body select:disabled{opacity:.6;cursor:default}
.vehicle-body button[aria-pressed=true]{background:#e5eeff;border-color:#2458e8}
.vehicle-body .vb-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}
.vehicle-body .vb-mark-editor{padding-top:6px;border-top:1px solid #e6edf7}
.vehicle-body .vb-inspection-summary{margin:8px 0 0;font-size:12px;font-weight:600;line-height:1.7;overflow-wrap:anywhere;color:#172237}
@media(max-width:760px){.vehicle-body button,.vehicle-body select{min-height:36px}.vehicle-body input.vb-date{font-size:16px;width:150px;min-height:36px}.vehicle-body .vb-view svg{height:155px}}
@media(max-width:440px){#inspectionEditor.vb-expanded .vb-inspection{grid-template-columns:repeat(2,minmax(0,1fr))}#inspectionEditor.vb-expanded .vb-view svg{height:205px}}

/* Reference inspection sheet: exterior and structural diagrams share one scale. */
.vehicle-body .vb-reference-sheet{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:10px 0;border-top:2px solid #b9c0c7;border-bottom:1px solid #d5dae0;background:#fff;color:#172b3e}
.vehicle-body .vb-inspection-sheet{grid-template-columns:repeat(2,minmax(0,1fr))}
.vehicle-body .vb-diagram-panel{min-width:0;text-align:center}
.vehicle-body .vb-diagram-panel+.vb-diagram-panel{border-left:1px solid #d5dae0}
.vehicle-body .vb-diagram-panel h4{font:inherit;font-size:13px;font-weight:750;margin:0 0 10px;padding:8px 4px;background:#f4f5f6;color:#172b3e;border-bottom:1px solid #d5dae0}
.vehicle-body .vb-direction{font-size:11px;font-weight:650;line-height:1.5;color:#31485d;margin:3px 0}
.vehicle-body .vb-reference-map{display:block;width:100%;height:auto;max-width:350px;margin:0 auto;overflow:visible;touch-action:manipulation}
.vehicle-body .vb-map-part{cursor:pointer;outline:none}
.vehicle-body .vb-map-part .vb-hit{fill:transparent;stroke:transparent;pointer-events:all}
.vehicle-body .vb-map-part:focus-visible .vb-map-badge circle{stroke:#172b3e;stroke-width:2}
.vehicle-body .vb-map-badge{pointer-events:none}
.vehicle-body .vb-map-badge circle{fill:#2069c2;stroke:#fff;stroke-width:1.2}
.vehicle-body [data-mark-type="X"] .vb-map-badge circle{fill:#ef303b}
.vehicle-body .vb-map-badge text{fill:#fff;stroke:none;font:700 11px Arial,"Malgun Gothic",sans-serif}
.vehicle-body .vb-paint-sheet .vb-map-badge text{font-size:15px}
.vehicle-body .vb-map-badge .vb-half-back{fill:#fff;stroke:#2069c2;stroke-width:1}
.vehicle-body .vb-map-badge .vb-half-number{fill:#17529a;font-size:11px;font-weight:800}
.vehicle-body .vb-selected-parts{text-align:left;border-top:1px solid #d5dae0;padding:8px 5px;margin-top:9px;min-height:39px;display:grid;gap:2px}
.vehicle-body .vb-selected-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:4px;font-size:11px;font-weight:700;line-height:1.5;min-height:31px;text-align:left;border:0;border-radius:4px;padding:4px;background:transparent;color:#20384d}
.vehicle-body .vb-selected-row:hover{background:#edf4fe}
.vehicle-body .vb-selected-row>span:first-child{min-width:0;overflow-wrap:anywhere}
.vehicle-body .vb-row-status{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-shrink:0;color:#1b579f;font-size:11px}
.vehicle-body .vb-badge{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:#2069c2;color:#fff;font-family:Arial,"Malgun Gothic",sans-serif;font-size:13px;font-weight:750;line-height:1}
.vehicle-body .vb-badge-X{background:#ef303b}
.vehicle-body .vb-badge-empty{background:#e6ebf0;color:#52657a}
.vehicle-body .vb-half-label{white-space:nowrap;font-weight:750}
.vehicle-body .vb-selected-parts>.vb-empty{font-size:11px;margin:2px 3px;text-align:center}
.vehicle-body .vb-paint-sheet .vb-selected-parts{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:3px 9px}
.vehicle-body .vb-paint-sheet .vb-selected-parts>.vb-empty{grid-column:1/-1}
.vehicle-body .vb-paint-sheet .vb-selected-row{font-size:12px}
.vehicle-body .vb-paint-sheet .vb-badge{width:23px;height:23px;font-size:15px}
.vehicle-body .vb-actions button[data-mark="X"]{color:#c51f2a;font-weight:750}
.vehicle-body .vb-actions button[data-mark="W"],.vehicle-body .vb-actions button[data-mark="V"]{color:#17529a;font-weight:750}
.vehicle-body .vb-actions button[aria-pressed=true]{background:#1e62b4;color:#fff;border-color:#1e62b4}
.vehicle-body .vb-actions button[data-mark="X"][aria-pressed=true]{background:#d82531;color:#fff;border-color:#d82531}
#inspectionEditor.vb-expanded .vb-diagram-panel h4{font-size:16px;padding:11px}
#inspectionEditor.vb-expanded .vb-direction{font-size:12px}
#inspectionEditor.vb-expanded .vb-selected-parts{padding:10px 18px}
#inspectionEditor.vb-expanded .vb-selected-row{font-size:13px;min-height:36px}
#inspectionEditor.vb-expanded .vb-badge{width:23px;height:23px;font-size:14px}
.vb-inspection-dialog{width:min(880px,calc(100vw - 24px))}
@media(max-width:560px){#inspectionEditor.vb-expanded .vb-inspection-sheet{grid-template-columns:minmax(0,1fr)}#inspectionEditor.vb-expanded .vb-diagram-panel+.vb-diagram-panel{border-left:0;border-top:1px solid #d5dae0}.vehicle-body .vb-selected-row{min-height:38px}.vehicle-body .vb-paint-sheet .vb-selected-parts{gap:4px}}

/* Shared cars use the ledger's diagrams and marks, opened only on request. */
.vb-share-open{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;margin:10px 0 0;padding:10px 12px;border:1px solid #bdc9d8;border-radius:9px;background:#f5f7fa;color:#111827;font:inherit;font-size:14px;line-height:1.4;text-align:left;cursor:pointer;pointer-events:auto}
.vb-share-open strong{font-weight:900}.vb-share-secondary{font-size:12px;font-weight:700;color:#475569}.vb-share-view{font-size:12px;font-weight:800;white-space:nowrap;color:#172b3e}
.vb-share-open:focus-visible,.vb-shared-close:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
.vb-shared-dialog{position:fixed;inset:0;width:min(880px,calc(100vw - 16px));max-width:calc(100vw - 16px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:0;border:1px solid #cbd5e1;border-radius:14px;background:#fff;color:#111827;font-family:inherit;overflow:auto;overscroll-behavior:contain;box-shadow:0 18px 60px #17223740}
.vb-shared-dialog[open]{display:block;z-index:2147483646}.vb-shared-dialog::backdrop{background:#17223780}
.vb-shared-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:0;z-index:2;padding:13px 14px;background:#fff;border-bottom:1px solid #cbd5e1}
.vb-shared-heading>div{min-width:0}.vb-shared-heading strong{display:block;font-size:16px;line-height:1.4;font-weight:900;overflow-wrap:anywhere}.vb-shared-heading span{display:block;margin-top:3px;font-size:12px;color:#475569;font-weight:700}
.vb-shared-close{flex-shrink:0;min-width:52px;min-height:44px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#111827;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.vb-shared-content{padding:16px 12px 22px}.vb-shared-inspection{margin:0}.vb-shared-paint{margin-top:24px;padding-top:16px;border-top:2px solid #cbd5e1}
.vb-shared-memo{margin-bottom:18px;font-size:14px;color:#111827;font-weight:800}.vb-shared-memo strong{font-size:16px;font-weight:900}.vb-shared-memo p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:6px 0 0}
.vb-readonly{color:#111827;font-size:14px;font-weight:700}.vb-readonly .vb-title strong{font-size:19px;font-weight:900}.vb-readonly-paint .vb-title strong{font-size:15px;font-weight:800}.vb-readonly-paint .vb-total{font-size:13px;color:#334155}
.vb-readonly-date{margin:6px 0;color:#334155;font-size:13px;font-weight:800}.vb-readonly-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0;font-size:13px;font-weight:800;color:#111827}.vb-readonly-legend>span{display:inline-flex;align-items:center;gap:5px}
.vb-readonly .vb-diagram-panel h4{font-size:16px;font-weight:900;color:#111827;padding:10px 4px}.vb-readonly .vb-direction{font-size:12px;color:#334155;font-weight:800}.vb-readonly .vb-selected-parts{padding:8px 10px}.vb-readonly .vb-selected-row{font-size:14px;font-weight:800;min-height:36px;color:#111827}.vb-readonly .vb-row-status{font-size:12px;font-weight:800}.vb-readonly .vb-selected-parts>.vb-empty{font-size:13px;font-weight:700;color:#475569}
.vb-readonly .vb-map-part{cursor:default}.vb-readonly .vb-hit{pointer-events:none}.vb-readonly .vb-selected-row:hover{background:transparent}.vb-readonly .vb-map-badge text{font-weight:900}.vb-readonly .vb-map-badge circle,.vb-readonly .vb-badge{fill:#175db1;background:#175db1}.vb-readonly [data-mark-type="X"] .vb-map-badge circle,.vb-readonly .vb-badge-X{fill:#d51f2c;background:#d51f2c}
.vb-readonly-paint .vb-selected-row{font-size:13px}.vb-readonly-paint .vb-diagram-panel h4{font-size:14px}
@media(max-width:560px){.vb-readonly .vb-inspection-sheet{grid-template-columns:repeat(2,minmax(0,1fr))}.vb-readonly .vb-inspection-sheet .vb-selected-parts{padding:8px 4px}.vb-readonly .vb-inspection-sheet .vb-selected-row{font-size:12px}.vb-readonly .vb-inspection-sheet .vb-selected-parts>.vb-empty{font-size:12px}}

/* Optional paint work note: one compact row until opened. */
.vb-paint-note{margin-top:8px;border-top:1px solid #e5ebf3;padding-top:7px}
.vb-paint-note button{border:0;background:transparent;color:#334155;font:800 12px system-ui,-apple-system,sans-serif;padding:4px 0;cursor:pointer}
.vb-paint-note-preview{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:11px}
.vb-paint-note-preview:empty{display:none}
.vb-paint-note textarea{display:block;width:100%;min-height:66px;margin-top:5px;padding:8px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;font-size:13px;line-height:1.4;resize:vertical}
