:root{--bg: #0c0e12;--bg-elevated: #141820;--border: #252b36;--text: #e8ecf4;--muted: #8b95a8;--accent: #3dd68c;--accent-dim: #2a9d5f;--danger: #f87171;--warn: #fbbf24;--font: "DM Sans", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--radius: 12px;--shadow: 0 12px 40px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}#root{position:relative}body{margin:0;font-family:var(--font);background-color:var(--bg);color:var(--text);line-height:1.5}.app-layer{position:relative;z-index:1;min-height:100%}.ambient-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.ambient-bg__slides{position:absolute;top:0;right:0;bottom:0;left:0}.ambient-bg__slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transform:scale(1.06);animation:ambient-slide 28s ease-in-out infinite;will-change:opacity,transform}.ambient-bg__bokeh{position:absolute;top:-14%;right:-14%;bottom:-14%;left:-14%;opacity:.42;mix-blend-mode:soft-light;pointer-events:none;background:radial-gradient(ellipse 520px 380px at 14% 24%,rgba(255,255,255,.11),transparent 58%),radial-gradient(ellipse 460px 520px at 88% 12%,rgba(61,214,140,.14),transparent 55%),radial-gradient(ellipse 400px 360px at 72% 78%,rgba(147,197,253,.1),transparent 52%),radial-gradient(ellipse 340px 440px at 32% 88%,rgba(192,132,252,.09),transparent 50%);background-size:120% 120%,130% 115%,115% 125%,125% 118%;background-position:0% 0%,100% 0%,80% 100%,10% 90%;filter:blur(1.5px);animation:ambient-bokeh-drift 48s ease-in-out infinite alternate}@keyframes ambient-bokeh-drift{0%{background-position:0% 0%,100% 0%,80% 100%,10% 90%;opacity:.36}50%{opacity:.48}to{background-position:8% 12%,92% 8%,68% 88%,18% 96%;opacity:.4}}.ambient-bg__aurora{position:absolute;width:165%;height:165%;left:-32%;top:-38%;opacity:.26;pointer-events:none;mix-blend-mode:screen;filter:blur(72px) saturate(1.4);background:conic-gradient(from 220deg at 48% 45%,#3dd68c8c,#22c55e33 72deg,#2563eb73 160deg,#818cf859 240deg,#c084fc6b 310deg,#3dd68c8c 360deg);animation:ambient-aurora-rotate 84s linear infinite}@keyframes ambient-aurora-rotate{0%{transform:rotate(0) scale(1.02)}to{transform:rotate(360deg) scale(1.02)}}.ambient-bg[data-variant=workouts] .ambient-bg__aurora{background:conic-gradient(from 200deg at 50% 42%,#38bdf880,#6366f161,#a78bfa6b 200deg,#2dd4bf52 290deg,#38bdf880 360deg);opacity:.24}.ambient-bg[data-variant=nutrition] .ambient-bg__aurora{background:conic-gradient(from 160deg at 52% 48%,#fbbf2461,#f59e0b47 90deg,#34d39966 190deg,#ec489938 280deg,#fbbf2461 360deg);opacity:.28}.ambient-bg[data-variant=profile] .ambient-bg__aurora{background:conic-gradient(from 200deg at 50% 45%,#a78bfa52,#5eead442,#818cf847 220deg,#34d39938 320deg,#a78bfa52 360deg);opacity:.22}.ambient-bg__orbs{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.ambient-bg__orb{position:absolute;border-radius:50%;filter:blur(56px);mix-blend-mode:screen;opacity:.55;will-change:transform}.ambient-bg__orb--a{width:min(58vw,720px);height:min(58vw,720px);left:-12%;top:8%;background:radial-gradient(circle at 35% 35%,rgba(61,214,140,.55),transparent 68%);animation:ambient-orb-a 36s ease-in-out infinite}.ambient-bg__orb--b{width:min(48vw,560px);height:min(48vw,560px);right:-8%;bottom:6%;background:radial-gradient(circle at 40% 40%,rgba(96,165,250,.5),transparent 70%);animation:ambient-orb-b 44s ease-in-out infinite}.ambient-bg__orb--c{width:min(42vw,480px);height:min(42vw,480px);left:28%;bottom:-14%;background:radial-gradient(circle at 50% 40%,rgba(192,132,252,.42),transparent 72%);animation:ambient-orb-c 52s ease-in-out infinite}@keyframes ambient-orb-a{0%,to{transform:translate(0) scale(1)}50%{transform:translate(6%,4%) scale(1.06)}}@keyframes ambient-orb-b{0%,to{transform:translate(0) scale(1.02)}45%{transform:translate(-5%,-6%) scale(1.08)}}@keyframes ambient-orb-c{0%,to{transform:translate(0) scale(1)}55%{transform:translate(-4%,-8%) scale(1.12)}}.ambient-bg[data-variant=nutrition] .ambient-bg__orb--a{background:radial-gradient(circle at 35% 35%,rgba(251,191,36,.45),transparent 70%)}.ambient-bg[data-variant=nutrition] .ambient-bg__orb--b{background:radial-gradient(circle at 40% 40%,rgba(52,211,153,.42),transparent 70%)}.ambient-bg[data-variant=nutrition] .ambient-bg__orb--c{background:radial-gradient(circle at 50% 40%,rgba(244,114,182,.28),transparent 72%)}.ambient-bg[data-variant=workouts] .ambient-bg__orb--a{background:radial-gradient(circle at 35% 35%,rgba(45,212,191,.42),transparent 70%)}.ambient-bg[data-variant=workouts] .ambient-bg__orb--b{background:radial-gradient(circle at 40% 40%,rgba(129,140,248,.48),transparent 70%)}.ambient-bg[data-variant=workouts] .ambient-bg__orb--c{background:radial-gradient(circle at 50% 40%,rgba(56,189,248,.35),transparent 72%)}.ambient-bg[data-variant=profile] .ambient-bg__orb--a{background:radial-gradient(circle at 35% 35%,rgba(167,139,250,.38),transparent 70%)}.ambient-bg[data-variant=profile] .ambient-bg__orb--b{background:radial-gradient(circle at 40% 40%,rgba(45,212,191,.32),transparent 70%)}.ambient-bg[data-variant=profile] .ambient-bg__orb--c{background:radial-gradient(circle at 50% 40%,rgba(129,140,248,.26),transparent 72%)}.ambient-bg__sheen{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;opacity:.045;pointer-events:none;mix-blend-mode:overlay;background:linear-gradient(118deg,transparent 0%,transparent 42%,rgba(255,255,255,.55) 50.5%,transparent 59%,transparent 100%);background-size:220% 220%;background-position:0% 0%;animation:ambient-sheen 28s ease-in-out infinite}@keyframes ambient-sheen{0%,to{background-position:-30% -20%}50%{background-position:40% 25%}}.ambient-bg__vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 92% 88% at 50% 48%,transparent 0%,rgba(4,6,10,.55) 100%);mix-blend-mode:multiply;opacity:.72}@keyframes ambient-slide{0%{opacity:0;transform:scale(1.08)}7%{opacity:.4}22%{opacity:.4;transform:scale(1)}30%{opacity:0}to{opacity:0;transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.ambient-bg__slide{animation:none!important;opacity:0}.ambient-bg__slide:first-child{opacity:.38;transform:none}.ambient-bg__bokeh,.ambient-bg__aurora,.ambient-bg__orb,.ambient-bg__sheen{animation:none!important}.ambient-bg__bokeh{opacity:.34}.ambient-bg__aurora{transform:none;opacity:.18}.ambient-bg__orb{opacity:.38}.ambient-bg__sheen{opacity:.03;background-position:10% 10%}.ambient-bg__mesh{animation:none!important;opacity:.88;filter:none}.ambient-bg__videos{display:none!important}.brand:hover{transform:none}}.ambient-bg__videos{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.ambient-bg__video-slot{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity 1.5s ease;pointer-events:none}.ambient-bg__video-slot.is-active{opacity:1}.ambient-bg__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);transform-origin:center center;opacity:.38;filter:blur(7px) brightness(.82) saturate(1.08) contrast(1.04)}.ambient-bg__mesh{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(1100px 780px at 10% -8%,rgba(61,214,140,.16),transparent 54%),radial-gradient(960px 680px at 98% 6%,rgba(37,99,235,.13),transparent 48%),radial-gradient(880px 560px at 48% 104%,rgba(192,132,252,.1),transparent 56%),radial-gradient(600px 480px at 52% 38%,rgba(255,255,255,.04),transparent 62%);mix-blend-mode:screen;opacity:.9;animation:ambient-mesh-breathe 22s ease-in-out infinite alternate}@keyframes ambient-mesh-breathe{0%{opacity:.84;filter:saturate(1)}to{opacity:.94;filter:saturate(1.12)}}.ambient-bg__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(185deg,#0a0c1085,#0c0e12c7 42%,#080a0ef0)}.ambient-bg__grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.065;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px 220px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}code{font-family:var(--mono);font-size:.9em}.app-shell{min-height:100%;display:flex;flex-direction:column}.loading-screen{display:grid;place-items:center;min-height:60vh;color:var(--muted)}.top-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:#0c0e12d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text);position:relative;padding:clamp(2px,.2vw,3px);border-radius:9999px;background:linear-gradient(128deg,#ffffff6b,#3dd68c59 38%,#818cf838 62%,#ffffff24);box-shadow:0 0 0 1px #ffffff1f,0 2px 8px #3dd68c14,0 12px 32px #00000059;transition:box-shadow .28s ease,transform .28s ease}.brand:hover{text-decoration:none;color:var(--accent);box-shadow:0 0 0 1px #ffffff2e,0 4px 20px #3dd68c33,0 16px 44px #0000006b;transform:translateY(-1px)}.brand-logo{height:40px;width:auto;max-width:140px;object-fit:contain;display:block;border-radius:9999px;padding:.28rem .52rem;box-sizing:content-box;background:linear-gradient(168deg,#fff3,#ffffff0d 42%,#0a0c10a6),#080a0ee0;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #ffffff47,inset 0 -1px #00000038,0 2px 10px #00000047;filter:brightness(1.16) contrast(1.08);transition:filter .28s ease,box-shadow .28s ease}.brand:hover .brand-logo{filter:brightness(1.26) contrast(1.1);box-shadow:inset 0 1px #ffffff57,inset 0 -1px #0000002e,0 4px 16px #3dd68c1f}.auth-brand{display:flex;justify-content:center;width:fit-content;max-width:100%;margin:0 auto 1.25rem;padding:clamp(3px,.25vw,4px);border-radius:9999px;background:linear-gradient(128deg,#ffffff61,#3dd68c52 40%,#818cf833 65%,#ffffff1f);box-shadow:0 0 0 1px #ffffff1f,0 6px 24px #3dd68c1f,0 20px 48px #0006}.auth-logo{height:auto;width:min(200px,70vw);max-height:96px;object-fit:contain;border-radius:9999px;padding:.52rem .88rem;box-sizing:content-box;background:linear-gradient(168deg,#ffffff38,#ffffff0f 45%,#0c0e1494),#080a0ee6;border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 1px #ffffff4d,inset 0 -1px #0003,0 4px 18px #00000052;filter:brightness(1.14) contrast(1.07);transition:filter .35s ease,box-shadow .35s ease}.auth-card:hover .auth-logo{filter:brightness(1.22) contrast(1.09);box-shadow:inset 0 1px #ffffff5c,inset 0 -1px #00000029,0 6px 22px #3dd68c24}.nav-main{display:flex;flex-wrap:wrap;gap:.25rem .75rem;flex:1}.nav-link{padding:.35rem .65rem;border-radius:8px;color:var(--muted);font-size:.95rem}.nav-link:hover{color:var(--text);text-decoration:none;background:#ffffff0d}.nav-link.active{color:var(--bg);background:var(--accent);font-weight:600}.user-area{display:flex;align-items:center;gap:.75rem;margin-left:auto}.user-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:var(--muted)}.badge-premium{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .45rem;border-radius:6px;background:#3dd68c26;color:var(--accent);border:1px solid rgba(61,214,140,.35)}.badge-trial{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .45rem;border-radius:6px;background:#e8b9481f;color:#e8c96a;border:1px solid rgba(232,185,72,.35)}.main-content{flex:1;padding:1.5rem clamp(1rem,4vw,2.5rem) 3rem;max-width:1200px;width:100%;margin:0 auto}.page-header{margin-bottom:1.5rem}.home-intro{margin:.65rem 0 0;max-width:42ch;font-size:.9rem;line-height:1.45;color:var(--muted)}.page-header h1{margin:0 0 .35rem;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em}.muted{color:var(--muted)}.muted.small,.small{font-size:.875rem}.page{animation:fade .35s ease}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ai-coach-chat{display:flex;flex-direction:column;gap:.65rem}.ai-coach-chat__actions{display:flex;justify-content:flex-end}.ai-assistant-reply{margin-bottom:1rem}.ai-assistant-reply h3{margin-bottom:.5rem}.ai-reply-prose{margin:0;white-space:pre-wrap;line-height:1.55;color:var(--text);font-size:.95rem}.grid-cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.voice-coach__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.voice-coach__status{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.voice-pill{font-size:.75rem;font-weight:700;letter-spacing:.02em;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:#ffffff0f}.voice-pill.live{color:#7dd3fc;border-color:#7dd3fc59;background:#7dd3fc1a}.voice-pill.speak{color:var(--accent);border-color:#3dd68c59;background:#3dd68c1f}.voice-coach__controls{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-bottom:.85rem}.mic-btn{width:56px;height:56px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text);font-weight:800;cursor:pointer;transition:transform .1s,background .15s,border-color .15s}.mic-btn:hover:not(:disabled){background:#ffffff1a}.mic-btn:disabled{opacity:.55;cursor:not-allowed}.mic-btn.is-live{background:#7dd3fc1f;border-color:#7dd3fc73;animation:micPulse 1.2s ease-in-out infinite}@keyframes micPulse{0%{box-shadow:0 0 #7dd3fc59}70%{box-shadow:0 0 0 14px #7dd3fc00}to{box-shadow:0 0 #7dd3fc00}}.voice-coach__history{border:1px solid var(--border);border-radius:14px;padding:.9rem 1rem;background:#0000002e}.chat-bubbles{display:flex;flex-direction:column;gap:.6rem}.bubble{max-width:72ch;padding:.7rem .85rem;border-radius:14px;border:1px solid var(--border);line-height:1.45;white-space:pre-wrap}.bubble.user{align-self:flex-end;background:#7dd3fc17;border-color:#7dd3fc38}.bubble.assistant{align-self:flex-start;background:#3dd68c14;border-color:#3dd68c2e}.grid-2{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-2.tight{gap:.75rem}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.card.accent{border-color:#3dd68c59;background:linear-gradient(160deg,rgba(61,214,140,.08),var(--bg-elevated))}.card h3{margin:0 0 .75rem;font-size:1.05rem}.stat-list{list-style:none;padding:0;margin:0 0 .75rem}.stat-list li{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-bottom:1px solid var(--border);font-size:.95rem}.stat-list li span{color:var(--muted)}.stat-list li strong{font-variant-numeric:tabular-nums}.link-inline{font-size:.9rem}.quick-actions{display:flex;flex-wrap:wrap;gap:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem 1rem;border-radius:10px;border:1px solid transparent;cursor:pointer;font-weight:600;transition:background .15s,border-color .15s,transform .1s}.btn:disabled{opacity:.55;cursor:not-allowed}@keyframes fitai-spin{to{transform:rotate(360deg)}}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fitai-spin .65s linear infinite;flex-shrink:0}.btn.primary{background:linear-gradient(180deg,var(--accent),var(--accent-dim));color:#04120a;border-color:#ffffff1f}.btn.primary:hover:not(:disabled){filter:brightness(1.05)}.btn.secondary{background:#ffffff0f;border-color:var(--border);color:var(--text)}.btn.secondary:hover:not(:disabled){background:#ffffff1a}.btn.ghost{background:transparent;border-color:var(--border);color:var(--muted);font-weight:500;padding:.4rem .75rem}.btn.ghost:hover:not(:disabled){color:var(--text);border-color:var(--muted)}.btn.danger{background:#f871711f;border-color:#f8717173;color:#fecaca}.btn.danger:hover:not(:disabled){background:#f8717133;border-color:#f871718c}.btn.small{padding:.4rem .75rem;font-size:.85rem}.form-stack{display:flex;flex-direction:column;gap:1rem}.form-stack.tight{gap:.65rem}.food-combobox-label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--muted)}.food-combobox{position:relative;z-index:1}.food-combobox--open{z-index:25}.food-combobox-input{width:100%;padding:.55rem .65rem;border-radius:8px;border:1px solid var(--border);background:#0a0c10}.food-combobox-input:focus{outline:2px solid rgba(61,214,140,.45);border-color:var(--accent-dim)}.food-combobox-list{list-style:none;margin:.35rem 0 0;padding:.25rem;position:absolute;left:0;right:0;top:100%;max-height:240px;overflow-y:auto;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow)}.food-combobox-empty{padding:.65rem .5rem;font-size:.88rem;line-height:1.45}.food-combobox-option{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;margin:0;padding:.5rem .55rem;border:none;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.food-combobox-option:hover{background:#3dd68c1a}.food-combobox-name{font-weight:600;color:var(--text)}.food-combobox-meta{font-variant-numeric:tabular-nums}.form-stack label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--muted)}.form-stack input,.form-stack select,.form-stack textarea{padding:.55rem .65rem;border-radius:8px;border:1px solid var(--border);background:#0a0c10}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{outline:2px solid rgba(61,214,140,.45);border-color:var(--accent-dim)}.card input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),.card select,.card textarea{padding:.55rem .65rem;border-radius:8px;border:1px solid var(--border);background:#0a0c10;color:var(--text)}.card textarea{width:100%;min-height:4.5rem;resize:vertical}.card input::placeholder,.card textarea::placeholder{color:var(--muted);opacity:1}.card input:focus,.card select:focus,.card textarea:focus{outline:2px solid rgba(61,214,140,.45);border-color:var(--accent-dim)}.inline-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem;font-size:.9rem;color:var(--muted)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.row-between.align-start{align-items:flex-start}.row-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem}.row-inline label{display:flex;flex-direction:column;gap:.35rem}.macro-row{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none;padding:0;margin:0}.macro-row li{flex:1;min-width:72px;padding:.5rem .65rem;border-radius:8px;background:#00000040;border:1px solid var(--border)}.macro-row span{display:block;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.macro-row strong{font-size:1.15rem;font-variant-numeric:tabular-nums}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{text-align:left;padding:.5rem .65rem;border-bottom:1px solid var(--border)}.data-table th{color:var(--muted);font-weight:500}.data-table th.col-actions,.data-table td.col-actions{text-align:right;width:1%;white-space:nowrap}.data-table .log-actions{display:inline-flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.data-table td input.compact,.data-table td select.compact{max-width:6.5rem;padding:.35rem .45rem;border-radius:8px;border:1px solid var(--border);background:#0a0c10;font-size:.85rem}.data-table td select.compact-wide{max-width:11rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;padding:1.25rem;background:#06080cbf;-webkit-backdrop-filter:blur(12px) saturate(1.15);backdrop-filter:blur(12px) saturate(1.15);animation:modal-overlay-in .22s ease}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}.modal-sheet{width:min(440px,100%);position:relative;clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 16px,100% calc(100% - 16px),calc(100% - 16px) 100%,16px 100%,0 calc(100% - 16px),0 16px);background:linear-gradient(155deg,#1e2434fa,#0e1016fc);border:1px solid rgba(255,255,255,.07);box-shadow:0 28px 90px #000000b8,0 0 0 1px #3dd68c1a,inset 0 1px #ffffff0a;animation:modal-sheet-in .32s cubic-bezier(.22,1,.36,1)}@keyframes modal-sheet-in{0%{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:none}}.modal-sheet-accent{height:5px;width:100%;background:linear-gradient(90deg,var(--accent),#2563eb 55%,#c084fc);opacity:.95}.modal-sheet-inner{padding:1.35rem 1.5rem 1.5rem}.modal-sheet-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:radial-gradient(circle at 30% 25%,#fecaca33,#f8717114);border:1px solid rgba(248,113,113,.38);color:#fecaca;margin-bottom:1rem;box-shadow:0 10px 32px #f8717124}.modal-sheet-title{margin:0 0 .45rem;font-size:1.28rem;letter-spacing:-.03em;line-height:1.2}.modal-sheet-desc{margin:0 0 1rem;font-size:.95rem;color:var(--muted);line-height:1.55}.modal-sheet-desc strong{color:var(--text);font-weight:600}.modal-sheet-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1rem;margin:0 0 1.35rem;padding:.9rem 1rem;border-radius:12px;background:#00000061;border:1px solid var(--border);font-size:.86rem}.modal-sheet-meta div{min-width:0}.modal-sheet-meta dt{margin:0;color:var(--muted);font-weight:500;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.modal-sheet-meta dd{margin:.22rem 0 0;font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.modal-sheet-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}@media(prefers-reduced-motion:reduce){.modal-overlay,.modal-sheet{animation:none}}.plan-list{list-style:none;padding:0;margin:0}.plan-list li{margin-bottom:1rem}.diet-plan-card{padding-top:.35rem}.diet-plan-body{margin-top:.65rem}.diet-plan-headline{margin:0 0 .35rem;font-size:.95rem}.diet-plan-macros-line{margin:0 0 .75rem}.diet-plan-meal{margin-bottom:.65rem;padding:.85rem 1rem;border-radius:10px;border:1px solid var(--border);background:#00000038}.diet-plan-meal h4{margin:0 0 .35rem;font-size:1rem;color:var(--accent);letter-spacing:-.01em}.meal-summary{margin:0 0 .5rem;font-size:.9rem;color:var(--muted);line-height:1.45}.meal-foods{margin:0;padding-left:1.15rem;font-size:.9rem;line-height:1.45}.meal-foods li{margin-bottom:.2rem}.meal-macros{margin:.55rem 0 0;font-size:.78rem;color:var(--muted)}.meal-options{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.meal-option{padding:.75rem .85rem;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0000002e}.meal-option>.row-between{margin-bottom:.35rem}.diet-plan-tips{margin-top:.85rem;font-size:.9rem}.diet-plan-tips strong{display:block;margin-bottom:.35rem;color:var(--text)}.diet-plan-tips ul{margin:0;padding-left:1.15rem;color:var(--muted);line-height:1.45}.workouts-gen-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;margin-top:.75rem}.workouts-field{display:flex;flex-direction:column;gap:.35rem;min-width:8rem}.saved-plan-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.saved-plan-badge{font-size:.75rem;font-weight:700;letter-spacing:.02em;padding:.2rem .5rem;border-radius:999px;color:var(--accent);background:#3dd68c1f;border:1px solid rgba(61,214,140,.28);text-transform:lowercase}.saved-plan-prose{border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem;background:#0000002e}.workouts-field-label{font-size:.9rem;font-weight:600;color:var(--accent);letter-spacing:.01em}.workouts-field input{padding:.55rem .65rem;border-radius:8px;border:1px solid var(--border);background:#0a0c10;max-width:6rem}.workout-plan-body{margin-top:.65rem}.workout-plan-meta{margin:0 0 .75rem;line-height:1.45}.workout-day-block{margin-bottom:1rem;padding:.85rem 1rem;border-radius:10px;border:1px solid var(--border);background:#0003}.workout-day-block h4{margin:0 0 .65rem;font-size:1rem}.workout-phase{margin-top:.55rem;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:#0000001f;padding:.35rem .55rem .55rem}.workout-phase__summary{cursor:pointer;font-weight:650;font-size:.92rem;list-style:none}.workout-phase__summary::-webkit-details-marker{display:none}.workout-phase__body{margin-top:.45rem}.workout-phase__body.glass-inset{padding:.55rem .65rem}.workout-phase-list{margin:0;padding-left:1.1rem;font-size:.88rem;line-height:1.45}.workout-phase-list li{margin-bottom:.3rem}.workout-location-block{margin-bottom:.65rem}.workout-location-block:last-child{margin-bottom:0}.workout-location-title{display:block;margin-bottom:.35rem;font-size:.85rem}.workout-location-title.home{color:#7dd3fc}.workout-location-title.gym{color:#c4b5fd}.workout-location-block ul{margin:0;padding-left:1.15rem;font-size:.9rem;line-height:1.45}.workout-location-block li{margin-bottom:.25rem}.workout-session-tag{font-size:.78rem;font-weight:600;text-transform:lowercase}.workout-session-tag.tag-home{color:#7dd3fc}.workout-session-tag.tag-gym{color:#c4b5fd}.workout-session-tag.tag-both{color:#86efac}.json-block{margin:.5rem 0 0;padding:.75rem;border-radius:8px;background:#080a0e;border:1px solid var(--border);font-family:var(--mono);font-size:.75rem;overflow:auto;max-height:320px}.metrics-inline{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.9rem;color:var(--muted)}.metrics-inline span strong{color:var(--text)}.alert{padding:.65rem .85rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.alert.error{background:#f871711f;border:1px solid rgba(248,113,113,.35);color:#fecaca}.alert.success{background:#3dd68c1f;border:1px solid rgba(61,214,140,.35);color:#bbf7d0}.alert.warn{background:#fbbf241a;border:1px solid rgba(251,191,36,.35);color:#fde68a}.auth-page{position:relative;min-height:100%;display:grid;place-items:center;padding:2rem 1rem}.auth-card{width:100%;max-width:400px;padding:2rem;border-radius:var(--radius);background:linear-gradient(165deg,#141820eb,#0c0e12e0);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 50px #00000080}.auth-card h1{margin:0 0 .35rem;font-size:clamp(1.35rem,2.5vw,1.65rem);letter-spacing:-.03em;font-weight:800;background:linear-gradient(120deg,var(--text) 0%,#c7d2fe 50%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-card .form-stack{margin-top:1.25rem}.auth-error-callout{position:relative;display:flex;align-items:flex-start;gap:.8rem;padding:.9rem 1rem .95rem .95rem;margin:0 0 1rem;border-radius:14px;overflow:hidden;border:1px solid rgba(251,113,133,.35);background:linear-gradient(125deg,#180a0eeb,#300c148c 45%,#1e121cbf);box-shadow:0 0 0 1px #00000059,0 12px 32px #f43f5e1f,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-error-callout__glow{position:absolute;inset:-40% -20% auto -20%;height:70%;background:radial-gradient(ellipse at 50% 0%,rgba(251,113,133,.22),transparent 65%);pointer-events:none}.auth-error-callout__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:10px;color:#fecdd3;background:#f43f5e2e;border:1px solid rgba(251,113,133,.28);box-shadow:0 2px 12px #f43f5e26}.auth-error-callout__icon svg{width:1.15rem;height:1.15rem}.auth-error-callout__text{position:relative;z-index:1;min-width:0}.auth-error-callout__title{margin:0 0 .2rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fda4af}.auth-error-callout__msg{margin:0;font-size:.9rem;line-height:1.45;color:#ffe4e6;font-weight:500}.page-contained{max-width:960px;margin-inline:auto}.page-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.25rem 1.5rem;margin-bottom:1.75rem;padding:1.35rem 1.5rem;border-radius:calc(var(--radius) + 4px);border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#141820eb,#0c0e128c);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.page-hero h1{margin:0 0 .4rem;font-size:clamp(1.65rem,3.2vw,2.15rem);letter-spacing:-.035em;font-weight:800;background:linear-gradient(120deg,var(--text) 0%,#c7d2fe 45%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-lead{margin:0;max-width:44rem;font-size:.98rem;line-height:1.55;color:var(--muted)}.page-lead strong{color:var(--text);font-weight:700}.page-hero .home-intro{margin:.55rem 0 0;max-width:44rem;font-size:.9rem;line-height:1.5;color:var(--muted)}.page-hero-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;min-width:min(100%,220px)}.page-hero-meta__email{font-size:.82rem;color:var(--muted);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.page-hero-meta__badges{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.page-alerts{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.25rem}.page-alerts .alert{margin-bottom:0}.page-split{display:grid;gap:1.25rem;grid-template-columns:1fr}@media(min-width:900px){.page-split{grid-template-columns:minmax(240px,280px) 1fr;align-items:start}}.page-split-sidebar{display:flex;flex-direction:column;gap:.85rem}.card.page-insights{background:linear-gradient(165deg,#818cf81a,#141820e0);border-color:#818cf847}.card.page-insights h3{margin:0 0 .9rem;font-size:.95rem;font-weight:700;letter-spacing:.02em;color:var(--text)}.page-metric-grid{display:grid;gap:.65rem}.page-metric-card{padding:.75rem .85rem;border-radius:10px;border:1px solid var(--border);background:#0003}.page-metric-card__label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}.page-metric-card__value{font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text)}.page-metric-card__hint{margin:.25rem 0 0;font-size:.78rem;color:var(--muted);line-height:1.35}.page-split-main{display:flex;flex-direction:column;gap:1rem}.page-section{padding:1.35rem 1.4rem;background:#141820b8;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);box-shadow:0 8px 32px #00000059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.page-section__head{margin-bottom:1.1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.page-section__head h2{margin:0 0 .25rem;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.page-section__head p{margin:0;font-size:.875rem;line-height:1.45;color:var(--muted)}.page-field-hint{display:block;margin-top:.25rem;font-size:.78rem;color:var(--muted);line-height:1.35}.page-save-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.15rem;border-radius:var(--radius);border:1px solid rgba(61,214,140,.25);background:linear-gradient(90deg,#3dd68c14,#141820d9)}.page-save-row .btn.primary{min-width:10.5rem}.page-skel{border-radius:calc(var(--radius) + 4px);background:linear-gradient(90deg,#ffffff0a,#ffffff17,#ffffff0a);background-size:200% 100%;animation:page-skel-shimmer 1.4s ease-in-out infinite}@keyframes page-skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.page-skel-hero{height:132px;margin-bottom:1.5rem}.page-skel-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:900px){.page-skel-grid{grid-template-columns:260px 1fr}}.page-skel-card{height:220px;border-radius:var(--radius)}.page-skel-card--tall{height:420px}.page>section.card,.page>.grid-cards>.card,.page .grid-2>section.card{background:#141820b8;border-color:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #00000047}.page>section.card.accent{background:linear-gradient(160deg,#3dd68c1f,#141820c7);border-color:#3dd68c4d}.pill{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.22rem .55rem;border-radius:999px;border:1px solid var(--border)}.pill.ok{color:#86efac;border-color:#3dd68c66;background:#3dd68c1f}.pill.danger{color:#fecaca;border-color:#f8717173;background:#f871711f}.top-bar{padding:.85rem clamp(1rem,3vw,1.75rem);border-bottom-color:#252b36d9}.nav-link{padding:.45rem .8rem;border-radius:999px}.nav-link.active{box-shadow:0 4px 18px #3dd68c38}.user-email{max-width:min(220px,28vw)}.main-content{padding-top:1.75rem}.food-photo-card--drag{border-color:#7dd3fc8c;box-shadow:0 0 0 1px #7dd3fc40,0 12px 40px #00000059}.food-photo-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.food-photo-dropzone{margin-top:.75rem;border-radius:14px;border:1px dashed rgba(255,255,255,.18);background:#00000038;min-height:180px;display:grid;place-items:center;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}.food-photo-dropzone:hover:not(:disabled){border-color:#3dd68c73;background:#3dd68c0f}.food-photo-dropzone-inner{text-align:center;padding:1.25rem}.food-photo-drop-title{display:block;font-weight:700;font-size:1rem;margin-bottom:.35rem}.food-photo-preview{max-width:100%;max-height:240px;object-fit:contain;border-radius:10px;display:block}.food-photo-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem;margin-top:.85rem}.food-photo-summary{margin-top:.85rem;padding:.65rem .85rem;border-radius:10px;border:1px solid var(--border);background:#0000002e}.food-photo-summary-label{color:var(--accent);margin-right:.35rem}.food-photo-tip{margin-top:.75rem;padding:.75rem .85rem;border-radius:10px;border:1px solid rgba(129,140,248,.35);background:#818cf814}.food-photo-ingredients{margin-top:.85rem}.food-photo-ingredient-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.food-photo-ingredient-card{padding:.75rem .85rem;border-radius:12px;border:1px solid var(--border);background:#0c0e128c;animation:fade .35s ease}.food-photo-ingredient-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.food-photo-tag{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);color:var(--muted)}.food-photo-ingredient-macros{margin-top:.35rem}.subscription-plans{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.subscription-plan-card{position:relative;padding:1.25rem 1.1rem 1.1rem;border-radius:var(--radius);border:1px solid var(--border);background:#0c0e12a6;display:flex;flex-direction:column;min-height:100%}.subscription-plan-card--featured{border-color:#3dd68c8c;box-shadow:0 0 0 1px #3dd68c1f,var(--shadow)}.subscription-plan-badge{position:absolute;top:.65rem;right:.65rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .5rem;border-radius:999px;background:linear-gradient(180deg,var(--accent),var(--accent-dim));color:#04120a}.subscription-plan-title{margin:0 0 .35rem;font-size:1.05rem;padding-right:5.5rem}.subscription-plan-card--featured .subscription-plan-title{color:var(--accent)}.subscription-plan-price{margin:0;font-size:1.65rem;letter-spacing:-.02em}.subscription-plan-cycle{margin:.15rem 0 .5rem}.subscription-plan-savings{margin:0 0 .65rem;font-size:.85rem;font-weight:600;color:var(--accent)}.subscription-plan-features{margin:0;padding-left:1.1rem;font-size:.88rem;color:var(--muted);line-height:1.45;flex:1}.subscription-plan-features li{margin-bottom:.35rem}.glass-panel{background:#1418208c;border:1px solid rgba(255,255,255,.08);border-radius:calc(var(--radius) + 4px);box-shadow:0 8px 32px #00000059;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.glass-inset{background:#080a0e73;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius)}.persona-toggle{margin:1rem 0 1.25rem}.persona-label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.5rem}.persona-segment{display:flex;gap:0;border-radius:999px;border:1px solid var(--border);overflow:hidden;background:#00000040}.persona-segment button{flex:1;border:none;background:transparent;color:var(--muted);font-family:inherit;font-size:.88rem;font-weight:600;padding:.55rem .75rem;cursor:pointer;transition:background .2s,color .2s}.persona-segment button.active{background:linear-gradient(180deg,#3dd68c40,#3dd68c14);color:var(--text)}.coach-brand-tag{margin-left:.35rem;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);vertical-align:middle}.coach-top-bar{border-bottom:1px solid rgba(255,255,255,.06)}.coach-main{padding-bottom:3rem}.coach-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.5rem 1.35rem;margin-bottom:1.25rem}.coach-usage-pill{min-width:200px;padding:1rem 1.15rem}.coach-usage-numbers{font-size:2rem;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.coach-usage-sep{opacity:.35;margin:0 .2rem}.coach-usage-caption{margin:.35rem 0 0}.coach-live-count{font-variant-numeric:tabular-nums}.coach-cta-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;margin-bottom:1.25rem}.coach-add-section{padding:1.25rem 1.35rem;margin-bottom:1.5rem}.coach-add-form{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.75rem}.coach-add-form input{flex:1;min-width:200px;padding:.55rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:#00000059;color:var(--text);font-family:inherit}.coach-client-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.coach-client-card{padding:1.15rem 1.2rem}.coach-client-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.65rem}.coach-client-card h4{margin:0 0 .2rem;font-size:1rem}.coach-progress{font-size:.88rem;color:var(--muted);margin:0 0 .85rem}.coach-ai-actions{display:flex;flex-wrap:wrap;gap:.5rem}.coach-ai-preview{margin-top:.85rem;padding:.65rem .75rem;border-radius:var(--radius)}.coach-ai-preview-summary{cursor:pointer;font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}.coach-ai-pre{margin:0;max-height:240px;overflow:auto;padding:.5rem .6rem;font-family:var(--mono);font-size:.72rem;line-height:1.4;background:#00000059;border-radius:8px;border:1px solid rgba(255,255,255,.06);white-space:pre-wrap;word-break:break-word}.btn.sm{font-size:.8rem;padding:.35rem .65rem}.danger-text{color:var(--danger)!important}.coach-empty{padding:2rem 1.5rem;text-align:center}.coach-plan-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.coach-plan-grid--wide{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.15rem}.coach-subscribe-page{padding-bottom:2.5rem}.coach-subscribe-hero .page-lead{max-width:42rem;margin-bottom:0}.coach-plans-toolbar{padding:1rem 1.15rem 1.05rem;margin-bottom:1.15rem}.coach-plans-toolbar__row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 1.25rem}.coach-plans-toolbar__title{margin:0 0 .2rem;font-size:.95rem;font-weight:700;letter-spacing:.02em}.coach-plans-toolbar__subtitle{margin:0;max-width:28rem;line-height:1.4}.coach-plans-toolbar__chips{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06)}.coach-billing-toggle{display:inline-flex;padding:.2rem;border-radius:999px;background:#00000059;border:1px solid rgba(255,255,255,.08);gap:.12rem}.coach-billing-toggle__btn{border:0;cursor:pointer;font-size:.8rem;font-weight:600;padding:.45rem .95rem;border-radius:999px;color:var(--muted);background:transparent;transition:color .2s ease,background .2s ease,box-shadow .2s ease}.coach-billing-toggle__btn:hover{color:var(--text);background:#ffffff0f}.coach-billing-toggle__btn.is-active{color:#04120a;background:linear-gradient(180deg,var(--accent),var(--accent-dim));box-shadow:0 2px 12px #3dd68c40}.coach-billing-toggle__short{display:none}@media(max-width:520px){.coach-billing-toggle__full{display:none}.coach-billing-toggle__short{display:inline}.coach-billing-toggle__btn{padding:.45rem .7rem;min-width:3.25rem}}.coach-plan-chip{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;font-weight:700;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}.coach-plan-chip--mint{color:#04120a;background:linear-gradient(180deg,#3dd68c,#3dd68cb8)}.coach-plan-chip--gold{color:#201200;background:linear-gradient(180deg,#ffcb42,#e6aa28e0)}.coach-plan-grid-v2{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:560px){.coach-plan-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:880px){.coach-plan-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1180px){.coach-plan-grid-v2{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.1rem}}@media(min-width:1440px){.coach-plan-grid-v2{gap:1.25rem}}.coach-plan-card-v2{position:relative;display:flex;flex-direction:column;min-height:0;padding:2.4rem 1.15rem 1.2rem;overflow:hidden}.coach-plan-card-v2__body{display:flex;flex-direction:column;flex:1;min-height:100%}.coach-plan-card-v2__title{margin:0 0 .35rem;font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.coach-plan-card-v2__price-block{margin-top:auto;padding-top:1rem}.coach-plan-price-hero{font-size:clamp(1.45rem,2.8vw,1.85rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;background:linear-gradient(120deg,var(--text) 0%,#e2e8f0 55%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.coach-plan-card-v2__period{margin:.35rem 0 .5rem}.coach-plan-card-v2__equiv{margin:.45rem 0 0}.coach-plan-card-v2__cta{margin-top:1rem}.coach-plan-card-v2__btn{width:100%;justify-content:center;font-weight:700}.coach-plan-card{position:relative;padding:1.35rem 1.2rem 1.2rem}.coach-plan-card--featured{border-color:#3dd68c73;box-shadow:0 0 0 1px #3dd68c1a,var(--shadow)}.coach-plan-card--best-value{border-color:#ffcb426b;box-shadow:0 0 0 1px #ffcb421f,var(--shadow)}.coach-plan-card--enterprise{border-color:#818cf873;box-shadow:0 0 0 1px #818cf824,var(--shadow)}.coach-plan-card--enterprise:hover{border-color:#a5b4fc8c;box-shadow:0 8px 32px #00000059,0 0 0 1px #a5b4fc33}.coach-plan-card--featured:hover{border-color:#3dd68c8c;box-shadow:0 8px 32px #00000059,0 0 0 1px #3dd68c2e}.coach-plan-card:not(.coach-plan-card--featured):not(.coach-plan-card--enterprise):hover{border-color:#ffffff1f;box-shadow:0 10px 36px #00000052}.coach-plan-badge{position:absolute;top:.65rem;right:.65rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .5rem;border-radius:999px;background:linear-gradient(180deg,var(--accent),var(--accent-dim));color:#04120a}.coach-plan-badge--value{background:linear-gradient(180deg,#ffcb42,#e6aa28e0);color:#201200}.coach-plan-badge--enterprise{background:linear-gradient(180deg,#a5b4fc,#6366f1d9);color:#0c0a1a}.coach-plan-savings--inline{vertical-align:middle}.coach-plan-price{margin:.35rem 0;font-size:1.55rem}.coach-plan-desc{font-size:.88rem;color:var(--muted);line-height:1.45;margin:.75rem 0 0}.coach-plan-pricing{display:flex;flex-direction:column;gap:.6rem}.coach-plan-line{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.6rem;padding:.5rem .55rem;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:#ffffff08}.coach-plan-line--best{border-color:#ffcb4240;background:#ffcb420f}.coach-plan-savings{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-weight:700;font-size:.65rem;color:#04120a;background:linear-gradient(180deg,#3dd68c,#3dd68cb3)}.coach-plan-best{display:inline-flex;align-items:center;margin-left:.4rem;padding:.12rem .45rem;border-radius:999px;font-weight:800;font-size:.65rem;color:#201200;background:linear-gradient(180deg,#ffcb42,#ffcb42b3)}.coach-plans-empty{padding:1.25rem}.admin-top-bar{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1rem;margin-bottom:1rem}.admin-stats{padding:1.15rem 1.25rem;margin-bottom:1rem}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.admin-stat-num{font-size:1.75rem;font-weight:800;margin:.15rem 0 0;font-variant-numeric:tabular-nums}.admin-coach-table{padding:1.15rem 1.25rem}.admin-table-wrap{overflow-x:auto;margin-top:.75rem}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;padding:.55rem .65rem;border-bottom:1px solid var(--border)}.admin-roster-preview{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06)}.admin-roster-list{margin:.5rem 0 0;padding-left:1.1rem;color:var(--muted);font-size:.88rem}.link-inline{color:var(--accent);text-decoration:none}.link-inline:hover{text-decoration:underline}
