/* v2.0 Preview 9 — final presentation polish */
:root{--club-night:#102225;--club-night-2:#183236;--club-ivory:#f5f1e8;--club-ivory-deep:#ebe3d4;--club-leather:#8a6940;--club-brass:#a88950;--club-brass-soft:#c7ad79;--competition:#007297;--information:#00a6c7;--success:#39715a;--warning:#9a6a24;--danger:#9b3f47;--motion-fast:150ms}
html[data-theme="light"]{--paper:#f5f1e8;--surface:#fbf9f4;--surface-raised:#fffdf8;--surface-soft:#efe9de;--surface-muted:#e7dfd2;--control-bg:#fffdf8;--control-border:#cfc5b4;--ink:#17272a;--heading:#102225;--muted:#657174;--line:#d9d0c2}
html[data-theme="dark"]{--paper:#0c1719;--surface:#112124;--surface-raised:#17292c;--surface-soft:#1a2d30;--surface-muted:#203538;--control-bg:#14272a;--control-border:#385054;--ink:#edf0e9;--heading:#fffaf0;--muted:#a8b4b2;--line:#304448;--club-brass:#c1a46a;--club-brass-soft:#d5bd8b}
.status-pill,.class-chip,.finals-track,.point-badge,.advancement-badge{display:inline-flex;align-items:center;gap:.35rem;min-height:1.65rem;padding:.22rem .58rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--ink);font-size:.68rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.status-complete,.status-approved,.status-paid,.status-qualified,.advancement-badge{border-color:var(--success);background:var(--surface-soft);color:var(--success)}.status-cancelled,.status-overdue,.status-declined,.status-denied{border-color:var(--danger);background:var(--surface-soft);color:var(--danger)}.status-pending,.status-running_late,.status-warn,.attention-card-warn{border-color:var(--warning);background:var(--surface-soft)}.point-badge{border-color:var(--club-brass);color:var(--club-brass);background:transparent}
.btn{transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background var(--motion-fast) ease,border-color var(--motion-fast) ease}.btn:not(.secondary):not(.danger){box-shadow:0 4px 12px rgba(0,114,151,.12)}.btn.secondary{background:transparent;border-color:var(--control-border)}.btn.secondary:hover{background:var(--surface-soft)}.danger-link,.btn.danger{color:var(--danger)!important}.text-link{opacity:.86}.text-link:hover{opacity:1}
.quick-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;padding:.55rem .9rem;border:1px solid var(--competition);border-radius:10px;background:var(--competition);color:#fff;text-decoration:none;font-size:.86rem;font-weight:800;line-height:1.1;box-shadow:0 4px 12px rgba(0,114,151,.12);transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background var(--motion-fast) ease,border-color var(--motion-fast) ease}.quick-actions .button:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(0,114,151,.16)}.quick-actions .button.secondary{background:transparent;color:var(--ink);border-color:var(--control-border);box-shadow:none}.quick-actions .button.secondary:hover{background:var(--surface-soft);border-color:var(--competition)}
.show-hero{position:relative;overflow:hidden;border-bottom:3px solid var(--competition)}.show-hero::after{content:"SHOW";position:absolute;right:-.03em;bottom:-.23em;font-family:var(--display-serif);font-size:clamp(7rem,19vw,15rem);font-weight:700;line-height:.8;color:rgba(255,255,255,.035);pointer-events:none}.show-hero h1{font-size:clamp(2.8rem,6vw,5.2rem);line-height:.9}.roster-section .section-head{border-bottom:2px solid var(--club-brass);padding-bottom:12px}.upper-roster .section-head{border-bottom-color:var(--competition)}.record-book-intro{padding-top:34px}.record-book-intro h1{font-size:clamp(3.3rem,7vw,6rem)}.record-rank{font-family:var(--display-serif);font-size:1.35rem;color:var(--club-brass)}.record-points{font-family:var(--display-serif);font-size:1.35rem}.finance-intro{border-bottom:2px solid var(--club-brass)}.finance-stat strong,.finance-summary-link strong{font-variant-numeric:tabular-nums lining-nums}.finance-stat{border-top:3px solid var(--club-brass)}
body:has(.record-book-table) .entry-table th,body:has(progress) .entry-table th{background:var(--club-night);color:#f8f3e8}progress{height:7px;border:0;border-radius:999px;overflow:hidden;background:var(--surface-muted)}progress::-webkit-progress-bar{background:var(--surface-muted)}progress::-webkit-progress-value{background:linear-gradient(90deg,var(--competition),var(--information))}progress::-moz-progress-bar{background:var(--competition)}
.entry-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;background:var(--surface)}.entry-table thead th{position:sticky;top:0;z-index:2;background:var(--surface-soft)}.entry-table tbody tr{transition:background var(--motion-fast) ease}.entry-table tbody tr:hover{background:var(--surface-soft)}.entry-table td,.entry-table th{vertical-align:middle}.entry-table td strong{font-variant-numeric:tabular-nums}.empty-state{padding:28px;min-height:92px;display:flex;flex-direction:column;justify-content:center}.empty-state::before{content:"";display:block;width:34px;height:2px;margin-bottom:12px;background:var(--club-brass)}.empty-state strong{color:var(--heading);font-family:var(--display-serif);font-size:1.2rem}.content-section>.section-head .eyebrow::before,.roster-section>.section-head .eyebrow::before{content:"";display:inline-block;width:18px;height:1px;margin:0 8px 3px 0;background:var(--club-brass)}
a,button,input,select,textarea,summary{transition:border-color var(--motion-fast) ease,background var(--motion-fast) ease,color var(--motion-fast) ease,opacity var(--motion-fast) ease}:focus-visible{outline:3px solid var(--information);outline-offset:3px}.flash{animation:polish-enter 180ms ease-out}@keyframes polish-enter{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
body:has(.show-day-rider-grid) .topbar{position:sticky;top:0;z-index:50}body:has(.show-day-rider-grid) .page-intro{padding:18px 0;border-bottom:2px solid var(--competition)}.show-day-rider-card{border-left:4px solid var(--competition);box-shadow:none}.show-day-status-form select,.show-day-status-form input,.show-day-status-form .btn{min-height:44px}.show-day-attention-list{border-left:4px solid var(--warning);padding:16px 18px 16px 34px;background:var(--surface-soft);border-radius:8px}.my-show-day-time{font-family:var(--display-serif);font-size:1.15rem;font-variant-numeric:tabular-nums}
html[data-theme] .calendar-nav-button,html[data-theme] .calendar-filters select,html[data-theme] .month-calendar,html[data-theme] .month-day,html[data-theme] .agenda-date-block{background:var(--surface);color:var(--ink)}html[data-theme] .month-weekdays{background:var(--surface-soft)}html[data-theme] .month-day.outside-month{background:var(--surface-muted);color:var(--muted)}
/* RC1 dashboard spacing: every role must remain below the hero whether or not a workspace switcher renders. */
.dashboard-hero + .club-summary{margin-top:1.25rem!important}.dashboard-hero + .dashboard-workspaces + .club-summary{margin-top:1rem!important}.dashboard-workspaces + .club-summary{margin-top:1rem!important}
/* v2.5 host-show presentation polish */
body.section-dashboard_show_manager .page-intro,body.section-host_show_workspace .page-intro,body.section-host_command_center .page-intro,body.section-host_family_information .page-intro,body.section-host_family_publication_edit .page-intro{border-bottom:2px solid var(--club-brass);padding-bottom:1.15rem}
body.section-dashboard_show_manager .stat-card,body.section-host_show_workspace .stat-card,body.section-host_command_center .stat-card{border-top:3px solid var(--club-brass);background:var(--surface-raised)}
body.section-dashboard_show_manager .card,body.section-host_show_workspace .card,body.section-host_family_information .card{background:var(--surface-raised)}
body.section-dashboard_show_manager .detail-band,body.section-host_show_workspace .detail-band{background:var(--surface-soft);border-radius:10px}
body.section-host_show_workspace .entry-table-wrap,body.section-host_command_center .entry-table-wrap{box-shadow:0 8px 24px rgba(12,23,25,.05)}
body.section-host_family_information .callout,body.section-host_family_publication_edit .callout,body.section-host_command_center .callout{border-left:4px solid var(--club-brass);background:var(--surface-soft)}
body.section-host_family_publication_edit .form-grid{align-items:start}body.section-host_family_publication_edit .field-row{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.85rem 1rem}body.section-host_family_publication_edit .field-row label{display:flex;align-items:center;gap:.6rem;font-weight:750}body.section-host_family_publication_edit .field-row input[type="checkbox"]{width:1.15rem;height:1.15rem;accent-color:var(--competition)}
.host-ops-empty{margin:1rem 0;background:var(--surface-soft);border:1px solid var(--line);border-left:4px solid var(--warning);border-radius:10px}
/* Error pages intentionally remain standalone so the 500 template has minimal dependencies. */
.error-shell{margin:0;min-height:100vh;background:var(--paper);color:var(--ink)}.error-page{min-height:100vh;display:grid;place-items:center;padding-top:3rem;padding-bottom:3rem}.error-card{position:relative;overflow:hidden;max-width:720px;width:100%;padding:clamp(1.5rem,4vw,2.5rem);background:var(--surface-raised);border:1px solid var(--line);border-top:4px solid var(--club-brass);box-shadow:0 22px 60px rgba(8,20,22,.12)}.error-card-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem}.error-code{position:absolute;right:-.02em;top:.08em;font-family:var(--display-serif);font-size:clamp(7rem,22vw,12rem);font-weight:700;line-height:.8;color:var(--surface-muted);opacity:.42;pointer-events:none}.error-card h1{position:relative;max-width:12ch;font-size:clamp(2.3rem,7vw,4.4rem);line-height:.95;margin-top:2.4rem}.error-card>p{position:relative;max-width:58ch}.error-actions{position:relative;margin-top:1.4rem}.error-caption{margin-top:1.5rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.error-theme-toggle{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.45rem;min-height:2.35rem;padding:.45rem .7rem;border:1px solid var(--control-border);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:.82rem;font-weight:750;cursor:pointer}.error-theme-toggle:hover{background:var(--surface-soft)}
@media(max-width:760px){.page-title,.page-intro{gap:14px}.page-title .actions,.page-intro .actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.page-title .actions .btn,.page-intro .actions .btn{text-align:center;justify-content:center}body:has(.show-day-rider-grid) .container{padding-left:12px;padding-right:12px}body:has(.show-day-rider-grid) .finance-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.show-day-rider-card{padding:14px}.show-day-status-form{display:grid;grid-template-columns:1fr}.show-day-status-form .btn{width:100%}.quick-actions .button{flex:1 1 100%;width:100%}.entry-table-wrap{border-radius:9px}.dashboard-hero + .club-summary,.dashboard-hero + .dashboard-workspaces + .club-summary,.dashboard-workspaces + .club-summary{margin-top:.9rem!important}body.section-dashboard_show_manager .page-intro .actions,body.section-host_show_workspace .page-intro .actions,body.section-host_command_center .page-intro .actions,body.section-host_family_information .page-intro .actions{grid-template-columns:1fr}body.section-dashboard_show_manager .card .actions,body.section-host_show_workspace .content-section>.actions,body.section-host_family_information .content-section>.actions{display:grid;grid-template-columns:1fr;gap:.55rem}body.section-dashboard_show_manager .card .actions .btn,body.section-host_show_workspace .content-section>.actions .btn,body.section-host_family_information .content-section>.actions .btn{width:100%;justify-content:center;text-align:center}body.section-host_show_workspace .stat-grid,body.section-host_command_center .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.error-page{padding:1rem}.error-card{padding:1.35rem}.error-code{font-size:7rem;top:.28em}.error-card h1{margin-top:3.1rem}.error-actions{display:grid;grid-template-columns:1fr}.error-actions .btn{width:100%;justify-content:center;text-align:center}}
@media(max-width:460px){body.section-host_show_workspace .stat-grid,body.section-host_command_center .stat-grid{grid-template-columns:1fr}.error-card-topline{align-items:flex-start}.error-theme-toggle .theme-toggle-label{display:none}}
