:root{--navy:#142e45;--blue:#245ec7;--ink:#192d40;--muted:#586879;--bg:#f3f6fa;--line:#dce3eb;--white:#fff;--orange:#98541b;--red:#a32b36;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a,select{touch-action:manipulation}button{border:0}button:disabled{opacity:.55;cursor:wait}a{color:var(--blue);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #3272e8;outline-offset:4px}.app-header{height:86px;padding:0 clamp(20px,5vw,80px);display:flex;align-items:center;justify-content:space-between;background:var(--white);border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:20px;letter-spacing:-.7px;font-weight:650;color:var(--navy)}.brand strong{font-weight:400;color:var(--muted)}.brand-mark{display:grid;place-items:center;background:var(--navy);color:white;width:42px;height:42px;border-radius:12px;font-size:18px;font-weight:700;letter-spacing:-2px}.connection{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.connection::before{content:"";width:6px;height:6px;border-radius:50%;background:#437b66}.shell{max-width:1440px;margin:0 auto;padding:48px clamp(20px,5vw,80px) 80px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:40px}.eyebrow{font-size:13px;color:var(--muted);margin:0 0 10px;font-weight:500}h1{font-size:clamp(38px,5vw,60px);letter-spacing:-2.8px;line-height:1.06;margin:0 0 14px;font-weight:650}p{line-height:1.6}.intro{font-size:15px;color:var(--muted);margin:0}.primary{background:var(--blue);color:white;border-radius:10px;padding:13px 20px;font-weight:650;min-height:46px}.primary:hover{background:#174da9}.add-button{display:flex;align-items:center;gap:10px;white-space:nowrap}.add-button span{font-size:24px;font-weight:400}.workspace-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}.tabs{display:flex;gap:5px;flex-wrap:wrap}.tab{padding:11px 17px;border-radius:9px;background:transparent;color:var(--muted);font-size:14px;font-weight:650;min-height:44px;display:flex;align-items:center;gap:12px}.tab span{font-size:12px;min-width:22px;text-align:center;color:inherit;opacity:.85}.tab.active{background:var(--navy);color:white}.search{display:flex;align-items:center;gap:10px;width:230px}.search>span{font-size:26px}.search input{background:transparent;border:0;padding:8px 0;width:100%;font-size:14px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0 22px;gap:16px}.section-heading h2{font-size:21px;letter-spacing:-.6px;margin:0 0 5px;font-weight:650}.section-heading p{margin:0;color:var(--muted);font-size:13px}#count{font-size:13px;color:var(--muted);white-space:nowrap}.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.vehicle-card{background:white;border-radius:16px;overflow:hidden;box-shadow:0 3px 12px #152e4508;border:1px solid #e2e8ef}.vehicle-photo{width:100%;position:relative;display:block;aspect-ratio:1.6;background:#e8edf3;padding:0;overflow:hidden}.vehicle-photo img,.photo-preview img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#56677a;font-size:13px;background:#e8edf3}.photo-empty>span:first-child{font-size:36px;color:#70869b}.photo-badge{position:absolute;left:16px;bottom:15px;background:white;color:var(--navy);border-radius:7px;padding:7px 11px;font-size:12px;font-weight:700;box-shadow:0 2px 8px #0001}.photo-badge.draft{background:#fff8ed;color:#794718}.vehicle-content{padding:21px}.vehicle-title h3{font-size:20px;letter-spacing:-.6px;line-height:1.25;margin:0}.vehicle-title h3 button{padding:0;background:none;color:inherit;text-align:left;font:inherit;min-height:28px}.vehicle-title p{font-size:13px;color:var(--muted);margin:5px 0 20px}.vehicle-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vehicle-facts span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.vehicle-facts strong{font-size:21px;letter-spacing:-.7px;font-weight:650}.vehicle-facts>div+div{border-left:1px solid var(--line);padding-left:18px}.vehicle-signals{min-height:64px;display:flex;align-items:center}.vehicle-signals p{font-size:12px;color:var(--muted);line-height:1.5;margin:16px 0}.vehicle-signals .pending{color:var(--orange)}.vehicle-signals .risk{color:var(--red)}.vehicle-signals span{padding:0 5px;color:#8792a0}.card-actions{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding-top:16px;flex-wrap:wrap}.secondary{padding:10px 13px;border-radius:8px;background:#edf2f8;color:var(--navy);font-weight:650;font-size:12px;min-height:42px}.card-actions a{font-size:12px;font-weight:600;text-decoration:none}.stage-select{margin-left:auto}.stage-select select{border:0;background:transparent;font-size:12px;color:var(--muted);padding:10px 2px;min-height:42px;max-width:110px}.empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:65px 24px 75px;background:white;border:1px dashed #c8d3df;border-radius:16px}.empty-symbol{font-size:35px;display:grid;place-items:center;background:#edf2f9;color:var(--blue);border-radius:20px;width:70px;height:70px;margin-bottom:20px}.empty-state h3{font-size:25px;letter-spacing:-.8px;margin:0}.empty-state p{font-size:14px;max-width:410px;color:var(--muted);margin:12px 0 24px}#notice:not(:empty){padding:14px 18px;background:#e5edf9;color:#23436e;border-radius:9px;margin-bottom:20px;font-size:14px}dialog{border:0;padding:0;width:min(700px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;margin:0 0 0 auto;color:var(--ink);background:white;box-shadow:-15px 0 70px #10233826}dialog::backdrop{background:#10233873;backdrop-filter:blur(3px)}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:26px 32px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.editor-header .eyebrow{margin-bottom:5px}.editor-header h2{font-size:25px;letter-spacing:-.8px;margin:0}.icon-button{width:44px;height:44px;border-radius:50%;color:var(--ink);background:#eef2f7}.editor-body{padding:24px 32px}.editor-body label{font-size:12px;color:var(--muted);display:block;margin-bottom:7px;font-weight:550}.row{display:flex;align-items:center;gap:10px}input,select,textarea{color:var(--ink);border:1px solid #c9d3df;border-radius:8px;padding:11px 12px;background:white;min-width:0;width:100%}textarea{resize:vertical}.row input{flex:1}#importMsg{font-size:12px;color:var(--muted);margin:10px 0 18px}.small{font-size:12px;color:var(--muted)}details{background:#f3f6fa;border-radius:10px;padding:14px 16px}summary{cursor:pointer;font-size:13px;font-weight:650}details[open] summary{margin-bottom:15px}details button{margin-top:10px}.photo-editor{display:grid;grid-template-columns:160px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid var(--line);margin-bottom:8px}.photo-preview{position:relative;border-radius:10px;overflow:hidden;min-height:155px;align-self:start;aspect-ratio:1.1}.photo-preview .photo-empty{font-size:11px}.photo-editor h3{font-size:15px;margin:0 0 10px}.photo-editor .upload-label{display:inline-flex;align-items:center;padding:10px 12px;border:1px solid #c9d3df;border-radius:8px;position:relative;cursor:pointer;overflow:hidden;color:var(--navy);font-size:12px;margin-bottom:14px}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-label:focus-within{outline:3px solid var(--blue);outline-offset:3px}.photo-editor input[type=url]{font-size:12px}.text-button{background:none;color:var(--muted);padding:10px 0;font-size:13px;min-height:44px}.photo-editor .small{margin:0}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 13px}.fields h3{font-size:16px;margin:22px 0 0}.span3{grid-column:1/-1}.fields input,.fields select{font-size:13px;min-height:44px}.editor-footer{display:flex;justify-content:space-between;align-items:center;position:sticky;bottom:0;z-index:2;padding:18px 32px;background:white;border-top:1px solid var(--line)}.detail-summary{display:flex;gap:24px;align-items:center;padding:2px 0 20px}.detail-summary strong{display:block;font-size:26px;white-space:nowrap;letter-spacing:-1px}.detail-summary p{font-size:13px;color:var(--muted);margin:0}.dimension{display:grid;grid-template-columns:85px 1fr 28px;gap:12px;font-size:12px;align-items:center;margin-bottom:10px}.dimension meter{width:100%;height:10px}.dimension:last-child{margin-bottom:28px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1100px){.vehicle-card:only-child{max-width:405px}}@media(max-width:1100px){.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.app-header{height:70px}.brand{font-size:17px}.connection{max-width:125px;font-size:10px}.shell{padding-top:30px}.page-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:26px}h1{font-size:45px;letter-spacing:-2px}.intro{font-size:13px}.add-button{width:100%;justify-content:center}.workspace-toolbar{align-items:stretch;flex-direction:column;gap:12px}.tabs{justify-content:space-between}.tab{padding:10px 13px;gap:8px}.search{width:100%;background:white;border-radius:8px;padding:0 12px}.vehicle-grid{grid-template-columns:1fr;gap:22px}.section-heading h2{font-size:20px}.section-heading p{max-width:260px}.editor-header{padding:20px}.editor-body{padding:20px}.editor-footer{padding:15px 20px}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-editor{grid-template-columns:115px 1fr;gap:15px}.photo-preview{min-height:125px}.detail-summary{gap:16px}.detail-summary strong{font-size:22px}.vehicle-photo{aspect-ratio:1.55}.empty-state{padding:40px 20px}.empty-state h3{font-size:22px}}
.danger{color:var(--red)}[hidden]{display:none!important}body:has(dialog[open]){overflow:hidden}
.photo-editor{grid-template-columns:1fr}.photo-preview{aspect-ratio:16/9;min-height:0;width:100%;max-height:330px}.photo-editor>div+div{display:grid;grid-template-columns:1fr auto;gap:0 12px}.photo-editor h3,.photo-editor label:not(.upload-label),.photo-editor .small{grid-column:1/-1}.photo-editor .upload-label{justify-self:start}.photo-editor .text-button{grid-column:2;grid-row:4}.photo-editor input[type=url]{grid-column:1;grid-row:4}.photo-editor .small{margin-top:10px}
.photo-preview img{object-fit:contain;background:#e8edf3}

.header-tools{display:flex;align-items:center;gap:20px}.theme-toggle{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:9px;min-height:44px;padding:9px 13px;font-size:13px;font-weight:600;white-space:nowrap}
:root{color-scheme:light;--surface-soft:#edf2f8;--photo-bg:#e8edf3;--photo-ink:#56677a;--control-line:#c9d3df;--button-blue:#245ec7;--button-hover:#174da9;--tab-bg:#142e45;--tab-ink:#fff;--badge-bg:#fff;--badge-ink:#142e45;--notice-bg:#e5edf9;--notice-ink:#23436e}
:root[data-theme=dark]{color-scheme:dark;--navy:#dceaff;--blue:#90b9ff;--ink:#e9eff8;--muted:#afbed1;--bg:#101b28;--line:#334359;--white:#192838;--orange:#f4bd80;--red:#ffa6af;--surface-soft:#283c54;--photo-bg:#233449;--photo-ink:#bccbe0;--control-line:#50647d;--button-blue:#336cda;--button-hover:#285ac2;--tab-bg:#b9d3ff;--tab-ink:#132c4c;--badge-bg:#192838;--badge-ink:#e9eff8;--notice-bg:#263e5d;--notice-ink:#d2e3ff}
.brand-mark{background:var(--tab-bg);color:var(--tab-ink)}.primary{background:var(--button-blue)}.primary:hover{background:var(--button-hover)}.tab.active{background:var(--tab-bg);color:var(--tab-ink)}.vehicle-card,.empty-state,dialog,.editor-header,.editor-footer,input,select,textarea{background:var(--white);color:var(--ink)}.vehicle-card{border-color:var(--line)}.vehicle-photo,.photo-empty,.photo-preview img{background:var(--photo-bg)}.photo-empty,.photo-empty>span:first-child{color:var(--photo-ink)}.photo-badge{background:var(--badge-bg);color:var(--badge-ink)}.secondary,.icon-button,.empty-symbol{background:var(--surface-soft);color:var(--navy)}input,select,textarea,.photo-editor .upload-label,.empty-state{border-color:var(--control-line)}details{background:var(--bg)}.photo-editor .upload-label{color:var(--ink)}#notice:not(:empty){background:var(--notice-bg);color:var(--notice-ink)}:root[data-theme=dark] .photo-badge.draft{background:#513c25;color:#ffe0b5}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}.search input{background:transparent}.photo-editor .text-button{color:var(--muted)}
/* Only the body scrolls so the controls never cover fields. */
dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.editor-header,.editor-footer{position:static}.editor-body{overflow-y:auto;overscroll-behavior:contain;scroll-padding:24px;min-height:0}.editor-header{z-index:auto}.editor-footer{z-index:auto}body:has(dialog[open]){overflow:hidden}
@media(max-width:650px){.header-tools{gap:10px}.connection{max-width:100px}.theme-toggle{font-size:12px;padding:8px 10px}.search{background:var(--white)}}
@media(max-width:390px){.header-tools .connection{display:none}}
.recover-photo{grid-column:1/-1;justify-self:start;margin-top:12px}
