/* © 2026 GT Automotive Group Ltd. All rights reserved. Confidential. */
/* Bidstock. Quiet and colourless: white, greys and near-black, in GT's
   Montserrat (Light, as on gtautomotivegroup.co.uk). Colour is only used to
   mean something: green = ready to bid, amber = check first, red = not bidding. */
:root{
  --ink:#1D2327; --ink-2:#3F474D; --muted:#80888E; --faint:#A9AFB4;
  --line:#E6E6E6; --line-2:#D9D9D9; --page:#F5F5F5; --card:#FFFFFF; --soft:#FAFAFA;
  --dark:#1D2327; --dark-2:#32373C;
  --good:#1E7D4E; --goodbg:#E6F4EC; --warn:#A35E0B; --warnbg:#FCF1E2; --bad:#B23B3B; --badbg:#FBEAEA;
  --r-lg:22px; --r-md:16px; --r-sm:12px;
  --shadow:0 1px 2px rgba(0,0,0,.03), 0 6px 22px rgba(0,0,0,.045);
  --shadow-hover:0 2px 6px rgba(0,0,0,.05), 0 16px 38px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--page);color:var(--ink);font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;font-weight:300;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
b,strong{font-weight:500}
a{color:var(--ink)}
h1,h2,h3{margin:0 0 8px;font-weight:300;text-transform:uppercase;letter-spacing:2.5px;color:var(--ink)}
h1{font-size:30px;line-height:1.2} h2{font-size:16px} h3{font-size:11px;color:var(--muted);font-weight:400}
.muted{color:var(--muted)} .small{font-size:13px}

/* header */
.bar{background:rgba(255,255,255,.9);backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.bar .in{max-width:1280px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:400;font-size:15px;letter-spacing:4px;text-transform:uppercase}
.brand .dot{width:30px;height:30px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;font-size:12px;letter-spacing:0;font-weight:500}
.bar nav{display:flex;gap:4px;flex-wrap:wrap}
.bar nav a{color:var(--muted);text-decoration:none;font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;font-weight:400;padding:8px 14px;border-radius:999px}
.bar nav a:hover{color:var(--ink)}
.bar nav a.cur{color:var(--ink);background:var(--page)}
.bar .right{margin-left:auto;display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted)}
.bar select{border-radius:999px;padding:7px 12px;border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;width:auto}
main{max-width:1280px;margin:0 auto;padding:36px 16px 96px}

