@import"https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Nunito+Sans:opsz,wght@6..12,400;6..12,600;6..12,700;6..12,800&display=swap";:root{--canvas: #f2ede2;--canvas-deep: #eae3d4;--card: #fdfbf5;--card-soft: #f7f2e7;--ink: #22301f;--ink-soft: #5b6757;--ink-faint: #8b9484;--line: #e5ddcb;--line-strong: #d4c9b2;--green-900: #143528;--green-700: #1c4a38;--green-600: #24604a;--green-100: #dcedda;--green-50: #e9f3e4;--persimmon: #e06a41;--persimmon-deep: #c95530;--persimmon-100: #fbe4d3;--lavender: #e9e4f6;--lavender-ink: #5a4d8a;--blue: #dce9f7;--blue-ink: #33608f;--sand: #f6ecd4;--sand-ink: #8a6d2f;--red: #f8dcd4;--red-ink: #a03a2a;--radius-lg: 24px;--radius-md: 16px;--radius-sm: 12px;--shadow-card: 0 12px 32px rgba(34, 48, 31, .08), 0 2px 6px rgba(34, 48, 31, .05);--shadow-pop: 0 24px 64px rgba(34, 48, 31, .18);--font-display: "Archivo", "Avenir Next Condensed", "Arial Narrow", sans-serif;--font-text: "Nunito Sans", "Avenir Next", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--canvas);color:var(--ink);font-family:var(--font-text);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.01em;margin:0}h1{font-size:30px;font-weight:800}h2{font-size:21px;font-weight:700}h3{font-size:16px;font-weight:700}a{color:var(--green-700)}button{font-family:inherit}:focus-visible{outline:3px solid var(--persimmon);outline-offset:2px;border-radius:6px}.num{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.shell{min-height:100vh;display:flex}.shell-content{flex:1;min-width:0}.rail{width:232px;flex-shrink:0;padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto}.rail-brand{display:flex;align-items:center;gap:10px;padding:6px 10px 18px}.rail-brand-mark{width:38px;height:38px;border-radius:13px;background:var(--green-700);color:#fdfbf5;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:19px}.rail-brand-name{font-family:var(--font-display);font-weight:800;font-size:19px}.rail-brand-sub{font-size:11.5px;color:var(--ink-soft)}.rail-item{display:flex;align-items:center;gap:11px;padding:10.5px 12px;border-radius:13px;color:var(--ink-soft);text-decoration:none;font-weight:700;font-size:14.5px;border:none;background:none;cursor:pointer;text-align:left}.rail-item:hover{background:#1c4a3812;color:var(--ink)}.rail-item[aria-current=page]{background:var(--green-700);color:#f6f3e8;box-shadow:var(--shadow-card)}.rail-item svg{width:19px;height:19px;flex-shrink:0}.rail-footer{margin-top:auto;padding:12px 4px 2px;border-top:1px solid var(--line);display:grid;gap:7px}.rail-user{font-size:12.5px;color:var(--ink-soft);font-weight:700;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-item-sm{padding:8px 10px;font-size:13px;border-radius:11px}.main{flex:1;min-width:0;padding:26px 30px 60px;max-width:1180px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head .sub{color:var(--ink-soft);margin-top:3px}.bottom-nav{display:none;position:fixed;bottom:max(10px,env(safe-area-inset-bottom));left:10px;right:10px;z-index:60;background:#fdfbf5f0;border:1px solid rgba(212,201,178,.72);border-radius:22px;box-shadow:var(--shadow-pop);backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08);padding:8px;grid-auto-flow:column;grid-auto-columns:1fr}.bottom-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:15px;text-decoration:none;color:var(--ink-soft);font-size:11px;font-weight:700;border:none;background:none;cursor:pointer;min-height:44px;justify-content:center}.bottom-item svg{width:21px;height:21px}.bottom-item[aria-current=page]{background:var(--green-700);color:#f6f3e8}.mobile-topbar{display:none;position:sticky;top:0;z-index:55;min-height:68px;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:#f2ede2eb;border-bottom:1px solid rgba(212,201,178,.72);backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08)}.mobile-topbar-brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.mobile-topbar-copy{display:grid;min-width:0;line-height:1.15}.mobile-topbar-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:16px;font-weight:800}.mobile-topbar-subtitle{display:block;overflow:hidden;margin-top:3px;color:var(--ink-soft);font-size:11.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.mobile-topbar-action{width:42px;height:42px;flex:0 0 42px;background:#fdfbf5db}.input.mobile-topbar-select{width:min(42vw,168px);min-height:42px;padding:8px 32px 8px 11px;border-radius:14px;background-color:#fdfbf5e6;font-size:12.5px;font-weight:800}.participant-shell{min-height:100vh;max-width:640px;margin:0 auto;padding:0 16px calc(120px + env(safe-area-inset-bottom))}.mobile-topbar.participant-topbar{display:flex;width:calc(100% + 32px);margin:0 -16px 14px}.bottom-nav.participant-bottom-nav{display:grid;left:50%;right:auto;width:min(620px,calc(100vw - 20px));transform:translate(-50%);bottom:max(10px,env(safe-area-inset-bottom))}@media (max-width: 900px){.rail{display:none}.main{padding:18px 16px calc(110px + env(safe-area-inset-bottom));max-width:none}.bottom-nav{display:grid}.mobile-topbar{display:flex}h1{font-size:25px}}@media (max-width: 380px){.input.mobile-topbar-select{width:132px}.mobile-topbar-title{font-size:15px}}.card{background:var(--card);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-card);border:1px solid rgba(213,202,178,.35)}.card.pad-lg{padding:26px}.card+.card{margin-top:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.split-7-5{display:grid;grid-template-columns:7fr 5fr;gap:20px;align-items:start}@media (max-width: 1100px){.split-7-5{grid-template-columns:1fr}}@media (max-width: 760px){.grid-2{grid-template-columns:1fr}}.section-title{display:flex;align-items:center;justify-content:space-between;margin:26px 0 12px}.nutrition-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.nutrition-card-grid .card+.card{margin-top:0}.nutrition-template-card{display:flex;flex-direction:column;gap:14px;min-height:250px}.nutrition-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.nutrition-card-head h3{font-size:18px}.nutrition-card-head span:not(.pill){display:block;margin-top:3px;color:var(--ink-soft);font-size:12.5px;font-weight:700}.nutrition-description{color:var(--ink-soft);margin:-4px 0 0;font-size:13.5px}.macro-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:9px;border-radius:15px;background:var(--card-soft)}.macro-strip>div{min-width:0;text-align:center}.macro-strip strong{display:block;color:var(--green-900);font-family:var(--font-display);font-size:15px}.macro-strip span{display:block;color:var(--ink-faint);font-size:10.5px;font-weight:800;white-space:nowrap}.macro-strip-compact{background:transparent;padding:0;min-width:285px}.macro-strip-compact strong{font-size:13px}.macro-strip-compact span{font-size:9.5px}.nutrition-meal-preview{display:flex;flex-wrap:wrap;gap:6px}.nutrition-meal-preview span{padding:5px 9px;border-radius:999px;background:var(--green-50);color:var(--green-900);font-size:11.5px;font-weight:800}.nutrition-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.nutrition-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:14px}.nutrition-food-list{padding:0;overflow:hidden}.nutrition-food-summary{padding:12px 18px;background:var(--card-soft);color:var(--ink-soft);font-size:12.5px}.nutrition-food-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(285px,1fr) auto;align-items:center;gap:16px;min-height:76px;padding:12px 18px;border-top:1px solid var(--line)}.nutrition-food-main{min-width:0}.nutrition-food-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nutrition-food-main span{color:var(--ink-soft);font-size:12px;font-weight:700}.nutrition-nutrient-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.nutrition-builder-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 10px}.nutrition-builder-list{display:grid;gap:7px;margin-bottom:10px}.nutrition-builder-item{display:grid;grid-template-columns:minmax(0,1fr) 92px 58px 40px;align-items:center;gap:7px;padding:8px 9px 8px 13px;border:1px solid var(--line);border-radius:14px;background:#fffdf8}.nutrition-builder-item>div{min-width:0}.nutrition-builder-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}.nutrition-builder-item span{display:block;color:var(--ink-faint);font-size:11px;font-weight:700}.nutrition-builder-item .input{min-height:38px;padding:7px 9px}.nutrition-unit{text-align:center;color:var(--ink-soft)!important;font-size:12px!important}.food-journal-intro,.food-journal-trainer-intro{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;background:var(--green-50);border-color:#24604a38}.food-journal-intro-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:var(--green-900);color:#fff;font-size:21px;box-shadow:0 8px 18px #14352829}.food-journal-intro h2,.food-journal-trainer-intro h2{margin:0;font-size:19px}.food-journal-intro p,.food-journal-trainer-intro p{margin:3px 0 0;color:var(--ink-soft);font-size:13.5px;font-weight:700}.food-journal-intro-actions{display:grid;justify-items:stretch;gap:8px;min-width:190px}.food-journal-intro-actions .pill{justify-self:end}.food-journal-intro-actions .btn{min-height:44px;white-space:nowrap}.food-journal-meal-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}.food-journal-meal-actions>span{color:var(--ink-faint);font-size:11.5px;font-weight:800}.food-journal-other-meal{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:12px 13px;border:1px dashed var(--line-strong);border-radius:16px}.food-journal-other-meal strong,.food-journal-other-meal span{display:block}.food-journal-other-meal span{margin-top:2px;color:var(--ink-soft);font-size:12.5px;font-weight:700}.food-journal-entry-list{display:grid;gap:9px;margin-top:10px}.food-journal-entry{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:9px;border:1px solid var(--line);border-radius:17px;background:var(--card)}.food-journal-photo-link,.food-journal-review-photo{display:block;overflow:hidden;border-radius:13px;background:var(--canvas-deep)}.food-journal-photo-link img,.food-journal-review-photo img{display:block;width:100%;height:100%;object-fit:cover}.food-journal-photo-link{aspect-ratio:1}.food-journal-entry-copy{display:flex;flex-direction:column;min-width:0;gap:7px}.food-journal-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.food-journal-entry-head strong,.food-journal-entry-head span{display:block}.food-journal-entry-head>div>span{margin-top:2px;color:var(--ink-faint);font-size:11.5px;font-weight:800}.food-journal-entry-copy>p{margin:0;color:var(--ink-soft);font-size:12.5px}.food-journal-entry-copy>.btn{align-self:flex-start;margin-top:auto}.food-journal-feedback{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:8px 10px;border-radius:12px;background:var(--blue);color:var(--blue-ink);font-size:12px}.food-journal-feedback strong{display:block}.food-journal-feedback p{margin:2px 0 0}.food-journal-reviewed{color:var(--green-700);font-size:11.5px;font-weight:800}.food-journal-modal-context{margin:-7px 0 15px;color:var(--ink-soft);font-size:13px;font-weight:800}.food-journal-upload-preview{display:block;width:100%;max-height:320px;margin:0 0 14px;border-radius:17px;object-fit:cover;background:var(--canvas-deep)}.food-journal-privacy{margin:12px 0 0;color:var(--ink-faint);font-size:11.5px;font-weight:700}.food-journal-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:16px}.food-journal-trainer-intro .segmented{justify-self:end}.food-journal-day-group{margin-top:22px}.food-journal-day-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 10px}.food-journal-day-heading h2{font-size:18px;text-transform:capitalize}.food-journal-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.food-journal-review-grid .card+.card{margin-top:0}.food-journal-review-card{display:grid;grid-template-columns:168px minmax(0,1fr);gap:16px;padding:12px}.food-journal-review-photo{min-height:235px}.food-journal-review-copy{min-width:0}.food-journal-review-copy h3{margin:0;font-size:17px}.food-journal-participant-note{margin:11px 0;color:var(--ink-soft);font-size:13px}.food-journal-participant-note.muted{color:var(--ink-faint);font-style:italic}.food-journal-review-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:10px}.food-journal-review-actions>span{color:var(--green-700);font-size:11.5px;font-weight:800}@media (max-width: 1100px){.food-journal-review-grid{grid-template-columns:1fr}}@media (max-width: 700px){.food-journal-intro,.food-journal-trainer-intro{grid-template-columns:auto minmax(0,1fr)}.food-journal-intro>.pill,.food-journal-trainer-intro>.segmented{grid-column:1 / -1;justify-self:stretch}.food-journal-intro-actions{grid-column:1 / -1;grid-template-columns:auto minmax(0,1fr);align-items:center;min-width:0;width:100%}.food-journal-intro-actions .pill{justify-self:start}.food-journal-intro-actions .btn{width:100%}.food-journal-trainer-intro>.segmented button{flex:1}.food-journal-review-card{grid-template-columns:118px minmax(0,1fr)}.food-journal-review-photo{min-height:190px}}@media (max-width: 480px){.food-journal-entry{grid-template-columns:92px minmax(0,1fr)}.food-journal-entry-head{display:grid}.food-journal-entry-head .pill{justify-self:start}.food-journal-other-meal{align-items:stretch;flex-direction:column}.food-journal-other-meal .btn{width:100%}.food-journal-review-card{grid-template-columns:1fr}.food-journal-review-photo{aspect-ratio:16 / 10;min-height:0}.food-journal-modal-actions .btn{flex:1}}.nutrition-builder-empty{padding:16px;border:1px dashed var(--line-strong);border-radius:14px;color:var(--ink-soft);text-align:center;font-size:13px}.nutrition-builder-stack{display:grid;gap:12px;margin:14px 0}.nutrition-meal-builder{padding:13px;border-radius:18px;background:var(--card-soft);border:1px solid var(--line)}.nutrition-meal-builder-head{display:grid;grid-template-columns:34px minmax(0,1fr) 100px 40px;align-items:center;gap:7px;margin-bottom:9px}.nutrition-meal-number{width:32px;height:32px;display:grid;place-items:center;border-radius:11px;background:var(--green-700);color:#fff;font-family:var(--font-display);font-weight:800}.nutrition-meal-builder-head .input{min-height:40px;padding:8px 10px}.nutrition-picker{margin:9px 0 12px;padding:10px;border-radius:16px;border:1px solid var(--line-strong);background:var(--card);box-shadow:var(--shadow-card)}.nutrition-picker-results{display:grid;gap:4px;max-height:245px;overflow-y:auto;margin-top:7px}.nutrition-picker-results button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border:0;border-radius:11px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.nutrition-picker-results button:hover{background:var(--green-50)}.nutrition-picker-results button>span:first-child{min-width:0}.nutrition-picker-results strong,.nutrition-picker-results small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nutrition-picker-results small{color:var(--ink-soft);font-size:11px;font-weight:700}.nutrition-picker-results button>span:last-child{flex:0 0 auto;color:var(--green-900);font-size:12px;font-weight:800}.nutrition-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:16px}.training-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.training-library-grid .card+.card{margin-top:0}.training-library-card{display:flex;flex-direction:column;gap:13px;min-height:292px;overflow:hidden}.training-library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.training-library-head h3{font-size:19px}.training-library-head span:not(.pill){display:block;margin-top:3px;color:var(--ink-soft);font-size:12.5px;font-weight:700}.training-library-goal{min-height:39px;margin:-2px 0 0;color:var(--ink-soft);font-size:13.5px;line-height:1.45}.training-library-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:9px;border-radius:16px;background:linear-gradient(135deg,var(--green-50),var(--card-soft))}.training-library-metrics>div{min-width:0;text-align:center}.training-library-metrics strong{display:block;color:var(--green-900);font-family:var(--font-display);font-size:20px}.training-library-metrics span{color:var(--ink-faint);font-size:10.5px;font-weight:800}.training-library-tags{display:flex;flex-wrap:wrap;gap:6px}.training-library-tags span{padding:5px 9px;border-radius:999px;background:var(--lime-soft);color:var(--green-900);font-size:11px;font-weight:800}.training-library-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.training-assignment-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:10px}.training-assignment-list{display:grid;gap:7px;max-height:390px;overflow-y:auto;padding:2px}.training-assignment-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:61px;padding:9px 11px;border:1px solid var(--line);border-radius:14px;background:var(--card-soft);cursor:pointer}.training-assignment-row:has(input:checked){border-color:#24604a61;background:var(--green-50);box-shadow:inset 0 0 0 1px #24604a14}.training-assignment-row input{width:19px;height:19px;accent-color:var(--green-700)}.training-assignment-row strong,.training-assignment-row small{display:block}.training-assignment-row small{margin-top:2px;color:var(--ink-soft);font-size:11.5px;font-weight:700}.training-assignment-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:13px;font-weight:700}.training-assignment-footer>div{display:flex;gap:8px}.training-catalog-browser .exercise-catalog-card{grid-template-columns:1fr}.training-catalog-intro{margin-bottom:14px}.training-day-editor{margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--card-soft)}.training-day-head{display:grid;grid-template-columns:34px minmax(0,1fr) 40px;align-items:start;gap:8px;margin-bottom:12px}.training-day-head>div{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(220px,1.15fr);gap:8px}.training-day-head .input{min-height:42px;padding:8px 10px}.training-day-number{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--green-700);color:#fff;font-family:var(--font-display);font-weight:800}.training-exercise-editor{display:grid;gap:9px;margin-bottom:9px;padding:11px;border:1px solid var(--line);border-radius:15px;background:var(--card)}.training-exercise-title>.input{font-weight:800}.training-exercise-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.training-exercise-meta span{padding:4px 8px;border-radius:999px;background:var(--green-50);color:var(--green-900);font-size:11px;font-weight:800}.training-prescription-fields{display:grid;grid-template-columns:minmax(135px,1.3fr) repeat(5,minmax(76px,.7fr));gap:7px}.training-prescription-fields .input,.training-exercise-foot .input{min-height:40px;padding:7px 9px}.training-exercise-foot{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:7px}.training-day-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.training-exercise-empty{padding:16px;border:1px dashed var(--line-strong);border-radius:14px;color:var(--ink-soft);text-align:center;font-size:13px}.exercise-instructions{margin-top:8px;color:var(--ink-soft);font-size:12.5px}.exercise-instructions summary{min-height:32px;display:flex;align-items:center;color:var(--green-900);cursor:pointer;font-weight:800}.exercise-instructions summary:before{content:"▸";margin-right:6px;transition:transform .15s ease}.exercise-instructions[open] summary:before{transform:rotate(90deg)}.exercise-instructions ol{margin:5px 0 0;padding-left:22px}.exercise-instructions li+li{margin-top:5px}.exercise-catalog-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.exercise-catalog-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.exercise-catalog-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;margin:8px 0;color:var(--ink-soft);font-size:13px;font-weight:700}.exercise-catalog-results{display:grid;gap:8px;max-height:430px;overflow-y:auto;padding-right:3px}.exercise-catalog-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--card-soft)}.exercise-catalog-card strong{display:block;font-size:15px}.exercise-catalog-card p{display:-webkit-box;overflow:hidden;margin:7px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.exercise-catalog-pagination{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:10px;margin-top:12px}.exercise-catalog-pagination>span{color:var(--ink-soft);text-align:center;font-size:12.5px;font-weight:800}.exercise-catalog-source{margin:12px 0 0;color:var(--ink-faint);font-size:11.5px}.participant-exercise-copy{min-width:0;flex:1}.participant-exercise-copy>label{display:block;min-height:28px;cursor:pointer}.participant-exercise-copy>label strong{display:block}@media (max-width: 760px){.nutrition-card-grid{grid-template-columns:1fr}.nutrition-food-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.nutrition-food-row .macro-strip{grid-column:1 / -1;grid-row:2;min-width:0}.nutrition-nutrient-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-builder-item{grid-template-columns:minmax(0,1fr) 78px 45px 38px}.nutrition-meal-builder-head{grid-template-columns:32px minmax(0,1fr) 40px}.nutrition-meal-builder-head>input:nth-of-type(2){grid-column:2 / 3}.macro-strip span{font-size:9px}.training-library-grid,.training-assignment-toolbar{grid-template-columns:1fr}.training-assignment-toolbar .btn{width:100%}.training-assignment-footer{align-items:stretch;flex-direction:column}.training-assignment-footer>div{display:grid;grid-template-columns:1fr 1fr}.training-day-head>div{grid-template-columns:1fr}.training-prescription-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-catalog-filters,.exercise-catalog-card{grid-template-columns:1fr}.exercise-catalog-card>.btn{width:100%}.exercise-catalog-pagination{grid-template-columns:1fr 1fr}.exercise-catalog-pagination>span{grid-column:1 / -1;grid-row:1}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;border:none;cursor:pointer;font-weight:800;font-size:14.5px;padding:12px 18px;min-height:44px;transition:transform .12s ease,background .15s ease,box-shadow .15s ease;text-decoration:none;font-family:var(--font-text)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--green-700);color:#f6f3e8;box-shadow:0 8px 20px #14352847}.btn-primary:hover:not(:disabled){background:var(--green-900)}.btn-secondary{background:var(--card);color:var(--ink);border:1.5px solid var(--line-strong)}.btn-secondary:hover:not(:disabled){background:var(--card-soft)}.btn-quiet{background:transparent;color:var(--green-700)}.btn-quiet:hover:not(:disabled){background:#1c4a3814}.btn-danger{background:#b3402c;color:#fdf1ec}.btn-danger:hover:not(:disabled){background:#93321f}.btn-persimmon{background:var(--persimmon);color:#fff7f2}.btn-persimmon:hover:not(:disabled){background:var(--persimmon-deep)}.btn-sm{padding:8px 13px;min-height:38px;font-size:13.5px;border-radius:12px}.btn-icon{width:44px;height:44px;padding:0;border-radius:14px;background:var(--card);border:1.5px solid var(--line-strong);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.btn-block{width:100%}.btn-pill-dark{background:var(--green-900);color:#f2ede2;border-radius:999px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4.5px 11px;font-size:12.5px;font-weight:800;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}.pill-neutral{background:#ece7da;color:var(--ink-soft)}.pill-positive{background:var(--green-100);color:var(--green-900)}.pill-info{background:var(--blue);color:var(--blue-ink)}.pill-warning{background:var(--sand);color:var(--sand-ink)}.pill-critical{background:var(--red);color:var(--red-ink)}.pill-accent{background:var(--persimmon-100);color:var(--persimmon-deep)}.pill-lavender{background:var(--lavender);color:var(--lavender-ink)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-weight:800;font-size:13px;color:var(--ink)}.field .hint{font-size:12.5px;color:var(--ink-soft)}.input,select.input,textarea.input{width:100%;border-radius:13px;border:1.5px solid var(--line-strong);background:#fffdf8;padding:11.5px 13px;font-size:15px;font-family:inherit;color:var(--ink);min-height:44px}.input:focus{border-color:var(--green-600);outline:none;box-shadow:0 0 0 3px #24604a26}.input[aria-invalid=true]{border-color:#b3402c}.field-error{color:#a03a2a;font-size:12.5px;font-weight:700}.checkbox-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0}.checkbox-row input{width:19px;height:19px;margin-top:2px;accent-color:var(--green-700)}.segmented{display:inline-flex;background:var(--card-soft);border-radius:13px;padding:4px;gap:3px;flex-wrap:wrap}.segmented button{border:none;background:transparent;border-radius:10px;padding:8.5px 13px;min-height:38px;font-weight:800;font-size:13px;color:var(--ink-soft);cursor:pointer}.segmented button[aria-pressed=true]{background:var(--green-700);color:#f2ede2;box-shadow:0 3px 8px #14352840}.segmented.seg-attendance button[aria-pressed=true][data-tone=present]{background:var(--green-600)}.segmented.seg-attendance button[aria-pressed=true][data-tone=excused]{background:var(--sand-ink)}.segmented.seg-attendance button[aria-pressed=true][data-tone=absence]{background:#b3402c}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--card)}table.ledger{width:100%;border-collapse:collapse;min-width:640px;font-size:14px}table.ledger th{text-align:left;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:12px 14px;border-bottom:1px solid var(--line);font-weight:800;white-space:nowrap}table.ledger td{padding:11.5px 14px;border-bottom:1px solid var(--line);vertical-align:middle}table.ledger tr:last-child td{border-bottom:none}table.ledger tr.clickable{cursor:pointer}table.ledger tr.clickable:hover td{background:var(--card-soft)}.sched-row{display:grid;grid-template-columns:86px 1fr auto;gap:14px;align-items:center;background:var(--card);border-radius:18px;padding:13px 16px;box-shadow:var(--shadow-card);border:1px solid rgba(213,202,178,.35)}.sched-row.needs-action{border-color:#e06a417a;background:linear-gradient(135deg,rgba(251,228,211,.5),var(--card) 62%)}.sched-row.done{opacity:.75}.sched-row.cancelled{opacity:.55}.sched-time{font-family:var(--font-display);font-weight:800;font-size:17px}.sched-time small{display:block;font-family:var(--font-text);font-weight:700;font-size:11.5px;color:var(--ink-faint)}.sched-main{min-width:0}.sched-name{font-weight:800}.sched-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;align-items:center;font-size:12.5px;color:var(--ink-soft)}.sched-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 640px){.sched-row{grid-template-columns:64px 1fr}.sched-actions{grid-column:1 / -1;justify-content:flex-start}}.meter{display:flex;flex-direction:column;gap:6px}.meter-track{height:10px;border-radius:999px;background:var(--canvas-deep);overflow:hidden}.meter-fill{height:100%;border-radius:999px;background:var(--green-600);transition:width .3s ease}.meter-fill.warn{background:var(--persimmon)}.meter-fill.danger{background:#b3402c}.meter-label{display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;color:var(--ink-soft)}.avatar{width:40px;height:40px;border-radius:14px;background:var(--lavender);color:var(--lavender-ink);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0}.avatar.green{background:var(--green-100);color:var(--green-900)}.avatar.peach{background:var(--persimmon-100);color:var(--persimmon-deep)}.avatar.blue{background:var(--blue);color:var(--blue-ink)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#22301f66;z-index:90;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease-out}.modal{background:var(--card);border-radius:26px 26px 0 0;width:100%;max-width:620px;max-height:88vh;overflow:auto;padding:22px 22px 30px;box-shadow:var(--shadow-pop);animation:slideUp .22s cubic-bezier(.23,1,.32,1)}@media (min-width: 700px){.overlay{align-items:center;padding:20px}.modal{border-radius:26px}}@keyframes slideUp{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.pwa-install-intro{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:center;padding:14px;border-radius:18px;background:linear-gradient(135deg,var(--green-50),var(--card-soft));border:1px solid rgba(28,74,56,.12)}.pwa-install-app-icon,.pwa-install-card-icon{display:grid;place-items:center;padding:5px;border-radius:16px;background:#fdfbf5c7;box-shadow:0 7px 18px #22301f1a}.pwa-install-copy strong{display:block;font-family:var(--font-display);font-size:17px}.pwa-install-copy p{margin:3px 0 0;color:var(--ink-soft);font-size:13.5px;font-weight:700}.pwa-install-benefits{display:grid;gap:8px;margin:16px 0}.pwa-install-benefit{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 13px;border-radius:14px;background:var(--card-soft);color:var(--ink);font-size:14px}.pwa-install-benefit>span{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border-radius:50%;background:var(--green-100);color:var(--green-900);font-weight:900}.pwa-install-steps{list-style:none;display:grid;gap:10px;margin:16px 0;padding:0}.pwa-install-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:11px;min-height:52px;padding:10px 12px;border-radius:15px;background:var(--card-soft);color:var(--ink-soft)}.pwa-install-step-number{width:32px;height:32px;display:grid;place-items:center;border-radius:11px;background:var(--green-900);color:#f6f3e8;font-family:var(--font-display);font-weight:800}.pwa-install-actions{display:grid;gap:4px;margin-top:16px}.pwa-install-status{margin:12px 0 0;color:var(--red-ink);font-size:13px;font-weight:700}.pwa-install-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;background:linear-gradient(135deg,var(--green-50),var(--card) 70%)}.pwa-install-card-copy h2{font-size:17px;margin:0}.pwa-install-card-copy p{margin:4px 0 0;color:var(--ink-soft);font-size:13.5px;font-weight:700}@media (max-width: 560px){.pwa-install-card{grid-template-columns:auto minmax(0,1fr)}.pwa-install-card>.btn{grid-column:1 / -1;width:100%}.pwa-install-intro{padding:12px}.pwa-install-copy strong{font-size:16px}}.pwa-update-prompt{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:85;width:min(480px,calc(100vw - 24px));transform:translate(-50%);display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:14px;color:#f6f3e8;background:#143528f7;border:1px solid rgba(255,255,255,.16);border-radius:22px;box-shadow:var(--shadow-pop);backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08);animation:fadeIn .18s ease-out}.pwa-update-icon{width:50px;height:50px;display:grid;place-items:center;align-self:start;border-radius:16px;background:#fdfbf51f}.pwa-update-copy{min-width:0}.pwa-update-copy>span{display:block;margin-bottom:2px;color:#f5b08f;font-size:10.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pwa-update-copy>strong{display:block;font-family:var(--font-display);font-size:16px}.pwa-update-copy>p{margin:3px 0 0;color:#f6f3e8c7;font-size:12.5px;line-height:1.4}.pwa-update-copy>.pwa-update-error{color:#ffd6c8;font-weight:800}.pwa-update-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:7px;padding-top:1px}.pwa-update-actions .btn{min-height:40px}.pwa-update-actions .btn-quiet{color:#f6f3e8}.pwa-update-actions .btn-quiet:hover:not(:disabled){background:#ffffff1a}@media (min-width: 901px){.pwa-update-prompt--trainer{left:auto;right:24px;bottom:24px;transform:none}}@media (max-width: 480px){.pwa-update-prompt{padding:13px}.pwa-update-actions{display:grid;grid-template-columns:1fr 1fr}.pwa-update-actions .btn{width:100%;padding-inline:10px}}.toasts{position:fixed;bottom:90px;left:50%;transform:translate(-50%);z-index:120;display:flex;flex-direction:column;gap:8px;width:min(480px,calc(100vw - 32px))}.toast{background:var(--green-900);color:#f2ede2;border-radius:16px;padding:13px 16px;box-shadow:var(--shadow-pop);display:flex;align-items:center;gap:12px;justify-content:space-between;animation:slideUp .22s ease-out;font-weight:700;font-size:14px}.toast.error{background:#7e2c1c}.toast button{background:#ffffff24;border:none;color:inherit;border-radius:10px;padding:7px 12px;font-weight:800;cursor:pointer}.empty{text-align:center;padding:44px 20px;color:var(--ink-soft)}.empty .art{font-size:34px;margin-bottom:10px}.empty h3{color:var(--ink);margin-bottom:5px}.skeleton{border-radius:14px;background:linear-gradient(90deg,#ece6d6 25%,#f3eee1,#ece6d6 75%);background-size:200% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.banner{border-radius:16px;padding:13px 16px;font-size:14px;font-weight:700;display:flex;gap:10px;align-items:flex-start}.banner.warn{background:var(--sand);color:var(--sand-ink)}.banner.crit{background:var(--red);color:var(--red-ink)}.banner.info{background:var(--blue);color:var(--blue-ink)}.banner.offline{background:var(--ink);color:var(--canvas);justify-content:center;position:sticky;top:0;z-index:70}.tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin-bottom:18px;overflow-x:auto;padding-bottom:0}.tab{border:none;background:none;cursor:pointer;padding:11px 14px;font-weight:800;font-size:14px;color:var(--ink-soft);border-radius:12px 12px 0 0;border-bottom:3px solid transparent;white-space:nowrap;margin-bottom:-2px}.tab[aria-selected=true]{color:var(--green-900);border-bottom-color:var(--persimmon);background:#e06a4112}.kv{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:14px}.kv:last-child{border-bottom:none}.kv .k{color:var(--ink-soft);font-weight:700}.kv .v{font-weight:800;text-align:right}.money{font-variant-numeric:tabular-nums;font-weight:800}.money.pos{color:var(--green-700)}.money.neg{color:#a03a2a}.attention-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:var(--card);box-shadow:var(--shadow-card);border:1px solid rgba(213,202,178,.35)}.attention-item+.attention-item{margin-top:10px}.surface-attention{border-color:#e06a417a;background:linear-gradient(135deg,rgba(251,228,211,.52),var(--card) 62%)}.surface-critical{border-color:#b3402c70;background:linear-gradient(135deg,rgba(249,222,214,.56),var(--card) 62%)}.surface-positive{border-color:#24604a6b;background:linear-gradient(135deg,rgba(220,237,218,.56),var(--card) 62%)}.surface-neutral{border-color:var(--line-strong)}.attention-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;font-size:17px;flex-shrink:0}.timeline-dot{width:11px;height:11px;border-radius:50%;background:var(--green-600);flex-shrink:0;margin-top:6px}.progress-steps{display:flex;gap:6px}.progress-steps span{height:6px;flex:1;border-radius:999px;background:var(--canvas-deep)}.progress-steps span.on{background:var(--green-600)}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.choice-option{display:flex;align-items:flex-start;gap:9px;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:var(--card-soft);cursor:pointer;color:var(--ink-soft);font-size:13.5px;font-weight:700}.choice-option:has(input:checked){border-color:var(--green-600);background:var(--green-50);color:var(--ink)}.choice-option input{margin-top:2px;accent-color:var(--green-700)}.range-field{display:flex;align-items:center;gap:14px}.range-field input{flex:1;accent-color:var(--green-700)}.range-value{min-width:58px;padding:8px 10px;border-radius:12px;background:var(--green-900);color:#fff;text-align:center;font-family:var(--font-display);font-weight:800}@media (max-width: 560px){.choice-grid{grid-template-columns:1fr}}.print-only{display:none!important}.anamnesis-report{color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:none}.anamnesis-report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:16px;border-bottom:2px solid var(--ink)}.anamnesis-report-brand{display:block;margin-bottom:5px;color:var(--green-700);font-family:var(--font-display);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.anamnesis-report-head h2{font-size:25px}.anamnesis-report-head p{max-width:660px;margin:6px 0 0;color:var(--ink-soft);font-size:13px}.anamnesis-report-status{display:grid;justify-items:end;gap:2px;flex-shrink:0}.anamnesis-report-status strong{color:var(--green-700)}.anamnesis-report-status span{color:var(--ink-faint);font-size:12px;font-weight:700}.anamnesis-report-identity{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.anamnesis-report-identity div{display:grid;gap:2px}.anamnesis-report-identity span{color:var(--ink-faint);font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.anamnesis-report-identity strong{font-size:13.5px}.anamnesis-report-alert{display:grid;gap:3px;margin:14px 0;padding:12px 14px;border:1px solid #dfbd77;border-radius:13px;background:var(--sand);color:var(--sand-ink)}.anamnesis-report-alert span{font-size:12.5px}.anamnesis-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.anamnesis-report-section{border:1px solid var(--line);border-radius:14px;overflow:hidden;break-inside:avoid}.anamnesis-report-section h3{padding:10px 12px;background:var(--card-soft);border-bottom:1px solid var(--line);font-size:14px}.anamnesis-report-section dl{margin:0;padding:2px 12px 8px}.anamnesis-report-row{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(0,1.1fr);gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}.anamnesis-report-row:last-child{border-bottom:none}.anamnesis-report-row dt{color:var(--ink-soft);font-weight:700}.anamnesis-report-row dd{margin:0;overflow-wrap:anywhere;font-weight:800;text-align:right}.anamnesis-report-foot{display:flex;flex-wrap:wrap;gap:5px 18px;margin-top:15px;padding-top:12px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:11.5px;font-weight:700}.anamnesis-report-foot p{flex-basis:100%;margin:3px 0 0;font-weight:600}@media (max-width: 760px){.anamnesis-report{padding:16px}.anamnesis-report-head,.anamnesis-report-identity{grid-template-columns:1fr}.anamnesis-report-head{flex-direction:column}.anamnesis-report-status{justify-items:start}.anamnesis-report-grid{grid-template-columns:1fr}}@media print{@page{size:A4 portrait;margin:10mm}html,body{width:100%;background:#fff!important;color:#172117!important}body *{visibility:hidden!important}.print-only{display:block!important}.anamnesis-print-root,.anamnesis-print-root *{visibility:visible!important}.anamnesis-print-root{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;min-height:0;padding:0;border:none;border-radius:0;background:#fff!important;color:#172117!important}.anamnesis-report-head{padding-bottom:10px}.anamnesis-report-head h2{font-size:20px}.anamnesis-report-identity{padding:9px 0}.anamnesis-report-grid{gap:8px;margin-top:9px}.anamnesis-report-section{border-color:#cfcfcf}.anamnesis-report-section h3{padding:6px 8px;background:#f1f1ed!important;border-color:#cfcfcf;font-size:11.5px}.anamnesis-report-section dl{padding:1px 8px 4px}.anamnesis-report-row{grid-template-columns:.9fr 1.1fr;gap:8px;padding:4px 0;border-color:#dedede;font-size:9.5px;line-height:1.25}.anamnesis-report-alert{margin:8px 0;padding:7px 9px;border-color:#a9863e;background:#faf1da!important;font-size:10px}.anamnesis-report-alert span{font-size:9.5px}.anamnesis-report-foot{margin-top:8px;padding-top:7px;border-color:#cfcfcf;font-size:8.5px}}
