
:root{--ducati-red:#ed192d;--ducati-black:#231f20;--white:#ffffff;--bg:#000000;--surface:#121011;--surface-raised:#231f20;--surface-sunken:#0a0909;--line:#3a3536;--line-strong:#7a7374;--text:#ffffff;--text-muted:#b3adae;--red-action:#e0172a;--red-action-hover:#c8102e;--on-red:#ffffff;--focus:#ffffff;--scrim:rgba(0, 0, 0, 0.55);--success:#3fcf8e;--warning:#ffb020;--info:#6ea8ff;--danger:#ff5a66;--shadow-pop:0 16px 40px rgba(0, 0, 0, 0.6);color-scheme:dark;}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--ducati-red:#ed192d;--ducati-black:#231f20;--white:#ffffff;--bg:#ffffff;--surface:#f5f4f4;--surface-raised:#ffffff;--surface-sunken:#ebe9e9;--line:#d9d6d6;--line-strong:#857e7f;--text:#231f20;--text-muted:#5e5859;--red-action:#e0172a;--red-action-hover:#c8102e;--on-red:#ffffff;--focus:#231f20;--scrim:rgba(0, 0, 0, 0.55);--success:#0f7a4e;--warning:#8a5a00;--info:#1f5fd1;--danger:#c8102e;--shadow-pop:0 16px 40px rgba(35, 31, 32, 0.16);color-scheme:light;}}
:root[data-theme="light"]{--ducati-red:#ed192d;--ducati-black:#231f20;--white:#ffffff;--bg:#ffffff;--surface:#f5f4f4;--surface-raised:#ffffff;--surface-sunken:#ebe9e9;--line:#d9d6d6;--line-strong:#857e7f;--text:#231f20;--text-muted:#5e5859;--red-action:#e0172a;--red-action-hover:#c8102e;--on-red:#ffffff;--focus:#231f20;--scrim:rgba(0, 0, 0, 0.55);--success:#0f7a4e;--warning:#8a5a00;--info:#1f5fd1;--danger:#c8102e;--shadow-pop:0 16px 40px rgba(35, 31, 32, 0.16);color-scheme:light;}
:root[data-theme="dark"]{--ducati-red:#ed192d;--ducati-black:#231f20;--white:#ffffff;--bg:#000000;--surface:#121011;--surface-raised:#231f20;--surface-sunken:#0a0909;--line:#3a3536;--line-strong:#7a7374;--text:#ffffff;--text-muted:#b3adae;--red-action:#e0172a;--red-action-hover:#c8102e;--on-red:#ffffff;--focus:#ffffff;--scrim:rgba(0, 0, 0, 0.55);--success:#3fcf8e;--warning:#ffb020;--info:#6ea8ff;--danger:#ff5a66;--shadow-pop:0 16px 40px rgba(0, 0, 0, 0.6);color-scheme:dark;}
.theme-light{--ducati-red:#ed192d;--ducati-black:#231f20;--white:#ffffff;--bg:#ffffff;--surface:#f5f4f4;--surface-raised:#ffffff;--surface-sunken:#ebe9e9;--line:#d9d6d6;--line-strong:#857e7f;--text:#231f20;--text-muted:#5e5859;--red-action:#e0172a;--red-action-hover:#c8102e;--on-red:#ffffff;--focus:#231f20;--scrim:rgba(0, 0, 0, 0.55);--success:#0f7a4e;--warning:#8a5a00;--info:#1f5fd1;--danger:#c8102e;--shadow-pop:0 16px 40px rgba(35, 31, 32, 0.16);color-scheme:light;}
.theme-dark{--ducati-red:#ed192d;--ducati-black:#231f20;--white:#ffffff;--bg:#000000;--surface:#121011;--surface-raised:#231f20;--surface-sunken:#0a0909;--line:#3a3536;--line-strong:#7a7374;--text:#ffffff;--text-muted:#b3adae;--red-action:#e0172a;--red-action-hover:#c8102e;--on-red:#ffffff;--focus:#ffffff;--scrim:rgba(0, 0, 0, 0.55);--success:#3fcf8e;--warning:#ffb020;--info:#6ea8ff;--danger:#ff5a66;--shadow-pop:0 16px 40px rgba(0, 0, 0, 0.6);color-scheme:dark;}
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:160px;--radius-0:0px;--radius-sm:2px;--radius-round:999px;--z-nav:50;--z-overlay:80;--z-dialog:100;--font-display:"Ducati Style Ext", "Prompt", sans-serif;--font-cond:"Ducati Style Cond", "Prompt", sans-serif;--font-sans:"Ducati Style", "Prompt", sans-serif;--font-thai:"Prompt", "Ducati Style", sans-serif;}
@font-face{font-family:"Ducati Style";src:url("DucatiStyle_Rg.woff2") format("woff2");font-weight:400;font-display:swap;}
@font-face{font-family:"Ducati Style";src:url("DucatiStyle_Bd.woff2") format("woff2");font-weight:700;font-display:swap;}
@font-face{font-family:"Ducati Style";src:url("DucatiStyle_XBd.woff2") format("woff2");font-weight:800;font-display:swap;}
@font-face{font-family:"Ducati Style Cond";src:url("DucatiStyleCond_Rg.woff2") format("woff2");font-weight:400;font-display:swap;}
@font-face{font-family:"Ducati Style Cond";src:url("DucatiStyleCond_Bd.woff2") format("woff2");font-weight:700;font-display:swap;}
@font-face{font-family:"Ducati Style Cond";src:url("DucatiStyleCond_XBd.woff2") format("woff2");font-weight:800;font-display:swap;}
@font-face{font-family:"Ducati Style Ext";src:url("DucatiStyleExt_Rg.woff2") format("woff2");font-weight:400;font-display:swap;}
@font-face{font-family:"Ducati Style Ext";src:url("DucatiStyleExt_Bd.woff2") format("woff2");font-weight:700;font-display:swap;}
.topline{font-family:"Ducati Style Ext", "Prompt", sans-serif;font-size:20px;line-height:1.3;font-weight:400;}
.display-xl{font-family:"Ducati Style Ext", "Prompt", sans-serif;font-size:80px;line-height:1;font-weight:700;letter-spacing:-0.01em;}
.display-l{font-family:"Ducati Style Ext", "Prompt", sans-serif;font-size:56px;line-height:1.05;font-weight:700;}
.h1{font-family:"Ducati Style Ext", "Prompt", sans-serif;font-size:40px;line-height:1.1;font-weight:700;}
.subtitle{font-family:"Ducati Style Ext", "Prompt", sans-serif;font-size:22px;line-height:1.35;font-weight:400;}
.h2{font-family:"Ducati Style Ext", "Prompt", sans-serif;font-size:30px;line-height:1.15;font-weight:700;}
.h3{font-family:"Ducati Style Ext", "Prompt", sans-serif;font-size:20px;line-height:1.25;font-weight:700;}
.lead{font-family:"Ducati Style", "Prompt", sans-serif;font-size:18px;line-height:1.6;font-weight:400;}
.body{font-family:"Ducati Style", "Prompt", sans-serif;font-size:16px;line-height:1.6;font-weight:400;}
.body-sm{font-family:"Ducati Style", "Prompt", sans-serif;font-size:14px;line-height:1.55;font-weight:400;}
.label{font-family:"Ducati Style", "Prompt", sans-serif;font-size:15px;line-height:1.2;font-weight:700;}
.caption{font-family:"Ducati Style", "Prompt", sans-serif;font-size:12px;line-height:1.4;font-weight:400;}
.price{font-family:"Ducati Style", "Prompt", sans-serif;font-size:24px;line-height:1.1;font-weight:700;}
.stat{font-family:"Ducati Style Cond", "Prompt", sans-serif;font-size:44px;line-height:1;font-weight:800;}
.ui-dense{font-family:"Ducati Style Cond", "Prompt", sans-serif;font-size:13px;line-height:1.2;font-weight:700;}
.thai-heading{font-family:"Prompt", "Ducati Style", sans-serif;font-size:32px;line-height:1.3;font-weight:600;}
.thai-body{font-family:"Prompt", "Ducati Style", sans-serif;font-size:16px;line-height:1.7;font-weight:400;}


/* Motion — the brand's only timing values */
:root {
  --ease-ducati: cubic-bezier(0.2, 0.7, 0.1, 1);
  --ease-out-quick: cubic-bezier(0.3, 0, 0, 1);
  --dur-fast: 180ms;
  --dur-base: 360ms;
  --dur-slow: 900ms;
}

body { background: var(--bg); color: var(--text); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; }
.stat, .price, .dk-table td { font-feature-settings: 'tnum' 1; }
/* Ducati Style CI: no all-caps, no underlining, lettering black or white only. */

.dk-icon { flex: none; display: block; }

/* Focus — one ring everywhere */
:where(.dk-btn, .dk-nav a, .dk-nav button, .dk-field__control, .dk-news, .dk-lang__opt):focus-visible {
  outline: 2px solid var(--focus); outline-offset: 2px;
}

/* Button */
.dk-btn {
  --h: 48px;
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: var(--h); padding: 0 var(--space-5);
  border: 1px solid transparent; border-radius: var(--radius-0);
  font: 700 15px/1 var(--font-sans); text-decoration: none;
  cursor: pointer; position: relative; overflow: hidden; isolation: isolate;
  transition: color var(--dur-fast) var(--ease-out-quick), border-color var(--dur-fast) var(--ease-out-quick), background-color var(--dur-fast) var(--ease-out-quick);
}
.dk-btn--sm { --h: 40px; padding: 0 var(--space-4); font-size: 14px; }
.dk-btn--lg { --h: 56px; padding: 0 var(--space-6); font-size: 16px; }
.dk-btn--block { display: flex; width: 100%; }
.dk-btn .dk-icon { transition: transform var(--dur-base) var(--ease-ducati); }
.dk-btn:hover .dk-icon { transform: translateX(4px); }
.dk-btn::before { /* wipe fill from the left on hover */
  content: ''; position: absolute; inset: 0; z-index: -1; transform: scaleX(0); transform-origin: left;
  transition: transform var(--dur-base) var(--ease-ducati);
}
.dk-btn:hover::before { transform: scaleX(1); }
.dk-btn--primary { background: var(--red-action); color: var(--on-red); }
.dk-btn--primary::before { background: var(--red-action-hover); }
.dk-btn--secondary { background: transparent; color: var(--text); border-color: var(--text); }
.dk-btn--secondary::before { background: var(--text); }
.dk-btn--secondary:hover { color: var(--bg); }
.dk-btn--ghost { background: transparent; color: var(--text); padding: 0 var(--space-2); }
.dk-btn--ghost .dk-icon { color: var(--ducati-red); }
.dk-btn--light { background: var(--white); color: var(--ducati-black); }
.dk-btn--light::before { background: var(--red-action); }
.dk-btn--light:hover { color: var(--on-red); }
.dk-btn:disabled, .dk-btn[aria-disabled='true'] { opacity: 0.4; pointer-events: none; }

/* Reveal — scroll-in */
.dk-reveal { transition: opacity var(--dur-slow) var(--ease-ducati), transform var(--dur-slow) var(--ease-ducati); }
.dk-reveal.is-armed { opacity: 0; transform: translateY(32px); }
.dk-reveal.is-armed.is-in { opacity: 1; transform: none; }

/* NavBar */
.dk-nav {
  position: sticky; top: 0; z-index: var(--z-nav);
  display: flex; align-items: center; gap: var(--space-6); height: 72px; padding: 0 var(--space-7);
  background: rgba(0, 0, 0, 0.82); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  color: #ffffff; border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.dk-nav__brand { display: flex; align-items: center; gap: var(--space-3); color: inherit; text-decoration: none; }
.dk-nav__brand img { display: block; height: 36px; width: auto; }
.dk-nav__wordmark { font: 700 20px/1 var(--font-display); }
.dk-nav__market { font: 400 15px/1 var(--font-display); color: #ffffff; }
.dk-nav__links { display: flex; gap: var(--space-5); flex: 1; }
.dk-nav__link { position: relative; color: inherit; text-decoration: none; font: 700 15px/72px var(--font-sans); }
.dk-nav__link::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--ducati-red); transform: scaleX(0); transform-origin: left; transition: transform var(--dur-base) var(--ease-ducati); }
.dk-nav__link:hover::after, .dk-nav__link.is-active::after { transform: scaleX(1); }
.dk-nav__tools { display: flex; align-items: center; gap: var(--space-3); margin-left: auto; }
.dk-nav__icon { display: grid; place-items: center; width: 40px; height: 40px; background: none; border: 0; color: inherit; cursor: pointer; }
.dk-nav__burger { display: none; }
.dk-lang { display: flex; border: 1px solid rgba(255, 255, 255, 0.4); }
.dk-lang__opt { background: none; border: 0; color: #b3adae; font: 700 11px/1 var(--font-sans); letter-spacing: 0.1em; padding: 8px 10px; cursor: pointer; }
.dk-lang__opt.is-on { background: #ffffff; color: var(--ducati-black); }
@media (max-width: 860px) {
  .dk-nav { padding: 0 var(--space-4); gap: var(--space-3); height: 64px; }
  .dk-nav__links { display: none; }
  .dk-nav__burger { display: grid; }
  .dk-nav.is-open .dk-nav__links { display: flex; flex-direction: column; gap: 0; position: absolute; top: 64px; left: 0; right: 0; background: #000; padding: var(--space-4); }
  .dk-nav.is-open .dk-nav__link { line-height: 56px; border-bottom: 1px solid #3a3536; }
  .dk-nav .dk-lang { display: none; }
}

/* Hero */
.dk-hero { position: relative; display: flex; overflow: hidden; background: #000; color: #ffffff; }
.dk-hero--bottom { align-items: flex-end; }
.dk-hero--center { align-items: center; }
.dk-hero__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: dk-kenburns 14s var(--ease-ducati) both; }
.dk-hero__scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.35) 45%, rgba(0,0,0,0) 75%); }
.dk-hero__content { position: relative; padding: var(--space-9) var(--space-7) var(--space-8); max-width: 1100px; }
.dk-hero__kicker { color: #ffffff; margin: 0 0 var(--space-3); display: flex; align-items: center; gap: var(--space-3); animation: dk-fade 900ms var(--ease-ducati) both; }
.dk-hero__kicker::before { content: ''; width: 40px; height: 3px; background: var(--ducati-red); }
.dk-hero__title { margin: 0; }
.dk-hero__word { display: inline-block; overflow: hidden; vertical-align: bottom; margin-right: 0.22em; padding-bottom: 0.04em; }
.dk-hero__word > span { display: inline-block; animation: dk-rise 1000ms var(--ease-ducati) both; }
.dk-hero__lead { margin: var(--space-5) 0 0; max-width: 560px; color: #e6e2e2; animation: dk-fade 900ms 500ms var(--ease-ducati) both; }
.dk-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); animation: dk-fade 900ms 700ms var(--ease-ducati) both; }
@media (max-width: 720px) {
  .dk-hero__content { padding: var(--space-8) var(--space-4) var(--space-7); }
  .dk-hero__title { font-size: 48px; }
}
@keyframes dk-rise { from { transform: translateY(105%); } to { transform: none; } }
@keyframes dk-fade { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes dk-kenburns { from { transform: scale(1.08); } to { transform: scale(1); } }

/* SpecStat */
.dk-spec__num { display: flex; align-items: baseline; gap: 4px; color: var(--text); }
.dk-spec__unit { font: 700 14px/1 var(--font-cond); color: var(--text-muted); }
.dk-spec__label { font: 400 13px/1.4 var(--font-sans); color: var(--text-muted); margin-top: 4px; }

/* ModelCard */
.dk-model { display: flex; flex-direction: column; background: var(--surface); color: var(--text); position: relative; }
.dk-model::after { content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: var(--ducati-red); transform: scaleX(0); transform-origin: left; transition: transform var(--dur-base) var(--ease-ducati); }
.dk-model:hover::after { transform: scaleX(1); }
.dk-model__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #000; }
.dk-model__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--dur-slow) var(--ease-ducati); }
.dk-model:hover .dk-model__media img { transform: scale(1.05); }
.dk-model__badge { position: absolute; top: var(--space-4); left: var(--space-4); background: var(--ducati-red); color: var(--on-red); padding: 6px 10px; font: 700 13px/1 var(--font-sans); }
.dk-model__body { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); }
.dk-model__family { margin: 0; color: var(--text); }
.dk-model__name { margin: 0; font: 700 26px/1.1 var(--font-display); }
.dk-model__specs { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); padding: var(--space-4) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.dk-model__specs .stat { font-size: 30px; }
.dk-model__price { margin: 0; display: flex; flex-direction: column; gap: 2px; }
.dk-model__price .caption { color: var(--text-muted); }
.dk-model__actions { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-2); }

/* Field */
.dk-field { display: flex; flex-direction: column; gap: var(--space-2); }
.dk-field__label { font: 700 14px/1.2 var(--font-sans); color: var(--text); }
.dk-field__control {
  height: 48px; padding: 0 var(--space-4); border: 1px solid var(--line-strong); border-radius: var(--radius-0);
  background: var(--surface-raised); color: var(--text); font: 400 16px/1.4 var(--font-sans);
  transition: border-color var(--dur-fast) var(--ease-out-quick), box-shadow var(--dur-fast) var(--ease-out-quick);
}
textarea.dk-field__control { height: auto; min-height: 112px; padding: var(--space-3) var(--space-4); resize: vertical; }
.dk-field__control:hover { border-color: var(--text-muted); }
.dk-field__control:focus { border-color: var(--text); box-shadow: inset 0 -3px 0 var(--ducati-red); outline: none; }
.dk-field__msg { margin: 0; font: 400 13px/1.4 var(--font-sans); color: var(--text-muted); }
.dk-field.is-error .dk-field__control { border-color: var(--danger); }
.dk-field__msg--err { color: var(--danger); }

/* StatusBadge */
.dk-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 8px; border-radius: var(--radius-sm); font: 700 12px/1.3 var(--font-sans); border: 1px solid currentColor; white-space: nowrap; }
.dk-badge__dot { width: 8px; height: 8px; border-radius: var(--radius-round); background: currentColor; }
.dk-badge--success { color: var(--success); }
.dk-badge--warning { color: var(--warning); }
.dk-badge--info { color: var(--info); }
.dk-badge--info .dk-badge__dot { animation: dk-pulse 1.6s ease-in-out infinite; }
.dk-badge--danger { color: var(--danger); }
.dk-badge--neutral { color: var(--text-muted); }
@keyframes dk-pulse { 50% { opacity: 0.3; } }

/* KpiTile */
.dk-kpi { position: relative; background: var(--surface); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); overflow: hidden; }
.dk-kpi p { margin: 0; }
.dk-kpi__label { color: var(--text-muted); }
.dk-kpi__value { display: flex; align-items: baseline; gap: 6px; }
.dk-kpi__delta { font: 700 13px/1.3 var(--font-sans); }
.dk-kpi__delta.is-up { color: var(--success); }
.dk-kpi__delta.is-down { color: var(--danger); }
.dk-kpi__note { color: var(--text-muted); font-weight: 400; }
.dk-kpi__bar { position: absolute; left: 0; top: 0; width: 3px; height: 100%; background: var(--ducati-red); transform: scaleY(0); transform-origin: top; animation: dk-grow-y var(--dur-slow) var(--ease-ducati) forwards; }
@keyframes dk-grow-y { to { transform: scaleY(1); } }

/* DataTable */
.dk-table { background: var(--surface); color: var(--text); }
.dk-table__head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--line); }
.dk-table__head h3 { margin: 0; }
.dk-table__actions { display: flex; gap: var(--space-2); }
.dk-table__scroll { overflow-x: auto; }
.dk-table table { width: 100%; border-collapse: collapse; font: 400 14px/1.5 var(--font-sans); }
.dk-table th { font: 700 13px/1.2 var(--font-cond); color: var(--text-muted); background: var(--surface-raised); padding: var(--space-3) var(--space-5); white-space: nowrap; }
.dk-table td { padding: var(--space-3) var(--space-5); border-bottom: 1px solid var(--line); white-space: nowrap; }
.dk-table tbody tr { transition: background-color var(--dur-fast) var(--ease-out-quick); }
.dk-table tbody tr:hover { background: var(--surface-raised); }
.dk-table__empty { text-align: center; color: var(--text-muted); padding: var(--space-7) !important; }

/* NewsCard */
.dk-news { display: flex; flex-direction: column; color: var(--text); text-decoration: none; background: var(--surface); }
.dk-news__media { aspect-ratio: 4 / 5; overflow: hidden; background: #000; }
.dk-news__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--dur-slow) var(--ease-ducati), filter var(--dur-slow) var(--ease-ducati); filter: saturate(0.9); }
.dk-news:hover .dk-news__media img { transform: scale(1.05); filter: none; }
.dk-news__body { padding: var(--space-4) var(--space-5) var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); }
.dk-news__meta { margin: 0; display: flex; gap: var(--space-3); color: var(--text-muted); }
.dk-news__src { color: var(--text); font-weight: 700; }
.dk-news__title { margin: 0; font: 700 18px/1.3 var(--font-display); }
.dk-news__excerpt { margin: 0; color: var(--text-muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dk-news__more { display: inline-flex; align-items: center; gap: 6px; margin-top: var(--space-2); }
.dk-news__more .dk-icon { transition: transform var(--dur-base) var(--ease-ducati); }
.dk-news:hover .dk-news__more .dk-icon { transform: translateX(4px); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-delay: 0ms !important; transition-duration: 1ms !important; }
  .dk-reveal.is-armed { opacity: 1; transform: none; }
}

/* Layout: full-bleed black showroom bands with a 1440px content column; square-cut everything. */
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--font-sans); }
.site { min-height: 100%; overflow-x: clip; }
.wrap { width: 100%; max-width: 1440px; margin-inline: auto; padding-inline: var(--space-7); box-sizing: border-box; }
@media (max-width: 720px) { .wrap { padding-inline: var(--space-4); } }
.muted { color: var(--text-muted); }
.mono { font-family: var(--font-cond); font-weight: 700; letter-spacing: 0.06em; font-feature-settings: 'tnum' 1; }
.big { font-size: 28px; line-height: 1.1; }
.sel { user-select: all; }
p { margin: 0; }
h1, h2, h3 { margin: 0; text-wrap: balance; }
.dk-nav { top: env(safe-area-inset-top, 0px); }
.dk-nav__market { color: #b3adae; }

.page-enter { animation: dk-fade 600ms var(--ease-ducati) both; }

/* Page head */
.phead { position: relative; background: #000; color: #fff; overflow: hidden; }
.phead__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.55; animation: dk-kenburns 14s var(--ease-ducati) both; }
.phead--img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.85), rgba(0,0,0,0.1) 70%); }
.phead__in { position: relative; z-index: 1; padding-block: var(--space-9) var(--space-8); display: flex; flex-direction: column; gap: var(--space-4); }
.phead__kicker { display: flex; align-items: center; gap: var(--space-3); color: #fff; }
.phead__kicker::before { content: ''; width: 40px; height: 3px; background: var(--ducati-red); }
.phead__title { max-width: 18ch; }
.phead__lead { max-width: 60ch; color: #e6e2e2; }
@media (max-width: 720px) { .phead__title { font-size: 36px; } .phead__in { padding-block: var(--space-8) var(--space-7); } }

/* Sections */
.sect { padding-block: var(--space-9); display: flex; flex-direction: column; gap: var(--space-6); }
.sect--band { background: var(--surface); }
.sect__head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-5); flex-wrap: wrap; }
.sect__title { margin-top: var(--space-2); }
.sect__more { display: flex; justify-content: center; }
@media (max-width: 720px) { .sect { padding-block: var(--space-8); } }

.grid3 { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--space-6); }
.grid4 { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--space-5); }
@media (max-width: 400px) { .grid3, .grid4 { grid-template-columns: 1fr; } }
.grid3 > *, .grid4 > * { min-width: 0; display: flex; }
.grid3 > * > *, .grid4 > * > * { flex: 1; }

.skel { min-height: 320px; background: linear-gradient(90deg, var(--surface) 0%, var(--surface-raised) 50%, var(--surface) 100%) 0 0 / 200% 100%; animation: shimmer 1.4s linear infinite; }
.skel--tall { min-height: 420px; }
@keyframes shimmer { to { background-position: -200% 0; } }
.empty { padding: var(--space-8) var(--space-5); background: var(--surface); text-align: center; display: grid; gap: var(--space-2); color: var(--text); }
.empty .body-sm { color: var(--text-muted); }

.sample-note { display: flex; align-items: center; gap: var(--space-2); color: var(--text-muted); }
.sample-note__dot { width: 8px; height: 8px; background: var(--warning); flex: none; }

