:root{--page:#fff;--surface:#fff;--soft:#f5f5f5;--ink:#000;--muted:#555;--border:#dedede;--navy:#000;--teal:#000;--button-bg:#000;--button-text:#fff;color:var(--ink);background:var(--page)}
:root[data-theme="dark"]{--page:#000;--surface:#101010;--soft:#191919;--ink:#fff;--muted:#bdbdbd;--border:#363636;--navy:#fff;--teal:#fff;--button-bg:#fff;--button-text:#000}
body,main,.shell,.login-panel,.tracking{background:var(--page);color:var(--ink)}
header,aside,.login-story{background:var(--page);color:var(--ink)}
aside{border-right:1px solid var(--border)}
.brand{font-family:"Helvetica Neue","Helvetica",Arial,sans-serif;font-size:clamp(22px,2.8vw,36px);font-weight:200;letter-spacing:.065em;line-height:1.1;color:var(--ink);white-space:nowrap}.brand small,.brand img{display:none}
h1,h2,h3,strong,label{color:var(--ink)}
.card,.tablebox,.timeline,.vehicle,dialog{background:var(--surface);color:var(--ink);border-color:var(--border)}
button,.button{background:var(--button-bg);color:var(--button-text)}
button.secondary,button.quiet{background:transparent;color:var(--ink);border-color:var(--border)}
input,select,textarea{background:var(--surface);color:var(--ink);border-color:var(--border)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
aside button{background:transparent;color:var(--muted)}aside button.active,.tabs button.active{background:var(--soft);color:var(--ink)}
aside .eyebrow,aside .foot,.login-story p,.login-story .eyebrow,.route-deco{color:var(--muted)}
.route-deco i{background:var(--border)}th,tbody tr:hover{background:var(--soft)}td{border-color:var(--border)}
.badge,.badge.inquiry,.badge.inquiry_done,.badge.delayed,.badge.cancelled{background:var(--soft);color:var(--ink);border:1px solid var(--border)}
.error,.danger{color:#b82323}:root[data-theme="dark"] .error,:root[data-theme="dark"] .danger{color:#ff9494}
#toast{background:var(--button-bg);color:var(--button-text)}.event{border-color:var(--border)}.event:before{border-color:var(--surface)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip,.leaflet-tooltip,.leaflet-bar a,.leaflet-control-attribution{background:var(--surface);color:var(--ink)}
.leaflet-control-attribution a{color:var(--ink)}.leaflet-tooltip{border-color:var(--border)}
.theme-switch{font-size:.8rem;white-space:nowrap;border:1px solid var(--border)!important;padding:9px 12px}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(max-width:680px){header{gap:12px}.brand{font-size:25px;letter-spacing:.04em}.topright{flex-wrap:wrap}.theme-switch{font-size:.75rem}aside{border-right:0;border-bottom:1px solid var(--border)}}

/* Compact controls keep translated headers on one line without shrinking tap targets. */
.theme-icon,.logout-icon{display:none}
header .brand{min-width:0;flex-shrink:1}
header .topright{flex-shrink:0}
@media(max-width:900px){header{padding-inline:16px;gap:10px}.topright{gap:8px}.topright .username{display:none}}
@media(max-width:680px){
 header{height:64px;min-height:64px;padding:8px 10px;gap:6px;flex-wrap:nowrap}
 header .brand{font-size:clamp(12px,3.8vw,25px);letter-spacing:.02em;white-space:nowrap}
 header .topright{gap:4px;flex-wrap:nowrap}
 header .topright .theme-switch,header .topright .logout-button{width:40px;height:44px;min-width:40px;padding:0;flex:none}
 .theme-label,.logout-label{display:none}.theme-icon{display:block;font-size:23px;line-height:1}.logout-icon{display:block}
 header .topright select{width:86px;min-width:0;height:44px;padding:6px;font-size:14px}
 aside{gap:4px;overscroll-behavior-x:contain}aside button{flex:0 0 auto;min-height:44px;font-size:clamp(12px,3.4vw,14px)}
 .tablebox table{min-width:620px}.tablebox{max-width:100%;overscroll-behavior-x:contain}
 .tablebox td,.tablebox th{padding:12px}.tablebox td:last-child button{white-space:nowrap}
}

header .brand{display:block;overflow:hidden;text-overflow:ellipsis}
.dealer-branding{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.dealer-branding>div{min-width:0}.dealer-branding button{flex-shrink:0}
@media(max-width:680px){.dealer-branding{align-items:flex-start;flex-direction:column}}
.inventory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}.keyword-choice{display:flex;align-items:center;gap:8px;margin:8px 0}.keyword-choice input{width:20px;min-height:20px}.upload-input{width:100%;max-width:220px;font-size:12px;background:var(--surface);color:var(--ink)}
.stock-actions{flex-wrap:wrap}.inventory-grid .details{align-items:start}.inventory-grid .pre{overflow-wrap:anywhere}

/* Dedicated inquiry photo uploader, kept separate from the details form values. */
.photo-upload{border:1px solid var(--border);border-radius:12px;margin-top:24px;padding:20px;min-width:0}
.photo-upload p{margin:10px 0;overflow-wrap:anywhere}.photo-input{width:100%;max-width:100%;margin-top:8px;font:inherit;padding:12px;box-sizing:border-box}
.photo-results{padding-left:22px;overflow-wrap:anywhere;max-height:220px;overflow:auto}.photo-link{display:inline-flex;margin-top:12px;white-space:normal;overflow-wrap:anywhere;max-width:100%}
.photo-upload [hidden]{display:none!important}.photo-upload .actions{flex-wrap:wrap}.photo-status{font-size:.9rem}
@media(max-width:680px){.photo-upload{padding:14px}.photo-upload .actions button{max-width:100%;white-space:normal}}

/* Four-column inventory summary. Full details and staff actions open from the model. */
.tablebox .stock-table{width:100%;min-width:0;table-layout:fixed}
.stock-table .stock-model-col{width:38%}.stock-table .stock-condition-col{width:26%}
.stock-table th,.stock-table td{padding:16px;vertical-align:middle;overflow-wrap:anywhere}
.stock-table .stock-model{display:block;width:100%;padding:0;min-width:0;text-align:left;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:normal}
.stock-table .stock-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.stock-table th{font-size:.85rem}.stock-table td{font-size:.95rem;line-height:1.5}
@media(max-width:680px){.stock-table th,.stock-table td{padding:12px 8px}.stock-table th{font-size:12px}.stock-table td{font-size:13px}.stock-table .stock-model-col{width:34%}.stock-table .stock-condition-col{width:28%}}

.stock-filters{display:grid;grid-template-columns:1fr 1.3fr 1fr 2fr;gap:16px;align-items:start;margin:24px 0 12px}
.stock-filters>label{margin:0;min-width:0}.stock-filters input,.stock-filters select{width:100%;min-width:0;box-sizing:border-box;font:inherit}
.stock-mileage{border:0;padding:0;margin:0;min-width:0}.stock-mileage legend{padding:0;margin-bottom:8px;font-weight:600;color:var(--ink)}
.stock-mileage>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stock-mileage label{margin:0;font-size:.8rem;min-width:0}
.stock-filter-footer{margin-bottom:16px;gap:12px;flex-wrap:wrap}
@media(max-width:1000px){.stock-filters{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.stock-filters{grid-template-columns:1fr}.stock-filter-footer button{white-space:normal}}
.stock-mileage legend{font-size:.875rem;margin-bottom:7px}.stock-mileage label{position:relative;display:block;font-size:.875rem}
.stock-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}
.stock-filters>label,.stock-mileage{align-self:end}.stock-table th{white-space:normal}
.city-import-tools{margin-bottom:20px}.city-import-tools .row{flex-wrap:wrap;align-items:end}.city-import-tools label{min-width:0;max-width:100%}.city-import-tools .help{margin-top:12px}
.city-import-preview{max-height:55vh;overflow:auto;margin:18px 0}.city-import-preview td{overflow-wrap:anywhere}.city-import-preview .error{margin-bottom:10px}
@media(max-width:680px){.city-import-tools .button{white-space:normal}.city-import-tools input{max-width:100%}}

/* Keep import status and submission outside the scrolling rows. */
dialog.city-import-dialog[open]{display:flex;flex-direction:column;gap:16px;width:min(1000px,calc(100vw - 24px));height:min(780px,90vh);height:min(780px,90dvh);max-height:90dvh;overflow:hidden}
.city-preview-header,.city-preview-footer{flex:none;min-width:0}.city-preview-header .row{flex-wrap:nowrap}.city-preview-header h2{min-width:0;overflow-wrap:anywhere}
.city-preview-notice{margin:10px 0;padding:10px 12px;background:var(--soft);border-radius:6px;font-size:.875rem}
.city-import-dialog .city-import-preview{flex:1;min-height:0;max-height:none;margin:0;overflow:auto;overscroll-behavior:contain}
.city-preview-footer{border-top:1px solid var(--border);padding-top:12px;background:var(--surface)}.city-preview-footer .actions{flex-wrap:wrap;margin-top:8px}.city-preview-footer button:disabled{cursor:not-allowed}
.city-error-row{padding:12px 0;border-bottom:1px solid var(--border)}.city-import-preview table{min-width:680px}.city-import-preview td:nth-last-child(-n+2){white-space:nowrap}
@media(max-width:680px){dialog.city-import-dialog[open]{padding:16px;gap:10px}.city-preview-footer .actions{display:grid;grid-template-columns:1fr 1fr}.city-preview-footer button{padding:10px;white-space:normal}.city-preview-header h2{font-size:1.1rem}}

.pagination-hidden{display:none!important}
.list-pagination{margin:14px 0;max-width:100%;color:var(--ink);font-size:.875rem}
.pagination-summary{color:var(--muted);margin-bottom:10px;overflow-wrap:anywhere}
.pagination-controls,.pagination-pages,.list-pagination form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.pagination-controls{justify-content:space-between;gap:12px}.list-pagination form{margin:0}.list-pagination label{font-size:.8rem}
.list-pagination input{width:84px;min-width:0;min-height:40px;padding:8px}.list-pagination button{padding:9px 12px;min-height:40px;font-size:.8rem;white-space:normal}
.list-pagination button:disabled{cursor:not-allowed}.list-pagination .pagination-pages{align-items:center}
.timeline .list-pagination,.mini-timeline .list-pagination{position:sticky;bottom:0;background:var(--surface);padding-top:10px}
@media(max-width:680px){.pagination-controls{justify-content:flex-start}.pagination-pages{width:100%;justify-content:space-between;order:3}.list-pagination .pagination-pages button{flex:1;padding:9px 6px}.list-pagination input{width:72px}}

.fleet-filters{flex-wrap:wrap;align-items:end}.fleet-filters>label{flex:1;min-width:180px}.fleet-filters input{max-width:none}
.fleet-map{height:clamp(320px,55vh,650px);margin:12px 0 24px}
.fleet-pin{display:grid;place-items:center;background:var(--button-bg);color:var(--button-text);border:2px solid var(--page);border-radius:50%;font-size:12px;font-weight:700;box-shadow:0 2px 8px #0004}
.fleet-popup{max-height:280px;overflow:auto;overflow-wrap:anywhere}.fleet-popup article{padding:10px 0;border-top:1px solid var(--border)}.fleet-popup p{margin:6px 0}.fleet-popup button{font-size:12px}
.inquiry-extra-links{display:grid;gap:12px;margin:12px 0}
@media(max-width:680px){.fleet-filters>label{min-width:0;flex-basis:100%}.fleet-map{height:380px}}
