
:root { --coach-accent:#125943; --coach-on-accent:#fff; }
.coach-password { position:relative; display:block; width:100%; }
.fitnessera-signin-logo { display:flex; justify-content:center; padding:8px; }
.fitnessera-signin-logo img { width:160px; max-width:55vw; height:auto; }
.coach-password > input { padding-right:48px!important; }
.coach-password-toggle { position:absolute; right:3px; top:3px; bottom:3px; width:40px; border:0; background:transparent; color:var(--muted); cursor:pointer; display:grid; place-items:center; border-radius:5px; }
.coach-password-toggle svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; }
.coach-password-toggle:focus-visible { outline:2px solid var(--coach-accent); }
.coach-survey-share-options { border:0!important; padding:0!important; margin:0!important; }
.coach-survey-share-options > summary { font-size:.82rem; font-weight:500!important; color:var(--muted); cursor:pointer; }
.coach-survey-share-options[open] { display:grid; gap:8px; }
.coach-survey-share-options small { display:block; max-width:270px; color:var(--muted); }
.coach-activity-list { list-style:none; margin:0; padding:0; display:grid; gap:5px; }
.coach-activity-list li { display:flex; align-items:center; gap:10px; border-left:3px solid transparent; border-bottom:1px solid var(--line); padding:5px 8px; }
.coach-activity-list li.is-unread { border-left-color:var(--coach-accent); background:#f1f7f4; }
.coach-activity-list li[data-activity-kind="appointment"] { border-left-color:#45749b; }
.coach-activity-list .studio-button { flex:1; text-align:left; justify-content:flex-start; background:transparent; border:0; font-size:.85rem; }
.coach-activity-list time { font-size:.76rem; color:var(--muted); white-space:nowrap; }
.coach-subscription-stack { display:grid; gap:10px; }
.coach-subscription-card { border:1px solid #c8dcd0; border-left:4px solid #3d7e59; border-radius:8px; background:#f0f7f2; padding:16px; }
.coach-subscription-card[data-subscription-state="expired"] { border-color:#e5c2bd; border-left-color:#a74a40; background:#fff4f2; }
.coach-subscription-card[data-subscription-state="ended"], .coach-subscription-card[data-subscription-state="cancelled"] { border-color:var(--line); border-left-color:#84909a; background:#f6f7f8; }
.coach-subscription-card[data-subscription-state="upcoming"] { border-left-color:#6a83a4; background:#f1f5fa; }
.coach-subscription-card header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.coach-subscription-card h4 { font-size:.96rem; margin:0; }
.coach-subscription-card header span { font-size:.76rem; font-weight:650; }
.coach-subscription-card p { color:var(--muted); font-size:.83rem; margin:7px 0; }
.coach-subscription-values { display:flex; flex-wrap:wrap; gap:12px 30px; font-size:.82rem; }
.coach-subscription-values strong { display:block; color:var(--ink); font-size:1rem; margin-top:4px; }
.coach-subscription-card details { border:0!important; padding:8px 0 0!important; font-size:.8rem; }
.coach-header .studio-header-inner { padding-block:14px; }
.coach-logo { width:46px; height:46px; object-fit:contain; border-radius:10px; background:#fff; }
.coach-account { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.9rem; }
.coach-account button { color:#fff; border-color:#78959a; }
.coach-account button:hover:not(:disabled) { background:#28545d; }
.coach-nav { max-width:1360px; margin:0 auto; padding:0 clamp(16px,3.5vw,46px) 12px; }
.coach-nav .studio-button { min-height:38px; }
.studio-button.primary { background:var(--coach-accent); border-color:var(--coach-accent); color:var(--coach-on-accent); }
.studio-button.primary:hover:not(:disabled) { background:var(--coach-accent); filter:brightness(.92); }
.coach-page { grid-template-columns:minmax(0,1fr); gap:16px; max-width:1160px; }
.coach-signin { max-width:720px; }
.coach-global { max-width:1360px; margin:auto; padding-inline:clamp(16px,3.5vw,46px); }
.coach-global .studio-status:not(:empty) { margin-top:12px; }
.coach-banner {
  display:grid; gap:7px; background:#e6f1ed; border:1px solid #c5dcd3; border-radius:20px;
  padding:clamp(18px,3vw,35px); overflow-wrap:anywhere;
}
.coach-banner > p:last-child { color:var(--muted); }
.coach-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.coach-stat {
  display:grid; gap:5px; text-align:left; background:#fff; border:1px solid var(--line);
  border-radius:16px; padding:15px; color:var(--ink); font:inherit; cursor:pointer;
}
.coach-stat:hover { border-color:var(--coach-accent); }
.coach-stat strong { font-size:1.85rem; line-height:1; }
.coach-stat span { font-weight:720; }
.coach-stat small,.coach-list small { color:var(--muted); }
.coach-deadlines { display:grid; gap:7px; margin-block:0; padding:0; list-style:none; }
.coach-deadline {
  --deadline-ink:#14604f; --deadline-bg:#e3f5ec;
  display:grid; grid-template-columns:7rem 7.5rem minmax(0,1fr) auto; align-items:center; gap:.7rem;
  width:100%; padding:.7rem .85rem; text-align:left; font:inherit; color:var(--ink);
  background:#fff; border:1px solid var(--line); border-inline-start:4px solid var(--deadline-ink); border-radius:12px; cursor:pointer;
}
.coach-deadline[data-deadline-kind="check"] { --deadline-ink:#25468a; --deadline-bg:#e8efff; }
.coach-deadline[data-deadline-kind="billing"] { --deadline-ink:#7b3d14; --deadline-bg:#fff0d9; }
.coach-deadline[data-deadline-kind="cycle"] { --deadline-ink:#57359a; --deadline-bg:#f0eaff; }
.coach-deadline[data-deadline-kind="reminder"] { --deadline-ink:#983561; --deadline-bg:#faeaf3; }
.coach-deadline[data-deadline-kind="survey"] { --deadline-ink:#326068; --deadline-bg:#e8f2f5; }
.coach-deadline:hover { background:var(--deadline-bg); }
.coach-deadline:focus-visible { outline:2px solid var(--deadline-ink); outline-offset:2px; }
.coach-deadline time { font-variant-numeric:tabular-nums; font-weight:650; }
.coach-deadline-type { justify-self:start; padding:.18rem .55rem; border-radius:99px; background:var(--deadline-bg); color:var(--deadline-ink); font-size:.79rem; font-weight:720; }
.coach-deadline-copy { display:grid; gap:.15rem; overflow-wrap:anywhere; }
.coach-deadline-copy small { color:var(--muted); }
.coach-deadline-arrow { color:var(--deadline-ink); font-size:1.45rem; line-height:1; }
@media(max-width:580px) {
  .coach-deadline { grid-template-columns:1fr auto auto; gap:.45rem .6rem; }
  .coach-deadline-type { grid-column:2; }
  .coach-deadline-copy { grid-column:1/3; grid-row:2; }
  .coach-deadline-arrow { grid-column:3; grid-row:1/3; }
}
.coach-page .studio-panel > * + * { margin-top:12px; }
.coach-page .finance-tabs > .studio-button { margin-top:0; }
.coach-switch { display:flex; flex-wrap:wrap; align-items:end; gap:14px; justify-content:space-between; }
.coach-switch label { flex:0 1 270px; }
.coach-switch > * + * { margin-top:0!important; }
.coach-form { display:grid; gap:10px; }
.coach-form button[type="submit"] { justify-self:start; }
.coach-list,.coach-chat { list-style:none; padding:0; display:grid; gap:8px; }
.coach-list li,.coach-answers > div { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:9px; border-radius:9px; background:#eef5f1; }
.coach-list li time { color:var(--muted); font-variant-numeric:tabular-nums; }
.coach-list li small { margin-left:auto; }
.coach-list a,.coach-answers a,.coach-text-link { color:#174f4c; font-weight:700; }
.coach-chat { max-height:430px; overflow:auto; padding:8px; background:#edf4f0; border-radius:12px; }
.coach-chat li { background:#fff; border:1px solid var(--line); border-radius:12px; padding:9px 11px; max-width:88%; justify-self:start; overflow-wrap:anywhere; }
.coach-chat li[data-from="trainer"] { background:#e2f1e9; justify-self:end; }
.coach-chat small { font-size:.75rem; color:var(--muted); }
.coach-chat p { white-space:pre-wrap; }
.coach-page details { border:1px solid var(--line); border-radius:10px; padding:10px; }
.coach-page details > summary { cursor:pointer; font-weight:700; }
.coach-page details[open] > summary { margin-bottom:12px; }
.coach-question-row {
  display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto; align-items:end;
  gap:8px; padding:10px; border:1px solid var(--line); border-radius:10px; margin:8px 0;
}
.coach-check { display:flex; align-items:center; min-height:42px; gap:5px; }
.coach-check input { width:17px; min-height:17px; }
.coach-answers { display:grid; gap:6px; padding:0; }
.coach-answers dt { font-weight:700; }
.coach-answers dd { margin:0; overflow-wrap:anywhere; }
.coach-survey-section, .coach-survey-choices {
  border:1px solid var(--line); border-radius:10px; min-width:0; padding:12px; margin:8px 0;
}
.coach-survey-section legend, .coach-survey-choices legend { padding-inline:5px; font-weight:650; }
.coach-survey-section > label, .coach-survey-section details > label { margin-block:8px; }
.coach-survey-choice-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:5px 12px; }
.coach-survey-choice-grid .coach-check { min-height:34px; font-weight:500; }
.coach-survey-choice-grid .coach-check input { flex:none; }
[data-coach-questionnaires] .studio-panel { margin-bottom:14px; }
[data-coach-questionnaires] .studio-status:empty { display:none; }
[data-coach-questionnaires] .studio-panel > h2 { font-size:1.08rem; font-weight:650; margin-bottom:12px; }
[data-coach-questionnaires] label { display:grid; gap:5px; min-width:0; font-size:.81rem; font-weight:500; line-height:1.4; }
[data-coach-questionnaires] :is(input,select,textarea) { min-width:0; width:100%; font-size:.84rem; }
[data-coach-questionnaires] :is(input,select) { min-height:39px; }
[data-coach-questionnaires] .coach-check { display:flex; gap:7px; min-height:30px; font-weight:400; }
[data-coach-questionnaires] .coach-check input { flex:none; width:16px; height:16px; min-height:16px; margin:0; }
[data-coach-questionnaires] .studio-button { min-height:33px; padding:6px 10px; font-size:.8rem; }
[data-coach-questionnaires] .coach-survey-toolbar { margin-block:8px 13px; }
[data-coach-questionnaires] .coach-survey-template-list { gap:0; }
[data-coach-questionnaires] .coach-survey-template-list > li { display:flex; flex-wrap:nowrap; gap:12px; margin:0; padding:10px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
[data-coach-questionnaires] .coach-survey-template-list .coach-row-link { flex:1; display:grid; gap:4px; width:100%; min-width:0; padding:7px; text-align:left; border:0; border-radius:5px; background:transparent; color:var(--ink); cursor:pointer; }
[data-coach-questionnaires] .coach-survey-template-list .coach-row-link:hover { background:#f2f6f4; }
[data-coach-questionnaires] .coach-survey-template-list strong { font-size:.88rem; font-weight:600; }
[data-coach-questionnaires] .coach-survey-template-list :is(span,small) { margin:0; font-size:.78rem; line-height:1.45; color:var(--muted); }
.coach-survey-model-meta { display:grid; grid-template-columns:minmax(0,2fr) minmax(180px,1fr); gap:12px; }
.coach-survey-template-form [data-survey-questions] { display:grid; gap:16px; margin-block:8px; }
.coach-survey-editor-question { min-width:0; padding:13px 15px; margin:0; border:1px solid var(--line); border-radius:8px; background:#fff; }
.coach-survey-editor-question legend { padding-inline:6px; font-size:.8rem; font-weight:650; color:var(--muted); }
.coach-survey-question-main { display:grid; grid-template-columns:minmax(0,2fr) minmax(160px,1fr); gap:12px; }
.coach-survey-question-meta { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:12px; margin-top:10px; }
.coach-survey-type-fields, .coach-survey-number-limits { display:grid; gap:8px; margin-top:10px; }
.coach-survey-number-limits { grid-template-columns:repeat(2,minmax(0,1fr)); }
.coach-survey-condition { display:grid; grid-template-columns:minmax(170px,1fr) minmax(0,2fr); gap:12px; margin-top:10px; }
.coach-survey-condition-values > span { display:block; margin-bottom:5px; color:var(--muted); font-size:.77rem; }
.coach-survey-question-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--line); padding-top:9px; margin-top:10px; }
[data-coach-questionnaires] .coach-survey-question-footer .studio-button { min-height:28px; padding:3px 7px; font-size:.74rem; }
.coach-survey-savebar { position:sticky; bottom:6px; z-index:2; gap:8px; padding:10px; border:1px solid var(--line); border-radius:7px; background:#fff; box-shadow:0 2px 8px #233c2d12; }
.coach-survey-assignment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.coach-survey-assignment-grid > label:first-child, .coach-survey-assignment-grid > label:last-child:nth-child(4) { grid-column:1/-1; }
.coach-survey-template-summary { display:grid; gap:4px; padding:10px 12px; border-inline-start:2px solid #7d9d8a; background:#f7faf8; font-size:.8rem; line-height:1.5; }
.coach-survey-template-summary span { color:var(--muted); }
.coach-survey-delivery-note { font-size:.83rem; line-height:1.6; color:var(--muted); }
.coach-survey-delivery { margin-block:16px; padding:13px 15px; border:1px solid #cbdcd3; border-radius:8px; background:#f6faf7; }
.coach-survey-delivery h3, .coach-survey-responses h3 { margin:0 0 8px; font-size:.94rem; font-weight:600; }
.coach-survey-delivery .coach-survey-access-note { margin-top:10px; font-size:.8rem; line-height:1.5; }
.coach-survey-share-form { grid-template-columns:minmax(180px,1fr) auto; align-items:end; max-width:650px; margin-top:12px; }
.coach-survey-share-form > .studio-sidebar-note { grid-column:1/-1; font-size:.74rem; margin:0; }
.coach-survey-share-form .studio-actions { margin:0; }
.coach-survey-share-form { grid-template-columns:minmax(0,1fr); }
#signin-area .coach-form { grid-template-columns:minmax(0,1fr); max-width:440px; margin-inline:auto; gap:14px; }
#signin-area .coach-form label { font-weight:500; line-height:1.5; }
#signin-area .coach-form :is(input,select,textarea) { width:100%; max-width:100%; min-width:0; font-size:16px; }
#signin-area .studio-panel { min-width:0; }
#signin-area .studio-panel > h2 { font-size:1.1rem; }
@media(max-width:540px) {
  #signin-area { padding-inline:14px; }
  #signin-area h1 { font-size:1.5rem; line-height:1.3; }
  #signin-area .coach-form .studio-button { min-height:44px; }
}
.coach-survey-responses h3 span { margin-left:4px; font-size:.8rem; color:var(--muted); font-weight:400; }
[data-coach-questionnaires] .coach-survey-record { padding:10px 12px; border-radius:7px; margin-top:8px; }
[data-coach-questionnaires] .coach-survey-record summary { font-size:.83rem; font-weight:550; }
[data-coach-questionnaires] .coach-answers { gap:0; margin:10px 0 0; }
[data-coach-questionnaires] .coach-answers > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); align-items:start; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; font-size:.82rem; }
[data-coach-questionnaires] .coach-answers dt { font-weight:500; color:var(--muted); }
[data-coach-questionnaires] .coach-answers dd { white-space:pre-wrap; }
[data-coach-questionnaires] [hidden] { display:none!important; }
@media(max-width:700px) {
  .coach-survey-question-main, .coach-survey-question-meta, .coach-survey-condition, .coach-survey-model-meta, .coach-survey-share-form { grid-template-columns:minmax(0,1fr); }
  .coach-survey-editor-question { padding:10px; }
  [data-coach-questionnaires] .coach-answers > div { grid-template-columns:minmax(0,1fr); gap:4px; }
}
@media(max-width:460px) {
  .coach-survey-assignment-grid, .coach-survey-number-limits { grid-template-columns:minmax(0,1fr); }
  [data-coach-questionnaires] .coach-survey-template-list > li { flex-wrap:wrap; gap:4px; }
}
@media(max-width:770px) { .coach-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:580px) {
  .coach-question-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .coach-question-row > label:first-child { grid-column:1/-1; }
  .coach-nav { gap:5px; }
  .coach-nav .studio-button { font-size:.82rem; min-height:38px; padding-inline:8px; }
  .coach-list li small { margin-left:0; }
}
@media print { .coach-global { display:none!important; } }

.coach-trash-empty { justify-content:flex-end; margin-top:-.4rem; }
.coach-trash-counts { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:16px 0; }
.coach-trash-counts button { display:grid; gap:4px; border:1px solid var(--line); border-radius:12px; padding:12px; background:var(--paper,#fff); color:var(--ink); cursor:pointer; text-align:left; }
.coach-trash-counts button[aria-pressed="true"] { border-color:var(--coach-accent); background:color-mix(in srgb,var(--coach-accent) 7%,white); }
.coach-trash-counts strong { font-size:1.3rem; }
.coach-trash-counts span { font-size:.8rem; }
.coach-trash-filters { display:grid; grid-template-columns:minmax(0,2fr) minmax(180px,1fr); gap:12px; }
.coach-trash-filters label { display:grid; gap:5px; }
.coach-trash-selection { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; margin:16px 0; font-size:.85rem; }
.coach-trash-selection .studio-actions { margin-left:auto; }
.coach-trash-list { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.coach-trash-row { display:grid; grid-template-columns:22px minmax(0,1fr) auto; align-items:center; gap:12px; padding:6px 10px; border:1px solid var(--line); border-radius:12px; }
.coach-trash-row > input { width:18px; min-height:18px; margin:0; }
.coach-trash-detail { display:grid; gap:5px; width:100%; padding:12px 0; min-height:56px; border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.coach-trash-detail strong { overflow-wrap:anywhere; }
.coach-trash-detail small { color:var(--muted,#63716c); font-size:.8rem; }
.coach-trash-detail:focus-visible, .coach-trash-counts button:focus-visible { outline:2px solid var(--coach-accent); outline-offset:3px; }
.coach-trash-row:hover { border-color:var(--coach-accent); }
.coach-trash-row > .studio-button { min-width:42px; min-height:42px; font-size:1.25rem; }
.coach-trash-dialog dl { display:grid; gap:8px; }
.coach-trash-dialog dl > div { display:grid; grid-template-columns:minmax(100px,1fr) minmax(0,2fr); gap:10px; }
.coach-trash-dialog dt { color:var(--muted,#63716c); }
.coach-trash-dialog dd { margin:0; overflow-wrap:anywhere; }
.coach-trash-dialog > p { white-space:pre-wrap; max-height:35vh; overflow:auto; }
@media(max-width:600px) {
  .coach-trash-counts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .coach-trash-filters { grid-template-columns:1fr; }
  .coach-trash-selection .studio-actions { margin-left:0; width:100%; }
}