/* surfaces */
.card{background:var(--card);border-radius:var(--r-lg);border:1px solid var(--line);padding:26px 28px;margin-bottom:18px}
.hero{background:#fff;border:1px solid var(--line);border-radius:28px;padding:38px 40px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap}
.hero h1{margin:0;font-size:34px}
.hero p{margin:8px 0 0;color:var(--muted);font-size:14px}
.eyebrow{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-weight:400}
.eyebrow.good{color:var(--good)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:0 0 24px}
.stat{background:#fff;border-radius:var(--r-md);border:1px solid var(--line);padding:18px 20px}
.stat .n{font-size:24px;font-weight:300;letter-spacing:-.01em}
.stat .l{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:1.6px;margin-top:2px}

/* buttons: pills, as on the website */
.pill,button.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 26px;border-radius:9999px;background:var(--dark);color:#fff;font:300 13px Montserrat,Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;border:0;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s}
.pill:hover{background:#000}
.pill.lt{background:#fff;color:#101010;border:1px solid var(--line-2)}
.pill.lt:hover{border-color:var(--ink);background:#fff}
.pill.white{background:var(--dark);color:#fff}
.pill.go{background:var(--good)} .pill.go:hover{background:#166B41}
.pill.sm{height:34px;padding:0 16px;font-size:11px}
.pill.xs{height:28px;padding:0 12px;font-size:10px;letter-spacing:1px}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* messages */
.msg{padding:12px 18px;border-radius:var(--r-md);margin-bottom:16px;background:#fff;border:1px solid var(--line);color:var(--ink-2)}
.msg.error{background:var(--badbg);color:var(--bad);border-color:transparent}
.msg.success{background:var(--goodbg);color:var(--good);border-color:transparent}
.msg.warning,.demo{background:var(--warnbg);color:var(--warn);border-color:transparent}
.demo{padding:12px 18px;border-radius:var(--r-md);margin-bottom:16px}
.replay{display:inline-block;background:#fff;border:1px solid var(--line);color:var(--ink-2);padding:9px 18px;border-radius:999px;margin-bottom:20px;font-size:13px}

/* chips and status */
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:5px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink-2);margin:0 6px 6px 0;white-space:nowrap}
.chip.bad{background:var(--badbg);color:var(--bad);border-color:transparent}
.chip.warn{background:var(--warnbg);color:var(--warn);border-color:transparent}
.chip.good{background:var(--goodbg);color:var(--good);border-color:transparent}
.v{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:500;padding:5px 11px;border-radius:999px;white-space:nowrap;text-transform:uppercase;letter-spacing:1.4px;background:#fff}
.v::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.v.bid,.v.chk{color:var(--good)}
.v.man,.v.quo{color:var(--warn)} .v.dnb{color:var(--bad)} .v.sup,.v.off{color:var(--muted)}

/* tabs, search, sort */
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 18px}
.tabs{display:inline-flex;gap:2px;background:#fff;padding:5px;border-radius:999px;border:1px solid var(--line);flex-wrap:wrap}
.tabs a{padding:9px 18px;border-radius:999px;color:var(--muted);text-decoration:none;font-size:11.5px;letter-spacing:1.4px;text-transform:uppercase}
.tabs a .c{margin-left:8px;color:var(--faint)}
.tabs a.cur{background:var(--dark);color:#fff} .tabs a.cur .c{color:#AEB4B9}
.search{display:block;position:relative;min-width:0}
.search input{padding-left:42px;border-radius:999px;height:44px}
.search svg{position:absolute;left:15px;top:13px;width:17px;height:17px;color:var(--muted)}

/* stock page: filters + car grid */
.stockwrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;align-items:start}
.filters{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;position:sticky;top:86px}
.filters h3{margin:0;padding:18px 20px;border-bottom:1px solid var(--line);color:var(--ink)}
.fgroup{padding:16px 20px;border-bottom:1px solid var(--line)}
.fgroup:last-child{border-bottom:0}
.fgroup .ft{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px;display:flex;justify-content:space-between}
.fgroup .ft span{text-transform:none;letter-spacing:0;color:var(--muted)}
.fgroup label.opt{display:flex;align-items:center;gap:10px;font-size:14px;padding:4px 0;color:var(--ink-2);cursor:pointer}
.fgroup label.opt .n{margin-left:auto;color:var(--faint);font-size:12px}
.fgroup input[type=range]{padding:0;border:0;accent-color:var(--ink)}
.sortbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.sortbar .count{color:var(--muted);font-size:14px}
.sortbar .count b{color:var(--ink);font-weight:400}
.sortbar select{width:auto;border-radius:999px;padding:9px 16px}
.cargrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.vcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s,opacity .2s}
.vcard:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.vcard .img{position:relative;height:140px;background:linear-gradient(180deg,#F7F7F7,#EFEFEF);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}
.vcard .mkbig{font-weight:200;font-size:40px;letter-spacing:8px;color:#C4C8CB;text-transform:uppercase}
.vcard .tag{position:absolute;top:14px;left:14px}
.vcard .tag .v{box-shadow:0 1px 4px rgba(0,0,0,.08)}
.plate{position:absolute;right:14px;bottom:14px;background:#fff;color:#111;border:1px solid #CFCFCF;border-radius:5px;padding:3px 10px;font:700 15px "Arial Narrow",Arial,sans-serif;letter-spacing:1.5px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.vcard .body{padding:18px 20px 14px;display:flex;flex-direction:column;gap:4px;flex:1}
.vcard .mk{font-size:15px;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;margin:0}
.vcard .mk a{text-decoration:none} .vcard .mk a:hover{text-decoration:underline}
.vcard .der{color:var(--muted);font-size:14px}
.vcard .icons{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.vcard .icons .chip{margin:0;font-size:12px;padding:4px 10px}
.vcard .icons svg{width:13px;height:13px;color:var(--faint)}
.meter{display:flex;align-items:center;gap:4px 10px;flex-wrap:wrap;margin:8px 0 2px;font-size:12.5px;color:var(--ink-2)}
.meter span{white-space:nowrap}
.meter .track{width:96px;height:4px;border-radius:999px;background:#ECECEC;overflow:hidden}
.meter .fill{height:100%;border-radius:999px;background:var(--ink)}
.vcard .why{margin-top:6px}
.vcard .foot{border-top:1px solid var(--line);padding:16px 20px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.vcard .foot .lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1.8px}
.vcard .foot .big{font-size:28px;font-weight:300;letter-spacing:-.01em;line-height:1.1}
.vcard .foot .none{font-size:18px;font-weight:300;color:var(--muted)}
.vcard .foot .side{text-align:right;font-size:12.5px;color:var(--ink-2);line-height:1.7}
.vcard .acts{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:0 20px 16px}
.vcard .acts details{flex:1}
.vcard.is-off{opacity:.55}
.vcard.is-off:hover{opacity:.9}
.head-pos{color:var(--good)} .head-neg{color:var(--bad)}
details.w summary{cursor:pointer;color:var(--ink-2);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;list-style:none;padding-top:7px}
details.w summary::-webkit-details-marker{display:none}
details.w summary::after{content:" +"} details.w[open] summary::after{content:" −"}
.wk{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;margin-top:10px;font-size:13px;display:grid;grid-template-columns:1fr;gap:3px}
.wk div{display:flex;justify-content:space-between;gap:10px}
.wk .tot{border-top:1px solid var(--line);margin-top:6px;padding-top:8px;font-weight:500}
.empty{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:36px;text-align:center;color:var(--muted)}
.bulk{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* tables */
.tablewrap{overflow-x:auto;background:#fff;border-radius:var(--r-lg);border:1px solid var(--line)}
table{border-collapse:collapse;width:100%}
th{font-size:10.5px;font-weight:400;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 14px;white-space:nowrap;border-bottom:1px solid var(--line)}
td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top}
tbody tr:first-child td{border-top:0}
td.n,th.n{text-align:right}

/* dashboard run cards */
.runs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.runcard{background:#fff;border-radius:var(--r-lg);border:1px solid var(--line);padding:20px 22px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s}
.runcard:hover{box-shadow:var(--shadow-hover)}
.runcard .top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.runcard .fn{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.runcard .nums{display:flex;gap:22px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px}
.runcard .nums b{display:block;color:var(--ink);font-size:20px;font-weight:300;letter-spacing:0;text-transform:none}

/* upload */
.drop{border:1px dashed var(--line-2);background:var(--soft);border-radius:var(--r-lg);padding:34px;text-align:center}
.drop input[type=file]{background:#fff;max-width:420px;margin:12px auto 0;display:block}

/* forms + setup */
.sec{background:#fff;border-radius:var(--r-lg);border:1px solid var(--line);margin-bottom:12px;overflow:hidden}
.sec>summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;gap:16px;align-items:center}
.sec>summary::-webkit-details-marker{display:none}
.sec>summary .ico{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);color:var(--ink-2);display:grid;place-items:center;font-size:12px;flex:none}
.sec>summary .tx{flex:1;min-width:0}
.sec>summary h2{margin:0;font-size:14px}
.sec>summary .muted{font-size:13px;display:block;text-transform:none;letter-spacing:0}
.sec>summary::after{content:"+";color:var(--muted);font-size:22px;font-weight:200}
.sec[open]>summary::after{content:"−"}
.sec .body{padding:20px 24px 22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px 24px;border-top:1px solid var(--line)}
.fld{display:flex;flex-direction:column;gap:6px}
.fld.wide{grid-column:1/-1}
.fld label{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-2)}
.fld .help{font-size:12px;color:var(--muted)}
.fld.err input,.fld.err select,.fld.err textarea{border-color:var(--bad);background:var(--badbg)}
input,select,textarea{font:inherit;font-weight:400;font-size:14px;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:10px 12px;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--ink);outline:none}
input[type=checkbox]{width:17px;height:17px;accent-color:var(--ink)}
input.num{text-align:right;max-width:170px}
table.mini th{border:0;padding:4px 6px} table.mini td{border:0;padding:4px 6px}
table.mini input,table.mini select{padding:7px 9px;font-size:13px;border-radius:10px}
table.mini input.num{max-width:120px}
td.c{text-align:center}
.grades{display:flex;gap:12px;flex-wrap:wrap}
.grades .g{font-size:11px;letter-spacing:1px;text-transform:uppercase;display:flex;flex-direction:column;gap:4px;color:var(--ink-2)}
.grades input{max-width:100px}
label.chk{display:inline-flex;gap:8px;align-items:center;margin:0 16px 6px 0;font-size:14px}
.savebar{position:sticky;bottom:14px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 8px 8px 20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;box-shadow:0 10px 30px rgba(0,0,0,.10);margin-top:18px;z-index:10}
.savebar input{max-width:460px;border-radius:999px;flex:1}
.kv{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.kv:last-of-type{border-bottom:0}
.kv label{font-size:14px}
.pickmakes{display:flex;flex-wrap:wrap;gap:8px}
.pickmakes label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;background:#fff;position:relative}
.pickmakes label:has(input:checked){background:var(--dark);color:#fff;border-color:var(--dark)}
.pickmakes label:has(input:checked) .n{color:#AEB4B9}
.pickmakes input{position:absolute;opacity:0;width:1px;height:1px}
.pickmakes .n{color:var(--faint);font-size:12px}
.login{max-width:420px;margin:80px auto}
.login .brand{margin-bottom:22px}

@media (max-width:980px){ .stockwrap{grid-template-columns:1fr} .filters{position:static} }
@media (max-width:640px){
  main{padding:20px 12px 80px}
  .bar .right{margin-left:0;width:100%;justify-content:space-between}
  .sec .body{grid-template-columns:1fr}
  .hero{padding:24px;border-radius:22px} .hero h1{font-size:26px}
  .savebar{border-radius:var(--r-lg)}
}
[hidden]{display:none!important}
.filters>summary{list-style:none;cursor:pointer}
.filters>summary::-webkit-details-marker{display:none}
.filters>summary h3::after{content:" +";color:var(--muted)}
.filters[open]>summary h3::after{content:" −"}

/* bid list: one car per row */
.listings{display:flex;flex-direction:column;gap:12px}
.lcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);display:grid;grid-template-columns:64px minmax(0,1fr) 250px;gap:20px;padding:20px 22px;transition:box-shadow .2s,opacity .2s}
.lcard:hover{box-shadow:var(--shadow-hover)}
.lcard.is-off{opacity:.5} .lcard.is-off:hover{opacity:.9}
.badge-mk{width:64px;height:64px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;font-size:14px;letter-spacing:2px;color:var(--ink-2);font-weight:400}
.lcard .top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.lcard .t{margin:0;font-size:16px;font-weight:300;letter-spacing:1.5px;text-transform:uppercase}
.lcard .t a{text-decoration:none} .lcard .t a:hover{text-decoration:underline}
.lcard .plate{position:static;font-size:13px;padding:2px 8px}
.lcard .specs{display:flex;flex-wrap:wrap}
.lcard .why{margin-top:4px}
.lcard details.w{margin-top:8px}
.lcard .wk{max-width:460px}
.lcard .price{border-left:1px solid var(--line);padding-left:20px;display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.lcard .price .lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1.8px}
.lcard .price .big{font-size:30px;font-weight:300;line-height:1.1}
.lcard .price .none{font-size:19px;font-weight:300;color:var(--muted)}
.lcard .price .row{font-size:13px;color:var(--ink-2)}
@media (max-width:860px){
  .lcard{grid-template-columns:48px minmax(0,1fr)}
  .badge-mk{width:48px;height:48px;font-size:11px}
  .lcard .price{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:12px}
}

.sitechecks{display:flex;flex-wrap:wrap;gap:6px 18px;margin:4px 0}
.chk{display:inline-flex;align-items:center;gap:6px;font-weight:400;text-transform:none;letter-spacing:0}
.planrow td{border-top:0;padding-top:0}
.planform{padding:8px 0 4px}
.legal{max-width:1180px;margin:40px auto 24px;padding:0 16px;font-size:11px;color:var(--muted);letter-spacing:.5px}
table.groups td{vertical-align:top}
table.groups td.fld{display:table-cell}
table.groups input{width:100%}
table.groups textarea{width:100%;resize:vertical;min-height:44px}
table.groups td.n{width:150px}
@media(max-width:600px){table.groups td.n{width:96px}}
#profitcard[data-unit="gbp"] .u-pct,#profitcard[data-unit="pct"] .u-gbp{display:none}
#profitcard[data-slide="1"] .if-noslide,#profitcard[data-slide="0"] .if-slide{display:none}
.fld label.chk{text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink);white-space:nowrap}
.pairs{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
@media(max-width:600px){.fld label.chk{white-space:normal}}
#profitcard[data-slide="0"] .pairs{display:none}
.bpick>summary{cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:14px;padding:11px 14px;font-size:14px;min-height:20px}
.bpick>summary::-webkit-details-marker{display:none}
.bpick[open]>summary{border-color:var(--ink-2)}
.bsum.none{color:var(--muted)}
.bpanel{padding:12px 4px 4px}
.qpicks{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 14px}
.bpick .more{margin-top:10px}
.bpick .more .bgrid{margin-top:8px}
.bgrid label.chk{justify-content:flex-start;text-align:left;display:flex;align-items:center;gap:8px}
.bgrid label.chk input{flex:none;margin:0}
.bgrid label.chk input[type=checkbox],.fld label.chk input{width:17px;min-width:17px;height:17px;padding:0}
.trims>summary{cursor:pointer;list-style:none}
.trims>summary::-webkit-details-marker{display:none}
.trims>summary::after{content:"+";float:right;font-weight:300;font-size:20px}
.trims[open]>summary::after{content:"\2212"}
.trimgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px 18px;margin-top:10px}
