:root { --text3:#91a2b6; --text2:#b4c2d3; --border:rgba(180,207,225,.12); }
.content>.sec { max-width:1200px;margin:0 auto; }
.btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #7ceacf;outline-offset:3px; }
.coach-launch { border:1px solid #557263;background:#c5f36a;color:#152218;padding:10px 16px;border-radius:10px;font-weight:750;cursor:pointer;min-height:42px; }
.coach-shortcut { margin:16px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(110deg,#203d35,#182e35);padding:20px;border:1px solid #36574d;border-radius:16px; }
.coach-shortcut p { color:#c3d4d0;margin-top:5px;line-height:1.5; }
#sec-coach { padding:28px 24px 100px; }
.cx { --lime:#c5f36a; --muted:#adbac8; color:#f3f7f4; }
.cx h1 { font-size:clamp(27px,4vw,40px);letter-spacing:-1.4px;margin:8px 0 10px;line-height:1.1; }
.cx h2 { font-size:20px;letter-spacing:-.5px;margin:0 0 8px; }
.cx h3 { font-size:15px;margin:0 0 10px; }
.cx p { color:var(--muted);line-height:1.65; }
.cx-head { display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px; }
.cx-kicker { color:var(--lime);letter-spacing:.15em;text-transform:uppercase;font-size:11px;font-weight:750; }
.cx-badge { background:#21352b;color:#c5f36a;border:1px solid #3d5944;padding:7px 10px;border-radius:24px;font-size:11px;white-space:nowrap; }
.cx-tabs { display:flex;gap:5px;border-bottom:1px solid #2b3945;margin-bottom:24px;overflow-x:auto;padding-bottom:10px; }
.cx button { font:inherit;cursor:pointer; }
.cx-tabs button { flex-shrink:0;background:transparent;color:#acbac9;border:0;border-radius:9px;padding:11px 16px;font-weight:600; }
.cx-tabs button[aria-selected=true] { background:#c5f36a;color:#142517; }
@media(min-width:641px){.cx-tabs{flex-wrap:wrap;overflow:visible}}
.cx-grid { display:grid;grid-template-columns:1.15fr 1fr;gap:18px;align-items:start; }
.cx-card { background:#15212b;border:1px solid #2a3a44;border-radius:18px;padding:24px;min-width:0; }
.cx-card + .cx-card { margin-top:16px; }
.cx-grid>.cx-card + .cx-card { margin-top:0; }
.cx-metrics { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px; }
.cx-metric { padding:20px;border:1px solid #2a3a44;background:#121e28;border-radius:14px; }
.cx-metric strong { display:block;font-size:30px;color:#f4f8f1;margin-bottom:7px;font-variant-numeric:tabular-nums; }
.cx-metric span { color:#acbac9;font-size:12px; }
.cx-row { display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid #293640; }
.cx-row:last-child { border-bottom:0; }
.cx-row small { color:#a8b6c3;display:block;margin-top:5px;line-height:1.5; }
.cx-name { display:flex;align-items:center;gap:12px;min-width:0; }
.cx-avatar { display:grid;place-items:center;border-radius:13px;background:#294036;color:#d9efc9;width:42px;height:44px;font-weight:750;flex-shrink:0; }
.cx-stars { color:#d6f889;font-size:14px;white-space:nowrap; }
.cx-primary,.cx-secondary,.cx-danger { padding:11px 16px;border-radius:10px;border:1px solid #40524e;font-weight:650!important;min-height:42px; }
.cx-primary { background:#c5f36a;color:#142517;border-color:#c5f36a; }
.cx-secondary { color:#ecf3ee;background:#1a2a34; }
.cx-danger { color:#ffb8b8;background:#452a30;border-color:#6e4248; }
.cx button:disabled { opacity:.45;cursor:not-allowed; }
.cx label { display:block;font-size:12px;color:#c6d2dc;font-weight:550;line-height:1.5; }
.cx input:not([type=checkbox]):not([type=range]),.cx select,.cx textarea { display:block;width:100%;border:1px solid #44545e;background:#0e1a22;border-radius:9px;color:#f2f7f1;padding:11px 12px;margin:7px 0 16px;font:inherit;min-height:43px; }
.cx input[type=range] { width:100%;accent-color:#c5f36a;margin:12px 0 18px; }
.cx input[type=checkbox] { accent-color:#c5f36a;min-width:18px;min-height:18px;vertical-align:middle;margin-right:7px; }
.cx-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px; }
.cx-checks { display:flex;flex-wrap:wrap;gap:14px;margin:12px 0 20px; }
.cx-empty { text-align:center;padding:42px 16px;color:#afbdca;line-height:1.7; }
.cx-message { margin:12px 0;padding:12px 15px;border-radius:10px;background:#263b31;color:#def3d0;line-height:1.5; }
.cx-message.error { background:#472931;color:#ffd1d8; }
.cx-warning { color:#efd4a3!important;background:#352f25;padding:12px 15px;border-radius:10px;font-size:12px;margin:12px 0; }
.cx-actions { display:flex;flex-wrap:wrap;gap:10px;margin-top:18px; }
.cx-bar { display:grid;grid-template-columns:90px 1fr 35px;gap:12px;align-items:center;margin:15px 0;font-size:12px; }
.cx-track { height:7px;background:#31404a;border-radius:8px;overflow:hidden; }
.cx-track i { display:block;height:100%;background:#c5f36a;border-radius:8px; }
.cx-history { border-left:2px solid #4d6a52;padding:0 0 22px 15px;margin-left:4px; }
.cx-history time { font-size:11px;color:#acbac9; }
.cx-history p { margin-top:7px;font-size:13px;white-space:pre-wrap; }
.cx-table { width:100%;border-collapse:collapse;font-size:12px;text-align:left; }
.cx-table th,.cx-table td { border-bottom:1px solid #33414b;padding:12px 8px;vertical-align:top; }
.cx-table th { color:#adc2b7;font-weight:600; }
.cx-scroll { overflow:auto; }
.cx-pitch { background:repeating-linear-gradient(0deg,#213f35 0,#213f35 36px,#25483b 36px,#25483b 72px);border:1px solid #72917b;border-radius:12px;padding:18px;min-height:170px;margin:16px 0;display:grid;align-content:space-around;gap:15px; }
.cx-pitch-line { display:flex;gap:8px;justify-content:space-around;flex-wrap:wrap; }
.cx-player-dot { background:#e0f0d4;color:#143c29;border-radius:7px;font-size:11px;font-weight:650;padding:7px 10px;text-align:center; }
.cx-dialog { border:1px solid #536459;border-radius:20px;background:#0e1a22;color:#eff5f0;padding:26px;width:min(680px,94vw);max-height:90dvh;margin:auto; }
.cx-dialog::backdrop { background:#040e13d9;backdrop-filter:blur(3px); }
.cx-dialog header { display:flex;justify-content:space-between;align-items:center;margin-bottom:20px; }
.cx-dialog form { margin-top:20px; }
.cx-demo { padding:12px 20px;background:#c5f36a;color:#1c3423;font-size:13px;text-align:center; }
@media(min-width:900px) { .stat-grid{grid-template-columns:repeat(4,1fr)} .sec{padding:26px} }
@media(max-width:640px) { #sec-coach{padding:20px 15px 95px}.cx-head{align-items:start}.cx-head>.cx-badge{display:none}.cx-grid{grid-template-columns:1fr}.cx-card{padding:18px}.cx-metric{padding:15px 10px}.cx-metric strong{font-size:24px}.cx-tabs button{padding:10px 12px}.cx-row{gap:8px}.cx-row .cx-secondary{font-size:12px;padding:9px}.cx-shortcut{align-items:start}.coach-shortcut{flex-direction:column;align-items:stretch}.cx-fields{gap:0 10px} }

/* Keep the ClubVivo identity in the existing app shell. */
.cn-wordmark{font-weight:850;letter-spacing:.09em;font-size:12px;color:#f0f4f8;margin-bottom:3px}.cn-wordmark span{color:#00d4aa}.dashboard-hero{position:relative;padding-right:160px!important;min-height:170px}.cn-hero-logo{position:absolute;right:18px;top:12px;width:130px;height:140px;object-fit:contain}.cx-tabs button[aria-selected=true],.cx-primary,.coach-launch{background:linear-gradient(110deg,#00d4aa,#c5f36a);color:#0d251c;border-color:#00d4aa}.cx-kicker{color:#5de1be}
@media(max-width:560px){.dashboard-hero{padding-right:115px!important}.cn-hero-logo{width:90px;height:110px;right:12px;top:15px}.topbar{padding-left:12px;padding-right:12px;gap:8px}.topbar-team{font-size:12px}.coach-launch{padding:9px 12px}.bottomnav{overflow-x:auto;justify-content:flex-start}.nav-item{min-width:59px;flex:1 0 59px}}

.app{width:100%;max-width:1120px;margin:0 auto}.content,.sec{width:100%}
@media(min-width:900px){.bottomnav{width:min(880px,calc(100vw - 40px));max-width:880px}.nav-label{font-size:11px}.dashboard-hero{min-height:190px}.cn-hero-logo{width:150px;height:165px}.coach-shortcut{align-items:center}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.lf-clock{font-size:72px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-3px;margin:22px 0;color:#c5f36a}.lf-link{overflow-wrap:anywhere;margin:18px 0}.lf-link input{font-size:12px!important}.cx details{margin-top:18px;line-height:1.8}.cx summary{cursor:pointer;color:#c5f36a}.cx-row select{max-width:190px;margin:0!important}

.season-scope{display:flex;align-items:center;gap:12px;padding:8px 18px;background:#15322c;color:#e4f2e8;font-size:12px;flex-wrap:wrap}.season-scope select{background:#10251e;color:#e4f2e8;padding:5px;border:1px solid #4a7767;border-radius:6px}.season-scope small{opacity:.8}
