/* Account and membership controls use the existing Fit Max surfaces. */
.account-main { max-width:820px; padding-block:22px; overflow-wrap:anywhere; }
.account-main h1 { font-size:clamp(24px,4vw,40px); }
.account-main .dash-panel,.account-main details { margin-block:10px; }
.account-main form { display:grid; gap:8px; margin-block:10px; }
.account-main label { display:block; }
.account-main :is(input:not([type=checkbox]),select,textarea) { display:block;width:100%;min-height:44px; }
.account-main textarea { font:inherit;background:var(--bg);color:var(--ink);border:1px solid var(--frame);border-radius:7px;padding:7px; }
.account-main label .button { margin-top:4px; }
.account-main [aria-invalid=true] { border-color:var(--accent); }
.account-main [data-error]:not(:empty) { color:var(--accent); }
.account-main button { justify-self:start; }
.account-main dialog form { display:flex; flex-wrap:wrap; }
.account-main summary { cursor:pointer; }
#dashboard-membership { overflow-wrap:anywhere;max-width:min(100%,50ch); }
#dashboard-account { font-size:.8rem; }
#plan-continue { margin-block:8px; }

.consult-row,.consult-message{border:1px solid var(--frame);border-radius:9px;padding:10px;margin-block:8px;overflow-wrap:anywhere}
.consult-row :is(a,button){display:inline-flex;align-items:center;min-height:44px;margin-inline-end:8px}
.consult-message{max-width:90%;background:var(--surface)}.consult-message.from-coach{margin-inline-start:auto;background:var(--raised)}
.consult-message p{white-space:pre-wrap;overflow-wrap:anywhere}.consultation-main [data-notice-count]{color:var(--accent)}
#consult-actions .button{margin-block:7px} #consult-actions label{margin-top:7px}
.fm-tools [data-notice-count]:not(:empty),.dash-controls [data-notice-count]:not(:empty),.dash-controls [data-message-count]:not(:empty){position:absolute;inset-block-start:0;inset-inline-end:0;background:var(--accent);color:var(--bg);border-radius:10px;padding:0 4px;font-size:10px}
.fm-tools a,.dash-controls a{position:relative}
@media(max-width:560px){.consult-message{max-width:100%}}

.attendance-main canvas,#dashboard-attendance canvas{display:block;width:min(100%,264px);height:auto;background:#fff;border:4px solid #fff}
.attendance-camera-frame{position:relative;width:min(100%,560px);aspect-ratio:4/3;background:var(--bg);overflow:hidden;border:1px solid var(--frame);border-radius:9px}
.attendance-camera-frame::after{content:'';position:absolute;inset:18%;border:2px solid var(--accent);pointer-events:none}
.attendance-camera-frame video{width:100%;height:100%;object-fit:contain}
.attendance-main #attendance-stats progress{width:min(100%,450px)}
.attendance-main section>.button{margin-block:6px}