/* Chips & tabs */
.chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.chip { height: 36px; padding: 0 var(--space-4); background: transparent; color: var(--text); border: 1px solid var(--line-strong); font: 700 14px/1 var(--font-sans); cursor: pointer; transition: background-color var(--dur-fast) var(--ease-out-quick), color var(--dur-fast) var(--ease-out-quick); }
.chip:hover { border-color: var(--text); }
.chip.is-on { background: var(--text); color: var(--bg); border-color: var(--text); }
.tabs { display: flex; gap: var(--space-6); border-bottom: 1px solid var(--line); }
.tab { position: relative; background: none; border: 0; color: var(--text-muted); padding: var(--space-4) 0; font: 700 16px/1 var(--font-sans); cursor: pointer; }
.tab::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--ducati-red); transform: scaleX(0); transform-origin: left; transition: transform var(--dur-base) var(--ease-ducati); }
.tab.is-on { color: var(--text); }
.tab.is-on::after { transform: scaleX(1); }
.chip:focus-visible, .tab:focus-visible, .seg__opt:focus-visible, .slot:focus-visible, .fcell:focus-visible, .quick__item:focus-visible, .gbtn:focus-visible, .linkbtn:focus-visible, .sheet__close:focus-visible, .foot a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

/* Quick actions */
.quick { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); margin-top: calc(-1 * var(--space-8)); position: relative; z-index: 2; padding-inline: 0; max-width: calc(1440px - 2 * var(--space-7)); }
.quick__item { position: relative; display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-5); background: var(--surface-raised); color: var(--text); text-decoration: none; min-width: 0; overflow: hidden; animation: dk-fade 900ms var(--ease-ducati) both; }
.quick__item::before { content: ''; position: absolute; inset: 0; background: var(--red-action); transform: translateY(101%); transition: transform var(--dur-base) var(--ease-ducati); }
.quick__item > * { position: relative; }
.quick__item:hover::before { transform: none; }
.quick__item:hover, .quick__item:hover .quick__n, .quick__item:hover .quick__d { color: var(--on-red); }
.quick__n { color: var(--text-muted); }
.quick__d { color: var(--text-muted); }
.quick__arrow { position: absolute; right: var(--space-5); top: var(--space-5); transition: transform var(--dur-base) var(--ease-ducati); }
.quick__item:hover .quick__arrow { transform: translateX(4px); }
@media (max-width: 960px) { .quick { grid-template-columns: repeat(2, 1fr); margin-inline: var(--space-4); max-width: none; } }
@media (max-width: 480px) { .quick { grid-template-columns: 1fr; margin-top: 0; margin-inline: 0; } }

/* Engineering band */
.eng { display: grid; grid-template-columns: 1.1fr 1fr; background: #000; color: #fff; min-height: 560px; }
.eng__media { overflow: hidden; }
.eng__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 2s var(--ease-ducati); }
.eng:hover .eng__media img { transform: scale(1.04); }
.eng__body { padding: var(--space-9) var(--space-7); display: flex; flex-direction: column; gap: var(--space-5); justify-content: center; }
.eng__lead { color: #d6d1d1; max-width: 52ch; }
.eng__stats { display: flex; gap: var(--space-7); flex-wrap: wrap; padding-block: var(--space-4); border-top: 1px solid #3a3536; border-bottom: 1px solid #3a3536; }
.eng .dk-spec__num, .eng .dk-spec__label, .eng .dk-spec__unit { color: #fff; }
.eng .dk-spec__label, .eng .dk-spec__unit { color: #b3adae; }
@media (max-width: 860px) { .eng { grid-template-columns: 1fr; } .eng__media { aspect-ratio: 16 / 9; } .eng__body { padding: var(--space-8) var(--space-4); } .eng__title { font-size: 40px; } }

/* Branches */
.branches { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--space-5); }
.branch { background: var(--bg); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; border-top: 3px solid var(--ducati-red); }
.branch__name { margin-bottom: var(--space-1); }
.branch__tags { display: flex; flex-wrap: wrap; gap: var(--space-1); margin-top: var(--space-2); }
.tag { font: 700 11px/1 var(--font-sans); letter-spacing: 0.06em; padding: 6px 8px; background: var(--surface-sunken); color: var(--text-muted); }
.branch__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }

/* Footer */
.foot { background: #000; color: #fff; padding-block: var(--space-8) var(--space-5); border-top: 1px solid #3a3536; }
.foot__in { display: flex; justify-content: space-between; gap: var(--space-7); flex-wrap: wrap; }
.foot__brand { display: grid; gap: var(--space-3); max-width: 320px; }
.foot__brand .muted, .foot__legal { color: #b3adae; }
.foot__cols { display: flex; gap: var(--space-8); flex-wrap: wrap; }
.foot__cols > div { display: grid; gap: var(--space-2); align-content: start; }
.foot__cols .label { color: #ffffff; margin-bottom: var(--space-1); }
.foot a { color: #b3adae; text-decoration: none; font-size: 15px; transition: color var(--dur-fast) var(--ease-out-quick); }
.foot a:hover { color: #ffffff; }
.foot__legal { margin-top: var(--space-7); padding-top: var(--space-4); border-top: 1px solid #3a3536; }

/* Model sheet */
.sheet { position: fixed; inset: 0; z-index: var(--z-dialog); background: var(--scrim); display: flex; justify-content: flex-end; animation: fade-in var(--dur-base) var(--ease-out-quick) both; }
.sheet__panel { position: relative; width: min(760px, 100%); height: 100%; overflow-y: auto; background: var(--bg); color: var(--text); box-shadow: var(--shadow-pop); animation: slide-in 600ms var(--ease-ducati) both; padding-bottom: env(safe-area-inset-bottom, 0px); }
.sheet__close { position: absolute; top: calc(var(--space-4) + env(safe-area-inset-top, 0px)); right: var(--space-4); z-index: 2; width: 44px; height: 44px; display: grid; place-items: center; background: #000; color: #fff; border: 0; cursor: pointer; }
.sheet__media { aspect-ratio: 16 / 10; background: #000; overflow: hidden; max-width: 100%; }
.sheet__media img { width: 100%; height: 100%; object-fit: cover; display: block; animation: dk-kenburns 6s var(--ease-ducati) both; }
.sheet__body { padding: var(--space-6) var(--space-6) var(--space-8); display: flex; flex-direction: column; gap: var(--space-4); }
.sheet__title { font-size: clamp(32px, 6vw, 56px); }
.sheet__specs { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: var(--space-5); padding-block: var(--space-5); border-block: 1px solid var(--line); }
.sheet__price { display: flex; flex-direction: column; gap: 2px; }
.sheet__price .price { font-size: 36px; }
.sheet__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
@keyframes slide-in { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes fade-in { from { opacity: 0; } }
@media (max-width: 600px) { .sheet__body { padding: var(--space-5) var(--space-4) var(--space-8); } }

/* Toolbar */
.toolbar { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-5); flex-wrap: wrap; }
.toolbar__sort { min-width: 220px; }

/* Forms */
.split { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: var(--space-8); align-items: start; flex-direction: unset; }
@media (max-width: 960px) { .split { grid-template-columns: 1fr; } }
.split__aside { display: grid; gap: var(--space-5); position: sticky; top: 96px; }
@media (max-width: 960px) { .split__aside { position: static; } }
.pickcard { background: var(--surface); padding-bottom: var(--space-5); display: grid; gap: var(--space-2); }
.pickcard img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; margin-bottom: var(--space-3); }
.pickcard > :not(img) { padding-inline: var(--space-5); }
.pickcard__specs { display: flex; gap: var(--space-5); margin-top: var(--space-3); }
.pickcard__specs .stat { font-size: 26px; }
.steps { margin: 0; padding: 0; list-style: none; counter-reset: s; display: grid; gap: var(--space-3); }
.steps li { counter-increment: s; display: flex; gap: var(--space-3); align-items: baseline; color: var(--text-muted); }
.steps li::before { content: counter(s, decimal-leading-zero); font: 800 18px/1 var(--font-cond); color: var(--text); border-bottom: 3px solid var(--ducati-red); padding-bottom: 4px; }

.form { display: grid; gap: var(--space-5); min-width: 0; }
.form__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--space-5); }
.form > .dk-btn { justify-self: start; }
.check { display: flex; gap: var(--space-3); align-items: flex-start; cursor: pointer; color: var(--text); }
.check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--red-action); flex: none; }
.check.is-error span { color: var(--danger); }
.dk-field__control { width: 100%; box-sizing: border-box; min-width: 0; }
.dk-field { min-width: 0; }
input[type='date'].dk-field__control { color-scheme: inherit; }

.confirm { display: grid; gap: var(--space-4); align-content: start; padding: var(--space-6); background: var(--surface); border-top: 3px solid var(--ducati-red); animation: dk-fade 700ms var(--ease-ducati) both; min-width: 0; }
.confirm > .dk-btn { justify-self: start; }
.kv { margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--space-4); padding-block: var(--space-4); border-block: 1px solid var(--line); }
.kv dt { font: 400 13px/1.2 var(--font-sans); color: var(--text-muted); margin-bottom: 4px; }
.kv dd { margin: 0; font-size: 16px; }

/* Finance */
.fin { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--space-8); align-items: start; }
@media (max-width: 960px) { .fin { grid-template-columns: 1fr; } }
.fin__controls { display: grid; gap: var(--space-5); }
.range { display: grid; gap: var(--space-3); }
.range__val { color: var(--text); font-weight: 700; margin-left: var(--space-2); letter-spacing: 0; text-transform: none; font-feature-settings: 'tnum' 1; }
input[type='range'] { width: 100%; accent-color: var(--red-action); height: 28px; }
.seg { display: grid; gap: var(--space-2); }
.seg__row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line-strong); border: 1px solid var(--line-strong); }
.seg__opt { height: 48px; border: 0; background: var(--surface-raised); color: var(--text); font: 800 18px/1 var(--font-cond); cursor: pointer; transition: background-color var(--dur-fast) var(--ease-out-quick); }
.seg__opt.is-on { background: var(--red-action); color: var(--on-red); }
.fin__result { display: grid; gap: var(--space-4); background: var(--surface); padding: var(--space-6); position: sticky; top: 96px; overflow: hidden; }
@media (max-width: 960px) { .fin__result { position: static; } }
.fin__hero { position: relative; display: grid; gap: var(--space-2); padding-bottom: var(--space-3); }
.fin__img { position: absolute; right: calc(-1 * var(--space-6)); top: calc(-1 * var(--space-6)); width: 48%; max-width: 100%; opacity: 0.35; pointer-events: none; mask-image: linear-gradient(to left, #000 40%, transparent); -webkit-mask-image: linear-gradient(to left, #000 40%, transparent); }
.fin__hero > :not(img) { position: relative; }
.fin__big { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--space-2); }
.fin__num { font: 800 clamp(44px, 7vw, 72px)/1 var(--font-cond); font-feature-settings: 'tnum' 1; color: var(--text); }
.fin__per { font: 700 16px/1 var(--font-sans); color: var(--text-muted); }
.kv--fin dd { font: 700 20px/1.2 var(--font-cond); font-feature-settings: 'tnum' 1; }
.ftable { min-width: 640px; }
.ftable td:first-child { white-space: nowrap; }
.fcell { background: none; border: 1px solid transparent; color: var(--text); font: 700 15px/1 var(--font-sans); font-feature-settings: 'tnum' 1; padding: 8px 10px; cursor: pointer; }
.fcell:hover { border-color: var(--line-strong); }
.fcell.is-on { background: var(--red-action); color: var(--on-red); }

/* Service */
.slots { border: 0; padding: 0; margin: 0; display: grid; gap: var(--space-3); min-width: 0; }
.slots__row { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: var(--space-2); }
.slot { display: grid; gap: 4px; padding: var(--space-3); background: var(--surface-raised); border: 1px solid var(--line-strong); color: var(--text); cursor: pointer; text-align: left; transition: background-color var(--dur-fast) var(--ease-out-quick), border-color var(--dur-fast) var(--ease-out-quick); }
.slot:hover:not(:disabled) { border-color: var(--text); }
.slot__t { font: 800 22px/1 var(--font-cond); font-feature-settings: 'tnum' 1; }
.slot__c { color: var(--text-muted); }
.slot.is-on { background: var(--red-action); border-color: var(--red-action); color: var(--on-red); }
.slot.is-on .slot__c { color: var(--on-red); }
.slot.is-full { opacity: 0.45; cursor: not-allowed; text-decoration: line-through; }

.track { display: grid; gap: var(--space-5); max-width: 880px; }
.track__form { display: flex; gap: var(--space-3); align-items: flex-end; flex-wrap: wrap; }
.track__form .dk-field { flex: 1 1 280px; }
.ticket { background: var(--surface); padding: var(--space-5); display: grid; gap: var(--space-4); border-top: 3px solid var(--ducati-red); animation: dk-fade 600ms var(--ease-ducati) both; min-width: 0; }
.ticket__head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-4); flex-wrap: wrap; }
.ticket__meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); color: var(--text-muted); }
.ticket__note { padding: var(--space-3) var(--space-4); background: var(--surface-sunken); }
.ticket__live { display: flex; align-items: center; gap: var(--space-2); }
.live-dot { width: 8px; height: 8px; border-radius: var(--radius-round); background: var(--success); animation: dk-pulse 1.6s ease-in-out infinite; }
.progress { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-2); }
.progress__step { display: grid; gap: var(--space-2); color: var(--text-muted); }
.progress__bar { height: 4px; background: var(--line); position: relative; overflow: hidden; }
.progress__bar::after { content: ''; position: absolute; inset: 0; background: var(--ducati-red); transform: scaleX(0); transform-origin: left; transition: transform var(--dur-slow) var(--ease-ducati); }
.progress__step.is-done .progress__bar::after { transform: scaleX(1); }
.progress__step.is-done { color: var(--text); }
.progress__step.is-now .caption { font-weight: 700; }

/* Parts */
.pfilter { display: grid; grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
@media (max-width: 720px) { .pfilter { grid-template-columns: 1fr; } }
.pcount { margin-top: calc(-1 * var(--space-3)); }
.part { background: var(--surface); display: flex; flex-direction: column; min-width: 0; transition: transform var(--dur-base) var(--ease-ducati); }
.part:hover { transform: translateY(-4px); }
.part__media { aspect-ratio: 1; background: #000; overflow: hidden; max-width: 100%; }
.part__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--dur-slow) var(--ease-ducati); }
.part:hover .part__media img { transform: scale(1.06); }
.part__media--none { display: grid; place-items: center; background: repeating-linear-gradient(135deg, var(--surface-raised) 0 12px, var(--surface-sunken) 12px 24px); }
.part__ph { color: var(--text-muted); }
.part__body { padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
.part__name { font: 700 18px/1.3 var(--font-cond); }
.part__foot { margin-top: auto; padding-top: var(--space-3); display: flex; justify-content: space-between; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.part__foot .price { font-size: 20px; }

/* Auth */
.auth { display: grid; grid-template-columns: 1.1fr 1fr; min-height: calc(100vh - 72px); }
.auth__media { position: relative; background: #000; overflow: hidden; }
.auth__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.8; animation: dk-kenburns 14s var(--ease-ducati) both; }
.auth__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.85), transparent 60%); }
.auth__media-copy { position: absolute; left: var(--space-7); right: var(--space-7); bottom: var(--space-7); z-index: 1; color: #fff; display: grid; gap: var(--space-3); }
.auth__panel { padding: var(--space-8) var(--space-7); display: flex; flex-direction: column; gap: var(--space-5); max-width: 560px; width: 100%; box-sizing: border-box; }
.auth__stack { display: grid; gap: var(--space-4); }
.demo { padding: var(--space-3) var(--space-4); background: var(--surface-sunken); color: var(--text-muted); border-left: 0; }
.gbtn { height: 52px; display: flex; align-items: center; justify-content: center; gap: var(--space-3); background: var(--surface-raised); color: var(--text); border: 1px solid var(--line-strong); font: 700 14px/1 var(--font-sans); cursor: pointer; transition: border-color var(--dur-fast) var(--ease-out-quick); }
.gbtn:hover { border-color: var(--text); }
.gbtn__g { width: 24px; height: 24px; display: grid; place-items: center; background: var(--text); color: var(--bg); font: 800 14px/1 var(--font-sans); }
.or { display: flex; align-items: center; gap: var(--space-3); color: var(--text-muted); }
.or::before, .or::after { content: ''; height: 1px; flex: 1; background: var(--line); }
.linkbtn { background: none; border: 0; color: var(--text); font-weight: 700; padding: 0; cursor: pointer; justify-self: start; }
.linkbtn::after { content: ' →'; color: var(--ducati-red); }
@media (max-width: 860px) { .auth { grid-template-columns: 1fr; } .auth__media { min-height: 240px; } .auth__media-copy .display-l { font-size: 32px; } .auth__panel { padding: var(--space-7) var(--space-4); } }

@media (max-width: 720px) {
  .dk-hero__title { font-size: 44px; }
  .h2 { font-size: 28px; }
  .display-l { font-size: 36px; }
}

/* ======================= Team dashboard ======================= */
.tm { min-height: 100vh; background: var(--bg); color: var(--text); font-family: var(--font-sans); }
.tm-top { position: sticky; top: env(safe-area-inset-top, 0px); z-index: var(--z-nav); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); height: 60px; padding: 0 var(--space-5); background: #000; color: #fff; }
.tm-top__brand { display: flex; align-items: center; gap: var(--space-3); color: #fff; text-decoration: none; font: 400 15px/1 var(--font-display); }
.tm-top__brand b { font: 700 15px/1 var(--font-display); padding-left: var(--space-3); border-left: 1px solid #3a3536; }
.tm-top__tools { display: flex; align-items: center; gap: var(--space-3); flex-wrap: nowrap; }
.tm-top .dk-lang__opt.is-on { background: #fff; color: #231f20; }
.tm-as { display: flex; align-items: center; gap: var(--space-2); color: #b3adae; }
.tm-top .mini-select { background: #231f20; color: #fff; border-color: #7a7374; }
.tm-role { font: 700 13px/1 var(--font-sans); padding: 6px 10px; background: var(--ducati-red); color: #fff; }
.tm-me { color: #b3adae; }
.tm-back { color: #fff; text-decoration: none; }
.tm-back:hover { color: #b3adae; }
.tm-icon { width: 36px; height: 36px; display: inline-grid; place-items: center; background: none; border: 0; color: inherit; cursor: pointer; font-size: 18px; }
.tm-icon:focus-visible, .tm-side__item:focus-visible, .tm-link:focus-visible, .cal__day:focus-visible, .board__add:focus-visible, .thumb:focus-visible, .mini-select:focus-visible, .cell-input:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
@media (max-width: 860px) { .tm-me, .tm-back, .tm-as .caption { display: none; } .tm-top { padding: 0 var(--space-4); } }
@media (max-width: 520px) { .tm-top__brand span, .tm-top .dk-lang { display: none; } .tm-top__tools { gap: var(--space-1); } .tm-top .mini-select { max-width: 132px; } }
.tm-theme { width: 16px; height: 16px; border: 2px solid currentColor; border-radius: var(--radius-round); background: linear-gradient(90deg, currentColor 50%, transparent 50%); }

.tm-shell { display: grid; grid-template-columns: 232px minmax(0, 1fr); min-height: calc(100vh - 60px); }
.tm-side { background: var(--surface); border-right: 1px solid var(--line); padding: var(--space-4) 0; display: flex; flex-direction: column; gap: 2px; position: sticky; top: 60px; height: calc(100vh - 60px); box-sizing: border-box; }
.tm-side__item { position: relative; display: flex; align-items: center; gap: var(--space-3); padding: 12px var(--space-5); background: none; border: 0; color: var(--text-muted); font: 700 15px/1.2 var(--font-sans); text-align: left; cursor: pointer; transition: color var(--dur-fast) var(--ease-out-quick), background-color var(--dur-fast) var(--ease-out-quick); }
.tm-side__item::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--ducati-red); transform: scaleY(0); transition: transform var(--dur-base) var(--ease-ducati); }
.tm-side__item:hover { color: var(--text); }
.tm-side__item.is-on { color: var(--text); background: var(--surface-raised); }
.tm-side__item.is-on::before { transform: scaleY(1); }
@media (max-width: 860px) {
  .tm-shell { grid-template-columns: 1fr; }
  .tm-side { position: static; height: auto; flex-direction: row; overflow-x: auto; padding: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .tm-side__item { white-space: nowrap; padding: 14px var(--space-4); }
  .tm-side__item::before { top: auto; right: 0; width: auto; height: 3px; transform: scaleX(0); }
  .tm-side__item.is-on::before { transform: scaleX(1); }
}
.tm-main { padding: var(--space-6) var(--space-6) var(--space-8); display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; animation: dk-fade 500ms var(--ease-ducati) both; }
@media (max-width: 720px) { .tm-main { padding: var(--space-5) var(--space-4) var(--space-8); } }
.tm-head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-4); flex-wrap: wrap; }
.tm-head h1 { font-size: 32px; }
.tm-head__tools { display: flex; gap: var(--space-2); align-items: center; flex-wrap: wrap; }
.tm-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--space-3); }
.tm-kpis .stat { font-size: 36px; }
.tm-grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: var(--space-4); align-items: start; }
.tm-grid2 > * { min-width: 0; }
.tm-card { background: var(--surface); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
.tm-sub { margin-bottom: calc(-1 * var(--space-2)); }
.tm-count { margin-left: 8px; font: 700 12px/1 var(--font-cond); background: var(--ducati-red); color: #fff; padding: 3px 6px; vertical-align: 2px; }
.tm-toolbar { display: flex; gap: var(--space-2); align-items: center; flex-wrap: wrap; }
.tm-toolbar > .dk-btn:last-child { margin-left: auto; }
.tm-search { flex: 1 1 240px; }
.tm-center { min-height: calc(100vh - 60px); display: grid; place-items: center; padding: var(--space-6) var(--space-4); }
.tm-gate { max-width: 560px; display: grid; gap: var(--space-4); border-top: 3px solid var(--ducati-red); padding-top: var(--space-5); }
.tm-gate > .dk-btn { justify-self: start; }
.tm-link { background: none; border: 0; padding: 0; color: var(--text); font: 700 14px/1.4 var(--font-sans); cursor: pointer; text-align: left; }
.tm-link:hover { color: var(--text-muted); }
.tm-tags { display: inline-flex; gap: 4px; flex-wrap: wrap; }
.tm-confirm { display: inline-flex; gap: 4px; }
.tm-check { width: 18px; height: 18px; accent-color: var(--red-action); }
.mini-select, .cell-input { height: 36px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: 0; background: var(--surface-raised); color: var(--text); font: 400 14px/1 var(--font-sans); box-sizing: border-box; max-width: 100%; }
.cell-input { width: 100%; }
td .cell-input { height: 32px; }
.cell-input:focus { border-color: var(--text); box-shadow: inset 0 -3px 0 var(--ducati-red); outline: none; }
.tm-toast { position: fixed; left: 50%; bottom: calc(var(--space-5) + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); z-index: var(--z-dialog); background: #000; color: #fff; padding: 14px 20px; font: 700 14px/1.4 var(--font-sans); border-left: 4px solid var(--success); box-shadow: var(--shadow-pop); animation: dk-fade 300ms var(--ease-ducati) both; max-width: calc(100% - 32px); }
.tm-toast.is-err { border-left-color: var(--danger); }
.tm-drawer { display: flex; flex-direction: column; width: min(640px, 100%); }
.tm-drawer__head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); padding: var(--space-5); border-bottom: 1px solid var(--line); }
.tm-drawer__body { padding: var(--space-5); display: grid; gap: var(--space-4); flex: 1; overflow-y: auto; align-content: start; }
.tm-drawer__foot { display: flex; gap: var(--space-2); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--line); background: var(--surface); }
.thumb { width: 52px; height: 52px; padding: 0; border: 1px solid var(--line-strong); background: var(--surface-sunken); color: var(--text-muted); cursor: pointer; overflow: hidden; display: grid; place-items: center; font: 400 22px/1 var(--font-sans); }
.thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.thumb.is-busy { opacity: 0.4; }
.part-img { display: flex; align-items: center; gap: var(--space-3); }
.part-img .thumb { width: 96px; height: 96px; }
.thumb-sm { width: 44px; height: 44px; object-fit: cover; display: block; }
.import { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3) var(--space-5); align-items: center; }
.import > .caption { grid-column: 1 / -1; }
.import__btns { display: flex; gap: var(--space-2); flex-wrap: wrap; }
@media (max-width: 720px) { .import { grid-template-columns: 1fr; } }
.bars { display: grid; gap: var(--space-2); }
.bars__row { display: grid; grid-template-columns: minmax(0, 160px) 1fr 32px; gap: var(--space-3); align-items: center; }
.bars__label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bars__track { height: 10px; background: var(--surface-sunken); }
.bars__fill { display: block; height: 100%; background: var(--ducati-red); transform-origin: left; animation: grow-x 900ms var(--ease-ducati) both; }
.bars__n { font: 800 16px/1 var(--font-cond); text-align: right; font-feature-settings: 'tnum' 1; }
@keyframes grow-x { from { transform: scaleX(0); } }
.stack-status { display: grid; gap: var(--space-2); }
.stack-status__row { display: flex; justify-content: space-between; align-items: center; padding-block: 6px; border-bottom: 1px solid var(--line); }
.stat-sm { font: 800 20px/1 var(--font-cond); font-feature-settings: 'tnum' 1; }
.danger-t { color: var(--danger); }
.people { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: var(--line); }
.people li { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); padding: var(--space-3); background: var(--surface-raised); }

/* Service desk */
.tm-pending { border-top: 3px solid var(--warning); }
.pend { display: grid; gap: 1px; background: var(--line); }
.pend__item { display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-4); background: var(--surface-raised); flex-wrap: wrap; }
.pend__side { display: grid; gap: var(--space-2); justify-items: end; }
.pend__btns { display: flex; gap: var(--space-2); }
.fit { font: 700 13px/1.2 var(--font-sans); padding: 4px 8px; border: 1px solid currentColor; }
.fit.is-ok { color: var(--success); }
.fit.is-full { color: var(--danger); }
.svc-grid { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: var(--space-4); align-items: start; }
@media (max-width: 1100px) { .svc-grid { grid-template-columns: 1fr; } }
.cal__head { display: flex; justify-content: space-between; align-items: center; }
.flip { display: inline-block; transform: scaleX(-1); }
.cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.cal__wd { text-align: center; padding-bottom: 4px; }
.cal__day { display: grid; gap: 2px; padding: 6px 4px; min-height: 54px; background: var(--surface-raised); border: 1px solid transparent; color: var(--text); cursor: pointer; text-align: left; align-content: start; }
.cal__day:hover { border-color: var(--line-strong); }
.cal__day.is-on { border-color: var(--text); box-shadow: inset 0 -3px 0 var(--ducati-red); }
.cal__day.is-closed { background: var(--surface-sunken); }
.cal__n { font: 700 14px/1 var(--font-sans); }
.cal__day.is-today .cal__n { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: var(--radius-round); background: var(--ducati-red); color: #fff; }
.cal__q { font-feature-settings: 'tnum' 1; color: var(--text-muted); }
.cal__bar { height: 3px; background: var(--line); }
.cal__bar span { display: block; height: 100%; background: var(--success); }
.cal__day.is-busy .cal__bar span { background: var(--warning); }
.cal__day.is-full .cal__bar span { background: var(--danger); }
.board__head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.board__head .cell-input { width: auto; }
.board__row { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--space-3); padding-block: var(--space-3); border-top: 1px solid var(--line); }
.board__time { display: grid; gap: 2px; align-content: start; }
.board__cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: var(--space-2); align-items: start; }
.board__add { min-height: 48px; border: 1px dashed var(--line-strong); background: none; color: var(--text-muted); font: 700 14px/1 var(--font-sans); cursor: pointer; }
.board__add:hover { color: var(--text); border-color: var(--text); }
.job { display: grid; gap: 6px; padding: var(--space-3); background: var(--surface-raised); border-left: 3px solid var(--line-strong); min-width: 0; }
.job--pending, .job--waiting { border-left-color: var(--warning); }
.job--confirmed, .job--in-service { border-left-color: var(--info); }
.job--ready { border-left-color: var(--success); }
.job--done { opacity: 0.6; }
.job__head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-2); }
.job__btns { display: flex; gap: 6px; flex-wrap: wrap; }
.job .cell-input { height: 32px; font-size: 13px; }
.tm-branches { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: var(--space-4); }
.tm-branches .dk-field__label { display: grid; gap: 6px; }
.tm-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }


.foot__legal a, .check a { color: inherit; font-weight: 700; text-decoration: none; }
.foot__legal a:hover { color: #ffffff; }
.dk-news__media video { width: 100%; height: 100%; object-fit: cover; display: block; }
.stars { display: inline-flex; align-items: center; gap: 2px; font-size: 18px; line-height: 1; white-space: nowrap; }
.stars__on { color: #ed192d; }
.stars__off { color: currentColor; opacity: .2; }
.stars__name { margin-left: 8px; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.tier-card { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 20px; background: var(--surface); border-top: 3px solid #ed192d; }
.tier-card .stars { font-size: 28px; }
.bike-form { align-items: end; margin-top: 8px; }
.vin-line { display: block; white-space: nowrap; }
.dk-hero__clip { opacity: 0; transition: opacity 900ms ease; }
.dk-hero__clip.is-on { opacity: 1; }
.dk-model__media img[src$=".webp"], .sheet__media img[src$=".webp"] { object-fit: contain; padding: 5% 7%; box-sizing: border-box; background: radial-gradient(ellipse at 50% 62%, #4a4445 0%, #1a1718 72%); }
.sheet__hl { margin: 8px 0 4px; }
.sheet__hl ul { margin: 8px 0 0; padding-left: 20px; display: grid; gap: 8px; }
.sheet__hl li::marker { color: #ed192d; }
.dk-theme__svg { overflow: visible; transition: transform .5s cubic-bezier(.4,0,.2,1); } .dk-theme__core, .dk-theme__cut, .dk-theme__rays { transform-box: view-box; transform-origin: 12px 12px; transition: transform .5s cubic-bezier(.4,0,.2,1), opacity .3s ease; } .dk-theme.is-dark .dk-theme__svg { transform: rotate(-20deg); } .dk-theme.is-dark .dk-theme__core { transform: scale(1.5); } .dk-theme.is-dark .dk-theme__cut { transform: translate(-8px, 0); } .dk-theme.is-dark .dk-theme__rays { transform: rotate(-90deg) scale(.4); opacity: 0; } .dk-theme:hover .dk-theme__rays { transform: rotate(45deg); } .dk-theme.is-dark:hover .dk-theme__rays { transform: rotate(-90deg) scale(.4); } @media (prefers-reduced-motion: reduce) { .dk-theme__svg, .dk-theme__core, .dk-theme__cut, .dk-theme__rays { transition: none; } }
:root[data-theme="light"] .dk-nav { background: rgba(255, 255, 255, 0.92); color: #231f20; border-bottom: 1px solid var(--line); }
:root[data-theme="light"] .dk-nav__market { color: var(--text-muted); }
:root[data-theme="light"] .dk-nav.is-open .dk-nav__links { background: #ffffff; }
:root[data-theme="light"] .dk-nav.is-open .dk-nav__link { border-bottom-color: var(--line); }
:root[data-theme="light"] .dk-nav .dk-lang { border-color: var(--line-strong); }
:root[data-theme="light"] .dk-nav .dk-lang__opt { color: var(--text-muted); }
:root[data-theme="light"] .dk-nav .dk-lang__opt.is-on { background: #231f20; color: #ffffff; }
.tier-card__stats { display: flex; gap: 24px; flex-wrap: wrap; }
.tier-card__stats b { font-size: 20px; }
.tier-card > .caption { flex-basis: 100%; margin: 0; }
.bills summary { cursor: pointer; margin-top: 12px; }
.bills__list { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 6px; max-width: 640px; }
.bills__list li { display: grid; grid-template-columns: 110px 1fr auto; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border, rgba(127,127,127,.25)); }

.calc { display: grid; gap: 24px; grid-template-columns: minmax(260px, 340px) 1fr; align-items: start; } .calc__out, .calc__ctl { min-width: 0; } .calc__ctl { display: grid; gap: 14px; } .print-logo { display: none; } .calc__btns { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; } .ftable tr.is-on th, .ftable tr.is-on td { background: var(--surface-2, #f3f3f3); } @media (max-width: 900px) { .calc { grid-template-columns: 1fr; } } @media print { .no-print { display: none !important; } .calc-print, .calc-print * { visibility: visible; } .calc-print { position: absolute; left: 0; top: 0; width: 100%; } .calc-print .print-logo { display: block; position: absolute; right: 0; top: 0; width: 84px; height: auto; } .calc-print .dk-table__scroll { overflow: visible; } .calc-print .ftable { font-size: 11px; } .calc-print .ftable th, .calc-print .ftable td { padding: 6px 6px; } }
.ev-qr { max-width: 360px; margin: 16px auto; padding: 12px; background: #fff; } .ev-qr svg { display: block; width: 100%; height: auto; } .ev-bar { align-items: center; } .tag--hot { color: #c00; font-weight: 700; } @media print { body * { visibility: hidden; } .ev-qr, .ev-qr * { visibility: visible; } .ev-qr { position: absolute; left: 0; top: 0; max-width: none; width: 100%; } }
.bike3d { display: grid; gap: 4px; margin: -4px -4px 8px; } .bike3d img { width: 100%; height: 160px; object-fit: contain; background: var(--surface-sunken); }
.cal__chips { display: grid; gap: 2px; margin-top: 2px; min-width: 0; } .cal__chip { font-size: 10px; line-height: 1.35; padding: 1px 4px; border-left: 3px solid var(--line-strong); background: var(--surface-sunken); overflow-wrap: break-word; } @media (min-width: 1101px) { .svc-grid { grid-template-columns: minmax(0, 560px) minmax(0, 1fr); } } .cal__chip--pending { border-color: var(--warning); } .cal__chip--confirmed { border-color: var(--info); } .cal__chip--waiting, .cal__chip--in-service { border-color: var(--ducati-red); } .cal__chip--ready, .cal__chip--done { border-color: var(--success); }
.tm-3d { display: grid; gap: 4px; }
.form__full { grid-column: 1 / -1; }
.gbtn--line { background: #06c755; color: #fff; border-color: #06c755; }
.gbtn--line:hover { background: #05b34c; border-color: #05b34c; }
.gbtn--line .gbtn__g { background: #fff; color: #06c755; }

.fu-box { border: 1px solid var(--warning, #c80); border-left-width: 4px; background: var(--surface-sunken); padding: 12px 14px; margin-bottom: 12px; display: grid; gap: 8px; } .fu-row { display: grid; grid-template-columns: minmax(120px,1fr) 120px minmax(0,2fr) auto; gap: 10px; align-items: center; } .fu-row.is-over > span { } .fu-chips { display: inline-flex; gap: 4px; } .fu-chip { font: inherit; font-size: 12px; padding: 2px 8px; border: 1px solid var(--line-strong); background: transparent; color: inherit; cursor: pointer; } .fu-chip--done { background: var(--success, #2a7); color: #fff; border-color: transparent; } .fu-chip--due { border-color: var(--warning, #c80); font-weight: 700; } .fu-chip--over { background: var(--ducati-red, #c00); color: #fff; border-color: transparent; } .fu-chip--next { opacity: .5; } .fu-hist { margin-top: 12px; display: grid; gap: 4px; } @media (max-width: 700px) { .fu-row { grid-template-columns: 1fr 1fr; } }
.fu-stat { font: inherit; font-size: 12px; padding: 3px 10px; border: 1px solid var(--line-strong); background: transparent; color: inherit; cursor: pointer; white-space: nowrap; } .fu-stat.is-due { border-color: var(--warning, #c80); font-weight: 700; } .fu-stat.is-over { background: var(--ducati-red, #c00); color: #fff; border-color: transparent; } .fu-stat.is-full { background: var(--success, #2a7); color: #fff; border-color: transparent; }
.fu-row { grid-template-columns: minmax(120px,1fr) 120px minmax(0,2fr) auto auto auto auto; } .fu-nudge { color: var(--ducati-red, #c00); font-weight: 700; } @media (max-width: 700px) { .fu-row { grid-template-columns: 1fr 1fr; } }
.cal__day.lc-has { background: var(--surface-sunken); } .lc-n { font-size: 11px; font-weight: 700; color: var(--ducati-red, #c00); }
/* HUB (team dashboard) modern skin. Scoped to .tm-* so the public site is untouched. Works in light and dark. */
.tm-shell { --m-r: 16px; --m-r-s: 10px; background: var(--m-bg); }
.theme-light .tm-shell, .tm-shell { --m-bg: #f3f2f1; --m-card: #ffffff; --m-card-2: #f7f6f5; --m-line: rgba(35,31,32,.08); --m-shadow: 0 1px 2px rgba(35,31,32,.05), 0 14px 32px -18px rgba(35,31,32,.22); --m-tint: rgba(237,25,45,.08); }
.theme-dark .tm-shell { --m-bg: #0d0b0c; --m-card: #171415; --m-card-2: #1f1b1c; --m-line: rgba(255,255,255,.08); --m-shadow: 0 1px 2px rgba(0,0,0,.4), 0 14px 32px -16px rgba(0,0,0,.6); --m-tint: rgba(237,25,45,.16); }
.tm-main { box-sizing: border-box; max-width: 1480px; width: 100%; margin: 0 auto; gap: 20px; }

/* header */
.tm-top { height: 56px; background: #151213; border-bottom: 1px solid rgba(255,255,255,.06); }
.tm-role { border-radius: 8px; letter-spacing: .02em; }
.tm-top .mini-select { border-radius: 8px; border-color: rgba(255,255,255,.18); }

/* sidebar: soft pills */
.tm-side { background: var(--m-card); border-right: 1px solid var(--m-line); padding: 16px 12px; gap: 4px; }
.tm-side__item { border-radius: 12px; padding: 11px 14px; font-weight: 600; }
.tm-side__item::before { display: none; }
.tm-side__item:hover { background: var(--m-card-2); }
.tm-side__item.is-on { background: var(--m-tint); color: var(--text); box-shadow: inset 3px 0 0 var(--ducati-red); }
@media (max-width: 1000px) { .tm-side { padding: 8px; flex-direction: row; } .tm-side__item.is-on { box-shadow: inset 0 -3px 0 var(--ducati-red); } }

/* page head */
.tm-head h1 { font-size: 30px; letter-spacing: -.01em; }
.tm-head .body-sm, .tm-head p { color: var(--text-muted); }

/* cards */
.tm-card, .dk-table, .dk-kpi, .fu-box, .calc__out, .calc__ctl { border-radius: var(--m-r); }
.tm-card, .dk-table, .dk-kpi { background: var(--m-card); box-shadow: var(--m-shadow); border: 1px solid var(--m-line); }
.tm-card { padding: 22px; }
.dk-table { overflow: hidden; }
.dk-table__head { border-bottom: 1px solid var(--m-line); padding: 16px 22px; }
.dk-table th { background: transparent; font: 600 12px/1.2 var(--font-sans); letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); padding: 12px 22px; border-bottom: 1px solid var(--m-line); }
.dk-table td { padding: 14px 22px; border-bottom: 1px solid var(--m-line); }
.dk-table tbody tr:last-child td { border-bottom: 0; }
.dk-table tbody tr:hover { background: var(--m-card-2); }

/* KPI tiles: big number, quiet label, accent on hover */
.tm-kpis { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.dk-kpi { padding: 20px 22px; gap: 6px; transition: transform .2s var(--ease-ducati), box-shadow .2s; }
.dk-kpi:hover { transform: translateY(-2px); }
.dk-kpi__label { font: 600 12px/1.3 var(--font-sans); letter-spacing: .04em; text-transform: uppercase; }
.tm-kpis .stat { font-size: 40px; letter-spacing: -.02em; line-height: 1; }
.dk-kpi__bar { left: 22px; right: auto; top: auto; bottom: 0; width: 28px; height: 3px; border-radius: 3px 3px 0 0; transform: none; animation: none; opacity: .9; }

/* sub tabs -> segmented control */
.tm-sub { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: var(--m-card); border: 1px solid var(--m-line); border-radius: 14px; border-bottom: 1px solid var(--m-line); width: fit-content; max-width: 100%; margin-bottom: 0; }
.tm-sub .tab { padding: 9px 16px; border-radius: 10px; font-size: 14px; font-weight: 600; }
.tm-sub .tab::after { display: none; }
.tm-sub .tab:hover { background: var(--m-card-2); }
.tm-sub .tab.is-on { background: var(--ducati-red); color: #fff; box-shadow: 0 6px 16px -8px rgba(237,25,45,.7); }
.tm-sub .tab.is-on .tm-count { background: rgba(255,255,255,.25); }
.tm-count { border-radius: 99px; padding: 3px 7px; }

/* controls */
.tm-toolbar .dk-btn, .tm-head__tools .dk-btn, .tm-drawer .dk-btn, .tm-card .dk-btn { border-radius: var(--m-r-s); }
.mini-select, .cell-input { border-radius: var(--m-r-s); background: var(--m-card); border-color: var(--m-line); height: 38px; transition: border-color .15s, box-shadow .15s; }
.mini-select:hover, .cell-input:hover { border-color: var(--line-strong); }
.mini-select:focus-visible, .cell-input:focus-visible { box-shadow: 0 0 0 3px var(--m-tint); }
.tm-main .dk-field__control, .tm-drawer .dk-field__control { border-radius: var(--m-r-s); }
.tm-toolbar { padding: 2px 0; }

/* chips, tags, badges */
.tag { border-radius: 6px; font-weight: 600; letter-spacing: .02em; background: var(--m-card-2); }
.dk-badge { border-radius: 99px; background: var(--m-card-2); padding: 5px 12px 5px 9px; }
.chip { border-radius: 99px; }

/* calendar, queue cards, follow-ups */
.cal__day { border-radius: 12px; background: var(--m-card-2); min-height: 62px; transition: background .15s, transform .15s; }
.cal__day:hover { transform: translateY(-1px); }
.cal__day.is-on { border-color: var(--ducati-red); box-shadow: 0 0 0 2px var(--m-tint); }
.cal__day.lc-has { background: var(--m-tint); }
.pend { background: transparent; gap: 8px; }
.pend__item { border-radius: 12px; background: var(--m-card-2); border: 1px solid var(--m-line); }
.fu-box { border: 1px solid var(--m-line); border-left: 4px solid var(--warning); background: var(--m-card); box-shadow: var(--m-shadow); padding: 16px 18px; }
.fu-row { padding: 8px 0; border-top: 1px solid var(--m-line); }
.fu-stat { border-radius: 99px; }
.bars__track { border-radius: 99px; height: 8px; overflow: hidden; background: var(--m-card-2); }
.bars__fill { border-radius: 99px; }
.stack-status__row { border-bottom: 1px solid var(--m-line); }

/* drawer + toast */
.tm-drawer { border-radius: 20px 0 0 20px; box-shadow: -24px 0 60px -20px rgba(0,0,0,.45); }
.tm-drawer__head { border-bottom: 1px solid var(--m-line); }
.tm-toast { border-radius: 12px; }

/* overview extras */
.ov-trend { display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 6px; align-items: end; height: 170px; padding-top: 8px; }
.ov-trend__col { display: grid; gap: 6px; align-items: end; justify-items: center; height: 100%; grid-template-rows: auto 1fr auto; }
.ov-trend__bar { width: 100%; max-width: 28px; border-radius: 8px 8px 3px 3px; background: linear-gradient(180deg, #ed192d, rgba(237,25,45,.55)); min-height: 3px; align-self: end; animation: ov-rise .7s var(--ease-ducati) both; transform-origin: bottom; }
@keyframes ov-rise { from { transform: scaleY(0); } }
.ov-trend__bar.is-zero { background: var(--m-line); }
.ov-trend__d { font-size: 10px; color: var(--text-muted); }
.ov-trend__n { font: 700 11px/1 var(--font-sans); color: var(--text-muted); }
.ov-mix { display: flex; height: 14px; border-radius: 99px; overflow: hidden; background: var(--m-card-2); }
.ov-mix span { display: block; height: 100%; }
.ov-legend { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; margin-top: 6px; }
.ov-legend div { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.ov-legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.ov-legend b { margin-left: auto; font-variant-numeric: tabular-nums; }
.ov-todo { display: grid; gap: 8px; }
.ov-todo > div { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 12px; background: var(--m-card-2); border: 1px solid var(--m-line); color: var(--text); font: 600 14px/1.3 var(--font-sans); text-align: left; cursor: pointer; text-decoration: none; }
.ov-todo b { font: 800 20px/1 var(--font-cond); color: var(--ducati-red); }
@media (prefers-reduced-motion: reduce) { .dk-kpi, .cal__day, .ov-trend__bar { transition: none; animation: none; } }

.tm-shell { overflow-x: clip; }
.fu-row.is-over > span:not(.fu-nudge) { color: var(--ducati-red); }
.fu-stat { border-color: var(--m-line); background: var(--m-card-2); }
.fu-stat.is-due { background: rgba(255,155,47,.16); border-color: rgba(255,155,47,.5); color: inherit; }
.fu-stat.is-over { background: var(--m-tint); border-color: rgba(237,25,45,.5); color: var(--ducati-red); }
.fu-stat.is-full { background: rgba(47,179,109,.16); border-color: rgba(47,179,109,.5); color: inherit; }

/* customer-facing QR screen */
.ev-show { position: fixed; inset: 0; z-index: 200; background: #fff; color: #231f20; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 24px; text-align: center; overflow-y: auto; }
.ev-show__x { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(35,31,32,.06); color: #231f20; font-size: 16px; cursor: pointer; opacity: .55; }
.ev-show__x:hover { opacity: 1; }
.ev-show__t { font: 800 clamp(26px, 5vw, 44px)/1.1 var(--font-display); margin: 6px 0 0; letter-spacing: -.01em; }
.ev-show__s { font-size: clamp(15px, 2.4vw, 20px); color: #5e5859; margin: 0; max-width: 560px; }
.ev-show__qr { width: min(62vh, 82vw, 460px); max-width: none; margin: 8px auto; padding: 14px; border-radius: 20px; box-shadow: 0 18px 50px -18px rgba(35,31,32,.35); }
.ev-show__link { display: inline-block; padding: 16px 32px; border-radius: 14px; background: #e0172a; color: #fff; font: 700 clamp(18px, 3vw, 24px)/1.2 var(--font-sans); text-decoration: none; box-shadow: 0 12px 28px -12px rgba(224,23,42,.7); }
.ev-link { display: grid; gap: 8px; }
.ev-link__url { word-break: break-all; font-size: 12px; color: var(--text); }
@media print { .ev-link { visibility: visible; position: absolute; left: 0; bottom: 0; width: 100%; } .ev-link * { visibility: visible; } .ev-link .tm-toolbar { display: none; } .ev-link__url { font-size: 14px; } }
.ev-link .tm-toolbar > .dk-btn:last-child { margin-left: 0; }

/* score, quick actions, sales board */
.tm-shell .score{display:inline-grid;place-items:center;min-width:34px;height:26px;padding:0 8px;border-radius:999px;font-weight:700;font-size:12px;background:var(--m-tint,#eee);color:inherit}
.tm-shell .score--hot{background:#ed192d;color:#fff}.tm-shell .score--warm{background:#ff9b2f;color:#1a1210}.tm-shell .score--cold{background:#4e8ef7;color:#fff}
.tm-shell .qa{display:inline-flex;gap:6px;white-space:nowrap}
.tm-shell .qa__b{font:inherit;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--m-line,#ddd);background:transparent;color:inherit;cursor:pointer;text-decoration:none}
.tm-shell .qa__b:hover{background:#ed192d;border-color:#ed192d;color:#fff}
.tm-shell .sboard{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px;align-items:start}
.tm-shell .board__col{background:var(--m-card-2,#f4f4f4);border-radius:16px;padding:10px;display:grid;gap:8px;min-width:0}
.tm-shell .board__h{display:flex;justify-content:space-between;font-size:14px;margin:2px 4px 4px}
.tm-shell .board__h span{opacity:.6}
.tm-shell .board__col--won .board__h{color:#2fb36d}.tm-shell .board__col--lost .board__h{color:#ed192d}
.tm-shell .board__card{background:var(--m-card,#fff);border:1px solid var(--m-line,#e4e4e4);border-radius:12px;padding:10px;display:grid;gap:4px;box-shadow:var(--m-shadow,none)}
.tm-shell .board__top{display:flex;justify-content:space-between;align-items:center;gap:6px}
.tm-shell .funnel{display:grid;gap:14px;margin-top:20px}
.tm-shell .funnel__bars{display:grid;gap:8px}
.tm-shell .funnel__row{display:grid;grid-template-columns:130px 1fr 44px 48px;gap:10px;align-items:center}
.tm-shell .funnel__bar{height:14px;border-radius:999px;background:var(--m-card-2,#eee);overflow:hidden}
.tm-shell .funnel__bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ed192d,#ff6a4d)}
.tm-shell .funnel__n{text-align:right}

/* quotation form (screen + A4 print) */
.tm-shell .qf__it{display:flex;gap:6px;align-items:center;margin-bottom:6px}.tm-shell .qf__it input:first-child{flex:1;min-width:0}
.tm-shell .qf__sheet{background:#fff;color:#111;border-radius:12px;padding:20px;font-size:12px;line-height:1.45;border:1px solid var(--m-line,#ddd);min-width:0}
.qf__head{display:grid;grid-template-columns:96px 1fr auto;gap:12px;align-items:start;margin-bottom:12px}
.qf__logo{width:96px;height:auto}
.qf__co{display:grid;gap:1px}.qf__co b{font-size:15px}
.qf__title{text-align:right}.qf__title b{display:block;font-size:20px}.qf__title span{color:#777}
.qf__meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin-bottom:12px}
.qf__meta div{display:grid;grid-template-columns:130px 1fr;gap:6px}.qf__w{grid-column:1/-1}
.qf__k{color:#555}.qf__k i,.qf__tbl th i,.qf__sum dt i{display:block;font-style:normal;font-size:10px;color:#999;font-weight:400}
.qf__tbl{width:100%;border-collapse:collapse;border:1px solid #222}
.qf__tbl th{border-bottom:1px solid #222;padding:6px;text-align:center}
.qf__tbl td{padding:5px 6px;vertical-align:top;border-left:1px solid #ddd}
.qf__tbl .c{text-align:center}.qf__tbl .r{text-align:right}
.qf__fill td{height:150px}.qf__fin{font-size:11px;color:#444}
.qf__sum{display:grid;grid-template-columns:1fr 260px;gap:18px;margin-top:10px;align-items:end}
.qf__words b{display:block;font-size:13px}
.qf__sum dl{margin:0;display:grid;gap:4px}.qf__sum dl div{display:flex;justify-content:space-between;gap:10px}.qf__sum dd{margin:0}.qf__tot{font-weight:700;border-top:1px solid #222;padding-top:4px}
.qf__sign{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px;text-align:center}
.qf__sign div{border-top:1px dotted #444;padding-top:4px}.qf__sign i{display:block;font-style:normal}.qf__sign span{color:#999;font-size:10px}
@media (max-width:900px){.qf__meta{grid-template-columns:1fr}.qf__sum{grid-template-columns:1fr}}
@media print{@page{size:A4;margin:10mm}.tm-shell .qf__sheet{border:0;padding:0;border-radius:0}}
.qf-print{display:none}
@media print{
  body.qf-printing > *:not(.qf-print){display:none!important}
  body.qf-printing .qf-print{display:block;background:#fff;color:#111;padding:0;border:0}
  .qf-print,.qf-print *{visibility:visible}
  .qf-print .qf__meta{grid-template-columns:1fr 1fr!important}
  .qf-print .qf__sum{grid-template-columns:1fr 260px!important}
}
.qf-print.qf__sheet{font-size:12px}

/* delivery tracker + deposit receipt (two pages: original + copy) */
.dlv{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.dlv__card{border:1px solid var(--tm-line,rgba(128,128,128,.25));border-radius:14px;padding:14px;display:grid;gap:10px}
.dlv__card.is-soon{border-color:#e0a030}.dlv__card.is-done{opacity:.6}
.dlv__top{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.dlv__row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.qf__copy{font-style:normal;font-size:12px;border:1px solid #000;padding:1px 8px;margin-top:4px;display:inline-block}
@media print{.qf-print .qf__page{break-after:page}.qf-print .qf__page:last-child{break-after:auto}}
.tm-sub__br{flex-basis:100%;height:0}
.dlv .chip.is-due{border-color:#e0a030;color:#e0a030}.dlv__card.is-done{opacity:1}.dlv__card.is-done .dlv__top{opacity:.7}
.tm-toolbar input[type=month]{width:auto}

/* Owners & loyalty: customer cards */
.cx-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.cx-bar .chip small{opacity:.6;margin-left:4px}
.cx-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.cx-card{--tc:#8a8485;text-align:left;display:grid;gap:12px;padding:18px;border-radius:20px;border:1px solid var(--m-line);cursor:pointer;color:inherit;font:inherit;position:relative;overflow:hidden;
  background:linear-gradient(160deg,color-mix(in srgb,var(--tc) 16%,var(--m-card)),var(--m-card) 58%);box-shadow:var(--m-shadow);transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .25s}
.cx-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--tc),transparent)}
.cx-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--tc) 60%,transparent)}
.cx-card:focus-visible{outline:2px solid var(--ducati-red);outline-offset:2px}
.cx-card__top{display:flex;align-items:center;gap:12px}
.cx-card__id{display:grid;min-width:0;flex:1}.cx-card__id b{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cx-card__id small{opacity:.65}
.cx-av{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-weight:700;color:#fff;flex:none;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--tc) 80%,#fff),var(--tc) 70%);box-shadow:0 6px 16px -8px var(--tc)}
.cx-av--lg{width:64px;height:64px;font-size:26px}
.cx-tier{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--tc) 70%,transparent);color:var(--tc);background:color-mix(in srgb,var(--tc) 12%,transparent);white-space:nowrap}
.cx-stars{display:inline-flex;gap:3px;font-style:normal}.cx-stars i{font-style:normal;color:rgba(128,128,128,.35);font-size:15px}.cx-stars i.on{color:var(--tc,#d6a84a);text-shadow:0 0 10px color-mix(in srgb,var(--tc,#d6a84a) 60%,transparent)}
.cx-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cx-row span{display:grid;gap:2px}.cx-row small{opacity:.6;font-size:11px}.cx-row b{font-size:15px;font-variant-numeric:tabular-nums}
.cx-row--big b{font-size:20px}
.cx-meter{display:grid;gap:5px;height:auto}.cx-meter::before{content:"";display:block;height:6px;border-radius:6px;background:rgba(128,128,128,.22)}
.cx-meter i{position:absolute;display:none}
.cx-meter{position:relative}.cx-meter i{display:block;position:absolute;left:0;top:0;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--tc),color-mix(in srgb,var(--tc) 55%,#fff))}
.cx-meter small{opacity:.65;font-size:11px}.cx-meter--max::before{background:linear-gradient(90deg,var(--tc),color-mix(in srgb,var(--tc) 40%,#fff))}
.cx-flags{display:flex;flex-wrap:wrap;gap:6px;min-height:4px}.cx-flags em{font-style:normal;font-size:11px;padding:3px 9px;border-radius:999px;background:rgba(128,128,128,.16)}
.cx-flags em.warn{background:rgba(224,160,48,.2);color:#e0a030}.cx-flags em.hot{background:rgba(237,25,45,.14);color:#ed192d}
.cx-hero{--tc:#8a8485;display:flex;gap:16px;align-items:center;padding:16px;border-radius:18px;background:linear-gradient(160deg,color-mix(in srgb,var(--tc) 18%,transparent),transparent);border:1px solid color-mix(in srgb,var(--tc) 35%,transparent)}
.cx-hero>div{display:grid;gap:6px;justify-items:start}
.cx-greet{padding:10px 12px;border-radius:12px;background:rgba(128,128,128,.12)}
.cx-tl{list-style:none;margin:0;padding:0;display:grid;gap:6px}.cx-tl li{display:grid;grid-template-columns:92px 1fr auto;gap:8px;font-size:13px;padding:8px 0;border-top:1px solid var(--m-line)}.cx-tl small{opacity:.6}
@media (max-width:560px){.cx-grid{grid-template-columns:1fr}.cx-row b{font-size:14px}}
.cx-bar .tm-toolbar{margin:0;flex-wrap:nowrap}.cx-bar .tm-search{min-width:220px}

.ovk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 14px}
.ovk__card{position:relative;display:grid;gap:4px;padding:18px 18px 14px;background:var(--surface);border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.08),0 12px 28px -18px rgba(0,0,0,.45);overflow:hidden}
.ovk__card.is-alert{box-shadow:0 0 0 1px #ed192d,0 12px 28px -18px rgba(237,25,45,.6)}
.ovk__l{font-size:12px;letter-spacing:.03em;opacity:.7}.ovk__v{font-size:clamp(24px,3vw,34px);line-height:1.1;font-variant-numeric:tabular-nums}
.ovk__d{font-size:12px;opacity:.75}.ovk__d small{opacity:.6}.ovk__d.is-up{color:#2fb36d;opacity:1}.ovk__d.is-down{color:#ed192d;opacity:1}
.spark{width:100%;height:30px;margin-top:6px;display:block}
.ovg{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:14px}
.ovg .tm-card{border-radius:14px;margin:0}.ovg__wide{grid-column:span 4}.ovg__ring{grid-column:span 2;display:grid;justify-items:center;align-content:start;gap:10px}.ovg__ring h2{justify-self:start}
.ovg__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ovseg{display:inline-flex;border:1px solid var(--line-strong,rgba(127,127,127,.3));border-radius:999px;overflow:hidden}.ovseg__b{font:inherit;font-size:12px;padding:5px 12px;background:transparent;color:inherit;border:0;cursor:pointer}.ovseg__b.is-on{background:#ed192d;color:#fff}
.ring{position:relative;flex:none}.ring svg{width:100%;height:100%;display:block}.ring__in{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.ring__n{font-size:26px;line-height:1.1}.ring__in small{opacity:.65;font-size:12px}
.ovg__ring .ov-legend{width:100%}
.lb{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:12px}.lb li{display:grid;grid-template-columns:22px 34px 1fr auto;gap:10px;align-items:center}
.lb__rk{opacity:.5;font-variant-numeric:tabular-nums}.lb__av{width:34px;height:34px;border-radius:10px;background:#ed192d;color:#fff;display:grid;place-content:center;font-weight:700}
.lb li:nth-child(n+2) .lb__av{background:#3a3637}.lb__nm{display:grid;gap:5px;min-width:0;text-transform:capitalize;overflow:hidden;text-overflow:ellipsis}
.lb__bar{height:5px;background:rgba(127,127,127,.2);border-radius:3px;overflow:hidden;display:block}.lb__bar i{display:block;height:100%;background:#ed192d}.lb__v b{font-size:18px}.lb__v small{opacity:.6}
@media (max-width:1100px){.ovk{grid-template-columns:repeat(2,minmax(0,1fr))}.ovg__wide,.ovg__ring{grid-column:span 6}}
.ovg__lb{justify-items:stretch}.ovg__lb h2{justify-self:start}.ovg .ov-todo{width:100%}

.dre-b{font-style:normal;font-weight:700;font-size:.72rem;padding:2px 8px;border-radius:999px;background:#ed192d;color:#fff;white-space:nowrap}
.dre-b--used{background:transparent;color:inherit;border:1px solid currentColor;opacity:.6}

/* ---------- HUB pass 2: stock ageing, ratings, KPI cards in every tab match Overview ---------- */
.cx-flags em.dre-b{background:#ed192d;color:#fff}
.age{display:inline-block;font-style:normal;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:rgba(47,179,109,.14);color:#2fb36d}
.age--warn{background:rgba(224,160,48,.18);color:#d08a14}.age--old{background:rgba(237,25,45,.14);color:#ed192d}
.stk-demand ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.stk-demand li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:var(--m-card-2)}
.stk-demand li b{min-width:160px}
.job__rate{margin-left:auto;margin-right:8px;color:#d6a84a;letter-spacing:1px;font-size:13px}.job__rate.is-low{color:#ed192d}
.dk-kpi{border-radius:14px;border:0;box-shadow:0 1px 2px rgba(0,0,0,.08),0 12px 28px -18px rgba(0,0,0,.45);background:var(--surface)}
.dk-kpi__label{text-transform:none;letter-spacing:.02em;font-weight:500;opacity:.75}
.tm-kpis .stat{font-size:clamp(26px,3vw,36px);font-variant-numeric:tabular-nums}
.dk-kpi__bar{width:100%;left:0;height:3px;border-radius:0;background:linear-gradient(90deg,#ed192d,transparent 70%);opacity:.7}
.tm-card,.dk-table{border-radius:14px}
.tm-head h1{font-size:clamp(26px,3vw,32px);letter-spacing:-.015em}

/* ---------- HUB polish pass 3 ---------- */
/* 1. dark Ducati sidebar with work badges, user card and an icon-only mode */
.tm-shell:has(.tm-side.is-mini){grid-template-columns:72px minmax(0,1fr)}
.tm-side{background:linear-gradient(180deg,#171314,#0e0b0c);border-right:0;color:#d9d3d4;padding:14px 12px 12px}
.tm-side__item{color:#b9b1b2}
.tm-side__item:hover{background:rgba(255,255,255,.06);color:#fff}
.tm-side__item.is-on{background:linear-gradient(90deg,rgba(237,25,45,.28),rgba(237,25,45,.06));color:#fff;box-shadow:inset 3px 0 0 #ed192d}
.tm-side__item svg{flex:none}
.tm-side__n{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:#ed192d;color:#fff;box-sizing:border-box}
.tm-side__fold{align-self:flex-end;width:28px;height:28px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#b9b1b2;cursor:pointer;margin-bottom:6px;font-size:14px;line-height:1}
.tm-side__fold:hover,.tm-side__fold:focus-visible{color:#fff;border-color:rgba(255,255,255,.35)}
.tm-side__me{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 10px 4px;border-top:1px solid rgba(255,255,255,.08)}
.tm-side__me>span:last-child{display:grid;min-width:0}.tm-side__me b{color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tm-side__me small{font-size:11px;color:#8f8789}
.tm-side__av{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#ed192d;color:#fff;font-weight:700}
.tm-side.is-mini{padding:14px 10px}
.tm-side.is-mini .tm-side__item{justify-content:center;padding:12px 0;min-height:44px}
.tm-side.is-mini .tm-side__item span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tm-side.is-mini .tm-side__n{position:absolute;top:4px;right:4px;min-width:16px;height:16px;font-size:10px;padding:0 4px}
.tm-side.is-mini .tm-side__fold{align-self:center}
.tm-side.is-mini .tm-side__me{justify-content:center;padding-left:0;padding-right:0}.tm-side.is-mini .tm-side__me>span:last-child{display:none}
@media (max-width:1000px){.tm-shell:has(.tm-side.is-mini){grid-template-columns:1fr}.tm-side__fold,.tm-side__me{display:none}.tm-side.is-mini .tm-side__item span{position:static;width:auto;height:auto;clip:auto}.tm-side__item.is-on{box-shadow:inset 0 -3px 0 #ed192d}}

/* 2. sales sections: 4 groups, then the pages in that group */
.tm-subgroups{display:grid;gap:10px}
.tm-subnav{display:flex;flex-wrap:wrap;gap:6px;padding:0 2px}
.tm-subnav__b{font:inherit;font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;border:1px solid var(--m-line);background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}
.tm-subnav__b:hover{color:var(--text);border-color:currentColor}
.tm-subnav__b.is-on{background:var(--text);color:var(--m-card);border-color:var(--text)}
.tm-subnav__b:focus-visible{outline:2px solid #ed192d;outline-offset:2px}

/* 3. toolbars: fields sized to their content, not stretched across the page */
.tm-toolbar{gap:8px}
.tm-toolbar>.cell-input,.tm-toolbar>input,.tm-toolbar>select,.tm-toolbar .mini-select{width:auto;flex:0 1 200px;min-width:0;max-width:260px}
.tm-toolbar>input[type=number]{flex-basis:90px}
.tm-toolbar>input[type=date]{flex-basis:160px}
.tm-toolbar .tm-search{flex:1 1 260px;max-width:420px}

/* 4. empty and loading states */
.dk-table__empty{padding:40px 22px!important;text-align:center!important;color:var(--text-muted);font-size:14px}
.dk-table__emptyi{display:block;width:44px;height:44px;margin:0 auto 10px;border-radius:14px;background:var(--m-card-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ed192d' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h10M4 17h6'/%3E%3C/svg%3E") center/22px no-repeat}
.dk-table__skel td i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--m-card-2) 25%,var(--m-line) 50%,var(--m-card-2) 75%);background-size:200% 100%;animation:skel 1.2s linear infinite}
.dk-table__skel td:first-child i{width:70%}
@keyframes skel{to{background-position:-200% 0}}

/* 5. tables: rows become cards on phones */
@media (max-width:640px){
  .dk-table thead{display:none}
  .dk-table table,.dk-table tbody,.dk-table tr,.dk-table td{display:block;width:100%;box-sizing:border-box}
  .dk-table tbody tr{padding:12px 16px;border-bottom:1px solid var(--m-line)}
  .dk-table td{padding:4px 0!important;border:0!important;display:flex;justify-content:space-between;gap:12px;text-align:right!important}
  .dk-table td[data-label]:not([data-label=""])::before{content:attr(data-label);color:var(--text-muted);font-size:12px;text-align:left;flex:none}
  .dk-table td.dk-table__empty{display:block;text-align:center!important}
  .tm-toolbar>.cell-input,.tm-toolbar>input,.tm-toolbar>select,.tm-toolbar .mini-select{flex:1 1 140px;max-width:none}
}

/* 6. feedback: presses, hovers, cards lift */
.tm-shell .dk-btn:active,.tm-shell .chip:active,.tm-subnav__b:active,.tm-side__item:active{transform:scale(.97)}
.tm-shell .dk-btn,.tm-shell .chip{transition:transform .12s,background .2s,color .2s,border-color .2s}
.tm-card,.cx-card,.dlv__card,.job{transition:transform .2s,box-shadow .2s}
.cx-card:hover,.dlv__card:hover,.job:hover{transform:translateY(-2px)}
.tm-main>*{animation:tmIn .35s cubic-bezier(.2,.8,.2,1) backwards} /* backwards: no transform left behind, so drawers stay fixed to the screen */
@keyframes tmIn{from{opacity:0;transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){.tm-main>*,.dk-table__skel td i{animation:none}.cx-card:hover,.dlv__card:hover,.job:hover{transform:none}}

/* Showroom PromptPay deposit card */
.dpay{display:grid;gap:14px;padding:18px;border-radius:20px;color:#fff;background:radial-gradient(120% 90% at 50% 0%,#2b1f1f 0%,#0b0909 70%);box-shadow:0 18px 40px -18px rgba(60,10,10,.55),inset 0 0 0 1px rgba(255,255,255,.07);position:relative;overflow:hidden}
.dpay::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:#cc0000}
.dpay__top{display:grid;justify-items:center;gap:6px;text-align:center}
.dpay__k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#cfc9c9}
.dpay__bike{width:100%;max-height:120px;object-fit:contain;filter:drop-shadow(0 14px 16px rgba(0,0,0,.55))}
.dpay__model{font-weight:600;font-size:15px;text-wrap:balance}
.dpay__qr{display:grid;justify-items:center;gap:6px;background:#fff;color:#111;border-radius:16px;padding:14px 16px;width:min(260px,100%);margin:0 auto;box-sizing:border-box}
.dpay__qr>div{width:100%}.dpay__qr svg{display:block;width:100%;height:auto}
.dpay__pp{font-weight:800;letter-spacing:.06em;color:#113566;font-size:11px}
.dpay__amt{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.dpay__qr small{font-size:10.5px;color:#555;text-align:center}
.dpay__act{display:grid;gap:8px;justify-items:center;text-align:center}
.dpay__act .caption{color:#cfc9c9;max-width:34ch}
@media print{.dpay{display:none}}
.bsvc{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:6px;width:100%}
.bsvc__info{display:flex;gap:6px;flex-wrap:wrap}.bsvc__info em{font-style:normal;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;background:rgba(127,127,127,.14)}
.bsvc label{display:flex;white-space:nowrap;align-items:center;gap:6px;font-size:.75rem;opacity:.85}

/* ---------- HUB AI chat ---------- */
.hai__fab{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;align-items:center;gap:8px;height:52px;min-width:52px;padding:0 18px 0 16px;border:0;border-radius:999px;
  background:linear-gradient(135deg,#ff2a3d,#b10d1d);color:#fff;font:700 14px/1 inherit;letter-spacing:.04em;cursor:pointer;
  box-shadow:0 14px 30px -10px rgba(200,16,40,.7),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .2s,box-shadow .2s}
.hai__fab span{font-size:18px;line-height:1}.hai__fab:hover{transform:translateY(-2px)}.hai__fab:active{transform:scale(.96)}
.hai__fab:focus-visible{outline:3px solid rgba(237,25,45,.45);outline-offset:3px}
.hai__fab.is-open{padding:0;width:52px;justify-content:center;background:#1b1b1d}
.hai{position:fixed;right:22px;bottom:86px;z-index:60;width:min(400px,calc(100vw - 32px));height:min(600px,calc(100dvh - 120px));display:flex;flex-direction:column;
  background:var(--m-card,#fff);color:inherit;border-radius:20px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.45),0 0 0 1px rgba(127,127,127,.18);animation:haiIn .28s cubic-bezier(.2,.8,.2,1) both}
@keyframes haiIn{from{opacity:0;transform:translateY(12px) scale(.98)}}
.hai__head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#1c1c1f,#0d0d0e);color:#fff}
.hai__head b{display:block;font-size:15px;letter-spacing:.06em}.hai__head small{display:block;font-size:11.5px;opacity:.65;margin-top:2px}
.hai__dot{width:30px;height:30px;border-radius:10px;flex:none;background:radial-gradient(circle at 30% 30%,#ff6b78,#ed192d 55%,#7a0a14);box-shadow:0 0 16px rgba(237,25,45,.6)}
.hai__clear{margin-left:auto;background:rgba(255,255,255,.1);border:0;color:#fff;border-radius:999px;padding:6px 12px;font:600 12px/1 inherit;cursor:pointer}
.hai__clear:hover{background:rgba(255,255,255,.2)}
.hai__log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.hai__hello p{margin:0 0 12px;font-size:14px;line-height:1.55;opacity:.8}
.hai__tips{display:flex;flex-direction:column;gap:8px}
.hai__tips button{text-align:left;border:1px solid rgba(127,127,127,.28);background:transparent;color:inherit;border-radius:12px;padding:10px 12px;font:500 13.5px/1.35 inherit;cursor:pointer;transition:border-color .2s,background .2s}
.hai__tips button:hover{border-color:#ed192d;background:rgba(237,25,45,.06)}
.hai__msg{max-width:88%;padding:10px 13px;border-radius:16px;font-size:14px;line-height:1.55;word-break:break-word}
.hai__msg.is-me{align-self:flex-end;background:#ed192d;color:#fff;border-bottom-right-radius:5px;white-space:pre-wrap}
.hai__msg.is-ai{align-self:flex-start;background:rgba(127,127,127,.12);border-bottom-left-radius:5px}
.hai__msg.is-err{background:rgba(237,25,45,.1);color:#c8102e}
.hai__msg p{margin:0 0 6px}.hai__msg p:last-child{margin:0}
.hai__li{position:relative;padding-left:14px}.hai__li::before{content:"";position:absolute;left:2px;top:.7em;width:5px;height:5px;border-radius:50%;background:#ed192d}
.hai__draft{margin:8px 0;border-radius:12px;border:1px dashed rgba(237,25,45,.5);background:rgba(237,25,45,.05);overflow:hidden}
.hai__draft pre{margin:0;padding:10px 12px;white-space:pre-wrap;font:inherit;font-size:13.5px}
.hai__draft button{display:block;width:100%;border:0;border-top:1px dashed rgba(237,25,45,.4);background:transparent;color:#ed192d;font:700 12.5px/1 inherit;padding:9px;cursor:pointer}
.hai__draft button:hover{background:rgba(237,25,45,.08)}
.hai__typing{display:flex;gap:4px;padding:14px 16px}
.hai__typing i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.35;animation:haiDot 1s infinite}
.hai__typing i:nth-child(2){animation-delay:.15s}.hai__typing i:nth-child(3){animation-delay:.3s}
@keyframes haiDot{50%{opacity:1;transform:translateY(-3px)}}
.hai__in{display:flex;gap:8px;align-items:flex-end;padding:10px 12px 12px;border-top:1px solid rgba(127,127,127,.18)}
.hai__in textarea{flex:1;resize:none;max-height:120px;border:1px solid rgba(127,127,127,.3);border-radius:14px;padding:10px 12px;font:inherit;font-size:14px;background:transparent;color:inherit;field-sizing:content}
.hai__in textarea:focus{outline:none;border-color:#ed192d}
.hai__in button{width:42px;height:42px;flex:none;border:0;border-radius:50%;background:#ed192d;color:#fff;font-size:15px;cursor:pointer}
.hai__in button:disabled{opacity:.35;cursor:default}
@media (max-width:600px){.hai{right:8px;left:8px;width:auto;bottom:78px;height:calc(100dvh - 100px)}.hai__fab{right:14px;bottom:14px}}
@media (prefers-reduced-motion:reduce){.hai,.hai__typing i{animation:none}}
@media print{.hai,.hai__fab{display:none}}

/* ---------- member perks editor ---------- */
.pk{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}
.pk__tiers{display:grid;gap:8px;position:sticky;top:80px;grid-row:span 2}
.pk__tier{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--m-line);background:var(--m-card);color:inherit;text-align:left;cursor:pointer;font:inherit;transition:border-color .2s,box-shadow .2s,transform .15s}
.pk__tier:hover{border-color:color-mix(in srgb,var(--tc) 60%,transparent)}
.pk__tier:active{transform:scale(.99)}
.pk__tier:focus-visible{outline:3px solid color-mix(in srgb,var(--tc) 50%,transparent);outline-offset:2px}
.pk__tier.is-on{border-color:var(--tc);box-shadow:0 0 0 1px var(--tc),0 10px 24px -14px var(--tc)}
.pk__badge{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--tc);color:#fff;font-weight:800;font-size:15px}
.pk__tn b{display:block;font-size:15px}.pk__tn small{display:block;font-size:12px;opacity:.6;margin-top:2px;white-space:nowrap}
.pk__count{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--m-tint);white-space:nowrap}
.pk__main{display:grid;gap:14px;padding:22px 24px;border-top:4px solid var(--tc)}
.pk__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.pk__head .h3{margin:2px 0 4px}.pk__head p{margin:0;max-width:60ch}
.pk__stars{color:var(--tc);letter-spacing:.2em;font-size:13px}
.pk__dirty{flex:none;font-size:12px;font-weight:700;color:#b26b00;background:#fff3dc;padding:5px 10px;border-radius:999px}
.theme-dark .pk__dirty{background:rgba(255,170,40,.15);color:#ffb84d}
.pk__cols{display:none}
.pk__rows{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pk__row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"n th tools" ". en tools";gap:6px 12px;align-items:center;padding:12px;border-radius:14px;background:var(--m-card-2);border:1px solid var(--m-line)}
.pk__row .pk__n{grid-area:n}.pk__row input:nth-of-type(1){grid-area:th}.pk__row input:nth-of-type(2){grid-area:en}.pk__tools{grid-area:tools}
.pk__row .cell-input{width:100%;height:42px;font-size:15px;padding:0 12px;box-sizing:border-box;background:var(--m-card)}
.pk__row input:nth-of-type(2){height:38px;font-size:14px;opacity:.85}
.pk__n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--tc);color:#fff;font-size:13px;font-weight:700}
.pk__tools{display:grid;grid-template-columns:repeat(3,36px);gap:4px}
.pk__tools button{width:36px;height:36px;border-radius:10px;border:1px solid var(--m-line);background:var(--m-card);color:inherit;font-size:15px;cursor:pointer}
.pk__tools button:hover:not(:disabled){background:var(--m-tint)}.pk__tools button:disabled{opacity:.3;cursor:default}
.pk__tools .is-del:hover{color:#fff;background:#ed192d;border-color:#ed192d}
.pk__empty{padding:20px;text-align:center;border:1px dashed var(--m-line);border-radius:12px;margin:0;opacity:.75}
.pk__add{justify-self:start;border:1px dashed color-mix(in srgb,var(--tc) 70%,transparent);background:transparent;color:inherit;border-radius:12px;padding:11px 16px;font:600 14px/1 inherit;cursor:pointer}
.pk__add:hover{background:color-mix(in srgb,var(--tc) 10%,transparent)}
.pk__foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--m-line)}
.pk__preview{display:grid;gap:10px;max-width:420px}
.pk__ph{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.pk__lang{display:flex;border:1px solid var(--m-line);border-radius:999px;overflow:hidden}
.pk__lang button{border:0;background:transparent;color:inherit;font:700 11px/1 inherit;padding:6px 10px;cursor:pointer}.pk__lang .is-on{background:#ed192d;color:#fff}
.pk__card{border-radius:16px;padding:18px;background:linear-gradient(180deg,#191616,#110f0f);color:#fff;box-shadow:0 20px 40px -24px rgba(0,0,0,.7);border:1px solid color-mix(in srgb,var(--tc) 50%,transparent)}
.pk__ct{margin:0 0 12px;font-weight:700;font-size:16px}.pk__ct span{color:var(--tc);letter-spacing:.15em;font-size:13px}
.pk__card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pk__card li{position:relative;padding:10px 12px 10px 36px;border-radius:10px;background:rgba(255,255,255,.06);font-size:14px;line-height:1.4}
.pk__card li::before{content:"✓";position:absolute;left:12px;top:10px;color:var(--tc);font-weight:800}
@media (min-width:1500px){.pk{grid-template-columns:230px minmax(0,1fr) 300px}.pk__tiers{grid-row:auto}.pk__preview{position:sticky;top:80px}}
@media (max-width:760px){.pk{grid-template-columns:1fr}.pk__tiers{position:static;grid-row:auto;grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding:2px 2px 6px}
  .pk__tier{grid-template-columns:auto auto;padding:8px 12px 8px 8px}.pk__tn small,.pk__count{display:none}.pk__badge{width:28px;height:28px;font-size:13px}
  .pk__row{grid-template-columns:30px minmax(0,1fr);grid-template-areas:"n th" ". en" ". tools"}.pk__tools{justify-content:end}.pk__main{padding:18px 16px}}

/* Customer 360 drawer */
.c360{--tc:#8a8485;display:grid;gap:18px}
.c360__hero{display:flex;gap:18px;align-items:flex-start;padding:20px;border-radius:18px;background:linear-gradient(150deg,color-mix(in srgb,var(--tc) 22%,transparent),transparent 70%),var(--m-card-2);border:1px solid color-mix(in srgb,var(--tc) 35%,transparent)}
.c360__id{display:grid;gap:12px;min-width:0;flex:1}
.c360__tier{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.c360__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:0}
.c360__facts div,.c360__kv div{display:grid;gap:2px;min-width:0}
.c360__facts dt,.c360__kv dt{font-size:11px;opacity:.6;letter-spacing:.04em}
.c360__facts dd,.c360__kv dd{margin:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c360__tags{display:flex;flex-wrap:wrap;gap:6px;margin:0}.c360__tags em{font-style:normal;font-size:12px;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--tc) 18%,transparent)}
.c360__act{display:flex;flex-wrap:wrap;gap:8px}
.c360__kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.c360__kpi>div{display:grid;gap:4px;padding:14px;border-radius:14px;background:var(--m-card-2);border:1px solid var(--m-line);min-width:0}
.c360__kpi small{font-size:11px;opacity:.6}.c360__kpi b{font-size:22px;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.c360__kpi b i{font-style:normal;font-size:14px;opacity:.5}.c360__kpi span{font-size:11px;opacity:.7}
.c360__prog{position:relative;display:grid;gap:6px}.c360__prog::before{content:"";height:6px;border-radius:6px;background:rgba(128,128,128,.2)}
.c360__prog i{position:absolute;left:0;top:0;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--tc),color-mix(in srgb,var(--tc) 50%,#fff))}.c360__prog small{font-size:11px;opacity:.65}
.c360__tabs{display:flex;gap:4px;border-bottom:1px solid var(--m-line);overflow-x:auto;position:sticky;top:-1px;background:var(--bg);z-index:2}
.c360__tabs button{all:unset;cursor:pointer;padding:10px 14px;font-size:14px;font-weight:600;opacity:.6;border-bottom:2px solid transparent;white-space:nowrap;display:flex;gap:6px;align-items:center}
.c360__tabs button:hover{opacity:.9}.c360__tabs button.on{opacity:1;border-bottom-color:#ed192d}
.c360__tabs button:focus-visible,.c360__chips button:focus-visible{outline:2px solid #ed192d;outline-offset:2px}
.c360__tabs small,.c360__chips small{font-size:11px;padding:1px 7px;border-radius:999px;background:rgba(128,128,128,.18)}
.c360__pane{display:grid;gap:14px}
.c360__h{margin:4px 0 0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.c360__todo{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.c360__todo li{display:grid;gap:2px;padding:12px 14px;border-radius:12px;border-left:3px solid #8a8485;background:var(--m-card-2)}
.c360__todo li span{font-size:13px;opacity:.75}.c360__todo .t-warn{border-left-color:#e0a030}.c360__todo .t-hot{border-left-color:#ed192d}
.c360__two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.c360__box{display:grid;gap:10px;align-content:start;padding:16px;border-radius:14px;background:var(--m-card-2);border:1px solid var(--m-line);min-width:0}
.c360__bar{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;font-size:13px}
.c360__bar i{height:8px;border-radius:8px;background:rgba(128,128,128,.18);overflow:hidden}.c360__bar em{display:block;height:100%;background:linear-gradient(90deg,#ed192d,#ff6a78)}.c360__bar b{font-variant-numeric:tabular-nums}
.c360__kv{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:0}
.c360__bike{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px;border-radius:14px;background:var(--m-card-2);border:1px solid var(--m-line)}
.c360__pic{border-radius:10px;background:radial-gradient(circle at 50% 60%,rgba(128,128,128,.18),transparent 70%);display:grid;place-items:center;min-height:96px}
.c360__pic img{width:100%;height:100%;max-height:110px;object-fit:contain}
.c360__bi{display:grid;gap:8px;min-width:0}
.c360__bt{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0}.c360__bt b{font-size:17px}
.c360__st{font-style:normal;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;background:rgba(128,128,128,.18)}
.c360__st.s-verified{background:rgba(60,180,110,.18);color:#3cb46e}.c360__st.s-pending{background:rgba(224,160,48,.2);color:#e0a030}.c360__st.s-rejected{background:rgba(237,25,45,.14);color:#ed192d}
.c360__brow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.c360__chips{display:flex;flex-wrap:wrap;gap:6px}
.c360__chips button{all:unset;cursor:pointer;display:flex;gap:6px;align-items:center;font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid var(--m-line)}
.c360__chips button.on{background:#ed192d;color:#fff;border-color:#ed192d}
.c360__tl{list-style:none;margin:0;padding:0;display:grid}
.c360__tl li{--k:#8a8485;display:grid;grid-template-columns:14px 104px 1fr auto;gap:10px;align-items:start;padding:12px 0;border-top:1px solid var(--m-line);font-size:13px}
.c360__dot{width:10px;height:10px;border-radius:50%;margin-top:4px;background:var(--k);box-shadow:0 0 0 3px color-mix(in srgb,var(--k) 25%,transparent)}
.c360__tl time{opacity:.65;font-variant-numeric:tabular-nums}.c360__tl div{display:grid;gap:2px;min-width:0}.c360__tl small{opacity:.55;font-size:11px}
.c360__tl em{font-style:normal;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:640px){.c360__kpi{grid-template-columns:1fr 1fr}.c360__two{grid-template-columns:1fr}.c360__bike{grid-template-columns:1fr}.c360__facts{grid-template-columns:1fr}.c360__tl li{grid-template-columns:14px 1fr auto}.c360__tl time{grid-column:2/4}.c360__hero{flex-direction:column}}
/* Full-screen customer view: profile column on the left, tabs on the right */
.tm-drawer--full{width:100%;max-width:none;border-radius:0}
.tm-drawer--full .tm-drawer__body{max-width:1440px;margin:0 auto;box-sizing:border-box;width:100%}
.c360__side,.c360__main{display:grid;gap:18px;align-content:start;min-width:0}
@media (min-width:1100px){
  .c360{grid-template-columns:400px minmax(0,1fr);gap:32px;align-items:start}
  .c360__side{position:sticky;top:0}
  .c360__hero{flex-direction:column}.c360__kpi{grid-template-columns:1fr 1fr}
  .c360__bikes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c360__todo{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
}
@media (min-width:1500px){.c360__two{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}

/* Models catalogue: grouped cards + edit drawer */
.mdl__bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:8px}
.mdl__search{width:240px}.mdl__sp{flex:1}
.mdl__add{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mdl__grp{display:grid;gap:12px;margin-top:20px}
.mdl__fam{display:flex;gap:10px;align-items:baseline;margin:0;font-size:18px}.mdl__fam small{font-size:12px;font-weight:400;opacity:.55}
.mdl__grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.mdl__card{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-rows:auto 1fr;border-radius:16px;background:var(--m-card);border:1px solid var(--m-line);box-shadow:var(--m-shadow);overflow:hidden;transition:transform .2s,border-color .2s}
.mdl__card:hover{transform:translateY(-2px);border-color:rgba(237,25,45,.45)}
.mdl__card:focus-visible{outline:2px solid #ed192d;outline-offset:2px}
.mdl__pic{position:relative;display:grid;place-items:center;height:150px;background:radial-gradient(circle at 50% 65%,rgba(128,128,128,.16),transparent 70%),var(--m-card-2)}
.mdl__pic img{max-width:88%;max-height:132px;object-fit:contain}.mdl__pic>span{font-size:12px;opacity:.5}
.mdl__new{position:absolute;top:10px;left:10px;font-style:normal;font-size:10px;font-weight:700;letter-spacing:.12em;padding:3px 8px;border-radius:6px;background:#ed192d;color:#fff}
.mdl__body{display:grid;gap:4px;padding:14px 16px 16px;align-content:start}
.mdl__name{font-size:16px}.mdl__price{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.mdl__spec,.mdl__svc{font-size:12px;opacity:.65}
.mdl__miss{justify-self:start;margin-top:6px;font-size:11px;padding:3px 9px;border-radius:999px;background:rgba(224,160,48,.18);color:#c98a1a}
.mdl__ed{display:grid;gap:22px}
.mdl__hero{display:grid;gap:8px;justify-items:center;padding:16px;border-radius:16px;background:var(--m-card-2)}
.mdl__hero .thumb{width:100%;max-width:420px;height:220px;border-radius:12px}.mdl__hero .thumb img{width:100%;height:100%;object-fit:contain}
.mdl__sec{display:grid;gap:10px}
.mdl__fs{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 16px}
.mdl__fs--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.mdl__f{display:grid;gap:6px;font-size:12px}.mdl__f>span:first-child{opacity:.65}
.mdl__in{display:flex;align-items:center;gap:6px}.mdl__in .cell-input{width:100%;min-width:0}.mdl__in small{opacity:.55;font-size:12px}
.mdl__chk{display:flex;align-items:center;gap:8px;font-size:13px;align-self:end}
.mdl__danger{padding-top:16px;border-top:1px solid var(--m-line)}
@media (max-width:640px){.mdl__fs--4{grid-template-columns:1fr 1fr}.mdl__search{width:100%}}
/* check-in strip on service bookings */
.cstrip{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:6px 8px;margin:4px 0;border-radius:10px;background:var(--m-card-2);border:1px dashed var(--m-line);width:100%}
.cstrip:hover{border-color:rgba(237,25,45,.45)}.cstrip:focus-visible{outline:2px solid #ed192d;outline-offset:2px}
.cstrip em{font-style:normal;font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(128,128,128,.16)}
.cstrip .cstrip__tier{--tc:#8a8485;color:var(--tc);border:1px solid color-mix(in srgb,var(--tc) 55%,transparent);background:color-mix(in srgb,var(--tc) 12%,transparent);font-weight:700}
.cstrip .cstrip__hot{background:#ed192d;color:#fff}
.cstrip__go{margin-left:auto;font-size:11px;font-weight:600;opacity:.7}
.c360__wide{grid-column:1/-1}.c360__wide dd{white-space:normal}
.cfind{position:relative}.cfind>input{width:300px;max-width:100%}
.cfind__list{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:min(420px,90vw);margin:0;padding:6px;list-style:none;border-radius:14px;background:var(--m-card);border:1px solid var(--m-line);box-shadow:var(--m-shadow)}
.cfind__list button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:2px 10px;width:100%;padding:10px 12px;border-radius:10px}
.cfind__list button:hover,.cfind__list button:focus-visible{background:var(--m-card-2)}.cfind__list small{grid-column:1/-1;font-size:11px;opacity:.6}.cfind__list .mono{font-size:12px;opacity:.75}
.tm-head:has(.cfind){position:relative;z-index:6}
/* check-in / close job */
.ci{display:grid;gap:16px}
.ci__bike{margin:0;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.ci__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.ci__km{font-size:22px;font-variant-numeric:tabular-nums;height:52px}
.ci__fuel{display:flex;gap:4px}.ci__fuel button{all:unset;cursor:pointer;flex:1;text-align:center;padding:12px 0;border-radius:10px;border:1px solid var(--m-line);font-weight:600}
.ci__fuel button.on{background:#ed192d;border-color:#ed192d;color:#fff}.ci__fuel button:focus-visible{outline:2px solid #ed192d;outline-offset:2px}
.ci__due{padding:12px 14px;border-radius:12px;background:var(--m-card-2);border-left:3px solid #8a8485;display:grid;gap:4px;font-size:14px}
.ci__due.is-due{border-left-color:#ed192d}.ci__due span{font-size:12px;opacity:.75}
.ci__pics{display:flex;flex-wrap:wrap;gap:8px}
.ci__pic{position:relative;width:96px;height:96px;border-radius:10px;overflow:hidden}.ci__pic img{width:100%;height:100%;object-fit:cover}
.ci__pic button{all:unset;cursor:pointer;position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;text-align:center;line-height:22px}
.ci__add{display:grid;place-items:center;width:96px;height:96px;border-radius:10px;border:1px dashed var(--m-line);font-size:12px;text-align:center;cursor:pointer;padding:6px;box-sizing:border-box}
.ci__vch{display:grid;gap:8px}.ci__vch label{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--m-card-2);cursor:pointer}.ci__vch span{display:grid}.ci__vch small{opacity:.6;font-size:11px}
.ci__gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.ci__gal img{width:100%;border-radius:10px}
.job__ci{margin:2px 0}
.tm-main{animation-fill-mode:backwards} /* a kept transform would trap fixed drawers inside the page */
/* service extras */
.sp{display:grid;gap:16px}.sp__tabs{position:static;background:none}
.sp__form{display:grid;gap:12px}
.sp__rc.is-off{opacity:.55}.sp__rch{display:flex;gap:16px;align-items:flex-start}.sp__rch>div:first-child{flex:1}
.sp__rcn{display:grid;text-align:right}.sp__rcn b{font-size:24px;font-variant-numeric:tabular-nums}.sp__rcn small{font-size:11px;opacity:.6}
.sp__list{list-style:none;margin:0;padding:0;display:grid}.sp__list li{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--m-line);font-size:13px}.sp__list li>span:nth-of-type(2){flex:1}
.sp__ln{display:grid;gap:6px}
.sp__techs{display:grid;gap:10px}.sp__tech{display:grid;padding:8px 14px;border-radius:12px;background:var(--m-card-2);border:1px solid var(--m-line)}.sp__tech small{font-size:11px;opacity:.65}.sp__tech.is-off{opacity:.7}
.job__as{display:flex;gap:6px;margin:4px 0}.job__as select{flex:1;min-width:0;font-size:12px;padding:4px 6px}
.ci__qc{display:grid;gap:6px}.ci__qc label{display:flex;gap:10px;align-items:center;font-size:13px;cursor:pointer}
.cstrip .cstrip__warn{background:rgba(224,160,48,.22);color:#c98a1a}
.sp .mdl__bar input[type=month]{width:220px}
/* estimate editor */
.est__ed{display:grid;gap:8px}
.est__eh,.est__er{display:grid;grid-template-columns:minmax(0,1fr) 70px 120px 32px;gap:8px;align-items:start}
.est__eh{font-size:11px;opacity:.6}.est__ed1{display:grid;gap:2px}.est__ed1 small{font-size:11px;opacity:.6}
.est__et{display:flex;justify-content:space-between;padding-top:10px;border-top:1px solid var(--m-line);font-size:16px}.est__et b{font-variant-numeric:tabular-nums}

/* follow-ups due (sales) */
.fu2{background:var(--m-card);border:1px solid var(--m-line);border-radius:var(--m-r);box-shadow:var(--m-shadow);overflow:hidden}
.fu2__head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--m-line)}
.fu2__head .h3{margin:0}.fu2__n{font-size:13px;opacity:.6;margin-right:auto}
.fu2__pill{font-style:normal;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}
.fu2__pill.is-late{background:rgba(237,25,45,.12);color:#c8102e}.fu2__pill.is-today{background:rgba(224,160,48,.16);color:#a86a00}
.theme-dark .fu2__pill.is-late{color:#ff6b78}.theme-dark .fu2__pill.is-today{color:#f0b544}
.fu2__list{display:grid}
.fu2__row{display:grid;grid-template-columns:minmax(200px,1.3fr) minmax(160px,1fr) 120px minmax(120px,1fr) auto;gap:16px;align-items:center;padding:14px 20px;border-top:1px solid var(--m-line);position:relative}
.fu2__row:first-child{border-top:0}
.fu2__row::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:#e0a030}
.fu2__row.is-late::before{background:#ed192d}
.fu2__row:hover{background:var(--m-card-2)}
.fu2__who{display:flex;gap:12px;align-items:center;min-width:0}
.fu2__av{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--m-card-2);border:1px solid var(--m-line);font-weight:700}
.fu2__id{display:grid;gap:2px;min-width:0}
.fu2__name{all:unset;cursor:pointer;font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fu2__name:hover{text-decoration:underline}.fu2__name:focus-visible,.fu2__tel:focus-visible{outline:2px solid #ed192d;outline-offset:2px}
.fu2__tel{font-size:13px;color:inherit;opacity:.7;text-decoration:none}.fu2__tel:hover{opacity:1}
.fu2__what{display:grid;gap:2px;min-width:0}.fu2__what b{font-size:14px;font-weight:600}
.fu2__tags{display:flex;flex-wrap:wrap;gap:6px}
.fu2__owner,.fu2__nudge{font-size:12px;padding:3px 9px;border-radius:999px;background:var(--m-card-2);border:1px solid var(--m-line)}
.fu2__nudge{background:rgba(224,160,48,.14);border-color:rgba(224,160,48,.4)}
.fu2__act{display:flex;gap:8px;align-items:center;justify-content:flex-end;min-width:196px}.fu2__done{min-width:84px;text-align:center}
@media (max-width:1100px){.fu2__row{grid-template-columns:1fr auto;gap:8px 12px}.fu2__what{grid-column:1}.fu2__when{grid-column:2;grid-row:1;justify-self:end}.fu2__tags{grid-column:1/-1}.fu2__act{grid-column:1/-1;justify-content:flex-start;min-width:0}}
.fu2__owner small{opacity:.6}

/* leads list (replaces the wide table) */
.ld2{background:var(--m-card);border:1px solid var(--m-line);border-radius:var(--m-r);box-shadow:var(--m-shadow);overflow:hidden}
.ld2__hd,.ld2__row{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(160px,1.2fr) 56px minmax(170px,1fr) 100px 290px;gap:16px;align-items:center;padding:12px 20px}
.ld2__hd{font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.55;border-bottom:1px solid var(--m-line);padding-top:14px;padding-bottom:10px}
.ld2__row{border-top:1px solid var(--m-line)}.ld2__row:nth-child(2){border-top:0}
.ld2__row:hover{background:var(--m-card-2)}
.ld2__sub{font-size:12px;opacity:.62;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ld2__int,.ld2__st,.ld2__own{display:grid;gap:5px;min-width:0;justify-items:start}
.ld2__int .tm-tags{display:flex;flex-wrap:wrap;gap:4px}
.ld2__av--hot{box-shadow:0 0 0 2px #ed192d}.ld2__av--warm{box-shadow:0 0 0 2px #ff9b2f}.ld2__av--cold{box-shadow:0 0 0 2px #4e8ef7}
.ld2__score{display:inline-grid;place-items:center;min-width:38px;height:24px;padding:0 8px;border-radius:8px;font-weight:700;font-size:12px;font-variant-numeric:tabular-nums;background:var(--m-card-2);border:1px solid var(--m-line)}
.ld2__score.score--hot{background:rgba(237,25,45,.12);border-color:rgba(237,25,45,.4);color:#c8102e}
.ld2__score.score--warm{background:rgba(255,155,47,.14);border-color:rgba(255,155,47,.45);color:#a85f00}
.ld2__score.score--cold{background:rgba(78,142,247,.12);border-color:rgba(78,142,247,.4);color:#2f6fd6}
.theme-dark .ld2__score.score--hot{color:#ff6b78}.theme-dark .ld2__score.score--warm{color:#ffb35c}.theme-dark .ld2__score.score--cold{color:#86b2ff}
.ld2__st .mini-select{max-width:100%}
.ld2__fu{all:unset;cursor:pointer;font-size:12px;padding:3px 9px;border-radius:999px;background:var(--m-card-2);border:1px solid var(--m-line);white-space:nowrap}
.ld2__fu.is-due{background:rgba(224,160,48,.16);border-color:rgba(224,160,48,.45)}.ld2__fu.is-over{background:rgba(237,25,45,.1);border-color:rgba(237,25,45,.4)}.ld2__fu.is-full{background:rgba(47,179,109,.14);border-color:rgba(47,179,109,.45)}
.ld2__fu:focus-visible,.ld2__b:focus-visible{outline:2px solid #ed192d;outline-offset:2px}
.ld2__act{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:300px}
.ld2__b{all:unset;box-sizing:border-box;cursor:pointer;font-size:12px;font-weight:600;padding:6px 11px;border-radius:8px;border:1px solid var(--m-line);background:var(--m-card);white-space:nowrap}
.ld2__b:hover{border-color:rgba(237,25,45,.5)}
.ld2__b--call{background:#ed192d;border-color:#ed192d;color:#fff}.ld2__b--ghost{border-style:dashed}
.ld2__empty{padding:24px 20px}
@media (max-width:1180px){.ld2__hd{display:none}.ld2__row{grid-template-columns:1fr auto;gap:8px 12px}.ld2__int,.ld2__st{grid-column:1/-1}.ld2__own{grid-column:1;grid-row:2;display:none}.ld2__row>div:nth-child(3){grid-column:2;grid-row:1;justify-self:end}.ld2__act{grid-column:1/-1;justify-content:flex-start;max-width:none}}
.ld2__own>span:first-child{font-size:13px;font-weight:600}

/* parts list */
.pt2__bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pt2__search{width:260px}.pt2__stf{padding-left:10px;border-left:1px solid var(--m-line)}
.pt2__io{position:relative}.pt2__io summary{list-style:none}.pt2__io summary::-webkit-details-marker{display:none}
.pt2__menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:320px;display:grid;padding:6px;border-radius:14px;background:var(--m-card);border:1px solid var(--m-line);box-shadow:var(--m-shadow)}
.pt2__menu button{all:unset;cursor:pointer;display:grid;gap:2px;padding:10px 12px;border-radius:10px}.pt2__menu button:hover,.pt2__menu button:focus-visible{background:var(--m-card-2)}.pt2__menu small{font-size:11px;opacity:.6}
.tm-main>.pt2__bar{position:relative;z-index:5}
.pt2{background:var(--m-card);border:1px solid var(--m-line);border-radius:var(--m-r);box-shadow:var(--m-shadow);overflow:hidden}
.pt2__hd,.pt2__row{display:grid;grid-template-columns:minmax(260px,2fr) 130px 150px 150px 110px 90px;gap:16px;align-items:center;padding:12px 20px}
.pt2__hd{font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.55;border-bottom:1px solid var(--m-line)}
.pt2__row{border-top:1px solid var(--m-line)}.pt2__row:nth-child(2){border-top:0}.pt2__row:hover{background:var(--m-card-2)}
.pt2__item{display:flex;gap:14px;align-items:center;min-width:0}
.pt2__item .thumb{width:56px;height:56px;flex:none;border-radius:10px;overflow:hidden}.pt2__item .thumb img{width:100%;height:100%;object-fit:cover}
.pt2__price{display:flex;align-items:center;gap:6px}.pt2__price>span{opacity:.55}.pt2__price .cell-input{width:100%;font-variant-numeric:tabular-nums;text-align:right}
.pt2__qty{display:flex;align-items:center;border:1px solid var(--m-line);border-radius:10px;overflow:hidden;width:max-content}
.pt2__qty button{all:unset;cursor:pointer;width:32px;height:36px;text-align:center;font-size:16px;background:var(--m-card-2)}.pt2__qty button:disabled{opacity:.35;cursor:default}
.pt2__qty button:focus-visible{outline:2px solid #ed192d;outline-offset:-2px}
.pt2__qty .cell-input{width:52px;border:0;border-radius:0;text-align:center;font-variant-numeric:tabular-nums}
.pt2__st{font-style:normal;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}
.pt2__st.is-in{background:rgba(47,179,109,.14);color:#1f8a52}.pt2__st.is-low{background:rgba(224,160,48,.16);color:#a86a00}.pt2__st.is-out{background:rgba(237,25,45,.12);color:#c8102e}
.theme-dark .pt2__st.is-in{color:#5fd496}.theme-dark .pt2__st.is-low{color:#f0b544}.theme-dark .pt2__st.is-out{color:#ff6b78}
.pt2__x{display:flex;justify-content:flex-end}
@media (max-width:1100px){.pt2__hd{display:none}.pt2__row{grid-template-columns:1fr auto;gap:10px}.pt2__item{grid-column:1/-1}.pt2__x{grid-column:2;grid-row:1}.pt2__search{width:100%}}

/* KPI tiles: tone + hint + shortcut */
.dk-kpi{text-align:left;font:inherit;color:inherit}
button.dk-kpi{cursor:pointer;width:100%}
button.dk-kpi:focus-visible{outline:2px solid #ed192d;outline-offset:2px}
.dk-kpi__hint{margin:0;font-size:12px;opacity:.7}
.dk-kpi__cta{font-size:12px;font-weight:600;margin-top:2px;opacity:.85}
.dk-kpi--alert{background:linear-gradient(160deg,rgba(237,25,45,.10),transparent 60%),var(--m-card)}
.dk-kpi--alert .dk-kpi__bar{background:#ed192d;opacity:1}
.dk-kpi--alert .dk-kpi__hint{color:#c8102e;opacity:1;font-weight:600}
.dk-kpi--warn{background:linear-gradient(160deg,rgba(224,160,48,.12),transparent 60%),var(--m-card)}
.dk-kpi--warn .dk-kpi__bar{background:#e0a030;opacity:1}
.dk-kpi--warn .dk-kpi__hint{color:#a86a00;opacity:1;font-weight:600}
.dk-kpi--good .dk-kpi__bar{background:#2fb36d;opacity:.8}
.dk-kpi--good .dk-kpi__value{opacity:.55}
.theme-dark .dk-kpi--alert .dk-kpi__hint{color:#ff6b78}.theme-dark .dk-kpi--warn .dk-kpi__hint{color:#f0b544}
@media (max-width:640px){.tm-kpis{grid-template-columns:1fr 1fr;gap:10px}.tm-kpis .dk-kpi{padding:14px 16px}}
/* Salesforce import preview */
.sfi__sum{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.sfi__pill{padding:6px 12px;border-radius:999px;background:var(--surface-2,#f1efef);font-size:13px}
.sfi__pill b{font-variant-numeric:tabular-nums;margin-left:4px}
.sfi__pill--warn{background:#fff4e0;color:#8a5200}
.sfi__pill--err{background:#fde8ea;color:#a3121f}
.sfi__note{font-size:13px;color:var(--fg-2,#5e5859);margin:0 0 12px;max-width:70ch}
.sfi__tbl{display:flex;flex-direction:column;border-top:1px solid var(--line,#e3e0e0)}
.sfi__r{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr) minmax(0,1fr) 96px minmax(0,.9fr) minmax(0,1.2fr);gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line,#e3e0e0);font-size:14px}
.sfi__r>span{min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}
.sfi__r small{color:var(--fg-2,#5e5859);font-size:12px}
.sfi__r--hd{font-size:12px;color:var(--fg-2,#5e5859);font-weight:600}
.sfi__r.is-bad{background:#fde8ea55}
.sfi__tag{font-style:normal;font-size:11px;color:#8a5200}
.sfi__miss{color:#a3121f;font-style:normal;font-size:13px}
@media (max-width:760px){.sfi__r{grid-template-columns:1fr 1fr}.sfi__r--hd{display:none}}
/* Branch lock chip (staff tied to one showroom) */
.tm-brchip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--surface-2,#f1efef);font-size:13px;font-weight:600;white-space:nowrap}
.tm-brchip svg{width:14px;height:14px;color:#ed192d}
/* Stock aging */
.agx__bars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end;height:220px;margin:12px 0}
.agx__col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%;min-width:0}
.agx__col b{font-size:20px;font-variant-numeric:tabular-nums}
.agx__bar{width:100%;max-width:72px;min-height:3px;border-radius:8px 8px 2px 2px;background:#2fb36d;transition:height .3s}
.agx__col.is-warn .agx__bar{background:#e0a030}.agx__col.is-old .agx__bar{background:#ed192d}
.agx__col small{font-size:12px;color:var(--fg-2,#5e5859)}.agx__col em{font-style:normal;font-size:11px;color:var(--fg-2,#5e5859);white-space:nowrap}
/* Team positions legend */
.tierx{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px 28px}
.tierx>h2{grid-column:1/-1;margin:0}
.tierx__h{font-weight:700;font-size:13px;margin:0 0 8px;color:var(--fg-2,#5e5859)}
.tierx ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tierx li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) 32px;gap:10px;align-items:center;padding:9px 12px;border-radius:10px;background:var(--m-card-2,#f5f4f4);font-size:14px}
.tierx li span{font-size:13px;color:var(--fg-2,#5e5859)}
.tierx li em{font-style:normal;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
/* Stock by showroom */
.stk__add{display:grid;gap:8px}.stk__add .tm-toolbar{margin:0}
.stk__chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}
.stk__chips .tm-count{margin-left:6px}
.stk__acts{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
.c360__st.s-done{background:rgba(120,115,116,.14);color:#7a7374}
.c360__st.s-hot{background:rgba(237,25,45,.12);color:#ed192d}
.c360__st.s-new{background:rgba(35,31,32,.08);color:inherit}
.stk__date{display:inline-flex;flex-direction:column;gap:2px;font-size:11px;color:var(--fg-2,#5e5859)}
.stk__date .cell-input{min-width:150px}
.stk__age{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px}
.stk__age .cell-input{width:150px;padding:4px 8px;font-size:12px}
.stk__lv{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.stk__lv .age{font-size:13px;padding:5px 12px}
.stk__clk{display:inline-flex;align-items:center;gap:6px}.stk__clk small{font-size:11px;color:var(--fg-2,#5e5859);min-width:34px}
.stk__chk{display:flex;gap:8px;align-items:center;font-size:14px;margin:4px 0 12px}
.stk__map{margin:0 0 12px;display:grid;gap:8px}.stk__map h3{margin:0}
.stk__maprow{display:grid;grid-template-columns:minmax(0,1.6fr) 70px minmax(0,1fr);gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--line,#e3e0e0)}
.stk__msrp{font-style:normal;font-size:10px;font-weight:700;margin-left:6px;padding:2px 6px;border-radius:4px;background:#fff4e0;color:#8a5200;vertical-align:middle}
.ci__link{display:grid;gap:6px;margin:6px 0 10px}
.bsvc__ph{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:#8a5200;margin-top:6px}.bsvc__ph .cell-input{width:150px}
/* Stock overview */
.sto{display:grid;gap:16px}
.sto__grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}
@media (max-width:900px){.sto__grid{grid-template-columns:1fr}}
.sto__bars{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;align-items:end;height:180px;margin-top:12px}
.sto__bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%;min-width:0}
.sto__bar i{width:100%;max-width:34px;min-height:2px;border-radius:6px 6px 2px 2px;background:#c9c4c5}
.sto__bar.is-now i{background:#ed192d}.sto__bar b{font-size:12px;font-variant-numeric:tabular-nums}.sto__bar small{font-size:11px;color:var(--fg-2,#5e5859)}
.sto__old ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.sto__old li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--m-card-2,#f5f4f4);font-size:14px}
.sto__tbl{overflow-x:auto;margin-top:8px}
.sto__r{display:grid;gap:8px;align-items:center;padding:8px 4px;border-bottom:1px solid var(--line,#e3e0e0);font-size:14px;min-width:520px}
.sto__r--hd{font-size:12px;font-weight:600;color:var(--fg-2,#5e5859)}.sto__r--hd span:not(:first-child){text-align:center}
.sto__n{text-align:center;font-variant-numeric:tabular-nums;font-weight:600;position:relative}.sto__n.is-0{color:#c9c4c5;font-weight:400}
.sto__tot{background:var(--m-card-2,#f5f4f4);border-radius:6px;padding:2px 0}
.sto__dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ed192d;margin-left:4px;vertical-align:middle}
.sto .tm-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.sto__mxh{display:flex;justify-content:space-between;align-items:center;gap:12px}
button.sto__fam{width:100%;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.sto__fam{background:var(--m-card-2,#f5f4f4)!important;border-radius:8px;margin-top:6px;border-bottom:0}
.sto__fam:hover{filter:brightness(.98)}.sto__fam:focus-visible{outline:2px solid #ed192d;outline-offset:2px}
.sto__car{display:inline-block;width:16px;font-style:normal;color:#ed192d}
.sto__sub span:first-child{padding-left:22px;color:var(--fg-2,#5e5859)}
.sto__all{border-top:2px solid var(--fg,#231f20);border-bottom:0;font-weight:700}
/* Stock action bar + add drawer */
.stk__bar{align-items:center}.stk__sp{flex:1 1 auto}
.stk__bar .pt2__menu{width:340px}
.stk__form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
@media (max-width:640px){.stk__form{grid-template-columns:1fr}}
.stk__fl{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--fg-2,#5e5859)}
.stk__fl .cell-input,.stk__fl select{width:100%;min-width:0}

.stk__age{gap:6px}.stk__clk{flex-wrap:wrap}
.stk__edt{all:unset;cursor:pointer;font-size:11px;font-weight:600;color:var(--fg-2,#5e5859);text-decoration:underline;text-underline-offset:2px}
.stk__edt:hover,.stk__edt:focus-visible{color:#ed192d}

.sto__grid{align-items:start}
/* Bike rows: one line — ages side by side, actions never wrap */
.stk__age{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:10px;row-gap:4px}
.stk__acts{flex-wrap:nowrap;white-space:nowrap}
.stk__acts .mini-select,.stk__acts select{max-width:140px}
/* Souvenir desk */
.gft__q { display: flex; gap: 8px; margin: 12px 0; }
.gft__q input { flex: 1; font-size: 18px; letter-spacing: .08em; text-transform: uppercase; }
.gft__res { display: grid; gap: 6px; justify-items: start; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--line); }
.gft__res b { font-size: 18px; }
.gft__res.is-ok { border-color: var(--success); background: color-mix(in srgb, var(--success) 12%, transparent); }
.gft__res.is-bad { border-color: var(--warning); background: color-mix(in srgb, var(--warning) 12%, transparent); }
/* Event ride queue (staff) */
.rdq { display: grid; gap: 14px; }
.rdq__fleet { display: grid; gap: 10px; }
.rdq__fam { display: grid; gap: 6px; }
.rdq__fam small { font-weight: 700; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; opacity: .7; }
.rdq__grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); align-items: start; }
.rdq__col header { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.rdq__col ul, .rdq__done { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rdq__row { display: grid; grid-template-columns: 44px 1fr; gap: 6px 12px; align-items: center; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); }
.rdq__row.is-riding { border-color: var(--success); background: color-mix(in srgb, var(--success) 12%, transparent); }
.rdq__row.is-noshow, .rdq__row.is-cancel { opacity: .6; }
.rdq__no { font-size: 26px; text-align: center; font-variant-numeric: tabular-nums; }
.rdq__who { display: grid; gap: 2px; min-width: 0; }
.rdq__who span { font-size: 12px; opacity: .8; overflow-wrap: anywhere; }
.rdq__acts { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.rdq__chk { display: inline-flex; gap: 6px; align-items: center; font-size: 12px; margin-right: auto; }
.rdq__m { font-weight: 700; margin-top: 8px; }
/* A4 test-ride sheet */
.rdp { font-size: 10.5px; line-height: 1.45; color: #111; display: grid; gap: 10px; }
.rdp__head { display: grid; grid-template-columns: 40px 1fr auto; gap: 12px; align-items: center; border-bottom: 2px solid #111; padding-bottom: 8px; }
.rdp__head b { font-size: 15px; display: block; }
.rdp__q { text-align: center; border: 2px solid #111; padding: 4px 12px; display: grid; }
.rdp__q b { font-size: 28px; line-height: 1; }
.rdp__q small, .rdp__q span { font-size: 9px; }
.rdp__grid { display: grid; grid-template-columns: 1fr 72mm; gap: 12px; }
.rdp dl { margin: 0; display: grid; gap: 3px; }
.rdp dl div { display: grid; grid-template-columns: 38mm 1fr; border-bottom: 1px dotted #999; padding: 2px 0; }
.rdp dt { color: #555; } .rdp dd { margin: 0; font-weight: 600; }
.rdp figure { margin: 0; text-align: center; border: 1px solid #999; padding: 4px; }
.rdp figure img { width: 100%; max-height: 50mm; object-fit: contain; }
.rdp figcaption { font-size: 9px; color: #555; }
.rdp .rd__terms { max-height: none; overflow: visible; border-color: #999; font-size: 10px; padding: 8px 10px; gap: 8px; line-height: 1.4; }
.rdp .rd__terms b { font-size: 11px; }
.rdp .rd__terms section[lang="en"] { opacity: 1; }
.rdp__ok { margin: 0; font-weight: 600; }
.rdp__sign { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 18px; text-align: center; align-items: end; }
.rdp__sign div { border-top: 1px dotted #444; padding-top: 4px; display: grid; gap: 2px; position: relative; min-height: 22mm; align-content: end; }
.rdp__sign img { position: absolute; left: 0; right: 0; bottom: 100%; margin: auto; max-height: 20mm; max-width: 100%; }
.rdp__sign i { font-style: normal; } .rdp__sign span { color: #777; font-size: 9px; }
/* Voucher desk */
.vdk { display: grid; gap: 14px; }
.vdk__q { display: grid; gap: 8px; max-width: 560px; }
.vdk__q input { font-size: 20px; letter-spacing: .06em; padding: 12px 14px; }
.vdk__ok { display: grid; gap: 4px; max-width: 560px; border-color: var(--success); background: color-mix(in srgb, var(--success) 14%, transparent); }
.vdk__ok strong { font-size: 22px; }
.vdk__list, .vdk__types { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); align-items: start; }
.vdk__card, .vdk__type { display: grid; gap: 6px; }
.vdk__card.is-used, .vdk__card.is-expired, .vdk__type.is-off { opacity: .65; }
.vdk__top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.vdk__card p, .vdk__type p { margin: 0; }
.vdk__use { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.vdk__use .cell-input { flex: 1 1 140px; min-width: 0; }
.vdk__aud { margin: 0; font-weight: 600; }
.vdk__bal { font-weight: 700; font-size: 16px; }
.vdk__hist { margin: 0; padding-left: 18px; font-size: 12px; opacity: .85; display: grid; gap: 2px; }
.vdk__for { display: flex; flex-wrap: wrap; gap: 6px; flex-basis: 100%; }
.rdq__scan { display: flex; gap: 6px; align-items: center; }
.rdq__scan input { width: 190px; text-transform: uppercase; }
.rdq__ok { color: var(--success); font-weight: 700; font-size: 13px; margin-right: auto; }
.rdq__cf { display: grid; gap: 6px; } .rdq__cf p { margin: 0; }
.rdq__lic { max-width: 100%; max-height: 260px; object-fit: contain; border-radius: 10px; border: 1px solid var(--line); margin-top: 6px; }
.rdq__pin { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13px; }
.rdq__pin b { font-size: 18px; letter-spacing: .14em; }
.mailbtn { display: inline-flex; gap: 6px; align-items: center; flex-wrap: wrap; } .mailbtn input { width: 210px; }

/* Customer sign-up page (#expo): focused, mobile-first. */
.expo { background: #f3f2f1; min-height: 100dvh; color: #231f20; padding-bottom: 56px; }
.expo__wrap { width: min(760px, 100% - 32px); margin-inline: auto; }
.expo__hero { background-size: cover; background-position: center; color: #fff; padding: 56px 0 96px; }
.expo__kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 7px 14px; border-radius: 99px; background: rgba(255,255,255,.12); backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,.18); font: 700 13px/1 var(--font-sans); letter-spacing: .06em; text-transform: uppercase; }
.expo__dot { width: 8px; height: 8px; border-radius: 50%; background: #ed192d; box-shadow: 0 0 0 4px rgba(237,25,45,.3); }
.expo__title { font: 800 clamp(28px, 6vw, 46px)/1.1 var(--font-display); letter-spacing: -.01em; margin: 0 0 12px; text-wrap: balance; }
.expo__lead { font-size: clamp(16px, 2.6vw, 19px); line-height: 1.5; color: rgba(255,255,255,.82); margin: 0 0 18px; max-width: 560px; }
.expo__lead--dark { color: #5e5859; margin-bottom: 20px; }
.expo__perks { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.expo__perks li { font: 600 13px/1 var(--font-sans); padding: 8px 12px; border-radius: 99px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); }
.expo__perks li::before { content: '✓'; color: #ff6b78; margin-right: 6px; font-weight: 800; }
.expo__body { margin-top: -56px; position: relative; }
.expo__card { background: #fff; border-radius: 24px; padding: clamp(20px, 4vw, 36px); box-shadow: 0 24px 60px -28px rgba(35,31,32,.35), 0 2px 6px rgba(35,31,32,.05); display: grid; gap: 28px; animation: dk-fade .5s var(--ease-ducati) both; }
.expo__sec { display: grid; gap: 14px; border: 0; padding: 0; margin: 0; min-width: 0; }
.expo__step { display: flex; align-items: center; gap: 10px; margin: 0; padding: 0; font: 700 16px/1.2 var(--font-sans); }
.expo__step b { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #ed192d; color: #fff; font-size: 13px; }
.expo__count { margin-left: auto; font: 500 13px/1 var(--font-sans); color: #857e7f; }
.expo__grid { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
.expo__grid > :last-child { grid-column: 1 / -1; }
@media (max-width: 560px) { .expo__grid { grid-template-columns: 1fr; } }
.expo .dk-field__control { height: 52px; border-radius: 14px; border: 1.5px solid #dcd9d8; background: #faf9f8; color: #231f20; font-size: 16px; padding: 0 16px; transition: border-color .15s, box-shadow .15s, background .15s; }
.expo .dk-field__control:focus { outline: 0; background: #fff; border-color: #ed192d; box-shadow: 0 0 0 4px rgba(237,25,45,.12); }
.expo .dk-field__label { color: #231f20; font-weight: 600; }
.expo__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.expo__chip { font: 600 14px/1 var(--font-sans); padding: 11px 16px; min-height: 44px; border-radius: 99px; border: 1.5px solid #dcd9d8; background: #fff; color: #231f20; cursor: pointer; transition: transform .12s, background .15s, border-color .15s, color .15s; }
.expo__chip:hover { border-color: #231f20; }
.expo__chip:active { transform: scale(.97); }
.expo__chip.is-on { background: #231f20; border-color: #231f20; color: #fff; }
.expo__chip.is-on::before { content: '✓'; margin-right: 6px; color: #ff6b78; }
.expo__consent { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 14px; background: #f7f6f5; border: 1.5px solid transparent; font-size: 14px; line-height: 1.5; cursor: pointer; }
.expo__consent.is-error { border-color: #c8102e; background: #fff1f2; }
.expo__consent input { width: 22px; height: 22px; accent-color: #ed192d; flex: none; margin-top: 1px; }
.expo__consent a { color: #231f20; font-weight: 700; }
.expo .dk-btn--lg { border-radius: 14px; --h: 58px; box-shadow: 0 14px 30px -14px rgba(224,23,42,.8); }
.expo .dk-btn--secondary { border-radius: 14px; }
.expo__done { text-align: center; justify-items: center; gap: 6px; padding-block: 48px; }
.expo__h { font: 800 clamp(28px, 6vw, 38px)/1.1 var(--font-display); margin: 4px 0 0; }
.expo__check { width: 84px; height: 84px; margin-bottom: 8px; }
.expo__check circle { fill: #e6f6ee; stroke: #2fb36d; stroke-width: 2; stroke-dasharray: 160; stroke-dashoffset: 160; animation: expo-draw .7s .05s ease forwards; }
.expo__check path { fill: none; stroke: #2fb36d; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 40; stroke-dashoffset: 40; animation: expo-draw .5s .55s ease forwards; }
@keyframes expo-draw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .expo__card, .expo__check circle, .expo__check path { animation: none; stroke-dashoffset: 0; } }

.expo__fams{display:grid;gap:14px}.expo__fam{display:grid;gap:8px}
.expo__famh{margin:0;font:700 11px/1 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(127,127,127,.95);display:flex;align-items:center;gap:8px}
.expo__famh b{background:#ed192d;color:#fff;border-radius:99px;min-width:18px;height:18px;display:inline-grid;place-content:center;font-size:11px;letter-spacing:0;padding:0 5px}
.expo__fam .expo__chip{padding:9px 14px;min-height:40px}
/* Swipe deck model picker */
.swp { display: grid; gap: 14px; margin-top: 10px; }
.swp__fams { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
.swp__fam, .swp__mode { flex: 0 0 auto; font: 600 13px/1 var(--font-sans); padding: 9px 14px; border-radius: 99px; border: 1.5px solid #dcd9d8; background: #fff; color: #231f20; cursor: pointer; }
.swp__fam.is-on { background: #231f20; color: #fff; border-color: #231f20; }
.swp__mode { margin-left: auto; border-style: dashed; }
.swp__stage { position: relative; height: min(460px, 68vh); display: grid; place-items: center; }
.swp__card { position: absolute; inset: 0; margin: auto; width: min(360px, 100%); border-radius: 26px; overflow: hidden; background: #171415; color: #fff; box-shadow: 0 24px 50px -18px rgba(0,0,0,.55); touch-action: pan-y; cursor: grab; user-select: none; display: grid; grid-template-rows: 1fr auto; }
.swp__card:active { cursor: grabbing; }
.swp__card:focus-visible { outline: 3px solid #ed192d; outline-offset: 4px; }
.swp__card--next { transform: scale(.94) translateY(14px); opacity: .55; pointer-events: none; }
.swp__img { background: radial-gradient(ellipse at 50% 60%, #4a4445 0%, #1a1718 72%) center/cover; background-size: contain; background-repeat: no-repeat; background-position: center 55%; display: grid; place-items: center; min-height: 0; }
.swp__img span { font: 800 28px/1.1 var(--font-display); opacity: .5; padding: 20px; text-align: center; }
.swp__info { padding: 16px 20px 20px; display: grid; gap: 4px; background: linear-gradient(180deg, rgba(23,20,21,0), #171415 30%); }
.swp__info small { font: 700 11px/1 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: #ff6b78; }
.swp__info b { font: 800 26px/1.1 var(--font-display); }
.swp__info p { margin: 0; font-size: 14px; color: rgba(255,255,255,.75); }
.swp__info em { font-style: normal; font-weight: 700; font-size: 14px; color: rgba(255,255,255,.9); }
.swp__tag { position: absolute; top: 22px; padding: 8px 14px; border-radius: 10px; font: 800 18px/1 var(--font-sans); letter-spacing: .06em; border: 3px solid; transform: rotate(-12deg); pointer-events: none; }
.swp__tag--yes { left: 18px; color: #3fcf8e; border-color: #3fcf8e; }
.swp__tag--no { right: 18px; color: #ff5a66; border-color: #ff5a66; transform: rotate(12deg); }
.swp__ctl { display: flex; align-items: center; justify-content: center; gap: 28px; }
.swp__btn { width: 64px; height: 64px; border-radius: 50%; border: 0; font-size: 26px; cursor: pointer; box-shadow: 0 10px 24px -10px rgba(0,0,0,.4); transition: transform .12s; }
.swp__btn:active { transform: scale(.92); }
.swp__btn--no { background: #fff; color: #5e5859; }
.swp__btn--yes { background: #ed192d; color: #fff; }
.swp__pos { font: 700 14px/1 var(--font-sans); color: #5e5859; min-width: 60px; text-align: center; font-variant-numeric: tabular-nums; }
.swp__hint { margin: -4px 0 0; text-align: center; font-size: 12px; color: #7a7374; }
.swp__end { display: grid; place-items: center; gap: 12px; padding: 36px 16px; border-radius: 22px; background: #f7f6f5; border: 1.5px dashed #dcd9d8; text-align: center; }
.swp__end b { font: 800 20px/1.2 var(--font-display); }
.swp__picked { display: flex; flex-wrap: wrap; gap: 6px; }
.swp__pill { font: 600 13px/1 var(--font-sans); padding: 8px 12px; border-radius: 99px; border: 0; background: #ffe5e8; color: #b0101f; cursor: pointer; }
.swp__pill span { margin-left: 4px; opacity: .6; }
@media (prefers-reduced-motion: reduce) { .swp__card { transition: none !important; } }

/* ---------- Expo on liquid glass (27 Oct 2026): dark photo behind, frosted card, glass inputs, chips and swipe deck ---------- */
.expo { position: relative; isolation: isolate; background: #161214; color: #fff; }
.expo::before { content: ""; position: fixed; inset: -60px; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, rgba(14,10,12,.45), rgba(14,10,12,.8)), url("panigale-v4-replica-banner.jpg") center 35%/cover no-repeat; filter: blur(16px) saturate(1.2); }
.expo__hero { background: none !important; }
.expo__card { background: linear-gradient(150deg, rgba(255,255,255,.12), rgba(255,255,255,0) 55%), rgba(24,20,22,.55); border: 1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter: blur(30px) saturate(160%); backdrop-filter: blur(30px) saturate(160%);
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.4), inset 0 0 24px rgba(255,255,255,.05), 0 24px 60px rgba(0,0,0,.45); }
.expo__count, .expo__lead--dark { color: rgba(255,255,255,.72); }
.expo .dk-field__label { color: #fff; }
.expo .dk-field__control { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #fff; }
.expo .dk-field__control::placeholder { color: rgba(255,255,255,.55); }
.expo .dk-field__control:focus { background: rgba(255,255,255,.14); border-color: #ff4d5e; box-shadow: 0 0 0 4px rgba(237,25,45,.25); }
.expo select.dk-field__control option { color: #231f20; background: #fff; }
.expo__chip, .swp__fam, .swp__mode { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #fff; }
.expo__chip:hover { border-color: rgba(255,255,255,.6); }
.expo__chip.is-on, .swp__fam.is-on { background: #fff; border-color: #fff; color: #231f20; }
.expo__chip.is-on::before { color: #ed192d; }
.expo__consent { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.12); }
.expo__consent.is-error { border-color: #ff5a66; background: rgba(255,90,102,.14); }
.expo__consent a { color: #fff; }
.expo .dk-btn--secondary { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.25); color: #fff; }
.expo__check circle { fill: rgba(63,207,142,.16); stroke: #3fcf8e; }
.expo__check path { stroke: #3fcf8e; }
/* swipe deck */
.swp__card { background: rgba(22,18,20,.7); border: 1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter: blur(24px) saturate(160%); backdrop-filter: blur(24px) saturate(160%);
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.45), inset 0 0 30px rgba(255,255,255,.06), 0 30px 60px -20px rgba(0,0,0,.7); }
.swp__img { background-color: transparent; }
.swp__info { background: linear-gradient(180deg, rgba(22,18,20,0), rgba(22,18,20,.85) 35%); }
.swp__btn--no { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.25);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: inset 1px 1px 0 rgba(255,255,255,.35), 0 10px 24px -10px rgba(0,0,0,.6); }
.swp__btn--yes { box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 12px 28px -8px rgba(237,25,45,.7); }
.swp__pos, .swp__hint { color: rgba(255,255,255,.7); }
.swp__end { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.22); }
.swp__pill { background: rgba(237,25,45,.22); color: #ffd6da; border: 1px solid rgba(255,107,120,.35); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .expo__card, .swp__card { background: rgba(24,20,22,.94); } }
/* Souvenir coupon on the thank-you card */
.expo__gift { width: min(340px, 100%); display: grid; gap: 6px; justify-items: center; margin: 6px 0 10px; padding: 18px 20px; border-radius: 20px; border: 1.5px dashed rgba(255,255,255,.35); background: linear-gradient(150deg, rgba(237,25,45,.28), rgba(237,25,45,.08)); box-shadow: inset 1px 1px 0 rgba(255,255,255,.3); }
.expo__gift small { font: 700 11px/1 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: #ffd6da; }
.expo__gift-name { font: 800 20px/1.2 var(--font-display); }
.expo__gift-code { margin: 4px 0; font: 800 40px/1 var(--font-display); letter-spacing: .18em; font-variant-numeric: tabular-nums; padding: 10px 18px; border-radius: 14px; background: rgba(0,0,0,.3); }
.expo__gift-how { margin: 0; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.8); }

/* Event test-ride form (#ride and the staff booth drawer) */
.rd { display: grid; gap: 28px; }
.rd__terms { display: grid; gap: 14px; max-height: 300px; overflow: auto; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--line, rgba(127,127,127,.3)); font-size: 13px; line-height: 1.55; }
.rd__terms b { font-size: 14px; }
.rd__terms ol { margin: 6px 0 0; padding-left: 20px; display: grid; gap: 4px; }
.rd__terms section[lang="en"] { opacity: .85; }
.rd__photo { display: grid; gap: 10px; justify-items: start; }
.rd__photo img { max-width: min(320px, 100%); border-radius: 12px; border: 1px solid rgba(127,127,127,.3); }
.rd__photo.is-error .rd__shot { border-color: #ff5a66; }
.rd__shot { display: inline-flex; align-items: center; }
.rd__model { display: inline-grid; gap: 4px; text-align: left; line-height: 1.1; }
.rd__model small { font-weight: 500; font-size: 12px; opacity: .75; }
.rd__none { margin: 0; padding: 14px; border-radius: 12px; border: 1.5px dashed rgba(127,127,127,.4); }
.rd__sign { border-radius: 14px; overflow: hidden; border: 1.5px solid rgba(127,127,127,.4); background: #fff; }
.rd__sign.is-error { border-color: #ff5a66; }
.rd__sign canvas { display: block; width: 100%; height: auto; aspect-ratio: 3 / 1; touch-action: none; cursor: crosshair; background: #fff; }
.rd__signbar { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 12px; background: #f3f2f1; color: #5e5859; font-size: 12px; }
.rd__signbar button { font: 600 13px/1 var(--font-sans); padding: 8px 14px; border-radius: 99px; border: 1px solid #c9c5c4; background: #fff; color: #231f20; cursor: pointer; }
.rd__ticket { display: grid; justify-items: center; gap: 4px; padding: 18px 36px; border-radius: 20px; border: 1.5px dashed rgba(255,255,255,.35); background: linear-gradient(150deg, rgba(237,25,45,.3), rgba(237,25,45,.08)); }
.rd__ticket small { font: 700 11px/1 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; }
.rd__ticket b { font: 800 72px/1 var(--font-display); font-variant-numeric: tabular-nums; }
.rd__ticket span { font: 600 14px/1 var(--font-sans); letter-spacing: .12em; opacity: .8; }

.rd__lang { float: right; margin-top: 2px; border: 1px solid rgba(255,255,255,.3); }
.rd__lang .dk-lang__opt { color: rgba(255,255,255,.8); }
.rd__lang .dk-lang__opt.is-on { background: #fff; color: #231f20; }
.expo__title { line-height: 1.3; padding-top: .08em; } /* Thai tone marks (ขี่) were clipped at 1.1 */
.rd__qr { width: min(240px, 70vw); padding: 12px; background: #fff; border-radius: 16px; margin: 6px auto 0; }
.rd__qr svg { display: block; width: 100%; height: auto; }
.rd__code { margin: 2px 0 0; font: 700 18px/1 var(--font-sans); letter-spacing: .14em; }
.expo .dk-btn--secondary:hover, .expo .dk-btn--secondary:focus-visible { background: rgba(255,255,255,.22); border-color: rgba(255,255,255,.5); color: #fff; }
.expo .dk-btn--secondary::before { display: none; } /* the white slide-in fill made white text vanish on glass */

/* Booth confirmation page (#rc) */
.rc { display: grid; gap: 14px; }
.rc__pin { display: grid; gap: 12px; }
.rc__card { display: grid; gap: 8px; } .rc__card p { margin: 0; }
.rc__lic { width: 100%; max-height: 320px; object-fit: contain; border-radius: 14px; background: rgba(0,0,0,.3); }
.rc__ok { font: 800 22px/1.3 var(--font-sans); color: #3fcf8e; }
.rc__err { margin: 0; padding: 10px 14px; border-radius: 12px; background: rgba(255,90,102,.16); color: #ffb3ba; font-weight: 600; }

/* Premium dark skin for the public site (.site only; HUB untouched) */
.site{--glow:rgba(237,25,45,.35);--card-b:rgba(255,255,255,.08);--r:20px}
:root[data-theme="dark"] .site{background:radial-gradient(1200px 600px at 85% -5%,rgba(237,25,45,.10),transparent 60%),#070606}
:root[data-theme="dark"] .site{--surface:#121010;--surface-raised:#171414}
/* nav */
.site .dk-nav{background:rgba(8,7,7,.62);backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}
.site .dk-nav__link{font-weight:600;opacity:.82;transition:opacity .2s}
.site .dk-nav__link:hover,.site .dk-nav__link.is-active{opacity:1}
.site .dk-nav__link::after{height:2px;bottom:14px;border-radius:2px}
.site .dk-lang{border-radius:999px;overflow:hidden;border-color:rgba(255,255,255,.18)}
/* buttons */
.site .dk-btn{border-radius:999px}
.site .dk-btn--primary{box-shadow:0 10px 30px -8px var(--glow)}
.site .dk-btn--primary:hover{box-shadow:0 14px 38px -6px rgba(237,25,45,.55);transform:translateY(-1px)}
.site .dk-btn--secondary,.site .dk-btn--light{backdrop-filter:blur(8px)}
.site .dk-btn--light{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.28)}
.site .dk-btn--light:hover{background:#fff;color:#111}
/* hero */
.site .dk-hero{border-radius:0 0 36px 36px}
.site .dk-hero__scrim{background:linear-gradient(to top,rgba(7,6,6,.95) 0%,rgba(7,6,6,.45) 40%,rgba(7,6,6,0) 72%),linear-gradient(95deg,rgba(7,6,6,.7) 0%,rgba(7,6,6,0) 55%)}
.site .dk-hero__content{padding-bottom:calc(var(--space-9) + 24px)}
.site .dk-hero__title{font-size:clamp(48px,8.2vw,120px);line-height:.98;letter-spacing:-.025em;text-shadow:0 8px 50px rgba(0,0,0,.5)}
.site .dk-hero__kicker{display:inline-flex;padding:7px 16px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(0,0,0,.35);backdrop-filter:blur(8px);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.site .dk-hero__kicker::before{width:8px;height:8px;border-radius:50%;box-shadow:0 0 12px var(--ducati-red)}
.site .dk-hero__lead{font-size:clamp(16px,1.6vw,20px);color:#ddd8d8}
/* quick actions: floating glass cards */
.site .quick{background:none;gap:14px;margin-top:-72px;width:calc(100% - 2*clamp(16px,4vw,56px));max-width:1360px;margin-inline:auto}
.site .quick__item{border-radius:var(--r);background:rgba(22,19,19,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--card-b);box-shadow:0 20px 50px -20px rgba(0,0,0,.7);padding:26px;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s}
.site .quick__item:hover{transform:translateY(-6px);border-color:rgba(237,25,45,.6)}
.site .quick__arrow{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08)}
/* sections */
.site .sect{padding-block:clamp(64px,9vw,128px)}
.site .sect__title{font-size:clamp(30px,4vw,52px);letter-spacing:-.02em}
.site .topline{display:inline-flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ducati-red)}
.site .topline::before{content:"";width:28px;height:2px;background:var(--ducati-red)}
.site .chip{border-radius:999px;border-color:rgba(255,255,255,.16);height:38px;padding-inline:18px}
.site .chip.is-on{background:var(--ducati-red);border-color:var(--ducati-red);color:#fff}
/* cards */
.site .dk-model,.site .dk-news{border-radius:var(--r);overflow:hidden;background:linear-gradient(180deg,#191616,#110f0f);border:1px solid var(--card-b);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .3s}
.site .dk-model:hover,.site .dk-news:hover{transform:translateY(-8px);border-color:rgba(237,25,45,.5);box-shadow:0 30px 60px -25px var(--glow)}
.site .dk-model__media{aspect-ratio:4/3;background:radial-gradient(circle at 50% 60%,#2a2323,#0b0909)}
.site .dk-model__name{font-size:28px;letter-spacing:-.01em}
.site .dk-model__badge{border-radius:999px;padding:6px 12px}
.site .dk-model__specs{border-color:rgba(255,255,255,.08)}
.site .dk-model::after{height:2px}
.site .dk-news__media{aspect-ratio:4/3}
.site .empty{border-radius:var(--r);border:1px dashed rgba(255,255,255,.14);background:rgba(255,255,255,.03)}
/* engineering band */
.site .eng{margin-inline:clamp(12px,3vw,40px);border-radius:32px;overflow:hidden;background:#0c0a0a;border:1px solid var(--card-b)}
.site .eng__media{position:relative}
.site .eng__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#0c0a0a),linear-gradient(0deg,rgba(237,25,45,.18),transparent 50%)}
.site .eng__title{letter-spacing:-.02em}
.site .eng__stats{border-color:rgba(255,255,255,.1)}
.site .eng .dk-spec__num{font-size:clamp(30px,3.4vw,46px)}
/* branches */
.site .sect--band{background:linear-gradient(180deg,transparent,rgba(255,255,255,.025))}
.site .branch{border-radius:var(--r);background:#141111;border:1px solid var(--card-b);border-top:2px solid var(--ducati-red);transition:transform .3s,box-shadow .3s}
.site .branch:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px var(--glow)}
.site .tag{border-radius:999px}
/* footer */
.site .foot{background:#050404;border-top:1px solid rgba(255,255,255,.07);border-radius:36px 36px 0 0;margin-top:clamp(24px,4vw,56px)}
.site .foot a:hover{color:var(--ducati-red)}
@media (max-width:720px){.site .dk-hero{border-radius:0 0 24px 24px}.site .quick{margin-top:-40px;grid-template-columns:1fr 1fr}.site .eng{border-radius:24px}.site .eng__media::after{background:linear-gradient(180deg,transparent 50%,#0c0a0a)}}
@media (prefers-reduced-motion:reduce){.site *{transition:none!important}}
/* light theme variants */
:root[data-theme="light"] .site{--card-b:rgba(0,0,0,.08);--glow:rgba(237,25,45,.22)}
:root[data-theme="light"] .site .dk-nav{background:rgba(255,255,255,.72);color:#231f20;border-bottom-color:rgba(0,0,0,.08)}
:root[data-theme="light"] .site .dk-lang{border-color:rgba(0,0,0,.2)}
:root[data-theme="light"] .site .quick__item{background:rgba(255,255,255,.86);box-shadow:0 20px 40px -22px rgba(35,31,32,.35)}
:root[data-theme="light"] .site .quick__arrow{background:rgba(0,0,0,.06)}
:root[data-theme="light"] .site .dk-model,:root[data-theme="light"] .site .dk-news{background:#fff;border-color:rgba(0,0,0,.08)}
:root[data-theme="light"] .site .dk-model__media{background:radial-gradient(circle at 50% 60%,#fff,#e9e6e6)}
:root[data-theme="light"] .site .dk-model__specs{border-color:rgba(0,0,0,.08)}
:root[data-theme="light"] .site .branch{background:#fff}
:root[data-theme="light"] .site .chip{border-color:rgba(0,0,0,.18)}
:root[data-theme="light"] .site .empty{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.14)}
:root[data-theme="light"] .site .sect--band{background:#f5f4f4}
/* hero kicker: readable white text + Ducati shield in front */
.site .dk-hero__kicker{color:#fff!important;font-weight:600}
.site .dk-hero__kicker::before{content:"";width:22px;height:23px;border-radius:0;background:url(ducati-shield.svg) center/contain no-repeat;box-shadow:none}
/* quote page + funnel */
.qt{min-height:70dvh;display:grid;place-items:start center;padding:clamp(24px,6vw,72px) 16px}
.qt__card{width:min(560px,100%);background:linear-gradient(180deg,#191616,#110f0f);border:1px solid var(--card-b);border-radius:28px;padding:clamp(22px,5vw,40px);display:grid;gap:12px;box-shadow:0 30px 70px -30px var(--glow)}
:root[data-theme="light"] .qt__card{background:#fff}
.qt__title{margin:0;letter-spacing:-.02em}
.qt__big{margin:4px 0 0;display:flex;align-items:baseline;gap:8px}.qt__big b{font:700 clamp(40px,9vw,60px)/1 var(--font-display);color:var(--ducati-red)}.qt__big span{color:var(--text-muted)}
.qt__list{margin:8px 0;display:grid;gap:0}.qt__row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--card-b)}.qt__row dt{color:var(--text-muted)}.qt__row dd{margin:0;font-weight:700}
.qt__act{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
@media print{.dk-nav,.foot,.no-print{display:none!important}.qt__card{box-shadow:none}}

/* home polish: spacing under section heads, mobile bar, tighter mobile cards */
.site .sect--band .sect__head{margin-bottom:32px}
.site .branch .body-sm a{color:inherit}
.mbar{display:none}
@media (max-width:720px){
  .site .dk-nav .btn,.site .dk-nav [class*=action]{white-space:nowrap;font-size:13px;padding-inline:14px}
  .site .quick__item{padding:18px}.site .quick__item h3,.site .quick__item .h3{font-size:17px;overflow-wrap:normal;word-break:keep-all}
  .site .quick__arrow{display:none}
  .site .foot{padding-bottom:84px}
  .mbar{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(8,7,7,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.1)}
  .mbar .btn{width:100%;justify-content:center}
}
:root[data-theme="light"] .mbar{background:rgba(255,255,255,.88);border-top-color:rgba(0,0,0,.1)}

.mcard{--tc:#8a8485;max-width:420px;aspect-ratio:1.586;border-radius:18px;padding:20px 22px;margin:0 0 20px;color:#fff;background:linear-gradient(135deg,#1c1c1f,#0a0a0b);border-left:6px solid #ed192d;border-top:3px solid var(--tc);box-shadow:0 18px 40px -18px rgba(0,0,0,.6);display:flex;flex-direction:column;justify-content:space-between}
.mcard__top{display:flex;justify-content:space-between;align-items:center;letter-spacing:.2em}
.mcard__top span{color:var(--tc);letter-spacing:.08em;font-size:.9rem}.mcard__top i{font-style:normal;text-transform:uppercase;font-weight:600}
.mcard__body{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.mcard__name{font-size:1.2rem;font-weight:600;margin:0}.mcard__pts{margin:4px 0 0;font-size:.8rem;color:#9a9a9f}
.mcard__qr{width:84px;height:84px;background:#fff;border-radius:6px;flex:none}.mcard__qr svg{width:100%;height:100%;display:block}
.mcard__foot{display:flex;justify-content:space-between;align-items:center}
.mcard__no{font-family:ui-monospace,monospace;font-size:1.15rem;letter-spacing:.08em}
.mcard__foot button{background:transparent;border:1px solid #555;color:#ddd;border-radius:999px;padding:6px 12px;font-size:.78rem;cursor:pointer}
.mcard__foot button:hover{border-color:var(--tc);color:#fff}

.ahero{background:radial-gradient(ellipse at 85% 20%,rgba(237,25,45,.22),transparent 55%),#0b0b0c;color:#fff;padding:clamp(40px,7vw,88px) 0 clamp(32px,5vw,64px);border-bottom:1px solid rgba(255,255,255,.08)}
.ahero__in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,64px);align-items:center}
.ahero__txt .subtitle{margin:12px 0 24px;max-width:46ch;opacity:.8}
.ahero__act{display:flex;flex-wrap:wrap;gap:10px}
.ahero__card .mcard{margin:0 0 0 auto;max-width:440px;width:100%;transform:rotate(-2deg);box-shadow:0 30px 60px -20px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.06)}
.mcard--todo{aspect-ratio:auto;justify-content:center;gap:8px;transform:none!important}
.acc{display:grid;gap:8px}.acc>.h2{margin-top:36px}.acc__foot{margin-top:20px}
.tpath{display:grid;gap:14px;margin:8px 0 12px;padding:24px;background:var(--surface);border-top:3px solid #ed192d}
.tpath__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.tpath__stats div{display:grid;gap:2px}.tpath__stats b{font-size:clamp(20px,3vw,30px);line-height:1.1}.tpath__stats span{font-size:12px;opacity:.65;letter-spacing:.04em;text-transform:uppercase}
.tpath__steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.tpath__steps li{display:grid;gap:2px;padding:10px;border:1px solid var(--line-strong,rgba(127,127,127,.3));opacity:.5;font-size:12px}
.tpath__steps li.is-on{opacity:1;border-color:#ed192d}.tpath__steps li.is-now{background:#ed192d;color:#fff;border-color:#ed192d}
.tpath__steps i{font-style:normal;font-size:11px;letter-spacing:1px}.tpath__steps small{opacity:.7}
.tpath__bar{height:6px;background:rgba(127,127,127,.25);overflow:hidden}.tpath__bar i{display:block;height:100%;background:#ed192d;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.tpath .caption{margin:0}
@media (max-width:820px){.ahero__in{grid-template-columns:1fr}.ahero__card .mcard{margin:0 auto;transform:none}.tpath__steps{grid-template-columns:repeat(5,minmax(78px,1fr));overflow-x:auto}.tpath__stats{grid-template-columns:1fr 1fr;gap:8px}}
.mcard{box-sizing:border-box;width:100%;min-width:0}.ahero__txt,.ahero__card{min-width:0}
.acc.sect{padding-top:24px}
@media (max-width:820px){.mcard{padding:16px;aspect-ratio:auto;min-height:190px;gap:14px}.mcard__qr{width:72px;height:72px}.mcard__no{font-size:1rem}}

/* Finance page */
.fin{gap:clamp(20px,3vw,40px);align-items:start}
.fin__panel{background:var(--surface);border-radius:18px;padding:clamp(18px,3vw,32px);gap:20px;box-shadow:0 1px 2px rgba(0,0,0,.12),0 24px 48px -28px rgba(0,0,0,.6)}
.fin__result{border-radius:18px;padding:clamp(18px,3vw,32px);background:radial-gradient(ellipse at 100% 0,rgba(237,25,45,.22),transparent 60%),var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.12),0 24px 48px -28px rgba(0,0,0,.6)}
.fin__split{display:flex;height:10px;border-radius:6px;overflow:hidden;gap:2px;margin-top:4px}.fin__split span{min-width:3px}
.fin__leg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;opacity:.8}.fin__leg i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}
.fin__cta{display:flex;gap:10px}
.fin .seg__row{gap:6px;background:none;border:0}
.fin .seg__opt{height:46px;border:1px solid var(--line-strong);border-radius:12px;transition:transform .15s,background-color .2s,border-color .2s}
.fin .seg__opt:hover{border-color:#ed192d}.fin .seg__opt:active{transform:scale(.97)}
.fin .seg__opt.is-on{border-color:var(--red-action,#ed192d);box-shadow:0 8px 20px -10px #ed192d}
.fin input[type=range]{accent-color:#ed192d}
.fin__h{margin-bottom:6px}
.ftbl{margin-top:18px;background:var(--surface);border-radius:18px;padding:8px;box-shadow:0 1px 2px rgba(0,0,0,.12),0 24px 48px -28px rgba(0,0,0,.6);overflow:hidden}
.ftbl .ftable{border-collapse:separate;border-spacing:4px;width:100%}
.ftbl .ftable thead th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.7;padding:12px 8px;background:none;border:0;text-align:right}
.ftbl .ftable thead th:first-child{text-align:left}
.ftable__row{text-align:left;padding:8px 12px;border-radius:12px;background:rgba(127,127,127,.1);white-space:nowrap;border:0}
.ftable__row b{display:block;font-size:16px}.ftable__row span{font-size:12px;opacity:.65;font-weight:400}
.ftable__row.is-on{background:rgba(237,25,45,.18)}
.ftbl .ftable td{padding:0;border:0}
.ftbl .fcell{display:block;width:100%;border:0;border-radius:12px;padding:14px 12px;text-align:right;background:rgba(237,25,45,calc(.03 + (1 - var(--h,0)) * .14));transition:transform .15s,background-color .2s,box-shadow .2s}
.ftbl td.is-cross .fcell{box-shadow:inset 0 0 0 1px rgba(237,25,45,.35)}
.ftbl .fcell:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #ed192d}
.ftbl .fcell.is-on{background:#ed192d;color:#fff;box-shadow:0 10px 24px -10px #ed192d}

.fin__tbl.sect{padding-top:0}.fin__top.sect{padding-bottom:clamp(24px,4vw,48px)}
@media (max-width:700px){.ftbl .fcell{padding:12px 8px;font-size:13px}.ftable__row{padding:6px 8px}}

.site .dk-model__nophoto{position:absolute;inset:0;display:grid;place-items:center;padding:16px;text-align:center;font:600 18px/1.2 inherit;letter-spacing:.02em;opacity:.28}
.site .dk-model__media{position:relative}

.dre{margin:8px 0 0;padding:6px 10px;border-radius:8px;background:rgba(237,25,45,.12);border:1px solid rgba(237,25,45,.4);font-size:.8rem;font-weight:600}
.dre--used{opacity:.55;background:transparent;border-color:currentColor}

/* ---------- My Ducati: luxe pass ---------- */
.ahero{position:relative;overflow:hidden;isolation:isolate;background:#09090a;padding:clamp(56px,8vw,112px) 0 clamp(48px,6vw,88px)}
.ahero__bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:70% 50%;opacity:.42;filter:saturate(.85) contrast(1.05);transform:scale(1.04);animation:aheroIn 1.6s cubic-bezier(.2,.8,.2,1) both}
.ahero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#09090a 18%,rgba(9,9,10,.82) 46%,rgba(9,9,10,.35) 75%,rgba(9,9,10,.7)),linear-gradient(0deg,#09090a 0%,transparent 40%),radial-gradient(ellipse at 78% 30%,rgba(237,25,45,.28),transparent 55%)}
.ahero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes aheroIn{from{opacity:0;transform:scale(1.12)}}
.ahero .topline{letter-spacing:.32em;font-size:.72rem;color:#d9d4d4;display:flex;align-items:center;gap:12px}
.ahero .topline::before{content:"";width:36px;height:1px;background:#ed192d}
.ahero h1{letter-spacing:-.02em;line-height:1.02;margin:14px 0 0;text-wrap:balance;background:linear-gradient(180deg,#fff 30%,#bdb6b6);-webkit-background-clip:text;background-clip:text;color:transparent}
.ahero__txt .subtitle{color:#bdb7b7;opacity:1;font-weight:300}
.ahero__txt>*{animation:riseIn .9s cubic-bezier(.2,.8,.2,1) both}.ahero__txt>*:nth-child(2){animation-delay:.08s}.ahero__txt>*:nth-child(3){animation-delay:.16s}.ahero__txt>*:nth-child(4){animation-delay:.24s}
@keyframes riseIn{from{opacity:0;transform:translateY(14px)}}

/* member card: carbon weave, tier foil, pointer tilt */
.ahero__card{perspective:1200px}
.mcard{position:relative;overflow:hidden;border:0;border-radius:22px;padding:24px 26px;
  background:
    linear-gradient(115deg,rgba(255,255,255,.07),transparent 38%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,transparent 2px 4px),
    repeating-linear-gradient(-45deg,rgba(0,0,0,.35) 0 2px,transparent 2px 4px),
    linear-gradient(150deg,#232326,#0c0c0d 70%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),inset 0 1px 0 rgba(255,255,255,.14),0 40px 80px -30px rgba(0,0,0,.9),0 0 60px -20px color-mix(in srgb,var(--tc) 45%,transparent)}
.mcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(#ff3045,#a50f1f)}
.mcard::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(140deg,color-mix(in srgb,var(--tc) 80%,#fff),transparent 35%,transparent 65%,color-mix(in srgb,var(--tc) 60%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.ahero__card .mcard{transform:rotate(-2deg) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;animation:cardIn 1.1s .15s cubic-bezier(.2,.8,.2,1) both}
.ahero__card .mcard:hover{transition-duration:.12s}
@keyframes cardIn{from{opacity:0;transform:translateY(30px) rotate(-6deg)}}
.mcard__top b{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.34em;font-size:.86rem}
.mcard__top b img{width:22px;height:22px}
.mcard__top span{font-size:.8rem;letter-spacing:.2em}
.mcard__top i{background:linear-gradient(90deg,#fff,var(--tc) 60%,#fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.mcard__name{font-size:1.35rem;letter-spacing:.01em}
.mcard__pts{color:#8f8a8b;letter-spacing:.04em}
.mcard__qr{padding:6px;border-radius:10px;box-shadow:0 6px 18px -6px rgba(0,0,0,.6)}
.mcard__no{font-size:1.25rem;letter-spacing:.24em;color:#ece8e8;text-shadow:0 1px 0 rgba(0,0,0,.9),0 -1px 0 rgba(255,255,255,.18)}
.mcard__foot button{backdrop-filter:blur(6px);background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.18);transition:all .25s}
.mcard__foot button:hover{background:rgba(255,255,255,.1)}
@media (prefers-reduced-motion:reduce){.ahero__bg,.ahero__txt>*,.ahero__card .mcard{animation:none}.ahero__card .mcard{transform:rotate(-2deg)}.mcard__foil{transition:none}}

/* tier path: track with nodes */
.tpath{position:relative;gap:28px;padding:clamp(24px,4vw,40px);border:0;border-radius:20px;background:linear-gradient(160deg,color-mix(in srgb,var(--surface) 92%,#ed192d),var(--surface));box-shadow:inset 0 0 0 1px rgba(127,127,127,.18),0 30px 60px -40px rgba(0,0,0,.6);margin-top:-36px;z-index:1}
.tpath__stats{gap:0}
.tpath__stats div{padding:0 clamp(12px,3vw,32px);border-left:1px solid rgba(127,127,127,.22)}.tpath__stats div:first-child{padding-left:0;border-left:0}
.tpath__stats b{font-size:clamp(26px,4vw,44px);font-weight:300;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tpath__stats span{font-size:12px;letter-spacing:.02em;text-transform:none;margin-top:4px;opacity:.6}
.tpath__track{position:relative;padding-top:4px}
.tpath__track .tpath__bar{position:absolute;left:10%;right:10%;top:15px;height:2px;background:rgba(127,127,127,.25);border-radius:2px;overflow:visible}
.tpath__track .tpath__bar i{width:calc(var(--p) * 100%);background:linear-gradient(90deg,#a50f1f,#ff3045);box-shadow:0 0 12px rgba(237,25,45,.7);border-radius:2px}
.tpath__steps{position:relative;z-index:1;gap:0}
.tpath__steps li{border:0;padding:0;opacity:1;text-align:center;justify-items:center;gap:4px;background:none!important;color:inherit!important}
.tpath__steps li::before{content:"";width:12px;height:12px;margin:5px 0 10px;border-radius:50%;background:var(--surface);box-shadow:0 0 0 2px rgba(127,127,127,.4);transition:all .3s}
.tpath__steps li.is-on::before{background:#ed192d;box-shadow:0 0 0 2px #ed192d}
.tpath__steps li.is-now::before{width:20px;height:20px;margin:1px 0 6px;background:radial-gradient(circle,#fff 0 3px,#ed192d 4px);box-shadow:0 0 0 4px rgba(237,25,45,.25),0 0 22px rgba(237,25,45,.8);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(237,25,45,.08),0 0 28px rgba(237,25,45,.9)}}
.tpath__steps i{color:#d6a84a;opacity:.45;font-size:10px}.tpath__steps li.is-on i{opacity:1}
.tpath__steps b{font-size:13px;letter-spacing:.06em;font-weight:500;opacity:.55}.tpath__steps li.is-on b{opacity:1}.tpath__steps li.is-now b{color:#ff3045;font-weight:700}
.tpath__steps small{font-size:11px;opacity:.5}
@media (max-width:820px){.tpath{margin-top:-20px}.tpath__steps{grid-template-columns:repeat(5,minmax(64px,1fr))}.tpath__track{overflow-x:auto}.tpath__track .tpath__bar{min-width:320px}.tpath__stats div{padding:0 10px}.ahero__bg{opacity:.28;background-position:center}.ahero::before{background:linear-gradient(0deg,#09090a 20%,rgba(9,9,10,.75))}}
@media (prefers-reduced-motion:reduce){.tpath__steps li.is-now::before{animation:none}}


/* Official studio cut-outs (transparent PNG/WebP): show the whole bike, never crop it */
.site img[src*="ctfassets.net"]{object-fit:contain!important;object-position:center 60%}
.site .dk-model__media img[src*="ctfassets.net"]{padding:4% 3% 0;box-sizing:border-box;filter:drop-shadow(0 18px 20px rgba(0,0,0,.45))}
.ahero__bg[style*="ctfassets.net"]{background-size:min(62vw,900px) auto;background-repeat:no-repeat;background-position:right 4% center;opacity:.55;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6))}
@media (max-width:820px){.ahero__bg[style*="ctfassets.net"]{background-size:110% auto;background-position:center 30%;opacity:.25}}

/* tier perks under the tier path */
.tpath__steps li{cursor:pointer;border-radius:12px;padding:4px 2px 8px!important;transition:background .2s}
.tpath__steps li:hover,.tpath__steps li:focus-visible{background:rgba(127,127,127,.08);outline:none}
.tpath__steps li.is-sel{background:rgba(237,25,45,.1)}
.tpath__perks{border-top:1px solid rgba(127,127,127,.2);padding-top:18px}
.tpath__ph{margin:0 0 10px;font-weight:600;letter-spacing:.02em}
.tpath__perks ul{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.tpath__perks li{position:relative;padding:12px 14px 12px 40px;border-radius:12px;background:rgba(127,127,127,.08);font-size:14px;line-height:1.4}
.tpath__perks li::before{content:"✓";position:absolute;left:14px;top:11px;width:18px;height:18px;border-radius:50%;background:#ed192d;color:#fff;font-size:11px;display:grid;place-items:center;font-weight:700}
.tpath__perks li.is-locked{opacity:.75}.tpath__perks li.is-locked::before{content:"🔒";background:transparent;font-size:12px}

/* Google Wallet */
.gwallet{margin:14px 0 0 auto;display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:0;background:#000;color:#fff;font:600 14px/1 inherit;cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.25);transition:transform .15s}
.gwallet:hover{transform:translateY(-1px)}.gwallet:active{transform:scale(.97)}.gwallet:disabled{opacity:.6}
.gwallet span{color:#4285f4;font-size:16px}
.gwallet__msg{text-align:right;color:#cfc9c9}
@media (max-width:820px){.gwallet{margin:14px auto 0}.gwallet__msg{text-align:center}}
/* maintenance plan on the bike ticket */
.svcp{display:grid;gap:8px;padding:14px;border-radius:12px;background:rgba(127,127,127,.08);border-left:3px solid #cc0000}
.svcp__k{margin:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.svcp__row{display:flex;flex-wrap:wrap;gap:8px 24px}
.svcp__row span{display:grid;gap:2px}.svcp__row small{opacity:.7;font-size:12px}.svcp__row b{font-size:1.05rem;font-variant-numeric:tabular-nums}
.svcp__plan{margin:0;font-size:12px;opacity:.75}
.svcp__go{font-size:13px;font-weight:600;color:#cc0000;text-decoration:none;justify-self:start}.svcp__go:hover{text-decoration:underline}

/* ---------- member card: same family as the model cards ---------- */
.ahero__card .mcx{max-width:380px;margin:0 0 0 auto;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .4s,box-shadow .4s;animation:cardIn 1.1s .15s cubic-bezier(.2,.8,.2,1) both;
  border-color:rgba(237,25,45,.45);box-shadow:0 30px 70px -30px rgba(237,25,45,.45),0 40px 80px -40px #000}
.site .mcx,:root[data-theme="light"] .site .mcx{background:linear-gradient(180deg,#191616,#110f0f);color:#fff;border-color:rgba(237,25,45,.45)}
:root[data-theme="light"] .site .mcx .dk-model__media{background:radial-gradient(circle at 50% 60%,#2a2323,#0b0909)}
.mcx .dk-model__media img{width:100%;height:100%;object-fit:contain}
.mcx__qr{position:absolute;inset:12% 26%;display:grid;place-items:center;background:#fff;border-radius:14px;padding:10px;box-shadow:0 18px 40px -16px #000;animation:dk-fade .4s both}
.mcx__qr svg{display:block;width:100%;height:auto}
.mcx__stars{right:14px;top:14px;left:auto;background:rgba(0,0,0,.55);color:#ed192d;letter-spacing:.2em;backdrop-filter:blur(6px)}
.mcx--t2 .mcx__stars{color:#d9dde2}.mcx--t3 .mcx__stars{color:#e2bd6a}.mcx--t4 .mcx__stars{color:#bfe3ff}
.mcx .dk-model__name{font-size:clamp(22px,3vw,28px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcx .dk-model__price .caption{color:rgba(255,255,255,.6)}
.mcx__wallet{margin-top:12px;background:none;border:0;padding:4px 0;color:rgba(255,255,255,.65);font:500 13px/1.2 inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.mcx__wallet:hover{color:#fff}.mcx__wallet:disabled{opacity:.6}
@media (max-width:820px){.ahero__card .mcx{margin:0 auto;transform:none}}
@media (prefers-reduced-motion:reduce){.ahero__card .mcx{animation:none;transform:none}}
.mcx .dk-model__family{color:#ed192d}
.site .eng__stats{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));justify-content:start;column-gap:clamp(24px,4vw,48px);row-gap:20px}

/* promo vouchers in My Ducati */
.vch__pct{margin:0;font-family:var(--font-display,inherit);font-size:2.4rem;font-weight:700;line-height:1}
.vch--off{opacity:.55;border-top-color:var(--text-muted)}
.vch__qr{display:flex;align-items:center;gap:14px;margin-top:6px}
.vch__qrimg{flex:none;width:132px;padding:8px;background:#fff;border-radius:10px}
.vch__qrimg svg{display:block;width:100%;height:auto}
.vch__qr .caption{margin:0}

/* estimate approval page */
.est{display:grid;gap:18px;max-width:760px}
.est__note{padding:14px 16px;border-radius:12px;background:var(--surface)}
.est__items{display:grid;border-top:1px solid var(--line)}
.est__row{display:grid;grid-template-columns:1fr auto 120px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.est__row>span:first-child{display:grid;gap:2px}.est__row small{font-size:12px;opacity:.6}.est__row>b{text-align:right;font-variant-numeric:tabular-nums}
.est__total{font-size:1.15rem}.est__total b{color:var(--ducati-red,#ed192d)}
.est__done{padding:16px;border-radius:12px;background:var(--surface);border-left:4px solid #8a8485}.est__done.is-ok{border-left-color:#3cb46e}
.est{max-width:900px}.est__wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.est__sheet{background:#fff;color:#111;border-radius:12px;padding:20px;font-size:12px;line-height:1.45;min-width:720px}

/* ---------- HUB liquid glass (26 Oct 2026): team dashboard only, both themes render as dark glass over a photo ---------- */
/* --bg stays a real colour: .chip.is-on and others use it as text colour */
.tm.theme-light,.tm.theme-dark{--bg:#161214;--surface:rgba(28,24,26,.55);--surface-raised:rgba(30,26,28,.92);--surface-sunken:rgba(255,255,255,.06);--line:rgba(255,255,255,.14);--line-strong:rgba(255,255,255,.38);--text:#ffffff;--text-muted:#d9d4d5;--focus:#ffffff;--success:#3fcf8e;--warning:#ffb020;--info:#6ea8ff;--danger:#ff5a66;color-scheme:dark;
  position:relative;isolation:isolate;background:#161214}
/* the photo sits behind everything, blurred and dimmed, so cards and text stay readable */
.tm.theme-light::before,.tm.theme-dark::before{content:"";position:fixed;inset:-60px;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(14,10,12,.55),rgba(14,10,12,.78)),url("multistrada-grand-tour-lake.jpg") center 40%/cover no-repeat;filter:blur(18px) saturate(1.15)}
.tm .tm-shell{--m-bg:transparent;--m-card:rgba(24,20,22,.58);--m-card-2:rgba(255,255,255,.07);--m-line:rgba(255,255,255,.16);--m-tint:rgba(237,25,45,.28);--m-r:24px;--m-r-s:14px;
  --m-shadow:inset 1px 1px 0 rgba(255,255,255,.4),inset 0 0 24px rgba(255,255,255,.05),0 24px 60px rgba(0,0,0,.4);background:transparent}
.tm .tm-top{background:rgba(20,17,19,.45);border-bottom:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%)}
.tm .tm-side{background:linear-gradient(150deg,rgba(40,34,36,.6),rgba(20,18,19,.35) 60%);border-right:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(32px) saturate(160%);backdrop-filter:blur(32px) saturate(160%)}
.tm .tm-side__item{border-radius:999px;color:rgba(255,255,255,.82)}
.tm .tm-side__item:hover{background:rgba(255,255,255,.1);color:#fff}
.tm .tm-side__item.is-on{background:#e0172a;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 24px rgba(224,23,42,.4)}
.tm .tm-card,.tm .dk-table,.tm .dk-kpi,.tm .tm-sub,.tm .fu-box,.tm .ovk__card{background:linear-gradient(150deg,rgba(255,255,255,.1),rgba(255,255,255,0) 55%),rgba(24,20,22,.58);-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%)}
.tm .cx-card{-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%)}
/* readability on glass: secondary text, empty stars, warning and hot tags */
.tm .cx-row small,.tm .cx-meter small,.tm .cx-card__id small,.tm .ovk__l,.tm .ovk__d,.tm .cx-bar .chip small{opacity:.85}
.tm .cx-stars i{color:rgba(255,255,255,.14)}
.tm .cx-stars i.on{color:#ffffff}
.tm .cx-flags em{background:rgba(255,255,255,.12);color:#fff}
.tm .cx-flags em.warn{background:rgba(255,176,32,.22);color:#ffc35a}
.tm .cx-flags em.hot{background:rgba(237,25,45,.3);color:#ffd6da}
.tm .chip{background:rgba(255,255,255,.06)}
.tm .chip.is-on{background:#ffffff;color:#231f20;border-color:#ffffff}
.tm input::placeholder{color:rgba(255,255,255,.62)}

/* Customers & Loyalty: one customer per row on wide screens, so 100+ customers scan like a table. Phones keep cards. */
@media (min-width:1100px){
  .tm .cx-grid{grid-template-columns:1fr;gap:8px}
  .tm .cx-card{grid-template-columns:minmax(300px,3fr) 96px minmax(250px,2fr) minmax(200px,1.7fr) minmax(110px,.9fr);align-items:center;gap:24px;padding:12px 20px 12px 18px;border-radius:16px}
  .tm .cx-card>*{grid-row:1}
  .tm .cx-card__top{grid-column:1}.tm .cx-stars{grid-column:2}.tm .cx-row{grid-column:3}.tm .cx-meter{grid-column:4}.tm .cx-flags{grid-column:5;justify-content:flex-end}
  .tm .cx-card::before{inset:0 auto 0 0;width:3px;height:auto;background:var(--tc)}
  .tm .cx-card:hover{transform:none;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.03)),var(--m-card)}
  .tm .cx-av{width:38px;height:38px}
  .tm .cx-tier{margin-left:auto}
  .tm .cx-row b{font-size:16px}
  .tm .cx-meter::before,.tm .cx-meter i{height:5px}
}
.tm .cal__day,.tm .pend__item,.tm .ov-todo>div{background:linear-gradient(150deg,rgba(255,255,255,.12),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.16);box-shadow:inset 1px 1px 0 rgba(255,255,255,.3)}
.tm .tm-sub .tab.is-on{background:#e0172a}
.tm .mini-select,.tm .cell-input{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff}
.tm .mini-select option{color:#231f20;background:#fff}
.tm-drawer{-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.tm .tm-card,.tm .dk-table,.tm .dk-kpi,.tm .tm-side,.tm .tm-top{background:rgba(24,20,22,.9)}}

/* ---------- Home, Hadal-style (26 Oct 2026): floating pill nav, framed full-screen hero with grid lines, split headline ---------- */
.site .dk-nav{position:sticky;top:12px;box-sizing:border-box;width:min(1180px,calc(100% - 32px));height:60px;margin:12px auto -72px;padding:0 10px 0 22px;border-radius:999px;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 40px -20px rgba(0,0,0,.7)}
.site .dk-nav__link{line-height:60px;font-size:14px;white-space:nowrap}
@media (min-width:861px) and (max-width:1100px){.site .dk-nav__links{gap:14px}.site .dk-nav__link{font-size:13px}.site .dk-nav .dk-lang,.site .dk-nav__market{display:none}}
.site .dk-nav__link::after{bottom:12px}
.site .dk-hero{margin:0 clamp(8px,1.5vw,20px);border-radius:32px;min-height:calc(100svh - 24px)!important;align-items:center}
.site .dk-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px) 0 0/25% 100%,linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px) 0 0/100% 33.333%}
.site .dk-hero__scrim{z-index:1;background:linear-gradient(to top,rgba(7,6,6,.85) 0%,rgba(7,6,6,.25) 45%,rgba(7,6,6,.35) 100%)}
.site .dk-hero__content{z-index:2;max-width:none;width:100%;box-sizing:border-box;padding:120px clamp(20px,8vw,140px) 140px}
.site .dk-hero__title{font-size:clamp(56px,10.5vw,176px);line-height:.92;letter-spacing:-.035em}
.site .dk-hero__word:first-child{display:block}
.site .dk-hero__word:nth-child(2){margin-left:38%}
.site .dk-hero__lead,.site .dk-hero__actions{margin-left:38%}
.site .dk-hero__lead{max-width:380px;font-size:16px;line-height:1.6}
.site .sect__head{border-top:1px solid var(--card-b);padding-top:24px}
.site .quick__item,.site .dk-model,.site .dk-news,.site .branch{border-radius:24px}
@media (max-width:860px){
  .site .dk-nav{width:calc(100% - 16px);top:8px;margin:8px auto -68px;padding:0 6px 0 16px}
  .site .dk-nav .dk-btn{white-space:nowrap;padding-inline:12px}
  .site .dk-nav__market{display:none}
  .site .dk-nav__tools{gap:4px}
  .site .dk-nav.is-open .dk-nav__links{top:calc(100% + 8px);border-radius:24px;border:1px solid rgba(255,255,255,.14)}
  .site .dk-hero{margin:0 8px;border-radius:24px;min-height:calc(100svh - 16px)!important;align-items:flex-end}
  .site .dk-hero::after{background-size:50% 100%,100% 33.333%}
  .site .dk-hero__content{padding:100px 20px 96px}
  .site .dk-hero__word:nth-child(2){margin-left:18%}
  .site .dk-hero__lead,.site .dk-hero__actions{margin-left:0}
}

/* Stock page on glass (27 Oct 2026): both themes are dark here, so pills, tags and empty cells use the dark palette */
.tm .age{background:rgba(47,179,109,.16);color:#5fd496}
.tm .age--warn{background:rgba(240,181,68,.16);color:#f0b544}
.tm .age--old{background:rgba(255,107,120,.16);color:#ff8a95}
.tm .c360__st.s-hot{background:rgba(255,107,120,.16);color:#ff8a95}
.tm .c360__st.s-done{background:rgba(255,255,255,.08);color:#b3adae}
.tm .c360__st.s-new{background:rgba(255,255,255,.08);color:#e9e5e6}
.tm .stk__msrp{background:rgba(240,181,68,.16);color:#f0b544}
.tm .sto__bar i{background:#4a4446}.tm .sto__bar.is-now i{background:#ed192d}
.tm .sto__all{border-top-color:#e9e5e6}
.tm .sto__n.is-0{color:#4a4446}
.tm .sto__sub span:first-child{color:#d9d4d5}
.tm .pt2__menu{background:rgba(30,26,28,.94);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
