/* Heyfit: approved green, gold and pastel interface. */
body{background:#f3f7f7}
#heyfit-app{--hf-bg:#f3f7f7;--hf-paper:#fff;--hf-ink:#172e28;--hf-muted:#586d66;--hf-line:#dce8e2;--hf-brand:#116953;--hf-gold:#e9bc59;--hf-green:#e2f5e9;--hf-green-text:#166040;--hf-blue:#e6efff;--hf-blue-text:#234f94;--hf-purple:#f0eaff;--hf-purple-text:#674191;--hf-amber:#fff2d7;--hf-amber-text:#855000;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#heyfit-app>header{border-bottom:3px solid var(--hf-gold);box-shadow:0 3px 12px #172e2809}
#heyfit-app .brand{font-size:25px;letter-spacing:1.4px}
#heyfit-app .brand img{width:40px;height:40px}
#heyfit-app h2{font-size:25px;line-height:1.25;letter-spacing:-.5px}
#heyfit-app h3{font-size:15px}
#heyfit-app button{border-radius:10px;min-height:42px;font-weight:600;transition:background-color .15s,border-color .15s}
#heyfit-app .primary{background:var(--hf-brand);border-color:var(--hf-brand);color:#fff}
#heyfit-app button:focus-visible,#heyfit-app input:focus-visible,#heyfit-app select:focus-visible,#heyfit-app textarea:focus-visible,#heyfit-app summary:focus-visible,#heyfit-app a:focus-visible{outline:3px solid #c99a31;outline-offset:3px}
#heyfit-app .danger,#heyfit-app #logout,#heyfit-app #member-logout,#heyfit-app #manager-logout{background:#fff0f0;border-color:#f7dddd;color:#a12b35}
#heyfit-app .tag,#heyfit-app .status{background:var(--hf-green);color:var(--hf-green-text);border-radius:20px;padding:5px 11px;font-weight:600}
#heyfit-app input,#heyfit-app select,#heyfit-app textarea{border-radius:10px;padding:11px 12px}
#heyfit-app input[readonly],#heyfit-app textarea[readonly]{background:#f1f5f3;color:#486258}
#heyfit-app .panel{border-radius:16px;padding:20px;background:#fff;box-shadow:0 3px 10px #172e2803}
#heyfit-app .panel>h3:first-child,#heyfit-app .panel>.row:first-child{background:var(--hf-blue);color:var(--hf-blue-text);border-radius:15px 15px 0 0;padding:15px 20px;margin:-20px -20px 18px;min-width:0}
#heyfit-app .panel>.row:first-child h3{margin:0}
#heyfit-app #training-panel>.row:first-child,#heyfit-app #package-panel>h3:first-child{background:var(--hf-green);color:var(--hf-green-text)}
#heyfit-app #member-weight-panel>.row:first-child,#heyfit-app #member-weight-panel>h3:first-child,#heyfit-app .weight-panel>.row:first-child{background:var(--hf-purple);color:var(--hf-purple-text)}
#heyfit-app .manager-tools-panel>h3:first-child{background:var(--hf-purple);color:var(--hf-purple-text)}
#heyfit-app .manager-tools-panel>h3:not(:first-child){background:var(--hf-blue);color:var(--hf-blue-text);padding:13px 20px;margin:22px -20px 18px}
#heyfit-app .package-stats{gap:12px;margin:18px 0}
#heyfit-app .package-stats>div{background:var(--hf-blue);color:var(--hf-blue-text);border-radius:14px;padding:18px}
#heyfit-app .package-stats>div:nth-child(2){background:var(--hf-purple);color:var(--hf-purple-text)}
#heyfit-app .package-stats>div:nth-child(3){background:var(--hf-green);color:var(--hf-green-text)}
#heyfit-app .package-stats small{color:inherit;font-size:13px}
#heyfit-app .package-stats strong{font-size:30px;line-height:1.3;margin-top:8px;letter-spacing:-.7px}
#heyfit-app .training-badge{background:var(--hf-amber);color:var(--hf-amber-text);font-weight:600;padding:6px 11px;white-space:normal}
#heyfit-app .training-badge.validated{background:var(--hf-green);color:var(--hf-green-text)}
#heyfit-app .training-badge.active{background:var(--hf-blue);color:var(--hf-blue-text)}
#heyfit-app .training-badge.review{background:#fff0f0;color:#a12b35}
#heyfit-app .training-alert{background:var(--hf-amber);color:var(--hf-amber-text);border-radius:14px;padding:20px}
#heyfit-app .training-alert .sub,#heyfit-app .training-alert small{color:var(--hf-amber-text)}
#heyfit-app .training-summary>div{padding:12px;border-radius:10px;background:#f3f7f7}
#heyfit-app .training-item{padding:20px 0}
#heyfit-app .package-entry>strong{color:var(--hf-green-text)}
#heyfit-app #mt-report>h3{padding:16px;background:var(--hf-green);color:var(--hf-green-text);border-radius:12px}
#heyfit-app #mt-filter{align-items:end;gap:12px}
#heyfit-app #mt-invite,#heyfit-app #save-first-phone{background:var(--hf-brand);color:#fff;border-color:var(--hf-brand)}
#heyfit-app #mt-coaches [data-coach]{background:#f4f1fa;color:var(--hf-purple-text);border-color:#e9e1f3}
#heyfit-app #manager-coaches>details{padding:14px;border:1px solid var(--hf-line);border-radius:12px;margin:10px 0}
#heyfit-app aside{background:#fff}
#heyfit-app .client{border:1px solid var(--hf-line);border-radius:12px;padding:13px 12px;margin:9px 0}
#heyfit-app .client[aria-pressed=true]{background:var(--hf-green);color:var(--hf-green-text);border-color:#b7dfc6;box-shadow:inset 3px 0 var(--hf-brand)}
#heyfit-app .client[aria-pressed=true] .sub{color:var(--hf-green-text)}
#heyfit-app #toggle-clients{font-size:12px;background:#f3f7f7;white-space:normal}
#heyfit-app .clients-collapsed aside{background:#fff;flex-wrap:wrap}
#heyfit-app .toolbar{background:var(--hf-bg);padding:12px;border:1px solid var(--hf-line);border-radius:12px;gap:12px}
#heyfit-app .form-section>h3,#heyfit-app .result-section>h3{padding:12px 14px;background:var(--hf-blue);color:var(--hf-blue-text);border-radius:10px}
#heyfit-app .form-section>summary{padding:12px 14px;border-radius:10px;background:var(--hf-purple);color:var(--hf-purple-text)}
#heyfit-app .form-section:nth-child(2)>summary,#heyfit-app .form-section:nth-child(6)>summary{background:var(--hf-amber);color:var(--hf-amber-text)}
#heyfit-app .setgrid{border-radius:10px;padding:10px;background:#f7f9fa;gap:7px}
#heyfit-app .setgrid input{background:#fff;padding:9px 3px}
#heyfit-app .record{border-radius:12px;padding:14px 10px;background:#fff}
#heyfit-app .record[aria-pressed=true]{outline-color:var(--hf-brand)}
#heyfit-app .record b{font-size:24px}
#heyfit-app .legend span{padding:5px 9px;border:1px solid var(--hf-line);border-radius:7px}
#heyfit-app .notice{font-size:13px}
#heyfit-app dialog{border:1px solid var(--hf-line);border-radius:18px;box-shadow:0 20px 80px #132b2825;padding:24px}
#heyfit-app dialog h3{font-size:18px;color:var(--hf-brand);margin-bottom:18px}
#heyfit-app dialog .notice{background:var(--hf-blue);color:var(--hf-blue-text);padding:12px;border-radius:10px}
#heyfit-app dialog::backdrop{background:#132b2860}
#heyfit-app .banner{background:#fff0e7;color:#8a3216;border-left:4px solid #d88f32}
#heyfit-app .auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;max-width:1060px;margin:38px auto;padding:0 24px;align-items:stretch}
#heyfit-app .auth-welcome{background:var(--hf-brand);color:#fff;border-radius:18px;padding:36px;display:flex;flex-direction:column;justify-content:space-between;gap:44px}
#heyfit-app .auth-eyebrow{color:#f4d68f;text-transform:uppercase;font-weight:700;letter-spacing:1.5px;font-size:11px;margin:0 0 18px}
#heyfit-app .auth-welcome h1{font-size:39px;line-height:1.15;letter-spacing:-1px;margin:0 0 20px}
#heyfit-app .auth-welcome p:not(.auth-eyebrow){color:#e2f2ec;font-size:15px;line-height:1.7}
#heyfit-app .auth-welcome-footer{padding-top:22px;border-top:1px solid #ffffff40}
#heyfit-app .auth-welcome-footer small{color:#e2f2ec;display:block;margin-top:5px;font-size:12px}
#heyfit-app .auth-layout .login{max-width:none;width:auto;margin:0;padding:30px;background:#fff;border:1px solid var(--hf-line);border-radius:18px}
#heyfit-app .login h2{font-size:26px;margin-bottom:10px}
#heyfit-app #auth-description{color:var(--hf-muted);margin-bottom:22px}
#heyfit-app .login .auth-roles{background:#f3f7f7;border-radius:12px;padding:5px;gap:5px;display:flex;flex-wrap:nowrap}
#heyfit-app .auth-roles button{flex:1;border:0;background:transparent;padding:9px 7px}
#heyfit-app .auth-roles button.primary{background:var(--hf-brand);color:#fff}
#heyfit-app .login label{font-size:13px;font-weight:600;color:var(--hf-ink);margin:20px 0}
#heyfit-app .login input{padding:13px 12px;font-weight:400}
#heyfit-app #auth-submit{min-height:48px;margin-top:24px}
#heyfit-app #auth-help:not(:empty){background:var(--hf-blue);color:var(--hf-blue-text);padding:14px;border-radius:10px;font-size:12px}
#heyfit-app #auth-message:not(:empty){padding:12px;background:var(--hf-amber);color:var(--hf-amber-text);border-radius:10px;margin-top:16px}
@media(max-width:760px){#heyfit-app .auth-layout{grid-template-columns:1fr;gap:18px;margin:22px auto;padding:0 18px}#heyfit-app .auth-welcome{padding:25px;gap:16px}#heyfit-app .auth-welcome h1{font-size:30px;margin-bottom:12px}#heyfit-app .auth-welcome-footer{display:none}#heyfit-app .auth-eyebrow{margin-bottom:12px}#heyfit-app .auth-layout .login{padding:24px}#heyfit-app .training-summary>div{padding:10px}#heyfit-app .setgrid{padding:6px;gap:4px}#heyfit-app .client{width:100%}#heyfit-app .package-stats>div{padding:14px}#heyfit-app .package-stats strong{font-size:25px}}
@media(max-width:500px){#heyfit-app>header{padding:13px 16px;gap:10px}#heyfit-app header .row{gap:7px}#heyfit-app header button{padding:8px 10px;font-size:12px}#heyfit-app header #user-name,#heyfit-app header #manager-name,#heyfit-app header #member-name{font-size:12px}#heyfit-app .brand{font-size:21px}#heyfit-app .brand img{width:34px;height:34px}#heyfit-app .panel{padding:16px}#heyfit-app .panel>h3:first-child,#heyfit-app .panel>.row:first-child{margin:-16px -16px 16px;padding:13px 16px}#heyfit-app .manager-tools-panel>h3:not(:first-child){margin:20px -16px 16px;padding:13px 16px}#heyfit-app .package-stats{grid-template-columns:1fr;gap:9px}#heyfit-app .package-stats>div{display:flex;justify-content:space-between;align-items:center;gap:10px}#heyfit-app .package-stats strong{margin:0;font-size:25px}#heyfit-app .package-stats small{font-size:13px}#heyfit-app .clients-collapsed aside{padding:10px 16px;gap:10px}#heyfit-app .setgrid{padding:4px;gap:3px}#heyfit-app .setgrid input{font-size:14px}#heyfit-app .auth-layout .login{padding:22px}#heyfit-app .auth-welcome{padding:23px}#heyfit-app .auth-welcome p:not(.auth-eyebrow){font-size:14px}#heyfit-app .toolbar{padding:10px}#heyfit-app .package-entry{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#heyfit-app button{transition:none}}

#heyfit-app .training-compact-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#heyfit-app .training-date-details{display:flex;align-items:center;gap:10px}
#heyfit-app .training-date-details button{padding:5px 10px;min-height:36px;color:#116953;background:#edf7f1;font-size:13px}
#heyfit-app .training-compact-meta{font-size:12px;color:#536b61;margin:8px 0 12px}
#heyfit-app .training-compact-meta strong{font-weight:700;color:#183c35}
#heyfit-app .training-compact-history:not([open]){display:none}
#heyfit-app .training-compact-history[open]{border-top:1px solid #e3eae5;margin-top:12px;padding-top:4px}
#heyfit-app .training-compact-event{display:flex;align-items:center;gap:9px;white-space:nowrap;padding:8px 0;font-size:12px;border-bottom:1px solid #eef2ef}
#heyfit-app .training-compact-event time{flex-shrink:0;color:#61756b}
#heyfit-app .training-compact-event span{overflow:hidden;text-overflow:ellipsis;min-width:0}
@media(max-width:420px){#heyfit-app .training-date-details{gap:7px;font-size:13px}#heyfit-app .training-compact-event{gap:6px}}

#heyfit-app #sessions-combined>#package-panel,#heyfit-app #sessions-combined>#training-panel{border:0;border-radius:0;box-shadow:none;margin:0;padding:0;background:transparent}
#heyfit-app #sessions-combined>#training-panel{border-top:1px solid #dce8e1;margin-top:18px;padding-top:18px}
#heyfit-app #sessions-combined #training-panel>.row:first-child{margin:0 0 12px;padding:0;background:transparent}
#heyfit-app #coach-log-panel>.toolbar,#heyfit-app #member-log-panel>.member-picker{background:#edf3ff;padding:15px;border-radius:9px;margin:16px 0;gap:14px}

#session-history>summary{font-weight:700;padding:12px 0;cursor:pointer;color:#155f4b}#session-history .training-list{margin-top:12px}

#session-history>.session-history-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px;list-style:none}
#session-history>.session-history-heading::-webkit-details-marker{display:none}
#session-history .session-history-title::before{content:'▸';display:inline-block;width:16px}
#session-history[open] .session-history-title::before{content:'▾'}
#session-history .session-history-tools{display:inline-flex;align-items:center;gap:7px;font-weight:400}
#session-history .session-history-tools button{margin:0}
#training-feedback:empty{display:none}

#heyfit-app #training-panel #session-history{border-top:0;margin-top:0;padding:0}
#heyfit-app #sessions-combined>#training-panel{padding-top:0}
