
:root { --coach-accent:#125943; --coach-on-accent:#fff; }
.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; }
@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; } }

