.coach-confirm-layer {position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:rgba(3,8,18,.8)}
/* Operational home and weekly performance, October 2026. */
.journey-home .home-heading-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}
.home-register-action{display:grid;justify-items:end;gap:6px;max-width:230px}
.home-register-action small{font-size:12px;color:var(--text-secondary);text-align:right;line-height:1.4}
.home-register-action button{min-height:44px}
.home-phase-caption{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;color:var(--text);font:inherit;text-align:left;padding:8px 0 18px;cursor:pointer}
.home-phase-caption>span:first-child{font-weight:600}
.home-phase-caption small{color:var(--text-secondary);flex:1}
.home-phase-caption>span:last-child{color:var(--text-secondary)}
.journey-home .home-training-card{padding:20px;margin-bottom:16px;background:#102338;border-color:#275174}
.home-training-card .journey-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.home-training-card .journey-card-head small{color:var(--text-secondary);font-size:12px}
.home-training-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:18px 0 10px}
.home-training-day{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 3px 6px;background:none;color:var(--text);border:1px solid transparent;border-radius:12px;min-width:0;cursor:pointer;font:inherit}
.home-training-day small{font-size:12px;color:var(--text-secondary)}
.home-training-day strong{font-size:18px}
.home-training-day[aria-pressed=true]{border-color:var(--accent);background:#173958}
.home-training-day.is-today>strong{color:#82c7ff}
.home-training-day .week-status{height:18px;color:var(--text-secondary);font-size:13px}
.home-training-day.status-done .week-status{color:#69dda9}
.home-training-day.status-planned .week-status,.home-training-day.status-draft .week-status{color:#82c7ff}
.home-training-day.status-skipped .week-status{color:#e5b38b}
.home-training-day .week-today{height:16px;color:#82c7ff;font-size:11px}
.weekly-completion{font-size:13px;color:var(--text-secondary);margin:8px 0}
.weekly-training-meter{height:5px;background:#213a51;border-radius:5px;overflow:hidden;margin:10px 0 18px}
.weekly-training-meter span{display:block;height:100%;background:var(--accent);border-radius:inherit}
.home-training-selected{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;border-top:1px solid #275174}
.home-training-selected>div{min-width:0;display:grid;gap:5px}
.home-training-selected small{font-size:12px;color:var(--text-secondary)}
.home-training-selected strong{font-size:17px;overflow-wrap:anywhere}
.home-training-selected button{min-height:44px;white-space:normal;flex-shrink:0;max-width:55%}
.home-training-selected .action-play{margin:0 6px 0 0}
.home-current-plans.home-compact-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.home-plan-link{display:flex;align-items:center;gap:12px;min-width:0;border:1px solid #21634f;border-radius:14px;padding:16px;background:#0b2a25;text-align:left;color:var(--text);font:inherit;cursor:pointer}
.home-plan-link>span:nth-child(2){flex:1;min-width:0;display:grid;gap:5px}
.home-plan-link strong{font-size:15px;overflow-wrap:anywhere}
.home-plan-link small{font-size:12px;color:var(--text-secondary)}
.home-plan-link.tile-protocollo{background:#211d39;border-color:#514274}
.home-plan-link .tile-icon{flex-shrink:0}
.home-plan-link>span:last-child{color:var(--text-secondary)}
.coach-notes-disclosure.coach-notes-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.coach-notes-trigger>span:last-child{color:var(--text-secondary)}
.plan-full-notes{white-space:pre-wrap;overflow-wrap:anywhere}
.current-plan-changes{margin:18px 0}
.current-plan-changes h3{font-size:17px;margin-bottom:12px}
.current-plan-changes .plan-next-card{width:100%;margin-bottom:10px}
.register-sheet .journey-register-grid{display:grid;grid-template-columns:1fr;gap:10px}
.journey-register-grid button{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;min-height:54px}
.journey-register-grid .register-secondary{margin-top:10px;border:0;border-top:1px solid var(--border);border-radius:0;color:var(--text-secondary);background:none}
.register-secondary small{display:block;font-size:12px;font-weight:400;margin-top:5px}
.exercise-thumbnail.group-thumbnail{color:#86bff1;background:#132c44;opacity:1}
.exercise-thumbnail .exercise-group-icon{width:38px;height:44px;display:block}
.exercise-group-detail{display:grid;justify-items:center;gap:12px;margin:22px 0;color:var(--accent)}
.exercise-group-detail svg{width:100px;height:120px}
.performance-exercise-image .exercise-group-icon{width:42px;height:50px}
.muscle-volume-panel,.exercise-progression-panel{padding:22px;margin-bottom:18px}
.muscle-volume-panel h3,.exercise-progression-panel h3{font-size:20px}
.muscle-volume-panel .progress-card-head,.exercise-progression-panel .progress-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.muscle-volume-panel .progress-card-head p{font-size:13px;color:var(--text-secondary);margin-top:6px}
.muscle-select{display:grid;gap:5px;color:var(--text-secondary);font-size:12px;max-width:100%}
.muscle-select .input{width:220px;max-width:100%;font-size:14px;min-height:44px}
.muscle-week-summary{padding:18px 0 8px}
.muscle-week-summary>span{display:grid;gap:7px}
.muscle-week-summary small{color:var(--text-secondary);font-size:12px}
.muscle-week-summary strong{font-size:23px;line-height:1.3;font-variant-numeric:tabular-nums}
.muscle-week-summary strong span{color:var(--text-secondary);font-weight:400;margin:0 6px}
.muscle-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:12px}
.muscle-chart{min-width:0}
.muscle-chart-heading{display:flex;justify-content:space-between;align-items:center;margin:10px 0 14px;gap:8px}
.muscle-chart-heading h4{font-size:14px;margin:0}
.muscle-chart-heading small{font-size:12px;color:var(--text-secondary)}
.muscle-chart-body{display:grid;grid-template-columns:42px minmax(0,1fr);gap:6px}
.muscle-chart-axis{height:130px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;color:var(--text-secondary);font-size:11px;min-width:0}
.muscle-chart-columns{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}
.muscle-week-column{padding:0;background:none;border:0;color:var(--text-secondary);font:inherit;min-width:0;cursor:pointer}
.muscle-week-track{display:flex;align-items:flex-end;justify-content:center;height:130px;background:linear-gradient(to top,var(--border) 1px,transparent 1px)}
.muscle-week-track>span{display:block;width:70%;max-width:28px;min-height:2px;border-radius:4px 4px 0 0;background:#75baff}
.muscle-week-column small{display:block;font-size:11px;margin-top:8px;white-space:nowrap}
.muscle-week-column.week-incomplete .muscle-week-track>span{opacity:.4}
.muscle-week-column[aria-pressed=true]{color:var(--text)}
.muscle-week-column[aria-pressed=true] .muscle-week-track>span{background:#b4d9ff}
.muscle-chart-caption{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-top:16px}
.muscle-counting{margin-top:18px;border-top:1px solid var(--border);padding-top:16px;font-size:13px;color:var(--text-secondary)}
.muscle-counting summary{cursor:pointer}
.muscle-counting p{line-height:1.6;margin:12px 0 0}
.exercise-reference-value{font-size:28px;font-weight:700;margin:12px 0;font-variant-numeric:tabular-nums}
.exercise-comparison{font-size:14px;line-height:1.5}
.exercise-history-table{margin:18px 0}
.exercise-history-table table{width:100%;border-collapse:collapse;font-size:13px}
.exercise-history-table th,.exercise-history-table td{text-align:left;padding:12px 6px;border-bottom:1px solid var(--border);overflow-wrap:anywhere}
.exercise-history-table th{font-size:12px;font-weight:500;color:var(--text-secondary)}
.performance-records{padding:18px;border:1px solid var(--border);border-radius:14px}
.performance-records summary{cursor:pointer}
.performance-records .record-grid{margin-top:16px}
@media(max-width:700px){.muscle-charts{grid-template-columns:1fr;gap:12px}
.muscle-volume-panel,.exercise-progression-panel{padding:16px}
.home-training-selected{align-items:flex-start;flex-direction:column}
.home-training-selected button{max-width:100%;width:100%}
.home-phase-caption{flex-wrap:wrap;gap:6px 10px}
.home-phase-caption small{flex-basis:60%}
.home-current-plans.home-compact-plans{gap:8px}
.home-plan-link{padding:12px 9px;gap:8px}
.home-plan-link .tile-icon{width:28px!important;height:28px!important}
.home-plan-link strong{font-size:13px}
.home-plan-link small{font-size:12px}
.journey-home .home-heading-actions{gap:10px}
.journey-home .home-heading-actions h2{font-size:22px}
.home-register-action{max-width:155px}
.home-register-action small{font-size:11px}
.home-register-action button{padding:10px 14px}
.journey-home .home-training-card{padding:16px}
.home-training-week{gap:2px}
.home-training-day{padding:8px 1px 4px}
.home-training-day strong{font-size:17px}
.home-training-day small{font-size:11px}
.muscle-select{width:100%}
.muscle-select .input{width:100%;font-size:16px}
.exercise-reference-value{font-size:24px}
.muscle-week-summary strong{font-size:21px}
.exercise-history-table th,.exercise-history-table td{padding:10px 3px;font-size:12px}}
.coach-confirm-layer section {width:min(100%,460px);padding:24px;background:#101e32;border:1px solid #354963;border-radius:20px;color:#f4f7ff;box-shadow:0 24px 80px #0008}
.coach-confirm-layer h3 {margin:0 0 12px;font-size:20px}
.coach-confirm-layer p {font-size:16px;line-height:1.55;color:#becbe0}
.coach-confirm-layer section>div {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.coach-confirm-layer button {min-height:48px;padding:10px;font-size:14px}
.topbar.brand-header { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); column-gap:8px; height:76px; background:var(--bg); }
html {scrollbar-gutter:stable;}
.header-account {display:flex;align-items:center;gap:6px;justify-self:start;min-width:0;}
.header-role {font-size:13px;font-weight:600;color:var(--text-secondary);line-height:1;}
.brand-header .account-trigger { width:44px; height:44px; border:1px solid var(--border); background:var(--surface-raised); color:var(--text); font-size:13px; cursor:pointer; }
.header-wordmark { justify-self:center; color:var(--text); letter-spacing:.34em; padding-left:.34em; font-size:22px; font-weight:700; }
.brand-header .bell { width:42px; height:42px; justify-self:end; }
.section-heading { padding:22px clamp(20px,3.5vw,52px) 0; color:var(--text-secondary); font-size:14px; font-weight:700; }
.primary:hover,.health-button:not(.secondary):hover { background:var(--primary); border-color:var(--accent); }
.text-btn,.health-text-button { color:var(--accent); }
.journey-progress,.health-progress { height:9px; background:var(--accent-soft); }
.journey-progress span,.health-progress span { background:var(--primary); border-radius:inherit; }
.journey-phase { border-color:var(--border); }
.account-menu .profile-links { display:grid; gap:12px; }
.account-menu .profile-links button { padding:16px; border:1px solid var(--border); border-radius:12px; }
@media(max-width:850px) {
 .brand-header { display:grid; grid-template-columns:44px 1fr 44px; height:68px; padding:0 20px; }
 .mobile-nav .nav-item.active { color:var(--accent); }
 .mobile-nav .nav-item.active .nav-icon { color:var(--accent); background:var(--accent-soft); box-shadow:none; }
 .mobile-nav .nav-item.active::after { content:""; width:26px; height:3px; border-radius:4px; background:var(--primary); }
 .section-heading { padding:18px 20px 0; }
}
.settings-btn svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.journey-home { max-width:1200px; margin:auto; }
.journey-heading { margin-bottom:26px; }
.journey-heading h2 { font-size:clamp(30px,4vw,48px); line-height:1.12; letter-spacing:-1.5px; margin:14px 0; }
.journey-heading p,.journey-home p,.journey-modal p { color:var(--text-secondary); line-height:1.6; }
.journey-quick-actions { display:grid; grid-template-columns:auto auto; justify-content:start; gap:12px; margin-bottom:28px; }
.journey-quick-actions button { min-height:52px; }
.journey-quick-actions p { grid-column:1/-1; margin:0; font-size:14px; }
.journey-main-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:24px; align-items:start; }
.journey-phase,.journey-deadlines { padding:28px; }
.journey-phase h3 { font-size:30px; margin:16px 0; }
.journey-progress { height:9px; background:var(--accent-soft); border-radius:8px; overflow:hidden; }
.journey-progress span { display:block; height:100%; background:var(--primary); }
.journey-dates { display:flex; justify-content:space-between; font-size:13px; }
.journey-facts { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:28px 0; }
.journey-facts dt { color:var(--text-secondary); font-size:13px; margin-bottom:6px; }
.journey-facts dd { margin:0; font-weight:650; font-size:17px; }
.journey-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.journey-card-head h3 { font-size:20px; margin:0; }
.journey-deadline { display:grid; grid-template-columns:78px 1fr 14px; align-items:center; gap:12px; width:100%; text-align:left; padding:18px 0; border:0; border-bottom:1px solid var(--border); background:transparent; color:var(--text); cursor:pointer; }
.journey-deadline time,.journey-deadline small { font-size:13px; color:var(--text-secondary); }
.journey-deadline small { display:block; margin-top:5px; }
.journey-deadline strong { font-size:15px; }
.journey-deadline:hover { background:var(--surface-raised); }
.journey-latest { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:24px 0; border-bottom:1px solid var(--border); margin-top:14px; }
.journey-latest h3 { margin:10px 0 4px; }
.journey-latest p { margin:0; font-size:14px; }
.journey-coach { font-size:13px; margin-top:20px; }
.journey-register-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:20px 0; }
.journey-register-grid button { min-height:56px; white-space:normal; }
.journey-modal .modal-body { max-height:70dvh; overflow:auto; }
@media(max-width:700px) {
 .journey-main-grid { grid-template-columns:1fr; gap:18px; }
 .journey-phase,.journey-deadlines { padding:22px; }
 .journey-quick-actions { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); justify-content:stretch; }
 .journey-quick-actions button { padding:12px; font-size:15px; white-space:normal; }
 .journey-latest { align-items:flex-start; flex-direction:column; }
 .journey-modal { align-self:end; width:100%; margin:0; border-radius:22px 22px 0 0; }
 .journey-card-head { flex-wrap:wrap; }
}
:root {
  --bg: #080f1c;
  --surface: #101d30;
  --surface-raised: #192b44;
  --border: #304560;
  --text: #f4f7ff;
  --text-secondary: #b8c8df;
  --text-muted: #8498b5;
  --primary: #1769dc;
  --accent: #69b7ff;
  --accent-soft: #142f54;
  --event: #42d5ea;
  --variation: #b49aff;
  --planned: #bdc8da;
  --rest: #8498b5;
  --primary-ink: #ffffff;
  --positive: #75d9ac;
  --warning: #f2be60;
  --danger: #ed8b9c;
  --overlay: rgba(5,10,7,.76);
  --shadow:0 16px 40px rgba(0,0,0,.18);
  font-family: Manrope, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background:var(--bg); color:var(--text); }
::selection { background:var(--primary); color:var(--primary-ink); }
:focus-visible { outline:2px solid var(--text); outline-offset:2px; }
input::placeholder, textarea::placeholder { color:var(--text-muted); opacity:1; }
select option { background:var(--surface); color:var(--text); }
.auth-loading { min-height:100vh; display:grid; place-items:center; color:var(--text-secondary); font-weight:700; background:var(--bg); }
.connection-error { max-width:460px; margin:24px; text-align:center; line-height:1.6; }
.connection-error h2 { color:var(--text); }
#evolvi-write-status { position:fixed; z-index:11; left:50%; transform:translateX(-50%); bottom:calc(92px + env(safe-area-inset-bottom,0px)); width:min(620px,calc(100% - 32px)); padding:10px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--text); box-shadow:0 4px 20px rgba(0,0,0,.25); font-size:13px; display:flex; align-items:center; gap:12px; }
#evolvi-write-status[hidden] { display:none; }
#evolvi-write-status[data-error="true"] { border-color:#e5b56b; }
#evolvi-write-status button { flex-shrink:0; min-height:44px; }
:is(button,a,input,textarea,select,summary):focus-visible { outline:2px solid #83c5ff; outline-offset:3px; }
@media(max-width:480px) { #evolvi-write-status { flex-direction:column; align-items:stretch; gap:6px; } }
.real-auth-shell { min-height:100vh; display:grid; grid-template-columns:1.08fr .92fr; background:var(--bg); }
.real-auth-brand { padding:clamp(30px,5vw,72px); background:var(--surface-raised); color:var(--text); display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }
.real-auth-brand:after { display:none; }
.real-auth-brand > * { position:relative; z-index:1; }
.real-auth-logo { display:flex; align-items:center; gap:11px; font-size:17px; font-weight:800; letter-spacing:1.7px; }
.real-auth-logo img { width:38px; height:38px; }
.real-auth-brand h1 { font-size:clamp(48px,6vw,86px); }
.real-auth-brand p { color:var(--text); font-size:17px; line-height:1.65; max-width:520px; }
.real-auth-brand small { color:var(--text-secondary); }
.real-auth-panel { display:grid; min-width:0; place-items:center; padding:clamp(28px,7vw,90px); }
.real-auth-card { width:100%; max-width:410px; min-width:0; }
.auth-card-mark { width:46px; height:46px; margin-bottom:16px; }
.real-auth-card h2 { margin:7px 0; font-size:30px; letter-spacing:-1.4px; }
.real-auth-card > p { margin:0 0 24px; color:var(--text-secondary); font-size:13px; line-height:1.5; }
.real-auth-card label { display:block; margin-top:14px; }
.real-auth-card label span { display:block; font-size:11px; font-weight:800; margin-bottom:6px; }
.real-auth-card input { width:100%; padding:13px 14px; border:1px solid var(--border); border-radius:10px; outline:none; background:var(--surface); color:var(--text); font-size:16px; }
.real-auth-card input:focus { border-color:var(--text); box-shadow:0 0 0 3px rgba(0,0,0,.18); }
.auth-message { margin-top:14px; padding:10px 12px; border-radius:9px; background:var(--surface); color:var(--text); font-size:11px; line-height:1.45; }
.auth-switch { display:block; margin:16px auto 0; border:0; background:transparent; color:var(--text); font-size:11px; font-weight:800; }
.auth-forgot { display:block; margin:9px 0 0 auto; padding:0; border:0; background:transparent; color:var(--text); font-size:11px; font-weight:800; }
.auth-forgot:hover, .auth-switch:hover { text-decoration:underline; }
.auth-success-mark { display:grid; place-items:center; width:58px; height:58px; margin:0 0 18px; border-radius:18px; background:var(--surface); color:var(--text); font-size:27px; font-weight:900; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: 1.08fr .92fr; background:var(--bg); }
.login-visual { position: relative; overflow: hidden; padding: clamp(28px, 5vw, 70px); background:var(--surface-raised); color:var(--text); display: flex; flex-direction: column; justify-content: space-between; }
.login-visual:before,.login-visual:after { display:none; }
.brand { position:relative; z-index:1; display:flex; align-items:center; }
.brand-logo { display:inline-flex; align-items:center; gap:10px; }
.brand-symbol { width:34px; height:34px; display:block; }
.brand-wordmark { color:var(--text); font-size:17px; font-weight:800; letter-spacing:1.7px; line-height:1; }
.login-visual .brand-wordmark { color:var(--text); }
.brand-logo.compact .brand-symbol { width:27px; height:27px; filter:none; }
.login-copy { position: relative; z-index: 1; max-width: 690px; }
.eyebrow { color:var(--text-secondary); text-transform: uppercase; letter-spacing: 1.5px; font-weight: 800; font-size: 10px; }
.login-copy .eyebrow { color:var(--primary); }
h1 { font-family: 'Playfair Display', Georgia, serif; font-weight: 600; letter-spacing: -2.4px; line-height: .98; font-size: clamp(50px, 6.1vw, 91px); margin: 18px 0 24px; }
.login-copy p { font-size: 18px; line-height: 1.65; max-width: 490px; color:var(--text); }
.login-stats { position: relative; z-index: 1; display: flex; gap: 42px; font-size: 12px; color:var(--text-secondary); }
.login-stats strong { display: block; color:var(--text); font-size: 28px; letter-spacing: -1.5px; }
.login-panel { padding: clamp(32px, 7vw, 95px); display: flex; align-items: center; justify-content: center; }
.login-card { width: 100%; max-width: 400px; }
.login-card h2 { font-size: 28px; letter-spacing: -1.4px; margin: 14px 0 7px; }
.login-card > p { font-size: 14px; color:var(--text-secondary); margin: 0 0 28px; }
.role-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 20px 0; }
.role-btn { padding: 16px 11px; background:var(--surface); border:1px solid var(--border); color:var(--text); border-radius:14px; text-align: left; font-weight: 800; line-height: 1.3; }
.role-btn small { display: block; font-weight: 500; color:var(--text-secondary); margin-top: 3px; }
.role-btn.active { border-color:var(--text); background:var(--surface); box-shadow:inset 0 0 0 1px var(--text); }
.field-label { font-size: 12px; font-weight: 800; display: block; margin: 18px 0 7px; }
.field, .input { width: 100%; border:1px solid var(--border); background:var(--surface); border-radius:10px; padding: 13px 14px; outline: none; color:var(--text); }
.field:focus, .input:focus { border-color:var(--text); box-shadow:0 0 0 3px rgba(0,0,0,.18); }
.primary { border:1px solid var(--primary); border-radius:11px; color:var(--primary-ink); background:var(--primary); padding: 13px 17px; font-weight: 800; display: inline-flex; justify-content: center; align-items: center; gap: 8px; transition: transform .18s, background .18s; }
.primary:hover { transform: translateY(-1px); background:var(--primary); border-color:var(--primary); }
.primary.full { width: 100%; margin-top: 24px; }
.ghost.full { width:100%; }
.ghost, .icon-btn { border:1px solid var(--border); border-radius:10px; background:transparent; color:var(--text); padding: 11px 13px; font-weight: 700; }
.ghost:hover, .icon-btn:hover { background:var(--surface-raised); }
.tiny-note { text-align: center; color:var(--text-secondary); font-size: 11px; margin-top: 19px; line-height: 1.5; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 246px 1fr; background:var(--bg); }
.sidebar { border-right:1px solid var(--border); padding: 26px 15px 18px; display: flex; flex-direction: column; background:var(--surface); }
.sidebar .brand { margin: 0 8px 43px; color:var(--text); }
.nav-group { margin-bottom: 22px; }
.nav-label { color:var(--text-secondary); font-size: 10px; font-weight: 800; letter-spacing: 1.3px; text-transform: uppercase; margin: 0 12px 7px; }
.nav-item { border:0; background:transparent; display: flex; width: 100%; align-items: center; gap: 11px; color:var(--text); font-size: 13px; font-weight: 700; padding: 11px 12px; border-radius:9px; text-align: left; margin: 1px 0; }
.nav-item:hover { background:var(--surface-raised); color:var(--text); }
.nav-item.active { background:var(--primary); color:var(--primary-ink); }
.nav-icon { width:18px; height:18px; display:grid; place-items:center; flex:none; }
.nav-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.nav-text { min-width:0; }
.sidebar-bottom { margin-top: auto; }
.coach-tip { padding: 13px; background:var(--surface); border-radius:12px; font-size: 11px; line-height: 1.5; color:var(--text); margin: 0 2px 16px; }
.coach-tip strong { display: block; color:var(--text); font-size: 12px; margin-bottom: 3px; }
.profile { padding: 10px 8px; border-top:1px solid var(--border); display: flex; gap: 10px; align-items: center; }
.avatar { width: 33px; height: 33px; background:var(--surface); border-radius:50%; display: grid; place-items: center; font-weight: 800; font-size: 11px; color:var(--text); flex: none; }
.profile-info { line-height: 1.2; min-width: 0; }
.profile-info strong { font-size: 12px; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.profile-info span { font-size: 10px; color:var(--text-secondary); }
.profile button { margin-left: auto; padding: 6px; border:0; background:transparent; color:var(--text-secondary); }
.main { min-width: 0; }
.topbar { height: 78px; padding: 0 clamp(20px, 3.5vw, 52px); border-bottom:1px solid var(--border); display: flex; align-items: center; justify-content: space-between; background:var(--surface); position: sticky; top: 0; z-index: 5; backdrop-filter: blur(12px); }
.crumb { display: flex; align-items: center; gap: 10px; font-size: 12px; color:var(--text-secondary); }
.crumb .slash { color:var(--text-secondary); }
.crumb strong { color:var(--text); }
.top-actions { display: flex; align-items: center; gap: 10px; }
.topbar-logout { display:none; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); padding:8px 10px; font-size:10px; font-weight:800; }
.date-chip { color:var(--text-secondary); font-size: 12px; margin-right: 8px; }
.bell { position: relative; font-size: 16px; padding: 9px 11px; }
.bell svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.bell-count { position:absolute; top:-7px; right:-8px; min-width:19px; height:19px; padding:0 4px; border-radius:10px; background:var(--primary); color:var(--primary-ink); font-size:11px; font-weight:800; display:grid; place-items:center; border:2px solid var(--bg); }
.coach-quick-actions { display:flex; justify-content:flex-end; margin:12px 0 16px; }
.notifications-modal { width:min(680px,100%); }
.notification-list { max-height:min(62vh,620px); overflow-y:auto; display:grid; gap:9px; }
.notification-item { display:flex; align-items:flex-start; gap:12px; padding:15px; border:1px solid var(--border); border-radius:13px; background:var(--surface); }
.notification-item.is-unread { background:var(--surface-raised); border-left:3px solid var(--text-secondary); }
.notification-symbol { width:35px; height:35px; flex:none; border-radius:10px; display:grid; place-items:center; background:var(--surface-raised); color:var(--text); font-size:19px; font-weight:800; }
.notification-copy { min-width:0; flex:1; }
.notification-heading { display:flex; gap:9px; align-items:center; flex-wrap:wrap; }
.notification-heading strong { font-size:14px; line-height:1.4; }
.notification-new { color:var(--text); background:var(--surface-raised); border:1px solid var(--border); border-radius:99px; padding:3px 8px; font-size:12px; font-weight:800; }
.notification-copy p { color:var(--text); font-size:14px; line-height:1.5; white-space:pre-wrap; margin:5px 0; overflow-wrap:anywhere; }
.notification-copy small { color:var(--text-secondary); font-size:12px; }
.notification-read { flex:none; align-self:center; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); padding:9px 10px; font-size:12px; font-weight:800; }
.notification-read:hover { background:var(--surface-raised); }
.notification-empty { padding:34px 18px; text-align:center; border:1px dashed var(--border); border-radius:13px; }
.notification-empty strong { font-size:15px; }
.notification-empty p { color:var(--text-secondary); font-size:14px; }
.notification-alert-content,.program-coach-message { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:16px; color:var(--text); font-size:15px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.program-coach-message { margin-bottom:18px; }
.program-coach-message p { margin:8px 0 0; }
.field-help { color:var(--text-secondary); font-size:13px; line-height:1.5; margin:7px 0 0; }
@media (max-width:700px) {
  .notification-item { flex-wrap:wrap; }
  .notification-read { margin-left:47px; }
  .notification-list { max-height:calc(100dvh - 220px); }
  .coach-quick-actions .ghost { width:100%; }
}
.content { max-width: 1460px; margin: auto; padding: 34px clamp(20px, 3.5vw, 52px) 55px; }
.page-head { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 28px; }
.page-head h2 { margin: 4px 0 0; letter-spacing: -1.9px; font-size: 30px; }
.page-head p { color:var(--text-secondary); font-size: 13px; margin: 6px 0 0; }
.head-actions { display: flex; gap: 9px; flex-wrap: wrap; }
.hero { background:var(--surface-raised); color:var(--text); padding: clamp(23px, 3.4vw, 45px); position: relative; border-radius:18px; overflow: hidden; min-height: 254px; display: flex; justify-content: space-between; align-items: end; }
.hero:after,.hero:before { display:none; }
.hero-text { position:relative; z-index: 1; max-width: 550px; }
.hero .eyebrow { color:var(--primary); }
.hero h2 { font-family: 'Playfair Display'; font-size: clamp(32px, 4vw, 53px); line-height: 1; letter-spacing: -1.8px; font-weight: 600; margin: 12px 0; }
.hero p { margin: 0 0 22px; color:var(--text); font-size: 14px; }
.hero .primary { background:var(--primary); }
.hero-meta { position:relative; z-index: 1; min-width: 205px; border-left:1px solid var(--border); padding: 8px 0 8px 25px; font-size: 12px; color:var(--text-secondary); }
.hero-meta strong { display: block; color:var(--text); font-size: 17px; margin: 4px 0 14px; }
.hero-meta .progressline { height: 5px; background:var(--surface); width: 180px; border-radius:10px; overflow:hidden; }
.hero-meta .progressline i { display:block; height:100%; width: 62%; background:var(--primary); border-radius:inherit; }
.dash-grid { margin-top: 21px; display:grid; grid-template-columns: 1.22fr .78fr; gap: 21px; }
.stats-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.stat { border:1px solid var(--border); border-radius:13px; padding: 17px; background:var(--surface); }
.stat .stat-label { color:var(--text-secondary); font-size: 11px; font-weight: 700; }
.stat .stat-number { font-size: 28px; letter-spacing: -1.3px; font-weight: 800; margin-top: 8px; }
.stat .stat-trend { font-size: 10px; color:var(--text); font-weight: 800; }
.stat .stat-trend.orange { color:var(--text); }
.card { border:1px solid var(--border); background:var(--surface); border-radius:14px; }
.card-head { display:flex; align-items: center; justify-content:space-between; padding: 18px 19px 13px; }
.card-head h3 { font-size: 14px; margin: 0; letter-spacing: -.3px; }
.text-btn { padding: 0; border:0; background:transparent; color:var(--text); font-weight: 800; font-size: 11px; }
.schedule { margin-top: 21px; }
.workout-row { display:grid; grid-template-columns: 42px 1fr auto; gap: 11px; align-items:center; padding: 11px 18px; border-top:1px solid var(--border); }
.day-badge { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; background:var(--surface); color:var(--text); font-size: 11px; font-weight: 800; }
.workout-row h4 { margin:0; font-size: 12px; }
.workout-row p { font-size:10px; color:var(--text-secondary); margin:2px 0 0; }
.dashboard-program { margin-top:21px; overflow:hidden; }
.dashboard-program .card-head p { margin:4px 0 0; color:var(--text-secondary); font-size:10px; }
.workout-row-action { width:100%; grid-template-columns:42px 1fr auto 22px; border:0; border-top:1px solid var(--border); background:var(--surface); color:var(--text); text-align:left; cursor:pointer; transition:background .18s,transform .18s; }
.workout-row-action:hover { background:var(--surface-raised); }
.workout-row-action:active { transform:scale(.995); }
.row-arrow { color:var(--text); font-size:16px; font-weight:900; text-align:right; }
.status { color:var(--text-secondary); font-size:10px; font-weight:700; }
.status.done { color:var(--positive); }
.status.now { color:var(--text); background:var(--surface-raised); padding:5px 8px; border-radius:8px; }
.card-tag.now { color:var(--text); background:var(--surface-raised); }
.right-stack { display:grid; gap: 21px; }
.measure-mini { padding: 0 19px 18px; }
.measure-line { display:flex; align-items:end; justify-content:space-between; }
.measure-line b { font-size:33px; letter-spacing:-1.7px; }
.measure-line span { color:var(--text-secondary); font-size:10px; margin-bottom:6px; }
.spark { width:100%; height:53px; margin:10px 0 5px; }
.legend { display:flex; gap:12px; font-size:10px; color:var(--text-secondary); }
.legend i { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--text); margin-right:4px; }
.legend i.violet { background:var(--text-secondary); }
.reminder-list { padding: 0 19px 14px; }
.reminder { display:flex; gap:10px; padding: 10px 0; border-top:1px solid var(--border); align-items:center; }
.reminder-icon { width:30px; height:30px; display:grid; place-items:center; border-radius:8px; background:var(--surface); font-size:14px; }
.reminder h4 { margin:0; font-size:11px; }
.reminder p { margin:2px 0 0; font-size:10px; color:var(--text-secondary); }
.reminder .when { font-size:10px; font-weight:700; margin-left:auto; color:var(--text); white-space:nowrap; }
.program-grid { display:grid; grid-template-columns: repeat(5, minmax(150px,1fr)); gap:12px; }
.day-card { border:1px solid var(--border); background:var(--surface); border-radius:13px; padding:16px; min-height:190px; position:relative; transition:.2s; }
.day-card:hover { border-color:var(--text-muted); transform:translateY(-2px); box-shadow:var(--shadow); }
.day-card .program-day { color:var(--text-secondary); text-transform:uppercase; font-size:9px; letter-spacing:1.2px; font-weight:800; }
.day-card h3 { font-size:14px; margin:8px 0 6px; letter-spacing:-.4px; }
.day-card p { font-size:10px; line-height:1.55; color:var(--text-secondary); margin:0; }
.day-card .card-tag { position:absolute; bottom:14px; left:16px; font-size:9px; font-weight:800; background:var(--surface); color:var(--text); border-radius:5px; padding:4px 6px; }
.day-card.current { border-color:var(--text-secondary); box-shadow:inset 0 0 0 1px var(--text-secondary); }
.day-card.current .card-tag { color:var(--text); background:var(--surface-raised); }
.day-card.completed-day { border-color:var(--positive); background:var(--surface-raised); }
.day-card .card-tag.done { color:var(--positive); background:var(--surface-raised); }
.last-workout-summary { min-width:220px; padding:10px 13px; border:1px solid var(--border); border-radius:11px; background:var(--surface); }
.last-workout-summary span,.last-workout-summary strong,.last-workout-summary small { display:block; }
.last-workout-summary span { color:var(--text-secondary); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.4px; }
.last-workout-summary strong { margin-top:3px; color:var(--text); font-size:14px; }
.last-workout-summary small { margin-top:2px; color:var(--text-secondary); font-size:10px; }
.session-layout { margin-top:24px; display:grid; grid-template-columns: 1fr 274px; gap:21px; align-items:start; }
.session-card { overflow:hidden; }
.session-heading { background:var(--surface-raised); padding:25px; color:var(--text); display:flex; justify-content:space-between; align-items:center; }
.session-heading h3 { margin:4px 0 0; font-size:23px; letter-spacing:-1px; }
.session-heading .eyebrow { color:var(--primary); }
.time-chip { font-family:'DM Mono'; font-size:11px; color:var(--primary); border:1px solid var(--border); padding:7px 9px; border-radius:8px; min-width:86px; text-align:center; }
.time-chip.rest-active { background:var(--surface); animation:pulse 1.6s infinite; }
.time-chip.rest-done { color:var(--text); background:var(--surface); border-color:var(--border); }
.exercise { padding:18px 21px; border-bottom:1px solid var(--border); }
.exercise-top { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:13px; }
.exercise h4 { margin:0; font-size:13px; }
.exercise small { color:var(--text-secondary); font-size:10px; }
.sets { display:grid; grid-template-columns: 34px 1.1fr 1fr 1fr .7fr .88fr; gap:8px; align-items:center; }
.set-row { grid-column:1 / -1; display:grid; grid-template-columns:34px 1.1fr 1fr 1fr .7fr .88fr; gap:8px; align-items:center; padding:4px 6px; margin:0 -6px; border-radius:9px; transition:background .2s, box-shadow .2s; }
.set-row.is-complete { background:var(--surface-raised); box-shadow:inset 3px 0 0 var(--positive); }
.set-row.is-complete .set-input { background:var(--surface); border-color:var(--border); }
.set-row.is-complete .set-number,.set-row.is-complete .last { color:var(--positive); font-weight:800; }
.set-context { grid-column:1 / -1; display:flex; align-items:center; gap:12px; margin-top:9px; padding:7px 9px; border-radius:8px; background:var(--surface); color:var(--text); font-size:10px; }
.set-context strong { color:var(--text); }
.set-context span:last-child { margin-left:auto; color:var(--text); font-weight:700; }
.set-head { font-size:9px; color:var(--text-secondary); font-weight:800; text-transform:uppercase; letter-spacing:.5px; padding-bottom:3px; }
.set-number { font-family:'DM Mono'; font-size:11px; color:var(--text); font-weight:500; }
.set-input { min-width:0; border:1px solid var(--border); background:var(--surface); border-radius:7px; padding:8px; font-size:11px; color:var(--text); }
.set-input:focus::placeholder { color:transparent; }
.exercise-technique { display:flex; align-items:end; justify-content:space-between; gap:12px; margin:12px 0 15px; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.exercise-technique label { flex:1; }
.exercise-technique label > span { display:block; margin-bottom:5px; color:var(--text); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.45px; }
.exercise-technique .input { padding:8px 10px; font-size:12px; }
.exercise-technique > small { max-width:240px; color:var(--text-secondary); font-size:10px; line-height:1.45; }
.technique-badge { display:inline-block; margin:7px 0 0; padding:4px 7px; border-radius:6px; background:var(--surface); color:var(--text); font-size:9px; font-weight:800; }
.history-exercise h4 .technique-badge { margin:0 0 0 8px; vertical-align:middle; }
.last { color:var(--text-secondary); font-size:10px; text-align:right; }
.set-confirm { border:1px solid var(--border); border-radius:7px; background:var(--surface-raised); color:var(--text); padding:8px 6px; font-size:12px; font-weight:800; white-space:nowrap; }
.set-confirm:hover { background:var(--border); }
.set-confirm.is-saved { background:var(--surface-raised); color:var(--positive); border-color:var(--positive); box-shadow:none; }
.set-confirm.is-saved:hover { background:var(--border); }
.set-confirm.just-saved { background:var(--positive); color:var(--bg); }
.session-footer { padding:18px 21px; display:flex; justify-content:space-between; align-items:center; }
.session-footer .muted { font-size:10px; color:var(--text-secondary); max-width:330px; }
.session-footer-actions { display:flex; align-items:center; gap:9px; }
.danger,.danger-ghost { border-radius:9px; padding:11px 14px; font-weight:800; }
.danger { border:1px solid var(--danger); background:var(--surface-raised); color:var(--danger); }
.danger-ghost { border:1px solid var(--danger); background:transparent; color:var(--danger); }
.session-note { padding:19px; }
.session-note textarea { width:100%; min-height:104px; resize:vertical; border:1px solid var(--border); border-radius:9px; padding:11px; background:var(--surface); color:var(--text); font-size:11px; outline:none; }
.session-note textarea:focus { border-color:var(--text); }
.exercise-note-editor { margin-top:16px; padding:13px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.exercise-note-editor label { display:block; margin-bottom:6px; color:var(--text); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.45px; }
.exercise-note-editor textarea { width:100%; min-height:70px; resize:vertical; border:1px solid var(--border); border-radius:8px; padding:10px; background:var(--surface); color:var(--text); font:inherit; font-size:12px; line-height:1.5; outline:none; }
.exercise-note-editor textarea:focus { border-color:var(--text); box-shadow:0 0 0 3px rgba(0,0,0,.18); }
.exercise-note-editor .text-btn { margin-top:8px; }
.preview-mode .session-heading { background:var(--surface); }
.preview-exercise { background:var(--surface); }
.preview-sets { display:grid; gap:6px; }
.preview-set { display:grid; grid-template-columns:60px repeat(3,1fr); gap:10px; align-items:center; padding:9px 11px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text-secondary); font-size:10px; }
.preview-set strong { color:var(--text); font-size:11px; }
.exercise-empty { padding:12px; border:1px dashed var(--border); border-radius:8px; color:var(--text-secondary); font-size:10px; line-height:1.5; }
.preview-help { padding:20px; }
.preview-help h3 { margin:0 0 7px; font-size:14px; }
.preview-help p { margin:0; color:var(--text-secondary); font-size:11px; line-height:1.6; }
.previous-card { padding:4px 18px 15px; }
.prev-stat { padding:13px 0; border-bottom:1px solid var(--border); }
.prev-stat span { display:block; color:var(--text-secondary); font-size:10px; }
.prev-stat strong { font-size:13px; margin-top:3px; display:block; }
.calendar-layout { display:grid; grid-template-columns: minmax(0, 1fr) 310px; gap:21px; }
.calendar-card { padding:21px; }
.month-nav { display:flex; align-items:center; justify-content:space-between; margin-bottom:17px; }
.month-nav h3 { margin:0; font-size:17px; letter-spacing:-.6px; }
.month-actions { display:flex; gap:4px; }
.month-actions button { border:1px solid var(--border); background:var(--surface-raised); color:var(--text); border-radius:7px; min-width:36px; width:auto; padding:0 10px; height:36px; flex-shrink:0; font-weight:800; }
.month-actions button:disabled { cursor:default; opacity:.45; }
.plan-warning { margin:0 0 14px; padding:10px 12px; border-radius:9px; background:var(--surface); color:var(--text); font-size:11px; line-height:1.45; font-weight:700; }
.calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); border-top:1px solid var(--border); border-left:1px solid var(--border); }
.dow { color:var(--text-secondary); text-align:center; font-size:9px; text-transform:uppercase; font-weight:800; letter-spacing:.8px; padding:10px 2px; border-bottom:1px solid var(--border); border-right:1px solid var(--border); }
.cal-day { position:relative; aspect-ratio: 1.25 / 1; padding:9px; border:0; border-right:1px solid var(--border); border-bottom:1px solid var(--border); border-radius:0; background:var(--surface); min-width:0; text-align:left; color:var(--text); }
button.cal-day:hover { background:var(--surface-raised); }
.cal-day.off { color:var(--text-muted); background:var(--bg); }
.cal-day.today { box-shadow:inset 0 0 0 2px var(--text); z-index:1; }
.date-no { font: 500 10px 'DM Mono'; }
.event-dot { position:absolute; left:9px; bottom:8px; width:7px; height:7px; background:var(--text); border-radius:50%; box-shadow:10px 0 0 var(--text-secondary); }
.event-dot.workout { box-shadow:none; }
.event-dot.draft { background:transparent; border:2px solid var(--warning); box-shadow:none; width:9px; height:9px; }
.event-dot.measure { background:var(--text-secondary); box-shadow:none; }
.event-dot.photo { background:var(--text-muted); box-shadow:none; }
.event-dot.rest { background:var(--text-muted); box-shadow:none; }
.event-dot.rest-measure { background:var(--text-muted); box-shadow:10px 0 0 var(--text-secondary); }
.cal-day.selected { background:var(--surface-raised); box-shadow:inset 0 0 0 1px var(--text-muted); }
.event-detail { padding:20px; }
.detail-empty { color:var(--text-secondary); font-size:12px; padding: 22px 0; line-height:1.6; }
.event-date { color:var(--text-secondary); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.7px; }
.event-detail h3 { font-size:19px; letter-spacing:-.8px; margin:6px 0 4px; }
.event-detail > p { margin:0 0 17px; color:var(--text-secondary); font-size:11px; }
.detail-kpi { display:grid; grid-template-columns:1fr 1fr; background:var(--surface-raised); border-radius:9px; overflow:hidden; margin:14px 0; }
.detail-kpi div { padding:11px; font-size:10px; color:var(--text-secondary); }
.detail-kpi div+div { border-left:1px solid var(--border); }
.detail-kpi strong { display:block; font-size:13px; color:var(--text); margin-top:3px; }
.detail-list { list-style:none; padding:0; margin:0; }
.detail-list li { padding:9px 0; border-top:1px solid var(--border); display:flex; justify-content:space-between; font-size:11px; }
.detail-list small { color:var(--text-secondary); }
.measure-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:21px; }
.metric-card { padding: 21px; min-height: 300px; }
.metric-card .metric-main { display:flex; align-items:flex-end; gap:9px; margin:23px 0 12px; }
.metric-main b { font-size:42px; letter-spacing:-2px; line-height:1; }
.metric-main span { color:var(--text-secondary); font-size:11px; padding-bottom:5px; }
.change { color:var(--text); font-size:11px; font-weight:800; }
.chart-wrap { height:150px; margin:15px -5px 0; position:relative; }
.measure-chart-empty { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px dashed var(--border); border-radius:10px; background:var(--surface); color:var(--text-secondary); text-align:center; }
.measure-chart-empty strong { color:var(--text); font-size:11px; }
.measure-chart-empty span { margin-top:4px; font-size:9px; }
.measure-chart-empty.compact { min-height:53px; margin:10px 0 5px; }
.chart-wrap:has(.measure-chart-empty) + .chart-labels { visibility:hidden; }
.big-chart { width:100%; height:100%; overflow:visible; }
.chart-labels { display:flex; justify-content:space-between; color:var(--text-secondary); font:9px 'DM Mono'; margin:2px 4px; }
.circ-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin-top:16px; }
.circ { padding:13px; border:1px solid var(--border); border-radius:10px; }
.circ span { display:block; font-size:10px; color:var(--text-secondary); }
.circ b { display:block; margin-top:5px; font-size:16px; letter-spacing:-.6px; }
.circ em { color:var(--text); font-size:9px; font-style:normal; font-weight:800; }
.history-table { margin-top:21px; overflow:hidden; }
.table-row { display:grid; grid-template-columns:1.25fr repeat(4,1fr); border-top:1px solid var(--border); padding: 11px 18px; gap:8px; font-size:11px; }
.table-row.head { border-top:0; color:var(--text-secondary); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; background:var(--surface); }
.table-row .up { color:var(--text); font-weight:800; }
.body-overview-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr); gap:21px; align-items:stretch; }
.body-overview-grid .card-head h3,.circumference-summary .card-head h3 { margin:0; }
.body-overview-grid .card-head p,.circumference-summary .card-head p { margin:4px 0 0; color:var(--text-secondary); font-size:10px; }
.photo-overview { padding:21px; min-height:300px; }
.photo-overview-actions { display:flex; align-items:center; gap:10px; }
.photo-overview-actions .ghost { padding:8px 10px; font-size:10px; }
.progress-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:16px; }
.progress-photo-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.progress-photo { min-width:0; padding:0; aspect-ratio:4 / 5; overflow:hidden; border:1px solid var(--border); border-radius:12px; background:var(--surface); cursor:pointer; }
.progress-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .2s; }
.progress-photo:hover img { transform:scale(1.025); }
.progress-photo.unavailable { display:grid; place-items:center; padding:10px; color:var(--text-secondary); font-size:9px; text-align:center; }
.photo-empty { min-height:215px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:22px; border:1px dashed var(--border); border-radius:12px; background:var(--surface); text-align:center; }
.photo-empty > span { display:grid; place-items:center; width:38px; height:38px; margin-bottom:10px; border-radius:12px; background:var(--surface); color:var(--text); font-size:22px; }
.photo-empty strong { font-size:13px; }
.photo-empty p { max-width:260px; margin:6px 0 15px; color:var(--text-secondary); font-size:10px; line-height:1.5; }
.circumference-summary { margin-top:21px; padding-bottom:20px; }
.circumference-summary .circ-grid { padding:0 20px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.checkin-history { margin-top:30px; }
.section-title { display:flex; align-items:end; justify-content:space-between; margin-bottom:14px; }
.section-title h3 { margin:5px 0 0; font-size:20px; letter-spacing:-.6px; }
.section-title p { margin:4px 0 0; color:var(--text-secondary); font-size:11px; }
.checkin-list { display:grid; gap:14px; }
.checkin-entry { padding:18px; }
.checkin-entry-head { display:flex; justify-content:space-between; align-items:start; gap:14px; }
.checkin-entry-head h3 { margin:5px 0 0; font-size:16px; }
.checkin-entry .progress-photo-grid { max-width:620px; grid-template-columns:repeat(auto-fill,minmax(112px,150px)); }
.checkin-more-photos { margin-top:10px; padding:9px 11px; font-size:10px; }
.checkin-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(105px,1fr)); gap:8px; margin-top:15px; }
.checkin-metrics > div { padding:10px 11px; border-radius:9px; background:var(--surface); }
.checkin-metrics span,.checkin-metrics strong { display:block; }
.checkin-metrics span { color:var(--text-secondary); font-size:9px; }
.checkin-metrics strong { margin-top:3px; font-size:11px; }
.checkin-note { margin-top:14px; padding:10px 12px; border-left:3px solid var(--border); border-radius:0 8px 8px 0; background:var(--surface); }
.checkin-note p { margin:0; color:var(--text-secondary); font-size:10px; line-height:1.55; }
.checkin-note p+p { margin-top:5px; }
.checkin-empty { min-height:170px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:28px; border:1px dashed var(--border); border-radius:13px; background:var(--surface); color:var(--text-secondary); text-align:center; }
.checkin-empty strong { color:var(--text); font-size:13px; }
.checkin-empty span { max-width:380px; margin-top:5px; font-size:10px; line-height:1.5; }
.checkin-photo-field { margin-bottom:17px; }
.checkin-photo-field > label { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:125px; padding:18px; border:1px dashed var(--border); border-radius:12px; background:var(--surface); color:var(--text); text-align:center; cursor:pointer; }
.checkin-photo-field > label:hover { border-color:var(--text); background:var(--surface); }
.photo-upload-icon { display:grid; place-items:center; width:34px; height:34px; margin-bottom:8px; border-radius:10px; background:var(--surface-raised); color:var(--text); font-size:19px; }
.checkin-photo-field small { margin-top:4px; color:var(--text-secondary); font-size:9px; }
#measure-photo { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.photo-upload-preview { display:flex; align-items:center; flex-wrap:wrap; gap:10px; min-height:36px; margin-top:8px; color:var(--text-secondary); font-size:10px; }
.photo-upload-preview img { width:54px; height:54px; object-fit:cover; border-radius:9px; border:1px solid var(--border); }
.photo-upload-preview-grid { width:100%; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.photo-upload-preview-grid figure { min-width:0; margin:0; }
.photo-upload-preview-grid img { width:100%; height:auto; aspect-ratio:1; }
.photo-upload-preview-grid figcaption { margin-top:3px; overflow:hidden; color:var(--text-secondary); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.checkin-pagination { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:16px; padding:15px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.checkin-pagination span { color:var(--text-secondary); font-size:11px; }
.checkin-pagination.complete { padding:10px; background:transparent; border-style:dashed; }
.calendar-photo-block { margin-top:16px; padding-top:12px; border-top:1px solid var(--border); }
.calendar-photo-block .card-head { padding:0; }
.calendar-photo-block .card-head h4 { margin:0; font-size:11px; }
.calendar-photo-block .card-head span { color:var(--text-secondary); font-size:9px; }
.calendar-photo-block .progress-photo-grid { grid-template-columns:repeat(3,1fr); gap:6px; }
.progress-photo-modal { width:min(760px,100%); }
.photo-gallery-modal { width:min(860px,100%); }
.photo-gallery-groups { display:grid; gap:16px; }
.photo-date-group { padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--bg); }
.photo-date-group > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.photo-date-group > div:first-child strong { font-size:10px; color:var(--text-secondary); }
.photo-date-group > p { margin:10px 0 0; color:var(--text-secondary); font-size:10px; line-height:1.5; }
.photo-date-group .progress-photo-grid { grid-template-columns:repeat(auto-fill,minmax(125px,1fr)); }
.progress-photo-modal .modal-body > img { display:block; width:100%; max-height:68vh; object-fit:contain; border-radius:12px; background:var(--surface); }
.training-stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:21px; }
.training-stat { min-width:0; padding:17px 18px; border:1px solid var(--border); border-radius:13px; background:var(--surface); }
.training-stat > span { display:block; color:var(--text-secondary); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; }
.training-stat strong { display:block; margin:8px 0 5px; color:var(--text); font-size:27px; line-height:1; letter-spacing:-1.2px; }
.training-stat small { display:block; color:var(--text-secondary); font-size:9px; line-height:1.4; }
.progress-layout { display:grid; grid-template-columns:1fr 1fr; gap:21px; }
.progress-card { min-width:0; padding:21px; }
.progress-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.progress-card-head h3,.training-insight h3 { margin:4px 0 0; font-size:16px; letter-spacing:-.5px; }
.mini-label { color:var(--text-secondary); font-size:9px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; }
.progress-badge { flex:0 0 auto; padding:5px 7px; border-radius:7px; background:var(--surface); color:var(--text-secondary); font-size:9px; font-weight:800; }
.progress-badge.positive { background:var(--surface); color:var(--text); }
.exercise-filter { width:min(210px,48%); padding:8px 9px; font-size:10px; }
.progress-main-value { display:flex; align-items:baseline; gap:8px; margin:20px 0 8px; }
.progress-main-value strong { color:var(--text); font-size:30px; letter-spacing:-1.4px; }
.progress-main-value span { color:var(--text-secondary); font-size:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.training-chart { width:100%; height:190px; overflow:visible; }
.training-chart-labels { display:flex; justify-content:space-between; min-height:12px; color:var(--text-secondary); font:9px 'DM Mono'; }
.training-chart-empty { height:202px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px dashed var(--border); border-radius:11px; background:var(--surface); }
.training-chart-empty strong { font-size:12px; }
.training-chart-empty span { max-width:280px; margin-top:5px; color:var(--text-secondary); font-size:10px; line-height:1.5; }
.progress-bottom { display:grid; grid-template-columns:.8fr 1.2fr; gap:21px; margin-top:21px; }
.training-insight { padding:22px; background:var(--surface-raised); color:var(--text); border:0; }
.training-insight .mini-label { color:var(--text-secondary); }
.training-insight p { margin:12px 0 19px; color:var(--text); font-size:11px; line-height:1.65; }
.insight-legend { display:grid; gap:8px; color:var(--text-secondary); font-size:9px; }
.insight-legend i { display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:var(--primary); }
.recent-training { overflow:hidden; }
.recent-training-row { width:100%; display:grid; grid-template-columns:1fr auto minmax(70px,auto); gap:15px; align-items:center; padding:12px 18px; border:0; border-top:1px solid var(--border); background:var(--surface); color:var(--text); text-align:left; }
.recent-training-row:hover { background:var(--surface); }
.recent-training-row strong,.recent-training-row small { display:block; }
.recent-training-row strong { font-size:11px; }
.recent-training-row small,.recent-training-row > span:nth-child(2) { margin-top:3px; color:var(--text-secondary); font-size:9px; }
.recent-training-row b { color:var(--text); font-size:11px; text-align:right; }
.training-list-empty { padding:28px 18px; border-top:1px solid var(--border); color:var(--text-secondary); font-size:11px; text-align:center; }
.coach-layout { display:grid; grid-template-columns: 270px minmax(0,1fr); gap:21px; min-width:0; }
.coach-mobile-picker { display:none; }
.client-list { overflow:hidden; }
.client-search { padding:0 14px 14px; }
.client-search input { padding:9px 11px; font-size:11px; }
.client { width:100%; padding:13px 16px; border:0; border-top:1px solid var(--border); display:flex; gap:10px; align-items:center; cursor:pointer; text-align:left; background:var(--surface); color:var(--text); }
.client:hover,.client.selected { background:var(--surface); }
.client .avatar { width:30px; height:30px; }
.client strong { display:block; font-size:11px; }
.client span { font-size:10px; color:var(--text-secondary); }
.client .online { margin-left:auto; width:6px; height:6px; background:var(--surface); border-radius:50%; }
.coach-editor { min-width:0; padding:24px; }
.client-top { display:flex; justify-content:space-between; align-items:center; gap:14px; border-bottom:1px solid var(--border); padding-bottom:19px; }
.client-top-info,.client-top-info > div { min-width:0; }
.client-top-info { display:flex; gap:12px; align-items:center; }
.client-top h3 { margin:0; font-size:18px; letter-spacing:-.7px; }
.client-top p { margin:3px 0 0; color:var(--text-secondary); font-size:10px; overflow-wrap:anywhere; }
.coach-draft-status { display:flex; align-items:center; gap:10px; margin:14px 0 0; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--text); }
.coach-draft-status > i { flex:0 0 8px; width:8px; height:8px; border-radius:50%; background:var(--positive); box-shadow:0 0 0 4px var(--surface-raised); }
.coach-draft-status strong,.coach-draft-status span { display:block; }
.coach-draft-status strong { color:var(--text); font-size:10px; }
.coach-draft-status span { margin-top:2px; font-size:9px; line-height:1.4; }
.coach-draft-status.is-dirty { border-color:var(--warning); background:var(--surface-raised); color:var(--warning); }
.coach-draft-status.is-dirty > i { background:var(--warning); box-shadow:0 0 0 4px var(--surface-raised); }
.coach-draft-status.is-dirty strong { color:var(--warning); }
.coach-progress-tabs { display:grid; grid-template-columns:repeat(2,minmax(220px,1fr)); gap:12px; width:100%; margin:0 0 20px; }
.coach-progress-tabs.compact { flex:0 0 auto; width:min(510px,100%); margin:0; }
.coach-progress-tab { display:grid; grid-template-columns:38px minmax(0,1fr) 18px; gap:10px; align-items:center; border:1px solid var(--border); border-radius:13px; padding:12px; background:var(--surface); color:var(--text); text-align:left; box-shadow:0 5px 16px rgba(0,0,0,.18); transition:border-color .2s,background .2s,transform .2s; }
.coach-progress-tab:hover { border-color:var(--text-muted); background:var(--surface-raised); transform:translateY(-1px); }
.coach-progress-tab.active { border-color:var(--text-secondary); background:var(--surface-raised); box-shadow:inset 0 0 0 1px var(--text-secondary); }
.coach-progress-tab > span:nth-child(2) { min-width:0; }
.coach-progress-tab strong { display:block; color:var(--text); font-size:11px; line-height:1.25; }
.coach-progress-tab small { display:block; margin-top:3px; color:var(--text-secondary); font-size:9px; font-weight:600; line-height:1.3; white-space:normal; }
.coach-progress-tab > i { color:var(--text); font-size:15px; font-style:normal; }
.coach-progress-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:var(--surface); color:var(--text); }
.coach-progress-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.client-picker { display:flex; flex-wrap:wrap; gap:8px; margin:-8px 0 20px; }
.client-picker-item { display:flex; align-items:center; gap:8px; border:1px solid var(--border); background:var(--surface); color:var(--text); border-radius:10px; padding:8px 10px; text-align:left; }
.client-picker-item:hover,.client-picker-item.selected { border-color:var(--text-muted); background:var(--surface-raised); }
.client-picker-item .avatar { width:26px; height:26px; font-size:9px; }
.client-picker-item strong { display:block; font-size:10px; }
.client-picker-item small { color:var(--text-secondary); display:block; font-size:9px; margin-top:2px; }
.coach-settings { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; margin:16px 0 2px; padding:14px; border-radius:10px; background:var(--surface); }
.coach-update-note { grid-column:1 / -1; }
.program-update-status { display:flex; flex-wrap:wrap; gap:5px 10px; margin-top:10px; padding:9px 11px; border-left:3px solid var(--text); border-radius:0 8px 8px 0; background:var(--surface); color:var(--text-secondary); font-size:10px; line-height:1.45; }
.program-update-status span { font-weight:800; color:var(--text); }
.program-update-status strong { font-weight:600; color:var(--text); }
.coach-settings label { min-width:0; }
.coach-settings label span { display:block; color:var(--text-secondary); font-size:9px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; margin-bottom:5px; }
.coach-settings .input { padding:9px; font-size:11px; }
.edit-head { color:var(--text-secondary); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; }
.tabs { display:flex; gap:4px; border-bottom:1px solid var(--border); padding-top:17px; overflow-x:auto; }
.tab { white-space:nowrap; padding:10px 11px; border:0; background:transparent; color:var(--text-secondary); font-weight:800; font-size:10px; border-bottom:2px solid transparent; }
.tab.active { color:var(--text); border-bottom-color:var(--text); }
.editor-info { padding:17px 0 12px; display:flex; justify-content:space-between; align-items:center; }
.editor-info h4 { margin:0; font-size:14px; }
.editor-info p { margin:3px 0 0; font-size:10px; color:var(--text-secondary); }
.edit-exercise { display:grid; grid-template-columns: 1.25fr .42fr .42fr .45fr .9fr 32px; gap:7px; margin:8px 0; }
.edit-exercise .input { padding:9px; border-radius:7px; font-size:11px; }
.remove-ex { border:0; background:var(--surface); color:var(--text); border-radius:7px; font-size:16px; }
.coach-exercise-list { display:grid; gap:13px; }
.coach-exercise-card { border:1px solid var(--border); border-radius:12px; padding:13px; background:var(--surface); }
.coach-exercise-main { display:grid; grid-template-columns:minmax(180px,1.5fr) 105px 115px 34px; gap:8px; align-items:end; }
.coach-exercise-main label > span,.superset-config > span { display:block; margin:0 0 5px; color:var(--text-secondary); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.45px; }
.catalog-match { display:block; margin-top:5px; color:var(--text); font-size:9px; line-height:1.35; }
.coach-exercise-main .input,.coach-set-config .input { padding:9px; border-radius:7px; font-size:11px; }
.coach-exercise-main .remove-ex { height:34px; }
.coach-set-list { margin-top:12px; border-top:1px solid var(--border); padding-top:10px; }
.coach-set-head,.coach-set-config { display:grid; grid-template-columns:44px minmax(110px,.7fr) minmax(170px,1fr); gap:8px; align-items:center; }
.coach-set-head { margin-bottom:5px; color:var(--text-secondary); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.45px; }
.coach-set-config { padding:6px 0; border-top:1px solid var(--border); }
.coach-set-number { display:grid; place-items:center; width:30px; height:30px; border-radius:8px; background:var(--surface); color:var(--text); font-family:'DM Mono'; font-size:10px; font-weight:700; }
.superset-config { display:none; grid-column:2 / -1; padding:10px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.superset-config.is-visible { display:block; }
.superset-config small { display:block; margin-top:7px; color:var(--text); font-size:9px; line-height:1.45; }
.superset-config small b { color:var(--text); }
.superset-preview-note { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px; margin:0 0 9px; padding:10px 11px; border-left:3px solid var(--border); border-radius:0 8px 8px 0; background:var(--surface); color:var(--text); font-size:10px; line-height:1.45; }
.superset-preview-note b { color:var(--text); }
.drop-config { display:none; grid-column:2 / -1; padding:10px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.drop-config.is-visible { display:block; }
.drop-config-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.drop-config-head > span,.drop-targets label > span { color:var(--text); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.45px; }
.drop-config-head .input { width:130px; }
.drop-targets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:9px; }
.drop-targets label > span { display:block; margin-bottom:5px; }
.drop-config > small { display:block; margin-top:8px; color:var(--text); font-size:9px; line-height:1.45; }
.superset-athlete-guide { grid-column:1 / -1; display:flex; align-items:center; gap:10px; margin-top:12px; padding:10px 11px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.superset-athlete-guide > span { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:9px; background:var(--surface); color:var(--text); font-family:'DM Mono'; font-size:11px; font-weight:800; }
.superset-athlete-guide strong,.superset-athlete-guide small { display:block; }
.superset-athlete-guide strong { color:var(--text); font-size:11px; }
.superset-athlete-guide small { margin-top:2px; color:var(--text); font-size:10px; }
.superset-athlete-guide.target { border-style:dashed; background:var(--surface); }
.superset-athlete-guide.target.is-next { border-color:var(--border); background:var(--surface); box-shadow:0 0 0 3px rgba(0,0,0,.18); animation:pulse 1.4s infinite; }
.set-context.superset-context { margin-top:5px; border-left:3px solid var(--border); background:var(--surface); }
.set-row.superset-set { border-left:3px solid var(--border); }
.superset-linked-row { grid-column:1 / -1; display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:10px; margin:0 -6px 5px; padding:10px 12px; border:1px dashed var(--border); border-radius:9px; background:var(--surface); color:var(--text); font-size:10px; }
.superset-linked-row strong { color:var(--text); }
.superset-linked-row.is-complete { border-style:solid; background:var(--surface); box-shadow:inset 3px 0 0 rgba(0,0,0,.18); }
.technique-entry { grid-column:1 / -1; margin:5px 0 7px 34px; border:1px solid var(--border); border-radius:10px; background:var(--surface); overflow:hidden; }
.technique-entry summary { display:flex; justify-content:space-between; gap:12px; padding:10px 12px; color:var(--text); cursor:pointer; font-size:10px; font-weight:800; list-style:none; }
.technique-entry summary::-webkit-details-marker { display:none; }
.technique-entry summary b { color:var(--text); }
.technique-entry > small { display:block; padding:0 12px 11px; color:var(--text); font-size:9px; }
.technique-entry-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:0 12px 9px; }
.technique-entry-grid label > span { display:block; margin-bottom:4px; color:var(--text); font-size:9px; font-weight:700; }
.drop-entry { border-color:var(--border); background:var(--surface); }
.drop-entry-list { display:grid; gap:6px; padding:0 12px 9px; }
.drop-entry-row { display:grid; grid-template-columns:30px 1fr 1fr minmax(90px,.7fr); align-items:center; gap:7px; }
.drop-entry-row > b { color:var(--text); font-family:'DM Mono'; font-size:10px; }
.drop-entry-row > span { color:var(--text); font-size:9px; }
.history-superset-set { border-left:3px solid var(--border) !important; background:var(--surface) !important; }
.coach-insights { margin-top:20px; padding:15px; border-radius:10px; background:var(--surface); display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.coach-insights span { color:var(--text-secondary); font-size:10px; display:block; }
.coach-insights b { margin-top:4px; display:block; font-size:13px; }
.coach-calendar-section { margin:24px -24px -24px; padding:24px; border-top:1px solid var(--border); background:var(--surface); border-radius:0 0 14px 14px; }
.coach-calendar-section > .card-head { padding:0 0 18px; gap:16px; }
.coach-calendar-section > .card-head p { margin:4px 0 0; color:var(--text-secondary); font-size:10px; }
.coach-agenda-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr); gap:20px; align-items:start; }
.coach-agenda-layout .calendar-card { padding:0; }
.coach-dots { position:absolute; left:8px; bottom:7px; display:flex; gap:4px; }
.coach-dots i,.coach-calendar-legend i { width:6px; height:6px; border-radius:50%; display:inline-block; background:var(--text); }
.coach-dots i.measure,.coach-calendar-legend i.measure { background:var(--text-secondary); }
.coach-dots i.photo-dot,.coach-calendar-legend i.photo-dot { background:var(--surface); }
.coach-dots i.rest-dot,.coach-calendar-legend i.rest-dot { background:var(--primary); box-shadow:inset 0 0 0 1px var(--text); }
.coach-dots i.reminder-dot,.coach-calendar-legend i.reminder-dot { background:var(--text-secondary); }
.coach-calendar-legend { display:flex; flex-wrap:wrap; gap:12px; margin-top:10px; color:var(--text-secondary); font-size:9px; }
.coach-calendar-legend span { display:flex; align-items:center; gap:5px; }
.coach-agenda-list { border:1px solid var(--border); border-radius:11px; background:var(--surface); padding:14px; }
.coach-agenda-list h4 { margin:0 0 8px; font-size:12px; }
.coach-day-detail { padding:13px; margin-bottom:15px; border-radius:10px; background:var(--surface); border:1px solid var(--border); }
.coach-day-detail h4 { margin:5px 0 4px; font-size:13px; }
.coach-day-detail p { margin:0 0 10px; color:var(--text-secondary); font-size:10px; line-height:1.45; }
.coach-day-detail.empty { background:var(--surface); }
.coach-agenda-list .agenda-title { padding-top:13px; border-top:1px solid var(--border); }
.agenda-item { display:grid; grid-template-columns:44px 1fr; gap:9px; padding:10px 0; border-top:1px solid var(--border); }
.agenda-item > span { color:var(--text); font:600 9px 'DM Mono'; text-transform:uppercase; }
.agenda-item strong,.agenda-item small { display:block; }
.agenda-item strong { font-size:10px; }
.agenda-item small { color:var(--text-secondary); font-size:9px; margin-top:2px; line-height:1.4; }
.modal-wrap { position:fixed; inset:0; background:var(--overlay); display:grid; place-items:center; z-index:20; padding:18px; backdrop-filter:blur(2px); animation: fade .15s; }
.modal { width:min(570px, 100%); max-height:calc(100vh - 36px); overflow:auto; background:var(--surface); border-radius:16px; box-shadow:0 25px 70px rgba(0,0,0,.18); }
.modal-head { padding:20px 21px 14px; display:flex; justify-content:space-between; align-items:start; }
.modal-head h3 { margin:0; font-size:19px; letter-spacing:-.8px; }
.modal-head p { margin:4px 0 0; color:var(--text-secondary); font-size:11px; }
.close { border:1px solid var(--border); background:var(--surface-raised); color:var(--text); border-radius:7px; width:28px; height:28px; font-size:17px; line-height:1; }
.modal-body { padding:0 21px 21px; }
.modal-info { margin-top:14px; padding:12px; border-radius:9px; background:var(--surface); display:flex; justify-content:space-between; gap:12px; font-size:10px; color:var(--text-secondary); }
.modal-info strong { color:var(--text); }
.start-confirm-summary { display:flex; align-items:flex-start; gap:13px; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.start-confirm-summary .day-badge { flex:0 0 auto; }
.start-confirm-summary strong { font-size:14px; }
.start-confirm-summary p { margin:4px 0 0; color:var(--text-secondary); font-size:11px; line-height:1.55; }
.dashboard-workout-date { display:block; margin-top:14px; }
.workout-history-modal { width:min(720px, 100%); }
.history-exercise { margin-top:14px; }
.history-exercise h4 { margin:0 0 7px; font-size:12px; }
.history-set { display:grid; grid-template-columns:60px repeat(3,1fr); gap:10px; padding:9px 11px; border-top:1px solid var(--border); font-size:10px; color:var(--text-secondary); }
.history-set strong { color:var(--text); }
.history-set > span:first-child small,.preview-set > span:first-child small { display:block; margin-top:3px; color:var(--text); font-size:8px; font-weight:800; line-height:1.3; }
.history-technique-detail { grid-column:1 / -1; display:flex; justify-content:space-between; gap:10px; margin-top:3px; padding:7px 9px; border-radius:7px; background:var(--surface); color:var(--text); }
.history-technique-detail b { color:var(--text); }
.history-exercise-note { margin-top:9px; padding:10px 11px; border-left:3px solid var(--border); border-radius:0 8px 8px 0; background:var(--surface); }
.history-exercise-note strong { font-size:9px; color:var(--text); text-transform:uppercase; letter-spacing:.4px; }
.history-exercise-note p { margin:4px 0 0; color:var(--text); font-size:10px; line-height:1.5; white-space:pre-wrap; }
.history-note { margin:16px 0; padding:12px; border-radius:9px; background:var(--surface); }
.history-note strong { font-size:11px; }
.history-note p { margin:4px 0 0; color:var(--text-secondary); font-size:11px; line-height:1.5; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form-grid .field-label { margin:3px 0 6px; }
.modal-footer { padding:15px 21px 20px; display:flex; justify-content:flex-end; gap:9px; }
.toast { position:fixed; right:20px; bottom:20px; z-index:30; background:var(--surface-raised); color:var(--text); border-radius:11px; padding:13px 16px; font-size:12px; font-weight:700; box-shadow:var(--shadow); animation: toast .25s; }
.empty-coach { min-height:430px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:14px; padding:56px 24px; }
.empty-coach > img { width:62px; height:62px; margin-bottom:8px; }
.empty-coach > h3 { margin:0; font-size:25px; color:var(--text); }
.empty-coach > p { max-width:520px; margin:0 0 8px; color:var(--text-secondary); line-height:1.7; }
.auto-connect-status { display:inline-flex; align-items:center; gap:7px; padding:8px 11px; border-radius:999px; background:var(--surface); color:var(--text); font-size:10px; font-weight:900; }
.auto-connect-status:before { content:''; width:7px; height:7px; border-radius:50%; background:var(--text); }
.awaiting-plan { min-height:420px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:54px 28px; background:var(--surface-raised); }
.awaiting-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:18px; border-radius:13px; background:var(--surface-raised); color:var(--primary); font-size:19px; font-weight:900; box-shadow:0 8px 18px rgba(0,0,0,.18); }
.awaiting-plan > h3 { margin:8px 0 10px; color:var(--surface-raised); font-size:24px; }
.awaiting-plan > p { max-width:560px; margin:0; color:var(--text-secondary); font-size:14px; line-height:1.65; }
.awaiting-actions { display:flex; gap:10px; margin-top:24px; }
.program-archive { margin:24px -24px 0; padding:22px 24px; border-top:1px solid var(--border); background:var(--surface); }
.program-archive > .card-head { padding:0 0 12px; }
.program-archive > .card-head p { margin:4px 0 0; color:var(--text-secondary); font-size:10px; }
.archive-row { width:100%; display:grid; grid-template-columns:minmax(150px,1fr) auto auto; align-items:center; gap:18px; padding:12px 0; border:0; border-top:1px solid var(--border); background:transparent; color:var(--text-secondary); font:inherit; font-size:10px; text-align:left; cursor:pointer; }
.archive-row:hover { color:var(--text); }
.archive-row strong,.archive-row small { display:block; }
.archive-row strong { color:var(--text); font-size:11px; margin-bottom:3px; }
.archive-open { color:var(--text); font-weight:800; white-space:nowrap; }
.archive-period { white-space:nowrap; }
.archive-empty { padding:15px; border:1px dashed var(--border); border-radius:9px; color:var(--text-secondary); font-size:10px; text-align:center; }
.archive-list-modal { padding-top:8px; }
.archived-program-modal { width:min(820px,100%); }
.archive-program-days { display:grid; gap:13px; }
.archive-day-detail { display:grid; grid-template-columns:170px 1fr; gap:20px; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.archive-day-detail > div:first-child > span { color:var(--text); font-size:9px; font-weight:900; letter-spacing:.8px; text-transform:uppercase; }
.archive-day-detail h4 { margin:5px 0 3px; font-size:15px; }
.archive-day-detail p { margin:0; color:var(--text-secondary); font-size:10px; }
.archive-exercise-row { display:flex; justify-content:space-between; gap:14px; padding:8px 0; border-top:1px solid var(--border); font-size:10px; }
.archive-exercise-row:first-child { border-top:0; }
.archive-exercise-row span { color:var(--text-secondary); text-align:right; }
.progress-scope { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:-3px 0 20px; padding:14px 16px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.progress-scope > div:first-child { display:flex; flex-direction:column; gap:3px; }
.progress-scope strong { font-size:11px; }
.progress-scope span { color:var(--text-secondary); font-size:10px; }
.progress-scope-tabs { display:flex; gap:5px; padding:4px; border-radius:9px; background:var(--surface); }
.progress-scope-tab { border:0; border-radius:7px; padding:8px 11px; background:transparent; color:var(--text-secondary); font-size:10px; font-weight:800; cursor:pointer; white-space:nowrap; }
.progress-scope-tab.active { background:var(--surface); color:var(--text); box-shadow:0 2px 8px rgba(0,0,0,.18); }
.sync-notice { position:fixed; right:20px; bottom:20px; z-index:40; border:0; border-radius:11px; padding:13px 16px; background:var(--text); color:var(--text); font-size:11px; font-weight:800; box-shadow:var(--shadow); cursor:pointer; animation:toast .25s; }
.mobile-nav { display:none; }

@media (max-width:1120px) { .progress-layout { grid-template-columns:1fr; } .training-stats-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .progress-bottom { grid-template-columns:1fr; } .training-stat { padding:14px; } .training-stat strong { font-size:22px; } .progress-card { padding:17px; } .progress-card-head { flex-direction:column; } .exercise-filter { width:100%; } .recent-training-row { grid-template-columns:1fr auto; } .recent-training-row > span:nth-child(2) { display:none; } .progress-scope { align-items:flex-start; flex-direction:column; } .progress-scope-tabs { width:100%; overflow-x:auto; } .archive-row { grid-template-columns:1fr auto; gap:8px; } .archive-period { grid-column:1 / -1; grid-row:2; } .archive-open { grid-column:2; grid-row:1; } .archive-day-detail { grid-template-columns:1fr; gap:10px; } .archive-exercise-row { flex-direction:column; gap:3px; } .archive-exercise-row span { text-align:left; } }
@keyframes fade { from {opacity:0} to {opacity:1} }
@keyframes toast { from {transform:translateY(10px); opacity:0} to {transform:translateY(0); opacity:1} }
@keyframes pulse { 0%,100% { box-shadow:0 0 0 0 rgba(0,0,0,.18); } 50% { box-shadow:0 0 0 5px rgba(0,0,0,.18); } }
@media (max-width: 1120px) { .program-grid { grid-template-columns:repeat(3,1fr); } .dash-grid,.measure-layout { grid-template-columns:1fr; } .right-stack { grid-template-columns:1fr 1fr; } }
@media (max-width: 1120px) { .body-overview-grid { grid-template-columns:1fr; } }
@media (max-width: 850px) {
  .app-shell { grid-template-columns:1fr; min-height:100svh; padding-bottom:calc(112px + env(safe-area-inset-bottom, 0px)); }
  .sidebar { display:none; }
  .content { padding:24px 18px 35px; }
  .topbar { padding:0 18px; height:64px; }
  .date-chip { display:none; }
  .mobile-nav { display:grid; grid-template-columns:repeat(var(--mobile-nav-count,5),minmax(0,1fr)); position:fixed; bottom:0; left:0; right:0; z-index:10; min-height:74px; padding:7px 6px calc(7px + env(safe-area-inset-bottom,0px)); background:var(--surface); border-top:1px solid var(--border); box-shadow:0 -10px 28px rgba(0,0,0,.18); transform:translateZ(0); }
  .mobile-nav::before { content:""; position:absolute; top:100%; left:0; right:0; height:100px; background:var(--surface); pointer-events:none; }
  .mobile-nav .nav-item { width:100%; min-width:0; min-height:58px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; margin:0; padding:4px 2px; border-radius:12px; color:var(--text); font-size:12px; line-height:1; text-align:center; }
  .mobile-nav .nav-item:hover, .mobile-nav .nav-item:focus-visible, .mobile-nav .nav-item:active { background:var(--surface-raised); color:var(--text); }
  .mobile-nav .nav-item.active { background:transparent; color:var(--accent); }
  .mobile-nav .nav-icon { width:32px; height:30px; border-radius:10px; transition:background .18s,color .18s,transform .18s; }
  .mobile-nav .nav-icon svg { width:20px; height:20px; stroke-width:1.9; }
  .mobile-nav .nav-item.active .nav-icon { background:var(--accent-soft); color:var(--accent); transform:translateY(-1px); box-shadow:0 5px 12px rgba(0,0,0,.18); }
  .mobile-nav .nav-text { width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:750; }
  .mobile-nav .nav-item.active .nav-text { font-weight:900; }
  .hero-meta { display:none; }
  .session-layout,.calendar-layout,.coach-layout { grid-template-columns:1fr; }
  .calendar-layout .event-detail { min-height:220px; }
  .coach-layout .client-list { display:none; }
  .coach-mobile-picker { display:block; }
}
@media (max-width: 760px) {
  .real-auth-shell { grid-template-columns:1fr; }
  .real-auth-brand { min-height:0; height:72px; padding:16px 20px; justify-content:center; gap:0; }
  .real-auth-brand:after { display:none; }
  .real-auth-brand > div:not(.real-auth-logo),.real-auth-brand small { display:none; }
  .real-auth-logo { gap:9px; font-size:14px; }
  .real-auth-logo img { width:30px; height:30px; }
  .real-auth-panel { display:block; padding:24px 20px 42px; }
  .real-auth-card { margin:0 auto; }
  .auth-card-mark { display:none; }
}
@media (max-width: 700px) { .coach-agenda-layout { grid-template-columns:1fr; } .coach-calendar-section > .card-head { align-items:flex-start; flex-direction:column; } }
@media (max-width: 850px) { .topbar-logout { display:inline-flex; } }
@media (max-width: 600px) {
  .login-shell { grid-template-columns:1fr; }
  .login-visual { min-height:360px; }
  .login-stats { gap:25px; }
  .login-panel { padding:30px 23px; }
  .content { padding:20px 14px 32px; }
  .topbar { height:60px; padding:0 12px; gap:7px; }
  .crumb { min-width:0; gap:6px; }
  .crumb .brand-wordmark,.crumb .slash { display:none; }
  .crumb strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .top-actions { flex:none; gap:6px; }
  .top-actions .avatar { width:30px; height:30px; }
  .bell { padding:8px 9px; }
  .topbar-logout { padding:8px; }
  .page-head { align-items:start; flex-direction:column; margin-bottom:20px; }
  .page-head h2 { font-size:27px; line-height:1.08; }
  .page-head p { font-size:12px; line-height:1.55; }
  .head-actions { width:100%; }
  .head-actions .primary,.head-actions .ghost { flex:1 1 140px; }
  .last-workout-summary { order:-1; width:100%; min-width:0; }
  .hero { min-height:0; padding:24px 20px; }
  .hero:after { display:none; }
  .hero h2 { max-width:85%; font-size:34px; }
  .dashboard-program { margin-top:16px; }
  .dashboard-program .card-head { align-items:flex-start; }
  .workout-row-action { grid-template-columns:38px minmax(0,1fr) auto 16px; padding:12px 13px; gap:9px; }
  .workout-row-action .status { max-width:88px; text-align:right; }
  .stats-row,.right-stack { grid-template-columns:1fr; }
  .program-grid { grid-template-columns:1fr 1fr; }
  .session-heading { padding:20px 16px; gap:10px; }
  .session-heading h3 { font-size:19px; }
  .exercise { padding:16px 12px; }
  .exercise-top { align-items:flex-start; flex-direction:column; gap:5px; }
  .session-footer { align-items:start; gap:12px; flex-direction:column; padding:16px; }
  .session-footer-actions { width:100%; flex-direction:column-reverse; }
  .session-footer-actions .primary,.session-footer-actions .danger-ghost { width:100%; }
  .sets,.set-row { grid-template-columns:25px 1fr 1fr minmax(65px,.9fr); gap:5px; }
  .set-context { align-items:flex-start; flex-wrap:wrap; gap:4px 10px; margin-top:11px; padding:8px 9px; font-size:11px; }
  .set-context span:last-child { flex:1 0 100%; margin-left:0; }
  .set-row { margin:0 -3px; padding:4px 3px; }
  .sets .set-head:nth-child(4),.sets .set-head:nth-child(5),.sets .set-rpe,.sets .last { display:none; }
  .set-input { padding:8px 6px; font-size:16px; }
  .exercise-technique { align-items:stretch; flex-direction:column; }
  .exercise-technique > small { max-width:none; }
  .set-confirm { padding:8px 4px; font-size:9px; }
  .calendar-card { padding:14px; }
  .cal-day { padding:6px; aspect-ratio:1 / 1.05; }
  .event-dot { left:5px; bottom:5px; }
  .preview-set,.history-set { grid-template-columns:48px repeat(3,1fr); gap:5px; }
  .table-row { grid-template-columns:1.3fr repeat(2,1fr); padding:11px 13px; }
  .table-row > :nth-child(n+4) { display:none; }
  .body-overview-grid { gap:14px; }
  .metric-card,.photo-overview { min-height:0; padding:17px; }
  .circumference-summary { margin-top:14px; }
  .circumference-summary .card-head { align-items:flex-start; gap:12px; }
  .circumference-summary .circ-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 16px; }
  .checkin-history { margin-top:24px; }
  .checkin-entry { padding:15px; }
  .checkin-entry-head { flex-direction:column; gap:7px; }
  .checkin-entry .progress-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .checkin-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .coach-layout,.coach-editor { width:100%; max-width:100%; min-width:0; }
  .coach-editor { padding:16px; overflow:hidden; }
  .coach-insights { grid-template-columns:1fr; }
  .coach-settings { grid-template-columns:1fr; }
  .client-picker { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scroll-snap-type:x proximity; }
  .client-picker-item { flex:0 0 auto; scroll-snap-align:start; }
  .client-top { align-items:start; flex-direction:column; }
  .coach-progress-tabs,.coach-progress-tabs.compact { width:100%; grid-template-columns:1fr; overflow:visible; }
  .edit-exercise { grid-template-columns:repeat(3,minmax(0,1fr)) 34px; }
  .edit-exercise .input:first-child { grid-column:1 / 4; }
  .edit-exercise [data-exercise-technique] { grid-column:1 / 5; }
  .edit-exercise .remove-ex { grid-column:4; grid-row:1; }
  .coach-exercise-main { grid-template-columns:minmax(0,1fr) 72px 92px 34px; }
  .coach-set-head { display:none; }
  .coach-set-config { grid-template-columns:36px minmax(0,.72fr) minmax(0,1.28fr); }
  .coach-calendar-section { margin:22px -16px -16px; padding:18px 16px; }
  .program-archive { margin:22px -16px 0; padding:18px 16px; }
  .modal-wrap { align-items:end; padding:0; }
  .modal { max-height:calc(100dvh - 10px); border-radius:18px 18px 0 0; }
  .modal-head { padding:18px 17px 12px; }
  .modal-body { padding:0 17px 17px; }
  .modal-footer { position:sticky; bottom:0; padding:13px 17px max(16px,env(safe-area-inset-bottom,0px)); background:var(--surface); border-top:1px solid var(--border); }
  .empty-coach { min-height:360px; padding:40px 20px; }
  .empty-coach > img { width:48px; height:48px; }
}
@media (max-width: 420px) {
  .real-auth-brand { min-height:0; height:68px; padding:14px 16px; }
  .program-grid { grid-template-columns:1fr; }
  .day-card { min-height:150px; }
  .form-grid { grid-template-columns:1fr; }
  .modal-footer { flex-direction:column-reverse; }
  .coach-exercise-main { grid-template-columns:1fr 1fr 34px; }
  .coach-exercise-main label:first-child { grid-column:1 / -1; }
  .coach-exercise-main .remove-ex { grid-column:3; grid-row:1; }
  .coach-set-config { grid-template-columns:32px 1fr; align-items:start; }
  .coach-set-config [data-set-technique] { grid-column:2; }
  .superset-config,.drop-config { grid-column:2; }
  .drop-targets { grid-template-columns:1fr; }
  .technique-entry { margin-left:25px; }
  .drop-entry-row { grid-template-columns:24px 1fr 1fr; }
  .drop-entry-row > span { grid-column:2 / -1; }
  .modal-footer .primary,.modal-footer .ghost,.modal-footer .danger { width:100%; }
}
@media (max-width: 600px) { .awaiting-plan { min-height:360px; padding:42px 20px; } .awaiting-actions { width:100%; flex-direction:column; } .awaiting-actions .ghost { width:100%; } }

.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.theme-toggle { width:39px; height:39px; padding:0; display:grid; place-items:center; font-size:18px; line-height:1; }
.home-tools { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:14px; margin-top:21px; }
.home-tools .card { min-height:132px; padding:18px; }
.coach-identity { display:flex; align-items:center; gap:14px; }
.home-tool-icon { width:42px; height:42px; flex:none; display:grid; place-items:center; border-radius:13px; background:var(--surface); color:var(--text); font-size:24px; font-weight:800; }
.home-tools .mini-label { display:block; color:var(--text-secondary); font-size:9px; font-weight:900; letter-spacing:1px; text-transform:uppercase; }
.home-tools h3 { margin:5px 0 3px; font-size:16px; letter-spacing:-.45px; }
.home-tools p { margin:0; color:var(--text-secondary); font-size:10px; line-height:1.5; }
.quick-weight { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.quick-weight-form { display:flex; align-items:stretch; gap:8px; flex:none; }
.quick-weight-input { width:132px; display:flex; align-items:center; border:1px solid var(--border); border-radius:10px; background:var(--surface); overflow:hidden; }
.quick-weight-input:focus-within { border-color:var(--text); box-shadow:0 0 0 3px rgba(0,0,0,.18); }
.quick-weight-input input { width:100%; min-width:0; border:0; outline:0; padding:12px 4px 12px 12px; color:var(--text); background:transparent; font-size:16px; }
.quick-weight-input span { padding-right:11px; color:var(--text-secondary); font-size:11px; font-weight:800; }

@media (max-width:700px) {
  .home-tools { grid-template-columns:1fr; margin-top:16px; }
  .home-tools .card { min-height:0; }
  .quick-weight { align-items:flex-start; flex-direction:column; }
  .quick-weight-form { width:100%; }
  .quick-weight-input { width:auto; flex:1; }
  .quick-weight-form .primary { min-width:96px; }
}
@media (max-width:600px) {
  .theme-toggle { width:34px; height:34px; font-size:16px; }
  .home-tools { margin-bottom:4px; }
  .coach-identity { padding:15px!important; }
  .quick-weight { padding:16px!important; }
  .photo-upload-preview-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .checkin-pagination { align-items:stretch; flex-direction:column; text-align:center; }
  .photo-overview .card-head { align-items:flex-start; gap:12px; }
  .photo-overview-actions { align-items:flex-end; flex-direction:column-reverse; gap:7px; }
  .photo-date-group { padding:12px; }
  .photo-date-group .progress-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Protocollo & Salute shares the same product tokens and surfaces. */
.section-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0 0 16px; }
.section-switch button {min-width:0;min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.3;}
.section-switch button,.section-switch span { border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--text); padding:10px 14px; font-size:13px; font-weight:800; }
.section-switch .active { background:var(--surface-raised); color:var(--text); border-color:var(--surface-raised); }
.health-shell { color:var(--text); background:transparent; min-width:0; }
.health-shell * { min-width:0; }
.health-page-head,.health-section-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:24px; }
.health-page-head h2 { color:var(--text); font-size:clamp(28px,3vw,42px); letter-spacing:-.04em; margin:8px 0; }
.health-page-head p,.health-section-head p,.health-card p,.health-context small,.health-timeline-content p,.health-note p { color:var(--text-secondary); line-height:1.55; font-size:14px; }
.health-section-head h3 { color:var(--text); font-size:25px; margin:6px 0; }
.health-kicker { color:var(--text-secondary); font-size:13px; font-weight:850; letter-spacing:.14em; }
.health-tabs { display:flex; gap:8px; overflow-x:auto; padding:0 0 14px; margin:0 0 22px; scrollbar-width:thin; }
.health-tabs button { white-space:nowrap; color:var(--text-secondary); background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:11px 17px; font-size:14px; font-weight:800; }
.health-tabs button.active { color:var(--primary-ink); background:var(--primary); border-color:var(--primary); }
.health-tabs .health-add-event { margin-left:auto; border-style:dashed; color:var(--text); }
.health-card,.health-context,.health-empty,.health-unavailable { background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:22px; }
.health-preview-notice { margin:0 0 18px; border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--text); padding:13px 15px; font-size:14px; line-height:1.5; }
.health-card h3,.health-card h4,.health-context strong,.health-timeline-content h4 { color:var(--text); margin:8px 0; }
.health-card small,.health-timeline-content small,.health-note small { color:var(--text-secondary); font-size:13px; display:block; line-height:1.5; }
.health-home-grid { display:grid; grid-template-columns:minmax(0,1.55fr) repeat(2,minmax(0,1fr)); gap:16px; }
.health-phase-card { background:var(--surface); }
.health-progress { height:10px; border-radius:99px; background:var(--surface); overflow:hidden; margin:20px 0 10px; }
.health-progress span { display:block; height:100%; background:var(--primary); border-radius:99px; }
.health-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.health-button { border:1px solid var(--primary); color:var(--primary-ink); background:var(--primary); border-radius:10px; padding:11px 14px; font-size:14px; font-weight:850; }
.health-button.secondary { background:var(--surface); color:var(--text); border-color:var(--border); }
.health-button:hover,.health-tabs button:hover { filter:brightness(.94); }
.health-text-button { border:0; background:none; color:var(--text); font-size:13px; font-weight:850; padding:8px 0; text-align:left; }
.health-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:16px; }
.health-shortcuts button { display:flex; justify-content:space-between; gap:8px; text-align:left; padding:17px; border:1px solid var(--border); border-radius:12px; color:var(--text); background:var(--surface); font-weight:800; }
.health-filter { display:flex; flex-wrap:wrap; align-items:end; gap:7px; }
.health-filter label { flex-basis:100%; color:var(--text); font-size:13px; font-weight:800; }
.health-filter input,.health-filter button { border:1px solid var(--border); background:var(--surface); color:var(--text); border-radius:9px; padding:9px 11px; }
.health-context { display:grid; gap:5px; margin-bottom:18px; }
.health-context span,.health-meta { color:var(--text-secondary); font-size:13px; }
.health-timeline { display:grid; gap:12px; }
.health-timeline-item { display:grid; grid-template-columns:14px minmax(0,1fr); gap:15px; }
.health-timeline-dot { width:12px; height:12px; border-radius:50%; background:var(--text-secondary); margin-top:20px; box-shadow:0 0 0 4px var(--surface-raised); }
.health-timeline-content { border:1px solid var(--border); border-radius:14px; padding:17px 20px; background:var(--surface); }
.health-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; }
.health-meta span { color:var(--text); font-weight:850; }
.health-analysis-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(220px,1fr); gap:16px; }
.health-analysis-aside,.health-note-list { display:grid; gap:16px; align-content:start; }
.health-table-scroll { overflow-x:auto; }
.health-analysis-table table { width:100%; border-collapse:collapse; font-size:13px; }
.health-analysis-table th,.health-analysis-table td { border-bottom:1px solid var(--border); text-align:left; padding:13px 9px; color:var(--text); }
.health-analysis-table th { color:var(--text-secondary); font-size:13px; }
.health-status { display:inline-block; padding:5px 9px; border-radius:8px; background:var(--surface-raised); color:var(--text-secondary); font-size:13px; font-weight:800; }
.health-status.open { color:var(--warning); }
.health-status.resolved { color:var(--positive); }
.health-disclaimer { color:var(--text-secondary); font-size:13px; line-height:1.5; margin-top:18px; }
.health-note-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.health-note-list { border-left:1px solid var(--border); padding-left:17px; margin-left:7px; }
.health-note-list .health-note { position:relative; }
.health-note-list .health-note:before { content:''; position:absolute; left:-25px; top:24px; width:13px; height:13px; border:3px solid var(--border); border-radius:50%; background:var(--text-secondary); }
.health-note-stats div { border:1px solid var(--border); border-radius:12px; padding:15px; background:var(--surface); }
.health-note-stats span { color:var(--text-secondary); display:block; font-size:13px; }
.health-note-stats strong { display:block; color:var(--text); margin-top:5px; }
.health-note-title { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.health-note-title h4 { margin:10px 0; }
.health-modal .modal-body { display:grid; gap:14px; }
.health-field { display:grid; gap:6px; color:var(--text); font-size:13px; font-weight:800; }
.health-field .field { font-size:16px; }
.health-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.health-form-error { color:var(--danger); background:var(--surface-raised); border:1px solid var(--danger); border-radius:8px; padding:10px; margin:0; }
.body-protocol-context { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 15px; border-radius:10px; background:var(--surface); margin-top:14px; color:var(--text); font-size:13px; font-weight:700; }
.body-protocol-context button { border:0; background:none; color:var(--text); font-size:13px; font-weight:850; white-space:nowrap; }
.today-health-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:12px; align-items:center; margin:18px 0; padding:16px; border:1px solid var(--border); border-radius:15px; background:var(--surface); }
.today-health-summary div { display:grid; gap:4px; }
.today-health-summary span { font-size:10px; color:var(--text-secondary); font-weight:850; letter-spacing:.08em; }
.today-health-summary strong { font-size:14px; }
.today-health-summary small { font-size:13px; color:var(--text-secondary); }
.today-health-summary button,.profile-links button { border:0; background:transparent; color:var(--text); font-weight:850; text-align:left; }
.profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.profile-grid .card { padding:24px; }
.profile-grid h3 { margin:8px 0; }
.profile-grid p { color:var(--text-secondary); font-size:14px; }
.profile-links { display:grid; gap:14px; margin-top:16px; }
@media (max-width:1000px) { .health-home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .health-phase-card { grid-column:1/-1; } .today-health-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .health-page-head,.health-section-head { flex-direction:column; align-items:stretch; } .health-tabs { flex-wrap:wrap; overflow:visible; } .health-tabs button { flex:1 1 42%; white-space:normal; } .health-tabs .health-add-event { flex-basis:100%; } .health-home-grid,.health-shortcuts,.health-analysis-grid,.health-note-stats,.profile-grid { grid-template-columns:1fr; } .health-phase-card { grid-column:auto; } .health-card { padding:18px; } .health-shortcuts { gap:8px; } .health-note-stats { grid-template-columns:repeat(3,minmax(0,1fr)); } .today-health-summary { grid-template-columns:1fr 1fr; } .body-protocol-context { align-items:flex-start; flex-direction:column; } }
@media (max-width:420px) { .health-form-grid { grid-template-columns:1fr; } .health-note-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } .health-note-stats > :last-child { grid-column:1/-1; } .today-health-summary { grid-template-columns:1fr; } .section-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .section-switch button,.section-switch span { white-space:normal; } .section-switch > :last-child:nth-child(3) { grid-column:1/-1; } .mobile-nav .nav-item { font-size:13px; } }

