/* V8: 4CC Shell, Profile Switching, PIN Entry And Compact Rest Timer. */
body{padding-bottom:calc(99px + env(safe-area-inset-bottom))}
button:disabled{cursor:default}
button:disabled:hover{transform:none}
.app-header{background:transparent;box-shadow:none}
.app-title-banner{margin:0 12px;padding:12px 14px;border-radius:0 0 15px 15px;min-height:62px;box-shadow:0 6px 16px #11182710;gap:10px}
.header-tools{gap:9px;min-width:0}
.header-member{display:flex;align-items:center;gap:9px;white-space:nowrap}
.header-member strong{font-size:15px;font-weight:850;letter-spacing:-.3px}
.header-member .profile-mark{height:19px;width:4px;box-shadow:3px 0 0 #e1edc650;border-radius:1px}
.header-logout{background:#202938;border:1px solid #414b5b;color:#e4eaf2;border-radius:9px;min-height:34px;padding:6px 9px;font-weight:750;font-size:10px}
.header-timer{min-height:34px}
.bottom-nav{bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:496px;border:1px solid #dde4ec;border-radius:19px;padding:6px;background:#fffffffa;box-shadow:0 8px 30px #11182718;gap:4px;backdrop-filter:blur(12px)}
.bottom-nav button{min-height:53px;border-radius:13px;padding:7px 5px;font-size:10px;gap:3px}
.bottom-nav button.active{background:#edf4e1;color:#253219}
.bottom-nav button.active:after{content:none}
.bottom-nav button span{font-size:21px}
.track-heading{padding-bottom:0}
.home-actions{padding-top:17px;gap:12px}
.home-action{background:#fff!important;color:var(--ink)!important;border:1px solid #dfe5eb!important;min-height:66px}
.home-action:hover{background:#fafff0!important;border-color:#b8cf8b!important}
.home-action .home-emoji{background:#f1f5ea!important;width:39px;height:39px;font-size:25px}
.timer-dock{display:flex;align-items:center;gap:9px;margin:7px 12px 0;padding:9px 10px;background:#f1f5eb;border:1px solid #dbe4cf;border-radius:12px;box-shadow:0 5px 14px #11182709;color:#172033}
.rest-timer-display{min-width:61px;display:grid;gap:1px}
.rest-timer-display>span{font-size:8px;color:#687b4b;font-weight:700}
.rest-timer-display output{font-size:23px;line-height:1.1;font-weight:850;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.rest-timer-controls{display:flex;gap:5px;flex:1;justify-content:flex-end}
.timer-dock button{min-height:33px;padding:6px 9px;background:white;color:#354526;border:1px solid #d3ddc7;font-size:10px;border-radius:8px;font-weight:750;white-space:nowrap}
.timer-dock #timer-start{background:#111827;color:white;border-color:#111827;min-width:46px}
.timer-dock .timer-close{padding:4px;min-width:26px;min-height:28px;background:transparent;color:#657750}
.timer-dock[data-finished=true]{border-color:#a7c56a}
.profile-view-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:15px}
.profile-view-tools{display:flex;align-items:center;gap:8px}
.profile-member-tabs{display:flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:11px;background:#fff;gap:3px}
.profile-member-tabs button{padding:6px 11px;min-height:30px;border:0;background:transparent;border-radius:7px;color:#708094;font-size:10px;font-weight:750}
.profile-member-tabs button.active{background:#eaf2dc;color:#3d5123}
.profile-readonly{font-size:9px;color:#6b785d;background:#edf3e3;border:1px solid #dee8cf;padding:4px 8px;border-radius:20px;margin-bottom:12px;display:inline-flex;gap:5px;align-items:center}
.profile-view-heading .progress-settings{width:36px;height:36px;border-radius:10px}
.progress-person{text-align:left;width:100%;font:inherit;color:var(--ink)}
.progress-person:hover{border-color:#abc474;background:#f3f8e9}
.readonly-workout{border-top:1px solid var(--line);margin-top:9px;padding-top:9px}
.readonly-workout summary{font-weight:750;font-size:11px;cursor:pointer;padding:4px 0}
.readonly-workout .exercise-set-table{margin-top:8px}
.readonly-workout .exercise-set-table th,.readonly-workout .exercise-set-table td{padding:7px 4px;font-size:10px}
.day-entry-readonly{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start}
.day-entry-readonly>.emoji{width:30px;height:33px;font-size:18px}
.day-entry-readonly .muted{font-size:11px!important;margin-top:3px}
.day-icons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1px;font-size:10px;line-height:13px;max-width:28px}
.day-icons>span{display:block;text-align:center}
.exercise-set-table caption{text-align:left;font-size:11px;font-weight:750;margin-top:9px;color:var(--ink)}
.signed-out{padding-bottom:25px}
.signed-out .app-title-banner{justify-content:center;padding:20px;min-height:77px}
.signed-out .brand{font-size:24px;letter-spacing:-.6px}
.login-screen{padding:42px 24px 30px;max-width:440px;margin:auto}
.login-masthead{display:grid;justify-items:center;gap:19px;margin-bottom:27px;text-align:center}
.login-club-mark{display:flex;align-items:center;gap:7px;height:53px;transform:skew(-12deg)}
.login-club-mark i{display:block;width:14px;height:34px;background:#e1edc6;border-radius:4px}
.login-club-mark i:nth-child(2){height:53px;background:#c8f060}
.login-club-mark i:last-child{height:43px;background:#111827}
.login-card{padding:24px;display:grid;gap:20px;border-radius:18px;box-shadow:0 9px 28px #11182707}
.login-card .field{margin:0;gap:9px}
.login-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.login-member{display:flex;align-items:center;justify-content:center;gap:8px;min-height:45px;padding:9px 12px;border:1px solid #dce3eb;background:#fff;border-radius:11px;font-size:13px;font-weight:800;color:#657387}
.member-dot{width:7px;height:7px;border-radius:50%;background:#d6dce4}
.login-member.selected{background:#f0f6e5;border-color:#b4ce81;color:#293b16}
.login-member.selected .member-dot{background:#8fae46;box-shadow:0 0 0 3px #dceac5}
.login-card .pin-field input{height:54px;text-align:center;letter-spacing:15px;padding-left:25px;background:#fbfcfd;font-size:22px;font-weight:800}
.login-card .primary{min-height:45px}
.preview-note{text-align:center;font-size:10px;color:#69785d;line-height:1.7}
.preview-note>span{font-size:9px;color:#879180}
.field-error{display:block;color:#ae3030;font-size:10px;font-weight:600;line-height:1.5;grid-column:1 / -1;margin-top:2px;text-transform:none}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#d28383!important;background:#fffafa!important}
.form-error{padding:11px 13px;border:1px solid #ecd1ce;background:#fff7f5;border-radius:10px;color:#9e3932;font-size:11px;line-height:1.6;font-weight:600;grid-column:1 / -1}
.set-row:has(.field-error){align-items:start}
.set-row .field-error{margin-bottom:5px}
@media(max-width:365px){
  .app-title-banner{margin:0 8px;padding:11px 10px;gap:7px}
  .brand{font-size:19px}.header-tools{gap:6px}.header-member{gap:6px}.header-member strong{font-size:13px}
  .header-timer{padding:6px;font-size:9px;gap:3px}.header-timer svg{width:14px}.header-logout{padding:6px;font-size:9px}
  .timer-dock{margin-left:8px;margin-right:8px;padding:8px;gap:6px}
  .rest-timer-display{min-width:50px}.rest-timer-display output{font-size:21px}
  .rest-timer-controls{gap:4px}.timer-dock button{padding:6px;min-height:32px;font-size:9px}.timer-dock #timer-start{min-width:39px}.timer-dock .timer-close{min-width:24px}
  .profile-view-heading{gap:8px}.profile-view-tools{gap:6px}.profile-member-tabs button{padding:6px 9px}
  .login-screen{padding:34px 16px 20px}.login-card{padding:21px;gap:18px}
  .home-action{min-height:64px}.bottom-nav{width:calc(100% - 20px)}
}
