@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}}.progress-eyebrow{display:block;margin-bottom:4px;color:var(--ink-faint);font-size:10.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.participant-today-actions{padding:16px;color:#f8f3e8;background:linear-gradient(140deg,var(--green-900),#255742);border-color:#ffffff14;overflow:hidden}.participant-today-actions-copy{margin:0 2px 12px}.participant-today-actions-copy .progress-eyebrow{color:#f8f3e89e}.participant-today-actions-copy h2{font-size:19px}.participant-today-action-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:9px}.participant-today-action-grid.is-single{grid-template-columns:1fr}.participant-today-action-grid .btn{min-height:72px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:11px 13px;border-radius:17px;text-align:left;white-space:normal}.participant-today-action-grid .btn>span:first-child{flex:0 0 auto;font-size:21px}.participant-today-action-grid .btn strong,.participant-today-action-grid .btn small{display:block}.participant-today-action-grid .btn strong{line-height:1.2}.participant-today-action-grid .btn small{margin-top:3px;opacity:.72;font-size:10.5px;font-weight:800}.participant-today-action-grid .today-primary-action{color:var(--green-900);background:#f8f3e8}.participant-today-action-grid .today-primary-action:hover:not(:disabled){background:#fffdf8}.participant-today-action-grid .today-primary-action:disabled{color:#22301f94;background:#f8f3e8b3}.participant-today-action-grid .today-food-action{color:#f8f3e8;background:#ffffff1c;border-color:#fff3}.package-renewal-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding:12px 13px;border-radius:16px;background:var(--persimmon-100)}.package-renewal-cta strong,.package-renewal-cta span{display:block}.package-renewal-cta>div>span{margin-top:2px;color:var(--ink-soft);font-size:11.5px;font-weight:700}.package-renewal-trainer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:14px;padding:13px;border-radius:17px;background:linear-gradient(135deg,var(--green-50),var(--card));border:1px solid rgba(36,96,74,.2)}.package-renewal-trainer-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:#fff;background:var(--green-700);font-size:21px;font-weight:900}.package-renewal-trainer strong,.package-renewal-trainer span{display:block}.package-renewal-trainer span{margin-top:2px;color:var(--ink-soft);font-size:11.5px;font-weight:700}.package-renewal-trainer p{margin:6px 0 0;color:var(--ink-soft);font-size:12px}.package-renewal-trainer-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.weekly-summary-card{padding:17px}.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-heading-row h2{margin:0}.weekly-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:13px}.weekly-summary-grid>div{min-width:0;padding:10px 5px;border-radius:14px;background:var(--card-soft);text-align:center}.weekly-summary-grid strong,.weekly-summary-grid span{display:block}.weekly-summary-grid strong{color:var(--green-900);font-family:var(--font-display);font-size:18px}.weekly-summary-grid span{margin-top:2px;color:var(--ink-faint);font-size:9.5px;font-weight:800}.weekly-summary-checkin{width:100%;min-height:54px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:9px 11px;border:0;border-radius:15px;color:var(--green-900);background:var(--green-50);cursor:pointer;text-align:left}.weekly-summary-checkin>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:#fff;background:var(--green-700);font-weight:900}.weekly-summary-checkin strong,.weekly-summary-checkin small{display:block}.weekly-summary-checkin small{color:var(--ink-soft);font-size:10.5px;font-weight:700}.progress-page-head{margin-bottom:14px}.progress-hero{min-height:178px;display:grid;grid-template-columns:minmax(170px,.72fr) minmax(240px,1.28fr);align-items:center;gap:18px;padding:22px;color:#f7f3e8;background:linear-gradient(145deg,var(--green-900),#275e48);border-color:#ffffff14;overflow:hidden}.progress-hero .progress-eyebrow{color:#f7f3e899}.progress-hero-copy{min-width:0}.progress-main-number{display:block;font-family:var(--font-display);font-size:clamp(28px,7vw,44px);line-height:1.05}.progress-hero-copy>span:last-child{display:block;margin-top:7px;color:#f7f3e8ad;font-size:11.5px;font-weight:800}.progress-hero-copy>span.positive{color:#cae7c7}.progress-chart{min-width:0}.progress-chart svg{display:block;width:100%;height:104px;overflow:visible}.progress-chart-grid{fill:none;stroke:#ffffff2e;stroke-width:1}.progress-chart-line{fill:none;stroke:#f39a74;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.progress-chart-dot{fill:#f8f3e8;stroke:#e06a41;stroke-width:2;vector-effect:non-scaling-stroke}.progress-chart-labels{display:flex;justify-content:space-between;color:#f7f3e88f;font-size:9.5px;font-weight:800}.weekly-checkin-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;margin-top:14px;padding:18px}.weekly-checkin-card.is-due{background:linear-gradient(135deg,var(--persimmon-100),var(--card) 72%);border-color:#e06a414d}.weekly-checkin-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;color:#fff;background:var(--persimmon);font-size:20px;font-weight:900}.weekly-checkin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.weekly-checkin-heading h2{font-size:19px}.weekly-checkin-copy>p{margin:7px 0 12px;color:var(--ink-soft);font-size:13px;font-weight:700}.progress-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.progress-action-card{min-height:88px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;border:1px solid rgba(213,202,178,.55);border-radius:19px;color:var(--ink);background:var(--card);box-shadow:var(--shadow-card);cursor:pointer;text-align:left}.progress-action-card:hover{border-color:#24604a61;transform:translateY(-1px)}.progress-action-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;color:#fff;background:var(--green-700);font-size:20px;font-weight:900}.progress-action-icon.photo{color:var(--persimmon-deep);background:var(--persimmon-100)}.progress-action-card strong,.progress-action-card small{display:block}.progress-action-card small{margin-top:3px;color:var(--ink-soft);font-size:11px;font-weight:700}.progress-history-list{display:grid;gap:10px}.progress-history-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;padding:13px}.progress-history-list .card+.card{margin-top:0}.progress-history-date{align-self:start;display:grid;justify-items:center;padding:8px 3px;border-radius:14px;background:var(--green-50);color:var(--green-900)}.progress-history-date strong{font-family:var(--font-display);font-size:23px;line-height:1}.progress-history-date span{margin-top:3px;font-size:10px;font-weight:900;text-transform:uppercase}.progress-history-content{min-width:0}.progress-measure-chip-row{display:flex;flex-wrap:wrap;gap:7px}.progress-measure-chip{min-width:95px;padding:7px 9px;border-radius:12px;background:var(--card-soft)}.progress-measure-chip small,.progress-measure-chip strong{display:block}.progress-measure-chip small{color:var(--ink-faint);font-size:9.5px;font-weight:800}.progress-measure-chip strong{margin-top:1px;font-size:12.5px}.progress-photo-strip{display:flex;gap:7px;margin-top:9px;overflow-x:auto;padding-bottom:2px}.progress-photo-strip a{width:94px;aspect-ratio:4/5;flex:0 0 94px;overflow:hidden;border-radius:13px;background:var(--canvas-deep)}.progress-photo-strip img{width:100%;height:100%;display:block;object-fit:cover}.progress-note{margin:8px 0 0;color:var(--ink-soft);font-size:12.5px}.progress-history-meta{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;color:var(--ink-faint);font-size:10.5px;font-weight:800}.progress-privacy-note{margin:16px 4px 0;color:var(--ink-faint);font-size:11.5px;font-weight:700}.modal-lead{margin:-6px 0 16px;color:var(--ink-soft);font-size:13px;font-weight:700}.measurement-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:16px}.progress-photo-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.progress-photo-picker{position:relative;min-height:138px;display:grid;place-items:center;align-content:center;gap:6px;overflow:hidden;border:1px dashed var(--line-strong);border-radius:16px;color:var(--ink-soft);background:var(--card-soft);cursor:pointer}.progress-photo-picker>span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--green-700);font-size:20px}.progress-photo-picker strong{position:relative;z-index:1;padding:2px 6px;border-radius:8px;font-size:11.5px}.progress-photo-picker.has-photo strong{color:#fff;background:#143528c7}.progress-photo-picker img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.progress-photo-picker input{position:absolute;width:1px;height:1px;opacity:0}.consent-check{min-height:60px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:flex-start;padding:11px 12px;border-radius:15px;background:var(--green-50);cursor:pointer}.consent-check input{width:21px;height:21px;margin-top:1px;accent-color:var(--green-700)}.consent-check strong,.consent-check small{display:block}.consent-check small{margin-top:3px;color:var(--ink-soft);font-size:10.5px;line-height:1.4}.checkin-ratings{display:grid;gap:8px;margin-bottom:15px}.checkin-rating-row{display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border-radius:15px;background:var(--card-soft)}.checkin-rating-row strong,.checkin-rating-row span{display:block}.checkin-rating-row span{color:var(--ink-soft);font-size:10.5px;font-weight:700}.checkin-rating{display:flex;gap:4px}.checkin-rating button{width:36px;height:36px;border:1px solid var(--line-strong);border-radius:11px;color:var(--ink-soft);background:var(--card);cursor:pointer;font-weight:900}.checkin-rating button.selected{color:#fff;border-color:var(--green-700);background:var(--green-700)}.checkin-rating button.selected.warning{border-color:var(--persimmon-deep);background:var(--persimmon-deep)}@media (max-width: 560px){.participant-today-action-grid{grid-template-columns:1fr}.participant-today-action-grid .btn{min-height:66px}.package-renewal-cta{align-items:stretch;flex-direction:column}.package-renewal-cta .btn{width:100%}.package-renewal-trainer{grid-template-columns:auto minmax(0,1fr)}.package-renewal-trainer-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr}.progress-hero{grid-template-columns:1fr;gap:4px;min-height:0;padding:18px}.progress-chart svg{height:86px}.weekly-checkin-card{grid-template-columns:1fr}.weekly-checkin-icon{width:38px;height:38px}.progress-action-grid{grid-template-columns:1fr}.progress-action-card{min-height:78px}.measurement-form-grid,.checkin-rating-row{grid-template-columns:1fr}.checkin-rating{justify-content:space-between}.checkin-rating button{width:42px;height:42px}.modal-actions{display:grid;grid-template-columns:1fr 1fr}.modal-actions .btn{width:100%;padding-inline:10px}}@media (max-width: 380px){.weekly-summary-grid{grid-template-columns:1fr 1fr}.progress-photo-picker-grid{gap:5px}.progress-photo-picker{min-height:118px}.progress-history-card{grid-template-columns:45px minmax(0,1fr);padding:10px}}.trainer-progress-workspace{display:grid;gap:16px}.trainer-progress-workspace .card+.card{margin-top:0}.trainer-progress-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.trainer-progress-metric{min-height:130px;display:grid;align-content:center;gap:3px}.trainer-progress-metric>span{color:var(--ink-soft);font-size:11.5px;font-weight:800}.trainer-progress-metric>strong{color:var(--green-900);font-family:var(--font-display);font-size:30px}.trainer-progress-metric>small{color:var(--ink-faint);font-size:11px;font-weight:700}.trainer-progress-main{gap:16px}.trainer-progress-main>div{display:grid;align-content:start;gap:16px}.trainer-progress-trend-card{min-height:270px}.progress-trainer-chart{margin-top:18px;padding:12px 14px;border-radius:17px;color:#f7f3e8;background:var(--green-900)}.progress-trainer-chart svg{width:100%;height:130px;display:block;overflow:visible}.progress-trainer-chart-empty{min-height:150px;display:grid;place-items:center;margin-top:16px;border-radius:17px;color:var(--ink-faint);background:var(--card-soft);font-size:12.5px;font-weight:700;text-align:center}.trainer-progress-entry-list{display:grid;gap:8px;margin-top:12px}.trainer-progress-entry{padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--card-soft)}.trainer-progress-entry>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.trainer-progress-entry>div:first-child span{color:var(--ink-faint);font-size:10.5px;font-weight:800}.trainer-progress-entry>p{margin:8px 0 0;color:var(--ink-soft);font-size:12.5px}.checkin-settings-card>p{margin:7px 0 14px;color:var(--ink-soft);font-size:12.5px}.checkin-settings-card .push-preference-row{margin-bottom:12px}.trainer-checkin-list{display:grid;gap:8px;margin-top:12px}.trainer-checkin-card{padding:11px;border:1px solid var(--line);border-radius:16px;background:var(--card-soft)}.trainer-checkin-card.needs-review{border-color:#e06a4152;background:linear-gradient(135deg,var(--persimmon-100),var(--card) 82%)}.trainer-checkin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.trainer-checkin-head strong,.trainer-checkin-head span{display:block}.trainer-checkin-head span{margin-top:2px;color:var(--ink-faint);font-size:10.5px;font-weight:700}.trainer-checkin-scores{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.trainer-checkin-card>p{margin:8px 0;color:var(--ink-soft);font-size:12px}.trainer-checkin-alert{padding:8px 9px;border-radius:11px;color:var(--red-ink)!important;background:var(--red)}.trainer-checkin-feedback{color:var(--blue-ink)!important;background:var(--blue);padding:8px 9px;border-radius:11px}.trainer-checkin-card>.btn{margin-top:4px}.trainer-progress-photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:13px}.trainer-progress-photo-grid a{position:relative;min-height:210px;overflow:hidden;border-radius:16px;color:#fff;background:var(--canvas-deep)}.trainer-progress-photo-grid img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .18s ease}.trainer-progress-photo-grid a:hover img{transform:scale(1.025)}.trainer-progress-photo-grid a>span{position:absolute;left:8px;right:8px;bottom:8px;padding:7px 8px;border-radius:10px;background:#143528d6;font-size:9.5px;font-weight:700}.trainer-progress-photo-grid a>span strong{display:block;font-size:11.5px}.trainer-checkin-review-summary{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 13px}.trainer-checkin-review-summary+.banner{margin-bottom:13px}.trainer-checkin-participant-note{margin-bottom:13px;padding:11px 12px;border-radius:14px;background:var(--card-soft)}.trainer-checkin-participant-note p{margin:4px 0 0;color:var(--ink-soft);font-size:12.5px}.trainer-weekly-summary{margin-bottom:18px;padding:17px 18px}.trainer-weekly-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.trainer-weekly-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:13px}.trainer-weekly-summary-grid>div{min-width:0;padding:9px 10px;border-radius:14px;background:var(--card-soft)}.trainer-weekly-summary-grid strong,.trainer-weekly-summary-grid span{display:block}.trainer-weekly-summary-grid strong{color:var(--green-900);font-family:var(--font-display);font-size:21px}.trainer-weekly-summary-grid span{color:var(--ink-faint);font-size:10px;font-weight:800}@media (max-width: 1100px){.trainer-progress-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.trainer-weekly-summary-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 700px){.trainer-progress-summary-grid{grid-template-columns:1fr}.trainer-progress-metric{min-height:104px}.trainer-progress-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-progress-photo-grid a{min-height:230px}.trainer-weekly-summary-grid{grid-template-columns:repeat(2,1fr)}.trainer-weekly-summary-head{align-items:stretch;flex-direction:column}.trainer-weekly-summary-head .pill{align-self:flex-start}}@media (max-width: 420px){.trainer-progress-photo-grid a{min-height:190px}.trainer-progress-entry>div:first-child{align-items:flex-start;flex-direction:column}}.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)}.responsive-data-cards{display:none}.data-list-filters{display:flex;flex-wrap:wrap;gap:10px}.data-list-filters>.input:first-child{max-width:300px}.data-list-filters>select.input{max-width:170px}.mobile-data-card{min-width:0;padding:15px;border:1px solid rgba(213,202,178,.62);border-radius:20px;background:linear-gradient(145deg,#fffdf8,var(--card) 72%);box-shadow:0 8px 24px #1f322712}.mobile-data-card.is-critical{border-color:#b3402c47;background:linear-gradient(145deg,#fcebe4b8,#fffdf8 72%)}.mobile-data-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.mobile-data-card-title{min-width:0}.mobile-data-card-title h3{margin:0;font-size:16px;line-height:1.25}.mobile-data-card-title p{overflow:hidden;margin:3px 0 0;color:var(--ink-soft);font-size:12.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.mobile-data-person{display:flex;align-items:center;gap:10px;min-width:0}.mobile-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.mobile-data-field{min-width:0;padding:9px 10px;border-radius:13px;background:#f2ede094}.mobile-data-field-wide{grid-column:1 / -1}.mobile-data-label{display:block;margin-bottom:3px;color:var(--ink-faint);font-size:10px;font-weight:800;letter-spacing:.055em;line-height:1.2;text-transform:uppercase}.mobile-data-value{min-width:0;color:var(--ink);font-size:13px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}.mobile-data-value .pill{max-width:100%}.mobile-data-card-cta{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:0 11px;border-radius:13px;background:var(--green-50);color:var(--green-900);font-size:13px;font-weight:800}.mobile-data-card-cta:hover{background:var(--green-100)}.mobile-data-card-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:10px}.mobile-data-card-actions .btn{min-height:44px}@media (max-width: 900px){.responsive-data-table{display:none}.responsive-data-cards{display:grid;gap:12px}.data-list-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.48fr);gap:9px}.data-list-filters>.input:first-child,.data-list-filters>select.input{max-width:none}.student-quick-filters{display:flex;width:100%}.student-quick-filters button{flex:1 1 auto}}@media (max-width: 360px){.data-list-filters,.mobile-data-grid{grid-template-columns:1fr}.mobile-data-field-wide{grid-column:auto}}.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)}.push-settings-card{margin-top:14px}.push-settings-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center}.push-settings-head h2{margin:0 0 3px}.push-settings-head p{margin:0;color:var(--ink-soft);font-size:13.5px}.push-settings-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:var(--green-100);color:var(--green-700);font-size:22px;box-shadow:inset 0 0 0 1px #24604a14}.push-settings-card>.banner{margin-top:14px}.push-preference-list{display:grid;gap:8px;margin-top:16px}.push-preference-row{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 12px;border-radius:14px;background:var(--card-soft);color:var(--ink-soft);font-size:13.5px;font-weight:800}.push-preference-row input{width:22px;height:22px;flex:0 0 auto;accent-color:var(--green-700)}.push-settings-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.push-settings-message{margin:12px 0 0;color:var(--green-700);font-size:13px;font-weight:800}.push-settings-note{margin:12px 0 0;color:var(--ink-faint);font-size:12px;line-height:1.45}@media (max-width: 520px){.push-settings-head{grid-template-columns:44px minmax(0,1fr)}.push-settings-head>.pill{grid-column:2;justify-self:start}.push-settings-actions .btn{flex:1 1 180px;min-height:46px}}.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}}.solo-topbar{border-bottom-color:#b296ce59}.solo-page-head h1{margin-top:2px}.solo-page-head .sub{max-width:460px;margin-bottom:0}.solo-home-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:2px 0 18px}.solo-home-intro h1{margin:2px 0 4px}.solo-home-intro p{margin:0;color:var(--ink-soft);font-size:14px;font-weight:700}.solo-quick-card{margin-bottom:22px}.solo-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.solo-quick-actions .btn{min-height:70px;justify-content:flex-start;padding:12px 14px;text-align:left}.solo-quick-actions .btn>span:first-child{width:32px;flex:0 0 32px;text-align:center;font-size:20px}.solo-quick-actions .btn>span:last-child{display:grid;gap:2px}.solo-quick-actions strong{font-size:13.5px}.solo-quick-actions small{color:var(--ink-soft);font-size:11.5px;font-weight:700;line-height:1.3}.solo-quick-actions .btn-primary small{color:#f6f3e8b8}.solo-week-section{margin-bottom:22px}.solo-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.solo-section-heading h2{margin-top:2px;font-size:20px}.solo-section-heading>a{padding:7px 0;font-size:12.5px;font-weight:800}.solo-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.solo-stat-grid .card{display:grid;justify-items:start;gap:2px;padding:14px}.solo-stat-grid .card+.card{margin-top:0}.solo-stat-grid span{font-size:19px}.solo-stat-grid strong{margin-top:2px;font-family:var(--font-display);font-size:25px;line-height:1}.solo-stat-grid small{color:var(--ink-soft);font-size:10.5px;font-weight:800}.solo-first-step{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px}.solo-first-step>span{font-size:28px}.solo-first-step h3{margin-bottom:3px}.solo-first-step p{margin:0;color:var(--ink-soft);font-size:13px}.solo-recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.solo-recent-card{display:flex;align-items:center;gap:10px;min-width:0;padding:13px}.solo-recent-card+.solo-recent-card{margin-top:0}.solo-recent-card>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:11px;background:var(--green-50)}.solo-recent-card>img{width:42px;height:42px;flex:0 0 42px;border-radius:12px;object-fit:cover}.solo-recent-card>div{display:grid;min-width:0;gap:2px}.solo-recent-card strong,.solo-recent-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solo-recent-card small{color:var(--ink-soft);font-size:11px;font-weight:700}.solo-filter-row{display:flex;justify-content:flex-end;margin:-8px 0 12px}.solo-filter-row label{display:flex;align-items:center;gap:7px;color:var(--ink-soft);font-size:12.5px;font-weight:800;cursor:pointer}.solo-filter-row input{width:18px;height:18px;accent-color:var(--green-700)}.solo-plan-grid{display:grid;gap:12px}.solo-plan-card+.solo-plan-card{margin-top:0}.solo-plan-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.solo-plan-title-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.solo-plan-title-row h2{font-size:20px}.solo-plan-card-head p{margin:4px 0 0;color:var(--ink-soft);font-size:13px;font-weight:700}.solo-plan-facts{display:flex;flex-shrink:0;gap:6px}.solo-plan-facts span{min-width:64px;padding:7px 9px;border-radius:12px;background:var(--card-soft);color:var(--ink-soft);text-align:center;font-size:10.5px;font-weight:800}.solo-plan-facts strong{display:block;color:var(--ink);font-family:var(--font-display);font-size:17px}.solo-day-list{display:grid;gap:7px;margin-top:14px}.solo-day-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card-soft)}.solo-day-row>div{display:grid;gap:2px;min-width:0}.solo-day-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}.solo-day-row span{color:var(--ink-soft);font-size:11.5px;font-weight:700}.solo-plan-notes{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--green-50);color:var(--ink-soft);font-size:12.5px;white-space:pre-wrap}.solo-plan-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.solo-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.solo-journal-list{display:grid;gap:10px}.solo-log-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:11px;padding:14px}.solo-log-card+.solo-log-card{margin-top:0}.solo-log-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--green-50);font-size:20px}.solo-log-copy{display:grid;min-width:0;gap:7px}.solo-log-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.solo-log-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solo-log-title>span{flex-shrink:0;color:var(--ink-faint);font-size:10.5px;font-weight:800}.solo-log-copy>p{margin:0;color:var(--ink-soft);font-size:12px;font-weight:700}.solo-log-meta{display:flex;flex-wrap:wrap;gap:5px}.solo-log-note{padding-top:2px;white-space:pre-wrap}.solo-food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.solo-food-card{overflow:hidden;padding:0}.solo-food-card+.solo-food-card{margin-top:0}.solo-food-card>img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;background:var(--card-soft)}.solo-food-card>div{display:grid;gap:8px;padding:13px}.solo-food-card p{margin:0;color:var(--ink-soft);font-size:12.5px}.solo-food-card .btn{justify-self:start}.solo-privacy-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start}.solo-privacy-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:var(--green-50);font-size:21px}.solo-privacy-card h2{margin-bottom:5px}.solo-privacy-card p{margin:0;color:var(--ink-soft);font-size:13.5px;line-height:1.5}.solo-relationship-list{display:grid;gap:8px}.solo-relationship-list button{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card-soft);color:var(--ink);text-align:left;cursor:pointer}.solo-relationship-list button>span:nth-child(2){display:grid;gap:2px}.solo-relationship-list small{color:var(--ink-soft);font-weight:700}@media (max-width: 560px){.solo-home-intro{align-items:flex-start}.solo-home-intro>.pill{display:none}.solo-quick-actions,.solo-food-grid,.solo-recent-grid{grid-template-columns:1fr}.solo-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.solo-first-step{grid-template-columns:38px minmax(0,1fr)}.solo-first-step>.btn{grid-column:1 / -1;width:100%}.solo-plan-card-head{flex-direction:column}.solo-plan-facts{width:100%}.solo-plan-facts span{flex:1}.solo-log-card{grid-template-columns:38px minmax(0,1fr)}.solo-log-icon{width:38px;height:38px}.solo-log-card>.btn{grid-column:2;justify-self:start}.solo-log-title{align-items:flex-start;flex-direction:column;gap:2px}.solo-modal-actions{display:grid;grid-template-columns:1fr 1fr}.solo-modal-actions .btn{width:100%}}.calendar-toolbar,.calendar-navigation{display:flex;align-items:center;gap:8px}.calendar-toolbar{justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.calendar-navigation .btn{min-width:44px;min-height:44px}.calendar-day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-day-strip button{position:relative;display:grid;place-items:center;gap:4px;min-height:72px;padding:8px 2px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink-soft);cursor:pointer}.calendar-day-strip button>span:first-child{font-size:12px}.calendar-day-strip button strong{font-family:var(--font-display);font-size:20px}.calendar-day-strip button[aria-pressed=true]{background:var(--green-700);color:var(--card);border-color:var(--green-700)}.calendar-today-dot{position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:currentColor}.calendar-agenda-count{color:var(--ink-soft);font-size:13px;margin:16px 0 10px}.calendar-agenda{display:grid;gap:12px}.calendar-agenda-card+.calendar-agenda-card{margin-top:0}.calendar-agenda-card.is-cancelled{opacity:.7}.calendar-agenda-top{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px}.calendar-agenda-time{font-family:var(--font-display);font-size:20px;font-weight:700}.calendar-agenda-time span{display:block;color:var(--ink-soft);font-family:var(--font-text);font-size:12px;font-weight:600}.calendar-agenda-person{display:grid;gap:3px;min-width:0}.calendar-agenda-person a{text-decoration:none;font-size:17px;font-weight:800;overflow-wrap:anywhere}.calendar-agenda-person>span{color:var(--ink-soft);font-size:13px;overflow-wrap:anywhere}.calendar-agenda-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:16px}.calendar-agenda-bottom>span{color:var(--ink-soft);font-size:12px}.calendar-agenda-actions,.session-detail-actions,.attention-inline-actions{display:flex;flex-wrap:wrap;gap:8px}.calendar-agenda-actions .btn,.attention-inline-actions .btn{min-height:44px}.calendar-decline{background:var(--sand);color:var(--sand-ink);border-radius:12px;padding:10px 12px;margin:14px 0 0;overflow-wrap:anywhere}.calendar-week-scroll{overflow-x:auto;overscroll-behavior-x:contain}.calendar-week-grid{display:grid;grid-template-columns:48px repeat(7,minmax(115px,1fr));min-width:915px;gap:7px}.calendar-week-grid>strong{padding:8px;font-size:13px}.calendar-week-hour{display:contents}.calendar-week-hour>span{color:var(--ink-faint);font-size:12px;padding-top:8px}.calendar-week-cell{min-height:78px;display:flex;flex-direction:column;gap:4px;padding:5px;border-radius:13px;background:var(--card-soft)}.calendar-week-session{display:grid;gap:4px;padding:10px;border:1px solid var(--line-strong);border-radius:12px;background:var(--card);color:var(--ink);text-align:left;cursor:pointer;min-width:0}.calendar-week-session strong{font-size:12px;overflow-wrap:anywhere}.calendar-week-session>span:not(.pill){font-size:11px;color:var(--ink-soft)}.calendar-week-session .pill{white-space:normal;justify-self:start;font-size:10px}.calendar-week-add{min-height:28px;flex:1;border:none;background:none;color:var(--ink-faint);cursor:pointer;border-radius:8px}.calendar-week-add:hover{background:var(--green-50);color:var(--green-700)}.session-editor-student{display:grid;gap:3px;margin:0 0 18px}.session-editor-student span{color:var(--ink-soft);font-size:12px}.session-detail-actions{margin-top:18px}.session-cancel-confirm{margin-top:18px;padding:14px;background:var(--card-soft);border-radius:14px}.attention-action-item{align-items:flex-start}.attention-action-item .attention-copy{flex:1;min-width:0}.attention-inline-actions{margin-top:10px}.attention-action-item>div{min-width:0}.review-queue-summary{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--ink-soft);margin-bottom:18px;font-size:13px}.review-queue-summary strong{color:var(--green-700)}.review-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}.review-filters>.input{width:auto;min-width:210px}.review-filters .segmented button{min-height:44px}.review-workspace{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:20px;align-items:start}.review-list{display:grid;gap:8px;min-width:0}.review-list-count{color:var(--ink-soft);font-size:12px;margin:0 0 2px}.review-list-item{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px 10px;width:100%;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card);text-align:left;color:var(--ink);cursor:pointer}.review-list-item.is-selected{border-color:var(--green-600);background:var(--green-50)}.review-list-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--canvas);color:var(--green-700);font-size:20px}.review-list-copy{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}.review-list-copy>span,.review-list-copy small{color:var(--ink-soft);font-size:12px}.review-list-state{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;font-size:11px;font-weight:800;color:var(--green-700)}.review-list-state>span{color:var(--red-ink)}.review-detail.card{margin-top:0;min-width:0}.review-item-navigation,.review-item-navigation>div,.review-pagination{display:flex;align-items:center;gap:8px}.review-item-navigation{justify-content:space-between;margin-bottom:18px}.review-item-navigation .btn{min-width:44px;min-height:44px}.review-item-navigation span,.review-pagination span{color:var(--ink-soft);font-size:12px}.review-pagination{justify-content:space-between;margin-top:8px}.review-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.review-detail-head h2{margin-top:5px;overflow-wrap:anywhere}.review-detail-head p{color:var(--ink-soft);font-size:12px;margin:5px 0 10px}.review-student-link{display:inline-block;padding:6px 0;margin-bottom:12px;font-size:13px;font-weight:800}.review-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 16px}.review-score-grid>div{display:grid;gap:8px;padding:12px;background:var(--card-soft);border-radius:13px}.review-score-grid span{color:var(--ink-soft);font-size:12px}.review-score-grid strong{font-family:var(--font-display);font-size:24px}.review-score-grid small{font-family:var(--font-text);color:var(--ink-faint);font-size:12px;margin-left:3px}.review-measurements{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--ink-soft);font-size:13px}.review-photo{display:grid;gap:7px;width:100%;padding:0 0 10px;margin:0 0 10px;background:var(--card-soft);color:var(--ink-soft);border:1px solid var(--line);border-radius:15px;overflow:hidden;cursor:zoom-in}.review-photo img{display:block;width:100%;height:280px;object-fit:contain}.review-photo>span{font-size:12px}.review-photo.is-expanded{cursor:zoom-out}.review-photo.is-expanded img{height:auto;max-height:65vh}.review-participant-note{margin:16px 0;padding:14px;background:var(--card-soft);border-radius:14px}.review-participant-note strong{font-size:12px}.review-participant-note p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.review-presets{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px}.review-presets>span{flex-basis:100%;color:var(--ink-soft);font-size:12px}.review-save-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.review-save-row>span{color:var(--ink-soft);font-size:12px}.review-save-row>.btn{margin-left:auto;white-space:normal}.workout-page{padding-bottom:24px}.workout-description{color:var(--ink-soft);font-size:13px;line-height:1.6;margin:10px 0 18px}.workout-start-layout,.workout-execution-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.workout-context,.workout-exercises{display:grid;min-width:0;gap:16px}.workout-context .card,.workout-exercises .card{margin-top:0}.workout-context p{color:var(--ink-soft);font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}.workout-context-note{padding:10px 0;border-bottom:1px solid var(--line)}.workout-context-note:last-child{border-bottom:none;padding-bottom:0}.workout-save-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px}.workout-save-status>span:not(.pill){color:var(--ink-soft);font-size:12px}.workout-exercise-head{display:flex;align-items:flex-start;gap:12px}.workout-exercise-number{flex-shrink:0;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--green-50);color:var(--green-700);font-weight:800}.workout-exercise-head h2{font-size:18px;overflow-wrap:anywhere}.workout-exercise-head p{font-size:12px;color:var(--ink-soft);margin:6px 0 12px}.workout-prescription-note,.workout-previous{background:var(--card-soft);padding:12px;border-radius:12px;font-size:12px;color:var(--ink-soft);white-space:pre-wrap}.workout-set-head,.workout-set-row{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 44px;align-items:center;gap:8px}.workout-set-head{margin:18px 0 8px;color:var(--ink-soft);font-size:11px}.workout-set-head>span:last-child{text-align:center}.workout-set-row{padding:6px 0;border-radius:12px}.workout-set-row.is-completed{background:var(--green-50)}.workout-set-row>strong{text-align:center;font-size:13px}.workout-set-row .input{width:100%;min-width:0;min-height:44px;text-align:center;padding:9px 6px}.workout-set-toggle{display:grid;place-items:center;min-width:44px;min-height:44px;cursor:pointer}.workout-set-toggle input{width:22px;height:22px;margin:0;accent-color:var(--green-700);cursor:pointer}.workout-set-actions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 16px}.workout-action-bar{position:sticky;bottom:16px;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding:12px;margin-top:20px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-card)}.workout-action-bar>span{margin-right:auto;font-size:12px;color:var(--ink-soft)}.workout-attendance-card{margin-top:20px}.workout-attendance-card p{color:var(--ink-soft);font-size:13px}@media (max-width: 1100px){.workout-start-layout,.workout-execution-layout{grid-template-columns:minmax(0,1fr)}.workout-context{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width: 900px){.workout-action-bar{bottom:calc(80px + env(safe-area-inset-bottom))}}@media (max-width: 760px){.review-workspace{grid-template-columns:minmax(0,1fr)}.review-workspace.is-list .review-detail,.review-workspace.is-detail .review-list{display:none}.review-filters>.input{width:100%;min-width:0}.review-filters .segmented{display:flex;width:100%}.review-filters .segmented button{flex:1;padding-left:7px;padding-right:7px}.review-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-detail-head{flex-wrap:wrap}.review-save-row>.btn{width:100%;margin-left:0}.review-photo img{height:230px}.calendar-agenda-top{grid-template-columns:56px minmax(0,1fr);gap:10px}.calendar-agenda-top>.pill{grid-column:2;justify-self:start}.calendar-agenda-person a{font-size:16px}.calendar-agenda-actions{width:100%}.calendar-agenda-actions>.btn{flex:1 1 auto;padding-left:10px;padding-right:10px}.calendar-page-head{align-items:flex-start}.calendar-toolbar{gap:10px}.calendar-day-strip{gap:4px}.calendar-day-strip button{min-height:67px;border-radius:12px}.session-detail-actions>.btn{flex:1 1 42%;white-space:normal}.attention-action-item{flex-wrap:wrap}.attention-inline-actions{width:100%}.attention-inline-actions .btn{white-space:normal}.workout-context{grid-template-columns:minmax(0,1fr)}.workout-exercise-card{padding:16px}.workout-action-bar>span{flex-basis:100%}.workout-action-bar>.btn{flex:1;padding-left:10px;padding-right:10px;font-size:12px;white-space:normal}.workout-page .input,.review-composer .input{font-size:16px}}@media (max-width: 380px){.calendar-toolbar{justify-content:center}.calendar-page-head{flex-wrap:wrap}.calendar-page-head>.btn{width:100%}.workout-set-head,.workout-set-row{grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) 44px;gap:5px}}.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}}