.calendar-legend { display:flex; flex-wrap:wrap; gap:9px 17px; margin:0 0 16px; color:var(--text-secondary); font-size:13px; }
.calendar-legend span { display:inline-flex; align-items:center; gap:7px; }
.calendar-legend .event-dot { position:static; width:8px; height:8px; display:inline-block; box-shadow:none; }
.event-dot.workout { background:var(--positive); }.event-dot.draft { background:var(--warning); }
.event-dot.planned { background:var(--text-secondary); }.event-dot.skipped { background:var(--danger); }
.event-dot.rest { background:var(--text-muted); }.event-dot.body-peso { background:var(--accent); }
.event-dot.body-misure { background:var(--event); }.event-dot.body-foto { background:var(--variation); }
.event-dot.body-mixed { background:var(--event); box-shadow:0 0 0 2px var(--accent); }
@media (max-width:600px) { .mobile-nav { padding-left:3px; padding-right:3px; } .mobile-nav .nav-text { white-space:normal; overflow:visible; text-overflow:clip; line-height:1.2; } }
.health-tabs { display:flex; overflow-x:auto; flex-wrap:nowrap; gap:8px; margin:0 0 18px; padding-bottom:4px; scrollbar-width:none; }
.health-tabs button { flex:none; white-space:nowrap; padding:10px 12px; font-size:13px; }
.health-page-head { margin-bottom:18px; }
.health-page-head h2 { margin:8px 0; }
.journey-deadline time { color:var(--semantic-color,var(--accent)); }
.health-status.kind-analysis { color:var(--warning); }
@media(max-width:700px) {
 .health-tabs { display:flex; grid-template-columns:none; flex-wrap:nowrap; }
 .health-tabs button { width:auto; }
 .health-page-head { padding-top:0; }
}
/* Shared interaction and semantic language across all four areas. */
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.ghost:hover,.icon-btn:hover { border-color:var(--accent); background:var(--surface-raised); }
.text-btn,.health-text-button { font-size:14px; color:var(--accent); }
.section-switch button.active,.progress-scope-tab.active { background:var(--accent-soft); color:var(--accent); border-color:var(--accent); }
.card,.health-card { border-radius:16px; }
.journey-phase { border-top:3px solid var(--primary); }
.journey-phase .eyebrow,.protocol-phase-summary .health-kicker { color:var(--accent); }
.semantic-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--semantic-color,var(--event)); flex:none; }
.kind-protocol { --semantic-color:var(--primary); }
.kind-event { --semantic-color:var(--event); }
.kind-analysis { --semantic-color:var(--warning); }
.kind-variation { --semantic-color:var(--variation); }
.health-timeline-item .health-timeline-dot { background:var(--semantic-color,var(--event)); }
.health-timeline-item .health-meta span { color:var(--semantic-color,var(--event)); }
.cal-day { min-height:68px; vertical-align:top; }
.cal-day.today { box-shadow:inset 0 0 0 2px var(--accent); }
.cal-day.selected { background:var(--accent-soft); box-shadow:inset 0 0 0 2px var(--primary); }
.cal-session-name { display:block; margin-top:5px; font-size:12px; line-height:1.2; font-weight:750; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.state-workout .cal-session-name { color:var(--positive); }
.state-draft .cal-session-name { color:var(--warning); }
.state-planned .cal-session-name { color:var(--planned); }
.state-skipped .cal-session-name { color:var(--danger); text-decoration:line-through; }
.state-rest .cal-session-name { color:var(--rest); }
.cal-day .event-dot { bottom:5px; }
.body-flow { display:block; }
.body-flow .weight-compact { min-height:0; padding:22px; }
.weight-compact .metric-main { margin:10px 0 0; }
.weight-compact .metric-main b { font-size:38px; }
.weight-compact .chart-wrap { height:70px; margin:8px 0 0; }
.weight-compact .chart-wrap svg { height:100%; width:100%; }
.weight-compact .chart-labels { display:none; }
.weight-compact .measure-chart-empty { min-height:60px; height:60px; padding:10px; }
.body-photo-section { margin-top:20px; }
.circ-list { padding:0 22px 12px; }
.circ-row { display:grid; grid-template-columns:1fr auto 85px; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--border); font-size:15px; }
.circ-row small { text-align:right; color:var(--text-secondary); font-size:13px; }
.circ-history { margin-bottom:20px; }
.body-overview-grid .card-head p,.circumference-summary .card-head p { font-size:13px; }
.protocol-phase-summary { border-color:var(--border); margin-bottom:18px; }
.protocol-phase-summary h3 { margin:10px 0 4px; font-size:25px; }
.protocol-phase-summary p { margin:5px 0; color:var(--text-secondary); }
.protocol-progress-line { display:flex; align-items:center; gap:14px; }
.protocol-progress-line .health-progress { flex:1; margin:12px 0; background:var(--accent-soft); }
.protocol-progress-line strong { color:var(--accent); font-size:14px; }
.protocol-dates { font-size:13px; }
.protocol-calendar { padding:20px; }
.protocol-calendar .month-nav { gap:10px; margin-bottom:20px; }
.protocol-calendar .month-nav h3 { font-size:20px; text-align:center; margin:0; }
.protocol-calendar .month-actions { display:flex; gap:6px; }
.protocol-calendar .month-actions button { width:36px; height:36px; font-size:18px; }
.protocol-calendar .month-actions .protocol-today { width:auto; padding:0 10px; font-size:13px; color:var(--accent); border-color:var(--accent); }
.protocol-month-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); row-gap:8px; }
.protocol-dow { text-align:center; color:var(--text-secondary); font-size:13px; padding:0 0 8px; }
.protocol-day { position:relative; min-width:0; min-height:54px; border:2px solid transparent; border-radius:0; background:transparent; color:var(--text); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; font-size:15px; cursor:pointer; }
.protocol-day.has-phase { background:var(--accent-soft); }
.protocol-day.band-start { border-radius:10px 0 0 10px; }
.protocol-day.band-end { border-radius:0 10px 10px 0; }
.protocol-day.band-start.band-end { border-radius:10px; }
.protocol-day.today { border-color:var(--accent); border-radius:10px; }
.protocol-day.selected { background:var(--primary); border-radius:10px; border-color:var(--primary); }
.protocol-day:hover { border-color:var(--accent); }
.protocol-markers { min-height:8px; display:flex; justify-content:center; gap:3px; }
.protocol-markers .semantic-dot { width:6px; height:6px; }
.protocol-legend { margin:18px 0 0; padding-top:14px; border-top:1px solid var(--border); gap:14px; }
.protocol-legend span { display:flex; align-items:center; gap:6px; font-size:12px; }
.protocol-day-detail { margin-top:18px; }
.protocol-day-detail h3 { text-transform:capitalize; }
.protocol-event-row { display:flex; align-items:center; gap:12px; padding:16px 0; border-top:1px solid var(--border); }
.protocol-event-row > div { flex:1; min-width:0; }
.protocol-event-row p { margin:6px 0 0; font-size:13px; overflow-wrap:anywhere; }
.protocol-event-row .health-status { flex:none; font-size:12px; }
.protocol-cta { display:flex; gap:12px; margin-top:18px; }
.protocol-cta button { flex:1; }
@media(max-width:600px) {
 .cal-day { aspect-ratio:auto; min-height:72px; padding:5px 3px; }
 .calendar-card { padding:14px; }
 .cal-session-name { font-size:11px; white-space:normal; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
 .protocol-calendar { padding:14px; }
 .protocol-calendar .month-nav h3 { font-size:17px; }
 .protocol-day { min-height:48px; }
 .protocol-cta button { padding:12px 8px; font-size:14px; }
 .protocol-event-row { flex-wrap:wrap; }
 .protocol-event-row .health-status { margin-left:20px; }
 .header-wordmark { font-size:20px; }
 .brand-header { display:grid; grid-template-columns:44px 1fr 44px; height:68px; padding:0 20px; }
}
.protocol-item { min-width:0; border:1px solid var(--border); border-radius:14px; padding:16px; margin:14px 0; }
.protocol-item h4 { margin:0 0 10px; }
.protocol-item p { overflow-wrap:anywhere; }
.protocol-update { display:block; width:100%; text-align:left; margin:12px 0; white-space:normal; }
.protocol-update small { display:block; margin-top:6px; }
.protocol-update b { color:var(--accent); }
.event-choice { display:block; width:100%; text-align:left; margin-bottom:12px; padding:18px; }
.protocol-bands { display:flex; flex-direction:column; width:calc(100% + 4px); gap:3px; }
.protocol-bands i { height:5px; background:var(--accent); }
.semantic-dot.kind-check { background:var(--event); }
.semantic-dot.kind-variation { background:none; color:var(--variation); width:auto; height:auto; line-height:1; font-style:normal; font-size:13px; }
.protocol-day.today:not(.selected) { border-style:dashed; }
.protocol-day.selected { outline:2px solid var(--accent); outline-offset:-2px; }
.protocol-calendar .health-tabs { margin:0 0 18px; }
.protocol-cta { margin-bottom:18px; }
.weight-compact .change { border:1px solid var(--border); background:var(--surface-raised); padding:6px 9px; border-radius:8px; color:var(--text-secondary); }
.circ-row { border-top:0; padding:8px 0; }
.circ-row strong { color:var(--event); }
.cal-day { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:4px; min-width:0; overflow:hidden; }
.cal-day .cal-session-name { font-size:12px; line-height:1.2; margin:0; padding:0; max-width:100%; }
.cal-day .event-dot { position:static; margin-top:auto; flex:none; }
.health-modal { max-height:calc(100dvh - 30px); display:flex; flex-direction:column; }
.health-modal .modal-body { overflow-y:auto; min-height:0; }
.health-modal .modal-footer { flex:none; }
@media(max-width:600px) { .protocol-item { padding:12px; } .health-form-grid { grid-template-columns:1fr; } .cal-day { min-height:80px; } .protocol-day { min-height:65px; } }
/* Compact operational week shares the protocol calendar's semantic tokens. */
.home-phase-card { padding:24px; min-width:0; }
.home-phase-card h3 { font-size:26px; margin:8px 0; }
.home-phase-dates { color:var(--text-secondary); font-size:14px; margin:0 0 18px; }
.home-week-nav { display:flex; align-items:center; gap:8px; margin:14px 0; }
.home-week-nav>span { flex:1; font-size:13px; }
.home-week-nav .ghost { min-width:32px; padding:6px; }
.home-week-nav .text-btn { font-size:13px; }
.home-week-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.home-week-day { display:flex; flex-direction:column; align-items:center; gap:5px; min-width:0; padding:8px 1px; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--text); }
.home-week-day>span:first-child { font-size:12px; color:var(--text-muted); }
.home-week-day strong { font-size:16px; }
.home-week-day.today { outline:1px dashed var(--accent); outline-offset:1px; }
.home-week-day.selected { background:var(--primary); color:var(--primary-ink); border-color:var(--accent); }
.home-week-day.selected>span:first-child { color:#fff; }
.week-workout { font-size:12px; font-weight:700; min-height:28px; line-height:14px; max-width:100%; overflow-wrap:anywhere; text-align:center; }
.home-week-day .protocol-markers { min-height:9px; flex-wrap:wrap; gap:3px; }
.home-day-detail { margin-top:18px; }
.home-day-detail h4 { margin:0 0 8px; font-size:15px; text-transform:capitalize; }
.home-day-event { display:flex; width:100%; align-items:center; gap:10px; padding:12px 0; text-align:left; border:0; border-bottom:1px solid var(--border); background:transparent; color:var(--text); }
.home-day-event>span:nth-last-child(2) { flex:1; min-width:0; }
.home-day-event strong,.home-day-event small { display:block; overflow-wrap:anywhere; }
.home-day-event strong { font-size:14px; }
.home-day-event small { color:var(--text-secondary); font-size:13px; margin-top:4px; line-height:1.45; }
.home-week-empty { font-size:14px; color:var(--text-muted); padding:6px 0; }
.home-phase-info { margin-top:16px; border-bottom:1px solid var(--border); }
.home-phase-info summary { cursor:pointer; display:flex; justify-content:space-between; padding:12px 0; font-size:14px; font-weight:700; list-style:none; }
.home-phase-info[open] summary span { transform:rotate(90deg); }
.home-phase-info p { white-space:pre-wrap; font-size:14px; line-height:1.5; color:var(--text-secondary); }
.home-protocol-link { padding:16px 0 0; font-size:15px; }
.analysis-upload { border:0; padding:0; margin:18px 0; min-width:0; }
.analysis-upload legend { font-weight:700; margin-bottom:10px; }
.analysis-upload-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.analysis-upload-actions label { position:relative; text-align:center; cursor:pointer; }
.analysis-upload-actions input { position:absolute; inset:0; opacity:0; width:100%; cursor:pointer; }
.analysis-upload>small { display:block; margin:10px 0; color:var(--text-muted); font-size:13px; }
#analysis-files { list-style:none; padding:0; }
#analysis-files li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; overflow-wrap:anywhere; }
.report-files { display:grid; gap:10px; }
.report-file { display:block; max-width:100%; overflow-wrap:anywhere; margin:8px 0; white-space:normal; text-align:left; }
.analysis-archive { margin-top:20px; }
@media(max-width:600px){.home-phase-card{padding:18px 12px}.home-phase-card h3{font-size:24px}.home-week-nav{gap:4px}.home-week-nav>span{font-size:12px}.home-week-grid{gap:3px}.health-tabs{flex-wrap:wrap}.health-tabs button{flex:1 1 auto}}
.home-day-event .kind-workout { --semantic-color:var(--positive); }
.home-day-event .kind-draft { --semantic-color:var(--warning); }
.home-day-event .kind-planned { --semantic-color:var(--planned); }
.home-day-event .kind-skipped { --semantic-color:var(--danger); }
.home-day-event .kind-rest { --semantic-color:var(--rest); }
.week-workout.state-workout { color:var(--positive); }
.week-workout.state-skipped { color:var(--danger); }
.home-week-day.selected .week-workout { color:var(--primary-ink); }
.home-day-detail .home-day-event small { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
@media(max-width:350px){body{min-width:0}.home-week-nav>span{font-size:12px}.home-week-nav .text-btn{padding:4px}.home-phase-card h3{overflow-wrap:anywhere}}
.analysis-image-preview { margin:12px 0; }
.analysis-image-preview img { display:block; max-width:100%; height:auto; border-radius:10px; }
.home-current-context {display:grid;gap:12px;margin:18px 0;padding-bottom:16px;border-bottom:1px solid var(--border)}
.home-current-context div {display:grid;gap:5px}.home-current-context span{font-size:14px;color:var(--text-secondary)}
.home-context-links,.protocol-secondary-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.protocol-secondary-actions>*{flex:1;min-width:130px;white-space:normal}
.health-tabs{flex-wrap:wrap}.health-tabs button{font-size:14px;white-space:normal;min-width:0}.calendar-filters{gap:6px}
.nutrition-context{margin:16px 0;padding-top:14px;border-top:1px solid var(--border)}.nutrition-context p,.nutrition-context small{font-size:14px}
.nutrition-macros{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0}.nutrition-macros span{display:grid;gap:4px}
.diet-text{overflow-wrap:anywhere}.diet-text p{white-space:pre-wrap;margin:8px 0}.diet-period .card-head{flex-wrap:wrap;gap:12px}
.protocol-future{padding:14px 0;border-bottom:1px solid var(--border)}.protocol-future summary{cursor:pointer;font-size:15px}
.protocol-month-grid .protocol-day,.home-week-day{position:relative;overflow:visible}
.protocol-month-grid .protocol-day{border-left:0;border-right:0;border-radius:0;min-height:78px}
.protocol-month-grid .protocol-day.has-phase,.home-week-day.has-phase{background:var(--accent-soft)}
.protocol-month-grid .protocol-day.band-start{border-radius:10px 0 0 10px}.protocol-month-grid .protocol-day.band-end{border-radius:0 10px 10px 0}
.protocol-month-grid .protocol-day.selected,.home-week-day.selected{background:var(--accent);color:white;outline:2px solid white;outline-offset:-3px}
.protocol-month-grid .protocol-day.today:not(.selected),.home-week-day.today:not(.selected){outline:2px dashed var(--accent);outline-offset:-3px}
.protocol-day.outside-month{opacity:.58}.protocol-day.outside-month.selected{opacity:1}
.nutrition-line{position:absolute;left:0;right:0;top:36px;height:3px;display:block;z-index:2;background:var(--nutrition-color)}
.nutrition-line.line-start{left:6px;border-radius:4px 0 0 4px}.nutrition-line.line-end{right:6px;border-radius:0 4px 4px 0}
.nutrition-line b{position:absolute;left:45%;top:-10px;font-size:13px;color:var(--nutrition-color);line-height:16px}
.objective-deficit{--nutrition-color:#ffad66}.objective-maintenance{--nutrition-color:#54d6ed}.objective-surplus{--nutrition-color:#f28fc0}
.home-week-grid{column-gap:0}.home-week-day{border-radius:0}.home-week-day .nutrition-line{top:54px}.home-week-day .week-workout{padding-top:7px}
.legend-line{width:21px;height:3px;background:var(--nutrition-color);display:inline-block}.legend-band{width:21px;height:12px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:3px;display:inline-block}
.event-overflow,.protocol-overlap{font-size:12px!important}.protocol-overlap{position:absolute;right:4px;top:3px}
.protocol-markers{min-height:15px;gap:4px}.kind-nutrition{background:var(--text-secondary)}.kind-check{background:#8adca9}
.protocol-legend{gap:12px;font-size:13px}.protocol-secondary-actions button{font-size:14px}.health-modal .modal-body{padding-bottom:24px}
@media(max-width:420px){.protocol-calendar{padding:14px}.protocol-calendar .month-nav{gap:6px;flex-wrap:wrap}.protocol-calendar .month-nav h3{font-size:17px}.health-tabs{display:flex}.health-tabs button{flex:1;padding:10px 6px}.calendar-filters button{flex:0 1 auto}.protocol-day .protocol-markers{gap:3px}.home-week-day{padding-left:2px;padding-right:2px}.home-week-day .week-workout{font-size:12px}.health-modal .modal-footer{flex-wrap:wrap}.home-context-links button{font-size:14px}}
:root { --journey-gap: 14px; }
.context-plans{display:grid;gap:var(--journey-gap);margin-top:18px}.context-plan{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:8px;padding:16px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;min-width:0}.context-plan strong{font-size:16px}.context-plan small{font-size:13px;color:var(--text-secondary)}.context-plan .health-progress{margin:3px 0}.historical-context{padding:16px;border:1px solid var(--border);border-radius:14px;margin:18px 0}.historical-context .context-plans{gap:8px}.objective-notes{margin:12px 0}.objective-notes p{white-space:pre-wrap}.coach-client-select{position:relative;margin-bottom:18px;max-width:600px;border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface)}.coach-client-select summary{cursor:pointer;font-weight:700}.coach-client-options{max-height:240px;overflow:auto;display:grid;gap:4px;margin-top:10px}.coach-client-options button{text-align:left;padding:12px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text)}.coach-client-options button[hidden]{display:none}.coach-client-options button[aria-pressed=true]{border-color:var(--accent)}.coach-client-select input{margin-top:12px}.coach-layout{grid-template-columns:minmax(0,1fr)}.timeline-date{font-size:15px;margin:24px 0 10px}.timeline-entry{width:100%;border-bottom:1px solid var(--border);padding:14px 4px}.journey-timeline-controls{display:flex;align-items:end;gap:12px;margin:18px 0}.diet-preview{margin:16px 0}.diet-preview button{display:block;width:100%;padding:0;border:0;background:transparent}.diet-preview img{display:block;width:100%;height:auto;max-height:none;border-radius:10px}.diet-preview figcaption{font-size:13px;margin:8px 0}.mobile-nav .nav-text{font-size:12px;line-height:1.3;overflow-wrap:anywhere}.mobile-nav .nav-item{min-width:0;padding:10px 2px}.journey-phase{margin-bottom:18px}.health-tabs{flex-wrap:wrap}.health-tabs button{min-height:44px}.health-field select{min-height:44px}.diet-text{font-size:16px;line-height:1.6}@media(min-width:850px){.context-plans{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:480px){.journey-phase{padding:18px}.context-plan{padding:13px}.historical-context .context-plans{grid-template-columns:1fr}}
.historical-row{display:grid;grid-template-columns:95px minmax(0,1fr);gap:5px 10px;width:100%;text-align:left;padding:10px 0;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text)}.historical-row span{font-size:13px;color:var(--text-secondary)}.historical-row strong{font-size:14px}.historical-row small{grid-column:2;font-size:13px;color:var(--text-secondary)}.coach-layout>.coach-editor{width:100%;grid-column:1/-1}.diet-preview img:not([src]){min-height:90px}.diet-loading{font-size:14px}
.mobile-nav .nav-text{white-space:nowrap;overflow-wrap:normal}@media(max-width:360px){.mobile-nav .nav-text{font-size:11px}.mobile-nav .nav-item{padding-inline:1px}}
/* Shared dark plan surfaces: current / planning / version details. */
.plan-section{max-width:960px;margin-inline:auto;--plan-current:#398bff;--plan-past:#4ca68b;--plan-future:#e9a14e;--plan-change:#ee8ca6}
.plan-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:5px;border:1px solid var(--border);border-radius:13px;background:var(--surface);margin:0 0 20px}
.plan-tabs button{min-height:48px;padding:10px 8px;border:0;border-radius:9px;background:transparent;color:var(--text-secondary);font:600 14px/1.3 inherit}
.plan-tabs button.active{background:rgba(57,139,255,.16);color:var(--text);box-shadow:inset 0 -2px var(--accent)}
.plan-phase,.plan-document-card,.plan-calendar,.plan-changes,.plan-notes-card,.plan-next-card{border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:14px;background:var(--surface);color:var(--text);width:100%;text-align:left}
.plan-phase.plan-state-current{background:#122c2c;border-color:#2e5655}.plan-phase.plan-state-past{background:#142638}.plan-phase.plan-state-future{background:#30291f;border-color:#685031}
.plan-phase h3{margin:8px 0;font-size:22px}.plan-kcal{font-size:24px;font-weight:700;margin:4px 0}.plan-phase .health-progress{margin:16px 0 8px}.plan-phase .eyebrow{font-size:12px;letter-spacing:.08em}.plan-phase .health-progress+small{font-size:14px}
.plan-badge{display:inline-block;border-radius:6px;padding:4px 7px;font-size:12px;line-height:1.3;font-weight:700;background:#23453e;color:#a7dfc8}.plan-badge.future,.plan-next-card .plan-badge{background:#553b22;color:#ffd197}
.plan-notes-card{display:grid;grid-template-columns:32px minmax(0,1fr) 12px;gap:12px;align-items:center;padding:16px}.plan-notes-card strong{display:block;font-size:16px}.plan-notes-card small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.5;color:var(--text-secondary);margin-top:5px}.plan-card-icon{color:#81b6ff;font-size:25px}
.plan-document-card h3{font-size:17px;margin:0 0 14px}.plan-document-summary{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center}.plan-document-summary strong{display:block;overflow-wrap:anywhere}.plan-document-summary small{display:block;color:var(--text-secondary);font-size:13px;margin:6px 0 12px}.plan-document-summary .ghost{min-height:42px;width:100%}.plan-thumbnail{margin:0!important}.plan-thumbnail img{height:88px!important;min-height:0!important;width:72px!important;object-fit:cover}.plan-file-icon{font-size:36px;color:#9db4cf;display:grid;place-items:center;min-height:80px;background:var(--surface-raised);border-radius:10px}
.plan-next-card{display:grid;gap:7px;background:#2b251e;border-color:#664b2e;cursor:pointer}.plan-next-card .eyebrow{color:#efb879;font-size:12px}.plan-next-card strong{font-size:15px}.plan-next-card small,.change-note{color:var(--text-secondary);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.plan-next-card .plan-badge{justify-self:start}
.plan-edit-actions{margin:0 0 18px}.plan-edit-actions .ghost{font-size:14px}.plan-history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.plan-draft{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0}
.plan-calendar{padding:16px}.plan-calendar .month-nav{display:flex;align-items:center;gap:8px;margin-bottom:14px}.plan-calendar .month-nav h3{font-size:18px;flex:1;text-align:center;margin:0}.plan-calendar .month-nav button{padding:6px 10px;min-height:36px}.plan-periods{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.plan-period{flex:1 1 90px;border:1px solid transparent;border-radius:8px;padding:9px;text-align:left;color:var(--text);background:#182b40;min-width:0}.plan-period strong{font-size:13px;display:block;overflow-wrap:anywhere}.plan-period small{font-size:12px;display:block;margin-top:4px}.plan-period.past{border-color:#2f5b4f;background:#183b34}.plan-period.current{border-color:#346297;background:#183d66}.plan-period.future{border-color:#75512c;background:#46321f}
.plan-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:5px}.plan-dow{font-size:12px;text-align:center;padding:4px;color:var(--text-secondary)}.plan-day{position:relative;isolation:isolate;display:grid;place-items:center;min-width:0;height:44px;padding:3px 0 8px;border:0;border-radius:0;background:transparent;color:var(--text);font-size:14px}.plan-day>span,.plan-day>b,.plan-day>small{z-index:1}.plan-band{position:absolute;z-index:0;inset:calc(3px + var(--lane)*17px) 0 3px;background:#183d66;opacity:.8}.plan-band.past{background:#183b34}.plan-band.future{background:#46321f}.plan-band.band-start{border-radius:7px 0 0 7px}.plan-band.band-end{border-radius:0 7px 7px 0}.plan-band.band-start.band-end{border-radius:7px}.plan-day.today>span{text-decoration:underline;text-underline-offset:4px;font-weight:800}.plan-day.selected{outline:2px solid var(--accent);outline-offset:-2px;border-radius:7px}.plan-day.off{opacity:.4}.plan-change-dot{position:absolute;bottom:0;line-height:10px;color:var(--plan-change);font-size:18px}.plan-day small{position:absolute;right:2px;top:0;font-size:10px}
.plan-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px;font-size:12px;color:var(--text-secondary)}.plan-legend span{display:flex;gap:5px;align-items:center}.plan-legend i{display:inline-block;width:12px;height:7px;border-radius:2px}.plan-legend .past{background:#4ca68b}.plan-legend .current{background:#398bff}.plan-legend .future{background:#e9a14e}.plan-legend b{color:#ee8ca6;font-size:18px}
.plan-changes h3{font-size:18px;margin:0 0 8px}.plan-change-row{display:grid;grid-template-columns:8px minmax(0,1fr) 12px;align-items:center;gap:12px;width:100%;padding:16px 0;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left}.plan-change-row:last-of-type{border-bottom:0}.plan-change-row strong{display:block;font-size:15px;margin:5px 0}.plan-change-row small{font-size:12px;color:var(--text-secondary)}.change-marker{height:8px;width:8px;border-radius:50%;background:#7791ad}.change-marker.future{background:#e9a14e}.plan-full-notes{white-space:pre-wrap;line-height:1.7}.plan-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plan-comparison section{padding:16px;border-radius:12px;background:var(--surface-raised);min-width:0}.plan-comparison section:last-child{background:#16372e}.plan-comparison small{display:block;color:var(--text-secondary);margin-bottom:10px}.plan-comparison strong{display:block;overflow-wrap:anywhere}.plan-pdf{display:grid;gap:15px;padding:16px;border:1px solid var(--border);border-radius:12px;margin:16px 0}.plan-modal .diet-preview img{max-height:none}.plan-modal .modal-body{padding-bottom:30px}
.consultation-hidden{display:none!important}.session-layout:has(.consultation-hidden){grid-template-columns:minmax(0,1fr)}.prescription-preview{padding:16px 20px}.prescription-preview h4{margin:0 0 5px}.prescription-preview p{margin:0;font-size:15px;color:var(--text-secondary)}.prescription-preview small{font-size:13px}.training-secondary{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 16px}.compact-training-calendar .cal-day{height:55px;min-height:55px;padding:6px 3px;gap:3px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.compact-training-calendar .cal-session-name{font-size:12px;line-height:1.15;margin:0}.compact-training-calendar .event-dot{position:absolute;right:4px;top:7px;width:5px;height:5px}.compact-training-calendar .calendar-card{padding:14px}.compact-training-calendar .dow{padding:8px 2px}.compact-training-calendar .calendar-grid{gap:2px}.compact-training-calendar .month-nav{margin-bottom:10px}
@media(max-width:480px){.plan-tabs button{font-size:13px}.plan-phase,.plan-document-card,.plan-changes{padding:17px}.plan-calendar{padding:12px}.plan-calendar .month-nav{gap:4px}.plan-calendar .month-nav h3{font-size:16px}.plan-calendar .month-nav button{padding:6px}.plan-day{height:39px}.plan-comparison{grid-template-columns:1fr}.plan-period strong{font-size:12px}.plan-section{margin-bottom:20px}}
.plan-phase>small{display:block;font-size:14px;line-height:1.5;margin-top:5px;color:var(--text-secondary)}.plan-phase .health-progress+small{color:var(--text);font-weight:600}.plan-tabs button{font-family:inherit;font-size:14px;font-weight:600;line-height:1.35}.plan-period strong{word-break:normal;overflow-wrap:break-word}
.home-current-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-plan-tile{display:flex;flex-direction:column;gap:8px;text-align:left;background:#102338;border:1px solid #275174;border-radius:16px;color:var(--text-primary);padding:18px 12px;min-width:0;font:inherit}.home-plan-tile strong{font-size:16px;overflow-wrap:anywhere}.home-plan-tile>span:not(.tile-icon),.home-plan-tile small{font-size:13px}.home-plan-tile.tile-alimentazione{background:#0b2a25;border-color:#21634f}.home-plan-tile.tile-protocollo{background:#211d39;border-color:#514274}.tile-icon{font-size:32px}.home-obsolete-actions{display:none!important}.home-journey-card{margin-top:16px}.home-phase-open{background:none;border:0;color:inherit;display:flex;align-items:center;gap:16px;width:100%;text-align:left;font:inherit}.home-phase-open>span:nth-child(2){flex:1;min-width:0}.home-phase-open strong,.home-phase-open small{display:block}.home-phase-open strong{font-size:20px;margin:6px 0}.home-art{font-size:48px}.plan-day-summary{padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:16px;margin:14px 0}.plan-day-summary h3{font-size:16px}.plan-day-summary p{font-size:14px;line-height:1.5}.day-change{color:#f493cd}.compact-tabs{margin:0!important;max-width:280px}.compact-tabs button{font-size:13px!important;padding:8px!important}.plan-changes>.card-head{display:block;padding:0;margin:0 0 6px}.plan-changes .compact-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:none}.plan-changes>.compact-tabs{margin-bottom:6px!important}.journey-main-grid{display:block}.journey-deadlines{margin-top:18px}
.journey-four-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important;display:grid!important}.journey-four-tabs button{padding:10px 4px!important;font-size:13px!important;min-width:0}.journey-dots{position:absolute;bottom:4px;display:flex;gap:4px}.journey-dot{display:inline-block!important;width:6px!important;height:6px!important;border-radius:50%;flex-shrink:0;background:#ee70c5}.journey-dot.health{background:#26d5db}.journey-dot.body{background:#ac84f5}.experience-journey .plan-day{height:44px}.day-plan-list{display:grid;gap:4px}.day-plan-list p{margin:2px 0}.weight-experience{padding:18px!important}.weight-experience .card-head{padding:0}.weight-experience h3{font-size:28px;margin:4px 0}.weight-chart-open{display:block;width:100%;background:none;border:0;color:var(--text-secondary);text-align:left;cursor:pointer;font:inherit;padding:0}.weight-sparkline{width:100%;height:100px;display:block}.weight-legend{display:flex;gap:16px;font-size:12px;margin:6px 0 12px}.weight-legend span:first-child{color:#35d6ae}.weight-legend span:last-child{color:#61b9ff}.weight-record{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);padding:12px 0}.weight-record>span{flex:1}.weight-record strong{display:block}.body-main-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.health-summary-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.health-summary-tiles article{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:14px 10px}.health-summary-tiles span{display:block;font-size:26px}.health-summary-tiles small,.health-summary-tiles strong{display:block;margin-top:6px}.check-compare-grid,.check-compare-select{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-compare-grid>section{min-width:0}.check-compare-grid .progress-photo-grid{grid-template-columns:1fr}.check-compare-grid .historical-row{display:block}.check-compare-grid .historical-row>*{display:block}.check-compare-grid .historical-context{padding:8px}.check-compare-measures{border-top:1px solid var(--border);margin-top:14px}.experience-journey .coach-progress-tabs{display:none}.experience-journey .page-head:has(+.progress-scope-tabs){margin-top:16px}.plan-changes{scroll-margin-top:90px}
.compact-training-calendar .training-band-past{background:#163d32}.compact-training-calendar .training-band-current{background:#163b61}.compact-training-calendar .training-band-future{background:#4c321b}.training-change-dot{position:absolute;right:4px;bottom:2px;color:#f472c6}.compact-training-calendar .cal-day{position:relative}.home-journey-card small{line-height:1.6}.experience-journey .health-card{margin-top:14px}
.journey-home .journey-heading{margin:0 0 16px;padding:0}.journey-home .journey-heading h2{font-size:26px;line-height:1.2;margin:0}.journey-home{padding-top:18px}.home-current-plans{gap:8px;margin-bottom:14px}.home-plan-tile{min-height:132px!important;padding:14px 10px!important;gap:8px!important;justify-content:flex-start}.home-plan-tile>span:not(.tile-icon){font-size:13px}.home-plan-tile strong{font-size:16px;line-height:1.25;overflow-wrap:anywhere}.home-plan-tile .tile-unit{display:block;font-size:12px;font-weight:500;margin-top:3px;white-space:nowrap}.tile-icon svg,.upcoming-icon svg,.health-row-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tile-icon{height:30px!important;color:#69bdff}.tile-alimentazione .tile-icon{color:#43dba1}.tile-protocollo .tile-icon{color:#bc94f6}.home-phase-open{padding:16px!important;grid-template-columns:62px minmax(0,1fr) 12px!important;gap:14px!important}.phase-copy{display:grid;gap:5px;min-width:0}.phase-copy strong{font-size:18px;line-height:1.25}.phase-copy>span{font-size:14px}.phase-copy small{font-size:12px;color:var(--text-secondary)}.phase-ring{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) var(--progress),var(--border) 0);flex-shrink:0}.phase-ring>span{width:52px;height:52px;border-radius:50%;background:var(--surface);display:grid;align-content:center;text-align:center;font-size:13px;line-height:1.2;font-weight:700}.phase-ring.neutral{background:var(--border)}.journey-home .journey-deadlines{padding:16px}.journey-card-head h3{font-size:20px}.upcoming-row{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) 14px;align-items:center;gap:10px;text-align:left;background:none;color:var(--text);border:0;border-bottom:1px solid var(--border);padding:14px 0;cursor:pointer}.upcoming-row:last-child{border-bottom:0}.upcoming-icon{color:#69bdff}.upcoming-copy{display:grid;gap:4px;min-width:0}.upcoming-copy time,.upcoming-copy small{font-size:13px;color:var(--text-secondary)}.upcoming-copy strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}.health-category-tabs{display:flex;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px}.health-category-tabs button{flex:1;min-width:0;background:transparent;color:var(--text-secondary);padding:11px 6px;border:1px solid transparent;border-radius:9px;font-size:13px;line-height:1.3;cursor:pointer}.health-category-tabs button.active{background:var(--accent);border-color:#51baff;color:white}.health-compact-content{display:grid;gap:10px}.health-compact-row{display:grid;grid-template-columns:42px minmax(0,1fr) 12px;gap:12px;align-items:center;text-align:left;width:100%;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);cursor:pointer}.health-compact-row>span:nth-child(2){display:grid;gap:5px;min-width:0}.health-compact-row strong{font-size:16px;overflow-wrap:anywhere}.health-compact-row small,.health-compact-row time{font-size:13px;line-height:1.4;color:var(--text-secondary)}.health-row-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#382447;color:#ee95cf}.health-main-actions{display:grid;gap:10px;margin-top:16px}.parameter-panel{padding:18px}.parameter-panel h3{font-size:18px;margin-bottom:14px}.parameter-chart{width:100%;height:160px}.parameter-range{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.parameter-legend{font-size:13px;color:var(--text-secondary)}@media(max-width:420px){.home-current-plans{gap:6px}.home-plan-tile{padding:12px 8px!important;min-height:122px!important}.home-plan-tile>span:not(.tile-icon){font-size:12px}.home-phase-open{gap:10px!important}.phase-copy strong{font-size:16px}.health-category-tabs button{font-size:12px}.journey-home .journey-heading h2{font-size:24px}}
/* Shared current-plan hierarchy, independent from logging controls. */
.compact-plan-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:var(--surface);min-height:0}
.compact-plan-summary>div:first-child{min-width:0}.compact-plan-summary h3{font-size:20px;margin:0 0 6px;overflow-wrap:anywhere}.compact-plan-summary p{margin:5px 0;font-size:15px}.compact-plan-summary .plan-kcal{font-size:21px}.compact-plan-summary .plan-validity{font-size:13px;color:var(--text-secondary);line-height:1.5}.compact-period{flex-shrink:0;font-size:13px}.compact-period small{font-size:11px}
.coach-notes-disclosure{border:1px solid var(--border);border-radius:14px;padding:14px 16px;margin-bottom:14px;background:var(--surface);font-size:14px}.coach-notes-disclosure summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}.coach-notes-disclosure summary::-webkit-details-marker{display:none}.coach-notes-disclosure p{white-space:pre-wrap;line-height:1.55;margin:12px 0 0;color:var(--text-secondary)}
.plan-section>.section-switch{gap:8px;background:none;border:0;padding:0}.section-switch[aria-label^="Sezioni"] button{min-width:0;white-space:normal;font-size:14px;min-height:48px;padding:10px 8px}
.program-grid{gap:8px;margin-bottom:14px}.program-grid .day-card{min-height:0;padding:12px;text-align:left}.program-grid .day-card h3{font-size:17px;margin:5px 0}.program-grid .day-card p{font-size:13px;line-height:1.4;margin:4px 0}.program-grid .day-card.completed-day{background:var(--surface);border-color:var(--border)}.program-grid .day-card.current{border-color:var(--accent);background:rgba(57,139,255,.12)}.program-grid .day-card .card-tag{font-size:11px;padding:3px 6px;margin-top:5px}.preview-mode .session-heading{padding:16px;gap:12px;flex-wrap:wrap}.preview-mode .session-heading h3{font-size:18px}.preview-mode .session-heading .primary{min-height:44px;padding:10px 14px}
.plan-document-card{padding:14px 16px}.plan-document-card h3{font-size:14px;margin:0 0 10px}.plan-document-summary{display:flex;align-items:center;gap:12px}.plan-document-summary>div{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.plan-document-summary strong{font-size:15px;flex:1 1 160px}.plan-document-summary small{font-size:13px}.plan-document-summary .ghost{min-height:40px;padding:8px 12px;margin:0}.plan-file-icon,.plan-document-summary .plan-thumbnail{width:40px;height:48px;min-width:40px;flex-shrink:0;margin:0}.plan-next-card{padding:14px 16px;min-height:0;gap:5px}.plan-next-card small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:600px){.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-plan-summary h3{font-size:18px}.plan-document-summary>div{gap:5px}.plan-document-summary .ghost{width:auto}.plan-section{max-width:100%}}
.program-grid .day-card .card-tag{position:static;display:inline-flex;align-self:start}.program-grid .day-card{display:flex;flex-direction:column;align-items:flex-start}.program-grid .day-card p{min-height:0}.section-switch button{min-height:48px}.health-shell>.page-head{max-width:960px;margin-inline:auto}
/* Percorso: one compact hierarchy and paired touch-friendly photo comparison. */
.experience-journey .journey-four-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;border:0;background:none;padding:0}.journey-four-tabs button{padding:10px 4px;font-size:14px;min-width:0}
.experience-journey .body-main-actions{display:flex;gap:8px;margin:0 0 14px}.body-main-actions>button{flex:1;min-height:44px}
.experience-journey .weight-experience{padding:16px;margin-bottom:14px}.weight-experience .card-head{padding:0;margin:0}.weight-experience .weight-sparkline{height:100px}.weight-experience h3{font-size:26px;margin:4px 0}.weight-experience .ghost{padding:8px 12px;min-height:44px}
.circ-row .delta-up{color:#6cc6ff}.circ-row .delta-down{color:#c6a7f2}.circ-row strong{color:var(--text)}.experience-journey .circumference-summary,.experience-journey .photo-overview{padding:16px;margin-bottom:14px}.circumference-summary .card-head{padding:0}.experience-journey .section-title{margin:14px 0}.experience-journey .section-title .eyebrow,.experience-journey .section-title p{display:none}.compact-check-history{display:grid;gap:8px}.check-history-row{grid-template-columns:minmax(0,1fr) 14px;padding:12px 14px}.check-history-row>span:first-child{display:grid;gap:5px}.check-history-row strong{font-size:15px}.check-history-row small{font-size:13px}
.experience-journey .health-main-actions{margin:0 0 14px}.experience-journey .health-main-actions .primary{min-height:44px;justify-self:start}.journey-calendar-actions{margin-bottom:14px}.home-feedback{margin:14px 0;min-height:44px}
.performance-filters{display:grid;gap:8px;margin-bottom:14px}.performance-filters label{font-size:14px}.performance-filters .section-switch{margin:0;gap:6px;display:flex;flex-wrap:wrap}.performance-filters .section-switch button{flex:1;padding:8px;min-width:60px}.performance-filters small{color:var(--text-secondary)}.performance-compact{padding:16px;margin-bottom:14px}.performance-compact h3{font-size:18px;margin:8px 0}.performance-compact p{font-size:14px;line-height:1.5;margin:8px 0}.performance-compact label{display:block;font-size:14px;margin-bottom:8px}.performance-compact small{font-size:13px;color:var(--text-secondary)}.performance-compact svg{max-height:160px}.performance-results{display:grid;gap:8px;margin-top:12px}.performance-results>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:14px}.recent-performance{display:grid;gap:8px}.recent-performance h3{font-size:18px}
.comparison-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.compare-photo-panel{min-width:0}.compare-photo-panel time{display:block;font-size:13px;line-height:1.4;margin-bottom:6px}.compare-photo-caption{display:flex;justify-content:space-between;gap:4px;font-size:14px;margin-bottom:6px}.compare-photo-frame{display:block;width:100%;aspect-ratio:3/4;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:0;overflow:hidden;touch-action:pan-y pinch-zoom;color:var(--text-secondary)}.compare-photo-frame img{width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}.compare-photo-frame.empty{display:grid;place-items:center;text-align:center;font-size:14px}.compare-photo-controls{display:flex;gap:6px;margin:6px 0}.compare-photo-controls button{flex:1;min-height:44px}.compare-photo-panel select{width:100%;font-size:14px;min-height:44px;padding:8px}.compare-missing{font-size:13px;line-height:1.4;color:var(--text-secondary)}.compare-sync{display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px}.compare-sync input{width:20px;height:20px}.check-compare-select{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-compare-select select{min-width:0;width:100%;font-size:14px;padding:8px}
.compare-zoom-pan{overflow:auto;max-height:65vh;margin-top:12px;touch-action:pan-x pan-y pinch-zoom}.compare-zoom-pan img{display:block;width:100%;max-width:none;height:auto}.compare-zoom-pan img.zoomed{width:200%;max-width:none}.check-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-compare-grid h4{font-size:14px}.check-compare-grid p{font-size:14px}.check-compare-grid .context-plans{grid-template-columns:1fr}.check-compare-grid .historical-context{padding:8px}.check-compare-grid .context-plan{padding:8px}.check-compare-grid .context-plan strong{font-size:14px;overflow-wrap:anywhere}
/* Shared section identities and operational actions. */
.identity-nutrition{--section-accent:#46dba5;--section-button:#19805d;--section-tint:#112d2a;--accent:var(--section-accent)}
.identity-protocol{--section-accent:#c09af8;--section-button:#7650b5;--section-tint:#26213c;--accent:var(--section-accent)}
.identity-nutrition .plan-phase,.identity-protocol .plan-phase{background:linear-gradient(110deg,var(--section-tint),var(--surface) 85%);border-color:color-mix(in srgb,var(--section-accent) 35%,var(--border))}
.identity-nutrition .primary,.identity-protocol .primary,.identity-nutrition .plan-document-summary .ghost,.identity-protocol .plan-document-summary .ghost{background:var(--section-button);border-color:var(--section-accent);color:#fff}
.identity-nutrition .phase-ring,.identity-protocol .phase-ring{--accent:var(--section-accent)}.plan-identity-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--section-tint,var(--surface-raised));color:var(--section-accent,var(--accent));margin-bottom:8px}.plan-identity-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}
.home-start-actions{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px;margin:12px 0}.home-start-actions button{width:100%;font-size:14px;padding:12px 10px;min-height:46px;white-space:normal}
.home-journey-card{margin-top:0}.home-plan-tile{min-height:112px!important}.tile-icon{display:grid;place-items:center;width:36px;height:36px!important;border-radius:10px;background:#173958}.tile-alimentazione .tile-icon{background:#164435}.tile-protocollo .tile-icon{background:#3b2b57}
.compact-plan-summary:has(.training-start){display:grid;grid-template-columns:minmax(0,1fr) 68px;gap:14px}.compact-plan-summary:has(.training-start)>div:first-child{min-width:0}.training-start{grid-column:1/-1;width:100%;display:grid;gap:10px;padding-top:10px;border-top:1px solid var(--border)}.training-start strong{font-size:15px}.training-start .primary{min-height:46px;width:100%}
.illustrated-exercise{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center}.illustrated-exercise h4{margin:0 0 6px}.illustrated-exercise p{margin:0}.exercise-thumbnail{width:64px;height:64px;border:1px solid var(--border);border-radius:12px;background:#f7f8f7;padding:5px;cursor:pointer;overflow:hidden}.exercise-thumbnail img{width:100%;height:100%;object-fit:contain}.exercise-thumbnail.unavailable{background:var(--surface-raised);color:var(--text-secondary)}.exercise-thumbnail svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5}.exercise-art-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.exercise-art-pair figure{margin:0;min-width:0}.exercise-art-pair img{display:block;width:100%;background:#fff;border-radius:12px}.exercise-art-pair figcaption{font-size:14px;margin-top:8px;color:var(--text-secondary)}
.health-action-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:14px}.health-action-trio button{font-size:14px;padding:12px 4px;min-height:44px}.parameters-summary{padding:16px;margin-bottom:16px}.parameters-summary h3{font-size:18px;margin:0 0 8px}.parameter-latest{display:grid;grid-template-columns:38px 1fr 14px;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:0;color:var(--text);padding:12px 0;border-bottom:1px solid var(--border);font:inherit}.parameter-latest:last-child{border:0}.parameter-latest>span:nth-child(2){display:grid;gap:4px}.parameter-latest small{font-size:13px;color:var(--text-secondary)}.parameter-latest .health-row-icon{width:34px;height:34px;background:#153b49;color:#5cdeed}.parameter-latest strong{font-size:17px}
.consistency-hero{display:flex;align-items:center;gap:20px;padding:18px;margin-bottom:20px}.consistency-hero>div:last-child{display:grid;gap:5px;min-width:0}.consistency-hero h3{font-size:18px;margin:0}.consistency-hero strong{font-size:15px}.consistency-hero small,.consistency-hero p{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.consistency-hero .phase-ring{width:86px;height:86px}.consistency-hero .phase-ring>span{width:72px;height:72px;font-size:26px}.consistency-hero .phase-ring small{font-size:15px}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 20px}.record-card{display:grid;gap:6px;text-align:left;padding:14px;border:1px solid #544b30;border-radius:14px;background:#1d2430;color:var(--text);font:inherit;cursor:pointer}.record-card>span{font-size:24px}.record-card strong{font-size:14px;line-height:1.4}.record-card b{font-size:17px;color:#f4d89c}.record-card small,.personal-records>small{font-size:13px;color:var(--text-secondary)}.personal-records h3{font-size:18px;margin-bottom:6px}.progression-main h3{font-size:24px}.progression-main svg{max-height:190px}.progression-main .performance-results{display:block}.performance-results>div{padding:8px 0}.record-card:active{transform:scale(.98)}
.comparison-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:16px 0 6px;font-size:14px}.comparison-table th,.comparison-table td{padding:15px 4px;text-align:right;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.comparison-table th:first-child{text-align:left}.comparison-table thead th{font-size:13px;color:var(--text-secondary);font-weight:500}.comparison-table tbody th{font-weight:500}.comparison-table td{color:var(--text)}.comparison-table td.delta-up{color:#7dc8ff}.comparison-table td.delta-down{color:#c9a8ff}.check-compare-measures>small{font-size:13px;color:var(--text-secondary)}
.journey-inline-day .historical-context{background:none;padding:0;border:0;margin:12px 0}.journey-inline-day .historical-context>.eyebrow{display:none}.journey-inline-day .home-day-event{display:grid;grid-template-columns:8px minmax(0,1fr) 12px;gap:10px}.journey-inline-day .home-day-event small{font-size:13px}.journey-inline-day>.ghost{margin-top:12px}.register-sheet .journey-register-grid{grid-template-columns:1fr 1fr}.register-sheet .journey-register-grid button{min-height:64px;font-size:15px}
@media(max-width:600px){.modal-wrap:has(.register-sheet){align-items:flex-end;padding:0}.register-sheet{width:100%;border-radius:22px 22px 0 0;margin:0;padding-bottom:env(safe-area-inset-bottom)}.health-action-trio{gap:5px}.health-action-trio button{font-size:13px}.comparison-table{font-size:13px}.comparison-table thead th{font-size:12px}.comparison-table th:first-child{width:24%}}
@media(prefers-reduced-motion:reduce){.record-card:active{transform:none}}
.action-play{display:inline-flex;align-items:center;margin-right:8px;vertical-align:middle}.action-play svg{width:17px;height:17px;fill:currentColor;stroke:none}
.tile-protocollo .phase-ring:not(.neutral) small{display:none}
.home-current-plans .home-plan-tile{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:3.75rem 4.75rem 2.5rem;gap:6px;padding:12px 8px!important;height:auto;min-height:0!important;text-align:center;align-items:center;justify-items:center;justify-content:normal;align-content:start}
.home-current-plans .tile-heading{display:grid;grid-template-rows:30px 1fr;gap:5px;justify-items:center;align-items:center;font-size:13px!important;line-height:1.25;min-width:0}
.home-current-plans .tile-icon{width:30px!important;height:30px!important;margin:0}.home-current-plans .tile-icon svg{width:20px;height:20px}
.home-current-plans .tile-value{display:grid;place-items:center;height:100%;width:100%;min-width:0}.home-current-plans .tile-value>strong{font-size:clamp(20px,5.6vw,24px);line-height:1.2;white-space:nowrap;display:grid;justify-items:center}.home-current-plans .tile-value .tile-unit{font-size:14px;margin-top:3px}
.home-current-plans .tile-caption{display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1.3;color:var(--text-secondary);height:100%;margin:0}
.home-current-plans .compact-period{margin:0;display:grid;place-items:center}.home-current-plans .phase-ring{width:68px;height:68px;margin:0}.home-current-plans .phase-ring>span{width:58px;height:58px;font-size:16px}
.home-start-actions{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:stretch}.home-start-actions button{height:52px;min-height:52px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:14px;line-height:1.25}.home-start-actions .action-play{flex-shrink:0;margin:0}
.performance-scope{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.performance-scope button{min-height:46px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-secondary);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.performance-scope button.active{color:#fff;background:var(--primary);border-color:var(--accent)}
.tonnage-panel{padding:16px!important;margin:0 0 22px}.tonnage-panel h3,.exercise-progressions h3{font-size:18px;margin:0 0 6px}.tonnage-panel p,.exercise-progressions>p{font-size:13px;color:var(--text-secondary);margin:0 0 14px}.tonnage-panel>small{display:block;font-size:12px;line-height:1.5;color:var(--text-secondary);margin-top:12px}
.tonnage-chart{display:block;width:100%;height:auto;max-height:270px}.tonnage-chart text{fill:var(--text-secondary);font-size:12px;font-family:inherit}.tonnage-legend{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px}.tonnage-legend span{display:flex;align-items:center;gap:6px}.tonnage-legend i{width:20px;border-top:3px solid var(--series-color)}
.tonnage-first{display:grid;gap:10px}.tonnage-first>div{display:grid;grid-template-columns:1fr auto;gap:5px;padding:12px;border:1px solid var(--border);border-radius:10px}.tonnage-first small{grid-column:1/-1;color:var(--text-secondary);font-size:13px}
.performance-day{margin:10px 0;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.performance-day>summary{padding:16px;cursor:pointer;font-size:16px;font-weight:700;min-height:52px}.performance-day>summary small{float:right;font-size:13px;color:var(--text-secondary);font-weight:500}.performance-day>div{padding:0 10px 10px}
.performance-exercise-card{display:grid;grid-template-columns:52px minmax(0,1fr) 12px;gap:10px;align-items:center;text-align:left;width:100%;border:1px solid var(--border);border-radius:12px;padding:12px;margin-top:10px;background:var(--bg);color:var(--text);font:inherit;cursor:pointer}.performance-exercise-image{display:grid;place-items:center;width:52px;height:52px;border-radius:10px;overflow:hidden;background:var(--surface-raised)}.performance-exercise-image img{width:100%;height:100%;object-fit:contain;background:#fff}.performance-exercise-image svg{width:24px;height:24px;fill:none;stroke:var(--accent);stroke-width:1.7}
.performance-exercise-copy{display:grid;gap:4px;min-width:0}.performance-exercise-copy strong{font-size:15px;line-height:1.35}.performance-exercise-copy b{font-size:14px;font-weight:600}.performance-exercise-copy small{font-size:12px;color:var(--text-secondary)}.exercise-mini-chart{grid-column:1/-1;display:block;margin-top:4px}.exercise-mini-chart>small{font-size:12px;color:var(--text-secondary)}.exercise-mini-chart .training-chart{height:64px;min-height:0;max-height:64px}.exercise-mini-chart .training-chart-labels{font-size:12px;margin:0}
.performance-history-row{padding:14px 0;border-bottom:1px solid var(--border)}.performance-history-row h4{margin:0 0 4px;font-size:16px}.performance-history-row p{font-size:14px;margin:0 0 8px}.performance-history-row>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:14px}
.tile-protocollo{--accent:#c09af8}.phase-ring.neutral{background:var(--border)}
.tile-title-short{display:none}@media(max-width:360px){.tile-title-full{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.tile-title-short{display:inline}}
.nutrition-week{margin-top:12px;font-size:14px}.nutrition-week summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--accent)}.nutrition-week>div{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:8px 0;border-bottom:1px solid var(--border)}.nutrition-week>div>span{color:var(--text-secondary);font-size:13px}.nutrition-week>div>strong{grid-column:2;grid-row:span 2}.nutrition-week-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:1px solid var(--border);border-radius:12px;margin:16px 0;padding:12px}.nutrition-week-fields legend{font-size:14px}.nutrition-week-fields>p{grid-column:1/-1;font-size:14px}
/* Shared compact planning surfaces. */
.plan-day-summary,.compact-training-calendar .event-detail{padding:16px;min-height:0;align-self:start}.plan-day-summary h3,.compact-training-calendar .event-detail h3{margin:0 0 6px;font-size:16px}.plan-day-summary p,.compact-training-calendar .event-detail p{margin:6px 0;font-size:14px;line-height:1.5}.plan-day-summary .primary,.compact-training-calendar .event-detail .primary{margin-top:12px;min-height:44px;height:auto;padding:10px 14px}.plan-date-context,.session-status{display:block;color:var(--text-secondary);font-size:13px;line-height:1.45;margin:6px 0}.plan-change-row{padding:12px 0}.compact-training-calendar .month-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.compact-training-calendar .month-nav h3{margin:0;font-size:17px;flex:1 1 130px}.compact-training-calendar .month-actions{flex:0 0 auto}.compact-training-calendar .cal-day.today{box-shadow:none}.compact-training-calendar .cal-day.today .date-no{text-decoration:underline;text-underline-offset:4px;font-weight:800}.compact-training-calendar .cal-day.selected{box-shadow:inset 0 0 0 2px var(--accent)}.training-secondary{margin:12px 0 20px}.training-secondary .text-btn{display:inline-flex;align-items:center;gap:8px;font-size:14px}.plan-modal .modal-head{align-items:flex-start;gap:12px}.plan-modal .modal-head h3{font-size:20px;line-height:1.3;min-width:0;overflow-wrap:anywhere}.plan-modal .close{flex-shrink:0}.plan-modal .modal-body{min-height:0;overflow-y:auto}.plan-phase .card-head{padding:0;margin:0}.plan-state-past .plan-badge{background:var(--surface-raised);color:var(--text-secondary)}.plan-state-future .plan-badge{background:#553b22;color:#ffd197}.journey-coach{padding:8px 0;margin-top:12px;border:0;background:none}
/* Coach composes the same plan surfaces; only editing controls are additional. */
body:has(.coach-full-editor){overflow:hidden;}
.app-shell .modal-wrap:has(.coach-full-editor){overflow:hidden;}
.app-shell .coach-full-editor .coach-settings .input{font-size:16px;min-height:44px;}
.app-shell .coach-full-editor .coach-settings label>span{font-size:13px;letter-spacing:0;text-transform:none;}
.app-shell .coach-full-editor .modal-footer{flex-direction:row;}
.app-shell .coach-full-editor .modal-footer button{margin:0;min-height:46px;}
.coach-client-select {position:relative;width:100%;max-width:none;box-sizing:border-box;padding:0;margin:0 0 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);}
.coach-client-select summary {display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:14px;min-height:44px;padding:6px 12px;box-sizing:border-box;}
.coach-client-select summary>span:last-child {flex:0 0 16px;text-align:center;}
.coach-client-select summary::-webkit-details-marker {display:none;}
.coach-client-dropdown {padding:0 12px 12px;}
.coach-client-options button {overflow-wrap:anywhere;}
.content:has(>.coach-client-select) {max-width:1064px;}
.content:has(>.coach-client-select) .plan-section {max-width:none;}
@media(max-width:600px){
 .program-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(140px,45%);overflow-x:auto;max-width:100%;padding-bottom:4px;scrollbar-width:thin;}
 .program-grid .day-card h3{white-space:nowrap;}
}
.coach-client-dropdown .text-btn {min-height:44px;}
.client-management-list {margin-top:12px;}
.client-management-list article {display:flex;gap:12px;align-items:center;padding:10px 0;}
.client-management-list article+article {border-top:1px solid var(--border);}
.client-management-name {flex:1;min-width:0;display:grid;gap:4px;text-align:left;background:none;border:0;color:var(--text);padding:8px 0;min-height:44px;}
.client-management-name strong {overflow-wrap:anywhere;font-size:15px;}
.client-management-name small {color:var(--text-secondary);font-size:13px;}
.client-management-list .text-btn {flex:none;min-height:44px;font-size:13px;}
.app-shell .phase-card-head {display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:0 14px;}
.app-shell .phase-card-head+.home-phase-open {padding-top:4px;}
.app-shell .phase-card-head .phase-edit {margin:0;padding:6px 0;min-height:44px;font-size:13px;}
.phase-card-head small {font-size:13px;color:var(--text-secondary);}
.app-shell .performance-scope {padding:3px;gap:4px;border:1px solid var(--border);border-radius:12px;background:var(--surface);}
.app-shell .performance-scope button {min-height:44px;padding:8px;font-size:14px;background:transparent;border:0;box-shadow:none;}
.app-shell .performance-scope button.active {background:var(--accent-soft);color:var(--text);box-shadow:inset 0 -2px var(--accent);}
.tonnage-heading {display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;}
.tonnage-heading h3 {margin:0;}
.tonnage-info summary {list-style:none;cursor:pointer;min-width:44px;min-height:44px;display:grid;place-items:center;font-size:20px;color:var(--text-secondary);}
.tonnage-info p {position:absolute;z-index:5;left:0;right:0;top:44px;margin:0;padding:16px;background:var(--surface-elevated,var(--surface));border:1px solid var(--border);border-radius:12px;font-size:14px;box-shadow:0 12px 32px #0008;}
.tonnage-first {display:flex;align-items:center;gap:12px;width:100%;padding:12px 0;background:transparent;border:0;color:var(--text);text-align:left;}
.tonnage-first>span:first-child {flex:1;display:grid;gap:4px;}
.tonnage-first small,.tonnage-first time {font-size:13px;color:var(--text-secondary);}
.tonnage-first strong {font-size:24px;white-space:nowrap;}
.coach-client-select summary strong {flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.coach-client-select summary .avatar {width:30px;height:30px;font-size:12px;flex:none;}
.coach-client-options {max-height:260px;overflow:auto;display:grid;gap:4px;margin-top:8px;}
.coach-client-options button {min-height:44px;text-align:left;}
.coach-program-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 16px;}
.coach-program-actions button {min-height:46px;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 8px;font-size:14px;line-height:1.3;}
.coach-day-picker {display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:12px 0;max-width:100%;padding-bottom:4px;scrollbar-width:thin;}
.coach-day-picker button {height:44px;flex:0 0 auto;white-space:nowrap;display:flex;align-items:center;justify-content:center;}
.coach-day-picker .active {background:var(--accent-soft);border-color:var(--accent);color:var(--text);}
.coach-prescription-list {display:grid;gap:10px;}
.app-shell .coach-summary-head{flex-direction:row;text-align:left;align-items:center}.app-shell .coach-summary-head h2{margin:0}.journey-main-grid .home-journey-card{margin-bottom:14px}.app-shell .home-phase-open .phase-copy{gap:4px}.app-shell .home-phase-open .phase-copy strong{margin:0}.app-shell .home-phase-open .phase-copy>span,.app-shell .home-phase-open .phase-copy small{margin:0;line-height:1.4}.app-shell .home-phase-open .phase-ring{margin:0}.home-journey-card .phase-edit{margin-top:-4px}
.coach-summary-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.coach-summary-head .primary{min-height:44px;padding:10px 16px}.coach-summary-head+.journey-home{padding-top:0}
.home-journey-card .phase-edit{display:block;margin:0 16px 12px auto;min-height:44px;padding:8px 12px}.coach-feedback{padding:16px!important;margin:16px 0}.coach-feedback h3{margin:0 0 8px;font-size:18px}.coach-feedback-row{display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:12px;align-items:center;width:100%;background:none;border:0;border-bottom:1px solid var(--border);color:var(--text);text-align:left;padding:12px 0;font:inherit}.coach-feedback-row:last-child{border-bottom:0}.coach-feedback-row>span:first-child{display:grid;grid-template-columns:1fr auto;gap:5px}.coach-feedback-row strong{font-size:15px}.coach-feedback-row time{font-size:13px;color:var(--text-secondary)}.coach-feedback-row small{grid-column:1/-1;font-size:14px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-current-plans .phase-ring>span{display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.2;padding:0!important;margin:0!important;gap:2px}.home-current-plans .compact-period{width:100%;height:100%}.home-current-plans .tile-heading{width:100%;overflow-wrap:anywhere}.home-current-plans .tile-caption{overflow-wrap:anywhere;min-width:0}.home-current-plans .tile-value strong{max-width:100%;font-variant-numeric:tabular-nums}
.document-row{display:grid;grid-template-columns:44px minmax(0,1fr) 14px;width:100%;padding:0;background:none;border:0;color:var(--text);text-align:left;min-height:52px;cursor:pointer;font:inherit}.document-row>span:nth-child(2){display:grid;gap:5px;min-width:0}.document-row strong{overflow-wrap:anywhere}.document-row small{color:var(--text-secondary)}.document-row .plan-file-icon,.document-row .plan-thumbnail{width:44px;height:52px;margin:0;display:grid;place-items:center;border-radius:8px}.document-row svg,.record-trophy svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.plan-next-card{padding:14px 16px;gap:5px}.plan-next-card b{font-size:15px;display:flex;justify-content:space-between;gap:10px}.record-trophy{display:grid!important;place-items:center;width:36px;height:36px;border-radius:10px;background:#343027;color:#efc989}
.tonnage-values{display:grid;gap:4px;max-height:168px;overflow:auto}.tonnage-values button{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:8px;text-align:left;min-height:44px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.tonnage-values button:last-child{border:0}.tonnage-values time{color:var(--text-secondary)}.tonnage-values span{overflow-wrap:anywhere}.performance-period{font-variant-numeric:tabular-nums}.performance-exercise-copy .delta-up{color:#7dc8ff}.performance-exercise-copy .delta-down{color:#c9a8ff}.performance-exercise-card{padding:10px}.editor-client-name{display:block;color:var(--text-secondary);font-size:14px;margin-bottom:5px}.weight-experience .weight-sparkline{height:88px}
.coach-prescription {display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);}
.coach-prescription>div {min-width:0;}
.coach-prescription strong {font-size:16px;overflow-wrap:anywhere;}
.coach-prescription p {margin:4px 0;font-size:14px;}
.coach-prescription small {font-size:13px;color:var(--text-muted);}
.coach-full-editor {width:min(900px,96vw);max-height:94dvh;display:flex;flex-direction:column;overflow:hidden;}
.coach-full-editor .modal-body {overflow-y:auto;flex:1;min-height:0;padding:18px;overscroll-behavior:contain;}
.coach-full-editor .modal-head,.coach-full-editor .modal-footer {flex:none;background:var(--surface);padding:14px 18px;}
.coach-full-editor .modal-footer {display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);}
.coach-full-editor .coach-settings {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px;}
.coach-full-editor input,.coach-full-editor select,.coach-full-editor textarea {font-size:16px;max-width:100%;min-width:0;}
.coach-exercise-disclosure {border:1px solid var(--border);border-radius:14px;overflow:hidden;margin:10px 0;background:var(--surface);}
.coach-exercise-disclosure>summary {display:flex;justify-content:space-between;gap:12px;padding:14px;cursor:pointer;list-style:none;}
.coach-exercise-disclosure>summary small {display:block;color:var(--text-muted);font-size:13px;margin-top:4px;}
.coach-exercise-disclosure .coach-exercise-card {border:0;box-shadow:none;margin:0;}
.coach-exercise-tools {display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;}
.coach-exercise-tools label {flex-basis:65%;font-size:13px;}
.coach-exercise-tools input {margin-top:5px;}
.coach-new-choices {display:grid;gap:12px;}
.coach-editor-context {padding:12px;background:var(--surface-elevated);border-radius:10px;font-size:14px;}
.coach-diet-editor {border:1px solid var(--border);border-radius:12px;padding:12px;margin-top:16px;}
.coach-diet-editor summary {cursor:pointer;padding:6px 0;font-weight:700;}
.coach-full-editor [hidden] {display:none!important;}
.plan-document-card>.text-btn[data-action="diet-edit"] {display:none;}
@media(max-width:600px){
 .modal-wrap:has(.coach-full-editor){padding:0;align-items:stretch;}
 .coach-full-editor {width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;margin:0;}
 .coach-full-editor .modal-head {padding-top:max(14px,env(safe-area-inset-top));}
 .coach-full-editor .modal-footer {padding-bottom:max(14px,env(safe-area-inset-bottom));}
 .coach-full-editor .coach-exercise-main {display:grid;grid-template-columns:1fr 1fr;}
 .coach-full-editor .coach-exercise-main>label:first-child {grid-column:1/-1;}
 .coach-full-editor .coach-set-head,.coach-full-editor .coach-set-config {grid-template-columns:30px minmax(70px,1fr) minmax(110px,1.4fr);gap:6px;}
 .coach-full-editor .modal-footer .primary {flex:1;white-space:normal;}
}

@media(max-width:380px){.home-current-plans.home-compact-plans{grid-template-columns:1fr}.home-plan-link>span:nth-child(2){display:flex;justify-content:space-between;align-items:center;gap:8px}.home-plan-link small{white-space:nowrap}}

/* Mobile revision: direct entries, explicit history scope, readable exercise art. */
.home-welcome .home-motivation{margin:10px 0 0;max-width:52ch;font-size:15px;line-height:1.55;color:var(--text-secondary)}
.home-entry-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0}
.home-entry-actions button{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);font:inherit;padding:14px 9px;min-height:58px;cursor:pointer;min-width:0}
.home-entry-actions strong{font-size:14px;font-weight:600}.home-entry-actions svg{width:21px;height:21px;stroke:var(--accent);fill:none;stroke-width:1.7}
.home-training-card .journey-card-head h3{font-size:19px;text-align:left;line-height:1.35;overflow-wrap:anywhere}.home-training-card .journey-card-head{align-items:flex-start;flex-wrap:wrap}
.demo-data-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 13px;margin:14px 0;border:1px solid #705b31;border-radius:10px;background:#282318;color:#eddfbf;font-size:12px;line-height:1.5}.demo-data-notice strong{font-size:11px;letter-spacing:.06em;margin-right:5px}.demo-data-notice .text-btn{font-size:12px;color:#eddfbf;min-height:36px}.demo-setup{padding:18px;margin:16px 0}.demo-setup p{font-size:14px;line-height:1.5;color:var(--text-secondary)}
.app-shell .performance-scope{margin:16px 0 8px;gap:3px;padding:4px}.app-shell .performance-scope button{font-size:14px;min-height:44px;border-radius:9px;white-space:normal;line-height:1.3}.app-shell .performance-scope button[aria-pressed=true]{background:var(--accent-soft);color:var(--text);box-shadow:none}
.performance-scope-context{font-size:12px;color:var(--text-secondary);margin:0 0 18px;line-height:1.5;overflow-wrap:anywhere}
.app-shell .muscle-volume-panel,.app-shell .exercise-progression-panel{padding:20px}.performance-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.performance-heading small{font-size:12px;color:var(--text-secondary)}.app-shell .muscle-volume-panel h3,.app-shell .exercise-progression-panel h3{text-align:left;margin:0;font-size:19px;line-height:1.3}
.muscle-volume-panel .muscle-select{width:100%;margin:0}.muscle-volume-panel .muscle-select .input{width:100%;min-height:46px}.muscle-volume-panel .muscle-week-summary{padding:16px 0;margin:0}.muscle-week-summary>small{display:block;font-size:12px;line-height:1.5;color:var(--text-secondary)}.muscle-totals{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.muscle-totals>span{display:grid;gap:3px}.muscle-totals strong{font-size:26px;line-height:1.3;font-variant-numeric:tabular-nums}.muscle-totals small{font-size:12px;color:var(--text-secondary)}
.metric-switch{display:flex;gap:4px;background:var(--surface-raised);border-radius:9px;padding:3px;margin-bottom:16px}.metric-switch button{flex:1;min-height:38px;font:inherit;font-size:13px;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);cursor:pointer}.metric-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--text)}
.muscle-chart-heading{display:none}.muscle-chart-body{grid-template-columns:40px minmax(0,1fr);gap:6px}.muscle-week-track,.muscle-chart-axis{height:112px}.muscle-week-track>span{min-height:0}.muscle-week-column[aria-pressed=true] small{color:#b4d9ff;text-decoration:underline;text-underline-offset:4px}.muscle-chart-caption{font-size:12px;margin-top:14px}.muscle-counting{margin-top:14px;padding-top:12px}.muscle-counting p{font-size:13px}
.app-shell .exercise-progression-panel .progress-card-head{align-items:flex-start;margin-bottom:16px}.exercise-progression-panel .muscle-select{width:100%}.exercise-progression-panel .muscle-select .input{width:100%}.exercise-progression-panel .exercise-reference-value{font-size:27px;margin:10px 0}.exercise-progression-panel>.muted{font-size:13px;line-height:1.5}.exercise-comparison{font-size:13px;color:var(--text-secondary)}.exercise-progression-panel .training-chart{height:110px}.exercise-history-table th,.exercise-history-table td{padding:11px 0;font-size:13px}.exercise-history-table th:last-child,.exercise-history-table td:last-child{text-align:right}.exercise-history-table th:first-child{width:45%}.exercise-progression-panel>.text-btn{white-space:normal;text-align:left;font-size:13px;min-height:44px}
.illustrated-exercise{grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center}.exercise-thumbnail{position:relative;width:96px;height:96px;padding:2px;background:#fff;border-color:#ced5dc}.exercise-thumbnail img{display:block;object-fit:contain;width:100%;height:100%}.exercise-thumbnail:after{content:'↗';position:absolute;right:3px;bottom:2px;display:grid;place-items:center;width:21px;height:21px;background:#102338;color:#eaf1ff;border-radius:5px;font-size:14px}.exercise-thumbnail .exercise-symbol{display:grid;place-items:center;height:100%;width:100%}.exercise-thumbnail .exercise-group-icon{width:54px;height:64px}.exercise-thumbnail.group-thumbnail{border-color:var(--border);color:#9aceff}
@media(max-width:600px){.home-entry-actions{gap:7px;margin:18px 0}.home-entry-actions button{flex-direction:column;gap:8px;padding:12px 5px;min-height:76px}.home-entry-actions strong{font-size:12px;line-height:1.3;text-align:center}.home-welcome .home-motivation{font-size:14px}.app-shell .muscle-volume-panel,.app-shell .exercise-progression-panel{padding:16px}.performance-heading{gap:8px;flex-wrap:wrap}.performance-heading small{font-size:11px}.app-shell .muscle-volume-panel h3,.app-shell .exercise-progression-panel h3{font-size:18px}.muscle-totals strong{font-size:24px}.muscle-week-column small{font-size:11px}.muscle-chart-columns{gap:4px}.exercise-art-pair{grid-template-columns:1fr}.illustrated-exercise h4{font-size:15px;line-height:1.4}.illustrated-exercise p{font-size:13px;line-height:1.5}.program-grid .day-card{padding:12px;min-height:100px}.program-grid .day-card>p{display:none}.program-grid .day-card h3{font-size:15px}.program-grid .day-card .program-day{font-size:10px}}

/* Photographic client home. Other workspaces retain their existing theme. */
.home-refreshed{--home-lime:#d0f77a;--home-surface:#111e2c;--home-border:#2b3b4b}
.home-refreshed .home-welcome{margin-bottom:20px;text-align:left}
.home-today{display:block;color:var(--text-secondary);font-size:12px;letter-spacing:.03em;margin-bottom:8px;text-transform:capitalize}
.home-refreshed .home-welcome h2{font-size:clamp(26px,4vw,36px);letter-spacing:-1.2px;margin:0}
.home-atmosphere{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--home-border);border-radius:22px;background:#10171c url('/images/home-training-v1.webp') center 48%/cover no-repeat;min-height:280px;display:flex;align-items:center}
.home-atmosphere:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,13,20,.96),rgba(6,13,20,.78) 42%,rgba(6,13,20,.08) 100%)}
.home-atmosphere-copy{padding:30px;width:100%;color:#f7faf4}
.home-kicker{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--home-lime)}
.home-atmosphere h3{font-size:clamp(32px,5vw,46px);line-height:1.05;letter-spacing:-1.5px;margin:14px 0 12px;font-weight:800;text-align:left}
.home-atmosphere p{font-size:13px;color:#d4ddd9;margin:0 0 22px;max-width:28ch;line-height:1.5}
.home-hero-action{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 17px;border:0;border-radius:12px;background:var(--home-lime);color:#15200c;font:inherit;font-size:13px;font-weight:800;cursor:pointer;max-width:100%;text-align:left}
.home-hero-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}
.home-hero-action>span{margin-left:10px}
.home-hero-action:hover{background:#defb9e}
.home-refreshed .home-entry-actions{margin:14px 0 24px}
.home-refreshed .home-entry-actions button{background:var(--home-surface);border-color:var(--home-border)}
.home-refreshed .home-entry-actions svg{stroke:var(--home-lime)}
.home-refreshed .home-training-card{background:linear-gradient(135deg,#172938,#111e2c);border-color:#334a5b;border-radius:18px}
.home-refreshed .home-training-day.status-done .week-status{color:var(--home-lime)}
.home-refreshed .weekly-training-meter span{background:var(--home-lime)}
.home-milestones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}
.home-milestones .home-milestone{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:20px;min-width:0;margin:0;border:1px solid var(--home-border);border-radius:18px;background:var(--home-surface)}
.milestone-icon{display:grid;place-items:center;width:34px;height:34px;background:#25382d;color:var(--home-lime);border-radius:11px;margin-bottom:14px}
.milestone-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7}
.home-milestone h3{font-size:13px;font-weight:500;color:var(--text-secondary);margin:0 0 12px;text-align:left;line-height:1.45}
.milestone-value{display:block;font-size:30px;line-height:1.15;font-weight:800;letter-spacing:-.9px;color:var(--home-lime);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.milestone-value span{font-size:17px;font-weight:600;letter-spacing:-.3px;color:var(--text)}
.home-milestone p{font-size:12px;line-height:1.6;color:var(--text-secondary);margin:10px 0 0;overflow-wrap:anywhere}
.home-milestone .milestone-exercise{font-weight:700;color:var(--text);font-size:14px}
.home-milestone .text-btn{color:var(--home-lime);font-size:12px;min-height:44px;white-space:normal;text-align:left;padding:10px 0}
.milestone-definition{display:block;font-size:10px;line-height:1.5;color:var(--text-secondary);margin-top:auto;padding-top:14px}
.milestone-empty{font-size:22px;line-height:1.3;color:var(--text)}
.home-refreshed .journey-deadlines{border-radius:18px}
@media(min-width:900px){.home-atmosphere{min-height:300px}.home-atmosphere-copy{padding:36px}.home-milestones .home-milestone{padding:24px}}
@media(max-width:600px){.home-refreshed .home-welcome{margin-bottom:18px}.home-atmosphere{min-height:274px;border-radius:18px;background-position:60% center}.home-atmosphere-copy{padding:23px 20px}.home-atmosphere:before{background:linear-gradient(90deg,rgba(6,13,20,.95),rgba(6,13,20,.74) 50%,rgba(6,13,20,.15))}.home-atmosphere h3{font-size:36px}.home-kicker{font-size:9px;letter-spacing:.12em}.home-milestones{gap:10px}.home-milestones .home-milestone{padding:16px 13px}.milestone-value{font-size:27px}.milestone-value span{display:block;font-size:15px;margin-top:4px}.milestone-empty{font-size:20px}.home-milestone h3{font-size:12px;min-height:35px;margin-bottom:10px}.home-milestone p{font-size:12px}.home-refreshed .home-entry-actions button{min-height:70px}}
@media(prefers-reduced-motion:no-preference){.home-hero-action{transition:background .18s ease,transform .18s ease}.home-hero-action:active{transform:scale(.98)}}
.home-refreshed .home-training-card{margin-top:12px}
.home-registration{margin:22px 0}
.home-registration>h3{font-size:15px;font-weight:600;margin:0 0 12px;text-align:left}
.home-refreshed .home-registration .home-entry-actions{margin:0}
.home-atmosphere h3{max-width:18ch;overflow-wrap:anywhere}
.home-hero-action:disabled{opacity:.65;cursor:default}
.home-refreshed .home-training-selected{padding-top:14px}

/* Home navigation correction. Preserve the existing home-training-v1.webp image. */
.home-atmosphere h3{font-size:clamp(28px,5vw,38px);line-height:1.12;letter-spacing:-.8px;max-width:18ch;margin:12px 0}
.home-atmosphere p{max-width:35ch;line-height:1.55;margin-bottom:20px}
.home-training-options{display:grid;gap:10px;margin-top:18px}.home-training-options button{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:66px;padding:14px 16px;text-align:left;white-space:normal}.home-training-options button>span:first-child{display:grid;gap:5px;min-width:0}.home-training-options strong{font-size:15px;overflow-wrap:anywhere}.home-training-options small,.home-picker-context{font-size:13px;color:var(--text-secondary);line-height:1.55}
.home-milestone .milestone-empty{font-size:18px;line-height:1.35}
@media(max-width:600px){.home-atmosphere{min-height:264px}.home-atmosphere h3{font-size:32px;max-width:15ch}.home-atmosphere-copy{padding:24px 20px}.home-atmosphere p{max-width:31ch;font-size:13px}.home-hero-action{font-size:14px;min-height:48px}.home-milestone .milestone-empty{font-size:17px}}
/* Shared photographic headers and operational updates. */
.identity-training,.training-accent{--section-accent:#d8fb55;--section-button:#d8fb55;--section-tint:#252e19;--accent:#d8fb55;--accent-soft:#29331e}
.section-photo{position:relative;isolation:isolate;overflow:hidden;border-radius:18px;min-height:190px;background:#09121b;margin:0 0 20px;border:1px solid #28343c}
.section-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%;z-index:-2}
.section-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,13,20,.96),rgba(6,13,20,.77) 45%,rgba(6,13,20,.07));z-index:-1}
.section-photo>div{padding:28px;max-width:70%;min-width:0}.section-photo .mini-label{color:var(--section-accent);font-size:10px;letter-spacing:.13em}.section-photo h2{font-size:32px;line-height:1.12;margin:10px 0;overflow-wrap:anywhere;text-align:left;color:#f5f7f2}.section-photo p{font-size:13px;line-height:1.5;color:#c3ccc7;margin:0;max-width:35ch}
.training-accent .primary{background:#d8fb55;border-color:#d8fb55;color:#15200d}.training-accent .day-card.current{border-color:#a4bd43;background:#222c20}.training-accent .day-card.current .card-tag,.training-accent .card-tag.now{color:#d8fb55;background:#303b22}.training-accent .section-switch button.active,.training-accent .coach-day-picker button.active{border-color:#adc74c;color:#d8fb55;background:#29331e}.training-accent .plan-band.current,.training-accent .change-marker{background:#d8fb55}.training-accent .nav-item.active{color:#d8fb55}.training-accent .program-day{color:#c8e65b}.training-accent .plan-phase{border-color:#45512e}
.home-milestones .home-milestone{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:10px;row-gap:10px;min-height:160px;align-content:start;cursor:default}
.home-milestones .milestone-icon{margin:0;width:32px;height:32px;grid-column:1;grid-row:1}.home-milestones .home-milestone h3{margin:0;min-height:0;grid-column:2;grid-row:1;align-self:center;font-size:13px;line-height:1.35}.home-milestones .milestone-value{grid-column:1/-1;grid-row:2;align-self:start;font-size:30px;margin:0}.home-milestones .milestone-value span{display:inline;font-size:15px;letter-spacing:0}.home-milestones .milestone-value.milestone-empty{font-size:17px;line-height:1.35;letter-spacing:0;color:var(--text-secondary);font-weight:500}.home-milestones .home-milestone p{grid-column:1/-1;margin:0;line-height:1.4}.home-milestones .home-milestone .milestone-exercise{font-size:13px}.home-updates{margin-bottom:18px}.home-updates .card-head{gap:10px;align-items:center}.home-updates h3{margin:0}.update-group{margin-top:18px}.update-group h4{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--text-secondary);margin:0 0 8px}.update-row{display:grid;grid-template-columns:34px minmax(0,1fr) 14px;gap:12px;align-items:center;width:100%;text-align:left;border:0;border-top:1px solid var(--border);background:none;padding:14px 0;color:var(--text);font:inherit;cursor:pointer;min-height:64px}.update-row>span:nth-child(2){display:grid;gap:5px;min-width:0}.update-row small{font-size:11px;color:var(--section-accent)}.update-row strong{font-size:14px;line-height:1.45;overflow-wrap:anywhere}.update-row .update-note{font-size:12px;color:var(--text-secondary);line-height:1.45;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.update-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--section-tint);color:var(--section-accent)}.update-mark svg,.deadline-area svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.7;fill:none}.coach-deadline-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;background:var(--section-tint);border:1px solid var(--border);border-top:2px solid var(--section-accent);border-radius:16px;min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer}.deadline-area{display:flex;align-items:center;gap:8px;color:var(--section-accent);font-size:13px}.coach-deadline-card strong{font-size:19px;line-height:1.25;overflow-wrap:anywhere}.coach-deadline-card small,.coach-deadline-card time,.deadline-extra{font-size:12px;color:var(--text-secondary);line-height:1.5;overflow-wrap:anywhere}.coach-deadline-card.due strong{color:#f6d688}.coach-deadline-card.expired strong{color:#ffadad}.coach-deadline-card.renewed strong{color:#87d9b4}.coach-expiry-overview{margin-top:18px}.coach-expiry-overview p{font-size:13px}.coach-expiry-overview .coach-feedback-row small{white-space:normal}.training-assistant-form{display:grid;gap:16px}.training-assistant-form textarea{width:100%;min-height:160px}.assistant-review{padding:14px;border:1px solid var(--border);border-radius:12px;margin-top:14px}.assistant-review ul{padding-left:20px}.assistant-review li{margin:6px 0}.assistant-status{white-space:pre-line;line-height:1.6}.assistant-warning{color:#f5d28d}.assistant-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:600px){.section-photo{min-height:166px;margin-bottom:16px;border-radius:15px}.section-photo>div{padding:22px 18px;max-width:78%}.section-photo h2{font-size:26px}.section-photo p{font-size:12px}.section-photo:after{background:linear-gradient(90deg,rgba(6,13,20,.96),rgba(6,13,20,.74) 55%,rgba(6,13,20,.15))}.home-milestones .home-milestone{padding:15px 13px;grid-template-columns:28px minmax(0,1fr);gap:10px 8px;min-height:152px}.home-milestones .milestone-icon{width:28px;height:28px;border-radius:9px}.home-milestones .home-milestone h3{font-size:12px}.home-milestones .milestone-value{font-size:27px}.home-milestones .milestone-value span{display:block;margin-top:4px;font-size:13px}.home-milestones .milestone-value.milestone-empty{font-size:16px}.coach-summary-head+.home-entry-actions{margin-bottom:18px}.home-current-plans:has(.coach-deadline-card){grid-template-columns:1fr}.coach-deadline-card{padding:17px;gap:8px}.coach-deadline-card strong{font-size:20px}.assistant-options{grid-template-columns:1fr}.coach-program-actions{flex-wrap:wrap}.coach-program-actions button{flex:1;min-width:125px}}
.training-accent .identity-nutrition .primary,.training-accent .identity-protocol .primary{background:var(--section-button);border-color:var(--section-accent);color:#fff}.identity-nutrition,.identity-protocol{--accent-soft:var(--section-tint)}
.home-updates .update-group{padding-inline:20px}.home-updates .update-group:last-child{padding-bottom:18px}.training-accent .eyebrow,.training-accent .mini-label{color:var(--accent)}
/* EVOLVI visual system: photography, compact mobile hierarchy and purposeful motion. */
.visual-home{--home-surface:#101a24;--home-border:#28333c;--home-lime:#d8fb55}.visual-home .home-unified{display:flex;flex-direction:column;justify-content:space-between;min-height:370px;border-radius:24px;background-position:65% center;margin:0 0 18px}.home-unified:before{background:linear-gradient(90deg,rgba(6,12,18,.96),rgba(6,12,18,.72) 54%,rgba(6,12,18,.05)),linear-gradient(0deg,rgba(6,12,18,.7),transparent 65%)}.home-unified-greeting{position:relative;z-index:1;padding:26px 26px 0;max-width:80%}.home-unified-greeting time{font-size:11px;letter-spacing:.02em;color:#b5c0c5;text-transform:capitalize}.home-unified-greeting h2{font-size:25px;letter-spacing:-.8px;line-height:1.2;margin:8px 0;color:#f5f7f2}.home-unified-greeting p{font-size:12px;line-height:1.5;color:#b8c2c8;margin:0;max-width:28ch}.home-unified .home-atmosphere-copy{padding:36px 26px 26px;max-width:100%;width:100%}.home-unified .home-kicker{font-size:9px;letter-spacing:.13em}.home-unified .home-atmosphere-copy h3{font-size:38px;line-height:1.06;max-width:16ch;letter-spacing:-1.6px;margin:12px 0}.home-unified .home-atmosphere-copy>p{max-width:32ch;font-size:12px;color:#c4cdd0;line-height:1.55}.hero-training-actions{display:flex;align-items:stretch;gap:9px;max-width:430px;margin-top:20px}.hero-training-actions .home-hero-action{flex:1;min-width:0;font-size:13px;padding:13px 14px;border-radius:12px;justify-content:center;min-height:49px}.hero-date-action{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #536050;border-radius:12px;padding:12px 13px;color:#e7edd9;background:rgba(11,21,22,.8);font:inherit;font-size:12px;cursor:pointer}.hero-date-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.visual-home .home-registration{margin:22px 0 16px}.visual-home .home-registration>h3{font-size:12px;letter-spacing:.02em;margin-bottom:10px;color:var(--text-secondary)}.visual-home .home-entry-actions{gap:8px}.visual-home .home-entry-actions button{min-height:64px;padding:11px 8px;font-size:12px;background:#111e29;border-color:#293743;border-radius:14px}.visual-home .home-entry-actions svg{width:19px;height:19px}.visual-home .home-entry-actions .entry-icon{margin:0}.home-milestones.milestones-compact{gap:9px;margin:0 0 22px}.home-milestones.milestones-compact .home-milestone{display:grid;grid-template-columns:29px minmax(0,1fr);grid-template-rows:auto;align-items:center;gap:9px;padding:14px 12px;min-height:79px;border-radius:14px;background:#101d27;border:1px solid #29343c;margin:0;cursor:default}.milestones-compact .home-milestone>div{min-width:0}.home-milestones.milestones-compact .milestone-icon{grid-column:auto;grid-row:auto;width:28px;height:28px;margin:0;border-radius:9px}.home-milestones.milestones-compact .home-milestone h3{font-size:10px;line-height:1.4;min-height:0;margin:0 0 5px;color:#9cabb3}.milestones-compact .home-milestone strong{font-size:21px;line-height:1.1;color:#e7eee4;font-variant-numeric:tabular-nums}.milestones-compact .home-milestone strong small{font-size:11px;color:#b0bdb7;font-weight:500;letter-spacing:0}.milestones-compact .home-milestone .compact-empty{font-size:12px;font-weight:500;line-height:1.4;color:#c0cbc8}.milestones-compact .home-milestone>div>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:var(--text-secondary);margin-top:4px}.visual-home .home-week-agenda{padding:19px 16px;margin-bottom:0;background:linear-gradient(145deg,#182932,#101b25);border-color:#354640;border-radius:20px}.home-week-agenda .journey-card-head{align-items:center;gap:8px}.home-week-agenda .journey-card-head>div{min-width:0}.home-week-agenda .journey-card-head .mini-label{font-size:9px;color:#adbd9a;letter-spacing:.1em}.home-week-agenda .journey-card-head h3{font-size:17px;line-height:1.25;margin:7px 0 0;overflow-wrap:anywhere}.home-week-agenda .journey-card-head .text-btn{width:40px;min-height:44px;padding:8px;flex-shrink:0}.home-week-agenda .journey-card-head svg{width:22px;height:22px;stroke:var(--home-lime);fill:none;stroke-width:1.7}.visual-home .home-training-week{gap:3px;margin:18px -6px 14px}.visual-home .home-training-day{position:relative;min-width:0;padding:9px 2px 8px;gap:5px;border-radius:12px;background:transparent}.visual-home .home-training-day small{font-size:10px;color:#adbac1}.visual-home .home-training-day strong{font-size:18px;line-height:1.2;color:#f0f3ef}.visual-home .home-training-day[aria-pressed=true]{border-color:#91aa4b;background:#2b3826}.visual-home .home-training-day .week-session{font-size:9px;line-height:1.3;color:#a9b5ba;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:24px;width:100%;overflow-wrap:anywhere}.visual-home .home-training-day.status-planned .week-session,.visual-home .home-training-day.status-done .week-session{color:#e9eee4}.visual-home .home-training-day .week-status{font-size:11px;height:13px;color:#73868b}.visual-home .home-training-day.status-planned .week-status,.visual-home .home-training-day.status-done .week-status,.visual-home .home-training-day.is-today>strong{color:#d8fb55}.week-current-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:#d8fb55;bottom:3px;left:calc(50% - 2px)}.visual-home .home-training-selected{margin-top:0;padding-top:15px;border-color:#34413a;gap:10px}.visual-home .home-training-selected small{font-size:10px;line-height:1.4;color:#a7b6ba}.visual-home .home-training-selected strong{font-size:13px;line-height:1.4}.visual-home .home-training-selected button{font-size:12px;padding:10px 12px;border-color:#5b6b43;min-height:44px;color:#d8fb55;background:#1e2c26;max-width:45%}.week-progress-copy{display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-size:11px;color:#c5d0c8}.week-progress-copy small{color:#8e9e9d;font-size:10px}.visual-home .weekly-training-meter{height:4px;margin:8px 0 0;background:#2c3b3d}.home-updates{border-radius:18px;overflow:hidden}.home-updates .update-group{padding-inline:18px}.home-updates .update-group h4{font-size:9px;letter-spacing:.12em}.home-updates .update-row{grid-template-columns:29px minmax(0,1fr) 12px;gap:10px;padding:13px 0}.home-updates .update-row .update-mark{width:29px;height:29px;border-radius:9px}.home-updates .update-row strong{font-size:13px}.home-updates .update-row .update-note{font-size:11px;-webkit-line-clamp:1}.home-updates .update-row small{font-size:10px}.home-updates .card-head h3{font-size:16px}.home-updates .card-head .text-btn{font-size:11px}.training-other-date{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;width:100%;padding:10px;background:transparent;color:#bbc9ad;border:0;font:inherit;font-size:12px;cursor:pointer}.training-other-date svg,.training-plan-session svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.training-plan-session{display:flex;gap:8px;align-items:center;margin-bottom:16px}.training-accent .plan-phase .training-start .primary{box-shadow:0 6px 20px #b7d94815}.training-accent .program-grid{gap:8px}.training-accent .day-card{border-radius:14px}.training-accent .session-card.preview-mode{border-radius:18px}.photo-thumbnail{position:relative;overflow:hidden;border:1px solid #344249!important;background:#14232b!important;border-radius:13px!important;flex-shrink:0}.photo-thumbnail img{object-fit:cover!important;width:100%!important;height:100%!important;background:transparent!important;filter:none!important}.photo-thumbnail:after{content:none!important}.exercise-photo-open{position:absolute;bottom:4px;right:4px;display:grid;place-items:center;width:21px;height:21px;border-radius:7px;background:#101d24c9;color:#e2efc8;font-size:13px}.exercise-detail-photo{display:block;width:100%;height:auto;max-height:62dvh;object-fit:contain;background:#0b131c;border-radius:15px}.exercise-photo-caption{padding:18px 0 0}.exercise-photo-caption p{font-size:13px;line-height:1.6;color:var(--text-secondary)}.exercise-photo-caption .mini-label{font-size:10px;color:#d8fb55}.coach-message-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:17px;align-items:stretch;width:100%;min-height:142px;border:1px solid #2f3c42;border-radius:18px;background:linear-gradient(115deg,#192830,#101c27);overflow:hidden;color:var(--text);text-align:left;font:inherit;cursor:pointer;padding:0;margin:16px 0 20px}.coach-message-art{position:relative;overflow:hidden;min-height:142px;background:#18232b}.coach-message-art>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:62% center;opacity:.76}.coach-message-art>span{position:absolute;left:12px;bottom:12px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#142129;border:1px solid #6f7d68;color:#e2edcd;font-size:10px;font-weight:700}.coach-message-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;padding:17px 15px 17px 0;min-width:0}.coach-message-copy>small{font-size:9px;letter-spacing:.12em;color:var(--section-accent,#d8fb55)}.coach-message-copy>strong{font-size:17px;line-height:1.2;letter-spacing:-.4px}.coach-message-copy>span{font-size:12px;color:#a9b8bf;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.coach-message-copy>b{font-size:11px;font-weight:700;color:var(--section-accent,#d8fb55);margin-top:2px}.coach-message-copy i,.document-card-copy i{font-style:normal;margin-left:5px}.plan-document-card.document-editorial{padding:0;background:transparent;border:0;margin-top:18px}.document-photo-card{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:185px;width:100%;border:1px solid #354147!important;border-radius:18px;overflow:hidden;background:#0b1720!important;text-align:left;padding:24px!important;color:#f1f5ee;font:inherit;cursor:pointer}.document-card-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2}.document-photo-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08161bf5,#09181ac9 53%,#06101922);z-index:-1}.document-card-copy{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;max-width:80%}.document-card-copy>small{font-size:9px;color:var(--section-accent);letter-spacing:.1em}.document-card-copy>strong{font-size:21px;line-height:1.15;color:#f4f8f1;letter-spacing:-.5px;overflow-wrap:anywhere}.document-card-copy>span{font-size:11px;color:#b3c0c2;line-height:1.5}.document-card-copy>b{color:var(--section-accent);font-size:12px;line-height:1.4;margin-top:4px}.document-photo-card:disabled{opacity:.65;cursor:default}.identity-journey{--section-accent:#8bc4ed;--section-tint:#162a3b;--accent:#8bc4ed;--accent-soft:#193042}.experience-journey .section-photo{min-height:156px}.experience-journey .section-photo h2{font-size:29px}.experience-journey .section-photo>div{padding:25px}.experience-journey .section-photo>img{object-position:center 58%}.experience-journey .journey-four-tabs{gap:5px;background:#111e2a;border-radius:13px;padding:4px;margin-bottom:18px}.experience-journey .journey-four-tabs button{border:0;background:transparent;padding:11px 4px;min-height:43px;border-radius:10px;font-size:12px}.experience-journey .journey-four-tabs button.active{background:#263b49;color:#c9e6f1}.experience-journey .performance-compact,.experience-journey .check-weight-card,.experience-journey .body-photos-card{border-radius:18px;background:linear-gradient(135deg,#13242e,#101c29)}.experience-journey .muscle-chart{border-radius:14px}.experience-journey .performance-results>div{padding:10px 0;border-bottom:1px solid #283943}.date-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px}.date-shortcuts button{min-height:44px;font-size:13px;padding:10px}.training-date-modal{max-width:500px}.training-date-modal .modal-head h3{font-size:24px;letter-spacing:-.6px}.training-date-modal .modal-head p{font-size:12px;margin:7px 0 0;color:var(--text-secondary)}.training-date-modal .modal-head .mini-label{color:#d8fb55;font-size:9px;letter-spacing:.12em}.training-date-modal .health-field{margin-bottom:18px}.training-date-modal input,.training-date-modal select{width:100%;font-size:16px;min-height:52px;border-radius:12px;background:#14232c}.dated-plan-label{display:grid;gap:6px;padding:15px;border:1px solid #344236;background:#1d2c25;border-radius:12px;margin-bottom:18px}.dated-plan-label small{font-size:9px;color:#afc39b;letter-spacing:.08em}.dated-plan-label strong{font-size:15px;line-height:1.4}.date-intent{font-size:13px;line-height:1.6;color:var(--text-secondary)}.training-date-modal .modal-footer .primary{background:#d8fb55;color:#17200c;border-color:#d8fb55}.training-date-modal .modal-footer{gap:9px}.training-date-modal .modal-footer>button{min-height:49px}.training-date-modal .modal-footer>.primary{flex:1}.nutrition-accent{--accent:#46dba5;--accent-soft:#17392f}.protocol-accent{--accent:#c09af8;--accent-soft:#302744}.journey-accent{--accent:#8bc4ed;--accent-soft:#193042}.nutrition-accent .nav-item.active,.protocol-accent .nav-item.active,.journey-accent .nav-item.active{color:var(--accent)}.section-photo,.home-unified{animation:evolvi-enter .3s ease-out both}.muscle-chart,.performance-compact{animation:evolvi-enter .22s ease-out both}.update-row,.home-plan-link,.coach-message-card,.document-photo-card,.home-training-day{transition:background .18s,border-color .18s,transform .15s}.update-row:active,.coach-message-card:active,.document-photo-card:active{transform:scale(.99)}.home-hero-action:active,.primary:active{transform:translateY(1px)}@keyframes evolvi-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(min-width:900px){.visual-home .home-unified{min-height:390px}.home-unified-greeting{padding:32px 36px 0}.home-unified .home-atmosphere-copy{padding:35px 36px}.home-unified .home-atmosphere-copy h3{font-size:46px}.home-milestones.milestones-compact .home-milestone{padding:16px 18px;min-height:88px}.home-week-agenda .home-training-day .week-session{font-size:12px;min-height:29px}.coach-message-card{grid-template-columns:130px minmax(0,1fr)}.document-photo-card{min-height:210px}}
@media(max-width:600px){.visual-home .home-unified{min-height:355px;border-radius:20px}.home-unified-greeting{padding:23px 21px 0;max-width:90%}.home-unified-greeting h2{font-size:24px}.home-unified .home-atmosphere-copy{padding:30px 21px 22px}.home-unified .home-atmosphere-copy h3{font-size:34px;max-width:16ch}.home-unified .home-atmosphere-copy>p{font-size:12px;max-width:29ch}.hero-training-actions{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);max-width:365px;gap:8px}.hero-training-actions .home-hero-action{font-size:12px;line-height:1.35;padding:12px 10px;min-height:49px}.hero-date-action{font-size:11px;padding:12px 8px;gap:5px}.hero-training-actions svg{width:17px;height:17px;flex-shrink:0}.visual-home .home-week-agenda{padding:17px 14px}.home-week-agenda .journey-card-head h3{font-size:15px}.home-updates .update-row .update-note{-webkit-line-clamp:2}.coach-message-card{grid-template-columns:85px minmax(0,1fr);gap:13px;min-height:139px}.coach-message-art{min-height:139px}.coach-message-copy{padding:15px 13px 15px 0;gap:6px}.coach-message-copy>strong{font-size:16px}.coach-message-copy>span{font-size:11px;line-height:1.5}.document-photo-card{min-height:178px;padding:21px!important}.document-card-copy{max-width:83%}.document-card-copy>strong{font-size:20px}.document-card-copy>b{font-size:11px}.experience-journey .section-photo{min-height:145px}.experience-journey .section-photo h2{font-size:26px}.experience-journey .section-photo>div{padding:23px 20px}.training-date-modal{align-self:flex-end;margin:0;border-radius:24px 24px 0 0!important;max-height:calc(100dvh - 18px);max-width:100%;width:100%}.modal-wrap:has(.training-date-modal){padding:0;align-items:end}.training-date-modal .modal-head{padding:22px 20px 16px}.training-date-modal .modal-body{padding:18px 20px}.training-date-modal .modal-footer{padding:15px 20px calc(15px + env(safe-area-inset-bottom));position:sticky;bottom:0;background:#101d2a;border-top:1px solid #30404a}.training-date-modal .modal-footer>.primary{font-size:12px;padding-inline:11px}.training-date-modal .modal-footer>.ghost{font-size:12px;padding-inline:12px}.session-card .photo-thumbnail{width:84px!important;height:92px!important}.program-grid .day-card{min-width:124px}.section-photo h2{letter-spacing:-.9px}}
@media(max-width:360px){.home-unified-greeting{padding-inline:18px}.home-unified .home-atmosphere-copy{padding-inline:18px}.home-unified .home-atmosphere-copy h3{font-size:30px}.visual-home .home-training-day .week-session{font-size:8px}.milestones-compact .home-milestone .compact-empty{font-size:11px}.home-milestones.milestones-compact .home-milestone{padding:12px 9px;gap:6px}.coach-message-copy>strong{font-size:15px}.experience-journey .journey-four-tabs button{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.training-date-from-calendar{margin-top:10px;min-height:46px}

.visual-home .home-unified{align-items:stretch}.visual-home .home-unified-greeting{align-self:stretch;width:100%;max-width:100%}
.document-photo-card .document-card-copy>strong{flex:0 0 auto}.document-photo-card .document-card-copy>small{margin:0;font-size:9px}
.experience-journey .demo-data-notice{flex-wrap:nowrap;font-size:10px;padding:10px 12px;gap:10px}.experience-journey .demo-data-notice>span{min-width:0}.experience-journey .demo-data-notice .text-btn{flex-shrink:0;max-width:78px;font-size:10px;line-height:1.4;min-height:44px;padding:4px}
