@import url("https://fonts.googleapis.com/css2?family=Lexend:wght@300;400;500;600;700;800&display=swap");@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200");:root{--bg:#f7f9fb;--bg-accent:#eceef0;--surface:#ffffff;--surface-soft:#f2f4f6;--surface-muted:#e6e8ea;--line:#c3c6d5;--text:#191c1e;--muted:#434653;--blue:#00327d;--blue-dark:#0047ab;--blue-soft:#dae2ff;--teal:#0561a4;--purple:#2a3844;--gold:#74b4fd;--green:#1f8f5f;--shadow-lg:0 12px 32px rgba(25,28,30,0.08);--shadow-md:0 8px 24px rgba(25,28,30,0.06);--radius-xl:16px;--radius-lg:12px;--radius-md:10px;--radius-sm:8px}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--text);background:var(--bg);font-family:Lexend,Avenir Next,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}body:after,body:before{display:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.access-shell,.login-showcase-shell,.mobile-app-shell{position:relative;z-index:1}.mobile-app-shell{width:min(100%,520px);margin:24px auto 40px;padding:0 14px}.app-phone-frame{min-height:calc(100vh - 64px);padding:18px 18px 108px;border-radius:42px;background:rgba(248,251,255,.94);border:1px solid rgba(255,255,255,.78);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-mobile-header{display:grid;grid-gap:10px;gap:10px;margin-bottom:18px}.desktop-nav{display:none}.app-header-row,.category-topline,.coach-athlete-head,.day-selector,.hero-head,.macro-row-head,.metric-row,.planner-date,.section-heading,.section-row,.topbar-meta{display:flex;justify-content:space-between;align-items:center;gap:12px}.access-hero h1,.app-header-copy h1,.calendar-top-title,.category-card h3,.hero-panel h2,.login-copy h1,.score-panel-copy h3,.section-heading h3,.topbar h1{margin:0;letter-spacing:-.05em}.app-header-copy h1{font-size:clamp(2.1rem,7vw,3rem)}.app-header-copy span,.app-kicker,.eyebrow,.hero-badge,.section-label{display:inline-block;color:var(--blue);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.access-card p,.access-link span,.app-subtitle,.body-copy,.chat-bubble p,.coach-athlete-head span,.insight-card p,.log-item,.login-copy p,.meal-copy p,.meal-copy span,.metric-chip p,.metric-row p,.nutrition-row p,.priority-item p,.quick-stat p,.subtitle,.target-copy p,.timeline-item p,.today-plan-row p{margin:0;color:var(--muted);line-height:1.55}.app-header-actions{display:flex;align-items:center;gap:10px}.app-logo-badge{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-bottom:8px;padding:6px 10px;border-radius:16px;background:rgba(255,255,255,.9);border:1px solid rgba(31,109,255,.14)}.app-logo-image{width:auto;height:32px;object-fit:contain}.header-avatar,.header-chip,.hero-tag,.metric-pill,.pill-ghost,.score-pill,.section-badge,.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.9);font-size:.86rem;font-weight:700}.header-avatar{width:40px;padding:0;border-color:transparent;color:#fff}.header-avatar,.header-avatar-logo{background:linear-gradient(145deg,var(--blue) 0,var(--blue-dark) 100%)}.header-avatar-logo{width:54px}.header-avatar-image{width:auto;height:18px;object-fit:contain;filter:brightness(0) invert(1)}.header-chip{color:var(--text)}.access-grid,.app-mobile-content,.chat-layout,.chat-thread,.coach-note-list,.coach-roster,.coach-summary-grid,.dashboard-detail-grid,.dashboard-grid,.dashboard-stat-grid,.diary-list,.focus-list,.food-score-list,.insight-strip,.log-list,.macro-list,.macro-pill-row,.macro-summary-grid,.metric-chip-list,.metrics-list,.nutrition-side-stack,.nutrition-stack,.page,.planner-action-row,.planner-grid,.quick-stat-grid,.section-block,.split-grid,.timeline-list,.today-plan-list,.weekly-target-list{display:grid;grid-gap:14px;gap:14px}.access-card,.access-hero,.category-card,.coach-athlete-card,.hero-panel,.insight-card,.login-brand-panel,.login-device-panel,.panel-card,.soft-card,.week-row{border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-md);overflow:hidden}.access-card,.category-card,.coach-athlete-card,.panel-card,.soft-card{padding:20px;background:var(--surface)}.soft-card{border-left:4px solid var(--blue-soft)}.panel-card{border-left:4px solid rgba(5,97,164,.2)}.calories-hero{padding:20px;border-radius:30px;background:linear-gradient(160deg,var(--blue) 0,var(--blue-dark) 100%);color:#fff;box-shadow:var(--shadow-md)}.hero-badge{color:rgba(255,255,255,.78)}.calories-main-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-top:10px}.calories-main-row strong{display:block;font-size:clamp(2.4rem,10vw,3.6rem);line-height:.96;letter-spacing:-.06em}.calories-main-row span,.goal-orb span{color:rgba(255,255,255,.76)}.goal-orb{min-width:112px;padding:18px 16px;border-radius:24px;background:rgba(255,255,255,.14);text-align:center}.goal-orb strong{display:block;font-size:1.5rem;margin-bottom:4px}.dashboard-detail-grid,.dashboard-stat-grid,.macro-pill-row,.macro-summary-grid,.nutrition-screen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.macro-pill{padding:14px;border-radius:20px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18)}.macro-pill span{display:block;color:rgba(255,255,255,.72);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.macro-pill strong{display:block;margin-top:6px;font-size:1rem}.compact-stat strong,.food-score-row strong,.macro-summary-card strong,.meal-copy strong,.metric-chip strong,.planner-date strong,.section-row strong,.stacked-metric strong,.target-copy strong,.today-plan-row strong{display:block;margin-top:6px;font-size:1.18rem;letter-spacing:-.03em}.compact-stat span,.day-selector span,.food-score-row span,.macro-summary-card span,.meal-copy small,.metric-chip span,.planner-date span,.planner-meal-card span,.stacked-metric span,.target-metric span,.today-plan-row span{color:var(--muted)}.meter-track{width:100%;height:10px;border-radius:999px;background:#ebeff6;overflow:hidden}.meter-track.large{height:12px}.meter-track.slim{height:8px}.meter-fill{height:100%;border-radius:999px}.meter-fill.blue{background:linear-gradient(90deg,var(--blue) 0,#53a2ff 100%)}.meter-fill.teal{background:linear-gradient(90deg,#7bdad6 0,var(--teal) 100%)}.meter-fill.purple{background:linear-gradient(90deg,#a154df 0,var(--purple) 100%)}.meter-fill.gold{background:linear-gradient(90deg,#ffd469 0,var(--gold) 100%)}.coach-card{background:linear-gradient(180deg,#ffffff,#f4f8ff)}.coach-note{padding:14px 16px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--line);font-weight:600}.section-title-row{margin-bottom:4px}.inline-goal,.section-link,.section-meta{color:var(--muted);font-size:.92rem}.diary-section{display:grid;grid-gap:14px;gap:14px}.meal-diary-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:start;padding:18px;border-radius:22px;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:var(--shadow-md)}.meal-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,var(--blue-soft) 0,#fff 100%);color:var(--blue-dark);font-weight:800}.meal-copy small{display:block;margin-top:8px}.meal-actions{display:grid;grid-gap:8px;gap:8px;justify-items:end}.composer-action,.ghost-dot,.log-button,.nav-arrow,.planner-action,.tab-button{border:0;cursor:pointer}.ghost-dot{min-width:40px;min-height:32px;padding:6px 10px;border-radius:12px;background:transparent;color:var(--muted)}.composer-action,.log-button,.planner-action{min-height:40px;padding:10px 16px;border-radius:999px;background:linear-gradient(145deg,var(--blue) 0,var(--blue-dark) 100%);color:#fff;font-weight:700}.tabs-card{display:grid;grid-gap:14px;gap:14px;padding:14px;border-radius:24px;background:rgba(255,255,255,.92);border:1px solid var(--line);box-shadow:var(--shadow-md)}.tabs-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.tab-button{min-height:42px;border-radius:14px;background:transparent;color:var(--muted);font-weight:700}.tab-button.active{background:var(--blue-soft);color:var(--blue-dark)}.day-selector{padding:8px 6px}.day-selector strong{display:block;margin-top:2px;font-size:1.05rem}.nav-arrow{width:36px;height:36px;border-radius:999px;background:var(--surface-soft);color:var(--text);font-size:1.4rem}.macro-hero-card{display:grid;grid-gap:18px;gap:18px}.macro-donut{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.macro-donut-slice{padding:18px 12px;border-radius:22px;text-align:center;color:#fff}.macro-donut-slice.teal{background:linear-gradient(145deg,#7ddfd9 0,var(--teal) 100%)}.macro-donut-slice.purple{background:linear-gradient(145deg,#9b58dc 0,var(--purple) 100%)}.macro-donut-slice.gold{background:linear-gradient(145deg,#ffd46f 0,var(--gold) 100%)}.macro-donut-slice strong{display:block;font-size:1.5rem;margin-bottom:6px}.macro-donut-slice span{color:rgba(255,255,255,.82);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.macro-table{display:grid;grid-gap:10px;gap:10px}.food-score-row,.macro-table-head,.macro-table-row,.target-row,.today-plan-row{display:grid;grid-template-columns:minmax(0,1fr) 68px 68px;grid-gap:10px;gap:10px;align-items:center}.macro-table-head{color:var(--muted);font-size:.82rem;font-weight:700}.macro-table-row{padding:12px 0;border-top:1px solid var(--line)}.macro-table-label{display:flex;align-items:center;gap:10px}.macro-dot{width:12px;height:12px;border-radius:50%}.macro-dot.teal{background:var(--teal)}.macro-dot.purple{background:var(--purple)}.macro-dot.gold{background:var(--gold)}.planner-card,.today-plan-card{display:grid;grid-gap:16px;gap:16px}.planner-action-row{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-action{background:var(--surface-soft);color:var(--blue-dark)}.planner-date{align-items:baseline}.planner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-meal-card{display:grid;grid-gap:8px;gap:8px;padding:14px;border-radius:22px;background:var(--surface-soft)}.planner-meal-card strong{font-size:1rem;letter-spacing:-.03em}.planner-meal-card p,.planner-meal-card small{margin:0;color:var(--muted)}.planner-image{height:120px;border-radius:18px}.planner-image.warm{background:linear-gradient(145deg,#f5d5ac,#c98351)}.planner-image.gold{background:linear-gradient(145deg,#ffdc85,#ec8d3d)}.planner-image.green{background:linear-gradient(145deg,#bfe69e,#6fa750)}.nutrition-side-stack{grid-template-rows:auto}.target-row{grid-template-columns:minmax(0,1fr) auto;padding:12px 0;border-top:1px solid var(--line)}.target-row:first-child{padding-top:0;border-top:0}.target-metric{text-align:right}.metric-chip small,.target-metric small{color:var(--green);font-weight:700}.food-score-row{grid-template-columns:minmax(0,1fr) auto;padding:10px 0;border-top:1px solid var(--line)}.food-score-row:first-child{padding-top:0;border-top:0}.metric-chip-list{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-chip{padding:14px;border-radius:18px;background:var(--surface-soft)}.calendar-top-card,.calorie-progress-card{display:grid;grid-gap:14px;gap:14px}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr))}.week-strip,.week-strip-item{display:grid;grid-gap:8px;gap:8px}.week-strip-item{justify-items:center}.week-strip-dot{width:22px;height:22px;border-radius:50%;border:2px solid rgba(24,38,61,.25)}.week-strip-dot.done{border-color:#111;background:#111;position:relative}.week-strip-dot.done:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:.78rem}.macro-summary-card small{color:var(--muted);font-size:.9rem}.today-plan-row{grid-template-columns:minmax(0,1fr) auto;padding:12px 0;border-top:1px solid var(--line)}.today-plan-row:first-child{padding-top:0;border-top:0}.today-plan-row span{max-width:140px;text-align:right}.today-v3{display:grid;grid-gap:16px;gap:16px}.today-hero-card{padding:22px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(150deg,#f0f6ff,#ffffff);box-shadow:var(--shadow-md)}.today-bento-grid{display:grid;grid-gap:14px;gap:14px}.today-nutrition-main,.today-training-main{display:grid;grid-gap:12px;gap:12px}.today-stat-card{display:grid;grid-gap:6px;gap:6px}.today-macro-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.today-macro-row>div{padding:12px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line)}.today-macro-row strong{display:block;margin-top:6px;font-size:1.02rem;letter-spacing:-.02em}@media (min-width:1024px){.today-bento-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.today-training-main{grid-column:span 8}.today-stat-card{grid-column:span 4}.today-nutrition-main{grid-column:1/-1}}.bottom-nav{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);width:min(480px,calc(100% - 28px));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;padding:10px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.86);box-shadow:0 18px 42px rgba(23,45,84,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:10}.bottom-nav-link{display:grid;justify-items:center;grid-gap:6px;gap:6px;color:var(--muted);font-size:.74rem;font-weight:700}.bottom-nav-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:var(--surface-muted)}.bottom-nav-link.active{color:var(--text)}.bottom-nav-link.active .bottom-nav-icon,.bottom-nav-link.primary .bottom-nav-icon{background:linear-gradient(145deg,var(--blue) 0,var(--blue-dark) 100%);color:#fff}.desktop-nav-link{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border-radius:999px;color:var(--muted);background:rgba(255,255,255,.7);border:1px solid transparent;font-size:.9rem;font-weight:700}.desktop-nav-link.active{color:var(--blue-dark);background:#fff;border-color:rgba(31,109,255,.16);box-shadow:0 10px 20px rgba(31,59,100,.08)}.login-showcase-shell{width:min(1200px,calc(100% - 32px));margin:28px auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,420px);grid-gap:24px;gap:24px}.login-brand-panel,.login-device-panel{padding:32px;background:rgba(255,255,255,.94)}.login-brand-panel{display:grid;align-content:space-between;min-height:620px}.exploration-pill{justify-self:start;padding:10px 16px;border-radius:14px;background:#d2a728;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.login-copy{display:grid;grid-gap:14px;gap:14px;max-width:560px}.login-logo-badge{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;padding:12px 16px;border-radius:24px;background:linear-gradient(145deg,#ffffff,#edf4ff);border:1px solid rgba(31,109,255,.12);box-shadow:var(--shadow-md)}.brand-mark-image,.login-logo-image{width:auto;object-fit:contain}.login-logo-image{height:76px}.login-copy span{color:var(--muted);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.login-copy h1{font-size:clamp(2.8rem,6vw,5rem);line-height:.96}.brand-mark-large{width:88px;height:88px;display:grid;place-items:center;border-radius:28px;background:linear-gradient(145deg,var(--blue) 0,var(--blue-dark) 100%);color:#fff;font-size:2.4rem;font-weight:900}.brand-mark-image{height:44px;filter:brightness(0) invert(1)}.login-device-panel{display:grid;place-items:center;background:linear-gradient(180deg,#eef3fb,#ffffff)}.login-phone{width:280px;padding:12px;border-radius:42px;background:#10131b;box-shadow:0 30px 60px rgba(15,19,27,.22)}.login-phone-screen{min-height:560px;padding:26px 22px;border-radius:32px;background:linear-gradient(180deg,var(--blue) 0,var(--blue-dark) 100%);display:grid;align-content:space-between;color:#fff}.login-app-head{display:grid;justify-items:center;grid-gap:8px;gap:8px}.login-app-head span{font-weight:800;letter-spacing:.08em;text-transform:uppercase}.login-app-head strong{color:rgba(255,255,255,.76);font-weight:600}.login-athlete-mark{justify-self:center;align-self:center;font-size:5rem;line-height:1;opacity:.92}.login-action-stack{display:grid;grid-gap:12px;gap:12px}.login-action{min-height:44px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);font-weight:700}.login-action.primary{background:#fff;color:var(--blue-dark)}.hero-panel{padding:24px;background:linear-gradient(160deg,var(--blue) 0,var(--blue-dark) 100%);color:#fff}.hero-primary:after{content:"";position:absolute}.access-grid,.category-grid.rich,.chat-layout,.coach-roster,.coach-summary-grid,.dashboard-grid,.hero-panel,.insight-strip,.score-panel,.split-grid,.week-row{display:grid;grid-gap:16px;gap:16px}.access-grid,.category-grid.rich,.chat-layout,.coach-summary-grid,.dashboard-grid,.score-panel,.split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-summary-grid,.insight-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.score-panel{align-items:center}.score-ring{width:170px;height:170px;margin:0 auto;place-items:center;background:conic-gradient(var(--green) 0 84%,#dce7f1 84% 100%)}.score-ring,.score-ring-inner{border-radius:50%;display:grid}.score-ring-inner{width:126px;height:126px;place-items:center;background:#fff;text-align:center}.chat-bubble span,.coach-metrics span,.insight-card span,.macro-row-head span,.metric-row span,.nutrition-row span,.quick-stat span,.score-ring-inner span,.week-row-block span{display:block;color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.score-ring-inner strong{font-size:2rem}.access-link,.coach-metrics div,.focus-item,.log-item,.macro-row,.metric-row,.mini-item,.nutrition-row,.quick-stat{padding:14px 16px;border-radius:var(--radius-sm);background:var(--surface-soft);border:1px solid var(--line)}.insight-card{padding:18px;background:linear-gradient(180deg,#ffffff,#f4f8fc)}.category-card.tone-1,.insight-card.tone-1{background:linear-gradient(180deg,#eef6ff,#ffffff)}.category-card.tone-2,.insight-card.tone-2{background:linear-gradient(180deg,#eefbf4,#ffffff)}.category-card.tone-3,.insight-card.tone-3{background:linear-gradient(180deg,#fff7e8,#ffffff)}.category-card.tone-4{background:linear-gradient(180deg,#fff0ec,#ffffff)}.progress-rail{width:100%;height:10px;margin:12px 0 0;border-radius:999px;background:rgba(16,42,67,.08);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue) 0,var(--green) 100%)}.mini-list{display:grid;grid-gap:10px;gap:10px}.week-row{padding:18px;grid-template-columns:220px repeat(3,minmax(0,1fr));background:rgba(255,255,255,.92)}.week-row-block,.week-row-day{padding:16px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--line)}.week-row-day{display:flex;gap:14px;align-items:center}.week-row-day p{margin:4px 0 0;color:var(--muted)}.day-index{color:var(--blue-dark);font-size:1.6rem;font-weight:900}.metric-row{justify-content:space-between}.metric-detail{text-align:right}.metric-detail em{display:block;margin-top:6px;color:var(--green);font-style:normal;font-weight:800}.nutrition-row{display:grid;grid-template-columns:54px 1fr;grid-gap:16px;gap:16px}.nutrition-step{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,var(--blue) 0,#7dbbff 100%);color:#fff;font-weight:900}.chat-panel,.log-panel{min-height:620px}.chat-bubble{max-width:88%;padding:18px 20px;border-radius:20px}.chat-bubble.coach{background:linear-gradient(180deg,#edf6ff,#e5f0fd);border:1px solid #d2e3f8}.chat-bubble.athlete{justify-self:end;background:linear-gradient(180deg,#ffffff,#f6f8fb);border:1px solid #dfe7ef}.chat-composer{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px}.composer-input{padding:16px 18px;border-radius:18px;background:var(--surface-soft);color:var(--muted);border:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:14px 1fr;grid-gap:12px;gap:12px;align-items:start}.status-dot,.timeline-item span{width:14px;height:14px;margin-top:5px;border-radius:50%;background:linear-gradient(180deg,var(--blue) 0,#74b5ff 100%);box-shadow:0 0 0 6px rgba(13,101,217,.12)}.status-dot{width:8px;height:8px;margin-top:0}.timeline-log .log-item.detailed{position:relative;padding-left:24px}.timeline-log .log-item.detailed:before{content:"";position:absolute;left:10px;top:18px;width:7px;height:7px;border-radius:50%;background:var(--green)}.access-shell{width:min(1240px,calc(100% - 32px));margin:24px auto 60px;display:grid;grid-gap:20px;gap:20px}.access-hero{padding:30px;background:linear-gradient(145deg,var(--blue) 0,var(--blue-dark) 100%);color:#fff}.access-hero .eyebrow,.access-hero .subtitle{color:rgba(255,255,255,.78)}.access-hero h1{font-size:clamp(2.3rem,5vw,4.2rem)}.coach-roster{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.coach-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.login-v2-shell{position:relative;min-height:100vh;display:grid;place-items:center;padding:32px 16px;overflow:hidden;z-index:1;background:radial-gradient(circle at 12% 18%,rgba(31,109,255,.32),transparent 34%),radial-gradient(circle at 88% 20%,rgba(36,162,107,.26),transparent 34%),radial-gradient(circle at 20% 84%,rgba(244,181,63,.24),transparent 30%),radial-gradient(circle at 82% 78%,rgba(73,197,193,.26),transparent 30%),linear-gradient(145deg,#e6eefb,#edf6f4 48%,#f2f5fb)}.login-v2-shell:before{content:"";inset:0;background-image:radial-gradient(circle at 18% 22%,rgba(31,109,255,.3) 0 3px,transparent 4px),radial-gradient(circle at 82% 24%,rgba(36,162,107,.28) 0 3px,transparent 4px),radial-gradient(circle at 24% 82%,rgba(244,181,63,.28) 0 3px,transparent 4px),radial-gradient(circle at 78% 78%,rgba(73,197,193,.28) 0 3px,transparent 4px),repeating-linear-gradient(120deg,rgba(24,38,61,.06),rgba(24,38,61,.06) 1px,transparent 0,transparent 16px),linear-gradient(180deg,rgba(255,255,255,.44),rgba(238,243,251,.2));background-size:380px 380px,420px 420px,360px 360px,340px 340px,240px 240px,100% 100%;opacity:.95}.login-v2-bg-orb,.login-v2-shell:before{position:fixed;pointer-events:none;z-index:0}.login-v2-bg-orb{border-radius:50%}.login-v2-bg-orb-1{width:560px;height:560px;top:-120px;left:-180px;background:radial-gradient(circle,rgba(31,109,255,.13) 0,transparent 70%)}.login-v2-bg-orb-2{width:480px;height:480px;bottom:-100px;right:-140px;background:radial-gradient(circle,rgba(73,197,193,.1) 0,transparent 70%)}.login-v2-card{position:relative;z-index:1;width:min(480px,100%);padding:40px 36px;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.85);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),0 0 0 1px rgba(31,109,255,.05),inset 0 1px 0 rgba(255,255,255,.9);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);display:grid;grid-gap:28px;gap:28px}.login-v2-brand{display:grid;justify-items:center;grid-gap:12px;gap:12px;text-align:center}.login-v2-logo-wrap{padding:14px 20px;background:linear-gradient(150deg,#f4f8ff,#edf4ff);border:1px solid rgba(31,109,255,.1);border-radius:20px;box-shadow:0 4px 16px rgba(31,109,255,.08);display:inline-flex;align-items:center;justify-content:center}.login-v2-tagline{margin:0;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.login-v2-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:12px;gap:12px}.login-v2-divider:after,.login-v2-divider:before{content:"";height:1px;background:var(--line)}.login-v2-divider span{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.login-v2-roles{display:grid;grid-gap:12px;gap:12px}.login-v2-role{display:grid;grid-template-columns:52px 1fr 28px;align-items:center;grid-gap:14px;gap:14px;padding:18px 18px 18px 16px;border-radius:var(--radius-md);border:2px solid var(--line);background:var(--surface-soft);cursor:pointer;text-align:left;transition:border-color .18s,background .18s,box-shadow .18s}.login-v2-role:hover{border-color:rgba(31,109,255,.28);background:#fff;box-shadow:0 4px 18px rgba(31,109,255,.08)}.login-v2-role.selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 4px 22px rgba(31,109,255,.14)}.login-v2-role-icon-wrap{width:52px;height:52px;border-radius:16px;background:var(--bg-accent);display:grid;place-items:center;color:var(--muted);flex-shrink:0;transition:background .18s,color .18s}.login-v2-role.selected .login-v2-role-icon-wrap{background:rgba(31,109,255,.14);color:var(--blue)}.login-v2-role-body strong{display:block;font-size:.97rem;font-weight:800;color:var(--text);margin-bottom:3px}.login-v2-role-body p{margin:0;font-size:.8rem;color:var(--muted);line-height:1.4}.login-v2-check{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;flex-shrink:0;transition:border-color .18s,background .18s}.login-v2-role.selected .login-v2-check{border-color:var(--blue);background:var(--blue)}.login-v2-profiles{display:grid;grid-gap:10px;gap:10px;animation:loginProfilesIn .22s ease}@keyframes loginProfilesIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.login-v2-strava-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border-radius:12px;background:#FC4C02;color:#fff;font-size:.95rem;font-weight:800;text-decoration:none;transition:background .15s,transform .1s}.login-v2-strava-btn:hover{background:#e04300;transform:translateY(-1px)}.login-v2-google-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border-radius:12px;background:#fff;color:#111827;border:1px solid #e5e7eb;font-size:.95rem;font-weight:800;text-decoration:none;transition:background .15s,transform .1s}.login-v2-google-btn:hover{background:#f9fafb;transform:translateY(-1px)}.login-v2-mode-switch{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.login-v2-mode-btn{border:none;border-radius:8px;padding:10px 12px;font-size:.82rem;font-weight:700;color:var(--muted);background:transparent;cursor:pointer}.login-v2-mode-btn.active{color:var(--text);background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.08)}.login-v2-profiles-label{margin:0;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.login-v2-profile-list{display:grid;grid-gap:8px;gap:8px}.login-v2-profile{display:grid;grid-template-columns:44px 1fr auto;align-items:center;grid-gap:14px;gap:14px;padding:13px 16px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;text-align:left;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s}.login-v2-profile:hover{background:#fff;border-color:rgba(31,109,255,.24);transform:translateX(4px);box-shadow:0 4px 14px rgba(31,109,255,.08)}.login-v2-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.88rem;flex-shrink:0}.login-v2-profile-text{display:grid;grid-gap:2px;gap:2px;min-width:0}.login-v2-profile-text strong{font-size:.92rem;color:var(--text);display:block}.login-v2-profile-text span{font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login-v2-arrow{color:var(--muted);font-size:1.1rem;transition:color .15s,transform .15s;flex-shrink:0}.login-v2-profile:hover .login-v2-arrow{color:var(--blue);transform:translateX(3px)}.login-v2-footer{margin:0;text-align:center;font-size:.72rem;color:var(--muted);opacity:.7}.athlete-intake-hero{border-left:4px solid var(--blue)}.athlete-intake-grid{align-items:start}.athlete-intake-card{gap:14px}.athlete-intake-fields{display:grid;grid-gap:12px;gap:12px}.athlete-intake-field{display:grid;grid-gap:6px;gap:6px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.84)}.athlete-intake-help{font-size:.76rem;color:var(--muted)}.athlete-intake-textarea{min-height:96px;resize:vertical}.athlete-intake-tags{display:flex;gap:6px;flex-wrap:wrap}.athlete-intake-tag{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:var(--blue-soft);color:var(--blue-dark);font-size:.74rem;font-weight:700}.athlete-intake-actions{position:-webkit-sticky;position:sticky;bottom:90px;z-index:5}.agent-admin-toolbar{display:grid;grid-gap:10px;gap:10px;margin-bottom:12px}.agent-admin-layout{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);grid-gap:12px;gap:12px}.agent-file-list{align-content:start}.agent-editor,.agent-file-list{display:grid;grid-gap:8px;gap:8px}.agent-editor-meta{margin:4px 0 0;font-size:.78rem;color:var(--muted)}.agent-editor-textarea{min-height:420px}.status-chip{margin:0 0 10px;padding:8px 10px;border-radius:12px;font-size:.84rem;font-weight:700}.status-chip.success{background:rgba(52,168,83,.14);color:#1d6f39;border:1px solid rgba(52,168,83,.32)}.status-chip.danger{background:rgba(217,48,37,.12);color:#8f1d13;border:1px solid rgba(217,48,37,.3)}.nutrition-photo{width:min(320px,100%);border-radius:12px;border:1px solid var(--line);display:block;margin:6px 0}@media (max-width:480px){.login-v2-card{padding:28px 20px;gap:22px;border-radius:var(--radius-lg)}.agent-admin-layout{grid-template-columns:1fr}.agent-editor-textarea{min-height:300px}}.shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}.shell-topbar{position:fixed;top:0;left:0;right:0;height:64px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(247,249,251,.86);border-bottom:1px solid rgba(195,198,213,.45);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:40}.shell-topbar-brand{display:flex;align-items:center;flex-shrink:0}.shell-topbar-title{font-size:1rem;font-weight:700;color:var(--blue);letter-spacing:-.03em;flex:1 1;text-align:center}.shell-topbar-access{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);color:var(--muted);flex-shrink:0;border:1px solid rgba(195,198,213,.45);transition:background .2s,color .2s,transform .2s}.shell-topbar-access:hover{background:#fff;color:var(--blue);transform:scale(.97)}.shell-sidebar{display:none}.shell-main{flex:1 1;padding:84px 14px 98px}.page-hd{display:block;margin-bottom:14px}.page-hd h1{margin:0 0 6px;color:var(--blue);font-size:1.65rem;font-weight:800;letter-spacing:-.04em}.page-hd p{margin:0;color:var(--muted);font-size:.84rem}.shell-nav{position:fixed;bottom:0;left:0;right:0;height:66px;display:grid;grid-template-columns:repeat(6,1fr);grid-gap:2px;gap:2px;padding:6px 8px max(6px,env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid rgba(195,198,213,.45);box-shadow:0 -4px 12px rgba(25,28,30,.04);z-index:100}.shell-nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 4px;border-radius:10px;color:var(--muted);font-size:.61rem;font-weight:700;letter-spacing:.02em;text-decoration:none;transition:color .15s,background .15s,transform .15s}.shell-nav-link:hover{color:var(--blue);background:var(--surface-soft);transform:translateY(-1px)}.shell-nav-link.active{color:var(--blue);background:rgba(218,226,255,.75)}.shell-desktop-topbar{display:none}@media (min-width:1024px){.shell{flex-direction:row;align-items:stretch}.shell-nav,.shell-topbar{display:none}.shell-sidebar{display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;width:252px;flex-shrink:0;padding:20px 14px;background:var(--surface-soft);border-right:1px solid rgba(195,198,213,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow-y:auto;z-index:10}.shell-sidebar-brand{padding:8px 10px 18px;border-bottom:1px solid rgba(195,198,213,.45);margin-bottom:10px}.shell-sidebar-nav{display:flex;flex-direction:column;gap:3px;flex:1 1}.shell-sidebar-link{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:10px;color:var(--muted);font-size:.9rem;font-weight:700;text-decoration:none;transition:color .15s,background .15s}.shell-sidebar-link.active,.shell-sidebar-link:hover{color:var(--blue);background:#fff}.shell-sidebar-link.active{box-shadow:0 2px 8px rgba(25,28,30,.08)}.shell-sidebar-link.muted{font-weight:600;font-size:.86rem}.shell-sidebar-footer{padding-top:14px;border-top:1px solid rgba(195,198,213,.45);margin-top:8px}.shell-main{flex:1 1;min-width:0;padding:98px 34px 42px}.shell-desktop-topbar{position:fixed;top:0;left:252px;right:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:rgba(247,249,251,.84);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-bottom:1px solid rgba(195,198,213,.45);z-index:30}.shell-desktop-tabs{display:flex;align-items:center;gap:18px}.shell-desktop-tab{color:var(--muted);font-size:.9rem;font-weight:600;padding:6px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.shell-desktop-tab.active,.shell-desktop-tab:hover{color:var(--blue);border-bottom-color:var(--blue)}.shell-desktop-actions{display:flex;align-items:center;gap:10px}.page-hd{display:block;margin-bottom:20px}.page-hd h1{font-size:clamp(2.1rem,3.2vw,2.9rem);font-weight:800;letter-spacing:-.05em;line-height:1.05;margin:0 0 6px;color:var(--blue)}.page-hd p{margin:0;font-size:.9rem;color:var(--muted);max-width:58ch;line-height:1.55}}@media (min-width:981px){.mobile-app-shell{width:min(1280px,calc(100% - 40px));margin:28px auto 48px;padding:0}.app-phone-frame{min-height:calc(100vh - 76px);padding:28px 28px 34px;border-radius:34px}.app-mobile-header{margin-bottom:14px}.app-header-copy h1{font-size:clamp(2.8rem,4vw,4rem)}.app-subtitle{max-width:72ch}.desktop-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.bottom-nav{display:none}.home-screen{grid-template-columns:minmax(0,1.45fr) minmax(340px,.9fr);grid-auto-flow:dense;gap:18px}.home-screen>.calories-hero{grid-column:1}.home-screen>.dashboard-detail-grid,.home-screen>.dashboard-stat-grid{grid-column:2}.home-screen>.coach-card,.home-screen>.diary-section,.home-screen>.progress-card{grid-column:1}.home-screen>.diary-section{grid-row:span 2}.nutrition-screen{grid-template-columns:minmax(0,1.3fr) minmax(420px,.95fr);gap:18px;align-items:start}.nutrition-screen>.macro-hero-card,.nutrition-screen>.nutrition-screen-grid,.nutrition-screen>.tabs-card{grid-column:1/-1}.nutrition-screen-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.85fr);align-items:start}.nutrition-side-stack{position:-webkit-sticky;position:sticky;top:28px}.calendar-screen{grid-template-columns:minmax(0,1.3fr) minmax(360px,.9fr);gap:18px;align-items:start}.calendar-screen>.calendar-top-card,.calendar-screen>.calorie-progress-card,.calendar-screen>.diary-section,.calendar-screen>.macro-summary-grid{grid-column:1}.calendar-screen>.today-plan-card{grid-column:2;grid-row:1/span 4;position:-webkit-sticky;position:sticky;top:28px}.macro-pill-row{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-detail-grid,.dashboard-stat-grid,.macro-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.macro-summary-grid>:last-child{grid-column:1/-1}.meal-diary-card{grid-template-columns:52px minmax(0,1fr) auto;align-items:center}.meal-icon{width:52px;height:52px}.planner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-chip-list{grid-template-columns:repeat(2,minmax(0,1fr))}.week-strip{gap:14px}}@media (max-width:980px){.access-grid,.category-grid.rich,.chat-layout,.coach-metrics,.coach-summary-grid,.dashboard-detail-grid,.dashboard-grid,.dashboard-stat-grid,.insight-strip,.login-showcase-shell,.macro-summary-grid,.metric-chip-list,.nutrition-screen-grid,.planner-grid,.score-panel,.split-grid,.week-row{grid-template-columns:1fr}.chat-panel,.log-panel{min-height:auto}}@media (max-width:720px){.app-phone-frame,.login-brand-panel,.login-device-panel{padding:20px}.app-header-row,.calories-main-row,.meal-diary-card{grid-template-columns:1fr;display:grid}.meal-actions{justify-items:start;grid-auto-flow:column}.macro-donut,.planner-action-row,.planner-grid{grid-template-columns:1fr}.tabs-row{grid-template-columns:repeat(2,minmax(0,1fr))}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.bottom-nav{width:calc(100% - 16px);bottom:8px}}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle}.ob-page{max-width:860px;margin:0 auto;padding:0 0 48px}.ob-hero{background:linear-gradient(135deg,#00327d,#0047ab);border-radius:16px;padding:32px;color:#fff;margin-bottom:32px;position:relative;overflow:hidden}.ob-hero:before{content:"";position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.06)}.ob-hero-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-bottom:6px;display:block}.ob-hero-title{font-size:26px;font-weight:800;letter-spacing:-.5px;line-height:1.2;margin:0 0 6px}.ob-hero-sub{font-size:14px;opacity:.75;margin:0}.ob-progress-bar{display:flex;gap:6px;margin-bottom:28px}.ob-progress-step{flex:1 1;height:4px;border-radius:2px;background:var(--surface-muted);transition:background .3s}.ob-progress-step.done{background:#0561a4}.ob-progress-step.active{background:#00327d}.ob-step-header{gap:14px;margin-bottom:24px}.ob-step-header,.ob-step-icon{display:flex;align-items:center}.ob-step-icon{width:44px;height:44px;border-radius:12px;background:#dae2ff;justify-content:center;flex-shrink:0;color:#00327d;font-size:22px}.ob-step-title{font-size:19px;font-weight:700;color:#00327d;margin:0 0 2px;letter-spacing:-.3px}.ob-step-subtitle{font-size:13px;color:var(--muted);margin:0}.ob-card{background:#fff;border-radius:16px;padding:28px;box-shadow:0 4px 16px rgba(25,28,30,.05);margin-bottom:16px}.ob-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:16px;gap:16px;margin-bottom:8px}.ob-metric-card{background:var(--bg);border-radius:12px;padding:16px;border:1.5px solid var(--line);transition:border-color .2s}.ob-metric-card:focus-within{border-color:#00327d;background:#fff}.ob-metric-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:flex;align-items:center;gap:5px;margin-bottom:8px}.ob-metric-label .material-symbols-outlined{font-size:14px;color:#0561a4}.ob-metric-row{display:flex;align-items:baseline;gap:6px}.ob-metric-input{font-family:inherit;font-size:22px;font-weight:700;color:#191c1e;background:transparent;border:none;outline:none;width:100%;min-width:0;padding:0;line-height:1}.ob-metric-input::placeholder{color:#c3c6d5;font-weight:400;font-size:18px}.ob-metric-unit{font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap;flex-shrink:0}.ob-select{font-family:inherit;font-size:15px;font-weight:500;color:#191c1e;background:var(--bg);border:1.5px solid var(--line);border-radius:10px;width:100%;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23737784' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding:10px 32px 10px 12px}.ob-select:focus{border-color:#00327d}.ob-field-label{font-weight:700;text-transform:uppercase;letter-spacing:.08em}.ob-field-help,.ob-field-label{font-size:12px;color:var(--muted);margin-bottom:8px;display:block}.ob-textarea{font-family:inherit;font-size:14px;color:#191c1e;background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:12px;width:100%;resize:vertical;outline:none;line-height:1.6;box-sizing:border-box}.ob-textarea:focus{border-color:#00327d;background:#fff}.ob-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ob-tag{font-size:12px;font-weight:500;background:#dae2ff;color:#00327d;border-radius:20px;padding:3px 10px}.ob-nav{display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.ob-btn,.ob-nav{align-items:center}.ob-btn{font-family:inherit;font-size:14px;font-weight:600;border-radius:10px;padding:11px 22px;cursor:pointer;transition:all .15s;display:inline-flex;gap:6px;border:none}.ob-btn:disabled{opacity:.45;cursor:not-allowed}.ob-btn-ghost{background:var(--bg);color:var(--muted);border:1.5px solid var(--line)}.ob-btn-ghost:hover:not(:disabled){background:var(--surface-muted);color:#191c1e}.ob-btn-primary{background:linear-gradient(135deg,#00327d,#0047ab);color:#fff;box-shadow:0 4px 14px rgba(0,50,125,.25)}.ob-btn-primary:hover:not(:disabled){opacity:.92;box-shadow:0 6px 18px rgba(0,50,125,.3)}.ob-info-badge{display:inline-flex;align-items:center;gap:6px;background:#d2e4ff;color:#00327d;font-size:12px;font-weight:600;border-radius:8px;padding:6px 12px}.ob-info-badge .material-symbols-outlined{font-size:15px}.ob-section-divider{height:1px;background:var(--line);margin:20px 0;opacity:.4}.ob-complete-banner{background:linear-gradient(135deg,#f2f4f6,#fff);border:1.5px solid #dae2ff;border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:12px;margin-bottom:24px}.ob-complete-banner .material-symbols-outlined{color:#0561a4;font-size:22px}.ob-complete-banner-text{font-size:14px;font-weight:600;color:#00327d}.ob-complete-banner-sub{font-size:12px;color:var(--muted)}.ob-profile-section{margin-bottom:28px}.ob-profile-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:14px;display:flex;align-items:center;gap:6px}.ob-profile-section-title .material-symbols-outlined{font-size:15px;color:#0561a4}.ob-sport-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:10px;gap:10px;margin-bottom:4px}.ob-sport-option{border:1.5px solid var(--line);border-radius:12px;padding:14px 10px;text-align:center;cursor:pointer;transition:all .15s;background:var(--bg);font-family:inherit;font-size:13px;font-weight:600;color:var(--muted)}.ob-sport-option:hover{border-color:#0561a4;color:#00327d}.ob-sport-option.selected{border-color:#00327d;background:#dae2ff;color:#00327d}.ob-sport-option .material-symbols-outlined{font-size:26px;display:block;margin:0 auto 6px;color:inherit}.ob-strava-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg);border-radius:12px;padding:14px 16px;border:1.5px solid var(--line)}.ob-strava-status{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.ob-dot-green{background:#1f8f5f}.ob-dot-gray,.ob-dot-green{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ob-dot-gray{background:#c3c6d5}.ob-notice{font-size:13px;font-weight:500;padding:12px 16px;border-radius:10px;margin-top:12px}.ob-notice-success{background:#d4f0e4;color:#1f5c3a}.ob-notice-error{background:#ffdad6;color:#93000a}.ob-imports-list{display:flex;flex-direction:column;gap:8px}.ob-import-item{background:var(--bg);border-radius:10px;padding:10px 14px;font-size:13px}.ob-activity-item{background:var(--bg);border-radius:12px;padding:12px 14px;display:grid;grid-template-columns:32px 1fr auto;grid-gap:10px;gap:10px;align-items:center;border:1px solid rgba(195,198,213,.3)}.ob-device-import-row{display:flex;gap:8px;margin-bottom:8px}@media (max-width:768px){.ob-page{max-width:100%;padding:0 0 26px}.ob-hero{padding:22px;margin-bottom:20px}.ob-card{padding:18px}.ob-step-header{align-items:flex-start;gap:10px;margin-bottom:16px}.ob-sport-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ob-metrics-grid{grid-template-columns:1fr;gap:10px}.ob-strava-row{flex-direction:column;align-items:flex-start}.ob-nav{justify-content:stretch;flex-direction:column-reverse;gap:8px}.ob-nav .ob-btn{width:100%;justify-content:center}.ob-device-import-row{flex-direction:column}.ob-activity-item{grid-template-columns:32px minmax(0,1fr)}.ob-activity-item>:last-child{grid-column:1/-1;justify-self:start;text-align:left!important}}@media (max-width:480px){.ob-sport-grid{grid-template-columns:1fr}.ob-hero-title{font-size:22px}}.hm-shell{display:flex;min-height:100vh;background:var(--bg)}.hm-sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid rgba(195,198,213,.35);padding:20px 12px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}@media (max-width:768px){.hm-sidebar{display:none}}.hm-sidebar-logo{padding:8px 10px 20px;border-bottom:1px solid rgba(195,198,213,.3);margin-bottom:12px}.hm-sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1 1}.hm-sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;font-size:14px;font-weight:500;color:var(--muted);transition:all .15s;text-decoration:none;cursor:pointer}.hm-sidebar-link .material-symbols-outlined{font-size:20px;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.hm-sidebar-link:hover{background:var(--surface-soft);color:var(--text)}.hm-sidebar-link.active{background:#fff;color:var(--blue);font-weight:600;box-shadow:0 2px 8px rgba(0,50,125,.1)}.hm-sidebar-link.active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.hm-sidebar-footer{border-top:1px solid rgba(195,198,213,.3);padding-top:12px;margin-top:8px}.hm-topbar{display:none;align-items:center;justify-content:space-between;padding:0 16px;height:56px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(195,198,213,.3);position:-webkit-sticky;position:sticky;top:0;z-index:100}@media (max-width:768px){.hm-topbar{display:flex}}.hm-topbar-title{font-size:15px;font-weight:600;color:var(--text)}.hm-topbar-btn{background:none;border:none;cursor:pointer;color:var(--muted);display:flex;align-items:center;padding:6px;border-radius:8px}.hm-topbar-btn:hover{background:var(--surface-soft);color:var(--text)}.hm-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.hm-page-content{flex:1 1;padding:28px 28px 48px;max-width:1200px;width:100%;margin:0 auto}@media (max-width:768px){.hm-page-content{padding:16px 16px 96px}}.hm-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:72px;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(195,198,213,.3);z-index:200;padding:0 8px;align-items:center;justify-content:space-around}@media (max-width:768px){.hm-bottom-nav{display:flex}}.hm-bottom-link{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 10px;border-radius:12px;font-size:10px;font-weight:500;color:var(--muted);text-decoration:none;transition:all .15s;min-width:52px}.hm-bottom-link .material-symbols-outlined{font-size:22px;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.hm-bottom-link.active{color:var(--blue)}.hm-bottom-link.active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.hm-hero{background:linear-gradient(135deg,#00327d,#0561a4 60%,#1a7bcc);border-radius:20px;padding:28px 28px 24px;color:#fff;margin-bottom:24px;position:relative;overflow:hidden}.hm-hero:before{content:"";position:absolute;top:-40px;right:-40px;width:200px;height:200px;background:rgba(255,255,255,.06);border-radius:50%}.hm-hero-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.7;margin:0 0 6px}.hm-hero-title{font-size:26px;font-weight:700;margin:0 0 6px;line-height:1.2}.hm-hero-sub{font-size:14px;opacity:.8;margin:0 0 20px}.hm-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hm-btn{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:14px;font-weight:600;border-radius:10px;padding:10px 18px;cursor:pointer;border:none;transition:all .15s}.hm-btn:disabled{opacity:.45;cursor:not-allowed}.hm-btn-white{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hm-btn-white:hover:not(:disabled){background:rgba(255,255,255,.28)}.hm-btn-primary{background:linear-gradient(135deg,#00327d,#0047ab);color:#fff;box-shadow:0 4px 14px rgba(0,50,125,.25)}.hm-btn-primary:hover:not(:disabled){opacity:.9;box-shadow:0 6px 20px rgba(0,50,125,.3)}.hm-btn-ghost{background:var(--bg);color:var(--text);border:1.5px solid var(--line)}.hm-btn-ghost:hover:not(:disabled){background:var(--surface-soft)}.hm-btn-danger{background:#ffdad6;color:#93000a;border:1.5px solid #ffb4ab}.hm-card{background:#fff;border-radius:16px;border:1px solid rgba(195,198,213,.4);box-shadow:0 2px 8px rgba(25,28,30,.04);padding:22px}.hm-card-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:0 0 4px}.hm-card-title{font-size:17px;font-weight:700;color:var(--text);margin:0 0 12px}.hm-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.hm-badge{font-size:11px;font-weight:700;border-radius:20px;padding:3px 10px;background:#dae2ff;color:#00327d;white-space:nowrap;flex-shrink:0}.hm-badge-green{background:#d4f0e4;color:#1f5c3a}.hm-badge-red{background:#ffdad6;color:#93000a}.hm-badge-gray{background:var(--surface-soft);color:var(--muted)}.hm-bento{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:16px;gap:16px;margin-bottom:20px}@media (max-width:768px){.hm-bento{grid-template-columns:1fr}}.hm-col-8{grid-column:span 8}.hm-col-4{grid-column:span 4}.hm-col-6{grid-column:span 6}.hm-col-12{grid-column:span 12}@media (max-width:1024px){.hm-col-4,.hm-col-8{grid-column:span 12}}@media (max-width:768px){.hm-col-12,.hm-col-4,.hm-col-6,.hm-col-8{grid-column:span 1}}.hm-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.hm-metric{background:var(--bg);border-radius:12px;padding:14px 16px;border:1px solid rgba(195,198,213,.3)}.hm-metric-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 4px}.hm-metric-value{font-size:28px;font-weight:700;color:var(--text);line-height:1}.hm-metric-unit{font-size:13px;font-weight:400;color:var(--muted);margin-left:2px}.hm-metric-delta{font-size:11px;font-weight:600;color:#1f8f5f;margin-top:2px}.hm-log-list{display:flex;flex-direction:column;gap:10px}.hm-log-item{background:var(--bg);border-radius:12px;padding:14px 16px;border:1px solid rgba(195,198,213,.3)}.hm-log-item-title{font-size:14px;font-weight:600;color:var(--text);margin:0 0 4px}.hm-log-item-sub{font-size:13px;color:var(--muted);margin:0;line-height:1.5}.hm-log-item-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.hm-status-btn{font-family:inherit;font-size:12px;font-weight:600;padding:6px 14px;border-radius:8px;cursor:pointer;border:1.5px solid var(--line);background:#fff;color:var(--muted);transition:all .15s}.hm-status-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue);background:#dae2ff}.hm-status-btn:disabled{opacity:.4;cursor:not-allowed}.hm-status-btn.done{background:#d4f0e4;color:#1f5c3a;border-color:#82d9b1}.hm-chat-layout{display:grid;grid-template-columns:1fr 280px;grid-gap:20px;gap:20px;align-items:start}@media (max-width:1024px){.hm-chat-layout{grid-template-columns:1fr}}.hm-thread{display:flex;flex-direction:column;gap:12px;min-height:320px;max-height:520px;overflow-y:auto;padding:4px 0;margin-bottom:16px}.hm-bubble{max-width:80%;padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.55}.hm-bubble-name{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;opacity:.65}.hm-bubble-coach{background:var(--bg);border:1px solid rgba(195,198,213,.4);align-self:flex-start;border-bottom-left-radius:4px}.hm-bubble-athlete{background:linear-gradient(135deg,#00327d,#0047ab);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.hm-bubble-athlete .hm-bubble-name{color:rgba(255,255,255,.7)}.hm-composer{display:flex;gap:10px;align-items:flex-end}.hm-composer-input{flex:1 1;padding:12px 16px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}.hm-composer-input:focus{border-color:var(--blue);background:#fff}.hm-input{width:100%;padding:11px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);font-size:14px;font-family:inherit;color:var(--text);outline:none;transition:border-color .15s;box-sizing:border-box}.hm-input:focus{border-color:var(--blue);background:#fff}.hm-label{font-size:12px;font-weight:600;color:var(--muted);display:block;margin-bottom:6px}.hm-field{display:flex;flex-direction:column;gap:0;margin-bottom:14px}.hm-week-strip{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px;margin-bottom:20px}@media (max-width:480px){.hm-week-strip{grid-template-columns:repeat(7,1fr);gap:4px}}.hm-week-day{background:var(--bg);border-radius:12px;padding:12px 8px;text-align:center;border:1.5px solid rgba(195,198,213,.4);transition:all .15s}.hm-week-day.today{border-color:var(--blue);background:#dae2ff}.hm-week-day.done{background:#d4f0e4;border-color:#82d9b1}.hm-week-day-num{font-size:18px;font-weight:700;color:var(--text);line-height:1;margin-bottom:4px}.hm-week-day-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.hm-week-day-dot{width:6px;height:6px;border-radius:50%;background:var(--line);margin:6px auto 0}.hm-week-day.done .hm-week-day-dot{background:#1f8f5f}.hm-week-day.today .hm-week-day-dot{background:var(--blue)}.hm-notice{padding:12px 16px;border-radius:10px;font-size:13px;font-weight:500;margin-bottom:12px}.hm-notice-success{background:#d4f0e4;color:#1f5c3a}.hm-notice-error{background:#ffdad6;color:#93000a}.hm-notice-info{background:#dae2ff;color:#00327d}.hm-sidebar-section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:12px 12px 4px;opacity:.6}.hm-page-header{margin-bottom:24px}.hm-page-title{font-size:22px;font-weight:700;color:var(--text);margin:0 0 4px}.hm-page-sub{font-size:14px;color:var(--muted);margin:0}.hm-readiness-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.hm-readiness-chip{display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid rgba(195,198,213,.4);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600}.hm-readiness-chip .material-symbols-outlined{font-size:16px;color:#0561a4}.hm-photo{width:100%;max-width:240px;border-radius:10px;margin-top:8px;object-fit:cover}.hm-desktop-topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-bottom:1px solid rgba(195,198,213,.3);background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:50}@media (max-width:768px){.hm-desktop-topbar{display:none}}.hm-desktop-title{font-size:15px;font-weight:600;color:var(--text)}.hm-desktop-actions{display:flex;align-items:center;gap:8px}.hm-nutrition-split{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:768px){.hm-nutrition-split{grid-template-columns:1fr}}.hm-session-card{background:var(--bg);border-radius:14px;padding:16px;border:1.5px solid rgba(195,198,213,.4);margin-bottom:10px}.hm-session-card.today-highlight{border-color:var(--blue);background:#f0f4ff}.hm-session-title{font-size:15px;font-weight:700;color:var(--text);margin:0 0 4px}.hm-session-meta{font-size:13px;color:var(--muted);margin:0 0 10px}.hm-session-rationale{font-size:13px;color:var(--muted);margin:0 0 12px;line-height:1.5}.hm-macro-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}@media (max-width:480px){.hm-macro-row{grid-template-columns:repeat(2,1fr)}}.hm-macro-cell{background:var(--bg);border-radius:10px;padding:10px 12px;text-align:center}.hm-macro-cell-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.hm-macro-cell-value{font-size:18px;font-weight:700;color:var(--text)}.hm-telegram-box{background:#dae2ff;border:1px solid #b3c7ff;border-radius:12px;padding:16px;text-align:center;margin-bottom:16px}.hm-telegram-code{font-size:18px;font-weight:800;color:#00327d;font-family:monospace;background:#fff;border-radius:8px;padding:6px 16px;display:inline-block;margin:8px 0;letter-spacing:.1em}.hm-channel-card{background:var(--bg);border:1.5px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:10px}.hm-channel-card-title{font-size:15px;font-weight:700;color:var(--text);margin:0}.hm-channel-card-sub{font-size:13px;color:var(--muted);margin:0}.hm-channel-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:8px}@media (max-width:480px){.hm-channel-options{grid-template-columns:1fr}}