:root{--color-primary: #FFCA10;--color-secondary: #CCAB35;--color-olive: #998746;--color-warm-gray: #665E43;--color-charcoal: #33312C;--color-dark-bg: #12130F;--color-app-bg: #F6F6F3;--color-card: #FFFFFF;--color-text: #171714;--color-text-secondary: #6D6B64;--color-border: #E4E2DA;--color-dark-surface: #1B1C18;--color-dark-surface-raised: #24241F;--color-dark-border: #3D3C34;--color-dark-muted: #AAA79D;--color-accent-soft: #FFF8E0;--color-surface-subtle: #FAF9F5;--color-surface-muted: #F0EFE9;--color-success: #3F8054;--color-success-deep: #27613D;--color-success-soft: #EAF4ED;--color-success-border: #B9D5C1;--color-warning: #9C681E;--color-warning-soft: #FFF2DC;--color-danger: #D95C55;--color-danger-strong: #A6423D;--color-danger-soft: #FDE9E7;--color-danger-border: #EFD7D4;--color-overlay: rgba(18, 19, 15, .68);--color-nav-glass: rgba(18, 19, 15, .96);--shadow-card: 0 18px 50px rgba(51, 49, 44, .08);--shadow-button: 0 1px 1px rgba(51, 49, 44, .02);--shadow-active: 0 1px 5px rgba(51, 49, 44, .08);--shadow-modal: 0 30px 100px rgba(18, 19, 15, .28);--shadow-toast: 0 12px 40px rgba(18, 19, 15, .24);--shadow-accent-ring: 0 0 0 3px rgba(255, 202, 16, .2);--shadow-success-ring: 0 0 0 10px rgba(63, 128, 84, .12);--ink: var(--color-text);--muted: var(--color-text-secondary);--line: var(--color-border);--paper: var(--color-card);--canvas: var(--color-app-bg);--lime: var(--color-primary);--lime-dark: var(--color-olive);--dark: var(--color-dark-bg);--warn: var(--color-warning);--danger: var(--color-danger);--shadow: var(--shadow-card);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a.btn,a.back-link{display:inline-block}.shell{min-height:100vh;display:grid;grid-template-columns:244px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:28px 18px;background:var(--dark);color:var(--color-card);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 28px;font-size:20px;font-weight:850;letter-spacing:-.5px}.brand-mark{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--lime);color:var(--dark);font-weight:950}.nav{display:grid;gap:6px}.nav button,.nav a{width:100%;border:0;border-radius:12px;padding:12px 14px;color:var(--color-dark-muted);background:transparent;text-align:left;display:flex;align-items:center;gap:11px}.nav button:hover,.nav a:hover,.nav button.active,.nav a.active{color:var(--color-card);background:var(--color-charcoal)}.nav .nav-icon{width:24px;text-align:center;color:var(--lime);font-size:13px;font-weight:900}.sidebar-foot{margin-top:auto;padding:16px 10px 0;border-top:1px solid var(--color-charcoal)}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot small{color:var(--color-dark-muted);margin-top:4px}.main{padding:30px clamp(22px,4vw,56px) 48px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.eyebrow{margin:0 0 5px;color:var(--lime-dark);font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(27px,3vw,38px);letter-spacing:-1.3px}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:16px}.muted{color:var(--muted)}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 15px;border-radius:11px;font-weight:750;box-shadow:var(--shadow-button)}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--lime);border-color:var(--lime)}.btn.dark{background:var(--dark);color:var(--color-card);border-color:var(--dark)}.btn.danger{background:var(--danger);color:var(--color-card);border-color:var(--danger)}.btn.danger-ghost{color:var(--danger);border-color:var(--color-danger-border);background:var(--color-danger-soft)}.btn.ghost{background:transparent;box-shadow:none}.btn.small{padding:7px 10px;font-size:13px}.grid{display:grid;gap:18px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.stat{min-height:145px;display:flex;flex-direction:column;justify-content:space-between}.stat .label{color:var(--muted);font-size:13px;font-weight:700}.stat .value{font-size:34px;font-weight:850;letter-spacing:-1.3px}.stat .delta{color:var(--lime-dark);font-size:12px;font-weight:750}.stat.lime{background:var(--color-card);border-color:var(--lime)}.stat.lime .label,.stat.lime .delta{color:var(--color-olive)}.columns{grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.card-head h2,.card-head h3{margin-bottom:4px}.list{display:grid;gap:10px}.row{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--color-card)}.row.clickable:hover{border-color:var(--color-secondary);background:var(--color-accent-soft)}.row-main{min-width:0;flex:1}.row-main strong,.row-main small{display:block}.row-main small{color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:40px;height:40px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:var(--color-surface-muted);color:var(--color-charcoal);font-size:13px;font-weight:900}.avatar img{width:100%;height:100%;display:block;border-radius:inherit;object-fit:cover}.athlete-cell{display:flex;align-items:center;gap:11px;min-width:210px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;background:var(--color-success-soft);color:var(--color-success-deep);font-size:11px;font-weight:850;white-space:nowrap}.badge.warn{background:var(--color-warning-soft);color:var(--color-warning)}.badge.gray{background:var(--color-surface-muted);color:var(--color-text-secondary)}.badge.red{background:var(--color-danger-soft);color:var(--color-danger-strong)}.progress{height:7px;overflow:hidden;border-radius:99px;background:var(--color-surface-muted)}.progress>span{display:block;height:100%;border-radius:inherit;background:var(--lime-dark)}.section-tabs{display:flex;gap:7px;margin:0 0 20px;overflow-x:auto}.section-tabs button{white-space:nowrap;border:1px solid var(--line);background:var(--color-card);padding:9px 13px;border-radius:10px;font-weight:700;color:var(--muted)}.section-tabs button.active{color:var(--ink);border-color:var(--lime);background:var(--color-accent-soft)}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.search{width:min(390px,100%);border:1px solid var(--line);border-radius:11px;padding:11px 13px;background:var(--color-card)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:12px;border-bottom:1px solid var(--line)}td{padding:15px 12px;border-bottom:1px solid var(--line);font-size:14px}tbody tr:hover{background:var(--color-surface-subtle)}.empty{padding:44px 20px;text-align:center;color:var(--muted)}.day-grid{grid-template-columns:repeat(7,minmax(130px,1fr));overflow-x:auto;padding-bottom:6px}.day{min-height:170px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--color-surface-subtle)}.day strong{display:block;margin-bottom:12px}.day .item{font-size:12px;padding:8px;margin-top:7px;border-radius:8px;background:var(--color-card);border:1px solid var(--line)}.detail-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.detail-person{display:flex;gap:15px;align-items:center}.detail-person .avatar{width:58px;height:58px;font-size:18px}.metric-grid{grid-template-columns:repeat(3,1fr)}.metric{padding:16px;border-radius:13px;background:var(--color-surface-subtle)}.metric span,.metric strong{display:block}.metric span{color:var(--muted);font-size:12px}.metric strong{margin-top:5px;font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1 / -1}.field label{font-size:12px;font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid var(--color-border);border-radius:10px;padding:11px 12px;background:var(--color-card);color:var(--ink)}.field textarea{min-height:82px;resize:vertical}.modal-backdrop{position:fixed;inset:0;z-index:20;padding:20px;background:var(--color-overlay);display:grid;place-items:center}.modal{width:min(920px,100%);max-height:92vh;overflow-y:auto;padding:24px;border-radius:19px;background:var(--color-card);box-shadow:var(--shadow-modal)}.modal-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}.close{border:0;background:var(--color-surface-muted);width:34px;height:34px;border-radius:50%;font-size:20px}.toast{position:fixed;right:22px;bottom:22px;z-index:40;max-width:360px;padding:13px 16px;border-radius:11px;background:var(--color-dark-bg);color:var(--color-card);box-shadow:var(--shadow-toast);transform:translateY(30px);opacity:0;pointer-events:none;transition:.2s ease}.toast.show{transform:translateY(0);opacity:1}.phone-page{min-height:100vh;background:var(--color-dark-bg);color:var(--color-card);padding-bottom:84px}.phone-wrap{width:min(520px,100%);margin:0 auto;padding:22px 18px}.athlete-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.athlete-top .brand{padding:0}.athlete-account{display:flex;align-items:center;gap:9px}.avatar-button{padding:0;border:2px solid var(--color-dark-border);border-radius:50%;background:none}.avatar-button:hover{border-color:var(--lime)}.avatar-button .avatar{width:36px;height:36px}.profile-photo-preview{display:flex;align-items:center;gap:16px;padding:16px;border-radius:14px;background:var(--color-surface-subtle)}.profile-photo-preview p{margin:5px 0 0}.avatar.profile-large{width:74px;height:74px;font-size:20px}.athlete-hero{padding:24px;border-radius:22px;background:var(--color-charcoal);color:var(--color-card);margin-bottom:16px}.athlete-hero h1{font-size:29px;margin-bottom:8px}.athlete-hero p{margin-bottom:20px;color:var(--color-dark-muted)}.athlete-hero .btn.dark{background:var(--lime);color:var(--color-dark-bg);border-color:var(--lime)}.athlete-card{padding:18px;border:1px solid var(--color-dark-border);border-radius:18px;background:var(--color-dark-surface);margin-bottom:12px}.athlete-card .row{background:var(--color-dark-surface-raised);border-color:var(--color-dark-border)}.athlete-card .row-main small,.athlete-card .muted{color:var(--color-dark-muted)}.athlete-card .progress{background:var(--color-dark-border)}.athlete-card .progress>span{background:var(--lime)}.athlete-card .btn{background:var(--color-dark-surface-raised);color:var(--color-card);border-color:var(--color-dark-border)}.athlete-card .btn.primary{color:var(--color-dark-bg);background:var(--lime);border-color:var(--lime)}.phone-nav{position:fixed;left:50%;bottom:14px;transform:translate(-50%);width:min(560px,calc(100% - 28px));display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px;border:1px solid var(--color-dark-border);border-radius:17px;background:var(--color-nav-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.phone-nav button{border:0;border-radius:12px;padding:9px 4px;color:var(--color-dark-muted);background:transparent;font-size:11px;font-weight:700}.phone-nav button.active{color:var(--dark);background:var(--lime)}.exercise{padding:14px 0;border-bottom:1px solid var(--color-dark-border)}.exercise:last-child{border-bottom:0}.exercise-head{display:flex;justify-content:space-between;gap:12px}.check-options{display:flex;gap:7px;margin-top:10px}.check-options button{flex:1;border:1px solid var(--color-dark-border);color:var(--color-dark-muted);background:var(--color-dark-surface-raised);padding:9px 5px;border-radius:9px;font-size:12px}.check-options button.selected{background:var(--lime);color:var(--dark);border-color:var(--lime);font-weight:850}.daily-success{width:100%;padding:18px;border-radius:14px;background:var(--color-dark-surface-raised);text-align:center}.daily-success strong,.daily-success span,.compact-success strong,.compact-success span{display:block}.daily-success strong,.compact-success strong{color:var(--color-success)}.daily-success span,.compact-success span{margin-top:5px;color:var(--color-dark-muted);font-size:12px}.compact-success{border-color:var(--color-success-border)}.next-progress{display:flex;justify-content:space-between;align-items:center;gap:12px}.next-progress span{color:var(--color-dark-muted);font-size:12px}.next-progress strong{color:var(--lime)}.mobile-complete,.mobile-countdown{min-height:65vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center}.mobile-complete h1,.mobile-countdown h1{margin-bottom:10px}.mobile-complete p:not(.eyebrow),.mobile-countdown p:not(.eyebrow){max-width:360px;color:var(--color-dark-muted);line-height:1.55}.complete-check{width:74px;height:74px;display:grid;place-items:center;margin-bottom:20px;border-radius:50%;background:var(--color-success);color:var(--color-card);font-size:34px;font-weight:900;box-shadow:var(--shadow-success-ring)}.mobile-countdown>strong{font-size:72px;line-height:1;color:var(--lime)}.meal-progress{margin-bottom:12px}.meal-progress>span{display:block;margin-bottom:7px;color:var(--color-dark-muted);font-size:11px}.meal-note{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:8px}.workout-step-head{display:flex;justify-content:space-between;align-items:center;color:var(--color-dark-muted);font-size:11px}.mobile-back{padding:0;color:var(--color-dark-muted)}.workout-segments{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:5px;margin:13px 0 20px}.workout-segments span{height:4px;border-radius:99px;background:var(--color-dark-border)}.workout-segments span.active,.workout-segments span.done{background:var(--lime)}.workout-exercise-hero{padding:5px 3px 10px}.workout-exercise-hero h1{margin-bottom:7px}.workout-exercise-hero>p:last-child{color:var(--color-dark-muted);font-size:12px}.series-guidance{padding:13px;margin-bottom:14px;border-radius:12px;background:var(--color-dark-surface-raised)}.series-guidance p{margin:5px 0 0;color:var(--color-dark-muted);font-size:11px;line-height:1.45}.series-table-head,.series-row{display:grid;grid-template-columns:24px minmax(88px,.8fr) minmax(150px,1.3fr);align-items:center;gap:9px}.series-table-head{padding:0 5px 7px;color:var(--color-dark-muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.series-row{padding:9px 5px;border-top:1px solid var(--color-dark-border)}.series-row>strong{color:var(--lime);text-align:center}.weight-control{display:flex;align-items:center;overflow:hidden;border:1px solid var(--color-dark-border);border-radius:10px;background:var(--color-dark-surface-raised)}.weight-control input{width:100%;min-width:0;padding:9px 4px 9px 9px;border:0;outline:0;background:transparent;color:var(--color-card);text-align:center}.weight-control span{padding-right:8px;color:var(--color-dark-muted);font-size:10px}.rep-stepper{display:grid;grid-template-columns:38px minmax(42px,1fr) 38px;align-items:center;overflow:hidden;border:1px solid var(--color-dark-border);border-radius:10px}.rep-stepper button{height:38px;border:0;background:var(--color-charcoal);color:var(--lime);font-size:20px}.rep-stepper strong{text-align:center;font-size:16px}.workout-note{margin-top:16px}.workout-note textarea{border-color:var(--color-dark-border);background:var(--color-dark-surface-raised);color:var(--color-card)}.complete-exercise-btn,.skip-exercise-btn{width:100%;margin-top:11px}.skip-exercise-btn{color:var(--color-dark-muted)!important}.back-link{border:0;color:var(--muted);background:none;padding:0 0 14px;font-weight:750}.day-pills{display:flex;gap:5px;flex-wrap:wrap}.day-pills span{min-width:32px;padding:5px 6px;border-radius:7px;background:var(--color-accent-soft);color:var(--color-olive);text-align:center;font-size:10px;font-weight:850;text-transform:uppercase}.routine-current{margin-top:18px}.empty.compact{padding:24px 16px;border:1px dashed var(--color-border);border-radius:13px}.empty.compact p{margin:7px 0 16px}.actions.center{justify-content:center}.assigned-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-bottom:14px;border-radius:14px;background:var(--color-accent-soft)}.assigned-summary p{margin:5px 0 0}.compact-days{grid-template-columns:repeat(4,minmax(170px,1fr))}.day .item b,.day .item small{display:block}.day .item small{margin-top:4px;color:var(--muted)}.input-suffix{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:10px;background:var(--color-card);overflow:hidden}.input-suffix input{border:0}.input-suffix span{padding-right:12px;color:var(--muted);font-size:12px}.helper{margin:-2px 0 4px;font-size:12px}.routine-day-field{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--color-surface-subtle)}.routine-day-field>label{display:flex;align-items:center;gap:8px}.routine-day-field input[type=checkbox]{width:auto}.routine-day-field textarea{min-height:70px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.exercise-settings{margin:0;padding:16px;border:1px solid var(--line);border-radius:13px}.exercise-settings legend{padding:0 8px;font-weight:850}.exercise-setting{display:grid;grid-template-columns:minmax(150px,1.5fr) repeat(4,minmax(75px,.7fr));gap:9px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}.exercise-setting:last-child{border-bottom:0}.exercise-setting label{color:var(--muted);font-size:10px}.exercise-setting input{margin-top:4px;padding:8px}.routine-picker{max-width:600px;margin:0 auto}.or{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--muted)}.or:before,.or:after{content:"";height:1px;flex:1;background:var(--line)}.modal-days{grid-template-columns:repeat(3,minmax(190px,1fr))}.plan-comment{padding:13px 15px;margin-bottom:14px;border-left:3px solid var(--lime);border-radius:0 10px 10px 0;background:var(--color-accent-soft)}.plan-comment strong{font-size:12px}.plan-comment p{margin:5px 0 0;color:var(--muted);font-size:13px}.nutrition-days-preview{display:grid;gap:8px}.nutrition-days-preview details{border:1px solid var(--line);border-radius:12px;overflow:hidden}.nutrition-days-preview summary{display:flex;justify-content:space-between;padding:13px 15px;cursor:pointer;background:var(--color-surface-subtle)}.nutrition-days-preview summary span{color:var(--muted);font-size:12px}.meal-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;padding:12px;border-top:1px solid var(--line)}.meal-card{padding:12px;border-radius:10px;background:var(--color-surface-subtle)}.meal-card p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.builder-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:17px}.builder-head p{margin-bottom:5px}.builder-comment{max-width:650px;padding:9px 12px;border-radius:9px;background:var(--color-surface-muted);color:var(--color-warm-gray);font-size:12px}.nutrition-setup-compact{display:grid;grid-template-columns:minmax(260px,1fr) 130px auto;align-items:end;gap:9px}.nutrition-setup-compact .field{gap:4px}.nutrition-setup-compact input{min-height:36px;padding:7px 9px}.nutrition-plan-notes{grid-column:1 / -1}.nutrition-plan-notes textarea{min-height:58px;padding:8px 10px}.nutrition-setup-next{min-height:36px}.nutrition-builder-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;margin-bottom:10px;border-radius:9px;background:var(--color-surface-subtle)}.nutrition-builder-head>div{min-width:0;display:flex;align-items:baseline;gap:9px}.nutrition-builder-head strong{white-space:nowrap}.nutrition-builder-head span{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.nutrition-day-head{display:grid;grid-template-columns:minmax(120px,.55fr) minmax(170px,1fr) auto;align-items:end;gap:10px;margin-bottom:7px}.nutrition-day-title{gap:2px}.nutrition-day-title label{font-size:8px}.nutrition-day-title input{min-height:32px;padding:5px 7px;font-weight:750}.nutrition-day-meta{min-width:0;align-self:center}.nutrition-day-meta strong,.nutrition-day-meta span{display:block}.nutrition-day-meta strong{font-size:12px}.nutrition-day-meta span{min-height:13px;margin-top:2px;color:var(--lime-dark);font-size:9px;font-weight:800}.compact-meals{gap:6px}.nutrition-meal-editor{padding:7px 8px 5px;border:1px solid var(--line);border-radius:10px;background:var(--color-card)}.nutrition-meal-editor.focused{border-color:var(--color-secondary);box-shadow:var(--shadow-accent-ring)}.nutrition-meal-editor.dragging{z-index:2;border-color:var(--color-secondary);box-shadow:0 10px 28px #33312c24;opacity:.62;transform:scale(.995)}.nutrition-meal-editor.drag-before:before,.nutrition-meal-editor.drag-after:after{content:"";position:absolute;right:8px;left:8px;height:3px;border-radius:999px;background:var(--lime-dark);box-shadow:var(--shadow-accent-ring)}.nutrition-meal-editor.drag-before:before{top:-5px}.nutrition-meal-editor.drag-after:after{bottom:-5px}.nutrition-meal-editor{position:relative;transition:border-color .16s ease,box-shadow .16s ease,opacity .16s ease,transform .16s ease}.compact-meals.is-dragging{-webkit-user-select:none;user-select:none}.nutrition-meal-main{display:grid;grid-template-columns:28px minmax(105px,.6fr) minmax(220px,1.4fr) auto 28px 28px;align-items:end;gap:6px}.meal-drag-handle{width:28px;min-height:32px;display:grid;place-items:center;align-content:center;gap:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);cursor:grab;touch-action:none}.meal-drag-handle:hover,.meal-drag-handle:focus-visible{border-color:var(--color-secondary);background:var(--color-accent-soft);color:var(--ink);outline:none}.meal-drag-handle:active{cursor:grabbing}.meal-position{font-size:8px;font-weight:900}.nutrition-meal-main .field{min-width:0;gap:2px}.nutrition-meal-main label{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.nutrition-meal-main input{width:100%;min-height:32px;padding:5px 7px;font-size:12px}.meal-macro-summary{align-self:center;min-width:0;color:var(--lime-dark);font-size:9px;font-weight:850;white-space:nowrap}.meal-icon-action{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;background:var(--color-card);color:var(--muted);font-size:14px}.meal-icon-action:hover{border-color:var(--color-secondary);background:var(--color-accent-soft);color:var(--ink)}.nutrition-meal-more{margin:4px 34px 0}.nutrition-meal-more summary{width:max-content;padding:2px 0;color:var(--muted);cursor:pointer;font-size:9px;font-weight:800}.nutrition-macro-fields{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:7px;padding:7px 0 4px}.nutrition-macro-fields label{display:grid;gap:3px;color:var(--muted);font-size:9px;font-weight:800}.nutrition-macro-fields label span{font-weight:500}.nutrition-macro-fields input{min-height:32px;padding:5px 7px}.nutrition-save-bar{align-items:center}.builder-layout{display:grid;grid-template-columns:108px 1fr;gap:12px;min-height:390px}.builder-days{display:grid;align-content:start;gap:4px;max-height:520px;overflow-y:auto}.builder-days button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;border:1px solid transparent;border-radius:8px;padding:7px 8px;background:transparent;color:var(--muted);text-align:left;font-size:11px;font-weight:750}.builder-days button .day-short{display:none}.builder-days button strong{font-size:11px}.builder-days button b{min-width:19px;height:19px;display:grid;place-items:center;border-radius:6px;background:var(--color-surface-muted);color:var(--muted);font-size:9px}.builder-days button.active{border-color:var(--lime);background:var(--color-accent-soft);color:var(--ink)}.builder-days button.active b{background:var(--lime);color:var(--ink)}.builder-day{min-width:0}.meal-editor-list{display:grid;gap:10px}.meal-editor{position:relative;display:grid;grid-template-columns:34px minmax(140px,.7fr) minmax(240px,1.4fr) 30px;align-items:start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--color-surface-subtle)}.meal-editor.focused{border-color:var(--color-secondary);box-shadow:var(--shadow-accent-ring)}.meal-number{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--lime);font-size:11px;font-weight:900}.meal-editor textarea{min-height:64px}.remove-meal{width:28px;height:28px;border:0;border-radius:50%;background:var(--color-danger-soft);color:var(--danger);font-size:18px}.builder-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.builder-actions button:disabled{opacity:.4;cursor:default}.nutrition-review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:16px}.nutrition-review-head h2{margin-bottom:4px}.full-diet{display:grid;gap:13px}.full-diet-day{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--color-card)}.full-day-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:var(--color-surface-muted);border-bottom:1px solid var(--line)}.full-day-head span{color:var(--lime-dark);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.full-day-head h3{margin:3px 0 0}.full-meals{display:grid;gap:7px;padding:10px}.full-meal{width:100%;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:11px;padding:11px;border:1px solid transparent;border-radius:11px;background:var(--color-surface-subtle);color:var(--ink);text-align:left}.full-meal:hover{border-color:var(--color-secondary);background:var(--color-accent-soft)}.full-meal.static{cursor:default}.full-meal.static:hover{border-color:transparent;background:var(--color-surface-subtle)}.full-meal>span:nth-child(2){min-width:0}.full-meal strong,.full-meal small{display:block}.full-meal small{margin-top:4px;color:var(--muted);line-height:1.4}.full-meal b{color:var(--lime-dark);font-size:11px}.routine-editor-head{display:grid;grid-template-columns:minmax(260px,1fr) 170px;align-items:end;gap:10px;padding:10px 12px;margin-bottom:12px;border:1px solid var(--line);border-radius:11px;background:var(--color-surface-subtle)}.routine-editor-head .field{gap:3px}.routine-editor-head label{font-size:9px}.routine-editor-head input{min-height:34px;padding:6px 9px}.routine-builder{min-height:360px}.routine-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;margin-bottom:7px}.routine-day-head h3{margin:0;font-size:15px}.routine-day-head h3 span{color:var(--muted);font-size:11px;font-weight:650}.routine-exercise-list{display:grid;gap:6px}.routine-exercise-editor{position:relative;padding:7px 8px 5px;border:1px solid var(--line);border-radius:10px;background:var(--color-card);transition:border-color .16s ease,box-shadow .16s ease,opacity .16s ease,transform .16s ease}.exercise-main-row{display:grid;grid-template-columns:30px minmax(150px,1fr) 58px 62px 58px 112px 28px;align-items:end;gap:6px}.routine-exercise-editor.personalized .exercise-main-row{grid-template-columns:30px minmax(145px,1fr) 54px 58px 68px 52px 108px 28px}.exercise-main-row .field{min-width:0;gap:2px}.exercise-main-row label{overflow:hidden;color:var(--muted);font-size:8px;line-height:1.1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.exercise-main-row input{width:100%;min-height:32px;padding:5px 7px;font-size:12px}.exercise-main-row .input-suffix span{padding:0 7px;font-size:9px}.routine-exercise-editor.dragging{z-index:2;border-color:var(--color-secondary);box-shadow:0 10px 28px #33312c24;opacity:.62;transform:scale(.995)}.routine-exercise-editor.drag-before:before,.routine-exercise-editor.drag-after:after{content:"";position:absolute;right:8px;left:8px;height:3px;border-radius:999px;background:var(--lime-dark);box-shadow:var(--shadow-accent-ring)}.routine-exercise-editor.drag-before:before{top:-7px}.routine-exercise-editor.drag-after:after{bottom:-7px}.routine-exercise-list.is-dragging{-webkit-user-select:none;user-select:none}.exercise-drag-handle{width:28px;min-height:32px;display:grid;place-items:center;align-content:center;gap:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);cursor:grab;touch-action:none}.exercise-drag-handle:hover,.exercise-drag-handle:focus-visible{border-color:var(--color-secondary);background:var(--color-accent-soft);color:var(--ink);outline:none}.exercise-drag-handle:active{cursor:grabbing}.drag-dots{font-size:18px;line-height:.7}.exercise-position{font-size:8px;font-weight:900}.exercise-more{margin:4px 34px 0}.exercise-more summary{width:max-content;padding:2px 0;color:var(--muted);cursor:pointer;font-size:9px;font-weight:800}.exercise-more summary:hover{color:var(--ink)}.exercise-more-fields{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(260px,1.3fr);gap:8px;padding:7px 0 4px}.exercise-more-fields .field{gap:3px}.exercise-more-fields label{font-size:9px}.exercise-more-fields input{min-height:32px;padding:5px 8px}.compact-notice{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;margin-bottom:8px}.compact-notice p{display:none}.compact-notice span{color:var(--muted);font-size:10px}.login-page,.loading-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--color-surface-muted);text-align:center}.login-card{width:min(460px,100%);padding:32px;border:1px solid var(--line);border-radius:22px;background:var(--color-card);box-shadow:0 24px 70px #33312c1f;text-align:left}.login-card .brand{margin-bottom:34px}.auth-switch{margin-top:18px;text-align:center}.link-button{padding:0;border:0;background:none;color:var(--ink);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.link-button:hover{opacity:.7}.form-error,.archived-notice{padding:12px 14px;margin:12px 0;border:1px solid var(--color-secondary);border-radius:12px;background:var(--color-accent-soft);color:var(--ink)}.loader{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--lime-dark);border-radius:50%;animation:coachub-spin .8s linear infinite}@keyframes coachub-spin{to{transform:rotate(360deg)}}.is-busy{cursor:progress}.is-busy button,.is-busy input,.is-busy textarea,.is-busy select{pointer-events:none;opacity:.72}.meal-macros{grid-column:2 / -2;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.meal-macros label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:800}.meal-macros input{width:100%}.meal-prescription.logged{opacity:.82}.followup-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.trainer-feedback,.prescription-note,.payment-instructions{white-space:pre-wrap;padding:10px;border-radius:10px;background:var(--color-surface-muted)}.photo-strip{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.photo-strip figure{margin:0}.photo-strip img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:10px}.photo-strip figcaption{margin-top:3px;color:var(--muted);font-size:9px;text-transform:capitalize}.photo-compare-selects{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.photo-compare-selects label{display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:800}.photo-comparison{display:grid;gap:12px}.photo-comparison article>strong{display:block;margin-bottom:5px;text-transform:capitalize}.photo-comparison article>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-comparison figure{margin:0}.photo-comparison img{width:100%;max-height:360px;object-fit:cover;border-radius:12px}.photo-comparison figcaption{color:var(--muted);font-size:10px}.athlete-metrics{margin:12px 0 16px}.exercise-editor-fields input{padding:8px}.routine-save-bar{position:sticky;z-index:4;bottom:-24px;display:flex;justify-content:flex-end;gap:9px;padding:10px 0 3px;margin-top:10px;border-top:1px solid var(--line);background:linear-gradient(to bottom,rgba(255,255,255,.94),var(--color-card) 28%);box-shadow:0 -8px 16px #33312c0a}.routine-save-bar.separated{justify-content:flex-end;align-items:center}.draft-action{display:block}.btn.saved,.btn.saved:disabled{border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success-deep);opacity:1;cursor:default}.replace-notice{padding:13px 15px;margin-bottom:16px;border:1px solid var(--color-secondary);border-radius:12px;background:var(--color-accent-soft)}.replace-notice p{margin:5px 0 0;color:var(--muted);font-size:12px}.nutrition-summary{margin-bottom:12px}.confirm-delete{max-width:520px;margin:0 auto;text-align:center}.confirm-delete .delete-icon{width:48px;height:48px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;background:var(--color-danger-soft);color:var(--danger);font-size:22px;font-weight:900}.confirm-delete p{color:var(--muted);line-height:1.55}.btn.interactive-key{--interactive-fill: var(--color-primary);--interactive-border: var(--color-warm-gray);--interactive-hover-text: var(--color-dark-bg);position:relative;isolation:isolate;overflow:hidden;border-radius:999px;background:var(--color-warm-gray);color:var(--color-card);border-color:var(--interactive-border);border-width:2px;transition:border-color .3s ease,color .3s ease}.btn.interactive-key.danger{--interactive-fill: var(--color-danger);--interactive-border: var(--color-danger);--interactive-hover-text: var(--color-card);background:var(--color-danger-soft);color:var(--color-danger)}.btn.interactive-key:not(.danger){background:var(--color-warm-gray);color:var(--color-card);border-color:var(--interactive-border)}.btn.interactive-key:is(:hover,:focus-visible):not(:disabled){border-color:var(--interactive-fill)}.interactive-key__label{position:relative;z-index:2;display:inline-block;transition:transform .3s ease,opacity .3s ease}.interactive-key__hover{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:inherit;color:var(--interactive-hover-text);opacity:0;transform:translate(48px);transition:transform .3s ease,opacity .3s ease;pointer-events:none}.interactive-key__fill{position:absolute;inset:0;z-index:1;border-radius:inherit;background:var(--interactive-fill);opacity:0;transform:scaleX(0);transform-origin:left center;transition:transform .3s ease,opacity .3s ease;pointer-events:none}.btn.interactive-key:is(:hover,:focus-visible):not(:disabled) .interactive-key__label{opacity:0;transform:translate(48px)}.btn.interactive-key:is(:hover,:focus-visible):not(:disabled) .interactive-key__hover{opacity:1;transform:translate(-2px)}.btn.interactive-key:is(:hover,:focus-visible):not(:disabled) .interactive-key__fill{opacity:1;transform:scaleX(1)}.btn.interactive-key:disabled .interactive-key__fill{display:none}@media(prefers-reduced-motion:reduce){.btn.interactive-key,.interactive-key__label,.interactive-key__hover,.interactive-key__fill{transition:none}}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:10;inset:auto 0 0;height:auto;padding:7px}.sidebar .brand,.sidebar-foot{display:none}.nav{grid-template-columns:repeat(6,1fr);gap:2px}.nav button,.nav a{justify-content:center;padding:9px 2px;font-size:0}.nav .nav-icon{font-size:11px}.main{padding:22px 16px 88px}.topbar{align-items:flex-start}.topbar h1{padding-top:38px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{min-height:120px;padding:15px}.stat .value{font-size:28px}.toolbar,.detail-hero{align-items:stretch;flex-direction:column}.metric-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.assigned-summary{align-items:stretch;flex-direction:column}.exercise-setting{grid-template-columns:1fr 1fr}.exercise-setting>strong{grid-column:1 / -1}.builder-layout{grid-template-columns:1fr}.builder-days{grid-template-columns:repeat(4,minmax(76px,1fr));max-height:none;overflow-x:auto}.builder-days button{justify-content:initial}.builder-days button strong{display:none}.builder-days button .day-short{display:block;width:auto;height:auto;background:transparent}.nutrition-setup-compact{grid-template-columns:1fr 105px}.nutrition-setup-next{grid-column:1 / -1}.nutrition-builder-head{align-items:stretch;flex-direction:column}.nutrition-builder-head>div{display:grid}.nutrition-day-head{grid-template-columns:1fr auto}.nutrition-day-meta{grid-column:1 / -1;grid-row:2}.nutrition-day-head .actions{grid-column:2;grid-row:1}.nutrition-meal-main{grid-template-columns:28px minmax(100px,1fr) 28px 28px}.nutrition-meal-content,.meal-macro-summary{grid-column:2 / -1}.nutrition-meal-more{margin-left:34px;margin-right:0}.nutrition-macro-fields{grid-template-columns:1fr 1fr}.meal-editor{grid-template-columns:32px 1fr 30px}.meal-editor .meal-details{grid-column:2 / 4}.routine-editor-head{grid-template-columns:1fr 120px}.exercise-main-row,.routine-exercise-editor.personalized .exercise-main-row{grid-template-columns:28px minmax(130px,1fr) 52px 56px 28px}.exercise-main-row .exercise-name{grid-column:2 / -2}.exercise-main-row .compact-rest{grid-column:span 2}.exercise-more{margin-left:32px;margin-right:0}.exercise-more-fields{grid-template-columns:1fr}.routine-save-bar{align-items:stretch;flex-direction:column-reverse}.routine-save-bar.separated{align-items:stretch}.draft-action{max-width:none}.nutrition-review-head{align-items:stretch;flex-direction:column}.full-meal{grid-template-columns:30px 1fr}.full-meal>b{grid-column:2}.meal-macros,.photo-strip{grid-template-columns:1fr 1fr}}@media(max-width:430px){.stats{grid-template-columns:1fr}.nav button:nth-child(n+6),.nav a:nth-child(n+6){display:none}.nav{grid-template-columns:repeat(5,1fr)}}
