:root{--ink:#1b1b1f;--muted:#4a4a55;--accent:#1d4ed8;--accent-ink:#fff;--error:#b42318;--line:#d0d0d7;--surface:#fff;--tint:#f3f4f8;color:var(--ink);background:var(--surface);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}.shell-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.shell-header nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem 1rem;display:flex}.shell-brand{color:var(--ink);font-weight:700;text-decoration:none}.shell-main{max-width:48rem;margin:0 auto;padding:1rem}.narrow{max-width:32rem}label{margin-top:.75rem;font-weight:600;display:block}input,textarea{width:100%;font:inherit;border:1px solid var(--muted);border-radius:.25rem;padding:.5rem}input[type=checkbox],input[type=radio]{width:auto;margin-right:.5rem}.choice{align-items:center;font-weight:400;display:flex}button,.button{font:inherit;border:1px solid var(--accent);background:var(--surface);color:var(--accent);cursor:pointer;border-radius:.25rem;padding:.5rem 1rem;text-decoration:none;display:inline-block}.primary{background:var(--accent);color:var(--accent-ink)}.link-button{border:none;padding:0;text-decoration:underline}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.hint{color:var(--muted);margin:.25rem 0}.field-error,[role=alert]{color:var(--error)}.banner{background:var(--tint);border-left:4px solid var(--accent);margin:0;padding:.75rem 1rem}.description{white-space:pre-line}.list{padding:0;list-style:none}.card{border:1px solid var(--line);border-radius:.5rem;margin-bottom:1rem;padding:1rem}.actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.status{letter-spacing:.05em;font-weight:700}.dialog{border:2px solid var(--ink);background:var(--surface);border-radius:.5rem;margin-top:1rem;padding:1rem}fieldset{border:1px solid var(--line);margin-top:1rem}.shell-footer{border-top:1px solid var(--line);text-align:center;padding:1rem}select{font:inherit;border:1px solid var(--muted);border-radius:.25rem;max-width:100%;padding:.5rem}.coach-photo{object-fit:cover;border-radius:50%;width:10rem;height:10rem;margin:.5rem 0;display:block}.photo-alt{color:var(--muted);margin:.5rem 0;display:block}.coach-list{padding:0;list-style:none}.coach-list .coach-photo{width:4rem;height:4rem}.bio-summary{color:var(--muted);overflow-wrap:anywhere}.field{margin-top:.75rem}.field.checkbox{align-items:center;display:flex}.field.checkbox label{margin-top:0;font-weight:400}[role=tab][aria-selected=true]{background:var(--accent);color:var(--accent-ink)}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll table{border-collapse:collapse;min-width:100%}.table-scroll th,.table-scroll td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:.5rem}
