/* Shared visual language, based on the registration page.
   Page styles own layout and behavior; this file owns brand, type and surfaces. */
:root {
  --font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: var(--font-ui);
  --forms-red: #c70c0f;
  --forms-red-dark: #98080b;
  --forms-blush: #f2e6e6;
  --accent: #b40212;
  --accent-dark: #87000b;
  --line: #eadede;
  --radius: 16px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --card-inset: clamp(20px, 3vw, 32px);
  --shadow: 0 12px 36px rgba(74,0,2,.09);
  --brand-gradient: linear-gradient(118deg, var(--forms-red-dark), var(--forms-red));
  --page-gradient: radial-gradient(circle at 12% 12%, rgba(255,255,255,.24) 0 8%, transparent 31%), radial-gradient(circle at 88% 72%, rgba(255,210,210,.27), transparent 35%), linear-gradient(145deg, #790609 0%, var(--forms-red) 50%, #e47c7e 100%);
}
.site-page { background:var(--page-gradient); color:var(--ink); font-family:var(--font-ui); }
.site-page .topbar { position:relative; background:transparent; min-height:68px; padding:16px max(24px,calc((100% - 1440px)/2)); gap:16px 32px; }
.site-page .brand { font-size:1rem; line-height:1.4; }
.site-page .brand-mark { width:36px; height:36px; flex:0 0 36px; border:0; border-radius:10px; box-shadow:none; }
.site-page .brand-mark img { width:100%; height:100%; object-fit:contain; }
.site-page .header-nav { flex-wrap:wrap; gap:10px; font-size:1rem; font-weight:650; }
.site-page .header-nav a, .site-page .header-nav .link-button, .site-page .topbar > .back-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; border:1px solid #ffffff70; border-radius:11px; background:#ffffff14; color:#fff; font:inherit; text-decoration:none; }
.site-page .header-nav a:hover, .site-page .header-nav .link-button:hover { background:#ffffff28; }
.site-page .header-nav a, .site-page .header-nav button, .site-page .back-link { opacity:1; line-height:1.5; }
.site-page .header-nav a:hover, .site-page .back-link:hover { text-decoration:underline; text-underline-offset:4px; }
.site-page .public-footer { color:#fff; }
.site-page :focus-visible { outline:3px solid #155eef; outline-offset:3px; }
.site-page .button { border-radius:11px; min-height:44px; font-size:1rem; line-height:1.4; font-weight:700; text-align:center; white-space:normal; }
.site-page .button-primary { background:var(--accent); color:#fff; }
.site-page .button-primary:hover { background:var(--accent-dark); }
.site-page .button-secondary, .site-page .button-quiet, .site-page .console-alternatives .button { border:1px solid #e3c9cb; background:#fff4f4; color:var(--accent-dark); }
.site-page .button-secondary:hover, .site-page .button-quiet:hover { background:#f6e2e3; }
.site-page input, .site-page select, .site-page textarea { border-radius:11px; font-family:inherit; }
.site-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .site-page select { min-height:44px; font-size:1rem; }
.site-page h1, .site-page h2, .site-page h3 { font-family:var(--font-ui); text-transform:none; letter-spacing:-.025em; line-height:1.2; }
.site-page .eyebrow { font-size:.78rem; letter-spacing:.1em; }
/* Public pages share one heading size and inset, regardless of card width. */
.site-page.registration-page .registration-intro,
.site-page.registration-page .access-panel { padding:var(--card-inset); }
.site-page.registration-page .registration-intro h1 { font-size:clamp(1.75rem,3vw,2.5rem); line-height:1.2; max-width:none; text-wrap:balance; }
.site-page.registration-page .registration-intro p { margin:16px 0 0; font-weight:400; line-height:1.6; }
.site-page.registration-page .registration-kicker { margin:0 0 12px; font-size:.875rem; letter-spacing:.08em; }
.site-page .access-panel:not(.terms-content) { display:grid; gap:24px; }
.site-page .access-panel .stack-form { margin:0; }
.site-page .stack-form { gap:16px; }
.site-page .access-panel.stack-form { margin:0; }
.site-page .access-panel .subtle-link { margin:0; min-height:44px; display:flex; align-items:center; justify-content:center; color:var(--accent-dark); font-size:.9375rem; font-weight:500; text-underline-offset:3px; }
.site-page .access-panel label { font-weight:600; }
.site-page input:not([type=checkbox]):not([type=radio]), .site-page textarea { font-weight:400; }
.site-page select { font-weight:500; }
.site-page .access-panel:not(.terms-content) > p,
.site-page .stack-form > p { margin:0; line-height:1.6; }
.site-page .access-panel > :first-child { margin-top:0; }
.site-page .access-panel > :last-child { margin-bottom:0; }
.site-page .separate-route { margin:0; padding-top:24px; gap:16px; }
.site-page .registration-footer { padding:20px var(--card-inset); font-size:.875rem; line-height:1.5; }
.site-page .field-row { align-items:end; gap:16px; }
.site-page .form-section { gap:16px; padding:24px; }
.site-page .form-section > h2 { margin:0; font-size:1.25rem; }
.site-page .form-section > p { margin:0; line-height:1.6; }
.site-page .form-section-heading h2 { font-size:1.25rem; line-height:1.4; }
.site-page .fee-alert { margin:0; padding:20px; gap:8px; border:1px solid var(--line); background:#fff4f4; }
.site-page .fee-alert > span { color:var(--muted); font-weight:650; text-transform:none; letter-spacing:0; }
.site-page .fee-alert > strong { color:var(--accent-dark); font-size:2rem; font-variant-numeric:tabular-nums; }
.site-page .fee-alert p { color:var(--ink); font-weight:400; }
.site-page .terms-content { line-height:1.7; }
.site-page .terms-content h2 { margin:32px 0 8px; font-size:1.125rem; }
.site-page .terms-content > h2:first-child { margin-top:0; }
.site-page .terms-content p { margin:0 0 16px; }
.site-page .terms-content p:last-child { margin-bottom:0; }
.site-page .terms-list { margin:24px 0; padding-left:24px; }
.site-page .terms-list > li { padding-left:8px; margin-bottom:24px; }
.site-page .terms-list h2 { margin-top:0; }
.site-page .terms-content a, .site-page .access-panel p a { color:var(--accent-dark); text-underline-offset:3px; }
.site-page .board-note { background:#f5f6f8; color:#475467; font-weight:400; line-height:1.6; }
.site-page .fee-alert .board-note { padding:0; background:transparent; color:var(--ink); }
.site-page.registration-page .registration-intro .board-note { background:#ffffff12; border:1px solid #ffffff45; color:#fff; padding:16px; }
.site-page .registration-total { background:#fff4f4; color:var(--ink); border:1px solid var(--line); padding:24px; gap:8px; }
.site-page .registration-total > span { color:var(--muted); text-transform:none; letter-spacing:0; font-size:.875rem; font-weight:600; }
.site-page .registration-total > strong { color:var(--accent-dark); font-size:2rem; line-height:1.2; font-variant-numeric:tabular-nums; letter-spacing:0; }
.site-page .registration-total small { color:var(--muted); font-size:.875rem; }
.site-page .consent-check, .site-page .access-panel .consent-check { font-weight:400; }
.site-page .board-holder-option, .site-page .choice-card, .site-page .consent-check { border-width:1px; }
.site-page .board-holder-option small { font-weight:400; }
.site-page .my-summary span { font-size:.875rem; color:var(--muted); }
.site-page .my-summary strong { font-size:1.75rem; line-height:1.3; font-variant-numeric:tabular-nums; }

.site-page .registration-card > .access-panel + .access-panel { border-left:0; border-top:1px solid var(--line); }
.site-page .payment-details { display:grid; gap:12px; margin:0; }
.site-page .payment-details > div { display:grid; grid-template-columns:6rem minmax(0,1fr); gap:16px; }
.site-page .payment-details dt { color:var(--muted); }
.site-page .payment-details dd { margin:0; font-weight:650; overflow-wrap:anywhere; }
@media (max-width:640px) {
 .site-page.registration-page .registration-intro h1 { font-size:clamp(1.4rem,7vw,1.75rem); }
 .site-page .form-section { padding:16px; }
 .site-page .separate-route { flex-wrap:wrap; align-items:flex-start; }
 .site-page .separate-route .button { width:100%; }
 .site-page .payment-details > div { grid-template-columns:minmax(0,1fr); gap:4px; }
}

/* The same white page card and red introduction for operational overviews. */
.site-page:not(.registration-page):not(.public-screen):not(.invoice-page) > main {
  --page-padding:var(--card-inset);
  width:min(1440px,calc(100% - 48px)); margin:24px auto 48px;
  padding:0 var(--page-padding) var(--page-padding); border-radius:22px;
  background:#fff; box-shadow:0 24px 70px rgba(74,0,2,.2);
}
.site-page:not(.registration-page):not(.public-screen):not(.invoice-page) > main.shell { max-width:900px; }
.site-page .page-heading, .site-page .desk-heading {
  margin:0 calc(-1 * var(--page-padding,28px)) 24px;
  padding:32px var(--page-padding,32px); border-radius:22px 22px 0 0;
  color:#fff; background:var(--brand-gradient); align-items:center;
}
.site-page .page-heading h1, .site-page .desk-heading h1 { margin:6px 0 0; font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.2; }
.site-page .page-heading .eyebrow, .site-page .page-heading .lead { color:#fff; }
.site-page .page-heading .lead { margin:10px 0 0; font-size:1rem; font-weight:400; line-height:1.5; }
.site-page .desk-heading h1 { margin:0; }
.site-page .desk-heading h1 > span { color:#fff; background:#ffffff24; }
.site-page .desk-heading .desk-settings summary { color:#fff; font-size:.875rem; }
.site-page .desk-settings > div { color:var(--ink); border-radius:var(--radius); }
.site-page .desk-dot { background:#b8f0d8; }
.site-page .desk-dot.is-closed { background:#ffce92; }
.site-page .stats-grid > div, .site-page .attendance-summary > div,
.site-page .my-summary > div, .site-page .mobile-stats > div { background:#fffafa; color:var(--ink); border:1px solid var(--line); border-radius:var(--radius); box-shadow:none; }
.site-page .stats-grid span, .site-page .stats-grid small, .site-page .attendance-summary span { color:var(--muted); }
.site-page .stats-grid strong { font-size:1.7rem; }
.site-page .section-heading h2 { font-size:1.5rem; }
.site-page .admin-cockpit, .site-page .auctioneer-console { border:1px solid var(--line); border-radius:var(--radius); box-shadow:none; }
.site-page .cockpit-lot { background:#fffafa; }
.site-page .result-console { background:#fff; color:var(--ink); border-left:1px solid var(--line); padding:28px; }
.site-page .result-console h2 { font-size:clamp(1.6rem,2.5vw,2rem); }
.site-page .result-console .eyebrow { color:var(--accent); }
.site-page .result-console label { color:#344054; }
.site-page .result-preview, .site-page .admin-next-cue { background:#fff4f4; color:var(--ink); border-color:#e3c9cb; }
.site-page .admin-next-cue span { color:var(--muted); }
.site-page .admin-ready { border:1px solid var(--line); border-radius:var(--radius); box-shadow:none; padding:24px; margin-block:20px 28px; }
.site-page .admin-ready h2 { font-size:clamp(1.4rem,2.5vw,2rem); }
.site-page .floor-lot-row, .site-page .lot-toolbar, .site-page .result-card { border-color:var(--line); border-radius:var(--radius); }
.site-page .lot-pill { font-family:var(--font-ui); font-size:.875rem; line-height:1.4; letter-spacing:0; text-transform:none; color:var(--accent-dark); background:#fff0f1; }
.site-page .auctioneer-lot h2 { font-size:clamp(1.8rem,3.5vw,3rem); font-weight:750; line-height:1.2; text-transform:none; }
.site-page .auctioneer-prices dd { font-size:2rem; line-height:1.2; }

/* Compact desk layout uses the same type and controls, not a separate theme. */
.site-page .desk-summary, .site-page .desk-workspace { border-color:var(--line); border-radius:var(--radius); }
.site-page .desk-summary > div > span, .site-page .desk-summary small { font-size:.875rem; }
.site-page .desk-tabs a { font-size:.95rem; }
.site-page .desk-tabs a[aria-current] { color:var(--accent-dark); }
.site-page .desk-search, .site-page .desk-filter select { border-radius:11px; }
.site-page .desk-search input { border-radius:0; }
.site-page .desk-results-meta { font-size:.875rem; }
.site-page .desk-table th { font-size:.875rem; background:#fffafa; border-color:var(--line); }
.site-page .desk-person-row > td { font-size:.9rem; }
.site-page .desk-name { font-size:1rem; }
.site-page .desk-subline { font-size:.875rem; }
.site-page .desk-state, .site-page .desk-muted { font-size:.875rem; }
.site-page .desk-action { border-radius:11px; border-color:#e3c9cb; min-height:40px; font-size:.875rem; color:var(--accent-dark); background:#fff4f4; }
.site-page .desk-text-action { font-size:.875rem; }
.site-page .desk-detail-row > td { background:#fffafa; }
.site-page .desk-detail-grid h2 { font-size:1rem; }
.site-page .desk-detail-grid p, .site-page .desk-detail-grid dl, .site-page .desk-group-members { font-size:.875rem; }
.site-page .desk-detail-grid dd, .site-page .desk-detail-grid dt { line-height:1.5; }

.site-page .desk-name svg { stroke:#667085; }

/* Secondary desk text still meets normal-text contrast on light surfaces. */
.site-page .desk-muted, .site-page .desk-results-meta, .site-page .desk-detail-grid dt,
.site-page .desk-group-limit, .site-page .desk-readonly-note,
.site-page .desk-group-members li > span:last-child, .site-page .desk-empty,
.site-page .desk-person-row td > small, .site-page .desk-subline,
.site-page .desk-person-row > td[data-label]::before { color:#586578; }

/* Participant auction pages retain their live information in the same cards. */
.site-page .bidder-pass { margin:0 calc(-1 * var(--page-padding,28px)) 24px; padding:32px var(--page-padding); border-radius:22px 22px 0 0; background:var(--brand-gradient); box-shadow:none; }
.site-page .bidder-pass span, .site-page .bidder-pass small { color:#fff; }
.site-page .bidder-pass strong { font-size:2.5rem; line-height:1.2; }
.site-page .mobile-event { border:1px solid var(--line); border-radius:var(--radius); box-shadow:none; }
.site-page .mobile-masthead { background:var(--brand-gradient); }
.site-page .mobile-lot-copy h1, .site-page .mobile-result h1, .site-page .mobile-welcome h1, .site-page .mobile-pause h1 { font-size:clamp(1.8rem,4vw,2.8rem); font-weight:750; line-height:1.2; text-transform:none; }
.site-page .mobile-result, .site-page .mobile-result.is-mine { color:var(--ink); background:#fff; }
.site-page .mobile-result .eyebrow { color:var(--accent); }
.site-page .mobile-result p { color:var(--muted); }
.site-page .mobile-price { color:var(--accent); font-size:clamp(2.6rem,7vw,4rem); line-height:1.2; }
.site-page .mobile-next, .site-page .floor-instruction { background:#fff4f4; }
.site-page .mobile-result-photo { border:1px solid var(--line); }

/* Projection remains readable from the room, with the same brand and type. */
.site-page.public-screen { background:#fffafa; }
.site-page.public-screen .topbar { background:var(--forms-red-dark); }
.site-page .floor-stage { background:#fffafa; }
.site-page .stage-masthead { background:var(--brand-gradient); }
.site-page .stage-masthead::after { display:none; }
.site-page .stage-masthead h1 { transform:none; font-size:clamp(2rem,4vw,4rem); line-height:1.1; text-transform:none; letter-spacing:-.025em; }
.site-page .auction-mark { border:1px solid #ffffff70; border-radius:var(--radius); font-size:1.25rem; text-transform:none; }
.site-page .lot-sheet { border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.site-page .lot-photo-placeholder { display:grid; place-content:center; gap:14px; }
.site-page .lot-photo.lot-photo-placeholder { padding:20px; }
.site-page .lot-photo-placeholder > * { display:block; overflow-wrap:anywhere; }
.site-page .error-body { display:grid; gap:20px; }
.site-page .error-body > p { margin:0; }
.site-page .error-actions { display:flex; flex-wrap:wrap; gap:12px; }
.site-page .lot-photo { border:1px solid var(--line); outline:0; border-radius:var(--radius); box-shadow:var(--shadow); }
.site-page .rough-rule { height:1px; background:var(--line); transform:none; }
.site-page .donor-block { border-top:1px solid var(--line); }
.site-page .donor-block strong { text-transform:none; }
.site-page .stage-dashboard { background:var(--forms-red-dark); }
.site-page .stage-dashboard span { color:#fff; }
.site-page .club-heroes { background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:var(--radius); }
.site-page .club-heroes .stage-kicker { color:var(--accent); }
.site-page .club-heroes li { border-color:var(--line); }
.site-page .club-heroes li span { color:var(--muted); }
.site-page .lot-number, .site-page .result-price, .site-page .final-total > strong, .site-page .unsold-title { line-height:1.05; }
.site-page .lot-sheet h2, .site-page .lot-sheet.has-long-title h2 { text-transform:none; letter-spacing:-.025em; }
.site-page .stage-welcome h1, .site-page .stage-pause h2 { font-size:clamp(2.5rem,5vw,5rem); line-height:1.1; text-transform:none; }
.site-page .invoice-paper { border-radius:22px; }
.site-page .invoice-actions { color:#fff; }
@media (max-width:760px) {
 .site-page .topbar { padding:14px 16px; }
 .site-page:not(.registration-page):not(.public-screen):not(.invoice-page) > main { --page-padding:20px; width:calc(100% - 24px); margin-top:16px; }
 .site-page .page-heading, .site-page .desk-heading { padding:24px 20px; gap:16px; }
 .site-page .desk-heading { flex-wrap:wrap; align-items:flex-start; }
 .site-page .desk-heading .desk-settings { width:100%; }
 .site-page .desk-heading .desk-settings > div { left:0; right:auto; }
 .site-page .desk-tabs { gap:18px; }
 .site-page .desk-tabs a { font-size:.875rem; }
 .site-page .desk-summary > div { padding:12px; }
 .site-page .desk-summary > div > span, .site-page .desk-summary small { font-size:.875rem; }
 .site-page .desk-person-row > td[data-label]::before { font-size:.875rem; }
 .site-page .result-console { padding:20px; border-left:0; border-top:1px solid var(--line); }
 .site-page .bidder-pass { padding:24px 20px; }
 .site-page .stage-masthead h1 { font-size:clamp(1.8rem,7vw,3rem); }
 .site-page .floor-lot-row { grid-template-columns:minmax(0,1fr); gap:12px; padding:16px; }
 .site-page .floor-lot-row .lot-index { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
 .site-page .floor-lot-row .floor-result, .site-page .floor-lot-row .floor-actions { grid-column:1; }
 .site-page .floor-lot-row .lot-copy h2 { font-size:1rem; line-height:1.4; }
 .site-page .floor-lot-row .floor-actions { display:flex; flex-wrap:wrap; align-items:center; }
 .site-page .settings-popover form { position:fixed; inset:10vh 16px auto; width:auto; max-height:80vh; overflow:auto; }
}
.site-page details:not([open]) > :not(summary) { display:none; }
.site-page .terms-content h2 { line-height:1.4; }
.site-page.public-screen .topbar { min-height:88px; padding-block:7px; }
.site-page.public-screen .brand-mark { width:70px; height:70px; flex-basis:70px; }
@media (max-height:820px) and (min-width:721px) {
 .site-page.public-screen .topbar { min-height:64px; height:64px; }
 .site-page.public-screen .brand-mark { width:50px; height:50px; flex-basis:50px; }
}
@media (max-width:720px) {
 .site-page.public-screen .topbar { height:auto; min-height:68px; }
 .site-page.public-screen .brand-mark { width:36px; height:36px; flex-basis:36px; }
}
@media print {
 .site-page { background:#fff; }
 .site-page.registration-page .topbar, .site-page.registration-page .public-footer, .site-page.registration-page .demo-banner { display:none; }
 .site-page.registration-page .registration-shell { width:100%; padding:0; }
 .site-page.registration-page .registration-card { overflow:visible; border-radius:0; box-shadow:none; }
 .site-page.registration-page .registration-intro { background:#fff; color:#101828; }
 .site-page.registration-page .registration-kicker { color:#101828; opacity:1; }
 .site-page.registration-page .terms-content h2 { break-after:avoid; }
 .site-page.invoice-page .shell { width:100%; margin:0; padding:0; }
 .site-page .invoice-paper { border:0; border-radius:0; padding:0; box-shadow:none; }
}

/* Fixed screen controls and a readable auctioneer reference. */
.site-page .screen-controls { margin:24px 0; padding:24px; border:1px solid var(--line); border-radius:var(--radius); }
.site-page .screen-controls-heading { display:flex; justify-content:space-between; align-items:start; gap:16px; flex-wrap:wrap; }
.site-page .screen-controls h2 { margin:0; font-size:1.4rem; }
.site-page .screen-controls p { color:var(--muted); line-height:1.5; }
.site-page .screen-mode-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.site-page .screen-mode { display:flex; flex-direction:column; gap:10px; margin:0; padding:16px; min-width:0; border:1px solid var(--line); border-radius:12px; }
.site-page .screen-mode.is-selected { border-color:var(--accent); background:#fff5f5; }
.site-page .screen-mode h3 { margin:0; font-size:1rem; line-height:1.4; }
.site-page .screen-mode p { margin:0; font-size:.9rem; }
.site-page .screen-mode .button { margin-top:auto; width:100%; white-space:normal; }
.site-page .pause-duration { display:grid; gap:6px; font-size:.875rem; }
.site-page .pause-duration span { display:flex; gap:8px; align-items:center; }
.site-page .pause-duration input { width:76px; min-width:0; padding:8px; }
.site-page .screen-controls-note { margin:16px 0 0; font-size:.9rem; }
.site-page .preparation-check { margin:24px 0; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.site-page .preparation-check summary { padding:18px; cursor:pointer; font-weight:650; }
.site-page .preparation-summary { margin-left:16px; font-size:.9rem; color:var(--muted); font-weight:400; }
.site-page .preparation-body { padding:0 18px 18px; }
.site-page .preparation-body p { margin:0 0 12px; color:var(--muted); }
.site-page .preparation-body ul { padding:0; margin:0; list-style:none; }
.site-page .preparation-body li { display:grid; gap:5px; padding:12px 0; border-top:1px solid var(--line); }
.site-page .preparation-body li span { font-size:.9rem; color:var(--muted); }
.site-page .preparation-body a { font-weight:650; }
.site-page .auctioneer-console.auctioneer-reference { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.site-page .auctioneer-image { background:#f8fafc; padding:24px; display:grid; place-items:center; min-width:0; }
.site-page .auctioneer-image img { display:block; width:100%; max-height:480px; object-fit:contain; border-radius:12px; }
.site-page .auctioneer-image .lot-photo-placeholder { min-height:280px; width:100%; text-align:center; }
.site-page .auctioneer-reference .auctioneer-lot { padding:28px; }
.site-page .auctioneer-reference h2 { font-size:clamp(1.5rem,2.4vw,2.6rem); line-height:1.25; margin:20px 0 14px; }
.site-page .auctioneer-reference .auctioneer-prices dd { font-size:clamp(1.3rem,2vw,2.2rem); line-height:1.3; }
.site-page .auctioneer-sale-facts { display:grid; gap:12px; }
.site-page .auctioneer-sale-facts div { display:grid; grid-template-columns:max-content 1fr; gap:16px; }
.site-page .auctioneer-sale-facts dt { color:var(--muted); }
.site-page .auctioneer-sale-facts dd { margin:0; font-weight:650; }
.site-page .auctioneer-next { padding:22px; margin-top:20px; border:1px solid var(--line); border-radius:var(--radius); }
.site-page .auctioneer-next h2 { font-size:1.2rem; line-height:1.4; }
@media (max-width:1200px) { .site-page .screen-mode-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:800px) { .site-page .screen-mode-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .site-page .auctioneer-console.auctioneer-reference { grid-template-columns:minmax(0,1fr); } }
@media (max-width:520px) { .site-page .screen-mode-grid { grid-template-columns:minmax(0,1fr); } .site-page .screen-controls { padding:16px; } .site-page .preparation-summary { display:block; margin:8px 0 0; } .site-page .auctioneer-reference .auctioneer-lot { padding:20px; } }

/* Common component details: aligned frames, readable secondary text and controls. */
.site-page .topbar > .back-link { font-weight:650; }
.site-page .required-note { color:var(--muted); font-weight:400; font-size:.875rem; }
.site-page .account-summary .summary-content { padding:var(--card-inset); gap:24px; }
.site-page .my-summary span, .site-page .stats-grid span,
.site-page .mobile-stats span, .site-page .lot-facts dt,
.site-page .auctioneer-prices dt { font-size:.875rem; text-transform:none; letter-spacing:0; font-weight:600; }
.site-page .stats-grid > div { grid-template-rows:auto 1fr; align-content:start; padding:16px; gap:8px; }
.site-page .stats-grid strong { align-self:start; font-variant-numeric:tabular-nums; }
.site-page .stats-grid small { font-size:.875rem; }
.site-page .connection-note, .site-page .desk-group,
.site-page .desk-person-row td > small, .site-page .desk-arrival-label,
.site-page .desk-arrival-submit, .site-page .desk-tabs a > span,
.site-page .desk-group-members li > span:last-child,
.site-page .desk-group-limit, .site-page .desk-readonly-note,
.site-page .lot-label, .site-page .result-amount span,
.site-page .floor-result span, .site-page .lot-copy p,
.site-page .settings-popover > summary, .site-page .invoice-tax-note,
.site-page .invoice-footer, .site-page .invoice-addresses h2 { font-size:.875rem; }
.site-page .desk-arrival-label { min-height:40px; }
.site-page .desk-arrival-label input { width:20px; height:20px; }
.site-page .desk-text-action { min-height:40px; display:inline-flex; align-items:center; }
.site-page .status, .site-page .status-pill { font-size:.875rem; text-transform:none; letter-spacing:0; font-weight:650; }
.site-page .result-card h2 { line-height:1.4; }
.site-page .result-card small { display:block; margin-top:8px; font-size:.875rem; line-height:1.5; color:var(--muted); }
.site-page .result-amount { font-variant-numeric:tabular-nums; }
.site-page .invoice-actions .button-primary { background:#fff; color:var(--accent-dark); border:1px solid #e3c9cb; }
.site-page .screen-mode-grid { gap:16px; }
.site-page .screen-mode { gap:8px; }
.site-page .auctioneer-image .lot-photo-placeholder { border-radius:12px; padding:20px; }
@media (max-width:640px) {
 .site-page .my-result-card { grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:16px; }
 .site-page .my-result-card .result-thumb { display:none; }
 .site-page .my-result-card > div:not(.result-amount) { grid-column:1 / -1; }
 .site-page .my-result-card .result-amount { grid-column:1; grid-row:auto; text-align:left; }
 .site-page .my-result-card .status { grid-column:2; grid-row:auto; justify-self:end; }
 .site-page .my-result-card:has(img.result-thumb) { grid-template-columns:64px minmax(0,1fr); }
 .site-page .my-result-card img.result-thumb { display:block; width:64px; height:64px; }
 .site-page .my-result-card:has(img.result-thumb) > div:not(.result-amount) { grid-column:2; }
 .site-page .my-result-card:has(img.result-thumb) .result-amount { grid-column:1 / -1; }
 .site-page .my-result-card:has(img.result-thumb) .status { grid-column:1 / -1; justify-self:start; }
}

.site-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.site-page select, .site-page textarea, .site-page .desk-search { border-color:#7d8898; }
.site-page .topbar :focus-visible, .site-page .page-heading :focus-visible,
.site-page .desk-heading :focus-visible { outline-color:#fff; }
.site-page .screen-controls-heading { margin-bottom:16px; gap:8px 24px; }
.site-page .screen-controls-heading p { margin:8px 0 0; }
.site-page .screen-controls-heading > p { margin:0; }
.site-page .summary-person-status dt, .site-page .summary-self,
.site-page .summary-amounts dt { font-size:.875rem; }
@media (max-width:760px) {
 .site-page .header-nav:has(> :nth-child(2)) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:8px; }
 .site-page .header-nav:has(> :nth-child(2)) form, .site-page .header-nav .link-button { width:100%; }
 .site-page .screen-controls-heading { display:grid; }
 .site-page .screen-controls-heading > p { margin:0; }
}

@media (max-width:1100px) {
 .site-page .desk-person-row > .desk-row-action:has(form) { display:block; grid-column:1 / -1; order:6; padding:0; }
 .site-page .desk-person-row > .desk-row-action form { display:block; }
 .site-page .desk-row-action .desk-action { min-height:44px; }
 .site-page .desk-row-action::before { display:none; }
 .site-page .desk-mobile-entry-actions { display:none; }
}

html:has(.site-page:not(.public-screen)) { scrollbar-gutter:stable; }
.site-page .bidder-pass span, .site-page .bidder-pass small { font-size:.875rem; letter-spacing:0; text-transform:none; }
.site-page .mobile-masthead { gap:16px; flex-wrap:wrap; }
.site-page .mobile-lot-no { white-space:nowrap; font-size:clamp(1.5rem,5vw,2rem); }
@media (max-width:1200px) and (min-width:801px) {
 .site-page .screen-mode-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
 .site-page .screen-mode { grid-column:span 2; }
 .site-page .screen-mode:nth-last-child(-n+2) { grid-column:span 3; }
}
@media (max-width:800px) and (min-width:521px) {
 .site-page .screen-mode:last-child { grid-column:1 / -1; }
}
@media (max-width:900px) {
 .site-page .stats-grid > div:last-child:nth-child(odd) { grid-column:1 / -1; }
}
@media (max-width:760px) {
 .site-page .header-nav:has(> :nth-child(2)) { align-items:stretch; }
 .site-page .header-nav > :last-child:nth-child(odd):not(:first-child) { grid-column:1 / -1; }
 .site-page .header-nav a, .site-page .header-nav .link-button { height:100%; }
}
@media (max-width:480px) {
 .site-page .public-footer { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; text-align:center; }
 .site-page .public-footer a { min-height:40px; display:flex; align-items:center; justify-content:center; }
 .site-page .bidder-pass { flex-wrap:wrap; gap:16px; }
 .site-page .bidder-pass p { text-align:left; font-size:1rem; }
}

.site-page:has(> .public-footer) { min-height:100vh; display:flex; flex-direction:column; }
.site-page:has(> .public-footer) > .topbar,
.site-page:has(> .public-footer) > main { flex-shrink:0; }
.site-page > .public-footer { margin-top:auto; }
.site-page .mobile-lot-photo { max-height:400px; object-fit:contain; }
.site-page .mobile-lot-photo.lot-photo-placeholder { height:200px; aspect-ratio:auto; }

.site-page .my-summary { grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr)); }
.site-page .mobile-lot-copy h1, .site-page .mobile-result h1,
.site-page .mobile-welcome h1, .site-page .mobile-pause h1 { overflow-wrap:anywhere; }
.site-page .header-nav a, .site-page .header-nav button { overflow-wrap:anywhere; min-width:0; }

.site-page .page-heading h1, .site-page .desk-heading h1 { overflow-wrap:anywhere; min-width:0; }
.site-page .desk-heading h1 { flex-wrap:wrap; }
.site-page .lot-facts { flex-wrap:wrap; gap:16px 24px; }
.site-page .auctioneer-prices { grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); }
.site-page .auctioneer-prices > div { min-width:0; }
.site-page .auctioneer-prices dt { overflow-wrap:anywhere; }
.site-page .auctioneer-sale-facts div { display:flex; flex-wrap:wrap; gap:8px 16px; }
.site-page .auctioneer-sale-facts dt { flex:0 1 8rem; overflow-wrap:anywhere; }
.site-page .auctioneer-sale-facts dd { flex:1 1 12rem; min-width:0; }
@media (max-width:900px) {
 .site-page .stats-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); }
}
@media (max-width:760px) {
 .site-page .header-nav:has(> :nth-child(2)) { grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr)); }
 .site-page .desk-tabs { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); gap:0 16px; }
 .site-page .desk-tabs a { min-width:0; padding-block:12px; overflow-wrap:anywhere; }
 .site-page .desk-summary { grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); gap:1px; background:var(--line); overflow:hidden; }
 .site-page .desk-summary > div { border:0; background:#fff; }
 .site-page .auctioneer-image .lot-photo-placeholder > span,
 .site-page .cockpit-photo.lot-photo-placeholder > span { font-size:clamp(2rem,10vw,5rem); white-space:nowrap; }
 .site-page .desk-person-row > .desk-row-action[data-label]::before { display:none; }
}

@media print {
 .site-page:has(> .public-footer) { display:block; min-height:0; }
}

.site-page .consent-box { gap:16px; padding:20px; border:1px solid var(--line); background:#fffafa; }
.site-page .consent-box > strong { color:var(--ink); font-size:1rem; font-weight:650; text-transform:none; }
.site-page .consent-box .consent-check { padding:0; border:0; border-radius:0; background:transparent; }
.site-page .consent-box .consent-check + .consent-check { padding-top:16px; border-top:1px solid var(--line); }

/* Explicit email review before a new registration is sent. */
.email-review-dialog {
  box-sizing: border-box; width: min(640px, calc(100% - 32px));
  max-height: calc(100dvh - 32px); margin: auto; padding: 0;
  border: 1px solid var(--line); border-radius: 16px;
  color: var(--ink); background: #fff;
  box-shadow: 0 24px 64px rgb(16 24 40 / 20%);
}
.email-review-dialog::backdrop { background: rgb(16 24 40 / 60%); }
.email-review-content { display: grid; gap: 24px; padding: var(--card-inset); }
.email-review-content h2 { margin: 0; font-size: 24px; line-height: 1.3; }
.email-review-content > p { margin: 0; line-height: 1.6; }
.email-review-addresses { display: grid; gap: 16px; margin: 0; min-width: 0; }
.email-review-addresses > div { padding-block: 16px; border-top: 1px solid var(--line); }
.email-review-addresses dt { margin-bottom: 8px; color: var(--muted); font-size: 14px; }
.email-review-addresses dd { display: flex; align-items: center; gap: 16px; margin: 0; }
.email-review-addresses strong { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: 18px; }
.email-review-addresses button { flex: 0 0 auto; }
.email-review-actions { display: grid; grid-template-columns: auto 1fr; gap: 16px; }
.email-review-actions .button { min-width: 0; white-space: normal; }
@media (max-width: 520px) {
  .email-review-addresses dd { align-items: stretch; flex-direction: column; }
  .email-review-actions { grid-template-columns: 1fr; }
}
