:root{--bg:#f7f5f0;--surface:#fff;--border:#e6e1d6;--text:#141746;--text-muted:#5e5a6e;--accent:#6e5c40;--btn:#846f50;--on-btn:#fff;--bar:#2a2a2a;--scrim:#1417468c;--row-hover:#6e5c401a;--success:#2e7d5b;--on-success:#fff;--warning:#c98a2b;--on-warning:#141746;--error:#b3413a;--on-error:#fff;--card-face:#141746;--card-text:#fff;--card-accent:#ab9f87;--font-display:"Cinzel", Georgia, serif;--font-body:"Barlow", system-ui, sans-serif;--fs-display:22px;--fs-heading:18px;--fs-body:15px;--fs-amount:32px;--fs-caption:12px;--ls-caption:1.5px;--radius-card:16px;--radius-tile:10px;--radius-btn:8px;--touch:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141746;--surface:#212548;--border:#212548;--text:#fff;--text-muted:#ffffffbf;--accent:#ab9f87;--btn:#846f50;--on-btn:#fff;--bar:#2a2a2a;--scrim:#0009;--row-hover:#ab9f871a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#141746;--surface:#212548;--border:#212548;--text:#fff;--text-muted:#ffffffbf;--accent:#ab9f87;--btn:#846f50;--on-btn:#fff;--bar:#2a2a2a;--scrim:#0009;--row-hover:#ab9f871a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{background:var(--bg)}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);margin:0;line-height:1.45}h1,h2{margin:0}h1{font-family:var(--font-display);font-weight:400;font-size:var(--fs-display);letter-spacing:.06em;text-transform:uppercase}h2{font-size:var(--fs-heading);font-weight:600}a{color:var(--accent);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--text-muted)}.small{font-size:13px}.mono{font-family:ui-monospace,monospace;font-size:13px}.num,.money{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.caption{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:var(--ls-caption);color:var(--text-muted);font-weight:500;display:block}.wordmark{font-family:var(--font-display);letter-spacing:.18em;white-space:nowrap;font-size:15px}.boot{text-align:center;color:var(--text-muted);padding:48px 16px}.shell{grid-template:"side top""side main"1fr/240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--bar);color:var(--card-text);grid-area:side;padding:24px 0}.sidebar__brand{color:var(--card-accent);flex-direction:column;gap:4px;padding:0 24px 24px;display:flex}.sidebar__sub{font-size:var(--fs-caption);letter-spacing:var(--ls-caption);text-transform:uppercase;color:var(--card-text);opacity:.75}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar a{min-height:var(--touch);color:var(--card-text);border-left:3px solid #0000;align-items:center;padding:0 24px;text-decoration:none;display:flex}.sidebar a:hover{background:var(--row-hover)}.sidebar a.active{border-left-color:var(--card-accent);color:var(--card-accent);font-weight:600}.sidebar :focus-visible{outline-color:var(--card-accent)}.topbar{background:var(--surface);border-bottom:1px solid var(--border);grid-area:top;align-items:center;gap:12px;padding:10px 24px;display:flex}.topbar__brand{color:var(--accent);display:none}.topbar__right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.topbar__user{margin-right:8px;font-weight:600}.topbar .menu-btn{display:none}.content{grid-area:main;min-width:0;padding:24px}@media (width>=1440px){.content{padding:32px}}@media (width>=900px){.sidebar{align-self:start;height:100dvh;position:sticky;top:0;overflow-y:auto}.shell{background:linear-gradient(to right, var(--bar) 240px, transparent 240px);min-height:100dvh}.topbar{z-index:10;position:sticky;top:0}}@media (width<=899px){.shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"top""side""main"}.sidebar{padding:8px 0;display:none}.sidebar--open{display:block}.sidebar__brand{display:none}.topbar .menu-btn,.topbar__brand{display:inline-flex}.topbar{flex-wrap:wrap;padding:8px 16px}.topbar__right{justify-content:flex-start;width:100%;margin-left:0}.content{padding:16px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.section-title{margin:28px 0 12px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px}.crumb{color:var(--text-muted);margin:0 0 12px}.hint{min-height:1.4em;color:var(--text-muted);margin:6px 0 12px;font-size:13px}.note{border-radius:var(--radius-btn);justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;display:flex}.note--error{background:var(--error);color:var(--on-error)}.flag{color:color-mix(in srgb, var(--error) 60%, var(--text));font-weight:600}.empty{text-align:center;color:var(--text-muted);padding:24px}.btn{min-height:var(--touch);border-radius:var(--radius-btn);font:inherit;cursor:pointer;color:var(--text);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 18px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--btn);color:var(--on-btn)}.btn--ghost{border-color:var(--accent);color:var(--text)}.btn--ghost:hover:not(:disabled){background:var(--row-hover)}.btn--danger{background:var(--error);color:var(--on-error)}.btn--small{min-height:36px;padding:0 12px;font-size:14px}input{font:inherit;min-height:var(--touch);color:var(--text);background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-btn);width:100%;padding:0 12px}input[type=date]{color-scheme:inherit;font-variant-numeric:tabular-nums}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}input::placeholder{color:var(--text-muted)}label,.field{display:block}.field>.caption{margin-bottom:4px}.select{position:relative}.select__trigger{width:100%;min-height:var(--touch);font:inherit;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-btn);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:flex}.select__value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.select__chevron{color:var(--accent);flex:none}.select__trigger[aria-expanded=true] .select__chevron{transform:rotate(180deg)}.select__list{z-index:20;background:var(--surface);width:max-content;min-width:100%;max-width:min(360px,90vw);max-height:320px;color:var(--text);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:var(--radius-tile);box-shadow:0 8px 24px var(--scrim);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.select__list--above{top:auto;bottom:calc(100% + 4px)}.select__list:focus{outline:none}.select__list:focus-visible{outline:2px solid var(--accent);outline-offset:0}.select__option{border-radius:var(--radius-btn);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;min-height:36px;padding:0 12px 0 8px;display:flex}.select__option--active{background:var(--row-hover)}.select__option:active{background:color-mix(in srgb, var(--accent) 24%, transparent)}.select__check{color:var(--accent);visibility:hidden;flex:none}.select__option[aria-selected=true]{font-weight:600}.select__option[aria-selected=true] .select__check{visibility:visible}label .caption{margin-bottom:4px}.toolbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.search{flex:280px;max-width:420px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--accent);min-height:36px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:0 14px}.chip--on{background:var(--btn);border-color:var(--btn);color:var(--on-btn)}.filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:12px;margin-bottom:16px;display:grid}.load-more{justify-content:center;padding:16px 0;display:flex}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-tile);overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 14px}.table thead th{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:var(--ls-caption);color:var(--text-muted);white-space:nowrap;font-weight:500}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--row-hover)}.table .num{text-align:right}.table .actions-col{text-align:right;white-space:nowrap;width:1%}.money--credit{color:var(--success);font-weight:600}.badge{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.06em;border:1px solid #0000;border-radius:999px;padding:2px 10px;font-weight:500;display:inline-block}.badge--success{background:var(--success);color:var(--on-success)}.badge--warning{background:var(--warning);color:var(--on-warning)}.badge--error{background:var(--error);color:var(--on-error)}.badge--neutral{border-color:var(--text-muted);color:var(--text-muted)}.inline-list{flex-wrap:wrap;gap:2px 12px;margin:0;padding:0;list-style:none;display:flex}.chart{margin:0}.chart__legend{color:var(--text-muted);flex-wrap:wrap;gap:20px;margin-bottom:8px;font-size:14px;display:flex}.legend-item{align-items:center;gap:8px;display:inline-flex}.swatch{width:14px;height:14px;display:inline-block}.swatch--bar{background:var(--accent);border-radius:3px}.swatch--line{background:var(--success);height:3px}.chart__plot{width:100%;overflow:hidden}.chart svg{display:block}.chart .grid{stroke:var(--border);stroke-width:1px}.chart .axis{fill:var(--text-muted);font-size:12px;font-family:var(--font-body)}.chart .bar{fill:var(--accent)}.chart .line{stroke:var(--success);stroke-width:3px;stroke-linejoin:round}.chart .dot{fill:var(--surface);stroke:var(--success);stroke-width:2.5px}.chart__table{margin-top:12px}.chart__table summary{cursor:pointer;color:var(--accent);min-height:32px}.chart__table .table th,.chart__table .table td{padding:6px 10px}.member-head{align-items:flex-start;gap:24px;display:flex}.member-head__main{flex:1;min-width:0}.member-head__main p{margin:0 0 12px}.avatar{border-radius:var(--radius-tile);object-fit:cover;flex:none;width:96px;height:96px}.avatar--initials{background:var(--card-face);color:var(--card-accent);font-family:var(--font-display);place-items:center;font-size:32px;display:grid}.facts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin:0;display:grid}.facts dd{overflow-wrap:anywhere;margin:4px 0 0}@media (width<=599px){.member-head{flex-direction:column}}.feature-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-tile);max-width:560px;margin:16px 0 0;padding:0;list-style:none}.feature{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:6px 16px;display:flex}.feature:last-child{border-bottom:none}.switch{border:1px solid var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;flex:none;width:52px;height:30px;padding:0;position:relative}.switch__knob{background:var(--text-muted);border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch[aria-checked=true]{background:var(--success);border-color:var(--success)}.switch[aria-checked=true] .switch__knob{background:var(--on-success);transform:translate(22px)}@media (prefers-reduced-motion:reduce){.switch__knob{transition:none}}.modal-backdrop{background:var(--scrim);z-index:50;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(440px,100%);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-card);padding:24px}.modal__body{color:var(--text-muted);margin:12px 0 20px}.modal__actions{justify-content:flex-end;gap:12px;display:flex}.login{background:var(--card-face);place-items:center;min-height:100vh;padding:16px;display:grid;position:relative}.login__theme{color:var(--card-text);position:absolute;top:16px;right:16px}.login__card{background:var(--surface);border:1px solid var(--card-accent);border-radius:var(--radius-card);gap:16px;width:min(400px,100%);padding:28px;display:grid}.login__card .wordmark{color:var(--accent);text-align:center}.login__card h1{text-align:center;font-size:18px}.table td>.muted.num{text-align:left}.audit-filter{max-width:280px;margin-bottom:16px}.tnum{font-variant-numeric:tabular-nums}.chart__plot{touch-action:pan-y;border-radius:var(--radius-tile);position:relative}.chart .hit{fill:#0000;cursor:crosshair}.chart .guide{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:4 3}.chart--active .bar:not(.bar--active){opacity:.45}.chart .bar--active{fill:var(--btn)}.chart .dot--active{fill:var(--success);stroke:var(--surface)}.chart__tip{z-index:5;pointer-events:none;background:var(--surface);color:var(--text);border:1px solid var(--accent);border-radius:var(--radius-tile);box-shadow:0 6px 20px var(--scrim);padding:10px 12px;font-size:13px;position:absolute;top:14px}.chart__tip-title{margin-bottom:6px;font-size:14px;display:block}.chart__tip dl{gap:4px;margin:0;display:grid}.chart__tip dl>div{justify-content:space-between;gap:12px;display:flex}.chart__tip dt{color:var(--text-muted)}.chart__tip dd{text-align:right;margin:0}.dash-row{align-items:stretch;gap:16px;margin-top:16px;display:grid}.dash-row--wide{grid-template-columns:minmax(0,2fr) minmax(0,1fr);margin-top:28px}.dash-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-row--two{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=1099px){.dash-row--wide,.dash-row--three,.dash-row--two{grid-template-columns:minmax(0,1fr)}}.card{min-width:0;padding:16px 20px 20px}.card__title{margin:0 0 12px}.subhead{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:var(--ls-caption);color:var(--text-muted);margin:0 0 8px;font-weight:500}.empty{margin:8px 0}.tag{border:1px solid var(--border);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);vertical-align:1px;border-radius:4px;margin-left:4px;padding:0 6px;display:inline-block}.hbars{gap:14px;margin:0;padding:0;list-style:none;display:grid}.hbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label label""track value";align-items:center;gap:4px 12px;display:grid}.hbar--share{grid-template-areas:"label value""track track";align-items:start}.visit__note{margin:12px 0 0}.hbar--spend{grid-template-areas:"label value""track track";align-items:start}.hbar__label{grid-area:label}.hbar__track{background:color-mix(in srgb, var(--text-muted) 16%, transparent);border-radius:999px;grid-area:track;height:10px;display:block;overflow:hidden}.hbar__fill{background:var(--accent);border-radius:999px;height:100%;display:block}.hbar__value{text-align:right;grid-area:value;font-weight:600}.hbar__sub{color:var(--text-muted);font-size:13px;font-weight:400;display:block}.heat__legend{align-items:center;gap:4px;font-size:13px}.heat__legend .legend-item:first-child{margin-right:4px}.heat__legend .legend-item:last-child{margin-left:4px}.heat__swatch{border-radius:3px;width:16px;height:16px;display:inline-block}.heat__grid{gap:3px;display:grid}.heat__row{grid-template-columns:52px repeat(var(--heat-cols), minmax(0, 1fr));align-items:center;gap:3px;display:grid}.heat__row--head{height:18px}.heat__hour{color:var(--text-muted);white-space:nowrap;font-size:11px;line-height:1}.heat__day{color:var(--text-muted);white-space:nowrap;font-size:13px}.heat__cell{cursor:default;border-radius:3px;height:22px}.heat__cell:focus-visible{outline:2px solid var(--text);outline-offset:1px}.heat__cell--l0{background:color-mix(in srgb, var(--text-muted) 12%, transparent)}.heat__cell--l1{background:color-mix(in srgb, var(--accent) 20%, transparent)}.heat__cell--l2{background:color-mix(in srgb, var(--accent) 40%, transparent)}.heat__cell--l3{background:color-mix(in srgb, var(--accent) 60%, transparent)}.heat__cell--l4{background:color-mix(in srgb, var(--accent) 80%, transparent)}.heat__cell--l5{background:var(--accent)}.heat__plot{overflow:visible}.heat .chart__tip{top:auto}.heat .table-wrap{overflow-x:auto}.feed{margin:0;padding:0;list-style:none}.feed__item{border-bottom:1px solid var(--border);border-radius:var(--radius-btn);margin:0 -8px;padding:8px}.feed__item:last-child{border-bottom:none}.feed__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.feed__member{overflow-wrap:anywhere;min-width:0;font-weight:600}.feed__meta{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:0 6px;font-size:14px;display:flex}.feed__reason{color:var(--error)}.feed__amount{color:var(--text);margin-left:auto}@keyframes feed-in{0%{opacity:0;background:color-mix(in srgb, var(--accent) 35%, transparent)}to{opacity:1;background:0 0}}@media (prefers-reduced-motion:no-preference){.feed__item--new{animation:2.4s ease-out feed-in}}.attention,.club{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.mini{margin:0;padding:0;list-style:none}.mini__row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:4px 10px;padding:8px 0;display:grid}.mini__row--low{grid-template-columns:minmax(0,1fr) auto}.mini__name{overflow-wrap:anywhere}@media (width<=520px){.mini__row:not(.mini__row--low){grid-template-columns:auto minmax(0,1fr) auto}.mini__row:not(.mini__row--low) .mini__name{grid-column:1/-1}}.mini__date{white-space:nowrap;font-size:14px}.mini__amount{text-align:right;white-space:nowrap}.more{margin:8px 0 0;font-size:14px}.club__row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name value""bar bar";gap:4px 12px;padding:8px 0;display:grid}.club__row--dining{grid-template-areas:"name value"}.club__name{grid-area:name}.club__value{text-align:right;color:var(--text-muted);grid-area:value}.progress{background:color-mix(in srgb, var(--text-muted) 16%, transparent);border-radius:999px;grid-area:bar;height:8px;display:block;overflow:hidden}.progress__fill{background:var(--accent);border-radius:999px;height:100%;display:block}.club__total{margin:10px 0 0}.dash-row--wide+.dash-row--wide{margin-top:16px}.dash-row--top{align-items:start}@media (width>=700px){.hbar--inline{grid-template-columns:minmax(150px,38%) minmax(0,1fr) auto;grid-template-areas:"label track value";align-items:center}.hbars:has(.hbar--inline){gap:10px}}.tabs{flex-wrap:wrap;gap:8px;margin:0 0 20px;display:flex}.tab{min-width:96px}.tabpanel:focus-visible{outline-offset:4px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kpis--three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=1099px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis--three{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=699px){.kpis--three{grid-template-columns:minmax(0,1fr)}}@media (width<=479px){.kpis{grid-template-columns:minmax(0,1fr)}}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-tile);min-width:0;padding:18px 20px}.kpi__value{overflow-wrap:anywhere;margin:6px 0 8px;font-size:44px;font-weight:600;line-height:1.1}.kpi__sub{color:var(--text-muted);font-size:14px}.kpi__none{color:var(--text-muted);font-size:24px;font-weight:500;display:inline-block}@media (width<=1299px){.kpi__value{font-size:36px}}.strip{flex-wrap:wrap;align-items:stretch;gap:12px 40px;margin-top:12px;padding:12px 20px;display:flex}.strip__item{min-width:0;color:inherit;flex-direction:column;gap:4px;font-size:14px;text-decoration:none;display:flex}a.strip__item:hover .strip__value{text-decoration:underline}.strip__item--members{flex:340px}.strip__main{align-items:center;gap:14px;display:flex}.strip__value{font-size:24px;font-weight:600;line-height:1.2}.status-counts{color:var(--text-muted);font-size:14px}.status-counts strong{color:var(--text)}.members-total{margin:0 0 12px}.statusbar{border-radius:999px;flex:120px;gap:2px;min-width:80px;height:10px;display:flex;overflow:hidden}.statusbar--large{max-width:none;height:16px;margin-bottom:12px}.statusbar__seg{flex-basis:0}.statusbar__seg--active,.sdot--active{background:var(--success)}.statusbar__seg--due,.sdot--due{background:var(--warning)}.statusbar__seg--expired,.sdot--expired{background:var(--text-muted)}.statusbar__seg--suspended,.sdot--suspended{background:var(--error)}.sdot{border-radius:50%;width:8px;height:8px;display:inline-block}.dash-row--first{margin-top:0}.kpis+.dash-row,.strip+.dash-row{margin-top:16px}.swatch--bar2{background:var(--success);border-radius:3px}.chart .bar--b{fill:var(--success)}.chart .bar--b.bar--active{fill:color-mix(in srgb, var(--success) 70%, var(--text))}.kpis--three+.dash-row{margin-top:16px}
