/* Fitness Vault PH black & gold: shared brand tokens for the public site and workspace. */
:root {
  color-scheme: dark;
  --bg: #0D1014;
  --surface: #151A20;
  --surface-raised: #1C232C;
  --ink: #F3EFE7;
  --muted: #B1B9C5;
  --line: #303844;
  --control-line: #637083;
  --gold: #D1AC66;
  --gold-hover: #E6C787;
  --gold-surface: #28241C;
  --gold-line: #66583B;
  --success: #AAD9BC;
  --success-surface: #172B23;
  --warning: #EBC777;
  --warning-surface: #322817;
  --danger: #EEB0A3;
  --danger-surface: #361C1C;
  --radius: 10px;
  --radius-control: 6px;
  --space-card: 24px;
  --green: var(--gold);
  --deep: var(--bg);
  --navy: var(--bg);
  --lime: var(--gold);
  --body: 'Gym Sans', Arial, sans-serif;
  color: var(--ink);
  background: var(--bg);
}
body { background: var(--bg); color: var(--ink); }
h1,h2,h3,h4 { color: var(--ink); letter-spacing: -.025em; }
button,input,select,textarea { color: inherit; }
::selection { background: var(--gold); color: var(--bg); }
button:focus-visible,a:focus-visible,summary:focus-visible { outline: 3px solid var(--gold-hover); outline-offset: 4px; }
input:focus,textarea:focus,select:focus { border-color: var(--gold-hover)!important; box-shadow: 0 0 0 3px #D1AC6630; }
.skip-link { background: var(--gold); color: var(--bg); }
.brand,.brand.inverse,.sidebar-logo .brand { color: var(--ink); font-size: 24px; letter-spacing: .015em; gap: 10px; }
.brand-icon,.brand.inverse .brand-icon,.sidebar-logo .brand-icon { width: 38px; height: 38px; background: transparent; border-radius: 0; box-shadow: none; }
.brand-icon img { width: 100%; height: 100%; display: block; }
.brand-strong { color: var(--gold); }
.brand-wordmark { display: block; width: 210px; height: auto; }
.sidebar-logo .brand { font-size: 21px; gap: 8px; }
.sidebar-logo .brand-icon { width: 34px; height: 34px; }
.sidebar-logo .brand-wordmark { width: 183px; }
.btn { border-radius: var(--radius-control); box-shadow: none; min-height: 44px; transition: background .16s ease,border-color .16s ease; }
.btn:hover:not(:disabled) { transform: none; }
.btn-primary,.btn-lime { background: var(--gold); color: var(--bg); border-color: var(--gold); box-shadow: none; }
.btn-primary:hover:not(:disabled),.btn-lime:hover:not(:disabled) { background: var(--gold-hover); border-color: var(--gold-hover); box-shadow: none; }
.btn-secondary,.btn-dark { background: var(--surface); color: var(--ink); border-color: var(--control-line); }
.btn-secondary:hover:not(:disabled),.btn-dark:hover:not(:disabled) { background: var(--surface-raised); color: var(--gold-hover); border-color: var(--gold); }
.btn-ghost,.text-button,.inline-link,.auth-switch button { color: var(--gold); }
.text-button:hover,.inline-link:hover,.auth-switch button:hover { color: var(--gold-hover); }
.icon-btn { color: var(--muted); background: transparent; border-color: var(--control-line); border-radius: 6px; }
.icon-btn:hover { background: var(--surface-raised); color: var(--ink); }

/* Public site. */
.marketing { background: var(--bg); }
.marketing-header { border-color: var(--line); }
.marketing-header nav button,.header-beta { color: var(--muted); }
.marketing-header nav button:hover { color: var(--gold); }
.header-beta i,.demo-live-dot,.hero-eyebrow i { background: var(--gold); }
.hero { padding-top: 82px; padding-bottom: 84px; gap: 42px; }
.hero-eyebrow,.label-accent,.small-overline,.auth-kicker { color: var(--gold); letter-spacing: .13em; }
.hero h1 { color: var(--ink); font-size: clamp(44px,4.65vw,68px); line-height: 1.05; letter-spacing: -.035em; }
.hero h1 span { color: var(--gold); }
.hero-desc { color: var(--muted); font-size: 17px; max-width: 465px; }
.hero-assurances,.hero-demo-note,.hero-visual-label,.hero-visual-footer,.hero-visual-footer strong { color: var(--muted); }
.hero-assurances svg { color: var(--gold); }
.hero-visual:before { background: var(--gold-surface); border: 1px solid #50432A; border-radius: 8px; transform: rotate(2deg); }
.product-demo { background: var(--surface); border-color: #65604F; border-radius: 8px; box-shadow: 0 24px 50px #00000050; }
.tour-chrome,.tour-tabs { background: var(--surface); color: var(--muted); border-color: var(--line); }
.tour-dots i { background: #656B75; }.tour-dots i:first-child { background: var(--gold); }
.tour-sample { background: var(--gold-surface); color: var(--gold-hover); border-radius: 3px; }
.tour-rail { background: #101215; color: var(--ink); border-right: 1px solid var(--line); }
.tour-logo { color: var(--gold); }.tour-logo img { width: 30px; height: 30px; display: block; }
.tour-rail button { color: var(--muted); border-radius: 5px; }
.tour-rail button.active { background: var(--gold); color: var(--bg); }
.tour-rail button:hover { background: var(--surface-raised); color: var(--gold); }
.tour-rail-avatar { background: var(--surface-raised); color: var(--gold); }
.tour-body { background: var(--bg); }
.tour-tabs button { color: var(--muted); }
.tour-tabs button.active { color: var(--gold-hover); border-color: var(--gold); }
.tour-page-title h3,.tour-stats strong,.tour-chart-title strong { color: var(--ink); }
.tour-page-title small,.tour-page-title>svg { color: var(--gold); }
.tour-date,.tour-stats small,.tour-stats strong>span,.tour-stats>div>span,.tour-chart-title,.tour-bars span { color: var(--muted); }
.tour-stats>div,.tour-search,.tour-member-list { background: var(--surface); border-color: var(--line); border-radius: 5px; }
.tour-bars>div { border-color: var(--line); }.tour-bars i { background: #7C6944; border-radius: 2px 2px 0 0; }.tour-bars>div:last-child i { background: var(--gold); }
.tour-note { background: var(--gold-surface); color: var(--gold-hover); border-radius: 5px; }
.tour-search,.tour-member-list small,.tour-transactions span { color: var(--muted); }
.tour-member-list>div,.tour-transactions,.tour-transactions>div { border-color: var(--line); }
.tour-avatar { background: var(--surface-raised); color: var(--gold); border-radius: 5px; }
.tour-transactions strong { color: var(--gold); }
.benefit-strip { border-color: var(--line); }
.benefit-strip strong { color: var(--ink); }.benefit-strip small,.benefit-strip>div>span { color: var(--muted); }
.marketing-section { padding-top: 88px; padding-bottom: 88px; }
.section-heading h2,.faq-section h2 { color: var(--ink); line-height: 1.1; }
.section-heading>p,.faq-section>div>p { color: var(--muted); }
.feature-card,.price-card { background: var(--surface); border-color: var(--line); border-radius: 8px; box-shadow: none; }
.feature-card:hover { border-color: #73613D; box-shadow: none; }
.feature-members { background: var(--surface); }
.feature-money { background: var(--gold-surface); border-color: #50432A; }
.feature-card h3,.feature-money h3,.price-card h3 { color: var(--ink); font-size: 27px; letter-spacing: -.025em; }
.feature-card>p,.feature-money>p,.feature-number,.feature-money .feature-number,.feature-footnote { color: var(--muted); }
.feature-icon.mint,.feature-icon.lavender,.feature-icon.peach,.feature-icon.blue,.feature-members .feature-icon,.feature-money .feature-icon { background: var(--gold-surface); color: var(--gold); border-radius: 6px; }
.feature-money .feature-icon { background: #3C3120; }
.feature-member-preview { background: var(--bg); border-color: var(--line); border-radius: 6px; box-shadow: none; }
.feature-member-preview>div { border-color: var(--line); }.feature-member-preview small { color: var(--muted); }
.feature-money-preview>div>span { color: var(--muted); }.feature-money-preview strong { color: var(--gold-hover); }
.money-mini-bars i { background: #7C6944; }.money-mini-bars i:nth-child(6) { background: var(--gold); }
.feature-link,.feature-money .feature-link { color: var(--gold); border-color: var(--line); }
.feature-link:hover { color: var(--gold-hover); }
.operations-release { background: var(--gold-surface); border-color: #50432A; border-radius: 8px; }
.operations-release h2 { color: var(--ink); }.operations-release p { color: var(--muted); }
.steps-zone { background: #101215; border-block: 1px solid var(--line); padding: 76px 0; }
.step-card>div { border-color: #73613D; color: var(--gold); }
.step-card h3 { color: var(--ink); }.step-card>p,.step-note { color: var(--muted); }
.price-card.highlight { background: var(--gold-surface); border-color: var(--gold); color: var(--ink); box-shadow: none; }
.plan-tag,.highlight .plan-tag { background: var(--surface-raised); color: var(--gold-hover); border-radius: 4px; }
.price-card>p,.highlight>p,.price>span,.highlight .price>span,.price-card ul,.highlight ul,.pricing-note { color: var(--muted); }
.price,.highlight .price { color: var(--ink); }.price-card li svg,.highlight li svg { color: var(--gold); }
.faq-list details { border-color: var(--line); }.faq-list summary { color: var(--ink); }.faq-list details>p { color: var(--muted); }
.faq-list summary>span { color: var(--gold); }
.final-cta { background: var(--gold-surface); color: var(--ink); border-block: 1px solid #50432A; border-radius: 0; }
.final-cta h2 { color: var(--ink); }.final-cta p,.cta-art>small { color: var(--muted); }.cta-kicker,.cta-art>svg { color: var(--gold); }
.cta-art>span { border-color: #7C6944; border-radius: 6px; }.cta-art>span:nth-child(2),.cta-art>span:nth-child(3) { border-color: #50432A; }
.marketing-footer { border-color: var(--line); color: var(--muted); }
.marketing-footer p,.marketing-footer>span,.marketing-footer button { color: var(--muted); }.marketing-footer button:hover { color: var(--gold); }

/* Workspace structure and shared records. */
.app-shell,.main-column { background: var(--bg); }
.sidebar { background: #11151A; color: var(--ink); border-right: 1px solid var(--line); overflow-y: auto; scrollbar-gutter: stable; }
.sidebar-logo { border-color: var(--line); }
.workspace-switch { background: var(--surface); border-color: var(--line); border-radius: 6px; }
.workspace-logo { background: var(--gold-surface); color: var(--gold); border-radius: 4px; }
.workspace-name strong { color: var(--ink); }.workspace-name small,.workspace-switch>svg { color: var(--muted); }
.sidebar-nav { gap: 10px; padding-top: 0; }.nav-group { display: grid; gap: 4px; }
.nav-caption { color: var(--muted); font-size: 11px; letter-spacing: .1em; padding: 0 12px; margin: 9px 0 7px; }
.nav-item { color: var(--muted); border: 1px solid transparent; border-radius: var(--radius-control); min-height: 44px; padding: 10px 12px; }
.nav-item:hover { background: var(--surface-raised); color: var(--ink); }
.nav-item.active { background: var(--gold-surface); border-color: var(--gold-line); color: var(--ink); font-weight: 700; box-shadow: inset 3px 0 0 var(--gold); }
.nav-item.active svg { color: var(--gold); }.new-dot { background: var(--gold); }
.sidebar-bottom { margin-top: auto; padding-top: 18px; }
.sidebar-trial { background: var(--gold-surface); border-color: #50432A; border-radius: 6px; }
.trial-top,.trial-top svg,.sidebar-trial button { color: var(--gold-hover); }.sidebar-trial p { color: var(--muted); }
.progress-track,.trial-big-track { background: #454039; }.progress-track span,.trial-big-track i { background: var(--gold); }
.profile-chip { background: transparent; border-color: var(--line); }
.profile-avatar,.round-avatar { background: var(--surface-raised); color: var(--gold); border: 1px solid var(--control-line); }
.profile-chip strong { color: var(--ink); }.profile-chip small,.profile-chip>svg { color: var(--muted); }
.topbar { background: #11151A; border-color: var(--line); gap: 15px; }
.topbar-left { color: var(--muted); min-width: 0; }.topbar-left>span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 210px; }
.topbar-left strong { color: var(--ink); white-space: nowrap; }
.topbar-right { flex-shrink: 0; gap: 12px; }.topbar-quick { min-height: 34px; padding: 7px 12px; font-size: 11px; }
.page-heading h1 { color: var(--ink); letter-spacing: -.03em; }.page-heading p { color: var(--muted); }
.page-heading-action { flex-wrap: wrap; }.date-chip { background: var(--surface); color: var(--muted); border-color: var(--line); border-radius: 5px; }
.surface-card { background: var(--surface); border-color: var(--line); border-radius: var(--radius); box-shadow: none; min-width: 0; }
.welcome-trial { background: var(--gold-surface); border: 1px solid #50432A; border-radius: 6px; }
.trial-bubble { background: #3C3120; color: var(--gold); border-radius: 6px; }
.welcome-trial strong { color: var(--ink); }.welcome-trial p { color: var(--muted); }.welcome-trial button { color: var(--gold-hover); }
.stat-card { border-top: 1px solid var(--line); border-radius: var(--radius); }
.stat-top>span:first-child { color: var(--muted); }.stat-icon { background: var(--gold-surface); color: var(--gold); border-radius: 5px; }
.stat-card>strong { color: var(--ink); letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.stat-change,.stat-change.positive,.stat-change.negative { color: var(--muted); font-size: 11px; line-height: 1.7; }
.card-head h2 { color: var(--ink); font-size: 17px; letter-spacing: -.015em; }.card-head p { color: var(--muted); }
.pill { background: var(--surface-raised); color: var(--muted); border: 1px solid #454A53; border-radius: 4px; }
.pill-success { background: var(--success-surface); color: var(--success); border-color: #395B47; }
.pill-warning { background: var(--warning-surface); color: var(--warning); border-color: #6B542B; }
.pill-danger { background: var(--danger-surface); color: var(--danger); border-color: #784B43; }
.pill-blue { background: #192630; color: #BCD4E4; border-color: #425A6B; }
.chart-key { color: var(--muted); }.dot-green { background: var(--gold); }.dot-blue { background: var(--muted); }
.pure-chart { height: auto; min-height: 0; }.pure-chart svg { width: 100%; height: auto; display: block; }
.chart-caption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; font-size: 11px; color: var(--muted); line-height: 1.8; margin-top: 9px; }
.attention-ring { background: var(--gold-surface); color: var(--gold); }
.attention-list button { color: var(--ink); border-color: var(--line); }
.attention-list button:hover { background: var(--surface-raised); }
.attention-list strong { color: var(--ink); }.attention-list small { color: var(--muted); }
.attention-list button>svg { color: var(--muted); }
.attention-icon.warning,.attention-icon.blue,.attention-icon.mint { background: var(--gold-surface); color: var(--gold); border-radius: 6px; }
.attention-tip { background: var(--gold-surface); color: var(--gold); border-radius: 6px; }.attention-tip strong { color: var(--ink); }.attention-tip p { color: var(--muted); }
.recent-item { border-color: var(--line); }.activity-bubble { background: var(--surface-raised); color: var(--gold); border-radius: 5px; }
.recent-item strong { color: var(--ink); }.recent-item small { color: var(--muted); }.recent-amount { color: var(--gold); }
.quick-actions button { background: transparent; border-color: var(--line); color: var(--ink); border-radius: 5px; }
.quick-actions button:hover { background: var(--surface-raised); border-color: #73613D; }.quick-actions span { color: var(--gold); background: var(--gold-surface); border-radius: 4px; }.quick-actions button>svg:last-child { color: var(--muted); }
.disclaimer-inline,.muted-small { color: var(--muted); }
.mini-stats>div { background: var(--surface); border-color: var(--line); border-radius: 6px; }.mini-stats span { color: var(--muted); }.mini-stats strong { color: var(--ink); }
.table-toolbar { border-color: var(--line); }
.search-field { background: var(--bg); border-color: var(--control-line); color: var(--muted); border-radius: 5px; }.search-field input { color: var(--ink); }.search-field input::placeholder { color: var(--muted); }.search-field:focus-within { border-color: var(--gold); box-shadow: 0 0 0 2px #D1AC6630; }
.segmented { background: var(--bg); border: 1px solid var(--control-line); border-radius: var(--radius-control); max-width: 100%; flex-wrap: wrap; }.segmented button { color: var(--muted); border-radius: 4px; min-height: 44px; }.segmented button.selected { color: var(--ink); background: var(--surface-raised); box-shadow: inset 0 -2px 0 var(--gold); }
.segmented.large button span,.renewal-filters button>span { background: var(--surface-raised); color: var(--muted); border-radius: 3px; }.segmented button.selected>span { background: #0B0D0F; color: var(--gold); }
.data-table { color: var(--ink); }.data-table th { background: #11151A; color: var(--muted); border-color: var(--line); }.data-table td { border-color: var(--line); color: var(--muted); }.data-table tbody tr:hover,.data-table tbody tr:focus-within { background: var(--surface-raised); }.data-table td strong { color: var(--ink); }
.member-avatar { background: var(--gold-surface); color: var(--gold); border: 1px solid #50432A; border-radius: 5px; }.member-cell small { color: var(--muted); }
.table-actions button { background: var(--bg); color: var(--muted); border-color: var(--control-line); border-radius: 4px; min-width: 34px; min-height: 34px; }.table-actions button:hover { color: var(--gold); background: var(--gold-surface); border-color: var(--gold); }
.table-bottom { border-color: var(--line); color: var(--muted); gap: 15px; flex-wrap: wrap; }.table-bottom .btn { min-height: 44px; padding: 9px 12px; font-size: 13px; }.strong-money { color: var(--gold)!important; }
.empty-state .empty-icon { background: var(--gold-surface); color: var(--gold); border-radius: 6px; }.empty-state strong { color: var(--ink); }.empty-state p { color: var(--muted); }
.renewal-guide { background: var(--gold-surface); border-color: #50432A; color: var(--gold); border-radius: 6px; }.renewal-guide>span { background: #3C3120; border-radius: 5px; }.renewal-guide strong { color: var(--ink); }.renewal-guide p,.followup-select,.cell-detail { color: var(--muted); }
.followup-select select { background: var(--bg); border-color: var(--control-line); color: var(--ink); border-radius: 5px; }
.renewal-table td>strong { color: var(--ink); }
.followup-history { border-color: var(--line); background: var(--surface-raised); border-radius: 5px; }.followup-history summary { color: var(--gold); }.followup-history>div { border-color: var(--line); }.followup-history strong { color: var(--ink); }.followup-history p { color: var(--muted); }
.plan-icon { background: var(--gold-surface); color: var(--gold); border-radius: 6px; }.plan-card h2,.plan-cost { color: var(--ink); }.plan-card>p,.plan-card>div:nth-last-of-type(1) { color: var(--muted); }.plan-separator { background: var(--line); }.info-strip { background: var(--gold-surface); color: var(--gold-hover); border-color: #50432A; border-radius: 6px; }
.plan-card { display: flex; flex-direction: column; align-items: flex-start; }
.plan-card-head { display: flex; justify-content: space-between; align-items: center; width: 100%; gap: 12px; margin-bottom: 20px; }
.plan-card-head .plan-icon { margin-bottom: 0; }
.plan-card h2 { overflow-wrap: anywhere; }
.plan-card .plan-separator { width: 100%; }
.plan-member-count { display: flex; align-items: center; gap: 8px; font-size: 12px; margin-bottom: 20px; }
.plan-card .plan-edit-button { width: 100%; margin-top: auto; }
.plan-edit-note { display: flex; align-items: flex-start; gap: 10px; border: 1px solid #73613D; background: var(--gold-surface); border-radius: 5px; padding: 13px; color: var(--gold); }
.plan-edit-note p { font-size: 12px; line-height: 1.8; color: var(--muted); }
.plan-edit-note svg { margin-top: 3px; }
.checkin-header h2 { color: var(--ink); }.checkin-header p,.checkin-help { color: var(--muted); }.checkin-header>span { color: var(--gold); background: var(--gold-surface); border-radius: 6px; }
.today-count { background: var(--gold-surface); color: var(--ink); border: 1px solid #50432A; border-radius: 8px; }.today-count>span,.today-count>div { color: var(--muted); }.today-count>strong { color: var(--gold-hover); }.online-dot { background: var(--gold); }
.attendance-hint h3 { color: var(--ink); }.attendance-hint h3 svg { color: var(--gold); }.attendance-hint p { color: var(--muted); }
.finance-alert { background: var(--surface); border-color: var(--line); color: var(--gold); border-radius: 6px; }.finance-alert strong { color: var(--ink); }.finance-alert p { color: var(--muted); }
.feedback-poster { background: var(--gold-surface); border: 1px solid #50432A; border-radius: 8px; }.feedback-poster>svg,.feedback-poster>span { color: var(--gold); }.feedback-poster h2 { color: var(--ink); }.feedback-poster p { color: var(--muted); }
.tips-card h3,.feedback-list p { color: var(--ink); }.tips-card div,.feedback-list small { color: var(--muted); }.tips-card svg { color: var(--gold); }.feedback-list>div { border-color: var(--line); }
.settings-rows>div,.settings-action { border-color: var(--line); }.settings-rows span,.settings-action p { color: var(--muted); }.settings-rows strong,.settings-trial strong,.settings-action strong { color: var(--ink); }.settings-action-icon { background: var(--gold-surface); color: var(--gold); border-radius: 6px; }
.report-period { color: var(--muted); }.report-period input { background: var(--surface); color: var(--ink); border-color: var(--control-line); border-radius: 5px; }

/* Insights use the same report window, sums, and denominators as their CSV export. */
.insights-period { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; color: var(--ink); font-size: 12px; padding: 0 0 22px; }
.insights-period small { color: var(--muted); margin-left: auto; }
.period-tag { background: var(--gold-surface); color: var(--gold-hover); border: 1px solid #73613D; padding: 5px 8px; border-radius: 4px; font-size: 9px; font-weight: 700; letter-spacing: .06em; }
.insights-main { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); gap: 20px; margin-top: 22px; align-items: start; }
.insights-secondary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 20px; align-items: start; }
.insights-chart-card,.insights-breakdown-card,.quiet-members-card { padding: 24px; }
.insights-chart-card .card-head { align-items: flex-start; flex-wrap: wrap; }
.insights-chart-card .inline-link { font-size: 11px; }
.daily-chart { margin-top: 22px; }.daily-chart svg { width: 100%; height: auto; display: block; }
.insights-values { max-height: 290px; margin-top: 18px; border: 1px solid var(--line); border-radius: 5px; }.insights-values th { position: sticky; top: 0; }
.breakdown-list { display: grid; gap: 20px; padding-top: 8px; }
.breakdown-row>div:first-child { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 12px; }.breakdown-row strong { color: var(--ink); }.breakdown-row>div>span { color: var(--gold); font-weight: 700; font-variant-numeric: tabular-nums; }
.breakdown-track { height: 6px; background: #353A42; border-radius: 2px; overflow: hidden; margin: 9px 0 5px; }.breakdown-track i { display: block; height: 100%; background: var(--gold); }
.breakdown-row small,.card-note { color: var(--muted); font-size: 11px; line-height: 1.8; }.card-note { border-top: 1px solid var(--line); padding-top: 15px; margin-top: 24px; }
.quiet-list { display: grid; }.quiet-list button { display: flex; align-items: center; gap: 12px; padding: 13px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; width: 100%; }
.quiet-list button:hover { background: var(--surface-raised); }.quiet-list button>span:nth-child(2) { display: grid; gap: 3px; min-width: 0; flex: 1; }.quiet-list strong { font-size: 12px; color: var(--ink); }.quiet-list small { color: var(--muted); font-size: 11px; }.quiet-list button>svg { color: var(--gold); }
.metric-definitions { border: 1px solid var(--line); background: var(--surface); border-radius: 6px; margin-top: 20px; }
.metric-definitions summary { display: flex; align-items: center; gap: 10px; padding: 16px 20px; color: var(--gold); font-size: 12px; font-weight: 700; cursor: pointer; list-style: none; }.metric-definitions summary::-webkit-details-marker { display: none; }.metric-definitions summary>svg:last-child { margin-left: auto; }.metric-definitions[open] summary>svg:last-child { transform: rotate(45deg); }
.metric-definitions>div { display: grid; gap: 12px; padding: 0 20px 20px; font-size: 12px; line-height: 1.8; color: var(--muted); }.metric-definitions strong { color: var(--ink); }
.record-health { border: 1px solid var(--line); background: var(--surface); border-radius: 6px; padding: 22px; margin-top: 20px; display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }.record-health>div { flex: 1; min-width: 230px; }.record-health h2 { font-size: 17px; margin: 7px 0; }.record-health p { color: var(--muted); font-size: 12px; line-height: 1.8; }.record-health .health-note { width: 100%; border-top: 1px solid var(--line); padding-top: 15px; }

/* Setup, dialogs, import, and notifications. */
.auth-shell,.auth-panel { background: var(--bg); }
.auth-aside { background: #101215; border-right: 1px solid var(--line); }.auth-aside:after { border-color: #50432A; }
.auth-quote h2 { color: var(--ink); text-transform: uppercase; }.auth-quote h2 span { color: var(--gold); }.auth-quote>p,.auth-benefit,.auth-side-foot { color: var(--muted); }.auth-benefit svg { color: var(--gold); }
.auth-spark { background: var(--gold-surface); color: var(--gold); border-radius: 6px; }.auth-quote-rule { background: var(--line); }
.auth-form-area h1 { color: var(--ink); }.auth-lead,.auth-switch,.go-back,.auth-demo-only p { color: var(--muted); }.go-back:hover { color: var(--gold); }.auth-demo-only { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; }
.auth-form label,.modal-form label,.import-file-label { color: var(--ink); }
.auth-form input,.modal-form input,.modal-form select,.modal-form textarea,.checkin-card select,.checkin-card input { background: var(--bg); color: var(--ink); border-color: var(--control-line); border-radius: 5px; }
.auth-form input::placeholder,.modal-form input::placeholder,.modal-form textarea::placeholder { color: var(--muted); }
.modal-form output,.modal-form textarea[readonly] { background: var(--surface-raised); color: var(--ink); border-color: var(--control-line); border-radius: 5px; }
.form-hint,.checkbox-label small,.payment-fields legend { color: var(--muted); }
.modal-form .checkbox-label { background: var(--gold-surface); border-color: #73613D; border-radius: 5px; }.checkbox-label strong { color: var(--ink); }.modal-form .checkbox-label input { accent-color: var(--gold); }
.payment-fields { border-color: var(--line); border-radius: 6px; }
.form-divider { border-color: var(--line); }.form-divider span { background: var(--surface); color: var(--muted); }
.form-divider:before,.form-divider:after { background: var(--line); }
.form-error { background: #361C1C; color: #EEB0A3; border-color: #784B43; border-radius: 5px; }
.notice,.notice-amber { background: #322817; color: #EBC777; border-color: #6B542B; border-radius: 6px; }.notice-blue { background: #192630; color: #BCD4E4; border-color: #425A6B; }
.modal-backdrop { background: #000000BB; backdrop-filter: blur(3px); }
.modal { background: var(--surface); border: 1px solid var(--control-line); border-radius: var(--radius); box-shadow: 0 24px 80px #00000070; overscroll-behavior: contain; }
.modal-head h2 { color: var(--ink); }.modal-head p { color: var(--muted); }.modal-head .icon-btn { color: var(--muted); }.modal-actions { border-color: var(--line); }
.qr-card { background: var(--bg); border-color: var(--line); border-radius: 6px; }.qr-card>span,.qr-card>small { color: var(--muted); }.code-display { background: var(--surface-raised); color: var(--gold); border-color: var(--gold); border-radius: 5px; }
.import-file-label input::file-selector-button { background: var(--gold-surface); border-color: #73613D; color: var(--gold-hover); border-radius: 5px; }
.import-summary>span { background: var(--bg); color: var(--muted); border-color: var(--line); border-radius: 5px; }.import-summary strong { color: var(--ink); }.import-preview-title { color: var(--muted); }.import-preview-title strong { color: var(--ink); }.import-preview { border-color: var(--line); border-radius: 5px; }.import-preview .data-table th { background: #101215; }.import-loading { background: var(--gold-surface); color: var(--gold-hover); border-radius: 5px; }
.toast { background: var(--surface-raised); color: var(--ink); border-color: var(--control-line); border-radius: 6px; box-shadow: 0 12px 30px #00000060; }.toast>svg { color: var(--gold); }.toast button { color: var(--muted); }.toast-error { background: #361C1C; color: #EEB0A3; }
.preview-alert { background: #322817; border-color: #6B542B; color: #EBC777; }
.boot-loader { background: var(--bg); color: var(--gold); }.boot-loader p { color: var(--muted); }.loader-ring { border-color: var(--line); border-top-color: var(--gold); }
.sidebar .mobile-close,.muted,.topbar-date { color: var(--muted); }
.data-table { font-variant-numeric: tabular-nums; }
/* Both headline lines scale to their text column, including at narrow grid widths. */
.marketing .hero .hero-title { font-size: clamp(27px,3.8vw,61px); line-height: 1.08; letter-spacing: -.035em; overflow-wrap: normal; }
.marketing .hero .hero-title-line { display: block; max-width: 100%; color: var(--ink); }
.marketing .hero .hero-title-accent { color: var(--gold); }
@supports (font-size: 1cqi) {
  .hero-left { container-type: inline-size; }
  .marketing .hero .hero-title { font-size: clamp(27px,9.6cqi,61px); }
}
@media(max-width:1000px) { .sidebar-logo .brand-wordmark { width: 160px; } }
@media(max-width:780px) { .sidebar-logo .brand-wordmark { width: 183px; } }
@media(max-width:545px) { .marketing-header .brand-wordmark { width: 157px; } }

@media (min-width:1450px) { .hero h1 { font-size: 70px; } }
@media (max-width:1190px) { .hero h1 { font-size: 49px; }.hero { gap: 28px; }.insights-main { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); }.topbar-left>span { max-width: 130px; } }
@media (max-width:1000px) { .hero h1 { font-size: 42px; }.insights-main,.insights-secondary { grid-template-columns: 1fr; }.topbar-right { gap: 8px; }.topbar-left>span { display: none; }.sidebar-logo .brand { font-size: 18px; }.sidebar-logo .brand-icon { width: 30px; height: 30px; }.sidebar-nav { gap: 10px; } }
@media (max-width:780px) { .hero { padding-top: 52px; padding-bottom: 42px; }.hero h1 { font-size: clamp(39px,7.6vw,61px); }.hero-visual:before { inset: 12px -8px -12px 8px; }.marketing-section { padding-top: 62px; padding-bottom: 62px; }.marketing-header .brand { font-size: 22px; }.sidebar-logo .brand { font-size: 21px; }.sidebar-logo .brand-icon { width: 34px; height: 34px; }.sidebar { box-shadow: 10px 0 40px #00000080; }.sidebar-scrim.visible { background: #00000099; }.topbar-quick { min-height: 34px; padding: 7px 10px; }.topbar-right .pill { font-size: 9px; }.insights-period small { width: 100%; margin-left: 0; }.insights-chart-card,.insights-breakdown-card,.quiet-members-card { padding: 20px; } }
@media (max-width:545px) { .marketing-header .brand { font-size: 18px; gap: 7px; }.marketing-header .brand-icon { width: 31px; height: 31px; }.hero h1 { font-size: clamp(35px,9vw,48px); }.hero-desc { font-size: 15px; }.tour-logo img { width: 23px; height: 23px; }.feature-card h3,.feature-members h3 { font-size: 24px; }.topbar-right .pill { display: none; }.topbar-quick { font-size: 10px; gap: 4px; }.stat-change { font-size: 10px; }.stat-card>strong,.finance-stats .stat-card>strong { font-size: 24px; }.chart-caption { font-size: 10px; }.page-heading-action .report-period { flex: 1 1 100%; justify-content: space-between; }.segmented { align-self: stretch; }.segmented button { flex: 1; white-space: nowrap; padding: 8px 9px; font-size: 11px; }.table-actions { gap: 5px; }.record-health { padding: 18px; }.record-health .btn { width: 100%; }.insights-main,.insights-secondary { gap: 14px; }.insights-chart-card,.insights-breakdown-card,.quiet-members-card { padding: 16px; }.metric-definitions summary { padding: 15px; font-size: 11px; }.metric-definitions>div { padding: 0 15px 15px; }.insights-period { gap: 8px; font-size: 11px; } }
@media print { :root { color-scheme: light; --ink: #0B0D0F; --muted: #454A53; --surface: #FFFFFF; --surface-raised: #FFFFFF; --bg: #FFFFFF; --line: #AEB3BA; --gold: #72541D; --gold-surface: #FFFFFF; } body { background: white; color: #0B0D0F; }.metric-definitions,.record-health { break-inside: avoid; }.topbar-quick,.chart-caption .inline-link,.metric-definitions summary>svg { display: none!important; }.surface-card,.metric-definitions,.record-health { box-shadow: none; }.brand { color: #0B0D0F; } }
