:root{
  --bg:#07090e;
  --panel:#111722;
  --panel2:#171f2d;
  --line:#29364a;
  --text:#eef3f9;
  --muted:#98a6ba;
  --red:#ff3151;
  --green:#34d17f;
  --blue:#6293ff;
  --orange:#ff9d42;
}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:radial-gradient(circle at 83% 0,#1c2740 0,transparent 31%),radial-gradient(circle at 10% 45%,rgba(255,49,81,.08),transparent 28%),var(--bg);color:var(--text);font:15px/1.5 Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
a{color:#a9c5ff;text-decoration:none}
a:hover{color:#fff}
h1,h2,h3,p{margin-top:0}
button,input,select{font:inherit}
.topbar{min-height:68px;display:flex;align-items:center;gap:28px;padding:12px 28px;border-bottom:1px solid var(--line);background:rgba(7,9,14,.92);position:sticky;top:0;z-index:50;backdrop-filter:blur(16px)}
.brand{font-weight:950;color:white;font-size:18px;white-space:nowrap;letter-spacing:-.3px}.brand span{display:inline-grid;place-content:center;background:linear-gradient(135deg,#ff4260,#c81035);width:38px;height:38px;border-radius:10px;margin-right:8px;box-shadow:0 10px 28px rgba(255,49,81,.25)}
.topbar nav{display:flex;gap:18px;flex:1;overflow:auto}.topbar nav a{color:#cbd5e1;white-space:nowrap}.topbar nav a:hover{color:white}
.wallet{display:flex;gap:16px;align-items:center;font-weight:900;white-space:nowrap}.logout{font-size:12px;color:var(--muted)}
.container{max-width:1320px;margin:0 auto;padding:32px 22px 70px}
.eyebrow{font-size:11px;letter-spacing:2px;color:var(--red);font-weight:950}
.hero{min-height:610px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:38px}.hero h1{font-size:58px;line-height:1.02;letter-spacing:-2.4px;max-width:710px}.hero p{font-size:19px;color:var(--muted);max-width:670px}.hero-car{min-width:0}
.actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.btn{border:1px solid var(--line);background:#1b2535;color:#fff;padding:11px 16px;border-radius:10px;font-weight:850;cursor:pointer;display:inline-block;text-align:center;transition:.18s transform,.18s filter,.18s border-color}.btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,#ff3958,#ce1238);border-color:transparent;box-shadow:0 12px 24px rgba(255,49,81,.16)}.btn.small{padding:8px 11px;font-size:12px}.btn.full,.full{width:100%}.btn:disabled{opacity:.42;cursor:not-allowed;transform:none;filter:none}
.feature-grid,.dashboard-grid,.cards,.stat-cards,.role-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.feature-grid article,.panel,.staff-card,.sponsor,.stat-cards article{background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 20px 55px rgba(0,0,0,.18)}
.feature-grid article{min-height:140px}.feature-grid p,.muted,.panel p,.staff-card p,.sponsor p{color:var(--muted)}
.auth-card{max-width:560px;margin:45px auto;background:linear-gradient(160deg,var(--panel2),var(--panel));padding:34px;border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.auth-card h1{font-size:34px;margin:5px 0 8px}.auth-card form,.staff-card form{display:grid;gap:13px}
label{display:grid;gap:7px;font-weight:760;color:#dde6f2}input,select{width:100%;background:#0a0f18;color:white;border:1px solid #34445e;border-radius:9px;padding:11px 12px;outline:none}input:focus,select:focus{border-color:#739dff;box-shadow:0 0 0 3px rgba(91,140,255,.13)}input[type=color]{height:46px;padding:4px;cursor:pointer}input[type=range]{accent-color:var(--red);padding:0}output{float:right;color:#fff;background:#263247;border-radius:7px;padding:1px 8px;font-size:12px}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-head h1{font-size:38px;margin:5px 0}.page-head p{margin:0;color:var(--muted)}
.rank-badge{width:98px;height:98px;border:6px solid var(--red);border-radius:50%;display:grid;place-content:center;text-align:center;font-size:30px;font-weight:950;box-shadow:0 0 40px rgba(255,49,81,.16)}.rank-badge small{font-size:11px;color:var(--muted);display:block}
.cost-badge{min-width:220px;border:1px solid var(--line);background:linear-gradient(145deg,#172131,#0d121c);padding:14px 18px;border-radius:14px;text-align:right}.cost-badge small,.cost-badge span{display:block;color:var(--muted)}.cost-badge strong{font-size:25px}.cost-badge.positive strong{color:#67e6a3}
.dashboard-grid{grid-template-columns:repeat(3,1fr)}.car-panel{grid-column:span 2}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:16px}.panel-title h2{margin-bottom:12px}.live-chip{font-size:10px;letter-spacing:1px;color:#7ef0b2;background:rgba(52,209,127,.12);border:1px solid rgba(52,209,127,.35);padding:5px 8px;border-radius:999px}
.stat-row{display:flex;justify-content:space-around;gap:12px;border-top:1px solid var(--line);padding-top:15px;margin-top:14px}.stat-row span{display:grid;color:var(--muted)}.stat-row b{color:white}.race-card h3{font-size:24px;margin:10px 0}.big-number{font-size:29px;font-weight:950}.big-number small{display:block;font-size:12px;color:var(--muted)}
.progress,.skill{height:8px;background:#263044;border-radius:99px;overflow:hidden;margin:14px 0}.progress span,.skill span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:inherit}
.table-wrap{overflow:auto;padding:0}table{border-collapse:collapse;width:100%;min-width:800px}th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left}th{font-size:11px;color:var(--muted);text-transform:uppercase}tr.me{background:rgba(255,48,79,.12);box-shadow:inset 4px 0 var(--red)}
.tag,.role{font-size:10px;background:#29354a;border-radius:999px;padding:4px 8px;color:#c2d0e3;text-transform:uppercase;letter-spacing:.7px}.level-pill{font-size:10px;font-weight:900;color:#ffbd73;background:rgba(255,157,66,.11);border:1px solid rgba(255,157,66,.3);padding:4px 8px;border-radius:999px}.card-top{display:flex;justify-content:space-between;align-items:center}

/* Fotorealistische showroom zonder transparante vlakken */
.showroom-render{--primary:#e63946;--secondary:#111827;--hue-shift:0deg;position:relative;isolation:isolate;overflow:hidden;border-radius:15px;background:#090b10;aspect-ratio:16/9;border:1px solid #303b4d;box-shadow:inset 0 0 70px rgba(0,0,0,.35),0 24px 70px rgba(0,0,0,.24)}
.showroom-render:before{content:"";position:absolute;inset:0;z-index:7;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 23%,rgba(0,0,0,.02) 57%,rgba(0,0,0,.42))}
.showroom-car-image{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;object-position:center 54%;filter:hue-rotate(var(--hue-shift)) saturate(1.22) contrast(1.05);transform:scale(1.015);transition:.3s filter,.3s transform}
.showroom-render:hover .showroom-car-image{transform:scale(1.035)}
.showroom-glow{position:absolute;z-index:1;width:55%;height:55%;right:-10%;top:5%;border-radius:50%;background:var(--primary);filter:blur(80px);opacity:.13;mix-blend-mode:screen}
.car-trim{position:absolute;z-index:4;display:block;background:var(--secondary);pointer-events:none;box-shadow:0 0 5px rgba(0,0,0,.5);transition:.25s background,.25s transform;opacity:.98}
.trim-nose{left:22.5%;top:58.3%;width:18.5%;height:1.2%;transform:rotate(-21deg);border-radius:99px}
.trim-side{left:47.2%;top:49.5%;width:18%;height:1.35%;transform:rotate(7deg);border-radius:99px}
.trim-wing{left:77.4%;top:20.3%;width:13%;height:1.2%;transform:rotate(-8deg);border-radius:99px}
.style-phantom .trim-nose{transform:rotate(-21deg) translateY(-5px)}
.style-phantom .trim-side{transform:rotate(12deg) translateY(3px)}
.style-storm .trim-nose{height:1.8%;transform:rotate(-25deg)}
.style-storm .trim-side{height:1.8%;transform:rotate(10deg)}
.style-classic .trim-nose,.style-classic .trim-side,.style-classic .trim-wing{height:.75%;border-radius:0}
.car-sponsor{position:absolute;z-index:6;display:flex;align-items:center;gap:4px;color:#fff;text-shadow:0 1px 3px #000;font-weight:950;letter-spacing:.3px;line-height:1;pointer-events:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.65))}
.car-sponsor b{display:grid;place-items:center;min-width:22px;height:18px;padding:0 4px;border-radius:4px;background:#fff;color:#10131a;font-size:9px;text-shadow:none}
.car-sponsor small{font-size:8px;white-space:nowrap}
.sponsor-nose{left:27%;top:61.5%;transform:rotate(-20deg)}
.sponsor-sidepod{left:53%;top:48.2%;transform:rotate(7deg)}
.sponsor-rearwing{left:80.2%;top:17.8%;transform:rotate(-7deg)}
.showroom-number{position:absolute;z-index:8;left:18px;bottom:54px;display:grid;place-content:center;min-width:54px;height:48px;padding:0 11px;border-radius:10px;background:rgba(4,6,10,.72);border:1px solid rgba(255,255,255,.16);font-size:24px;font-weight:950;font-style:italic;backdrop-filter:blur(8px)}
.showroom-caption{position:absolute;z-index:8;left:18px;right:18px;bottom:14px;display:flex;justify-content:space-between;align-items:end;gap:14px;text-shadow:0 2px 8px #000}.showroom-caption strong{font-size:16px}.showroom-caption span{font-size:11px;color:#c5cfdd;text-align:right}
.showroom-render:after{position:absolute;z-index:8;right:18px;top:16px;padding:6px 10px;border-radius:999px;background:rgba(5,7,11,.7);border:1px solid rgba(255,255,255,.14);font-size:10px;font-weight:950;letter-spacing:.8px;backdrop-filter:blur(8px)}
.tire-soft:after{content:"SOFT";color:#ff6179}.tire-medium:after{content:"MEDIUM";color:#ffe06a}.tire-hard:after{content:"HARD";color:#fff}.tire-intermediate:after{content:"INTER";color:#5be99c}.tire-wet:after{content:"WET";color:#67a1ff}
.hero-render{aspect-ratio:1.15/1;min-height:470px}.hero-render .showroom-caption{display:none}.hero-render .showroom-number{bottom:18px}.dashboard-render{aspect-ratio:2/1;max-height:370px}.garage-render{aspect-ratio:16/9;margin:4px 0 22px}.garage-render .showroom-caption strong{font-size:19px}

.garage-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:18px}.garage-layout aside{display:grid;gap:18px;align-content:start}.garage-main{min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.garage-form{border-top:1px solid var(--line);padding-top:20px}.upgrade-row,.tire-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.upgrade-row:last-child,.tire-row:last-child{border-bottom:0}.upgrade-row span,.tire-row span:nth-of-type(2){flex:1;display:grid}.upgrade-row small,.tire-row small{color:var(--muted)}.tire-dot{width:38px;height:38px;border:6px solid #555;border-radius:50%;background:#0a0d13}.tire-row.soft .tire-dot{border-color:#ff4057}.tire-row.medium .tire-dot{border-color:#ffd43b}.tire-row.hard .tire-dot{border-color:#e8edf4}.tire-row.intermediate .tire-dot{border-color:#3ddc84}.tire-row.wet .tire-dot{border-color:#468bff}
.cards{grid-template-columns:repeat(3,1fr);margin-bottom:32px}.staff-grid{align-items:stretch}.staff-card,.sponsor{display:flex;flex-direction:column}.staff-card h3,.sponsor h3{margin:12px 0 4px}.staff-card form:first-of-type,.sponsor form{margin-top:auto}.staff-card.employed{border-color:#3b536f}.staff-card.market.locked{opacity:.48}.training-form{margin-top:auto}.release-form{margin-top:8px!important}.text-button{width:100%;border:0;background:transparent;color:#97a7bc;padding:8px;cursor:pointer;font-weight:750}.text-button:hover{color:#ff7388}.compact-dl{display:grid;gap:7px;margin:12px 0 16px}.compact-dl div{display:flex;justify-content:space-between;gap:12px}.compact-dl dt{color:var(--muted)}.compact-dl dd{margin:0;text-align:right;font-weight:800}
.role-overview{margin-bottom:30px}.role-panel{position:relative;min-height:180px}.role-panel.complete{border-color:rgba(52,209,127,.48)}.role-panel h3{margin-top:8px}.role-panel p{font-size:13px}.role-status{position:absolute;right:14px;top:14px;font-size:12px;font-weight:950;color:#fff;background:#263247;border-radius:999px;padding:5px 9px}.role-panel.complete .role-status{color:#74eeb0;background:rgba(52,209,127,.1)}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:28px 0 14px}.section-title h2,.section-title p{margin-bottom:0}.section-title p{color:var(--muted)}
.sponsor .logo{width:62px;height:62px;border-radius:16px;background:linear-gradient(135deg,#3f5efb,#fc466b);display:grid;place-content:center;font-size:22px;font-weight:950;box-shadow:0 10px 25px rgba(0,0,0,.23)}.sponsor-0 .logo{background:linear-gradient(135deg,#00b09b,#96c93d)}.sponsor-1 .logo{background:linear-gradient(135deg,#ff512f,#dd2476)}.sponsor-2 .logo{background:linear-gradient(135deg,#4776e6,#8e54e9)}.sponsor-3 .logo{background:linear-gradient(135deg,#f7971e,#ffd200);color:#15120b}.sponsor dl{display:grid;gap:7px}.sponsor dl div{display:flex;justify-content:space-between}.sponsor dt{color:var(--muted)}.sponsor dd{margin:0;font-weight:850}.sponsor.locked{opacity:.52}.sponsor.active{border-color:#35d07f}.sponsor.active:before{content:"ACTIEF";align-self:flex-end;margin-bottom:-24px;font-size:9px;letter-spacing:1px;color:#71eaaa;font-weight:950}.info-banner{padding:15px 17px;border:1px solid rgba(98,147,255,.35);background:rgba(98,147,255,.08);border-radius:12px;color:#cbd9f2;margin-bottom:24px}.empty{grid-column:1/-1;text-align:center}
.timeline{display:grid;gap:10px}.timeline article{display:grid;grid-template-columns:60px 1fr auto;gap:18px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 20px}.timeline h3,.timeline p{margin:0}.round{font-weight:950;color:var(--red)}.timeline time{color:#d7e0ed;font-weight:850}
.stat-cards article{display:flex;justify-content:space-between;align-items:center}.stat-cards b{font-size:32px}.flash{padding:13px 16px;border-radius:10px;margin-bottom:18px}.flash.success{background:#153c2a;border:1px solid #287e55}.flash.error{background:#421b24;border:1px solid #a1364d}
footer{text-align:center;color:#68758a;padding:26px;border-top:1px solid var(--line)}

@media(max-width:1050px){.hero{grid-template-columns:1fr;min-height:auto;padding:52px 0}.hero h1{max-width:850px}.hero-car{max-width:850px}.hero-render{min-height:0;aspect-ratio:16/9}.garage-layout{grid-template-columns:1fr}.role-overview{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.topbar{height:auto;padding:15px;flex-wrap:wrap}.topbar nav{order:3;width:100%;padding-bottom:2px}.wallet{margin-left:auto}.hero h1{font-size:43px}.feature-grid,.dashboard-grid,.stat-cards{grid-template-columns:1fr 1fr}.car-panel{grid-column:span 2}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.page-head{align-items:flex-start}.showroom-number{left:12px;bottom:47px}.showroom-caption{left:12px;right:12px;bottom:10px}}
@media(max-width:600px){.container{padding:22px 12px 50px}.feature-grid,.dashboard-grid,.cards,.stat-cards,.role-overview{grid-template-columns:1fr}.car-panel{grid-column:auto}.page-head{display:grid}.page-head h1{font-size:29px}.rank-badge{width:75px;height:75px;position:absolute;right:14px}.cost-badge{width:100%;text-align:left}.timeline article{grid-template-columns:45px 1fr}.timeline time{grid-column:2}.stat-row{display:grid;grid-template-columns:1fr 1fr}.topbar nav{gap:12px}.wallet{font-size:12px}.hero h1{font-size:37px}.hero p{font-size:17px}.showroom-render{aspect-ratio:4/3}.showroom-caption span{display:none}.showroom-number{min-width:44px;height:39px;font-size:19px;bottom:42px}.garage-render .showroom-caption strong{font-size:15px}.section-title{align-items:flex-start}.sponsor.active:before{margin-bottom:-20px}}

/* AI car & sponsor logo system */
.showroom-car-image{image-rendering:auto}
.custom-sponsor-logo{position:absolute;z-index:6;max-width:none;height:auto;pointer-events:none;user-select:none;filter:drop-shadow(0 2px 8px rgba(0,0,0,.55));transition:box-shadow .2s ease, transform .15s ease}
.logo-editor-preview .custom-sponsor-logo{pointer-events:auto;cursor:grab}
.logo-editor-preview .custom-sponsor-logo.selected{outline:2px dashed rgba(255,255,255,.75);outline-offset:4px;box-shadow:0 0 0 4px rgba(255,74,106,.25)}
.logo-controls{display:grid;gap:14px;margin:18px 0}
.logo-control{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(10,13,19,.55);display:grid;gap:10px}
.logo-control.selected{border-color:#ff5d79;box-shadow:0 0 0 1px rgba(255,93,121,.35)}
.logo-control-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.compact-list{margin:0;padding-left:18px;display:grid;gap:8px}
.section-gap{margin-top:20px}
.sponsor-editor-layout .garage-main{overflow:visible}
.delete-logo-form{margin-top:8px}
@media(max-width:700px){.logo-control-actions{align-items:flex-start;flex-direction:column}}

/* Header statistics and manufacturer contracts */
.header-stats{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.header-stats>span{display:grid;gap:1px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(8,11,17,.72);min-width:70px}
.header-stats small{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}
.header-stats b{font-size:12px;white-space:nowrap;color:#f2f6fb}
.header-stats .logout{margin-left:4px}
.manufacturer-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.manufacturer-offer{display:flex;flex-direction:column;gap:12px}
.manufacturer-offer.locked{opacity:.66}
.manufacturer-offer h2{margin:0}
.contract-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.contract-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.contract-grid>div{display:grid;gap:4px;padding:11px;border:1px solid var(--line);border-radius:11px;background:rgba(10,14,21,.55)}
.contract-grid small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.6px}
.contract-grid strong{font-size:14px}
.objective-box{display:grid;gap:5px;padding:13px 14px;border-radius:12px;background:rgba(255,157,66,.08);border:1px solid rgba(255,157,66,.3)}
.objective-box span{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#ffbd73;font-weight:900}
.objective-box small{color:var(--muted)}
.requirements{display:flex;gap:8px;flex-wrap:wrap}
.requirements span{font-size:11px;font-weight:900;border-radius:999px;padding:6px 9px;border:1px solid var(--line)}
.requirements .ok{color:#70e8ac;background:rgba(52,209,127,.09);border-color:rgba(52,209,127,.35)}
.requirements .bad{color:#ff8092;background:rgba(255,70,96,.08);border-color:rgba(255,70,96,.34)}
.refresh-offers-form{margin-top:18px;text-align:right}
.active-contract{display:grid;gap:18px}
@media(max-width:1250px){.topbar{height:auto;padding:12px 16px;flex-wrap:wrap}.topbar nav{order:3;width:100%;overflow-x:auto}.header-stats{order:2}.manufacturer-offers{grid-template-columns:1fr}}
@media(max-width:700px){.header-stats{width:100%;justify-content:flex-start}.header-stats>span{flex:1;min-width:90px}.contract-grid,.contract-grid.compact{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.contract-grid,.contract-grid.compact{grid-template-columns:1fr}}

/* Admin bulk AI generator */
.checkbox-row{display:flex!important;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}
.checkbox-row input{width:auto;margin:0}
.batch-summary{display:flex;gap:9px;flex-wrap:wrap;align-items:center;padding:14px;border:1px solid rgba(98,147,255,.3);background:rgba(98,147,255,.07);border-radius:12px}
.batch-summary strong{width:100%}
.batch-summary span{font-size:11px;font-weight:850;padding:6px 9px;border-radius:999px;background:#253147;color:#dbe7f7}
form[data-long-action].is-running{opacity:.78;pointer-events:none}
form[data-long-action].is-running button{position:relative}

/* Sidebar navigation */
body.has-sidebar{padding-left:230px}
.sidebar{position:fixed;left:0;top:72px;bottom:0;width:230px;background:#0d1119;border-right:1px solid var(--line);z-index:30;padding:22px 14px;overflow-y:auto;box-shadow:12px 0 35px rgba(0,0,0,.18)}
.sidebar-title{font-size:10px;font-weight:950;letter-spacing:1.4px;color:#7f8da2;padding:0 12px 12px}
.sidebar nav{display:grid;gap:6px}
.sidebar nav a{display:flex;align-items:center;min-height:43px;padding:10px 13px;border-radius:10px;color:#c8d2e1;font-weight:800;text-decoration:none;border:1px solid transparent}
.sidebar nav a:hover{background:#171e2a;border-color:#293448;color:#fff;transform:translateX(2px)}
.has-sidebar .topbar{left:0;right:0}
.has-sidebar .container{max-width:1500px}
.has-sidebar footer{margin-left:0}

/* Dealer shop */
.dealer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dealer-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.dealer-image-wrap{aspect-ratio:16/10;background:#07090d;overflow:hidden;border-bottom:1px solid var(--line)}
.dealer-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.dealer-card:hover .dealer-image-wrap img{transform:scale(1.035)}
.dealer-card-body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.dealer-card-body h2,.dealer-card-body p{margin:0}
.dealer-card-body form{margin-top:auto;padding-top:10px}
.dealer-price{font-size:25px;font-weight:950;color:#ffbd73;margin:8px 0}

@media(max-width:1100px){.dealer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body.has-sidebar{padding-left:0;padding-bottom:72px}.sidebar{top:auto;bottom:0;width:100%;height:64px;padding:8px 10px;border-right:0;border-top:1px solid var(--line);overflow-x:auto;overflow-y:hidden}.sidebar-title{display:none}.sidebar nav{display:flex;gap:8px;min-width:max-content}.sidebar nav a{min-height:46px;padding:8px 12px}.dealer-grid{grid-template-columns:1fr}.header-stats span:nth-child(2),.header-stats span:nth-child(3){display:none}}

/* Contract-first flow */
.no-car-placeholder{position:absolute;inset:0;z-index:3;display:grid;place-content:center;text-align:center;padding:30px;background:radial-gradient(circle at 50% 35%,rgba(70,86,112,.28),rgba(5,7,11,.94) 62%);color:#fff}
.no-car-placeholder strong{font-size:28px;margin-bottom:8px}.no-car-placeholder span{max-width:470px;color:#aeb9c9}
.game-sponsor-logo{width:100%;height:72px;object-fit:contain;border-radius:12px;background:#0b0f16;padding:8px;border:1px solid var(--line)}

/* Realistic coureurs- en constructeurskampioenschap */
.championship-head{margin-bottom:18px}.championship-tabs{display:grid;grid-template-columns:1fr 1fr;background:#151a22;border:1px solid var(--line);border-radius:14px 14px 0 0;overflow:hidden}.championship-tabs a{text-align:center;padding:18px 12px;text-transform:uppercase;letter-spacing:.9px;font-weight:900;color:#aab5c6;border-bottom:3px solid transparent}.championship-tabs a:hover{color:#fff;background:rgba(255,255,255,.03)}.championship-tabs a.active{color:#fff;border-bottom-color:#fff;background:#1d232d}.championship-panel{border-radius:0 0 14px 14px;margin-bottom:20px}.championship-title{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:4px 2px 18px}.championship-title h2{margin:3px 0 0}.championship-table{min-width:980px}.championship-table th{text-transform:uppercase;font-size:10px;letter-spacing:.8px;color:#8f9caf}.championship-table td{padding-top:15px;padding-bottom:15px}.championship-table td:not(:nth-child(2)):not(:nth-child(3)){text-align:center}.championship-table th:not(:nth-child(2)):not(:nth-child(3)){text-align:center}.driver-cell{display:flex;align-items:center;gap:11px}.driver-cell small,.championship-table td:nth-child(3) small{display:block;color:var(--muted);margin-top:3px}.driver-flag{font-size:22px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}.position-number{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#202936;font-weight:950}.championship-table tr.top-0 .position-number{background:linear-gradient(135deg,#ffd76a,#b88200);color:#17110a}.championship-table tr.top-1 .position-number{background:linear-gradient(135deg,#eef3f8,#8592a3);color:#111820}.championship-table tr.top-2 .position-number{background:linear-gradient(135deg,#d99a65,#7e4325);color:#fff}.points-value{font-size:18px}.points-system-panel{display:grid;grid-template-columns:minmax(230px,.45fr) 1fr;gap:18px;align-items:center}.points-system-panel h2,.points-system-panel p{margin-bottom:6px}.points-strip{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.points-strip span{display:grid;text-align:center;gap:4px;padding:10px 4px;border-radius:9px;background:#171d27;border:1px solid var(--line);font-size:11px;color:var(--muted)}.points-strip b{font-size:12px;color:#fff}.constructors-table{min-width:900px}@media(max-width:900px){.points-system-panel{grid-template-columns:1fr}.points-strip{grid-template-columns:repeat(5,1fr)}}@media(max-width:600px){.championship-tabs a{padding:14px 7px;font-size:12px}.points-strip{grid-template-columns:repeat(2,1fr)}}
.division-picker{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px;padding:16px 18px}.division-picker label{min-width:min(100%,420px);margin:0}.division-picker select{margin-top:7px}@media(max-width:700px){.division-picker{align-items:stretch;flex-direction:column}}

/* V9 realistic race calendar and race centre */
.race-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.race-calendar-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:10px}
.race-calendar-card h2{margin:0;font-size:19px}.race-card-head{display:flex;justify-content:space-between;align-items:center}.sprint-badge{font-size:10px;font-weight:950;letter-spacing:1px;padding:5px 8px;border-radius:999px;background:#ffcf3d;color:#111}.race-country{margin:0;color:#dce5f2}.race-calendar-card dl{display:grid;gap:7px;margin:4px 0 12px}.race-calendar-card dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:6px}.race-calendar-card dt{color:var(--muted)}.race-calendar-card dd{margin:0;text-align:right;font-weight:800}
.race-lap-box{min-width:170px;background:#111722;border:1px solid var(--line);padding:14px 18px;border-radius:14px;display:grid;text-align:right}.race-lap-box small,.race-lap-box span{color:var(--muted)}.race-lap-box strong{font-size:25px}
.race-view-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.65fr);gap:18px}.race-track-panel{min-width:0}.f1-track{position:relative;min-height:760px;border-radius:18px;overflow:hidden;background:linear-gradient(90deg,#20262f 0 12%,#353c45 12% 88%,#20262f 88% 100%);border:8px solid #151a20;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),inset 0 0 60px rgba(0,0,0,.7)}
.f1-track:before,.f1-track:after{content:"";position:absolute;top:0;bottom:0;width:8px;background:repeating-linear-gradient(180deg,#fff 0 18px,#e3344c 18px 36px)}.f1-track:before{left:11%}.f1-track:after{right:11%}.start-line{position:absolute;left:12%;right:12%;top:4%;height:14px;background:repeating-linear-gradient(90deg,#fff 0 18px,#111 18px 36px)}
.grid-slot{position:absolute;width:42%;display:flex;align-items:center;gap:8px;transition:transform .35s ease}.slot-left{left:8%;justify-content:flex-end}.slot-right{right:8%}.grid-position{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#0d1118;border:1px solid #586578;font-size:11px;font-weight:900}.grid-slot small{font-size:10px;line-height:1.1;display:grid;min-width:95px}.grid-slot small em{font-style:normal;color:#8f9eb1;font-size:9px;margin-top:2px}.slot-left small{text-align:right;order:-1}
.mini-f1-car{position:relative;width:78px;height:28px;border-radius:45% 45% 28% 28%;background:linear-gradient(90deg,#d61f3d,#ff5b73);box-shadow:0 5px 10px rgba(0,0,0,.45);display:grid;place-items:center;color:#fff;font-size:10px;font-weight:950;transition:transform .35s linear,filter .2s}.mini-f1-car:before,.mini-f1-car:after{content:"";position:absolute;width:14px;height:32px;background:#080a0d;border-radius:3px;top:-2px}.mini-f1-car:before{left:8px}.mini-f1-car:after{right:8px}.mini-f1-car i{position:absolute;width:32px;height:15px;background:#131922;border-radius:50%;top:6px}.mini-f1-car b{position:relative;z-index:2}.mini-f1-car.racing{filter:drop-shadow(0 0 8px rgba(255,88,110,.55))}.race-controls{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}.lap-counter{margin-left:auto;font-size:18px;font-weight:850}.live-timing-panel{max-height:860px;overflow:auto}.live-timing{display:grid;gap:6px}.live-timing>div{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;padding:9px 10px;border-radius:9px;background:#101620;border:1px solid #273243}.live-timing>div b{font-size:12px}.live-timing>div span{display:grid;font-size:12px;font-weight:800}.live-timing>div span small{color:var(--muted);font-weight:500}.live-timing>div em{font-style:normal;font-size:10px;color:#9fb0c6}.race-info-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:18px}.race-info-strip div{display:grid}.race-info-strip small{color:var(--muted)}.race-info-strip b{margin-top:4px}
@media(max-width:1100px){.race-calendar-grid{grid-template-columns:repeat(2,1fr)}.race-view-layout{grid-template-columns:1fr}.live-timing-panel{max-height:none}.race-info-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.race-calendar-grid{grid-template-columns:1fr}.f1-track{min-height:670px}.grid-slot{width:47%}.mini-f1-car{width:58px}.grid-slot small{display:none}.race-info-strip{grid-template-columns:repeat(2,1fr)}}

/* V10 live circuit race simulation */
.race-view-layout-v10{grid-template-columns:minmax(0,1.85fr) minmax(320px,.65fr)}
.race-side-column{display:grid;gap:18px;align-content:start}
.race-camera-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 12px}
.race-camera-bar span{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#101620}
.race-camera-bar small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.7px}
.race-camera-bar b{font-size:12px}
.circuit-stage{position:relative;aspect-ratio:1000/650;min-height:500px;border-radius:20px;overflow:hidden;border:1px solid #344154;background:#0e1712}
.circuit-map{display:block;width:100%;height:100%}
.circuit-layout{display:none}
.track-border{fill:none;stroke:#0a0c10;stroke-width:78;stroke-linecap:round;stroke-linejoin:round;filter:url(#trackShadow)}
.track-surface{fill:none;stroke:#454b53;stroke-width:58;stroke-linecap:round;stroke-linejoin:round}
.track-line{fill:none;stroke:rgba(255,255,255,.22);stroke-width:2;stroke-linecap:round;stroke-dasharray:8 13}
.track-labels text{fill:#8fa392;font-size:14px;font-weight:800;letter-spacing:1px}.track-labels .drs-label{fill:#7ef0b2}
.start-finish-svg{stroke:#fff;stroke-width:8;stroke-dasharray:8 8}
.race-cars-layer{position:absolute;inset:0;pointer-events:none}
.race-car-marker{position:absolute;width:34px;height:22px;display:grid;place-items:center;border-radius:9px 9px 5px 5px;background:linear-gradient(180deg,#f05b73,#b51635);border:2px solid rgba(255,255,255,.75);box-shadow:0 3px 8px rgba(0,0,0,.55);transform-origin:center;transition:box-shadow .2s,filter .2s;will-change:left,top,transform}
.race-car-marker:nth-child(3n+2){background:linear-gradient(180deg,#4e8cff,#2450a8)}
.race-car-marker:nth-child(3n){background:linear-gradient(180deg,#ffc95b,#b77b05)}
.race-car-marker b{font-size:9px;line-height:1;color:#fff;text-shadow:0 1px 2px #000}
.race-car-marker small{position:absolute;left:50%;top:26px;transform:translateX(-50%);padding:2px 4px;border-radius:5px;background:rgba(4,7,10,.82);font-size:8px;white-space:nowrap;color:#dce6f2}
.race-car-marker .car-arrow{position:absolute;right:-7px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid rgba(255,255,255,.85)}
.race-car-marker.my-team-car{background:linear-gradient(180deg,#5bffad,#148153);border-color:#baffd8;box-shadow:0 0 0 3px rgba(91,255,173,.22),0 4px 12px rgba(0,0,0,.55)}
.race-car-marker.is-leader{filter:drop-shadow(0 0 8px #ffd35b)}
.race-car-marker.in-pit{opacity:.55;filter:grayscale(.4)}
.race-overlay-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:200;max-width:420px;padding:15px 18px;border-radius:13px;background:rgba(4,7,10,.87);border:1px solid rgba(255,255,255,.18);text-align:center;font-weight:800;backdrop-filter:blur(7px)}
.race-overlay-message[hidden]{display:none}
.speed-control{display:flex;align-items:center;gap:8px;margin-left:auto}.speed-control select{width:auto;min-width:74px;padding:8px}
.live-timing-v10>div{grid-template-columns:42px 1fr auto 25px;transition:background .25s,border-color .25s,transform .25s}
.live-timing-v10>div.my-team-row{border-color:rgba(91,255,173,.5);background:rgba(27,89,58,.22)}
.live-timing-v10>div.position-gained{background:rgba(52,209,127,.23);transform:translateX(4px)}
.live-timing-v10>div.position-lost{background:rgba(255,74,106,.18);transform:translateX(-4px)}
.tire-indicator{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-style:normal;font-size:9px;font-weight:950;background:#1c2531;border:3px solid #ffd43b}.tire-soft{border-color:#ff4962}.tire-medium{border-color:#ffd43b}.tire-hard{border-color:#e9eef5;color:#fff}
.team-race-info{display:grid;gap:8px}.team-race-info>div{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;background:#101620}.team-race-info b{font-size:14px}.team-race-info span{display:grid;font-weight:800}.team-race-info small{color:var(--muted);font-weight:500}.team-race-info em{font-size:10px;font-style:normal;color:#7ef0b2}
.race-event-feed{display:grid;gap:8px;max-height:275px;overflow:auto}.race-event-feed p{margin:0;padding:9px 10px;border-radius:9px;background:#101620;border-left:3px solid #3a4658;font-size:12px;color:#dbe5f2}.race-event-feed p.important{border-left-color:#ff5572;background:rgba(255,85,114,.08)}.race-event-feed time{display:inline-block;min-width:40px;color:#8494a8;font-size:10px}
@media(max-width:1100px){.race-view-layout-v10{grid-template-columns:1fr}.race-side-column{grid-template-columns:1fr 1fr}.race-side-column .live-timing-panel{grid-row:span 2}.circuit-stage{min-height:420px}}
@media(max-width:760px){.race-camera-bar{grid-template-columns:1fr}.race-side-column{grid-template-columns:1fr}.race-side-column .live-timing-panel{grid-row:auto}.circuit-stage{min-height:330px}.race-car-marker{width:27px;height:18px}.race-car-marker small{display:none}.speed-control{margin-left:0}.lap-counter{margin-left:0}}

/* V11: correct start/finish per circuit and messages inside track */
.start-finish-label{fill:#fff;font-size:13px;font-weight:950;letter-spacing:1px;paint-order:stroke;stroke:#0a0d12;stroke-width:4px;stroke-linejoin:round}
.track-live-feed{position:absolute;z-index:180;left:50%;top:50%;transform:translate(-50%,-50%);width:min(36%,360px);max-height:44%;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(8,13,20,.88);backdrop-filter:blur(9px);box-shadow:0 14px 36px rgba(0,0,0,.42);pointer-events:auto;overflow:hidden}
.track-live-feed-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.1)}
.track-live-feed-head strong{font-size:12px;letter-spacing:.4px}
.track-live-feed .race-event-feed{padding:9px 11px;overflow:auto;min-height:105px;max-height:210px}
.track-live-feed .race-event-feed p{margin:0;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:11px;line-height:1.35}
.track-live-feed .race-event-feed p:last-child{border-bottom:0}
.track-live-feed .race-event-feed time{display:inline-block;min-width:38px;color:#7f91a9;font-weight:800}
@media(max-width:900px){.track-live-feed{width:min(48%,340px);max-height:48%}}
@media(max-width:620px){.track-live-feed{left:50%;top:auto;bottom:12px;transform:translateX(-50%);width:calc(100% - 24px);max-height:34%}.track-live-feed .race-event-feed{max-height:120px;min-height:70px}}

/* V13: finishlijn dwars over de baan en log onder de knoppen */
.start-finish-svg,.start-finish-label{display:none!important}
.dynamic-start-finish line{stroke:#fff;stroke-width:6;stroke-linecap:butt}
.dynamic-start-finish line.checker-dark{stroke:#111}
.dynamic-start-finish text{fill:#fff;font-size:13px;font-weight:950;letter-spacing:1px;paint-order:stroke;stroke:#070a0e;stroke-width:4px;stroke-linejoin:round}
.race-log-panel{margin-top:14px;min-height:230px;border:1px solid var(--line);border-radius:14px;background:#0f1622;overflow:hidden;display:flex;flex-direction:column}
.race-log-panel .track-live-feed-head{padding:13px 15px;background:#111a28}
.race-log-panel .race-event-feed{max-height:310px;min-height:185px;padding:12px 14px;overflow:auto;display:grid;align-content:start;gap:8px}
.race-log-panel .race-event-feed p{margin:0;padding:10px 12px;border-radius:9px;background:#151e2b;border-left:3px solid #3a4658;font-size:12px;color:#dbe5f2}
.race-log-panel .race-event-feed p.important{border-left-color:#ff5572;background:rgba(255,85,114,.08)}
.race-log-panel .race-event-feed time{display:inline-block;min-width:42px;color:#8494a8;font-size:10px;font-weight:800}
.track-live-feed{display:none!important}
@media(max-width:760px){.race-log-panel{min-height:190px}.race-log-panel .race-event-feed{min-height:145px;max-height:240px}}

/* Multi-server admin */
.server-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0 20px}.server-card{border:1px solid var(--line);border-radius:14px;padding:15px;background:rgba(8,11,18,.45)}.server-card code{color:#cbd9f2}.compact-server-form{margin-top:12px}.compact-server-form label{font-size:12px}@media(max-width:800px){.server-grid{grid-template-columns:1fr}}

/* Admin server capacity tab */
.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.admin-tabs a{padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-weight:850;color:#b8c4d5}.admin-tabs a.active{border-color:#ff5d79;color:#fff;background:rgba(255,93,121,.12)}
.profile-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 22px}.profile-card{display:grid;gap:10px}.profile-card h2,.profile-card p{margin:0}.capacity-server-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}.capacity-server-card small{display:block;color:var(--muted);margin-top:4px}.server-state-gezond{color:#71eaaa}.server-state-waarschuwing{color:#ffd36a}.server-state-verdelen{color:#ff9b5d}.server-state-vol{color:#ff7388}.add-server-panel{margin-top:22px}.capacity-stats{margin-bottom:22px}
@media(max-width:900px){.profile-presets,.capacity-server-grid{grid-template-columns:1fr}}

/* Databasecluster admin */
.database-node-grid{margin:20px 0}.database-node-card.active-database-node{border-color:#39d98a;box-shadow:0 0 0 1px rgba(57,217,138,.25)}
.database-node-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.database-node-actions form{margin:0}
.database-failover-form{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 0}.database-stats article b{font-size:23px}
@media(max-width:800px){.database-failover-form{align-items:flex-start;flex-direction:column}}

/* V21 zichtbare fabrikantcontract status */
.manufacturer-dashboard-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;border-color:rgba(255,89,119,.45);background:linear-gradient(135deg,rgba(255,89,119,.10),rgba(22,29,43,.92))}
.manufacturer-dashboard-banner h2{margin:4px 0 8px}
.manufacturer-dashboard-banner p{margin:4px 0}
.manufacturer-dashboard-banner.no-contract{border-color:rgba(255,185,74,.48);background:linear-gradient(135deg,rgba(255,185,74,.10),rgba(22,29,43,.92))}
@media(max-width:760px){.manufacturer-dashboard-banner{align-items:flex-start;flex-direction:column}.manufacturer-dashboard-banner .btn{width:100%;text-align:center}}

/* V22 automerklogo's */
.brand-logo{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.brand-logo-fallback{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#202a3b;border:1px solid #3a4960;color:#eef4ff;font-size:12px;font-weight:950;letter-spacing:.6px}
.brand-title-with-logo{display:flex;align-items:center;gap:10px}.brand-title-with-logo>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px}.brand-title-with-logo .brand-logo-fallback{width:38px;height:38px}
.brand-name-cell{display:flex;align-items:center;gap:11px}.brand-inline-logo{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px}.brand-name-cell>div{display:grid}.brand-name-cell small{color:var(--muted)}
.car-manufacturer-logo{position:absolute;z-index:7;left:49%;top:57%;width:10%;max-height:10%;object-fit:contain;transform:translate(-50%,-50%) rotate(4deg);filter:drop-shadow(0 2px 4px rgba(0,0,0,.65));pointer-events:none}
.dealer-image-wrap{position:relative}.dealer-brand-logo{position:absolute;left:14px;top:14px;width:58px;height:58px;padding:7px;border-radius:12px;background:rgba(5,8,13,.78);border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;backdrop-filter:blur(8px)}
.brand-logo-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 26px}.brand-logo-admin-item{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:12px;background:rgba(10,13,19,.5)}.brand-logo-admin-item>div:nth-child(2){display:grid;gap:3px}.brand-logo-admin-item small{color:var(--muted)}.brand-logo-preview{width:58px;height:58px;padding:5px;border-radius:12px;background:#111722;border:1px solid #2e3a4c;display:grid;place-items:center;overflow:hidden}.brand-logo-preview .brand-logo-fallback{width:46px;height:46px}.brand-logo-preview img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain}.brand-logo-admin-card{display:grid;align-content:start;gap:10px;border:1px solid var(--line);border-radius:16px;padding:14px;background:rgba(10,13,19,.5);overflow:hidden;min-width:0}.brand-logo-admin-card .brand-logo-preview{width:100%;height:120px;padding:10px;border-radius:14px}.brand-logo-admin-card h3,.brand-logo-admin-card p,.brand-logo-admin-card small{margin:0}.brand-logo-admin-card p{color:var(--muted)}.brand-logo-admin-card .btn{justify-self:start}
@media(max-width:760px){.brand-logo-admin-grid{grid-template-columns:1fr}.brand-logo-admin-item{grid-template-columns:52px 1fr}.brand-logo-admin-item form{grid-column:1/-1}.car-manufacturer-logo{width:14%}.brand-logo-admin-card .brand-logo-preview{height:96px}}
.premium-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:18px 0 28px}.premium-card{display:flex;flex-direction:column;gap:12px}.premium-card ul{margin:0;padding-left:20px}.premium-price{font-size:2rem;font-weight:900}.vip-overview{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid rgba(255,215,0,.24)}.vip-overview.vip-active{box-shadow:0 0 30px rgba(255,190,45,.12)}.vip-header b{color:#ffd45c}.order-list{display:grid;gap:10px}.order-row{display:grid;grid-template-columns:minmax(200px,1fr) auto auto auto;gap:14px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px}.order-row small{display:block;opacity:.65;margin-top:4px}@media(max-width:760px){.vip-overview{align-items:flex-start;flex-direction:column}.order-row{grid-template-columns:1fr auto}.order-row form{grid-column:1/-1}}


/* V37 fictieve automerken-aandelenmarkt */
.stock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(390px,1fr));gap:18px;margin-top:18px}.stock-card{overflow:hidden}.stock-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.manufacturer-heading{display:flex;gap:12px;align-items:center}.manufacturer-heading .manufacturer-logo{width:48px;height:48px;object-fit:contain;border-radius:10px;background:#0b1320;padding:5px}.stock-price{text-align:right;display:flex;flex-direction:column}.stock-price strong{font-size:1.4rem}.positive{color:#2ee6a6!important}.negative{color:#ff657a!important}.stock-meter{height:7px;background:#09111d;border-radius:999px;overflow:hidden;margin:16px 0}.stock-meter span{display:block;height:100%;background:linear-gradient(90deg,#ffb02e,#ff315d);border-radius:inherit}.stock-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stock-stats>div{padding:12px;border:1px solid #2a3b51;border-radius:10px;background:#0c1522}.stock-stats small,.stock-owned span{display:block;color:#90a4bd}.stock-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.stock-actions form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.stock-actions label{margin:0}.stock-owned{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 0;border-top:1px solid #26364a}.dividend-form{margin-top:8px}.dividend-form .text-button{width:100%}@media(max-width:720px){.stock-grid{grid-template-columns:1fr}.stock-actions{grid-template-columns:1fr}.stock-head,.stock-owned{flex-direction:column}.stock-price{text-align:left}}

/* V38 aandelenmarkt met koersgrafieken */
.stock-chart-wrap{margin:14px 0 16px;padding:12px;border:1px solid rgba(125,155,205,.22);border-radius:14px;background:rgba(4,11,22,.58)}
.stock-history-chart{display:block;width:100%;height:180px;overflow:visible}
.stock-grid-line{stroke:rgba(150,175,215,.20);stroke-width:1}
.stock-chart-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px currentColor)}
.stock-line-positive{stroke:#39d98a;color:#39d98a}.stock-line-negative{stroke:#ff5573;color:#ff5573}
.stock-chart-label{fill:#8fa9c8;font-size:11px;font-weight:700}
.stock-change-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.stock-change-row span{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;background:rgba(15,27,45,.8);border-radius:9px;font-size:12px;color:#9eb1cb}
.stock-chart-empty{height:150px;display:grid;place-items:center;color:#8fa2bd}
@media(max-width:700px){.stock-change-row{grid-template-columns:1fr}.stock-history-chart{height:145px}}

/* V42 community chat */
.chat-panel{display:grid;gap:16px}.chat-messages{height:540px;overflow:auto;padding:8px;display:grid;align-content:start;gap:10px;background:rgba(5,10,18,.45);border:1px solid var(--border,#26364d);border-radius:14px}.chat-message{padding:12px 14px;border-radius:12px;background:rgba(20,31,48,.82);border:1px solid rgba(88,116,155,.25)}.chat-message>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.chat-message strong{color:#fff}.chat-message span{font-size:12px;color:#8fa6c5}.chat-message p{margin:7px 0 0;white-space:normal;word-break:break-word}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:10px}.chat-compose input{min-height:48px}@media(max-width:700px){.chat-messages{height:430px}.chat-compose{grid-template-columns:1fr}.chat-message>div{align-items:flex-start;flex-direction:column;gap:2px}}

/* V43 globale chat */
.global-chat-toggle{position:fixed;right:22px;bottom:20px;z-index:1200;border:0;border-radius:999px;padding:13px 18px;background:#e91546;color:#fff;font-weight:800;box-shadow:0 12px 34px rgba(0,0,0,.42);cursor:pointer}.global-chat-drawer{position:fixed;right:20px;bottom:78px;width:min(430px,calc(100vw - 28px));height:min(650px,calc(100vh - 105px));z-index:1199;background:#111a29;border:1px solid #31445f;border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.62);display:none;grid-template-rows:auto auto 1fr auto;overflow:hidden}.global-chat-drawer.open{display:grid}.global-chat-head{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2a3b53}.global-chat-head div{display:grid}.global-chat-head small{color:#8fa6c5}.global-chat-head button{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}.global-chat-channels{display:flex;gap:6px;padding:9px;overflow:auto;border-bottom:1px solid #2a3b53}.global-chat-channels a{white-space:nowrap;padding:7px 10px;border-radius:999px;background:#192539;color:#a9bdd7;font-size:12px;font-weight:700}.global-chat-channels a.active{background:#e91546;color:#fff}.global-chat-messages{overflow:auto;padding:10px;display:grid;align-content:start;gap:9px}.global-chat-messages article{padding:10px 12px;border:1px solid rgba(90,117,155,.3);background:#162234;border-radius:11px}.global-chat-messages article>div{display:flex;justify-content:space-between;gap:10px}.global-chat-messages strong{color:#fff}.global-chat-messages span{font-size:11px;color:#8fa6c5}.global-chat-messages p{margin:5px 0 0;word-break:break-word}.global-chat-empty,.global-chat-muted{padding:14px;color:#9db1cb}.global-chat-muted{border-top:1px solid #2a3b53;color:#ffbe76}.global-chat-compose{padding:10px;display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid #2a3b53}.global-chat-compose input{min-width:0}.admin-chat-text{min-width:260px;max-width:520px;white-space:normal}.admin-chat-actions{display:grid;gap:7px;min-width:210px}.admin-chat-actions form{margin:0}.warn-message-form{display:grid;grid-template-columns:1fr auto;gap:6px}.btn.compact{padding:8px 10px;min-height:auto}.btn.danger{background:#b61f3d;color:#fff}@media(max-width:700px){.global-chat-toggle{right:12px;bottom:12px}.global-chat-drawer{right:8px;bottom:65px;width:calc(100vw - 16px);height:72vh}.global-chat-compose{grid-template-columns:1fr}.global-chat-messages article>div{display:grid}.warn-message-form{grid-template-columns:1fr}}

/* V44 live kwalificatie */
.race-weekend-panel{margin-bottom:18px}.weekend-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.weekend-steps>div{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid #2a3444;border-radius:12px;background:#101620;opacity:.62}.weekend-steps>div.active{opacity:1;border-color:#ff4967;box-shadow:0 0 0 1px rgba(255,73,103,.22)}.weekend-steps>div.done{opacity:1;border-color:rgba(66,220,140,.45)}.weekend-steps b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#222c3b}.weekend-steps span{display:grid;font-weight:900}.weekend-steps small{font-weight:500;color:var(--muted)}.qualifying-actions{display:flex;align-items:center;gap:16px;margin-top:14px;flex-wrap:wrap}.qualifying-actions span{color:var(--muted)}.qualifying-feed{margin-top:12px;display:grid;gap:6px;max-height:150px;overflow:auto}.qualifying-feed p{margin:0;padding:8px 10px;background:#0d131c;border-left:3px solid #59667a;border-radius:6px}.qualifying-feed p.important{border-left-color:#ff4967}.qualifying-feed p.success{border-left-color:#42dc8c}.live-timing>div.qualifying-out{opacity:.42}.live-timing>div.qualifying-cut{border-color:#ff4967;background:rgba(255,73,103,.11)}.live-timing>div.qualifying-safe{border-color:rgba(66,220,140,.35)}
@media(max-width:760px){.weekend-steps{grid-template-columns:1fr}.qualifying-actions{align-items:stretch}.qualifying-actions .btn{width:100%}}
.strategy-panel{display:grid;gap:14px}.strategy-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.strategy-grid label{display:grid;gap:6px;font-size:.78rem;color:#9fb0bf}.strategy-grid select{width:100%;background:#0c151d;border:1px solid #2b3945;color:#f7fbff;border-radius:9px;padding:10px}.strategy-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.strategy-actions .btn{font-size:.78rem;padding:9px}.strategy-status{padding:10px 12px;border-radius:9px;background:#101b24;border:1px solid #263846;color:#bdd0dd;font-size:.8rem}.retired-car{opacity:.25;filter:grayscale(1)}
@media(max-width:760px){.strategy-grid,.strategy-actions{grid-template-columns:1fr}}

/* V46: één racecentrum, strategie geïntegreerd in de bestaande live raceweergave */
.integrated-race-strategy{margin-top:18px;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(7,13,19,.76)}
.integrated-strategy-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.integrated-strategy-head div{display:flex;flex-direction:column;gap:2px}
.integrated-strategy-head small{font-size:.68rem;letter-spacing:.15em;color:#8fa2b6}
.integrated-strategy-head strong{font-size:1.05rem;color:#fff}
.integrated-race-strategy .strategy-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.integrated-race-strategy .strategy-actions{margin-top:12px}
@media (max-width:1100px){.integrated-race-strategy .strategy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:650px){.integrated-race-strategy .strategy-grid{grid-template-columns:1fr}}

/* V48 training en constructeurfeedback */
.setup-training-card{margin:22px 0;background:rgba(8,16,29,.72)}
.setup-feedback-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.setup-feedback-grid>div{padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;gap:4px}
.setup-feedback-grid small,.setup-feedback-grid span{color:var(--muted,#9aa6b7)}
.setup-feedback-grid strong{font-size:1.35rem}
.setup-score{margin-top:16px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.setup-score>div{grid-column:1/-1;height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.setup-score i{display:block;height:100%;background:linear-gradient(90deg,#dc2626,#f59e0b,#22c55e);border-radius:999px}
@media(max-width:800px){.setup-feedback-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V50 zichtbare pitstraat en echte pitstoptijd */
.pit-lane-border{fill:none;stroke:#05090d;stroke-width:34;stroke-linecap:round;stroke-linejoin:round;filter:url(#trackShadow)}
.pit-lane-surface{fill:none;stroke:#59616d;stroke-width:24;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 0}
.pit-boxes rect{fill:#202935;stroke:#e8edf5;stroke-width:1.5;opacity:.92}
.pit-lane-label{fill:#f7c948;font-size:15px;font-weight:900;letter-spacing:3px;text-anchor:middle;paint-order:stroke;stroke:#0a0f16;stroke-width:4px}
.race-car-marker.in-pit{opacity:1;filter:none;box-shadow:0 0 0 2px #f7c948,0 0 18px rgba(247,201,72,.75);transform-origin:center}
.pitstop-explanation{margin-top:12px;padding:12px 14px;border:1px solid #4a5568;border-radius:12px;background:#101927;color:#cdd8e8;font-size:.88rem;line-height:1.5}
.pitstop-explanation b{color:#f7c948}

/* V51 - tekstuele raceview zonder circuitkaart */
.race-view-layout-v10{grid-template-columns:minmax(0,1fr) minmax(290px,.32fr)}
.race-list-panel{min-width:0}
.race-simulation-data{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.race-summary-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.race-summary-bar span{display:flex;flex-direction:column;padding:12px 14px;border:1px solid #2e4058;border-radius:12px;background:#0d1623}
.race-summary-bar small{color:#7f96b5;text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.race-summary-bar b{margin-top:4px}
.race-name-board{border:1px solid #2e4058;border-radius:16px;overflow:hidden;background:#0b1420}
.race-name-board-head{display:grid;grid-template-columns:74px minmax(180px,1fr) 115px 55px;gap:10px;padding:10px 14px;background:#111d2d;color:#7f96b5;text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.race-name-timing{max-height:620px;overflow:auto;padding:8px;display:flex;flex-direction:column}
.race-name-timing>div{display:grid;grid-template-columns:64px minmax(180px,1fr) 105px 45px;align-items:center;gap:10px;transition:transform .3s ease,background .3s ease,border-color .3s ease}
.race-name-timing>div.position-gained{background:rgba(34,197,94,.17);border-color:#22c55e;transform:translateX(5px)}
.race-name-timing>div.position-lost{background:rgba(239,68,68,.15);border-color:#ef4444;transform:translateX(-5px)}
.race-side-column{display:block}.race-side-column .team-race-panel{position:sticky;top:90px}
@media(max-width:900px){.race-view-layout-v10{grid-template-columns:1fr}.race-summary-bar{grid-template-columns:1fr}.race-name-board-head,.race-name-timing>div{grid-template-columns:58px minmax(140px,1fr) 84px 38px}}

/* V52 live telemetry and persistent garage repairs */
.condition-list{display:grid;gap:11px;margin:14px 0 18px}.condition-row{display:grid;grid-template-columns:minmax(125px,1fr) minmax(110px,1.3fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#0c1420}.condition-row>div:first-child{display:grid}.condition-row small{color:var(--muted)}.condition-meter{height:9px;border-radius:999px;background:#202c3c;overflow:hidden}.condition-meter i{display:block;height:100%;background:#27d17f;border-radius:inherit}.condition-row.warning .condition-meter i{background:#f7b731}.condition-row.critical .condition-meter i{background:#ff4057}.condition-row .btn{padding:8px 10px}.race-name-timing>div{grid-template-columns:64px minmax(180px,1fr) minmax(105px,auto) 34px}.team-race-info small{display:block;margin-top:4px;line-height:1.45}.car-condition-panel .full{width:100%}@media(max-width:700px){.condition-row{grid-template-columns:1fr auto}.condition-meter{grid-column:1/-1}.race-name-timing>div{grid-template-columns:52px 1fr auto 30px}.race-name-timing small{white-space:normal}}

.calendar-action-row,.section-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.calendar-action-row .btn{flex:1}.section-actions{margin-top:18px}


/* V54: werkende live race en uitgebreide voertuigtelemetrie */
.team-race-info{display:grid;gap:14px}
.live-car-telemetry{border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:13px;background:rgba(7,13,24,.72)}
.live-car-telemetry header{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-bottom:12px}
.live-car-telemetry header>b{font-size:1.1rem}.live-car-telemetry header span{font-weight:700}.live-car-telemetry header small{display:block;color:var(--muted);font-weight:500}.live-car-telemetry header em{font-style:normal;font-weight:800}
.telemetry-summary,.component-telemetry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.telemetry-summary span,.component-telemetry span{padding:8px;border-radius:10px;background:rgba(255,255,255,.045)}
.telemetry-summary small,.component-telemetry small{display:block;color:var(--muted);font-size:.72rem}.telemetry-summary b,.component-telemetry b{font-size:.9rem}
.component-telemetry{margin-top:8px}.live-car-telemetry.is-retired{opacity:.7}
@media(min-width:1200px){.component-telemetry{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* V55 VIP uitgebreide live telemetrie */
.vip-telemetry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0;padding:10px;border:1px solid rgba(255,190,45,.25);border-radius:12px;background:rgba(255,190,45,.06)}
.vip-telemetry-grid span{display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:8px;background:rgba(8,14,24,.48)}
.vip-telemetry-grid small{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;opacity:.72}
.vip-telemetry-grid b{font-size:.86rem}
.vip-benefit-list{columns:2;column-gap:26px}
.vip-benefit-list li{break-inside:avoid;margin-bottom:7px}
.info-banner.compact{padding:10px 12px;margin-bottom:12px}
@media(max-width:760px){.vip-telemetry-grid{grid-template-columns:1fr}.vip-benefit-list{columns:1}}

/* V57 geplande raceweekenden */
.race-release-info{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:14px 0;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.045)}
.race-release-info small{opacity:.7}.race-release-info b{text-align:right}.btn.disabled{opacity:.45;pointer-events:none;cursor:not-allowed}.locked-session-panel{max-width:820px;margin:24px auto;text-align:center}.locked-session-panel p{line-height:1.7}.race-calendar-card.race-locked{opacity:.88}


/* V67 - één 7-daagse weersverwachting op de trainingspagina */
.weather-forecast-panel{margin-bottom:20px}
.weather-forecast-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px}
.weather-day{position:relative;display:flex;flex-direction:column;gap:6px;min-height:150px;padding:14px;border:1px solid var(--border,#2c3b52);border-radius:14px;background:rgba(8,16,28,.62)}
.weather-day small{color:#9fb0c9;text-transform:uppercase;font-size:11px;letter-spacing:.08em}
.weather-day .weather-icon{font-size:28px;line-height:1.2}
.weather-day b{font-size:14px}
.weather-day span{font-size:17px;font-weight:800}
.weather-day em{font-style:normal;color:#9fb0c9;font-size:11px;line-height:1.4}
.weather-day mark{margin-top:auto;width:max-content;padding:4px 7px;border-radius:999px;background:#ff3159;color:white;font-size:10px;font-weight:900}
.weather-day.race-day{border-color:#ff3159;box-shadow:0 0 0 1px rgba(255,49,89,.18)}
@media(max-width:1100px){.weather-forecast-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}}
@media(max-width:700px){.weather-forecast-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}


/* V68: 7-daagse weersverwachting in de header */
.header-weather{position:relative;min-width:96px}
.header-weather summary{display:grid;gap:1px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(8,11,17,.72);cursor:pointer;list-style:none;user-select:none}
.header-weather summary::-webkit-details-marker{display:none}
.header-weather summary small{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}
.header-weather summary b{font-size:12px;white-space:nowrap;color:#f2f6fb}
.header-weather[open] summary{border-color:rgba(255,49,88,.65);box-shadow:0 0 0 2px rgba(255,49,88,.1)}
.header-weather-popover{position:absolute;right:0;top:calc(100% + 10px);z-index:1200;width:min(860px,calc(100vw - 230px));padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(10,15,25,.98);box-shadow:0 24px 70px rgba(0,0,0,.5)}
.header-weather-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.header-weather-title strong{font-size:16px}.header-weather-title span{font-size:12px;color:var(--muted)}
.header-weather-grid{display:grid;grid-template-columns:repeat(7,minmax(96px,1fr));gap:8px}
.header-weather-day{display:grid;gap:5px;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(17,25,39,.9)}
.header-weather-day>div{display:flex;align-items:center;justify-content:space-between}.header-weather-day>div strong{font-size:20px}
.header-weather-day small{color:var(--muted);font-size:10px}.header-weather-day b{font-size:12px}.header-weather-day span{font-weight:800;font-size:13px}.header-weather-day em{font-size:10px;color:var(--muted);font-style:normal;line-height:1.35}
.header-weather-day.race-day{border-color:#ff3158;background:rgba(255,49,88,.1)}
.header-weather-day mark{justify-self:start;padding:3px 6px;border-radius:999px;background:#ff3158;color:white;font-size:8px;font-weight:900}
@media(max-width:1250px){.header-weather-popover{width:min(760px,calc(100vw - 32px))}.header-weather-grid{grid-template-columns:repeat(4,minmax(110px,1fr))}}
@media(max-width:700px){.header-weather{flex:1}.header-weather-popover{position:fixed;left:10px;right:10px;top:110px;width:auto;max-height:70vh;overflow:auto}.header-weather-grid{grid-template-columns:repeat(2,minmax(125px,1fr))}}

/* V69 Supporters */
.supporter-stats article small{display:block;margin-top:6px;color:var(--muted)}
.supporter-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;margin-top:20px}.popularity-meter{height:14px;background:#18202c;border-radius:999px;overflow:hidden;margin:18px 0}.popularity-meter div{height:100%;background:linear-gradient(90deg,#e77018,#ffd166);border-radius:inherit}.supporter-products{display:grid;gap:12px;margin:20px 0}.supporter-products>div{display:grid;grid-template-columns:48px 1fr auto auto;align-items:center;gap:14px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.025)}.supporter-products>div>span{font-size:30px}.supporter-products small{display:block;color:var(--muted);margin-top:4px}.supporter-products em{font-style:normal;color:#65d38e;font-weight:800}.sales-chart{height:250px;display:flex;align-items:flex-end;gap:6px;padding:20px 4px 32px;border-bottom:1px solid rgba(255,255,255,.1)}.sales-chart>div{height:100%;flex:1;display:flex;align-items:flex-end;position:relative;min-width:12px}.sales-chart i{display:block;width:100%;background:linear-gradient(180deg,#ff9b45,#d75b00);border-radius:5px 5px 0 0;min-height:5px}.sales-chart small{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--muted);white-space:nowrap}@media(max-width:900px){.supporter-layout{grid-template-columns:1fr}.supporter-products>div{grid-template-columns:42px 1fr}.supporter-products>div>b,.supporter-products>div>em{grid-column:2}}

.news-feed{display:grid;gap:14px}.news-card{border-left:4px solid #637cff}.news-card h2{margin:8px 0}.progress-bar.cap{height:14px;background:#111722;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:-8px 0 28px}.progress-bar.cap span{display:block;height:100%;background:linear-gradient(90deg,#4fc3f7,#f2b84b);border-radius:inherit}


/* V83 vernieuwde desktop- en telefoonlayout */
:root{--content-pad:clamp(14px,2.2vw,30px)}
body{min-width:0;overflow-x:hidden}
.topbar{height:72px;padding:10px 22px;gap:18px}
.brand{display:flex;align-items:center;min-width:0}.brand strong{overflow:hidden;text-overflow:ellipsis}
.header-stats{margin-left:auto;display:flex;align-items:center;gap:8px;min-width:0}.header-stats>span,.header-weather>summary{min-height:42px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(17,23,34,.86);display:grid;align-content:center}.header-stats small{font-size:9px;text-transform:uppercase;letter-spacing:.55px;color:var(--muted)}.header-stats b{font-size:12px}.header-stats .logout{padding:9px 10px;border-radius:9px}.header-stats .logout:hover{background:#182130}
.container{width:100%;padding:28px var(--content-pad) 76px}
.panel,.staff-card,.sponsor,.stat-cards article,.feature-grid article{overflow:hidden}
.mobile-menu-button,.sidebar-mobile-head,.mobile-menu-backdrop{display:none}
.sidebar nav a.active{background:linear-gradient(135deg,rgba(255,49,81,.2),rgba(98,147,255,.08));border-color:rgba(255,74,103,.38);color:#fff;box-shadow:inset 3px 0 var(--red)}
.cards,.feature-grid,.stat-cards,.role-overview{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.dashboard-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.dashboard-grid>*{grid-column:span 4}.dashboard-grid>.car-panel{grid-column:span 8}
.form-grid{min-width:0}.form-grid>*{min-width:0}
img,svg,video,canvas{max-width:100%}
textarea{width:100%;min-height:110px;background:#0a0f18;color:#fff;border:1px solid #34445e;border-radius:9px;padding:11px 12px;font:inherit;resize:vertical}

@media(max-width:1100px){
  .header-stats>span:nth-of-type(2),.header-stats>span:nth-of-type(3){display:none}
  .dashboard-grid>*{grid-column:span 6}.dashboard-grid>.car-panel{grid-column:span 12}
  .race-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
  body.has-sidebar{padding-left:0;padding-bottom:0}
  .topbar{height:62px;padding:8px 12px;gap:9px}
  .brand{font-size:15px;margin-right:auto}.brand span{width:34px;height:34px;border-radius:9px;margin-right:7px}.brand strong{max-width:125px}
  .mobile-menu-button{display:flex;order:3;align-items:center;justify-content:center;gap:3px;width:43px;height:43px;padding:0;border:1px solid var(--line);border-radius:11px;background:#151d29;color:#fff;cursor:pointer;position:relative}.mobile-menu-button span{position:absolute;width:18px;height:2px;background:#fff;border-radius:2px;transition:.2s}.mobile-menu-button span:nth-child(1){transform:translateY(-6px)}.mobile-menu-button span:nth-child(3){transform:translateY(6px)}.mobile-menu-button b{display:none}
  .header-stats{margin:0;gap:6px}.header-stats>span{display:none!important}.header-stats>span:first-child{display:grid!important;min-height:40px;padding:5px 8px}.header-stats>span:first-child small{display:none}.header-stats>span:first-child b{font-size:10px;max-width:88px;overflow:hidden;text-overflow:ellipsis}
  .header-weather{display:none}.header-stats .logout{display:none}
  .sidebar{display:block;position:fixed;z-index:120;left:auto;right:0;top:0;bottom:0;width:min(86vw,340px);height:auto;padding:0 14px 22px;background:#0c111a;border:0;border-left:1px solid var(--line);box-shadow:-25px 0 70px rgba(0,0,0,.55);overflow-y:auto;transform:translateX(105%);transition:transform .22s ease}.sidebar.is-open{transform:translateX(0)}
  .sidebar-mobile-head{display:flex;position:sticky;top:0;z-index:3;align-items:center;justify-content:space-between;height:64px;background:#0c111a;border-bottom:1px solid var(--line);margin:0 -14px 12px;padding:0 16px}.sidebar-mobile-head strong{font-size:18px}.sidebar-mobile-head button{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#17202d;color:#fff;font-size:25px;cursor:pointer}
  .sidebar-title{display:none}.sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}.sidebar nav a{min-height:48px;padding:10px 11px;font-size:13px;background:#121a26;border-color:#202d3e;white-space:normal}.sidebar nav a.active{box-shadow:inset 3px 0 var(--red)}
  .mobile-menu-backdrop{display:block;position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.64);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:.2s}.mobile-menu-backdrop.is-open{opacity:1;pointer-events:auto}
  body.mobile-menu-open{overflow:hidden}
  .container{padding:20px 12px 38px}.page-head{align-items:flex-start;flex-direction:column;margin-bottom:16px}.page-head h1{font-size:clamp(27px,8vw,36px);line-height:1.08}.page-head p{font-size:14px}.rank-badge{width:76px;height:76px;font-size:23px;border-width:4px}
  .dashboard-grid,.feature-grid,.cards,.stat-cards,.role-overview,.garage-layout,.admin-layout,.points-system-panel{display:grid;grid-template-columns:1fr}.dashboard-grid>*,.dashboard-grid>.car-panel{grid-column:auto}
  .panel,.staff-card,.sponsor,.stat-cards article,.feature-grid article{padding:15px;border-radius:14px}
  .panel-title{align-items:flex-start}.panel-title h2{font-size:19px}
  .actions{display:grid;grid-template-columns:1fr;margin-top:18px}.actions .btn{width:100%}
  .btn{min-height:44px;padding:10px 13px}
  .table-wrap{margin-left:-15px;margin-right:-15px;width:calc(100% + 30px);border-left:0;border-right:0}.table-wrap table{min-width:700px}.table-wrap th,.table-wrap td{padding:11px 12px;font-size:12px}
  .race-calendar-grid,.dealer-grid{grid-template-columns:1fr}.race-calendar-card{padding:15px}.race-calendar-card dl div{align-items:flex-start}.race-calendar-card dd{max-width:58%}
  .showroom-render,.garage-render,.dashboard-render{min-height:210px;aspect-ratio:16/10}.showroom-caption{left:10px;right:10px;bottom:9px}.showroom-number{left:10px;bottom:48px;min-width:44px;height:39px;font-size:19px}
  .auth-card{margin:18px 10px;padding:22px 17px}.auth-card h1{font-size:29px}
  footer{padding:22px 12px 90px;text-align:center}
  .global-chat-toggle{bottom:14px;right:14px}
}

@media(max-width:520px){
  .sidebar{width:92vw}.sidebar nav{grid-template-columns:1fr}
  .brand strong{max-width:105px}
  .header-stats>span:first-child{max-width:92px}
  .cost-badge{min-width:0;width:100%;text-align:left}
  .stat-row{display:grid;grid-template-columns:repeat(2,1fr);justify-content:initial}
  .championship-tabs{grid-template-columns:1fr}.championship-tabs a{border-bottom-width:1px}
  .form-grid{grid-template-columns:1fr!important}
  .race-lap-box{width:100%;text-align:left}
}

/* V85 desktop menu safety: mobile controls are never shown on PC */
@media(min-width:701px){
  .mobile-menu-button,.sidebar-mobile-head,.mobile-menu-backdrop{display:none!important}
}

/* V84 desktop race cockpit layout */
@media(min-width:701px){
  body.has-sidebar{padding-left:272px;background:
    linear-gradient(110deg,rgba(255,49,81,.035),transparent 22%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.012) 0 1px,transparent 1px 13px),
    radial-gradient(circle at 88% 4%,#1a2843 0,transparent 30%),var(--bg)}
  .topbar{height:78px;padding:0 26px 0 22px;border-bottom-color:#303c50;background:linear-gradient(90deg,rgba(8,11,17,.98),rgba(13,18,28,.96));box-shadow:0 12px 40px rgba(0,0,0,.28)}
  .topbar:after{content:"";position:absolute;left:272px;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--red) 0 15%,transparent 42%)}
  .topbar .brand{font-size:20px;letter-spacing:-.55px}.topbar .brand span{transform:skew(-8deg);border-radius:7px;background:linear-gradient(135deg,#ff4965,#bd0a31);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 12px 28px rgba(255,49,81,.28)}
.app-brand-logo{display:flex;align-items:center;min-width:0;padding:0;border:0;background:none}.app-brand-logo img{display:block;height:46px;width:auto;max-width:min(100%,320px);filter:drop-shadow(0 8px 18px rgba(0,0,0,.28))}.sidebar-app-brand-logo{display:block;width:100%;max-width:210px;height:auto;filter:drop-shadow(0 12px 22px rgba(0,0,0,.34))}.sidebar-race-brand{justify-content:flex-start}footer{font-weight:700;letter-spacing:.2px}

  .header-stats>span,.header-weather>summary{border-radius:7px;border-color:#303d52;background:linear-gradient(180deg,#192231,#101722);min-width:68px;position:relative;overflow:hidden}
  .header-stats>span:before,.header-weather>summary:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#51627b}.header-stats>span:first-child:before{background:var(--green)}
  .header-stats .logout{border:1px solid #344158;background:#121a26;color:#d9e1ed;font-weight:800}
  .race-sidebar{top:0;width:272px;padding:0;background:linear-gradient(180deg,#0b1018 0,#0d131d 60%,#080c12 100%);border-right:1px solid #303b4d;box-shadow:18px 0 50px rgba(0,0,0,.3)}
  .sidebar-race-brand{height:78px;display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid #2a3547;background:linear-gradient(120deg,rgba(255,49,81,.15),transparent 55%);position:sticky;top:0;z-index:3;backdrop-filter:blur(16px)}
  .race-mark{width:42px;height:42px;display:grid;place-items:center;background:linear-gradient(135deg,#ff3b59,#bf0b31);font-weight:1000;font-size:17px;transform:skew(-8deg);border-radius:7px;box-shadow:0 10px 22px rgba(255,49,81,.25)}
  .sidebar-race-brand div{display:grid;line-height:1.05}.sidebar-race-brand strong{font-size:14px;letter-spacing:1.2px}.sidebar-race-brand small{font-size:9px;letter-spacing:2.1px;color:#8492a7;margin-top:5px}
  .race-nav{padding:14px 12px 90px!important;display:block!important}.nav-section{display:grid;gap:4px;margin-bottom:16px}.nav-section-title{padding:0 11px 7px;font-size:9px;font-weight:950;letter-spacing:1.8px;text-transform:uppercase;color:#6f7e93}
  .sidebar .race-nav a{min-height:42px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:8px 11px;border-radius:8px;color:#b9c5d5;font-size:13px;font-weight:800;border:1px solid transparent;position:relative;overflow:hidden;transform:none}
  .sidebar .race-nav a i{width:25px;height:25px;display:grid;place-items:center;border-radius:6px;background:#182231;color:#9eabc0;font-style:normal;font-size:12px;border:1px solid #263348}
  .sidebar .race-nav a:hover{background:#151d29;border-color:#2d3a4e;color:#fff;transform:translateX(2px)}.sidebar .race-nav a:hover i{color:#fff;border-color:#53647e}
  .sidebar .race-nav a.active{background:linear-gradient(90deg,rgba(255,49,81,.22),rgba(255,49,81,.045));border-color:rgba(255,70,98,.28);box-shadow:inset 3px 0 var(--red);color:#fff}.sidebar .race-nav a.active i{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 18px rgba(255,49,81,.28)}
  .race-center-link b{font-size:8px;letter-spacing:.8px;color:#06140c;background:#51dc8e;border-radius:999px;padding:3px 6px;box-shadow:0 0 13px rgba(81,220,142,.27)}
  .has-sidebar .container{max-width:1640px;padding:34px clamp(24px,3vw,48px) 90px}
  .page-head{position:relative;padding:4px 0 20px;border-bottom:1px solid rgba(91,108,133,.24)}.page-head:after{content:"";position:absolute;left:0;bottom:-1px;width:96px;height:3px;background:linear-gradient(90deg,var(--red),#ff8ba0);transform:skew(-28deg);transform-origin:left}.page-head h1{font-size:42px;letter-spacing:-1.4px;line-height:1.05}
  .panel,.staff-card,.sponsor,.stat-cards article,.feature-grid article{border-radius:11px;border-color:#2b394e;background:linear-gradient(145deg,rgba(24,33,48,.98),rgba(13,19,29,.98));box-shadow:0 18px 45px rgba(0,0,0,.2);position:relative}
  .panel:before,.staff-card:before,.sponsor:before,.stat-cards article:before{content:"";position:absolute;left:0;top:0;width:64px;height:2px;background:linear-gradient(90deg,var(--red),transparent)}
  .panel-title{padding-bottom:10px;border-bottom:1px solid rgba(78,94,118,.26);margin-bottom:14px}.panel-title h2{margin:0;font-size:19px;letter-spacing:-.3px}
  .btn{border-radius:7px;text-transform:none;letter-spacing:.1px}.btn.primary{background:linear-gradient(105deg,#ff3857,#c70b35);box-shadow:0 10px 24px rgba(255,49,81,.18)}
  .race-calendar-card{border-radius:10px;transition:.2s transform,.2s border-color,.2s box-shadow}.race-calendar-card:hover{transform:translateY(-3px);border-color:#4a5d79;box-shadow:0 20px 48px rgba(0,0,0,.3)}
}

@media(max-width:700px){
  .sidebar-race-brand{display:none}.race-nav{padding:0!important}.nav-section{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}.nav-section-title{grid-column:1/-1;padding:5px 3px 1px}.sidebar .race-nav a{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:7px}.sidebar .race-nav a i{font-style:normal}.race-center-link b{font-size:8px;color:#08140d;background:#4bdc8c;padding:2px 5px;border-radius:999px}
}
@media(max-width:520px){.nav-section{grid-template-columns:1fr}}

@media(max-width:700px){.app-brand-logo img{height:34px;max-width:200px}.sidebar-race-brand{padding:14px 18px}.sidebar-app-brand-logo{max-width:180px}}

.timed-job-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;margin:16px 0;border:1px solid rgba(255,65,96,.28);border-radius:14px;background:linear-gradient(135deg,rgba(255,49,81,.12),rgba(18,26,39,.82))}.timed-job-card h3{margin:8px 0 5px}.timed-job-card p{margin:0;color:var(--muted)}.job-countdown{display:inline-flex;align-items:center;justify-content:center;min-width:126px;padding:11px 13px;border-radius:10px;border:1px solid #35445a;background:#0b111b;color:#fff;font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:.3px}.progress-bar.timed{height:10px;margin:12px 0 8px;background:#111a27;border:1px solid #2b394d;border-radius:999px;overflow:hidden}.progress-bar.timed span{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff3151,#ff8a43);border-radius:inherit;transition:width .8s linear}@media(max-width:650px){.timed-job-card{align-items:flex-start;flex-direction:column}.job-countdown{width:100%}}

.staff-market-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.staff-market-facts span{display:grid;gap:2px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:rgba(8,13,21,.6)}.staff-market-facts small{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.staff-market-facts b{font-size:12px;color:#f3f7ff}@media(max-width:480px){.staff-market-facts{grid-template-columns:1fr 1fr}}

.social-search-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end}.social-search-form label{margin:0}.social-player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.social-player-card{display:grid;gap:16px}.social-player-head{display:flex;align-items:center;gap:13px}.social-player-head h2,.social-player-head p{margin:0}.social-avatar{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#ff365c,#7b1533);font-weight:950;letter-spacing:.8px;box-shadow:0 10px 24px rgba(255,49,81,.18)}.social-avatar.small{width:38px;height:38px;border-radius:10px;font-size:11px}.social-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.social-stats span{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:11px}.social-stats b{font-size:15px;color:#fff}.social-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.social-actions form{margin:0}.status-pill{padding:8px 11px;border:1px solid #36445a;border-radius:999px;color:#aebad0;font-size:12px}.friend-request-list{display:grid;gap:10px}.friend-request-list article{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#0d141f}.friend-request-list article>div:first-child{display:grid}.friend-request-list small{color:var(--muted);margin-top:3px}.messages-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.conversation-list{display:grid;align-content:start;gap:7px}.conversation-list h2{margin-bottom:8px}.conversation-list>a{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid transparent;border-radius:11px;color:#c8d2df}.conversation-list>a:hover,.conversation-list>a.active{background:#151f2c;border-color:#34445a;color:#fff}.conversation-list>a div{display:grid}.conversation-list>a small{color:var(--muted)}.private-chat-panel{min-height:560px;display:flex;flex-direction:column}.private-message-list{display:flex;flex-direction:column;gap:9px;min-height:360px;max-height:540px;overflow:auto;padding:8px 2px 18px}.private-message-list article{max-width:75%;padding:10px 12px;border-radius:13px;background:#172231;border:1px solid #2d3b50}.private-message-list article.mine{align-self:flex-end;background:rgba(255,49,81,.16);border-color:rgba(255,73,104,.32)}.private-message-list article.theirs{align-self:flex-start}.private-message-list small{color:var(--muted);font-size:10px}.private-message-list p{margin:5px 0 0;white-space:normal}.private-message-compose{margin-top:auto;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.private-message-compose textarea{resize:vertical;min-height:70px}
@media(max-width:800px){.messages-layout{grid-template-columns:1fr}.conversation-list{max-height:260px;overflow:auto}.social-search-form{grid-template-columns:1fr}.private-message-compose{grid-template-columns:1fr}.private-message-list article{max-width:90%}}
.system-inbox{margin-bottom:18px}.system-message-list{display:grid;gap:10px}.system-message-list>article{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0e151f}.system-message-list>article.unread{border-color:rgba(255,71,105,.48);box-shadow:inset 3px 0 var(--red)}.system-message-list>article>div:first-child{display:grid;gap:5px;min-width:0}.system-message-list small{color:var(--muted)}.system-message-list p{margin:6px 0 0;white-space:normal}.message-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px}.message-actions form{margin:0}.report-message-form{display:flex;gap:6px;align-items:center}.report-message-form input{min-width:150px;padding:7px 9px}.reported-message-list{display:grid;gap:12px}.reported-message{padding:15px;border:1px solid var(--line);border-radius:13px;background:#0e151f}.reported-message.open{border-left:4px solid #ff4769}.reported-message.resolved{border-left:4px solid #39d882}.reported-message.dismissed{border-left:4px solid #7d899b}.reported-message-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.reported-message-head span{font-size:10px;font-weight:900;letter-spacing:1px;color:var(--muted)}.reported-content{padding:12px;border-radius:10px;background:#080d14;border:1px solid #202b3a}.reported-message>.social-actions{margin-top:12px}.reported-message>.social-actions form{display:flex;gap:7px;align-items:center}.reported-message>.social-actions input{min-width:180px}
@media(max-width:700px){.system-message-list>article{display:grid}.report-message-form{display:grid;width:100%}.report-message-form input{width:100%}.reported-message>.social-actions form{display:grid;width:100%}.reported-message>.social-actions input{width:100%}}

.tutorial-head{position:relative}.tutorial-progress{margin-bottom:18px}.tutorial-route{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.tutorial-route span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#131b28;font-size:12px;font-weight:900}.tutorial-route i{font-style:normal;color:var(--red);font-size:20px}.tutorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tutorial-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:245px;overflow:hidden}.tutorial-card>b{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--red),#990a2c);font-size:14px;box-shadow:0 10px 25px rgba(255,49,81,.2)}.tutorial-card h2{margin:16px 0 8px}.tutorial-card p{color:var(--muted);line-height:1.65;flex:1}.tutorial-card:after{content:"";position:absolute;right:-45px;top:-55px;width:150px;height:150px;border:1px solid rgba(255,255,255,.05);border-radius:50%;box-shadow:0 0 0 28px rgba(255,255,255,.018)}.tutorial-tips{margin-top:18px}.tutorial-tips>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}.tutorial-tips p{margin:0;padding:12px;border-left:3px solid var(--red);background:rgba(255,255,255,.025)}@media(max-width:800px){.tutorial-grid{grid-template-columns:1fr}.tutorial-tips>div{grid-template-columns:1fr}.tutorial-card{min-height:0}}

.onboarding-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(3,6,11,.84);backdrop-filter:blur(9px)}.onboarding-modal{width:min(720px,100%);max-height:calc(100vh - 32px);overflow:auto;border:1px solid #354259;border-radius:20px;padding:24px;background:linear-gradient(145deg,#121a27,#090e16);box-shadow:0 35px 100px rgba(0,0,0,.65)}.onboarding-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.onboarding-top h2{margin:5px 0 0;font-size:clamp(25px,4vw,38px)}.onboarding-step-counter{display:flex;align-items:baseline;gap:3px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;color:var(--muted)}.onboarding-step-counter b{font-size:20px;color:#fff}.onboarding-progress{height:5px;margin:20px 0 24px;background:#222c3b;border-radius:999px;overflow:hidden}.onboarding-progress i{display:block;width:16.666%;height:100%;background:linear-gradient(90deg,var(--red),#ff8b4a);border-radius:inherit;transition:width .25s ease}.onboarding-slide{display:none;min-height:250px;padding:4px}.onboarding-slide.active{display:flex;flex-direction:column;align-items:flex-start;animation:onboardingIn .2s ease}.onboarding-slide>b{display:grid;place-items:center;width:50px;height:50px;border-radius:13px;background:linear-gradient(135deg,var(--red),#9b0829);box-shadow:0 12px 30px rgba(255,49,81,.22)}.onboarding-slide h3{margin:19px 0 9px;font-size:27px}.onboarding-slide p{max-width:620px;color:var(--muted);font-size:16px;line-height:1.7}.onboarding-link{margin-top:auto;color:#fff;font-weight:900;border-bottom:2px solid var(--red);padding-bottom:3px}.onboarding-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid var(--line)}.onboarding-actions>div{display:flex;gap:9px}@keyframes onboardingIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}@media(max-width:600px){.onboarding-backdrop{padding:8px}.onboarding-modal{padding:18px 14px;border-radius:15px}.onboarding-slide{min-height:300px}.onboarding-slide h3{font-size:23px}.onboarding-actions{align-items:stretch;flex-direction:column-reverse}.onboarding-actions>div{display:grid;grid-template-columns:1fr 1fr}.onboarding-actions .btn{width:100%}}

/* V105 authentication and legal pages */
.auth-powered-by-bar{width:min(1120px,calc(100% - 28px));margin:22px auto 0;display:flex;align-items:center;gap:12px;justify-content:flex-start}.auth-powered-by-chip{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:linear-gradient(145deg,rgba(14,20,31,.96),rgba(8,12,20,.92));box-shadow:0 18px 40px rgba(0,0,0,.24)}.auth-powered-by-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8ea0b8;font-weight:900;white-space:nowrap}.auth-powered-by-logo{height:32px;max-width:220px;width:auto;display:block;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}
.auth-shell{width:min(1120px,calc(100% - 28px));margin:46px auto 80px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:18px;align-items:stretch}.auth-main-card,.auth-side-card{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(22,31,46,.98),rgba(10,15,24,.98));box-shadow:0 28px 70px rgba(0,0,0,.3)}.auth-main-card{padding:30px}.auth-side-card{padding:32px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-side-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,49,81,.16),transparent 44%),repeating-linear-gradient(135deg,transparent 0 22px,rgba(255,255,255,.015) 22px 23px);pointer-events:none}.auth-side-card>*{position:relative}.auth-side-card h2{font-size:clamp(28px,4vw,44px);margin:8px 0 12px}.auth-side-card ul{display:grid;gap:9px;padding-left:20px;color:#c9d4e4}.auth-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.auth-form-grid label{margin:0}.auth-form-grid .full{grid-column:1/-1}.legal-consent{display:grid;gap:10px;padding:15px;border:1px solid #334157;border-radius:14px;background:#0d1522}.legal-check{display:grid!important;grid-template-columns:22px 1fr;align-items:start;gap:9px;font-size:13px;line-height:1.5;color:#d5deec}.legal-check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--red)}.legal-check a,.legal-mini-links a,.legal-document a{color:#ff6a82;text-decoration:underline;text-underline-offset:3px}.age-notice{padding:12px 14px;border:1px solid rgba(69,216,139,.3);border-radius:12px;background:rgba(38,181,113,.08);color:#ccebdd}.legal-mini-links{display:flex;gap:14px;flex-wrap:wrap;font-size:12px}.legal-page{width:min(1120px,calc(100% - 28px));margin:36px auto 80px}.legal-page-head{padding:30px 0 20px}.legal-page-head h1{font-size:clamp(34px,5vw,58px);margin:7px 0 8px}.legal-page-head nav{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.legal-page-head nav a{padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#121a27;color:#c9d4e3;font-weight:800}.legal-page-head nav a.active{border-color:var(--red);background:rgba(255,49,81,.14);color:#fff}.legal-document{padding:clamp(20px,4vw,42px);line-height:1.72}.legal-document h2{margin:30px 0 8px;font-size:22px}.legal-document h2:first-child{margin-top:0}.legal-document p,.legal-document li{color:#c4cfde}.legal-document ul{padding-left:22px}.legal-back{margin-top:16px}footer{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap}.footer-legal-links{display:flex;gap:14px}.footer-legal-links a{color:#9eacc1;font-size:12px}.footer-legal-links a:hover{color:#fff}
@media(max-width:800px){.auth-powered-by-bar{margin-top:14px;gap:10px}.auth-powered-by-chip{padding:8px 12px;gap:10px}.auth-powered-by-logo{height:26px;max-width:180px}.auth-shell{grid-template-columns:1fr;margin-top:20px}.auth-side-card{min-height:250px}.auth-form-grid{grid-template-columns:1fr}.auth-form-grid .full{grid-column:auto}.legal-page{margin-top:18px}.legal-document{padding:20px}}

.legal-company-card{margin:0 0 24px;padding:18px;border:1px solid rgba(255,49,81,.28);border-radius:14px;background:linear-gradient(135deg,rgba(255,49,81,.08),rgba(18,27,42,.72))}.legal-company-card h2{margin:0 0 14px}.legal-company-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}.legal-company-card dl div{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(8,12,19,.55)}.legal-company-card dt{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.legal-company-card dd{margin:4px 0 0;font-weight:800;color:#fff;overflow-wrap:anywhere}.legal-company-card p{margin:0;color:var(--muted)}@media(max-width:700px){.legal-company-card dl{grid-template-columns:1fr}}


/* V111 owner-only vehicle overview */
.admin-vehicle-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.admin-vehicle-card {
  padding: 0;
  overflow: hidden;
}
.admin-vehicle-image {
  position: relative;
  aspect-ratio: 16 / 10;
  background: #070a10;
  overflow: hidden;
}
.admin-vehicle-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.vehicle-status {
  position: absolute;
  right: 12px;
  top: 12px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  background: #123b2a;
  color: #8ff0bd;
  border: 1px solid #2b8a62;
}
.vehicle-status.sold {
  background: #4b2028;
  color: #ffb2bd;
  border-color: #a53d50;
}
.admin-vehicle-body {
  padding: 18px;
}
.admin-vehicle-body small {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .11em;
  font-weight: 800;
}
.admin-vehicle-body h2 {
  margin: 5px 0 7px;
}
.admin-vehicle-body p {
  margin: 0;
  color: var(--muted);
}
.admin-vehicle-price {
  display: block;
  font-size: 25px;
  margin: 15px 0;
  color: #ffbd73;
}
.admin-vehicle-body dl {
  display: grid;
  gap: 7px;
  margin: 0;
}
.admin-vehicle-body dl div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid var(--line);
  padding-top: 7px;
}
.admin-vehicle-body dt {
  color: var(--muted);
}
.admin-vehicle-body dd {
  margin: 0;
  text-align: right;
  font-weight: 700;
}
.vehicle-admin-filter {
  margin-top: 18px;
}
@media (max-width: 1100px) {
  .admin-vehicle-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .admin-vehicle-grid {
    grid-template-columns: 1fr;
  }
}


/* V112 vehicle specifications */
.dealer-specs {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
}
.dealer-specs span {
  display:grid;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:rgba(255,255,255,.025);
}
.dealer-specs b { font-size:17px; }
.dealer-specs small { color:var(--muted); font-size:11px; margin-top:2px; }
.dealer-performance-class {
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  border:1px solid rgba(255,64,87,.45);
  background:rgba(255,64,87,.09);
  color:#ff9aaa;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.dealer-rating-row {
  display:grid;
  gap:5px;
  margin:12px 0 4px;
}
.dealer-rating-row span {
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  font-size:12px;
}
.dealer-rating-row b { color:var(--text); }
.admin-specs { margin-top:14px; }
