:root { --ink:#142019; --muted:#66736b; --line:#dce3de; --paper:#f4f7f4; --card:#fff; --green:#174c36; --lime:#d8f247; --orange:#ef742c; --shadow:0 18px 45px rgba(25,50,37,.10); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; font-size:16px; }
a { color:inherit; }
button,input,select,textarea { font:inherit; }
.topbar { min-height:72px; padding:0 max(24px,calc((100vw - 1400px)/2)); display:flex; align-items:center; justify-content:space-between; gap:16px 24px; background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; }
.brand { display:flex; align-items:center; gap:10px; font-size:1.22rem; font-weight:850; text-decoration:none; letter-spacing:-.03em; flex-shrink:0; }
.brand > span:last-child > span { color:var(--orange); }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:12px 12px 12px 4px; color:#fff; background:var(--green); font-size:.75rem; letter-spacing:.05em; }
.header-search { display:flex; align-items:center; flex:1 1 180px; max-width:320px; min-width:140px; position:relative; }
.header-search input { width:100%; min-height:40px; padding:0 40px 0 13px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--paper); font-size:.88rem; font-weight:650; }
.header-search input::-webkit-search-decoration,
.header-search input::-webkit-search-cancel-button { -webkit-appearance:none; appearance:none; }
.header-search input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(23,76,54,.12); }
.header-search button { position:absolute; right:4px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:32px; height:32px; padding:0; border:0; border-radius:8px; color:var(--muted); background:transparent; cursor:pointer; }
.header-search button:hover { color:var(--green); background:#e8eee9; }
.header-search svg { display:block; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
nav { display:flex; align-items:center; gap:24px; }
.topbar nav { margin-left:auto; flex-shrink:0; }
nav a,.text-button { color:#4b5850; font-size:.92rem; font-weight:700; text-decoration:none; background:none; border:0; cursor:pointer; }
nav .active { color:var(--green); }
.count { display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 5px; margin-left:3px; border-radius:10px; background:#e4e9e6; font-size:.72rem; }
.count.dark { background:rgba(255,255,255,.18); color:#fff; }
.watchlist-button { border:0; border-radius:10px; padding:10px 14px; color:#fff; background:var(--green); font-weight:750; cursor:pointer; }
main { width:min(1400px,calc(100% - 48px)); margin:0 auto; }
.search-panel { margin:32px 0 22px; padding:28px; border-radius:20px; color:#fff; background:linear-gradient(125deg,#123b2b,#1d5b41); box-shadow:var(--shadow); }
.search-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.eyebrow { margin:0 0 7px; color:var(--lime); font-size:.75rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(2rem,4vw,3.35rem); line-height:1; letter-spacing:-.055em; }
.scope { margin:0; color:#c9d8cf; font-size:.9rem; }
.filters { display:grid; grid-template-columns:2fr repeat(4,1fr) auto auto; gap:12px; align-items:end; }
.panel-forms { display:grid; gap:16px; }
.panel-split { height:1px; background:rgba(255,255,255,.16); }
.lot-search { grid-template-columns:minmax(0,1fr) auto; }
.lot-search .wide { grid-column:auto; }
.catalog-filters { grid-template-columns:1fr .75fr .9fr auto; }
.filter-note { margin:12px 0 0; color:#f3d7a2; font-size:.85rem; font-weight:650; }
label { display:grid; gap:7px; color:#d7e1db; font-size:.78rem; font-weight:750; }
input,select { width:100%; min-height:46px; padding:0 13px; border:1px solid rgba(255,255,255,.18); border-radius:10px; color:#17221b; background:#fff; outline:none; }
input:focus,select:focus { box-shadow:0 0 0 3px rgba(216,242,71,.35); }
.primary,.secondary { min-height:46px; padding:0 18px; border-radius:10px; font-weight:850; cursor:pointer; white-space:nowrap; }
.primary { border:1px solid var(--lime); color:#203016; background:var(--lime); }
.secondary { border:1px solid rgba(255,255,255,.35); color:#fff; background:rgba(255,255,255,.08); }
.catalog { padding-bottom:60px; }
.result-bar { display:flex; justify-content:space-between; align-items:center; min-height:44px; margin-bottom:10px; color:var(--muted); font-size:.9rem; }
.result-bar strong { color:var(--ink); font-size:1rem; }
.result-bar a { color:var(--green); font-weight:750; }
.vehicle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.vehicle-card { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--card); box-shadow:0 5px 16px rgba(25,50,37,.04); transition:.18s ease; }
.vehicle-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.photo { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:#dce3de; }
.photo img,.detail-photo img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.vehicle-card:hover .photo img { transform:scale(1.025); }
.source,.condition { position:absolute; top:12px; padding:6px 9px; border-radius:8px; font-size:.72rem; font-weight:850; box-shadow:0 3px 10px rgba(0,0,0,.16); }
.source { left:12px; color:#fff; background:#1769aa; }
.source.iaai { background:#cc382f; }
.condition { right:12px; color:#153321; background:#dff7e6; }
.card-body { padding:18px; }
.title-row { display:flex; justify-content:space-between; gap:10px; }
.lot { margin:0 0 5px; color:var(--muted); font-size:.72rem; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.title-row h2 { margin:0; font-size:1.17rem; letter-spacing:-.025em; }
.title-row h2 a { text-decoration:none; }
.trim { margin:3px 0 0; color:var(--muted); font-size:.85rem; }
.watch { flex:0 0 38px; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; color:var(--green); background:#fff; font-size:1.25rem; cursor:pointer; }
.watch.watched { border-color:#f0bf2e; color:#b27900; background:#fff8dd; }
.lot-actions { display:flex; gap:6px; align-items:flex-start; }
.lot-actions form { margin:0; }
.hide-lot { flex:0 0 38px; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; color:var(--muted); background:#fff; font-size:1rem; cursor:pointer; }
.hide-lot:hover, .hide-lot.hidden-on { color:#8a2f2f; border-color:#e3b6b6; background:#fff4f4; }
.lot-actions-detail { display:grid; gap:10px; margin-bottom:12px; }
.hide-detail { width:100%; min-height:46px; border:1px solid var(--line); border-radius:10px; color:var(--muted); background:#fff; font-weight:750; cursor:pointer; }
.hide-detail:hover, .hide-detail.hidden-on { color:#8a2f2f; border-color:#e3b6b6; background:#fff4f4; }
.run-cell { font-weight:850; font-variant-numeric:tabular-nums; white-space:nowrap; }
.condition.unknown { color:#4b5850; background:#e7ebe8; }
.condition.stationary { color:#5c3a12; background:#ffe4c2; }
.specs { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:15px 0; margin:16px 0 0; border-top:1px solid var(--line); }
.specs div { min-width:0; }
dt { color:var(--muted); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
dd { margin:4px 0 0; font-size:.88rem; font-weight:700; }
.sale-row { display:flex; align-items:end; justify-content:space-between; gap:15px; padding-top:15px; border-top:1px solid var(--line); }
.sale-prices, .bid-prices { display:flex; gap:22px; min-width:0; flex-wrap:wrap; }
.sale-row span,.bid-box span { display:block; color:var(--muted); font-size:.72rem; }
.sale-row strong { display:block; margin-top:2px; font-size:1.35rem; }
.sale-time { text-align:right; }
.sale-time strong { font-size:.78rem; }
.empty-state { padding:80px 20px; text-align:center; border:1px dashed #bbc8c0; border-radius:16px; background:#fff; }
.empty-state h2 { margin:0; }.empty-state p { color:var(--muted); }.link-button { display:inline-flex; align-items:center; text-decoration:none; }
.toast { position:fixed; left:50%; bottom:24px; z-index:30; padding:13px 18px; border-radius:10px; color:#fff; background:#142019; box-shadow:var(--shadow); opacity:0; transform:translate(-50%,15px); pointer-events:none; transition:.2s ease; }
.toast.visible { opacity:1; transform:translate(-50%,0); }
.detail { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr); gap:24px; margin:36px 0 60px; }
.detail-photo { position:relative; height:510px; overflow:hidden; border-radius:20px; background:#dce3de; box-shadow:var(--shadow); }
.photo-slider { display:grid; gap:10px; min-width:0; }
.slider-nav { position:absolute; top:50%; z-index:2; display:grid; place-items:center; width:44px; height:44px; margin-top:-22px; padding:0; border:0; border-radius:50%; color:#fff; background:rgba(20,32,25,.72); cursor:pointer; }
.slider-nav svg { display:block; width:22px; height:22px; }
.slider-nav:hover { background:var(--green); }
.slider-nav.prev { left:12px; }
.slider-nav.next { right:12px; }
.slider-count { position:absolute; right:12px; bottom:12px; z-index:2; padding:6px 10px; border-radius:8px; color:#fff; background:rgba(20,32,25,.72); font-size:.78rem; font-weight:750; }
.slider-thumbs { display:flex; gap:8px; overflow-x:auto; padding:2px 2px 6px; }
.slider-thumbs .gallery-thumb { flex:0 0 88px; width:88px; height:64px; margin:0; border:2px solid transparent; }
.slider-thumbs .gallery-thumb.active { border-color:var(--green); }
.detail-info { padding:28px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.detail-info h1 { font-size:clamp(2.2rem,4vw,3.5rem); }
.detail-trim { margin:9px 0 25px; color:var(--muted); font-size:1.05rem; }
.bid-box { padding:20px; margin-bottom:14px; border-radius:14px; background:#edf2ee; }
.bid-box strong { display:block; font-size:2.4rem; letter-spacing:-.04em; }
.bid-box small { display:block; margin-top:8px; color:var(--muted); }
.watch-detail { width:100%; }.watch-detail.watched { color:#fff; border-color:var(--green); background:var(--green); }
.demo-note { color:var(--muted); font-size:.8rem; line-height:1.45; }
.detail-specs { grid-column:1/-1; }
.detail-specs h2 { margin:0 0 14px; }
.detail-spec-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start; }
.detail-spec-card { padding:22px 24px 16px; border:1px solid var(--line); border-radius:20px; background:#fff; min-width:0; }
.detail-spec-card.is-wide { grid-column:1/-1; }
.detail-spec-card h3 { margin:0 0 6px; color:var(--green); font-size:.75rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.detail-spec-card dl { display:grid; margin:0; }
.detail-spec-card dl div { display:grid; grid-template-columns:minmax(108px,34%) minmax(0,1fr); gap:10px 16px; align-items:baseline; padding:9px 0; border-bottom:1px solid var(--line); }
.detail-spec-card dl div:last-child { border-bottom:0; }
.detail-spec-card dd { margin:0; font-size:.95rem; }
.detail-spec-card dd a { color:var(--green); font-weight:800; text-decoration:none; }
.detail-spec-card dd a:hover { text-decoration:underline; }
.detail-spec-note { margin:8px 0 0; color:var(--ink); font-size:.92rem; font-weight:650; line-height:1.5; }
.detail-runs.run-and-drive { color:var(--green); }
.detail-runs.starts { color:#8a5a12; }
.detail-runs.stationary { color:#8a2f2f; }
.standalone { margin:60px auto; max-width:700px; }
@media (max-width:1100px) { .topbar { flex-wrap:wrap; }.header-search { max-width:none; }.filters { grid-template-columns:repeat(3,1fr); }.filters .wide { grid-column:span 2; }.lot-search { grid-template-columns:minmax(0,1fr) auto; }.lot-search .wide { grid-column:auto; }.catalog-filters { grid-template-columns:repeat(3,1fr) auto; }.vehicle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .topbar { padding:12px 18px; flex-wrap:wrap; }.brand { order:1; }.topbar nav { order:2; gap:10px; flex-wrap:wrap; margin-left:auto; }.header-search { order:3; flex:1 1 100%; max-width:none; min-width:0; }.watchlist-button { padding:9px 11px; } main { width:min(100% - 28px,1400px); }.search-panel { margin-top:18px; padding:20px; }.search-heading { display:block; }.scope { margin-top:12px; }.filters { grid-template-columns:1fr 1fr; }.filters .wide { grid-column:1/-1; }.lot-search { grid-template-columns:minmax(0,1fr) auto; }.lot-search .wide { grid-column:auto; }.catalog-filters { grid-template-columns:1fr 1fr; }.primary,.secondary { white-space:normal; }.vehicle-grid { grid-template-columns:1fr; }.detail { grid-template-columns:1fr; margin-top:18px; }.detail-photo { height:280px; }.slider-nav { width:38px; height:38px; margin-top:-19px; }.detail-specs { grid-column:auto; }.detail-spec-grid { grid-template-columns:1fr; }.sale-head h1 { font-size:2rem; } }
@media (max-width:480px) { .filters { grid-template-columns:1fr; }.filters .wide { grid-column:auto; }.lot-search,.catalog-filters { grid-template-columns:1fr; }.brand > span:last-child { display:none; }.search-heading h1 { font-size:2.25rem; }.specs { grid-template-columns:1fr; }.detail-spec-card dl div { grid-template-columns:1fr; gap:2px; }.sale-row { align-items:flex-start; flex-direction:column; }.sale-time { text-align:left; }.chips { overflow:auto; flex-wrap:nowrap; } }

.sample-banner { margin:0; padding:10px 24px; text-align:center; background:#fff6d8; color:#5c4a12; font-size:.85rem; font-weight:650; border-bottom:1px solid #ead89a; }
.sample-banner code { font-size:.8rem; }
.search-filters { display:grid; gap:12px; }
.search-main { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:end; }
.search-advanced { min-width:0; }
.search-advanced > summary { display:inline-flex; align-items:center; gap:8px; min-height:36px; color:var(--lime); font-size:.85rem; font-weight:750; cursor:pointer; user-select:none; list-style:none; }
.search-advanced > summary:hover { color:#fff; }
.search-advanced > summary::-webkit-details-marker { display:none; }
.search-advanced > summary::marker { content:""; }
.search-advanced > summary::before { content:""; width:0; height:0; border-top:5px solid transparent; border-bottom:5px solid transparent; border-left:6px solid currentColor; }
.search-advanced[open] > summary::before { border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid currentColor; border-bottom:0; }
.search-advanced-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:end; margin-top:12px; }
.search-filters .check span { display:flex; align-items:center; gap:8px; min-height:46px; color:#fff; font-size:.85rem; font-weight:700; }
.search-filters .check input { width:auto; min-height:0; }
.past-tag { display:inline-block; margin-left:6px; padding:2px 7px; border-radius:6px; background:#ece6db; color:#6a5a3a; font-size:.68rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; vertical-align:middle; }
.nlr-tag { display:inline-block; margin-left:6px; padding:2px 7px; border-radius:6px; background:#dff7e6; color:#174c36; font-size:.68rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; vertical-align:middle; }
.sale-type-tag { display:inline-block; margin-left:6px; padding:2px 7px; border-radius:6px; font-size:.68rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; vertical-align:middle; }
.sale-type-tag.pure_sale { background:#d8f247; color:#153321; }
.sale-type-tag.on_approval { background:#ffe4c2; color:#5c3a12; }
.sale-type-tag.minimum_bid { background:#e4eaf6; color:#1e3358; }
.nlr-badge { position:absolute; left:12px; bottom:12px; z-index:1; padding:6px 9px; border-radius:8px; color:#153321; background:#d8f247; font-size:.72rem; font-weight:850; box-shadow:0 3px 10px rgba(0,0,0,.16); }
.nlr-note { margin:10px 0 0; color:var(--green); font-size:.88rem; font-weight:750; }
.sale-type-callout { margin-top:14px; padding:12px 14px; border-radius:10px; }
.bid-box .sale-type-callout strong { display:block; font-size:1.05rem; letter-spacing:0; }
.sale-type-callout span { display:block; margin-top:4px; font-size:.88rem; font-weight:650; line-height:1.35; color:inherit; }
.sale-type-callout.pure_sale { background:#d8f247; color:#153321; }
.sale-type-callout.on_approval { background:#ffe4c2; color:#5c3a12; }
.sale-type-callout.minimum_bid { background:#e4eaf6; color:#1e3358; }
.outbound .link-button { justify-content:center; }
.search-main .wide { grid-column:auto; }
.auction-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.auction-card { display:block; padding:22px; border:1px solid var(--line); border-radius:16px; background:#fff; text-decoration:none; }
.auction-card:hover { border-color:#b7c7bd; }
.auction-card.live { border-color:#8fb56a; background:#f4f8ef; }
.auction-card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.auction-card .source { position:static; box-shadow:none; }
.auction-when { color:var(--muted); font-size:.8rem; font-weight:700; }
.live-badge { padding:4px 8px; border-radius:999px; background:var(--green); color:#fff; font-size:.68rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.auction-card h2 { margin:0 0 6px; font-size:1.45rem; letter-spacing:-.03em; }
.auction-card p { margin:0; color:var(--muted); }
.auction-card-meta { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-top:18px; padding-top:14px; border-top:1px solid var(--line); font-size:.9rem; }
.auction-card-lots { min-width:0; }
.auction-lot-hint { display:block; margin-top:4px; color:var(--muted); font-size:.8rem; font-weight:550; line-height:1.4; }
.sale-slot { margin-bottom: 8px; }
.sale-slot-head { position:sticky; top:72px; z-index:10; display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin:22px 0 12px; padding:10px 0; background:var(--paper); }
.sale-slot-head h2 { margin:0; font-size:1.2rem; letter-spacing:-.03em; display:flex; align-items:center; gap:10px; }
.sale-slot-head > span { color:var(--muted); font-size:.88rem; font-weight:650; }
.later-sales { margin-top:36px; padding-top:8px; border-top:1px solid var(--line); }
.empty-state.compact { padding:36px 20px; margin-bottom:12px; }
.sale-head { margin:32px 0 18px; }
.sale-head .detail-trim { color:#c9d8cf; }
.sale-head .toolbar { margin-bottom:0; }
.sale-head .toolbar label { color:#d7e1db; }
.sale-head .text-button { color:#c9d8cf; }
.sale-head .chip { color:var(--ink); }
.sale-head .chip.active { color:#203016; border-color:var(--lime); background:var(--lime); }
.sale-title-row { display:flex; justify-content:space-between; gap:16px; align-items:end; margin-bottom:18px; }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.chip { padding:8px 12px; border:1px solid var(--line); border-radius:999px; background:#fff; font-size:.82rem; font-weight:750; text-decoration:none; }
.chip.active { color:#fff; border-color:var(--green); background:var(--green); }
.toolbar { display:flex; gap:12px; margin-bottom:12px; }
.toolbar label { color:var(--muted); }
.view-toggle { display:flex; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#fff; }
.view-toggle a { padding:8px 12px; font-size:.8rem; font-weight:750; text-decoration:none; color:var(--muted); }
.view-toggle a.active { color:#fff; background:var(--green); }
.view-toggle.compact { display:inline-flex; }
.result-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.inline-form { display:inline; }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:16px; background:#fff; }
.workbench { width:100%; border-collapse:collapse; }
.workbench th { padding:12px 10px; text-align:left; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); background:#f7faf7; }
.workbench td { padding:10px; border-top:1px solid var(--line); vertical-align:middle; }
.workbench .num { font-weight:800; white-space:nowrap; }
.workbench td.watch-meta-cell { min-width:220px; vertical-align:top; }
.watch-meta { display:grid; gap:8px; }
.watch-meta label { color:var(--muted); font-size:.68rem; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.watch-meta input, .watch-meta textarea { width:100%; min-height:38px; padding:0 10px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#fff; }
.watch-meta textarea { min-height:88px; padding:8px 10px; resize:vertical; }
.watch-meta input:focus, .watch-meta textarea:focus { outline:none; box-shadow:0 0 0 3px rgba(23,76,54,.16); }
.watch-meta.is-under .watch-target-label input { border-color:#8fb56a; background:#f4f8ef; }
.watch-meta.is-over .watch-target-label input { border-color:#e3b6b6; background:#fff4f4; }
.watch-target-hint { margin:0; color:var(--muted); font-size:.8rem; font-weight:650; letter-spacing:0; text-transform:none; }
.watch-meta-actions { display:flex; align-items:center; gap:10px; }
.watch-meta-save { min-height:34px; padding:0 12px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--green); font-size:.8rem; font-weight:750; cursor:pointer; }
.watch-meta-save:hover { border-color:var(--green); }
.watch-meta.is-saving .watch-meta-save, .watch-meta.is-saved .watch-meta-save, .watch-meta-js .watch-meta-save { display:none; }
.watch-meta-status { color:var(--muted); font-size:.78rem; font-weight:700; min-height:1em; }
.watch-meta.is-saved .watch-meta-status { color:var(--green); }
.watch-meta.is-error .watch-meta-status { color:#8a2f2f; }
.watch-meta-table { min-width:200px; }
.watch-meta-panel { margin-top:4px; padding:16px; border:1px solid var(--line); border-radius:14px; background:#edf2ee; }
.watch-meta-panel[hidden] { display:none; }
.watch-meta-panel h2 { margin:0 0 12px; font-size:1rem; }
.watch-meta-detail label { color:var(--ink); font-size:.78rem; letter-spacing:0; text-transform:none; }
.watch-filter-chips { margin:0; }
.watch-meta-table .watch-notes-label input { min-width:160px; }
.thumb-cell img { width:72px; height:48px; object-fit:cover; border-radius:6px; background:#dce3de; }
.row-title { font-weight:800; text-decoration:none; }
.row-meta { color:var(--muted); font-size:.78rem; }
.source-inline { display:inline-block; padding:3px 7px; border-radius:6px; color:#fff; background:#1769aa; font-size:.7rem; font-weight:800; }
.source-inline.iaai { background:#cc382f; }
.page-head { margin:32px 0 8px; }
.eyebrow.ink { color:var(--green); }
.lede { color:var(--muted); max-width:42rem; }
.hunt-list { display:grid; gap:12px; }
.hunt-card { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:18px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.hunt-card h2 { margin:0 0 6px; font-size:1.1rem; }
.hunt-card p { margin:0; color:var(--muted); font-size:.85rem; word-break:break-all; }
.hunt-card-actions { display:flex; flex-direction:column; align-items:flex-end; gap:10px; flex-shrink:0; }
.alert-toggle { display:inline-flex; align-items:center; gap:10px; padding:0; border:0; background:none; color:var(--ink); font-size:.85rem; font-weight:750; cursor:pointer; white-space:nowrap; }
.alert-toggle .switch { position:relative; width:42px; height:24px; flex-shrink:0; border-radius:999px; background:#c5d0c8; }
.alert-toggle .switch::after { content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(20,32,25,.2); }
.alert-toggle.is-on .switch { background:var(--green); }
.alert-toggle.is-on .switch::after { left:21px; }
.alert-toggle.is-on { color:var(--green); }
.outbound { display:grid; gap:10px; margin-bottom:12px; }
.secondary-dark { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px; border:1px solid var(--line); border-radius:10px; font-weight:850; background:#fff; text-decoration:none; }
.detail-specs .vin-value { font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing:.04em; word-break:break-all; }
.gallery { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.gallery-thumb { width:88px; height:64px; padding:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; cursor:pointer; background:#dce3de; }
.gallery-thumb img { width:100%; height:100%; object-fit:cover; }
.history-block { margin:0 0 60px; }
.history-block h2 { margin:0 0 12px; }
.history-empty { margin:0; padding:22px; border:1px dashed #bbc8c0; border-radius:16px; background:#fff; color:var(--muted); }
.pager { display:flex; gap:6px; align-items:center; justify-content:center; flex-wrap:wrap; margin:28px 0 10px; }
.pager a, .pager span { min-width:38px; padding:8px 12px; border-radius:8px; text-align:center; font-weight:750; }
.pager a { color:var(--green); text-decoration:none; }
.pager a:hover { background:#e4ece6; }
.pager-page.is-current { color:#fff; background:var(--green); }
.pager-gap, .pager-nav.is-disabled { color:var(--muted); }
.photo-empty { display:grid; place-items:center; height:100%; color:var(--muted); }
.link-button.secondary { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
@media (max-width:1100px) { .search-advanced-grid { grid-template-columns:repeat(3,1fr); }.auction-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .search-advanced-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:480px) { .search-main,.search-advanced-grid { grid-template-columns:1fr; } }
.view-all-photos { position:absolute; left:12px; bottom:12px; z-index:2; display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border:0; border-radius:8px; color:#fff; background:rgba(20,32,25,.72); font-size:.78rem; font-weight:750; cursor:pointer; white-space:nowrap; }
.view-all-photos:hover { background:var(--green); }
.lightbox { position:fixed; inset:0; z-index:100; display:grid; grid-template-rows:1fr auto; background:rgba(10,16,12,.96); }
.lightbox[hidden] { display:none; }
.lightbox-backdrop { display:none; }
.lightbox-pan { position:relative; overflow:auto; cursor:grab; }
.lightbox-pan:active { cursor:grabbing; }
.lightbox-pan-inner { display:inline-block; min-width:100%; min-height:100%; position:relative; }
.lightbox-pan img { display:block; width:auto; height:auto; border-radius:0; }
.lightbox-bar { display:flex; align-items:center; gap:10px; padding:10px 14px; background:rgba(10,16,12,.85); border-top:1px solid rgba(255,255,255,.07); flex-shrink:0; }
.lightbox-nav { display:grid; place-items:center; width:40px; height:40px; flex-shrink:0; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.1); cursor:pointer; }
.lightbox-nav:hover { background:var(--green); }
.lightbox-nav svg { display:block; }
.lightbox-nav:disabled { opacity:.25; cursor:default; }
.lightbox-counter { color:rgba(255,255,255,.6); font-size:.78rem; font-weight:700; white-space:nowrap; }
.lightbox-thumbs { display:flex; gap:7px; overflow-x:auto; flex:1; padding:2px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.15) transparent; }
.lightbox-thumb { flex:0 0 66px; width:66px; height:48px; padding:0; border:2px solid transparent; border-radius:6px; overflow:hidden; background:#1a2e1e; cursor:pointer; opacity:.5; transition:opacity .15s,border-color .15s; }
.lightbox-thumb img { width:100%; height:100%; object-fit:cover; }
.lightbox-thumb:hover { opacity:.8; }
.lightbox-thumb.active { border-color:var(--green); opacity:1; }
.lightbox-close { position:absolute; top:16px; right:16px; z-index:3; display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:50%; color:#fff; background:rgba(10,16,12,.72); box-shadow:0 4px 20px rgba(0,0,0,.28); cursor:pointer; }
.lightbox-close:hover { background:#c0392b; }
.lightbox-hint { color:rgba(255,255,255,.3); font-size:.72rem; white-space:nowrap; flex-shrink:0; }

.flash { margin:0; padding:12px 24px; text-align:center; font-weight:650; border-bottom:1px solid var(--line); }
.flash.success { background:#dff7e6; color:#174c36; }
.flash.error { background:#fde8e8; color:#8a2f2f; }
.auth-wrap { display:flex; justify-content:center; padding:48px 0 80px; }
.auth-card { width:min(440px,100%); padding:32px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:var(--shadow); }
.auth-card h1 { font-size:2.1rem; }
.auth-card .lede { margin:10px 0 22px; }
.auth-form { display:grid; gap:14px; }
.auth-form label, .account-panel label { color:var(--ink); }
.auth-form .primary, .account-panel .primary { width:100%; }
.auth-links { margin:18px 0 0; color:var(--muted); font-size:.9rem; }
.auth-links a { color:var(--green); font-weight:750; text-decoration:none; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:18px 0; color:var(--muted); font-size:.8rem; font-weight:700; }
.auth-divider::before, .auth-divider::after { content:""; flex:1; height:1px; background:var(--line); }
.google-btn { display:flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px; border:1px solid var(--line); border-radius:10px; background:#fff; font-weight:750; text-decoration:none; }
.google-btn:hover { border-color:#b7c7bd; }
.form-message { padding:12px 14px; border-radius:10px; font-weight:650; }
.form-message.error { background:#fde8e8; color:#8a2f2f; }
.form-message.success { background:#dff7e6; color:#174c36; }
.hp { position:absolute; left:-9999px; height:0; overflow:hidden; }
.account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:12px 0 40px; }
.account-panel { padding:24px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.account-panel .secondary-dark { width:100%; cursor:pointer; }
.account-panel p { color:var(--muted); }
.account-logout { margin:0 0 60px; }
.backup-codes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0; list-style:none; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-weight:750; }
.totp-setup { max-width:440px; margin-bottom:60px; }
.totp-qr { width:180px; height:180px; margin:0 0 16px; }
.totp-secret { word-break:break-all; }
.totp-secret code { font-size:.95rem; }
@media (max-width:760px) {
    .account-grid { grid-template-columns:1fr; }
    .hunt-card { flex-direction:column; }
    .hunt-card-actions { align-items:flex-start; }
}
