/* Shared semantic surfaces; accent palettes have separately tested light/dark values. */
.master-client-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}.master-client-card{min-width:0}.master-client-card .profile-contact{margin-top:14px}.master-client-card .spaced-actions{flex-wrap:wrap;margin-top:16px}.master-client-card h2{font-size:20px;overflow-wrap:anywhere}.master-client-memberships{margin-top:12px;line-height:1.7}.master-client-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:20px 0}.master-client-search .form-error{grid-column:1/-1;grid-row:2}.master-client-search .button{grid-column:2;grid-row:1}.delete-impact{border-bottom:1px solid var(--line);padding:12px 0}.delete-impact p{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.6}
@media(max-width:720px){.master-client-list{grid-template-columns:1fr}.master-client-card .spaced-actions .button{flex:1}.master-client-search{grid-template-columns:1fr}.master-client-search .button{grid-column:1;grid-row:2}.master-client-search .form-error{grid-row:3}}
.wallet-balance{display:flex;flex-direction:column;gap:4px;margin:20px 0}.wallet-balance>strong{font-size:36px;line-height:1.25;letter-spacing:-1px}.wallet-balance>span{color:var(--muted);font-size:13px}.wallet-balance.debt>strong{color:var(--red)}.wallet-balance.compact{margin:0 0 0 auto;text-align:right;flex-shrink:0}.wallet-balance.compact>strong{font-size:17px;letter-spacing:0}.wallet-balance.compact>span{font-size:11px}.legacy-balance{font-size:11px;color:var(--amber);max-width:230px;line-height:1.5}.training-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.group-slot{min-width:0}.group-slot>.card-top{gap:12px;align-items:start}.group-slot>.card-top strong{font-size:21px}.group-slot .badge{white-space:normal}.group-slot .small-text{margin-top:7px;line-height:1.6}.group-participant{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.group-participant p{margin-top:7px}.group-participant .spaced-actions{flex-shrink:0}.group-participant:has(.cancellation){border-left:3px solid var(--red);padding-left:12px}.ledger-row .delta{white-space:normal;text-align:right;max-width:145px}.wallet-balance+ .client-actions{margin-top:14px}
@media(max-width:480px){.wallet-balance>strong{font-size:30px}.wallet-balance.compact>strong{font-size:15px}.client-card{gap:9px}.client-card .avatar{width:32px;height:32px}.client-card>.icon{display:none}.client-card .row-main{min-width:0}.client-card .row-main strong{overflow-wrap:anywhere}.training-prices{grid-template-columns:1fr}.group-participant{align-items:flex-start}.group-participant .spaced-actions{flex-wrap:wrap;justify-content:flex-end}.group-slot .card-top{flex-wrap:wrap}}
.directory-result+.directory-result{margin-top:12px}.directory-result p{overflow-wrap:anywhere}
:root{color-scheme:light;--bg:#f6f7f9;--paper:#ffffff;--ink:#1b2430;--muted:#586575;--line:#d3dae3;--input-border:#8794a5;--red:#a42c3a;--red-soft:#fce7eb;--red-border:#c57883;--on-red:#ffffff;--amber:#795500;--amber-soft:#fff0cc;--amber-border:#b39148;--completed:#405d82;--completed-soft:#eaf0f8;--shadow:0 16px 45px #17283b0a;--green:var(--accent);--green-dark:var(--accent-hover);--green-soft:var(--accent-soft)}
:root[data-theme="dark"]{color-scheme:dark;--bg:#0f141c;--paper:#19212d;--ink:#edf2fa;--muted:#a9b5c6;--line:#354154;--input-border:#78889d;--red:#ffabb5;--red-soft:#49242d;--red-border:#ab6c78;--on-red:#43101b;--amber:#e8c67b;--amber-soft:#40351e;--amber-border:#a08345;--completed:#b4cae8;--completed-soft:#25374c;--shadow:0 16px 45px #00000022}
:root,[data-palette="green"]{--accent:#146043;--accent-hover:#0d4b33;--accent-soft:#e1f2e9;--on-accent:#ffffff}
[data-theme="dark"][data-palette="green"],[data-theme="dark"] [data-palette="green"]{--accent:#88ddb7;--accent-hover:#a4ebca;--accent-soft:#173b30;--on-accent:#0d3023}
[data-palette="blue"]{--accent:#1b4fc4;--accent-hover:#123d9f;--accent-soft:#e7eeff;--on-accent:#ffffff}
[data-theme="dark"][data-palette="blue"],[data-theme="dark"] [data-palette="blue"]{--accent:#a4c3ff;--accent-hover:#c0d5ff;--accent-soft:#1c3156;--on-accent:#0b254f}
[data-palette="yellow"]{--accent:#725500;--accent-hover:#594100;--accent-soft:#fff1c1;--on-accent:#ffffff}
[data-theme="dark"][data-palette="yellow"],[data-theme="dark"] [data-palette="yellow"]{--accent:#f4d37c;--accent-hover:#ffe5a3;--accent-soft:#40341b;--on-accent:#362700}
[data-palette="red"]{--accent:#a52b3b;--accent-hover:#872132;--accent-soft:#ffe8ec;--on-accent:#ffffff}
[data-theme="dark"][data-palette="red"],[data-theme="dark"] [data-palette="red"]{--accent:#ffabb5;--accent-hover:#ffc6cd;--accent-soft:#492630;--on-accent:#4b1220}
[data-palette="mono"]{--accent:#303642;--accent-hover:#1d232e;--accent-soft:#e9edf2;--on-accent:#ffffff}
[data-theme="dark"][data-palette="mono"],[data-theme="dark"] [data-palette="mono"]{--accent:#d5dde8;--accent-hover:#edf2fa;--accent-soft:#333e4d;--on-accent:#19212d}
[data-palette="purple"]{--accent:#6436ad;--accent-hover:#4d268d;--accent-soft:#f1e8ff;--on-accent:#ffffff}
[data-theme="dark"][data-palette="purple"],[data-theme="dark"] [data-palette="purple"]{--accent:#d2b4ff;--accent-hover:#e3ceff;--accent-soft:#3c2851;--on-accent:#32124f}

body{background:var(--bg);color:var(--ink)}
.inactive,.ledger-row.voided{opacity:1}.trainer-tile>svg{color:var(--accent)}.ledger-row.voided .row-main{color:var(--muted)}
.button,.brand-icon,.loading-mark,.nav-count{color:var(--on-accent)}.button.secondary,.badge,.empty-icon,.text-button,.card-link,.balance-number{color:var(--accent)}
.button.secondary:hover{background:var(--accent-soft);filter:brightness(.96)}.button.outline{color:var(--ink)}
.icon-button,.row-card,.day-button,.search-wrap input,.filter-row select,.auth-card,.trainer-tile,input,select,textarea{background:var(--paper);color:var(--ink)}
input,select,textarea{border-color:var(--input-border)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline-color:var(--accent)}
.avatar{position:relative;overflow:hidden;background:var(--accent-soft);color:var(--accent)}.avatar-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar.lg{width:80px;height:80px;font-size:26px}
.badge.cancelled,.badge.rejected{background:var(--bg);color:var(--muted)}.badge.completed{background:var(--completed-soft);color:var(--completed)}
.notice{border-color:var(--line)}.notice.warning{border-color:var(--amber-border)}.day-button.active,.day-button.active strong{color:var(--on-accent)}.day-button.active .day-dot{background:var(--on-accent)}.day-dot,.status-dot{background:var(--accent)}.day-button.today:not(.active){border-color:var(--accent)}
.mobile-nav{background:var(--paper)}.toast{background:var(--ink);color:var(--paper)}.toast.error{background:var(--red);color:var(--on-red)}
.cancellation-alert,.cancellation-request{background:var(--red-soft);border-color:var(--red-border)}.cancellation-row{border-color:var(--red-border)}.notice.cancellation-notice{border-color:var(--red-border)}.nav-count.cancellation-count{color:var(--on-red)}
.trainer-tile:hover,.client-card:hover{border-color:var(--accent)}.trainer-tile:hover{background:var(--accent-soft)}
.profile-panels{display:grid;gap:22px;max-width:650px}.profile-panels>.account-card{max-width:none}.profile-contact{display:grid;gap:9px;margin-top:18px}.profile-contact a{overflow-wrap:anywhere;font-size:13px}.contact-empty{font-size:12px;color:var(--muted)}
.theme-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.choice-button{min-height:46px;border:1px solid var(--input-border);border-radius:12px;background:var(--paper);color:var(--ink);padding:10px 15px;font-size:13px;display:flex;align-items:center;gap:9px}.choice-button[aria-pressed="true"]{border:2px solid var(--accent);background:var(--accent-soft);padding:9px 14px;color:var(--accent)}.choice-button svg{width:18px;height:18px}
.palette-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:18px}.palette-choice{min-height:76px;border:1px solid var(--input-border);border-radius:13px;display:flex;align-items:center;gap:9px;background:var(--paper);color:var(--ink);padding:12px;font-size:12px;text-align:left}.palette-choice[aria-pressed="true"]{border:2px solid var(--accent);padding:11px;background:var(--accent-soft)}.palette-swatch{height:26px;width:26px;background:var(--accent);border-radius:50%;flex-shrink:0}.palette-choice svg{margin-left:auto;width:16px;height:16px;color:var(--accent)}
.page-mode-toggle{position:absolute;top:max(16px,env(safe-area-inset-top));right:22px;background:var(--paper);border-color:var(--line);color:var(--ink);border-radius:50%}.auth-shell{position:relative}.page-mode-toggle svg{height:19px;width:19px}
.photo-picker{border:1px dashed var(--input-border);border-radius:16px;padding:18px;background:var(--bg);outline-offset:3px}.photo-picker.photo-dragging{border:2px solid var(--accent);background:var(--accent-soft);padding:17px}.photo-picker[aria-busy="true"]{opacity:.65}.photo-picker-top{display:flex;align-items:center;gap:15px;margin-bottom:15px}.photo-picker-preview{width:80px;height:80px;border-radius:50%;object-fit:cover;background:var(--accent-soft)}.photo-picker-preview[hidden]{display:none}.photo-picker-label{font-size:13px;font-weight:600}.photo-picker-name{font-size:11px;color:var(--muted);overflow-wrap:anywhere;display:block;margin-top:4px}.photo-picker .spaced-actions{gap:8px}.photo-picker .button{font-size:12px;min-height:44px;padding:10px 12px}.photo-picker-hint{font-size:11px;color:var(--muted);line-height:1.7;margin-top:13px}.photo-error{color:var(--red);font-size:12px;margin-top:10px}.photo-error:empty{display:none}
.trainer-contact-card{margin-top:20px}.master-header .profile-button{gap:9px}.appearance-card h2{font-size:20px}.appearance-card>.muted{margin-top:8px;line-height:1.7}.profile-info-line{display:flex;align-items:center;gap:10px}
@media(max-width:720px){.auth-card{background:transparent}.profile-panels{gap:18px}.palette-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.palette-choice{min-height:64px}.theme-options{gap:8px}.choice-button{padding-left:11px;padding-right:11px;flex:1;justify-content:center;font-size:12px}.choice-button[aria-pressed="true"]{padding-left:10px;padding-right:10px}.photo-picker{padding:15px}.photo-picker.photo-dragging{padding:14px}.photo-picker .spaced-actions{display:grid;grid-template-columns:1fr 1fr}.photo-picker .text-button{grid-column:1 / -1}.page-mode-toggle{top:12px;right:16px}.master-header .spaced-actions{flex-wrap:wrap}.profile-contact a{font-size:12px}.master-header .profile-button .avatar{height:34px;width:34px}}

