/* Coach history, reporting, photos, and consistent form menus. */
.coach-workspace-theme .trainer-topbar { min-height:70px; gap:22px; padding-top:10px; padding-bottom:10px; }
.coach-workspace-theme .trainer-month-trigger { border-color:transparent; border-radius:4px; padding:8px 4px; gap:12px; box-shadow:none; }
.coach-workspace-theme .trainer-month-trigger:hover { background:#1a2223; }
.coach-workspace-theme .trainer-month-switcher { width:250px; flex-basis:250px; }
.coach-workspace-theme .trainer-account-actions { border-left:1px solid var(--workspace-line); padding-left:24px; gap:24px; }
.coach-workspace-theme .trainer-account-card { gap:12px; }
.coach-workspace-theme .trainer-avatar-button { width:40px; height:40px; min-width:40px; flex-basis:40px; cursor:default; }
.coach-workspace-theme .trainer-logout-button { border:0; border-left:1px solid var(--workspace-line); border-radius:0; width:52px; flex-basis:52px; padding-left:20px; }
.coach-workspace-theme .trainer-logout-button:hover { background:#1a2223; }
.cc-initials, .cc-client-preview-avatar { overflow:hidden; flex-shrink:0; }
:is(.cc-initials,.cc-client-preview-avatar) > img { display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.cc-client-photo-field { display:flex; align-items:center; gap:14px; margin-bottom:22px; min-width:0; }
.cc-client-photo-field .cc-initials { display:grid; place-items:center; width:64px; height:64px; border:1px solid var(--workspace-line); border-radius:50%; background:var(--workspace-raised); color:var(--workspace-text); }
.cc-client-photo-field > div { min-width:0; flex:1; }
.cc-client-photo-field label.button { display:inline-flex; align-items:center; gap:8px; width:auto; cursor:pointer; margin:0; }
.cc-client-photo-field [role="status"] { display:block; font-size:12px; color:var(--workspace-muted); margin-top:5px; overflow-wrap:anywhere; }
body[data-rivl-surface="coach"] .custom-select { width:100%; min-width:0; }
body[data-rivl-surface="coach"] .custom-select-trigger { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-width:0; min-height:42px; padding:10px 12px; border:1px solid #435052; border-radius:5px; color:#edf2f2; background:#151c1d; box-shadow:none; font:500 13px/1.4 "Space Grotesk",sans-serif; text-align:left; }
body[data-rivl-surface="coach"] .custom-select-trigger > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body[data-rivl-surface="coach"] .custom-select-trigger:hover { border-color:#778588; background:#1b2526; }
body[data-rivl-surface="coach"] .custom-select.open .custom-select-trigger { border-color:var(--workspace-accent); }
body[data-rivl-surface="coach"] .custom-select-trigger:disabled { opacity:.5; cursor:not-allowed; }
body[data-rivl-surface="coach"] .custom-select-menu { display:none; padding:5px; border:1px solid #435052; border-radius:6px; box-sizing:border-box; color:#edf2f2; background:#182122; box-shadow:0 16px 40px #0007; overflow:auto; overscroll-behavior:contain; z-index:2000; transform:none; }
body[data-rivl-surface="coach"] .custom-select-menu:popover-open { display:block; }
body[data-rivl-surface="coach"] .custom-select-option { display:block; position:relative; width:100%; padding:11px 28px 11px 12px; border:0; border-radius:3px; min-height:40px; text-align:left; color:#d9e1e2; background:transparent; font:400 13px/1.4 "Space Grotesk",sans-serif; overflow-wrap:anywhere; }
body[data-rivl-surface="coach"] .custom-select-option[hidden] { display:none; }
body[data-rivl-surface="coach"] .custom-select-option:disabled { opacity:.4; cursor:not-allowed; }
body[data-rivl-surface="coach"] .custom-select-option:is(:hover,:focus-visible) { outline:0; color:#fff; background:#2a3739; }
body[data-rivl-surface="coach"] .custom-select-option.selected { color:var(--workspace-accent); background:#293421; }
body[data-rivl-surface="coach"] .custom-select-option.selected::after { content:""; position:absolute; top:16px; right:12px; width:5px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
body[data-rivl-surface="coach"] :is(.cc-client-select,.cc-evaluation-select,.cc-agenda-select):has(.custom-select) > svg { display:none; }
body[data-rivl-surface="coach"] .tr-field:has(.custom-select) { min-width:0; }
.cc-history-toolbar,.cc-billing-filters { display:flex; justify-content:space-between; align-items:center; gap:18px; margin:20px 0; }
.cc-history-search { display:flex; align-items:center; gap:12px; flex:0 1 430px; min-width:0; border:1px solid var(--workspace-line); border-radius:5px; padding:0 12px; background:var(--workspace-chrome); }
.cc-history-search input { min-width:0; width:100%; height:44px; border:0!important; outline-offset:-2px!important; background:transparent!important; box-shadow:none!important; padding:10px 0!important; font:13px/1.4 "Space Grotesk",sans-serif; color:var(--workspace-text); }
.cc-history-filter { display:flex; align-items:center; gap:12px; min-width:0; font-size:12px; color:var(--workspace-muted); }
.cc-history-filter .custom-select { width:200px!important; }
.cc-history-table-scroll,.cc-billing-table-scroll { overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.cc-history-table,.cc-billing-table { width:100%; border-collapse:collapse; text-align:left; font-size:13px; }
:is(.cc-history-table,.cc-billing-table) :is(th,td) { padding:16px 14px; border-bottom:1px solid var(--workspace-line); vertical-align:middle; }
:is(.cc-history-table,.cc-billing-table) th { font-size:11px; font-weight:500; color:var(--workspace-muted); text-transform:uppercase; white-space:nowrap; }
:is(.cc-history-table,.cc-billing-table) td:first-child { padding-left:0; }
:is(.cc-history-table,.cc-billing-table) small { display:block; color:var(--workspace-muted); font-size:12px; margin-top:3px; }
.cc-history-table tbody tr { cursor:pointer; }
.cc-history-table tbody tr:hover { background:#1a2421; }
.cc-history-table td:nth-child(2) { width:23%; }
.cc-history-table td:nth-child(3) { width:26%; }
.cc-history-name { font:600 14px/1.5 "Space Grotesk",sans-serif; padding:0; border:0; color:var(--workspace-text); background:none; text-align:left; }
.cc-history-table progress { display:block; width:80px; max-width:100%; height:3px; margin-top:8px; accent-color:var(--workspace-accent); border:0; }
.cc-history-table progress::-webkit-progress-bar { background:#354043; }
.cc-history-table progress::-webkit-progress-value { background:var(--workspace-accent); }
.cc-history-status { display:inline-flex; align-items:center; gap:7px; font-size:12px; white-space:nowrap; }
.cc-history-status::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; flex-shrink:0; }
.cc-history-status.is-progress { color:#91d6dd; }.cc-history-status.is-reviewed { color:#8de3b6; }.cc-history-status.is-pending { color:#efc475; }
.cc-history-pagination { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:18px 0 8px; color:var(--workspace-muted); font-size:12px; }
.cc-history-pagination > div { display:flex; align-items:center; gap:16px; }
.cc-history-pagination button:disabled { opacity:.3; cursor:not-allowed; }
#cc-training-drawer { position:fixed; inset:0 0 0 auto; width:min(570px,100%); max-width:100%; height:100dvh; max-height:100dvh; margin:0; padding:0; border:0; border-left:1px solid var(--workspace-line); border-radius:0; color:var(--workspace-text); background:var(--workspace-bg); font:14px/1.5 "Space Grotesk",sans-serif; box-shadow:-18px 0 60px #0005; }
#cc-training-drawer[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
#cc-training-drawer::backdrop { background:#0005; }
#cc-training-drawer * { box-sizing:border-box; letter-spacing:0; }
#cc-training-drawer :focus-visible { outline:2px solid var(--workspace-accent); outline-offset:3px; }
.cc-training-drawer-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:28px; border-bottom:1px solid var(--workspace-line); }
#cc-training-drawer h2 { font-size:24px; line-height:1.3; margin:8px 0; overflow-wrap:anywhere; }
.cc-training-drawer-head p { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0; font-size:12px; color:var(--workspace-muted); }
.cc-training-drawer-body { overflow:auto; overscroll-behavior:contain; padding:0 28px 28px; scrollbar-width:thin; }
.cc-training-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 24px; padding:24px 0; border-bottom:1px solid var(--workspace-line); }
.cc-training-totals > div { display:flex; flex-direction:column; border-right:1px solid var(--workspace-line); }
.cc-training-totals > div:last-child { border-right:0; }
.cc-training-totals dt { order:1; color:var(--workspace-muted); font-size:11px; }
.cc-training-totals dd { margin:0; font-size:24px; font-weight:600; }
.cc-training-exercise { border-bottom:1px solid var(--workspace-line); }
.cc-training-exercise summary { display:flex; align-items:center; list-style:none; gap:14px; padding:19px 0; cursor:pointer; }
.cc-training-exercise summary::-webkit-details-marker { display:none; }
.cc-training-exercise summary > div { flex:1; min-width:0; }
.cc-training-exercise summary strong { font-size:14px; overflow-wrap:anywhere; }
.cc-training-exercise summary small { display:block; margin-top:4px; color:var(--workspace-muted); font-size:12px; }
.cc-training-exercise[open] summary > svg { transform:rotate(90deg); }
.cc-exercise-number { font-size:12px; color:var(--workspace-cyan); }
.cc-exercise-series { margin-bottom:20px; overflow:auto; }
.cc-exercise-series table { width:100%; border-collapse:collapse; font-size:12px; text-align:left; }
.cc-exercise-series :is(th,td) { padding:10px 8px; border-bottom:1px solid #283235; }
.cc-exercise-series th { color:var(--workspace-muted); font-size:11px; font-weight:400; }
.cc-exercise-series th:last-child,.cc-exercise-series td:last-child { text-align:right; }
.cc-training-notes { padding:24px 0; }
.cc-training-notes h3 { font-size:13px; margin:0 0 10px; }.cc-training-notes p { color:var(--workspace-muted); white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; }
.cc-training-review textarea { resize:vertical; min-height:90px; background:#151c1d; color:var(--workspace-text); border:1px solid #435052; border-radius:5px; font:14px/1.5 "Space Grotesk",sans-serif; }
.cc-history-hint { font-size:12px; color:var(--workspace-muted); }.cc-history-error { color:#f49c93; font-size:13px; }
.cc-training-drawer-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--workspace-line); padding:18px 28px; background:var(--workspace-chrome); }
.cc-training-drawer-footer > span { font-size:11px; color:var(--workspace-muted); }
.cc-training-drawer-footer button { white-space:normal; }
.cc-billing-workspace { width:100%; min-width:0; }
.cc-billing-workspace .button { display:inline-flex; align-items:center; justify-content:center; gap:9px; }
.cc-billing-workspace .button:disabled { opacity:.45; cursor:not-allowed; }
.cc-billing-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:30px; }
.cc-billing-heading h2 { font-size:28px; margin:4px 0; }.cc-billing-heading p { color:var(--workspace-muted); margin:4px 0 0; font-size:13px; }
.cc-billing-heading .cc-eyebrow { font-size:11px; color:var(--workspace-cyan); text-transform:uppercase; }
.cc-billing-period { display:flex; align-items:flex-end; gap:16px; padding-bottom:22px; border-bottom:1px solid var(--workspace-line); }
.cc-billing-period label { display:grid; gap:7px; font-size:12px; color:var(--workspace-muted); }
.cc-billing-period input { min-width:150px; max-width:100%; height:42px; padding:8px 12px; border:1px solid #435052; border-radius:5px; color:var(--workspace-text); background:#151c1d; color-scheme:dark; font-size:13px; }
.cc-billing-period input::-webkit-calendar-picker-indicator { filter:none; opacity:.8; }
.cc-billing-totals { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:26px 0; margin:0; border-block:1px solid var(--workspace-line); }
.cc-billing-totals > div { border-right:1px solid var(--workspace-line); padding-right:20px; }.cc-billing-totals > div:last-child { border-right:0; }
.cc-billing-totals dt { font-size:12px; color:var(--workspace-muted); }.cc-billing-totals dd { margin:10px 0 6px; font-size:28px; line-height:1.2; font-weight:600; overflow-wrap:anywhere; }
.cc-billing-totals small { font-size:11px; color:var(--workspace-muted); }.cc-billing-totals .is-paid dd { color:#8de3b6; }.cc-billing-totals .is-pending dd { color:#efc475; }
.cc-billing-caveat { border-left:2px solid #efc475; padding:4px 12px; font-size:12px; color:#c9c4b3; margin:20px 0; }
.cc-billing-ledger-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:28px 0 12px; }.cc-billing-ledger-heading h3 { margin:0; font-size:16px; }.cc-billing-ledger-heading > span { font-size:12px; color:var(--workspace-muted); }
.cc-billing-table td { white-space:nowrap; }.cc-billing-table td:first-child { white-space:normal; min-width:230px; }.cc-billing-table .cc-person { gap:12px; }.cc-billing-unknown { font-size:12px; color:#b4a481; }
@media(max-width:1100px) { .cc-billing-totals { grid-template-columns:repeat(2,minmax(0,1fr)); }.cc-billing-totals > div:nth-child(2) {border:0;} .cc-history-table { min-width:710px; }.cc-billing-table { min-width:900px; } }
@media(max-width:760px) {
  .coach-workspace-theme .trainer-sidebar-nav { grid-template-columns:repeat(5,minmax(0,1fr)); padding-inline:6px; gap:2px; }
  .coach-workspace-theme .trainer-sidebar-link { gap:4px; padding:6px 0; font-size:10px; }
  .coach-workspace-theme .trainer-sidebar-link > span:not(.trainer-nav-icon) { font-size:9px; overflow:visible; text-overflow:clip; max-width:none; white-space:nowrap; }
  .coach-workspace-theme .trainer-topbar { gap:12px; padding:10px 16px; min-height:66px; }
  .coach-workspace-theme .trainer-month-switcher { flex:1 1 auto; width:auto; min-width:0; }
  .coach-workspace-theme .trainer-month-trigger { font-size:12px; gap:8px; padding:8px 0; }
  .coach-workspace-theme .trainer-account-actions { padding-left:12px; gap:8px; }
  .coach-workspace-theme .trainer-account-card > div { display:none; }
  .coach-workspace-theme .trainer-avatar-button { width:32px; min-width:32px; height:32px; flex-basis:32px; }
  .coach-workspace-theme .trainer-logout-button { width:34px; flex-basis:34px; padding:7px; border-left:0; }
  .cc-history-toolbar,.cc-billing-filters { flex-wrap:wrap; gap:12px; }
  .cc-history-search { flex-basis:100%; }.cc-history-filter { justify-content:space-between; width:100%; }
  .cc-history-filter .custom-select { width:220px!important; max-width:80%; }
  .cc-billing-heading { align-items:flex-start; gap:12px; }.cc-billing-heading h2 {font-size:24px;}.cc-billing-heading button {font-size:11px;padding:10px;}
  .cc-billing-period { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.cc-billing-period input {width:100%;min-width:0;padding:8px;}.cc-billing-period button {grid-column:1/-1;justify-self:start;}
  .cc-billing-totals { gap:24px 12px; }.cc-billing-totals > div {padding-right:10px;}.cc-billing-totals dd {font-size:23px;}
  .cc-billing-ledger-heading {flex-wrap:wrap;gap:8px;}.cc-history-pagination {font-size:11px;gap:8px;}.cc-history-pagination > div {gap:9px;}
  .cc-training-drawer-head {padding:20px;}.cc-training-drawer-body {padding:0 20px 20px;}.cc-training-drawer-footer {padding:14px 20px;}.cc-training-drawer-footer > span {max-width:90px;}
}
@media(prefers-reduced-motion:reduce) { #cc-training-drawer, #cc-training-drawer * { scroll-behavior:auto; transition:none; } }
@media(max-width:480px) { .cc-billing-period { grid-template-columns:minmax(0,1fr); }.cc-billing-period input { width:100%; }.cc-billing-totals dd { font-size:21px; }.cc-billing-heading [data-billing-export] { width:44px; height:44px; flex:0 0 44px; padding:10px; }.cc-billing-heading [data-billing-export] > span { display:none; } }
