@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}:root{--mova-hero: #992C61;--mova-hero-dark: #7a2350;--mova-primary: #FBC7D7;--mova-secondary-oat: #F1EADA;--mova-secondary-sage: #8B9483;--mova-accent: #3F5A4B;--mova-text: #000000;--mova-bg: #FFFFFF;--mova-border: rgba(139, 148, 131, .35);--mova-surface-subtle: rgba(241, 234, 218, .6);--forma-primary: var(--mova-hero);--forma-secondary: var(--mova-hero);--forma-accent: var(--mova-hero);--forma-accent-light: #b83d75;--forma-light: var(--mova-secondary-sage);--forma-muted: var(--mova-secondary-sage);--forma-surface: var(--mova-primary);--mova-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mova-font-heading: var(--mova-font-body)}:root{font-family:var(--mova-font-body);line-height:1.5;font-weight:400;color:var(--mova-text);background-color:var(--mova-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6,.dashboard-welcome,.dashboard-section-title,.dashboard-date,.meals-page-title,.drawer-section-title,.sidebar-nav a,.sidebar-section-toggle,.bottom-bar-btn,.user-menu-trigger,.user-menu-dropdown-item{font-family:var(--mova-font-heading)}body{margin:0;min-height:100vh}#root{min-height:100vh}.dev-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--mova-hero) 0%,var(--mova-hero-dark) 100%);padding:1rem}.dev-gate-card{background:#fff;border-radius:16px;padding:2.5rem;width:100%;max-width:320px;text-align:center;box-shadow:0 24px 48px #0003}.dev-gate-logo{height:36px;width:auto;margin:0 auto .5rem;display:block}.dev-gate-subtitle{font-size:.9rem;color:#64748b;margin:0 0 1.5rem}.dev-gate-input{width:100%;min-width:0;padding:.75rem 1rem;font-size:1.25rem;letter-spacing:.4em;text-align:center;border:2px solid #e2e8f0;border-radius:10px;margin-bottom:.75rem;box-sizing:border-box}.dev-gate-input::placeholder{letter-spacing:normal}.dev-gate-input:focus{outline:none;border-color:var(--forma-accent)}.dev-gate-error{color:#dc2626;font-size:.9rem;margin:0 0 .5rem}.dev-gate-btn{width:100%;padding:.75rem;font-size:1rem;font-weight:600;background:var(--forma-accent);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:background .2s}.dev-gate-btn:hover{background:var(--forma-accent-light)}.landing{min-height:100vh}.landing-header{position:fixed;top:0;left:0;right:0;z-index:100;background:linear-gradient(90deg,var(--mova-hero) 0%,var(--mova-hero-dark) 100%);border-bottom:1px solid rgba(255,255,255,.08)}.landing-header-inline{position:relative;flex-shrink:0}.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:.5rem 1.5rem;min-height:80px}.header-brand{display:flex;align-items:center;text-decoration:none;height:38px}.header-logo{height:100%;width:auto;display:block;object-fit:contain;object-position:left center}.header-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;background:transparent;border:none;color:var(--forma-light);cursor:pointer;border-radius:8px;-webkit-tap-highlight-color:transparent}.header-hamburger:hover{background:#ffffff1a}.header-hamburger-bar{display:block;width:22px;height:2px;background:currentColor;border-radius:1px}.header-nav{display:flex;align-items:center;gap:1rem}.header-no-brand .header-inner{justify-content:flex-end}.header-nav .user-menu{margin-left:auto}.header-mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:header-mobile-fade-in .2s ease}@keyframes header-mobile-fade-in{0%{opacity:0}to{opacity:1}}.header-mobile-nav{position:absolute;top:0;right:0;bottom:0;width:100%;max-width:280px;background:linear-gradient(180deg,var(--mova-hero) 0%,var(--mova-hero-dark) 100%);display:flex;flex-direction:column;padding:4rem 1.5rem 1.5rem;gap:.5rem;animation:header-mobile-slide-in .25s ease}@keyframes header-mobile-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.header-mobile-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;padding:0;font-size:1.75rem;line-height:1;background:transparent;border:none;color:var(--forma-light);cursor:pointer;-webkit-tap-highlight-color:transparent}.header-mobile-link{padding:.75rem 0;color:var(--forma-light);font-size:1.1rem;text-decoration:none;-webkit-tap-highlight-color:transparent}.header-mobile-link:hover{color:#fff}.header-mobile-btn{padding:.75rem 0;background:transparent;border:none;color:var(--forma-light);font-size:1.1rem;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.header-mobile-btn:hover{color:#fff}.header-mobile-btn-primary{color:var(--forma-accent-light);font-weight:600}.header-mobile-section{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.15)}.header-mobile-section-title{display:block;padding:.5rem 0;font-size:.85rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em}.header-mobile-section .header-mobile-link{padding-left:1rem}.header-mobile-user{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.15)}@media(max-width:768px){.header-hamburger{display:flex}.header-nav{display:none}.header-nav-no-hamburger{display:flex}.header-link-shop,.user-menu-trigger .user-menu-name,.user-menu-trigger .user-menu-chevron,.user-menu-trigger .admin-badge{display:none!important}.user-menu-trigger{padding:.25rem}}@media(min-width:769px){.header-mobile-overlay,.header-mobile-nav{display:none}}.header-link{background:none;border:none;color:var(--forma-light);font-size:1rem;cursor:pointer;text-decoration:none;padding:.25rem .5rem}.header-link:hover{color:#fff}.header-user{color:var(--forma-muted);font-size:.9rem;margin-right:.5rem}.admin-badge{display:inline-block;margin-left:.5rem;padding:.15rem .5rem;font-size:.75rem;background:var(--forma-accent);color:#fff;border-radius:4px}:root{--impersonation-banner-height: 44px}.impersonation-banner{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.5rem 1rem;background:#f59e0b;color:#1a1a1a;font-size:.9rem;box-sizing:border-box}.impersonation-banner strong{font-weight:600}.app-impersonating .app-layout-wrap{height:calc(100vh - var(--impersonation-banner-height))}.impersonation-banner-spacer{height:var(--impersonation-banner-height);flex-shrink:0}.impersonation-exit-btn{padding:.35rem .75rem;font-size:.85rem;font-weight:600;background:#1a1a1a;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s,opacity .2s}.impersonation-exit-btn:hover{background:#333;opacity:.95}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--forma-light);font-size:.9rem;cursor:pointer;transition:background .2s,border-color .2s}.user-menu-trigger:hover{background:#ffffff14;border-color:#ffffff4d}.user-menu-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-chevron{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.8;transition:transform .2s}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;border:1px solid #e2e8f0;z-index:100;overflow:hidden}.user-menu-dropdown-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.user-menu-dropdown-name{flex:1;font-weight:600;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-dropdown-items{padding:.5rem 0}.user-menu-dropdown-item{display:block;width:100%;padding:.6rem 1rem;text-align:left;background:none;border:none;color:#334155;font-size:.95rem;cursor:pointer;text-decoration:none;transition:background .15s}.user-menu-dropdown-item:hover{background:#f1f5f9;color:#1a1a1a}.user-menu-dropdown-item-signout{color:var(--forma-accent)}.user-menu-dropdown-item-signout:hover{background:#fce4ec;color:var(--forma-accent)}.header-btn{padding:.5rem 1rem;font-size:.95rem;border-radius:8px;cursor:pointer;font-weight:500;transition:background .2s,color .2s}.header-btn-ghost{background:transparent;color:var(--forma-light);border:none}.header-btn-ghost:hover{color:#fff}.header-btn-outline{background:transparent;color:var(--forma-light);border:1px solid rgba(255,255,255,.2)}.header-btn-outline:hover{border-color:#fff6;color:#fff}.header-btn-primary{background:var(--forma-accent);color:#fff;border:none}.header-btn-primary:hover{background:var(--forma-accent-light)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center}.hero-video-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.hero-video{width:100%;height:100%;object-fit:cover;object-position:top}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#5e1a3d66,#5e1a3dbf)}.hero-content{position:relative;z-index:1;text-align:center;max-width:560px;padding:2rem 1.5rem;color:#fff}.hero-content h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:700;margin:0 0 1rem;line-height:1.1;letter-spacing:-.04em}.hero-logo{height:clamp(3rem,8vw,5rem);width:auto;margin:0 0 1rem;display:block;margin-left:auto;margin-right:auto}.hero-tagline{font-size:clamp(1.1rem,2vw,1.35rem);font-weight:500;color:#fffffff2;margin:0 0 1.75rem;line-height:1.5}.hero-launch{display:block;margin-top:1rem;font-size:.8rem;color:#ffffffb3;letter-spacing:.12em;text-transform:uppercase}.hero-cta{padding:.875rem 1.75rem;font-size:.95rem;font-weight:600;background:var(--forma-accent);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:background .2s,transform .2s}.hero-cta:hover{background:var(--forma-accent-light);transform:translateY(-1px)}.hero-downloads{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1.5rem}.store-badge-link{display:inline-block;padding:.5rem 1.25rem;background:#000;color:#fff;font-size:.9rem;font-weight:600;text-decoration:none;border-radius:8px;transition:opacity .2s,transform .2s}.store-badge-link:hover{opacity:.9;transform:translateY(-2px)}.store-badge-hero{padding:.65rem 1.5rem;font-size:1rem}.header-nav .store-badge-link{padding:.4rem 1rem;font-size:.85rem}.landing-main{background:#fff}.benefits{padding:6rem 1.5rem;background:linear-gradient(180deg,#fff,#f8fafc)}.benefits-inner{max-width:1100px;margin:0 auto}.benefits-inner h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--forma-primary);margin:0 0 .75rem;text-align:center;letter-spacing:-.03em}.benefits-intro{text-align:center;color:#64748b;font-size:1.125rem;max-width:540px;margin:0 auto 3.5rem;line-height:1.6}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.75rem}.benefit-card{background:#fff;padding:2rem 1.75rem;border-radius:16px;border:1px solid rgba(0,0,0,.04);box-shadow:0 1px 3px #0000000a;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.benefit-card:hover{transform:translateY(-2px);box-shadow:0 20px 40px #5e1a3d1f;border-color:#ad145733}.benefit-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:1.25rem;color:var(--forma-accent);background:#ad14571a;border-radius:12px}.benefit-icon svg{width:24px;height:24px}.benefit-card h3{font-size:1.2rem;font-weight:600;color:var(--forma-primary);margin:0 0 .5rem;letter-spacing:-.02em}.benefit-card p{color:#64748b;margin:0;font-size:.95rem;line-height:1.6}.credibility-strip{padding:2rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.06)}.credibility-inner{max-width:700px;margin:0 auto;display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:center}.credibility-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#4b5563}.credibility-check{color:var(--forma-accent);font-weight:600}.features-section{padding:4rem 1.5rem}.features-inner{max-width:900px;margin:0 auto}.features-title{font-size:clamp(1.35rem,2.5vw,1.6rem);font-weight:600;color:var(--forma-primary);margin:0 0 2rem;text-align:center;letter-spacing:-.02em}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.feature-card{padding:1.5rem 1.25rem;background:#fafafa;border-radius:12px;border:1px solid rgba(0,0,0,.04)}.feature-card h3{font-size:1rem;font-weight:600;color:var(--forma-primary);margin:0 0 .5rem}.feature-card p{font-size:.9rem;color:#64748b;margin:0;line-height:1.5}.cta-section{padding:4rem 1.5rem;text-align:center;background:var(--forma-surface)}.cta-inner{max-width:440px;margin:0 auto}.cta-text{font-size:1.15rem;font-weight:500;color:var(--forma-primary);margin:0 0 1.25rem;line-height:1.5}.cta-downloads{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.who-section{padding:4rem 1.5rem;background:var(--forma-surface)}.who-intro{font-size:1rem;color:#374151;margin:0 0 1.25rem}.who-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.who-card{padding:1.25rem 1rem;background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.06);font-size:.95rem;font-weight:500;color:var(--forma-primary);text-align:center;box-shadow:0 1px 3px #0000000a;transition:transform .2s,box-shadow .2s}.who-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #5e1a3d1f}.who-especially{font-size:.95rem;color:#64748b;margin:0;line-height:1.6}.how-section{padding:4rem 1.5rem;background:#fff}.section-inner{max-width:720px;margin:0 auto;padding:0 1.5rem}.section-title{font-size:clamp(1.35rem,2.5vw,1.6rem);font-weight:600;color:var(--forma-primary);margin:0 0 1.5rem;letter-spacing:-.02em}.how-steps{display:flex;flex-direction:column;gap:2rem}.how-step{position:relative;padding-left:3.25rem}.how-step-num{position:absolute;left:0;top:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:var(--forma-accent);color:#fff;font-weight:700;font-size:.95rem;border-radius:50%}.how-step h3{font-size:1.1rem;font-weight:600;color:var(--forma-primary);margin:0 0 .35rem}.how-step p{font-size:.95rem;color:#4b5563;margin:0;line-height:1.6}.landing-footer{padding:1.5rem;background:#1a1a1a;color:#fff9;font-size:.85rem}.footer-inner{max-width:1200px;margin:0 auto;text-align:center}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 1.5rem;margin-bottom:.75rem}.footer-links a{color:#fffc;text-decoration:none}.footer-links a:hover{color:#fff}.legal-page{min-height:100vh;display:flex;flex-direction:column;background:#fff}.legal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0;max-width:800px;margin:0 auto;width:100%}.legal-logo img{height:32px;width:auto}.legal-back{font-size:.9rem;color:var(--forma-primary);text-decoration:none}.legal-back:hover{color:var(--forma-accent);text-decoration:underline}.legal-main{flex:1;max-width:720px;margin:0 auto;padding:2rem 1.5rem;width:100%}.legal-main h1{font-size:1.75rem;font-weight:700;color:var(--forma-primary);margin:0 0 .25rem}.legal-updated{font-size:.9rem;color:#64748b;margin:0 0 2rem}.legal-main section{margin-bottom:2rem}.legal-main h2{font-size:1.2rem;font-weight:600;color:#1a1a1a;margin:0 0 .75rem}.legal-main p,.legal-main li{color:#4b5563;line-height:1.7;margin:0 0 .5rem}.legal-main ul{margin:.5rem 0 1rem;padding-left:1.5rem}.legal-main a{color:var(--forma-accent);text-decoration:none}.legal-main a:hover{text-decoration:underline}.legal-footer{padding:1.5rem;background:#1a1a1a;color:#fff9;font-size:.85rem}.legal-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 1.5rem;margin-bottom:.5rem}.legal-footer-links a{color:#fffc;text-decoration:none}.legal-footer-links a:hover{color:#fff}.legal-footer>span{display:block;text-align:center}.legal-table{width:100%;min-width:400px;border-collapse:collapse;margin:1rem 0;font-size:.9rem}.legal-table th,.legal-table td{padding:.75rem 1rem;text-align:left;border:1px solid #e2e8f0}.legal-table th{background:#f8fafc;font-weight:600;color:#1a1a1a}.legal-table td{color:#4b5563}.legal-table-wrap{overflow-x:auto;margin:1rem 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto}.modal-overlay-onboarding{background:linear-gradient(135deg,var(--mova-hero) 0%,var(--mova-hero-dark) 100%)}.modal-card-onboarding{max-width:420px;box-shadow:0 24px 48px #0003}.modal-card{background:#fff;border-radius:16px;padding:2rem;width:100%;max-width:400px;position:relative;box-shadow:0 24px 48px #0003,0 0 0 1px #00000008;margin:auto}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;line-height:1;padding:.25rem;border-radius:6px;transition:color .2s,background .2s}.modal-close:hover{color:#1a1a1a;background:#f1f5f9}.modal-card h2{margin:0 0 .25rem;font-size:1.5rem;font-weight:600;color:#1a1a1a;letter-spacing:-.02em}.modal-subtitle{color:#64748b;font-size:.9rem;margin-bottom:1.25rem}.social-signin{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.social-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem 1rem;font-size:.95rem;font-weight:500;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;transition:background .2s,border-color .2s}.social-btn:hover{background:#f8fafc;border-color:#ccc}.social-btn-google{color:#374151}.social-btn-facebook{color:#fff;background:#1877f2;border-color:#1877f2}.social-btn-facebook:hover{background:#166fe5;border-color:#166fe5}.social-btn svg{flex-shrink:0}.signin-divider{display:flex;align-items:center;gap:1rem;margin:1rem 0;color:#94a3b8;font-size:.85rem}.signin-divider:before,.signin-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.modal-card .field{margin-bottom:1rem}.description-box-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.description-box-header label{margin:0}.btn-ai-help{padding:.35rem .75rem;font-size:.8rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;flex-shrink:0}.btn-ai-help:hover:not(:disabled){opacity:.9}.btn-ai-help:disabled{opacity:.6;cursor:not-allowed}.modal-card .field label{display:block;font-size:.85rem;color:#555;margin-bottom:.25rem}.modal-card select,.modal-card input,.modal-card textarea{width:100%;padding:.6rem .75rem;font-size:1rem;border:1px solid #ccc;border-radius:8px}.otp-input{display:flex;gap:.5rem;justify-content:center}.otp-input input{width:2.75rem;height:2.75rem;padding:0;font-size:1.25rem;font-weight:600;text-align:center;border:2px solid #ccc;border-radius:8px}.otp-input input:focus{outline:none;border-color:var(--forma-accent);box-shadow:0 0 0 2px #ad145733}.modal-card .error{color:#c00;font-size:.9rem;margin:.5rem 0}.modal-btn{width:100%;padding:.75rem;margin-top:.5rem;font-size:1rem;background:var(--forma-accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500}.modal-btn:hover:not(:disabled){background:var(--forma-accent-light)}.modal-btn:disabled{opacity:.6;cursor:not-allowed}.modal-link{display:block;width:100%;background:transparent;color:var(--forma-accent);border:none;margin-top:.75rem;padding:.5rem;font-size:.9rem;cursor:pointer;text-decoration:underline}.confirm-modal .confirm-message{margin:0 0 1.5rem;color:#555;line-height:1.5}.confirm-modal .confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.confirm-modal .confirm-actions .modal-btn{margin-top:0;width:auto;min-width:100px}.confirm-modal .confirm-actions .modal-btn.btn-danger{background:#dc2626;color:#fff;border:none}.confirm-modal .confirm-actions .modal-btn.btn-danger:hover{background:#b91c1c}.modal-link:hover{color:var(--forma-accent-light)}.signup-form{display:flex;flex-direction:column;min-height:200px}.signup-form-fields{flex:0 0 auto}.signup-form-actions{margin-top:auto;padding-top:1.25rem}.signup-form-actions .modal-btn{margin-top:0}.login-page-with-video{position:relative;min-height:100vh}.login-video-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.login-video{width:100%;height:100%;object-fit:cover;object-position:top}.login-video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#5e1a3d66,#5e1a3dbf)}.login-page-content{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-page-with-video .login-page{background:transparent;width:100%}.login-page-with-video .login-card{width:640px;max-width:100%;flex-shrink:0;background:#fff3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);box-shadow:0 8px 32px #00000026}.login-page-with-video .login-card h1,.login-page-with-video .login-card .subtitle,.login-page-with-video .login-card .field label{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.login-page-with-video .login-card .subtitle{color:#ffffffe6}.login-page-with-video .login-card input,.login-page-with-video .login-card .otp-input input{background:#ffffffe6;border-color:#ffffff80}.login-page-with-video .login-card .error{color:#ffdcdcf2}.login-page-with-video .login-card .modal-link{color:#fffffff2}.login-page-with-video .login-card .signin-divider span{color:#ffffffe6}.login-page-with-video .login-card .social-btn{background:#fffffff2;border-color:#fff9;color:#1a1a1a}.login-page-with-video .login-card .social-btn-facebook{background:#1877f2;border-color:#1877f2;color:#fff}.login-page-with-video .login-card .social-btn-facebook:hover{background:#166fe5;border-color:#166fe5}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--mova-hero) 0%,var(--mova-hero-dark) 100%);padding:1rem}.login-card{background:#fff;border-radius:12px;padding:2rem;width:100%;max-width:560px;box-shadow:0 8px 32px #0003}.login-card h1{margin:0 0 .25rem;font-size:1.5rem;color:#1a1a1a}.login-card .subtitle{color:#666;font-size:.9rem;margin-bottom:1.5rem}.login-card .field{margin-bottom:1rem}.login-card .field label{display:block;font-size:.85rem;color:#555;margin-bottom:.25rem}.login-card select,.login-card input{width:100%;padding:.6rem .75rem;font-size:1rem;border:1px solid #ccc;border-radius:8px}.login-card .otp-input input{width:2.75rem;height:2.75rem;padding:0;font-size:1.25rem;font-weight:600;text-align:center;border:2px solid #ccc;border-radius:8px}.login-card .otp-input input:focus{outline:none;border-color:var(--forma-accent);box-shadow:0 0 0 2px #ad145733}.login-card .error{color:#c00;font-size:.9rem;margin:.5rem 0}.login-card button{width:100%;padding:.75rem;margin-top:.5rem;font-size:1rem;background:var(--forma-accent);color:#fff;border:none;border-radius:8px;cursor:pointer}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-card button.link{background:transparent;color:var(--forma-accent);margin-top:.75rem}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#666}.app-layout-wrap{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-layout-body{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}@media(min-width:769px){.app-layout-wrap-with-sidebar{flex-direction:row}.app-layout-wrap-with-sidebar .sidebar-desktop{display:flex}.app-layout-wrap-with-sidebar .app-layout-body{flex:1;min-width:0}.app-layout-wrap-with-sidebar .header-drawer-btn,.app-layout-wrap-with-sidebar .bottom-bar{display:none}}.app-layout-mobile-like .app-header-with-drawer{flex-shrink:0;display:flex;align-items:center;position:relative;z-index:50;min-height:56px;background:linear-gradient(90deg,var(--mova-hero) 0%,var(--mova-hero-dark) 100%);border-bottom:1px solid rgba(255,255,255,.08)}@media(min-width:769px){.app-layout-wrap-with-sidebar{--sidebar-header-height: 72px}.app-layout-wrap-with-sidebar .app-header-with-drawer{height:var(--sidebar-header-height);min-height:var(--sidebar-header-height)}.app-layout-wrap-with-sidebar .app-header-with-drawer .header-inner{width:100%;max-width:none;padding:1rem 2rem}.app-layout-wrap-with-sidebar .sidebar-top,.app-layout-wrap-with-sidebar .sidebar-collapsed .sidebar-top{height:var(--sidebar-header-height);min-height:var(--sidebar-header-height)}}.app-layout-mobile-like .app-header-with-drawer .landing-header{flex:1;min-width:0;position:relative}.header-drawer-btn{flex-shrink:0;display:flex;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;margin:0 0 0 .5rem;padding:0;background:transparent;border:none;color:var(--forma-light);cursor:pointer;-webkit-tap-highlight-color:transparent}.header-drawer-btn:hover{background:#ffffff1a}.header-drawer-btn .sidebar-hamburger-bar{display:block;width:22px;height:2px;margin:0 auto;background:currentColor;border-radius:1px}.sidebar-drawer{position:absolute;top:0;left:0;bottom:0;width:280px;max-width:85vw;animation:sidebar-slide-in .25s ease}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:#0003;border-bottom:1px solid rgba(255,255,255,.08)}.drawer-brand{font-weight:700;font-size:1.25rem;color:#fff}.drawer-brand-logo{height:28px;width:auto;display:block}.drawer-section{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.08)}.drawer-section-title{display:block;padding:.5rem 1.5rem;font-size:.75rem;font-weight:600;color:#fff9;text-transform:uppercase;letter-spacing:.05em}.drawer-section .sidebar-nav-icon{margin-right:0}.admin-top-header{flex-shrink:0;display:flex;align-items:center;position:relative;z-index:50;min-height:56px;color:var(--forma-light);background:#5e1a3df2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.admin-top-header .header-inner{width:100%;max-width:none;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem}.admin-top-header .header-brand{color:inherit}.admin-top-header a{color:var(--forma-light)}.admin-top-header .header-link.active{color:var(--forma-accent-light);font-weight:600}.app-layout{display:flex;flex:1;min-height:0;overflow:hidden}.sidebar-hamburger{display:none;position:fixed;top:.75rem;left:1rem;z-index:60;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;background:#5e1a3de6;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--forma-light);cursor:pointer;-webkit-tap-highlight-color:transparent}.sidebar-hamburger:hover{background:#5e1a3df2}.sidebar-hamburger-bar{display:block;width:20px;height:2px;margin:0 auto;background:currentColor;border-radius:1px}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:sidebar-overlay-fade-in .2s ease}@keyframes sidebar-overlay-fade-in{0%{opacity:0}to{opacity:1}}.sidebar-mobile{position:absolute;top:0;left:0;bottom:0;width:280px;max-width:85vw;animation:sidebar-slide-in .25s ease}@keyframes sidebar-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;padding:0;font-size:1.75rem;line-height:1;background:transparent;border:none;color:#e2e8f0;cursor:pointer;-webkit-tap-highlight-color:transparent}.sidebar-mobile .sidebar-nav{padding-top:3.5rem}.sidebar{width:240px;flex-shrink:0;overflow:hidden;background:linear-gradient(180deg,var(--mova-hero) 0%,var(--mova-hero-dark) 100%);color:#e2e8f0;display:flex;flex-direction:column;transition:width .2s ease}.sidebar-top{flex-shrink:0;height:72px;min-height:72px;padding:0 1.5rem;border-bottom:1px solid rgba(255,255,255,.08);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.sidebar-top .sidebar-brand{border-bottom:none;padding:0;flex:1;min-width:0}.sidebar-desktop.sidebar-collapsed{width:64px;overflow:hidden}.sidebar-collapsed .sidebar-nav a{justify-content:center;padding:.6rem}.sidebar-collapsed .sidebar-nav-icon{margin:0}.sidebar-collapsed .sidebar-nav a span:not(.sidebar-nav-icon){display:none}.sidebar-collapsed .sidebar-top{padding:0 .5rem;height:72px;min-height:72px;flex-direction:row;justify-content:center}.sidebar-collapsed .sidebar-brand{display:none}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;width:auto;flex-shrink:0;padding:.2rem .4rem;margin:0;background:#ffffff14;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;transition:background .15s,color .15s}.sidebar-collapse-btn svg{width:14px;height:14px}.sidebar-collapse-btn:hover{background:#ffffff1f;color:#e2e8f0}.sidebar-collapsed .sidebar-collapse-btn{padding:.2rem}.sidebar-collapsed .sidebar-collapse-btn svg{width:12px;height:12px}.logout-btn-icon{display:flex;align-items:center;justify-content:center;padding:.5rem}.sidebar-collapsed .sidebar-footer .user-email{display:none}.sidebar-collapsed .sidebar-footer{padding:1rem .5rem}.sidebar-collapsed .sidebar-footer .logout-btn{padding:.5rem;font-size:0;display:flex;align-items:center;justify-content:center}.sidebar-collapsed .sidebar-footer .logout-btn .logout-btn-icon{margin:0}.sidebar-brand{flex-shrink:0;padding:1.25rem 1.5rem;font-weight:700;font-size:1.1rem;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit}a.sidebar-brand:hover{color:inherit;opacity:.9}.sidebar-logo{height:28px;width:auto}.sidebar-nav{flex:1;padding:1.25rem 0 1rem;overflow-y:auto;min-height:0}.sidebar-nav a{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.5rem;color:#94a3b8;text-decoration:none;transition:background .15s,color .15s}.sidebar-nav-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.85}.sidebar-nav a:hover{background:#ffffff0f;color:#e2e8f0}.sidebar-nav a.active{background:#ad145733;color:var(--forma-accent-light)}.sidebar-section{margin-top:.25rem}.sidebar-section-toggle{display:flex;align-items:center;width:100%;padding:.6rem 1.5rem;background:none;border:none;color:#94a3b8;font-size:inherit;font-family:inherit;cursor:pointer;text-align:left;transition:background .15s,color .15s}.sidebar-section-toggle:hover{background:#ffffff0f;color:#e2e8f0}.sidebar-section-toggle:after{content:"›";margin-left:auto;transform:rotate(90deg);transition:transform .2s}.sidebar-section-toggle.open:after{transform:rotate(-90deg)}.sidebar-section-links{padding-left:1rem}.sidebar-section-links a{padding:.5rem 1.5rem;font-size:.95em}.main-content{flex:1;min-width:0;min-height:0;padding:1.5rem 2rem;background:#f5f5f5;overflow:auto}.main-content:has(.admin-shop-page){overflow:hidden;display:flex;flex-direction:column}.admin-shop-page{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.admin-shop-page>.users-header,.admin-shop-page>.admin-tabs,.admin-shop-page>.admin-tabs-row,.admin-shop-page>.admin-header-with-filters,.admin-shop-page>.admin-shop-filters,.admin-shop-page>.page-error{flex-shrink:0}.admin-shop-page>.admin-tabs-modern,.admin-shop-page .admin-list-section .admin-tabs-modern{flex:1;min-height:0;overflow:hidden}.admin-shop-page>.admin-list-section,.admin-shop-page>div:has(.data-table-wrapper){flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.admin-tabs-modern{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;border:1px solid #e2e8f0;overflow:hidden;display:flex;flex-direction:column}.admin-tabs-modern .admin-tabs-nav{display:flex;gap:0;border-bottom:1px solid #e2e8f0;background:#f8fafc;padding:0 .5rem 0 1rem;flex-shrink:0}.admin-tabs-modern .admin-tab{padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;color:#64748b;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .2s,border-color .2s}.admin-tabs-modern .admin-tab:hover{color:var(--forma-primary)}.admin-tabs-modern .admin-tab.active{color:var(--forma-primary);border-bottom-color:var(--forma-primary);background:#fff}.admin-tabs-modern .admin-tab-panel{flex:1;min-height:0;display:flex;flex-direction:column;padding:1rem}.admin-tabs-modern .admin-tab-panel .data-table-wrapper{flex:1;min-height:0}.admin-shop-page>.admin-list-section>*:not(.data-table-wrapper){flex-shrink:0}.admin-shop-page>.admin-list-section>.data-table-wrapper{flex:1;min-height:0}.admin-shop-page>div:has(.data-table-wrapper){overflow:auto}.admin-shop-page .data-table-wrapper{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.admin-shop-page .data-table-wrapper .data-table-toolbar,.admin-shop-page .data-table-wrapper .data-table-pagination{flex-shrink:0}.admin-shop-page .data-table-wrapper .data-table-desktop,.admin-shop-page .data-table-wrapper .data-table-loading,.admin-shop-page .data-table-wrapper .data-table-empty{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.admin-shop-page .data-table-wrapper .table-wrap{flex:1;min-height:0;overflow-y:auto;overflow-x:auto}.data-table th{position:sticky;top:0;z-index:1;background:#f9fafb;box-shadow:0 1px #eee}.main-content-landing{padding:0;background:transparent}@media(max-width:768px){.sidebar-hamburger{display:flex}.sidebar-hamburger.sidebar-hamburger-hidden,.sidebar-desktop{display:none}.main-content{padding:1rem}.app-layout-wrap-with-sidebar .header-inner{padding-left:3.5rem}:root{--impersonation-banner-height: 72px}.impersonation-banner{min-height:72px;flex-wrap:wrap}:root{--mobile-header-height: 80px}.app-layout-mobile-like .app-header-with-drawer{position:fixed;top:0;left:0;right:0;z-index:50}.app-layout-mobile-like .bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:50}.app-layout-mobile-like .main-content{padding-top:calc(var(--mobile-header-height) + env(safe-area-inset-top,0) + 1rem);padding-bottom:calc(72px + env(safe-area-inset-bottom,0) + 1rem);min-height:100vh}.app-layout-mobile-like .main-content.main-content-landing{padding-top:calc(var(--mobile-header-height) + env(safe-area-inset-top,0) + 1rem)}.app-impersonating .app-header-with-drawer{top:var(--impersonation-banner-height)}.app-impersonating .main-content{padding-top:calc(var(--impersonation-banner-height) + var(--mobile-header-height) + env(safe-area-inset-top,0) + 1rem);min-height:0}.app-impersonating .main-content.main-content-landing{padding-top:calc(var(--impersonation-banner-height) + var(--mobile-header-height) + env(safe-area-inset-top,0) + 1rem)}}@media(min-width:769px){.sidebar-hamburger{display:none}}.sidebar-footer{flex-shrink:0;padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.08)}.user-email{display:block;font-size:.8rem;color:#94a3b8;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis}.logout-btn{width:100%;padding:.5rem;font-size:.9rem;background:transparent;color:#94a3b8;border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer}.logout-btn:hover{color:#e2e8f0;border-color:#ffffff40}.dashboard h1{margin:0 0 1rem;font-size:1.5rem;color:var(--mova-text)}.dashboard-page{max-width:640px;margin:0 auto;padding-bottom:2rem}.dashboard-header{margin-bottom:1.25rem}.dashboard-welcome{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:var(--forma-primary);letter-spacing:-.02em}.dashboard-date{margin:0;font-size:.95rem;color:var(--forma-muted)}.badge-strip{margin-bottom:1rem}.badge-strip-inner{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.badge-strip-item{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:var(--mova-surface-subtle);color:var(--mova-secondary-sage);transition:color .2s,background .2s;border:none;font:inherit;cursor:pointer;padding:0}.badge-strip-item:hover{background:var(--mova-secondary-oat)}.badge-strip-item.earned{color:var(--mova-hero);background:#992c6114}.badge-strip-item.earned:hover{background:#992c611f}.badge-strip-loading{height:36px;width:100%;background:var(--mova-surface-subtle);border-radius:12px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.dashboard-context{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.dashboard-context-chip{display:inline-flex;align-items:center;padding:.35rem .75rem;font-size:.85rem;background:var(--forma-surface);color:var(--forma-primary);border-radius:999px;border:1px solid rgba(94,26,61,.15)}.dashboard-context-label{font-weight:600;margin-right:.25rem}.dashboard-section{margin-bottom:1.5rem}.dashboard-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.dashboard-section-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--forma-primary)}.dashboard-section-link{font-size:.9rem;font-weight:600;color:var(--forma-accent);text-decoration:none}.dashboard-section-link:hover{text-decoration:underline}.dashboard-calorie-bar-wrap{position:relative;height:28px;background:var(--mova-surface-subtle);border-radius:14px;overflow:hidden;margin-bottom:1rem}.dashboard-calorie-bar-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--mova-hero),var(--mova-hero-dark));border-radius:14px;transition:width .3s ease}.dashboard-calorie-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-size:.9rem;font-weight:600;color:var(--mova-text);text-shadow:0 1px 2px rgba(255,255,255,.8);z-index:1}.dashboard-macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem}.dashboard-macro-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem .5rem;background:var(--mova-bg);border:1px solid var(--mova-border);border-radius:12px;box-shadow:0 1px 3px #0000000a}.dashboard-macro-ring-wrap{position:relative;width:72px;height:72px;margin-bottom:.5rem}.dashboard-macro-ring{width:100%;height:100%;transform:rotate(-90deg)}.dashboard-macro-ring-bg,.dashboard-progress-ring-bg{stroke:var(--mova-border);color:var(--mova-border)}.dashboard-macro-value{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.85rem;font-weight:700;color:var(--mova-text)}.dashboard-macro-label{font-size:.8rem;font-weight:500;color:var(--forma-muted)}.dashboard-add-btn{display:block;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:600;text-align:center;background:var(--forma-accent);color:#fff;border:none;border-radius:10px;cursor:pointer;text-decoration:none;transition:background .2s}.dashboard-add-btn:hover{background:var(--forma-accent-light)}.dashboard-water-text{margin:0 0 .5rem;font-size:.95rem;color:var(--mova-secondary-sage)}.dashboard-water-glasses{display:flex;gap:.5rem;flex-wrap:wrap}.dashboard-water-glass{width:36px;height:36px;border-radius:50%;border:2px solid var(--mova-border);background:var(--mova-surface-subtle);transition:background .2s,border-color .2s;padding:0;cursor:pointer;font:inherit}.dashboard-water-glass.filled{background:var(--mova-primary);border-color:var(--mova-hero)}.dashboard-meals-grid{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.dashboard-meal-card{flex:0 0 auto;width:160px;display:flex;flex-direction:column;align-items:stretch;background:var(--mova-bg);border:1px solid var(--mova-border);border-radius:12px;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s;overflow:hidden;scroll-snap-align:start}.dashboard-meal-card:hover{border-color:var(--mova-hero);box-shadow:0 4px 12px #992c611f}.dashboard-meal-placeholder{width:100%;aspect-ratio:1;border-radius:0;display:flex;align-items:center;justify-content:center;position:relative}.dashboard-meal-breakfast{background:linear-gradient(135deg,var(--mova-secondary-oat) 0%,var(--mova-primary) 100%)}.dashboard-meal-lunch{background:linear-gradient(135deg,var(--mova-primary) 0%,rgba(251,199,215,.7) 100%)}.dashboard-meal-dinner{background:linear-gradient(135deg,var(--mova-primary) 0%,var(--mova-secondary-oat) 100%)}.dashboard-meal-snack{background:linear-gradient(135deg,var(--mova-secondary-oat) 0%,var(--mova-surface-subtle) 100%)}.dashboard-meal-icon{font-size:2.5rem}.dashboard-meal-label{font-size:.8rem;font-weight:600;color:var(--forma-primary);padding:.5rem .75rem;text-align:center}.dashboard-meal-name{font-size:.75rem;font-weight:500;color:var(--forma-muted);padding:0 .75rem .25rem;text-align:center}.dashboard-meal-kcal{font-size:.7rem;color:var(--forma-muted);padding:0 .75rem .75rem;text-align:center}.dashboard-meal-card.done{border-color:var(--mova-hero);background:#fbc7d726}.dashboard-meal-card.done .dashboard-meal-placeholder{position:relative}.dashboard-meal-card.done .dashboard-workout-badge{position:absolute;top:.25rem;right:.25rem}.dashboard-meal-icon.done{color:var(--mova-hero);font-size:1.5rem}.dashboard-workouts-grid{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.dashboard-workout-card{flex:0 0 auto;width:160px;display:flex;flex-direction:column;align-items:stretch;background:var(--mova-bg);border:1px solid var(--mova-border);border-radius:12px;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s;overflow:hidden;scroll-snap-align:start}.dashboard-workout-card:hover{border-color:var(--mova-hero);box-shadow:0 4px 12px #992c611f}.dashboard-workout-card.done{border-color:var(--mova-hero)}.dashboard-workout-card.done .dashboard-workout-placeholder{background:linear-gradient(135deg,var(--mova-primary) 0%,var(--mova-secondary-oat) 100%)}.dashboard-workout-placeholder{position:relative;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--mova-primary) 0%,var(--mova-secondary-oat) 100%)}.dashboard-workout-icon{font-size:2.5rem}.dashboard-workout-icon.done{font-size:2rem;font-weight:700;color:var(--mova-hero)}.dashboard-workout-badge{position:absolute;top:.5rem;right:.5rem;padding:.2rem .5rem;font-size:.7rem;font-weight:600;background:var(--mova-hero);color:#fff;border-radius:6px}.dashboard-workout-label{font-size:.8rem;font-weight:600;color:var(--forma-primary);padding:.5rem .75rem;text-align:center}.dashboard-workout-duration{font-size:.75rem;font-weight:500;color:var(--forma-muted);padding:0 .75rem .75rem;text-align:center}.dashboard-progress-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.dashboard-progress-item{display:flex;flex-direction:column;align-items:center;padding:1rem .5rem;background:var(--mova-bg);border:1px solid var(--mova-border);border-radius:12px;box-shadow:0 1px 3px #0000000a}.dashboard-progress-ring-wrap{position:relative;width:52px;height:52px;margin-bottom:.5rem}.dashboard-progress-ring-wrap span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:700;color:var(--mova-text)}.dashboard-progress-ring{width:100%;height:100%}.dashboard-progress-ring-bg{stroke:var(--mova-border);color:var(--mova-border)}.dashboard-progress-label{font-size:.8rem;font-weight:500;color:var(--forma-muted)}@media(max-width:480px){.dashboard-macro-grid,.dashboard-progress-grid{grid-template-columns:repeat(2,1fr)}.dashboard-meal-card,.dashboard-workout-card{width:140px}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.stat-card{background:#fff;border-radius:10px;padding:1.25rem;box-shadow:0 1px 3px #00000014}.stat-value{display:block;font-size:1.75rem;font-weight:700;color:#1a1a1a}.stat-label{font-size:.9rem;color:#666}.users-page h1,.wallets-page h1{margin:0 0 .25rem;font-size:1.5rem;color:#1a1a1a}.muted{color:#666;font-size:.9rem;margin-bottom:1rem}.page-loading,.page-error{padding:2rem;text-align:center;color:#666}.page-error{color:#c00}.table-wrap{overflow-x:auto;background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;margin-bottom:1rem}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #eee}.data-table th{font-weight:600;color:#374151;background:#f9fafb}.data-table tr:last-child td{border-bottom:none}.role-badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.8rem;font-weight:500}.role-admin{background:#fce4ec;color:#ad1457}.role-user{background:#f3f4f6;color:#4b5563}.role-physical{background:#e0f2fe;color:#0369a1}.role-affiliate{background:#fef3c7;color:#b45309}.pagination{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.pagination button{padding:.5rem 1rem;font-size:.9rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination button:not(:disabled):hover{background:#f3f4f6}.data-table-wrapper{margin-bottom:1rem}.data-table-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem}.data-table-toolbar-extra{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.data-table-toolbar-extra .btn{padding:.5rem .75rem;font-size:.9rem}.data-table-toolbar-extra .usda-result{font-size:.85rem}.data-table-filter{display:flex;flex-direction:column;gap:.25rem}.data-table-filter label{font-size:.85rem;font-weight:500;color:#64748b}.data-table-filter input,.data-table-filter select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;min-width:140px}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{background:#f3f4f6}.data-table .sort-indicator{margin-left:.25rem;color:var(--forma-accent)}.data-table-group-row td{background:#f8fafc!important;font-weight:600;padding-top:1rem;border-top:1px solid #e2e8f0}.data-table-loading,.data-table-empty{padding:2rem;text-align:center;color:var(--forma-muted);background:#fff;border-radius:10px}.data-table-pagination{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem}.data-table-pagination button{padding:.5rem 1rem;font-size:.9rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.data-table-pagination button:disabled{opacity:.5;cursor:not-allowed}.data-table-pagination button:not(:disabled):hover{background:#f3f4f6}.data-table-desktop{display:block}.data-table-mobile{display:none}@media(max-width:768px){.data-table-desktop{display:none}.data-table-mobile{display:block}.data-table-mobile-card{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;padding:1rem;margin-bottom:.75rem;border:1px solid #eee}.data-table-mobile-cells{display:flex;flex-direction:column;gap:.5rem}.data-table-mobile-cell{display:flex;flex-direction:column;gap:.15rem}.data-table-mobile-cell.mobile-label .data-table-mobile-value{font-weight:600;font-size:1.05rem}.data-table-mobile-header{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--forma-muted)}.data-table-mobile-value{font-size:.95rem}.data-table-mobile-group{margin-bottom:1.5rem}.data-table-mobile-group-title{font-weight:600;font-size:.95rem;color:var(--forma-primary);margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid #e2e8f0}.data-table-mobile-leading{margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.data-table-toolbar{flex-direction:row;flex-wrap:wrap;gap:.5rem}.data-table-filter{flex-direction:row;align-items:center;gap:.35rem}.data-table-filter label{font-size:.8rem;white-space:nowrap}.data-table-filter input,.data-table-filter select{min-width:0;flex:1;max-width:140px;padding:.4rem .5rem;font-size:.85rem}}.users-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.btn-primary{padding:.6rem 1.25rem;font-size:.95rem;background:var(--forma-accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500}.btn-primary:hover:not(:disabled){background:var(--forma-accent-light)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-sm{padding:.35rem .75rem;font-size:.85rem;border-radius:6px;cursor:pointer;margin-right:.5rem}.btn-outline{background:#fff;border:1px solid #d1d5db;color:#374151}.btn-outline:hover{background:#f3f4f6}.btn-danger{background:#fff;border:1px solid #ef4444;color:#ef4444}.btn-danger:hover:not(:disabled){background:#fef2f2}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-action-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;color:#374151;border-radius:6px;cursor:pointer;margin-right:.35rem;transition:background .15s,color .15s}.btn-action-icon:hover:not(:disabled){background:#f3f4f6}.btn-action-icon:disabled{opacity:.6;cursor:not-allowed}.btn-action-icon.btn-action-icon-edit{color:#f97316}.btn-action-icon.btn-action-icon-edit:hover:not(:disabled){background:#fff7ed}.btn-action-icon.btn-action-icon-play{color:var(--forma-accent)}.btn-action-icon.btn-action-icon-play:hover:not(:disabled){background:#ad145714}.btn-action-icon.btn-action-icon-danger{color:#ef4444}.btn-action-icon.btn-action-icon-danger:hover:not(:disabled){background:#fef2f2}.onboarding-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(135deg,var(--mova-hero) 0%,var(--mova-hero-dark) 100%)}.onboarding-card{background:#fff;border-radius:16px;padding:2rem;max-width:420px;width:100%;box-shadow:0 24px 48px #0003}.onboarding-questionnaire .onboarding-progress{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.onboarding-questionnaire .onboarding-dot{width:10px;height:10px;border-radius:50%;background:#e2e8f0;cursor:pointer;transition:background .2s}.onboarding-questionnaire .onboarding-dot.active{background:var(--forma-accent);transform:scale(1.2)}.onboarding-questionnaire .onboarding-dot.done{background:var(--forma-muted)}.onboarding-questionnaire .onboarding-title{margin:0 0 .5rem;font-size:1.35rem}.onboarding-questionnaire .onboarding-desc{color:var(--forma-muted);font-size:.9rem;margin:0 0 1.5rem}.onboarding-questionnaire .onboarding-fields .field{margin-bottom:1rem}.onboarding-questionnaire .onboarding-fields .field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem;color:#334155}.onboarding-questionnaire select,.onboarding-questionnaire input,.onboarding-questionnaire textarea{width:100%;padding:.6rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem}.onboarding-questionnaire textarea{resize:vertical;min-height:80px}.onboarding-chip-wrap{display:flex;flex-wrap:wrap;gap:.5rem}.onboarding-chip{padding:.5rem 1rem;border:1px solid #e2e8f0;border-radius:999px;font-size:.9rem;font-family:inherit;background:#fff;color:#334155;cursor:pointer;transition:border-color .2s,background .2s}.onboarding-chip:hover{border-color:var(--forma-accent)}.onboarding-chip.selected{border-color:var(--forma-accent);background:#5e1a3d14;color:var(--forma-primary);font-weight:500}.onboarding-questionnaire .onboarding-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1.5rem}.onboarding-questionnaire .onboarding-actions .modal-btn{flex:1;min-width:0}.onboarding-questionnaire .onboarding-actions .modal-btn:last-child{flex:1.5}.onboarding-questionnaire .onboarding-profile-link{margin-top:1.5rem;text-align:center;font-size:.9rem}.onboarding-questionnaire .onboarding-profile-link a{color:var(--forma-accent);text-decoration:none}.onboarding-questionnaire .onboarding-profile-link a:hover{text-decoration:underline}.profile-layout{display:flex;flex-direction:column;height:100%}.profile-tabs{position:fixed;top:56px;left:0;right:0;z-index:40;display:flex;flex-wrap:nowrap;gap:.25rem;padding:.5rem .75rem;margin:0;border-bottom:1px solid #e2e8f0;background:#f5f5f5;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.app-impersonating .profile-tabs{top:calc(var(--impersonation-banner-height, 0px) + 56px + 1rem);right:15px}.app-impersonating .profile-tab-content{padding-top:calc(1.5rem + var(--impersonation-banner-height))}@media(min-width:769px){.profile-tabs{top:56px;left:240px;right:0;padding:.5rem 2rem}.app-layout-wrap-with-sidebar .sidebar.sidebar-collapsed~.app-layout-body .profile-tabs{left:64px}.profile-tab-content{padding-top:1.5rem}}.profile-tab{flex-shrink:0;padding:.5rem .75rem;font-size:.9rem;font-weight:500;color:#64748b;text-decoration:none;border-radius:8px;transition:color .2s,background .2s}@media(min-width:769px){.profile-tab{padding:.5rem 1rem;font-size:.95rem}}.profile-tab:hover{color:var(--forma-primary);background:#f1f5f9}.profile-tab.active{color:var(--forma-accent);background:#5e1a3d14}.profile-tab-content{flex:1;min-height:0;padding-top:1.5rem}.profile-page{max-width:560px;margin:0;padding:0 1rem 2rem}.profile-page-wide{max-width:900px}.profile-header{margin-bottom:2rem;display:flex;align-items:flex-start;gap:1rem;flex-wrap:nowrap}.profile-header>.avatar,.profile-header-avatar-wrap{flex-shrink:0}.profile-header-avatar-wrap{position:relative;width:64px;height:64px}.profile-header-avatar-wrap .avatar{border-radius:50%}.profile-header-avatar-edit{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;cursor:pointer;overflow:visible}.profile-header-avatar-edit .image-upload-crop{margin:0;position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.profile-header-avatar-edit .image-upload-crop-editor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.profile-header-avatar-edit .image-upload-crop-preview,.profile-header-avatar-edit .image-upload-crop-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:#0006;opacity:0;transition:opacity .2s ease}.profile-header-avatar-wrap:hover .profile-header-avatar-edit .image-upload-crop-preview,.profile-header-avatar-wrap:hover .profile-header-avatar-edit .image-upload-crop-empty{opacity:1}.profile-header-avatar-edit .image-upload-crop-preview img{display:none}.profile-header-avatar-edit .image-upload-crop-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;transform:translate(3px)}.profile-header-avatar-edit .image-upload-crop-actions button{display:none}.profile-header-avatar-edit .image-upload-crop-actions label{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:0;border:none;border-radius:50%;background:transparent;cursor:pointer;font-size:0}.profile-header-avatar-edit .image-upload-crop-actions label:before{content:"";width:24px;height:24px;margin-bottom:2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z'/%3E%3Ccircle cx='12' cy='13' r='4'/%3E%3C/svg%3E") no-repeat center;background-size:contain}.profile-header-avatar-edit .image-upload-crop-empty .image-upload-crop-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:0;border:none;border-radius:50%;background:transparent;cursor:pointer;font-size:0;transform:translate(3px)}.profile-header-avatar-edit .image-upload-crop-empty .image-upload-crop-trigger:before{content:"";width:24px;height:24px;margin-bottom:2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z'/%3E%3Ccircle cx='12' cy='13' r='4'/%3E%3C/svg%3E") no-repeat center;background-size:contain}.profile-header-avatar-edit .image-upload-crop-actions label:after,.profile-header-avatar-edit .image-upload-crop-empty .image-upload-crop-trigger:after{content:"Change";font-size:.6rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.03em}.profile-header .profile-header-text{flex:1;min-width:0}.profile-header h1{margin:0 0 .5rem;font-size:1.75rem;font-weight:600;color:#1a1a1a}.profile-subtitle{color:var(--forma-muted);font-size:.95rem;margin:0;line-height:1.4}.profile-content{margin-top:0}.profile-empty{color:var(--forma-muted);text-align:left;padding:2rem 0}.profile-back{color:var(--forma-accent);text-decoration:none;font-size:.9rem}.profile-back:hover{text-decoration:underline}.health-documents-drop{position:relative;display:flex;align-items:center;justify-content:center;min-height:120px;padding:1.5rem;border:2px dashed #e2e8f0;border-radius:8px;background:#f8fafc;cursor:pointer;transition:border-color .15s,background .15s}.health-documents-drop:hover{border-color:var(--forma-accent);background:#5e1a3d0a}.health-documents-drop.drag-over{border-color:var(--forma-accent);background:#5e1a3d14}.health-documents-drop.has-file{border-style:solid;border-color:#e2e8f0}.health-documents-drop-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.health-documents-drop-label,.health-documents-drop-file{font-size:.95rem;color:#64748b}.health-documents-drop.has-file .health-documents-drop-file{color:var(--forma-primary);font-weight:500}.health-documents-empty{color:var(--forma-muted);font-size:.95rem;margin:0}.health-documents-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.health-documents-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.health-documents-item-main{display:flex;align-items:center;gap:1rem;min-width:0}.health-documents-thumb{width:48px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0}.health-documents-icon{font-size:1.5rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:6px;flex-shrink:0}.health-documents-item-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.health-documents-type{font-weight:500;font-size:.95rem}.health-documents-label{font-size:.9rem;color:#334155}.health-documents-date{font-size:.8rem;color:var(--forma-muted)}.health-documents-item-actions{display:flex;gap:.5rem;flex-shrink:0}.health-layout{display:flex;flex-direction:column;min-height:0}.health-tabs{display:flex;gap:.25rem;padding:0 0 1rem;border-bottom:1px solid #e2e8f0;margin-bottom:1rem}.health-tab{padding:.5rem 1rem;font-size:.9rem;color:#64748b;background:transparent;border:none;border-radius:6px;cursor:pointer;text-decoration:none}.health-tab:hover{color:var(--forma-primary);background:#f1f5f9}.health-tab.active{color:var(--forma-accent);background:#5e1a3d14;font-weight:500}.health-tab-content{flex:1;min-height:0}.bloodwork-consent-modal{max-width:480px}.bloodwork-consent-intro{margin:0 0 1rem;color:#475569}.bloodwork-consent-content{margin:0 0 1rem;font-size:.95rem;color:#334155}.bloodwork-consent-content h3{font-size:.95rem;margin:1rem 0 .25rem;color:#1e293b}.bloodwork-consent-content h3:first-child{margin-top:0}.bloodwork-consent-content p{margin:0}.bloodwork-consent-disclaimer{font-size:.85rem;color:#64748b;font-style:italic;margin:0 0 1rem}.bloodwork-panels-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.bloodwork-panel-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem}.bloodwork-panel-main{display:flex;flex-direction:column;gap:.25rem;min-width:0}.bloodwork-panel-type{font-weight:500;color:#334155}.bloodwork-panel-date{font-size:.9rem;color:#64748b}.bloodwork-panel-lab{font-size:.85rem;color:#94a3b8}.bloodwork-panel-markers{list-style:none;margin:.5rem 0 0;padding:0;font-size:.9rem;color:#475569}.bloodwork-marker{margin-bottom:.2rem}.bloodwork-marker.flag-low,.bloodwork-marker.flag-high{color:#b45309}.bloodwork-marker-flag{font-size:.8rem;margin-left:.25rem}.bloodwork-panel-actions{display:flex;gap:.5rem;flex-shrink:0}.bloodwork-plan-impact{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.bloodwork-impact-text{margin:0;font-size:.95rem;color:#334155}.bloodwork-manual-form .field{margin-bottom:1rem}.bloodwork-marker-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.bloodwork-marker-row select{flex:1;min-width:120px}.bloodwork-marker-row input{width:100px}.bloodwork-marker-unit{font-size:.9rem;color:#64748b;min-width:3rem}.bloodwork-form-actions{display:flex;gap:.5rem;margin-top:1rem}.profile-bloodwork-cta{margin:.75rem 0 0;font-size:.9rem}.profile-bloodwork-cta a{color:var(--forma-accent);text-decoration:none}.profile-bloodwork-cta a:hover{text-decoration:underline}.profile-content .profile-section{margin-bottom:2rem}.profile-content .profile-section h2{font-size:1.1rem;margin:0 0 1rem;color:#334155}.profile-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.profile-section-head h2{margin:0}.profile-badges-count{font-size:.9rem;color:var(--forma-muted);font-weight:500}.profile-badges-loading{color:#64748b;font-size:.9rem;margin:0}.profile-badges-cta{margin:.75rem 0 0;font-size:.9rem}.profile-badges-cta a{color:var(--forma-accent);text-decoration:none}.profile-badges-cta a:hover{text-decoration:underline}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.badge-card{display:flex;flex-direction:column;align-items:center;padding:1rem .5rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#9ca3af;transition:border-color .2s,color .2s;font:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center}.badge-card-icon{margin-bottom:.5rem}.badge-card.earned{color:var(--mova-hero);border-color:#992c6133;background:#992c610a}.badge-card-name{font-size:.75rem;font-weight:500;text-align:center}.badge-card:hover{border-color:var(--forma-accent)}.badge-detail-modal{text-align:center;max-width:360px}.badge-detail-icon{margin:0 auto 1rem;color:#9ca3af}.badge-detail-icon.earned{color:var(--mova-hero)}.badge-detail-modal h2{margin:0 0 .5rem;font-size:1.25rem}.badge-detail-earned{font-size:.9rem;color:var(--forma-muted);margin:0 0 1.5rem}.badge-detail-how{text-align:left;background:#f8fafc;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem}.badge-detail-how h3{font-size:.85rem;font-weight:600;color:#64748b;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.badge-detail-how p{margin:0;font-size:.95rem;color:#334155;line-height:1.5}.profile-subscription-section .muted{margin-bottom:1rem}.profile-subscription-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}.profile-subscription-card{padding:1rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;position:relative}.profile-subscription-card.profile-subscription-current{border-color:var(--forma-accent);background:#f8fafc}.profile-subscription-card h3{font-size:1rem;margin:0 0 .5rem;color:#334155}.profile-subscription-desc{font-size:.9rem;color:#64748b;margin:0 0 .5rem}.profile-subscription-price{font-weight:600;font-size:1rem;margin:0 0 .75rem;color:#334155}.profile-subscription-features{margin:0;padding-left:1.25rem;font-size:.85rem;color:#475569}.profile-subscription-features li{margin-bottom:.25rem}.profile-subscription-badge{display:inline-block;margin-top:.5rem;padding:.2rem .5rem;font-size:.75rem;font-weight:500;background:var(--forma-accent);color:#fff;border-radius:4px}.profile-subscription-link{font-size:.95rem;color:var(--forma-accent);text-decoration:none}.profile-subscription-link:hover{text-decoration:underline}.profile-picture-field{display:flex;align-items:center;gap:1rem}.profile-picture-field .avatar{flex-shrink:0}.profile-picture-field input{flex:1;min-width:0}.profile-picture-upload{flex-wrap:wrap}.image-upload-crop{margin-top:.5rem}.image-upload-crop-preview{display:flex;flex-direction:column;gap:.75rem}.image-upload-crop-preview img{max-width:200px;max-height:200px;border-radius:8px;object-fit:cover}.image-upload-crop-preview .image-upload-crop-actions{display:flex;gap:.5rem}.image-upload-crop-editor{display:flex;flex-direction:column;gap:.75rem}.image-upload-crop-editor .ReactCrop{max-height:360px}.image-upload-crop-editor-actions{display:flex;gap:.5rem}.image-upload-crop-empty .image-upload-crop-trigger{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;border:2px dashed #cbd5e1;border-radius:8px;background:#f8fafc;cursor:pointer;font-size:.9rem;color:#64748b;transition:border-color .2s,background .2s}.image-upload-crop-empty .image-upload-crop-trigger:hover{border-color:var(--forma-accent);background:#f1f5f9}.image-upload-crop-empty .image-upload-crop-trigger input{display:none}.image-upload-crop-error{color:#c00;font-size:.85rem;margin:.5rem 0 0}.profile-content .field{margin-bottom:1rem}.profile-content .field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem;color:#334155}.profile-content select,.profile-content input,.profile-content textarea{width:100%;padding:.6rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem}.profile-content textarea{resize:vertical;min-height:80px}.profile-content .error{color:#c00;font-size:.9rem;margin-bottom:1rem}.profile-content .modal-btn{margin-top:.5rem}.payments-page .profile-content{margin-top:0}.payments-empty{padding:2rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;text-align:left}.payments-empty p{margin:.5rem 0}.payments-list{overflow-x:auto}.payments-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.payments-table th,.payments-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e2e8f0}.payments-table th{background:#f8fafc;font-weight:600;font-size:.9rem}.payments-table tr:last-child td{border-bottom:none}.payments-status{font-size:.85rem;padding:.2rem .5rem;border-radius:6px;text-transform:capitalize}.payments-status-paid{background:#22c55e26;color:#15803d}.link-btn{background:none;border:none;padding:0;font-size:inherit;color:var(--forma-accent);cursor:pointer;text-decoration:underline}.link-btn:hover:not(:disabled){color:var(--forma-accent-light)}.link-btn:disabled{cursor:not-allowed;opacity:.6}.payment-method-page .profile-content{margin-top:0}.payment-method-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin-bottom:1rem}.payment-method-card h2{margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.payment-method-card p{margin:0 0 1rem;color:#64748b;font-size:.95rem;line-height:1.5}.forum-page{min-height:100vh;background:#fff;padding-bottom:3rem}.forum-header{background:linear-gradient(135deg,var(--mova-hero) 0%,var(--mova-hero-dark) 100%);color:#fff;padding:1.5rem}.forum-header-inner{max-width:720px;margin:0 auto}.forum-back{display:inline-block;font-size:.9rem;color:#ffffffe6;text-decoration:none;margin-bottom:.5rem}.forum-back:hover{color:#fff;text-decoration:underline}.forum-header h1{margin:0 0 .25rem;font-size:1.75rem;font-weight:700}.forum-subtitle{margin:0;font-size:.95rem;color:#ffffffd9}.forum-main{max-width:900px;margin:0 auto;padding:1.5rem}.forum-search-wrap{margin-bottom:1.5rem}.forum-search-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;transition:border-color .2s}.forum-search-input:focus{outline:none;border-color:var(--forma-accent)}.forum-search-input::placeholder{color:var(--forma-muted)}.forum-topics{display:flex;flex-direction:column;gap:.75rem}.forum-topics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.forum-topics-grid .forum-topic-card{flex-direction:column;align-items:stretch;text-align:left}.forum-topics-grid .forum-topic-icon{font-size:2.5rem;text-align:center}.forum-topics-grid .forum-topic-arrow{align-self:flex-end}.forum-topic-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;color:#1a1a1a;transition:border-color .2s,box-shadow .2s}.forum-topic-card:hover{border-color:var(--forma-accent);box-shadow:0 4px 12px #ad145714}.forum-topic-icon{font-size:2rem;flex-shrink:0}.forum-topic-content{flex:1;min-width:0}.forum-topic-content h2{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--forma-primary)}.forum-topic-content p{margin:0;font-size:.9rem;color:#64748b;line-height:1.4}.forum-topic-count{font-size:.85rem;color:var(--forma-muted)}.forum-topic-arrow{color:var(--forma-muted);font-size:1.25rem}.forum-threads-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.forum-threads-count{font-size:.95rem;color:#64748b}.forum-threads{display:flex;flex-direction:column;gap:.75rem}.forum-thread-card{display:block;padding:1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;color:#1a1a1a;transition:border-color .2s,box-shadow .2s}.forum-thread-card:hover{border-color:var(--forma-accent);box-shadow:0 4px 12px #ad145714}.forum-thread-card h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--forma-primary)}.forum-thread-preview{margin:0 0 .5rem;font-size:.95rem;color:#4b5563;line-height:1.5}.forum-thread-meta{font-size:.85rem;color:var(--forma-muted)}.forum-thread-meta span+span{margin-left:.35rem}.forum-thread-topic{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--forma-accent);margin-bottom:.25rem}.forum-threads-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.forum-threads-grid .forum-thread-card{display:flex;flex-direction:column}.forum-empty{text-align:center;padding:3rem;color:#64748b;grid-column:1 / -1}.forum-empty p{margin:0 0 1rem}.forum-thread-main{padding-top:1rem}.forum-thread-detail{padding:1.5rem 0;border-bottom:1px solid #e2e8f0}.forum-thread-detail h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:var(--forma-primary)}.forum-thread-body{margin-top:1rem;font-size:1rem;line-height:1.7;color:#374151;white-space:pre-wrap}.forum-comments{padding:1.5rem 0}.forum-comments h2{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#334155}.forum-comment-form{margin-bottom:1.5rem}.forum-comment-form textarea{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;resize:vertical;min-height:80px}.forum-comment-form textarea:focus{outline:none;border-color:var(--forma-accent)}.forum-comment-form-options{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:.75rem 0}.forum-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#64748b;cursor:pointer}.forum-display-name{padding:.4rem .6rem;font-size:.9rem;border:1px solid #e2e8f0;border-radius:6px;max-width:160px}.forum-comments-list{display:flex;flex-direction:column;gap:1rem}.forum-comment{padding:1rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.forum-comment-meta{font-size:.85rem;color:var(--forma-muted);margin-bottom:.5rem}.forum-comment-meta span+span{margin-left:.35rem}.forum-comment-body{font-size:.95rem;line-height:1.6;color:#374151;white-space:pre-wrap}.forum-locked{padding:1rem;background:#fef2f2;color:#991b1b;border-radius:8px;font-size:.95rem;margin-bottom:1rem}.admin-forum-page h1{margin:0 0 1rem;font-size:1.5rem;color:#1a1a1a}.admin-forum-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.admin-forum-tabs button{padding:.5rem 1rem;font-size:.95rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer}.admin-forum-tabs button.active{background:var(--forma-accent);color:#fff;border-color:var(--forma-accent)}.admin-forum-tabs button:hover:not(.active){background:#f3f4f6}.admin-forum-filters{margin-bottom:1rem}.admin-forum-filters select{margin-left:.5rem;padding:.35rem .5rem;border:1px solid #d1d5db;border-radius:6px}.admin-forum-topics .table-wrap{margin-top:1rem}.shop-page{min-height:100vh;background:#fff;padding:2rem 1.5rem}.shop-header{max-width:900px;margin:0 auto 2rem}.shop-back{display:inline-block;font-size:.9rem;color:var(--forma-accent);text-decoration:none;margin-bottom:.75rem}.shop-back:hover{text-decoration:underline}.shop-header h1{margin:0 0 .25rem;font-size:1.75rem;font-weight:700;color:var(--forma-primary)}.shop-subtitle{margin:0;font-size:.95rem;color:var(--forma-muted)}.shop-search{max-width:900px;margin:0 auto 1.5rem}.shop-search-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;transition:border-color .2s}.shop-search-input:focus{outline:none;border-color:var(--forma-accent)}.shop-search-input::placeholder{color:var(--forma-muted)}.shop-section{max-width:900px;margin:0 auto 2.5rem}.shop-section h2{margin:0 0 .25rem;font-size:1.25rem;font-weight:600;color:var(--forma-primary)}.shop-section-desc{margin:0 0 1rem;font-size:.9rem;color:#64748b}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.shop-card-wrap{display:flex;flex-direction:column;min-height:0}.shop-card-wrap .shop-card{flex:1}.shop-card-link{text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}.shop-card-link:hover{transform:translateY(-2px)}.shop-card-link .shop-card{box-shadow:0 4px 12px #00000014}.shop-card-link:hover .shop-card{box-shadow:0 8px 24px #ad145726}.shop-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:border-color .2s;display:flex;flex-direction:column;height:100%}.shop-card-wrap:not(.shop-card-link):hover .shop-card{border-color:var(--forma-accent)}.shop-card-image{aspect-ratio:4/3;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden}.shop-card-image img{width:100%;height:100%;object-fit:cover}.shop-card-placeholder{font-size:3rem;color:var(--forma-muted)}.shop-card-body{padding:1rem 1.25rem;flex:1;min-height:0}.shop-card-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.5rem}.shop-card-meta .role-badge{flex-shrink:0}.shop-card-category{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--forma-accent);margin-bottom:.25rem}.shop-card-body h3{margin:0 0 .35rem;font-size:1.1rem;font-weight:600;color:var(--forma-primary)}.shop-card-desc{margin:0 0 .5rem;font-size:.9rem;color:#64748b;line-height:1.4}.shop-card-price{font-size:1rem;font-weight:600;color:var(--forma-accent);margin:0}.shop-card-footer{flex-shrink:0;border-top:1px solid #e2e8f0}.shop-card-cta{display:block;padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;color:var(--forma-accent);text-align:center}.shop-card-cta-muted{color:var(--forma-muted);font-weight:500}.shop-empty{text-align:center;padding:3rem;color:#64748b}.pricing-section{padding:4rem 1.5rem;background:#fff}.pricing-intro{text-align:center;font-size:1rem;color:#64748b;margin:0 0 2rem;max-width:480px;margin-left:auto;margin-right:auto}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:720px;margin:0 auto}.pricing-card{position:relative;padding:1.75rem;background:#fafafa;border-radius:16px;border:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column}.pricing-card-featured{background:var(--forma-surface);border-color:var(--forma-accent);box-shadow:0 8px 24px #ad14571f}.pricing-badge{position:absolute;top:-.5rem;left:50%;transform:translate(-50%);padding:.35rem .75rem;font-size:.75rem;font-weight:600;color:#fff;background:var(--forma-accent);border-radius:20px}.pricing-plan-name{font-size:1.25rem;font-weight:700;color:var(--forma-primary);margin:0 0 .35rem}.pricing-plan-desc{font-size:.9rem;color:#64748b;margin:0 0 1rem;line-height:1.4}.pricing-price{font-size:1.5rem;font-weight:700;color:var(--forma-primary);margin:0 0 1.25rem}.pricing-features{list-style:none;margin:0 0 1.5rem;padding:0;flex:1}.pricing-features li{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;color:#4b5563;margin-bottom:.5rem;line-height:1.4}.pricing-check{color:var(--forma-accent);font-weight:700;flex-shrink:0}.pricing-cta{margin-top:auto}.pricing-btn{display:block;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:600;text-align:center;text-decoration:none;border-radius:10px;transition:background .2s,color .2s}.pricing-btn-primary{background:var(--forma-accent);color:#fff}.pricing-btn-primary:hover{background:var(--forma-accent-light);color:#fff}.pricing-btn-secondary{background:#fff;color:var(--forma-primary);border:2px solid var(--forma-primary)}.pricing-btn-secondary:hover{background:var(--forma-surface);color:var(--forma-primary)}.subscription-page .subscription-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.subscription-card-wrap .shop-card-cta{margin-top:.5rem;cursor:pointer;padding:.5rem 0;background:none;border:none;font-size:inherit;color:var(--forma-accent);text-decoration:none;display:inline-block}.subscription-card-wrap .shop-card-cta:hover:not(:disabled){text-decoration:underline}.subscription-card-wrap .shop-card-cta:disabled{cursor:not-allowed;opacity:.7}.subscription-plan-name{font-size:1.15rem;margin:0 0 .5rem}.subscription-plan-desc{font-size:.9rem;color:var(--forma-muted);margin:0 0 .5rem}.subscription-features{list-style:none;margin:0 0 1rem;padding:0;font-size:.9rem;color:#64748b}.subscription-features li{margin-bottom:.35rem;padding-left:1.25rem;position:relative}.subscription-features li:before{content:"✓";position:absolute;left:0;color:var(--forma-accent);font-weight:700}.subscription-card-featured{border-color:var(--forma-accent);box-shadow:0 4px 16px #ad145726}.subscription-price{font-size:1.25rem;font-weight:600}.subscription-status{max-width:500px;margin:0 auto 2rem}.subscription-status-card{padding:1.5rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.subscription-status-label{margin:0 0 .25rem;font-size:.85rem;color:var(--forma-muted)}.subscription-status-value{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--forma-primary)}.subscription-period-end{margin:0 0 1rem;font-size:.9rem;color:#64748b}.subscription-tiers-section{margin-bottom:2.5rem}.subscription-tiers-title{font-size:1.5rem;margin:0 0 .5rem;color:#1a1a1a}.subscription-tiers-intro{font-size:1rem;color:var(--forma-muted);margin:0 0 1.5rem}.subscription-tiers-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:900px}@media(max-width:700px){.subscription-tiers-grid{grid-template-columns:1fr}}.subscription-tier-card{padding:1.5rem;border-radius:12px;border:1px solid #e2e8f0;background:#fff;position:relative}.subscription-tier-free{border-color:#cbd5e1}.subscription-tier-paid{border-color:var(--forma-accent);box-shadow:0 4px 16px #ad14571f}.subscription-tier-badge{position:absolute;top:-.5rem;right:1rem;font-size:.75rem;font-weight:600;color:var(--forma-accent);background:#fff;padding:.2rem .5rem;border-radius:4px;border:1px solid var(--forma-accent)}.subscription-tier-badge-current{background:var(--forma-primary);color:#fff;border-color:var(--forma-primary)}.subscription-tier-current-label{font-size:.9rem;color:var(--forma-muted)}.subscription-period-end-inline{font-size:.85rem;color:var(--forma-muted);margin:0 0 .75rem}.subscription-tier-name{font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.subscription-tier-desc{font-size:.9rem;color:var(--forma-muted);margin:0 0 .75rem}.subscription-tier-price{font-size:1.25rem;font-weight:600;margin:0 0 1rem}.subscription-tier-paid-options{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.subscription-tier-paid-option{display:flex;align-items:center;gap:.75rem}.subscription-tier-features{list-style:none;margin:0;padding:0;font-size:.9rem;color:#64748b}.subscription-tier-features li{margin-bottom:.35rem;padding-left:1.25rem;position:relative}.subscription-tier-features li:before{content:"✓";position:absolute;left:0;color:var(--forma-accent);font-weight:700}.subscription-tier-cta{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}.subscription-cta{display:block;width:100%;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:background .15s,color .15s}.subscription-cta-current{background:#f1f5f9;color:var(--forma-muted);cursor:default}.subscription-cta-primary{background:var(--forma-primary);color:#fff}.subscription-cta-primary:hover:not(:disabled){background:var(--forma-accent)}.subscription-cta-secondary{background:transparent;color:var(--forma-primary);border:1px solid var(--forma-primary)}.subscription-cta-secondary:hover:not(:disabled){background:#ad145714}.subscription-cta:disabled{cursor:not-allowed;opacity:.7}.subscription-dev-badge{display:inline-block;margin-top:.5rem;font-size:.8rem;color:var(--forma-muted);font-style:italic}.subscription-history-section{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.subscription-history-title{font-size:1.1rem;font-weight:600;margin:0 0 .75rem;color:#1a1a1a}.subscription-history-empty{font-size:.95rem;color:var(--forma-muted);margin:0}.subscription-history-list{list-style:none;margin:0;padding:0}.subscription-history-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #f1f5f9;font-size:.95rem}.subscription-history-item:last-child{border-bottom:none}.subscription-history-change{font-weight:500;color:#334155}.subscription-history-meta{font-size:.85rem;color:var(--forma-muted)}.subscription-history-source{text-transform:capitalize}.shop-card-cta-secondary{color:var(--forma-muted)}.shop-card-cta-secondary:hover{color:var(--forma-primary)}.admin-shop-page h1{margin:0 0 .25rem;font-size:1.5rem;color:#1a1a1a}.admin-tabs-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;margin-bottom:1rem;min-width:0;overflow-x:auto}.admin-tabs-row-inline .admin-tab{padding:.4rem .75rem;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:.85rem;flex-shrink:0}.admin-tabs-row-inline .admin-tab:hover{background:#f1f5f9}.admin-tabs-row-inline .admin-tab.active{background:var(--forma-primary);border-color:var(--forma-primary);color:#fff}.admin-tabs-row-inline .btn,.admin-tabs-row-inline select{flex-shrink:0}.admin-tabs-row-inline select{padding:.4rem .6rem;font-size:.85rem;max-width:140px;border:1px solid #d1d5db;border-radius:8px}.admin-tabs-row-inline .usda-result{font-size:.8rem;white-space:nowrap;flex-shrink:0}.admin-tabs-row .admin-tabs{margin-bottom:0;flex-shrink:0;display:flex;flex-wrap:nowrap;gap:.25rem}.admin-tabs-row .admin-shop-filters,.admin-tabs-row .admin-tab-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;margin-bottom:0;margin-left:auto;flex-shrink:0}.admin-tabs-row .admin-shop-filters label{display:flex;align-items:center;gap:.5rem}.admin-tabs-row .admin-shop-filters label select{margin-left:0}.admin-tabs-row .admin-shop-filters select,.admin-tabs-row .admin-tab-actions select{padding:.4rem .6rem;font-size:.85rem;max-width:140px}.admin-tabs-row .admin-tab-actions .btn{padding:.4rem .75rem;font-size:.85rem}.admin-tabs-row .admin-tab-actions .usda-result{font-size:.8rem;white-space:nowrap}@media(max-width:480px){.admin-tabs-row{flex-wrap:wrap}.admin-tabs-row-inline .admin-tab{padding:.4rem .6rem;font-size:.8rem}.admin-tabs-row .admin-tabs{width:100%}.admin-tabs-row .admin-tabs button{padding:.4rem .6rem;font-size:.8rem}.admin-tabs-row .admin-shop-filters,.admin-tabs-row .admin-tab-actions{width:100%;margin-left:0;flex-wrap:wrap}.admin-tabs-row .admin-shop-filters select,.admin-tabs-row .admin-tab-actions select,.admin-tabs-row-inline select{max-width:none;flex:1;min-width:0}}.admin-header-with-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.admin-header-with-filters .users-header{margin-bottom:0;flex:1;min-width:0}.admin-header-with-filters .admin-shop-filters{margin-bottom:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.admin-header-with-filters .admin-shop-filters select{padding:.4rem .6rem;font-size:.85rem}@media(max-width:768px){.admin-header-with-filters{flex-direction:column;align-items:stretch}.admin-header-with-filters .admin-shop-filters{width:100%}.admin-header-with-filters .admin-shop-filters select{flex:1;min-width:0}}.admin-shop-filters{display:flex;gap:1rem;margin-bottom:1rem}.admin-shop-filters select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem}.data-table-sortable .th-drag,.data-table-sortable .td-drag{width:2.5rem;padding:.5rem;vertical-align:middle;text-align:center}.drag-handle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;font-size:1rem;color:#94a3b8;background:transparent;border:none;border-radius:6px;cursor:grab;transition:color .15s,background .15s}.drag-handle:hover{color:var(--forma-primary);background:#f3f4f6}.drag-handle:active{cursor:grabbing}.sortable-row-dragging{opacity:.5;background:#f9fafb}.admin-shop-reordering{margin-top:-.5rem;margin-bottom:1rem}.modal-card-wide{max-width:520px}.signup-account-step .onboarding-title,.signup-otp-step .onboarding-title{margin-top:0}.signup-account-step .onboarding-desc,.signup-otp-step .onboarding-desc{margin-bottom:1.25rem}.field-row{display:flex;gap:1rem}.field-row .field{flex:1}.profile-targets{margin-top:.5rem;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.profile-targets .field{margin-bottom:.75rem}.profile-targets .field:last-child{margin-bottom:0}.workout-exercise-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem;flex-wrap:wrap}.workout-exercise-row select{flex:1;min-width:150px}.workout-exercise-row input[type=number],.workout-exercise-row input[type=text]{width:auto;min-width:0}.video-embed{position:relative;width:100%;padding-bottom:56.25%;background:#111;border-radius:8px;overflow:hidden}.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-embed-fallback{padding:2rem;display:flex;align-items:center;justify-content:center}.videos-page h1{margin-bottom:.5rem}.videos-search-bar{margin-bottom:1.25rem}.videos-search-input{width:100%;max-width:400px;padding:.6rem 1rem;font-size:1rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.videos-search-input:focus{outline:none;border-color:var(--forma-primary)}.videos-search-input::placeholder{color:var(--forma-muted)}.videos-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.5rem}.videos-toolbar .videos-search-bar{flex:1;min-width:200px}.videos-view-toggle{display:flex;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.videos-view-btn{padding:.5rem 1rem;font-size:.9rem;font-weight:500;border:none;background:transparent;color:var(--forma-muted);cursor:pointer;transition:background .15s,color .15s}.videos-view-btn:hover{background:#f8fafc;color:#374151}.videos-view-btn.active{background:var(--forma-primary);color:#fff}.videos-view-btn+.videos-view-btn{border-left:1px solid #e2e8f0}.videos-view-btn.active+.videos-view-btn,.videos-view-btn+.videos-view-btn.active{border-left-color:transparent}.videos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.videos-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.video-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f;text-align:left;cursor:pointer;border:none;padding:0;transition:transform .15s,box-shadow .15s}.video-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.video-card-thumb{aspect-ratio:16/9;background:#111;overflow:hidden}.video-card-thumb img{width:100%;height:100%;object-fit:cover}.video-card-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#333,#111)}.video-card-body{padding:1rem}.video-card-body h3{margin:0 0 .25rem;font-size:1rem;font-weight:600}.video-card-body p{margin:0;font-size:.875rem}.video-card-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.video-card-tag{font-size:.75rem;padding:.2rem .5rem;background:var(--forma-surface);color:var(--forma-primary);border-radius:4px}.videos-list .video-card{display:flex;flex-direction:row;align-items:stretch}.videos-list .video-card-thumb{width:160px;min-width:160px;aspect-ratio:16/9;flex-shrink:0}.videos-list .video-card-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.videos-list .video-card-body p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:.25rem}.live-page{max-width:600px}.live-stream-card{margin-top:1.5rem}.video-card-live{border:2px solid #dc2626}.video-card-live-thumb{background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;align-items:center;justify-content:center}.video-card-live-badge{font-size:.875rem;font-weight:700;letter-spacing:.1em;color:#dc2626;background:#dc262626;padding:.5rem 1rem;border-radius:6px}.video-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:2rem}.video-modal{position:relative;max-width:900px;width:100%;background:#111;border-radius:12px;overflow:hidden}.video-modal-close{position:absolute;top:.5rem;right:.5rem;z-index:10;width:2.5rem;height:2.5rem;border-radius:50%;border:none;background:#0009;color:#fff;font-size:1.5rem;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}.video-modal-close:hover{background:#000c}.video-modal mux-player,.video-modal .live-hls-video{width:100%;aspect-ratio:16/9;display:block}.live-waiting-placeholder{width:100%;aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1a1a1a;border-radius:8px;padding:2rem}.video-modal-title{padding:1rem 1rem 1.5rem;margin:0;font-size:1.125rem;font-weight:600;color:#fff}.video-modal-error{display:flex;align-items:center;justify-content:space-between;padding:1rem;margin-bottom:1rem;background:#fef2f2;color:#b91c1c;border-radius:8px}.video-modal-error button{background:none;border:none;color:inherit;cursor:pointer;text-decoration:underline}.broadcast-modal{position:relative;max-width:720px;width:100%;background:#fff;border-radius:12px;padding:1.5rem}.broadcast-modal h2{margin:0 2.5rem 1rem 0;font-size:1.25rem}.broadcast-error{display:flex;align-items:center;justify-content:space-between;padding:1rem;margin-bottom:1rem;background:#fef2f2;color:#b91c1c;border-radius:8px}.broadcast-error button{background:none;border:none;font-size:1.25rem;cursor:pointer}.broadcast-warning{padding:.75rem 1rem;background:#fef3c7;color:#92400e;border-radius:8px;font-size:.9rem}.broadcast-setup{padding:1rem 0}.broadcast-setup p{margin-bottom:1rem}.broadcast-preview{display:flex;flex-direction:column;gap:1rem}.broadcast-video-wrap{position:relative;width:100%;min-height:200px;background:#111;border-radius:8px;overflow:hidden;aspect-ratio:16/9}.broadcast-video-src{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}.broadcast-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none}.broadcast-controls{display:flex;align-items:center;gap:1rem}.broadcast-status{font-size:.9rem;font-weight:600}.broadcast-status.connecting{color:var(--forma-muted)}.broadcast-status.connected{color:#dc2626}.broadcast-stop-btn{background:#dc2626}.broadcast-stop-btn:hover{background:#b91c1c}.broadcast-hint{font-size:.85rem}.admin-videos-page h1{margin:0 0 .25rem}.admin-videos-upload-card{background:#fff;border-radius:12px;padding:1.75rem;margin:1.5rem 0;box-shadow:0 1px 3px #00000014;border:1px solid #e5e7eb}.admin-videos-upload-card h2,.admin-videos-list h2{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#111827}.admin-videos-upload-error{display:flex;align-items:flex-start;gap:.5rem;padding:1rem 1.25rem;margin-bottom:1.25rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:.9rem;line-height:1.5}.admin-videos-upload-error .admin-videos-error-dismiss{flex-shrink:0;margin-left:auto;padding:.25rem .5rem;background:#b91c1c1a;border:none;border-radius:6px;color:inherit;font-size:1.125rem;cursor:pointer;line-height:1;transition:background .15s}.admin-videos-upload-error .admin-videos-error-dismiss:hover{background:#b91c1c33}.admin-videos-upload-card .admin-videos-field label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.375rem}.admin-videos-upload-card .admin-videos-field input[type=text]{width:100%;min-width:200px;padding:.6rem .75rem;font-size:.95rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;transition:border-color .15s,box-shadow .15s}.admin-videos-upload-card .admin-videos-field input[type=text]:focus{outline:none;border-color:var(--forma-accent);box-shadow:0 0 0 3px #ad145726}.admin-videos-upload-card .admin-videos-field input[type=text]:disabled{background:#f3f4f6;cursor:not-allowed}.admin-videos-file-picker{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.admin-videos-file-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.admin-videos-choose-btn{padding:.5rem 1rem;font-size:.9rem;font-weight:500;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;transition:background .15s,border-color .15s}.admin-videos-choose-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.admin-videos-choose-btn:disabled{opacity:.6;cursor:not-allowed}.admin-videos-file-name{font-size:.875rem;color:#6b7280}.admin-videos-file-name.has-file{color:var(--forma-accent);font-weight:500}.admin-videos-upload-fields{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:flex-end}.admin-videos-upload-fields .admin-videos-field{margin-bottom:0}.admin-videos-upload-actions{margin-left:auto}.admin-videos-upload-btn{padding:.6rem 1.5rem;font-weight:600}.admin-videos-upload-progress{display:flex;align-items:center;gap:1rem;margin-top:1rem}.admin-videos-progress-bar{flex:1;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}.admin-videos-progress-fill{height:100%;background:linear-gradient(90deg,var(--forma-accent) 0%,var(--forma-accent-light) 100%);border-radius:6px;transition:width .25s ease-out}.admin-videos-progress-label{font-size:.9rem;font-weight:600;min-width:3.5rem;text-align:right;color:var(--forma-accent)}.admin-videos-thumb-col{width:100px;padding:.5rem!important;vertical-align:middle}.admin-videos-thumb{width:80px;height:45px;object-fit:cover;border-radius:4px;display:block}.admin-videos-thumb-placeholder{width:80px;height:45px;background:#e5e7eb;border-radius:4px}.admin-videos-title-cell{display:flex;flex-direction:column;gap:.25rem}.admin-videos-title-cell span:first-child{font-weight:500}.admin-videos-id{font-size:.75rem;color:#9ca3af;font-family:ui-monospace,monospace}.main-content:has(.admin-videos-page){overflow:hidden;display:flex;flex-direction:column}.admin-videos-page{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.admin-videos-page>.users-header,.admin-videos-page>.admin-videos-upload-card{flex-shrink:0}.admin-videos-list{margin-top:1rem;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.admin-videos-list-header{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.admin-videos-list-header h2{margin:0}.admin-videos-pagination-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.admin-videos-per-page{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#6b7280}.admin-videos-per-page select{padding:.35rem .6rem;font-size:.9rem;border:1px solid #d1d5db;border-radius:6px;background:#fff}.admin-videos-page-info{font-size:.9rem;color:#6b7280}.admin-videos-page-btns{display:flex;gap:.5rem}.admin-videos-list .data-table{margin-top:0}.admin-videos-list .admin-videos-table-wrap{flex:1;min-height:0;overflow-y:auto;overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.admin-videos-list .admin-videos-table-wrap .data-table{margin:0}.admin-videos-list .admin-videos-table-wrap .data-table th{position:sticky;top:0;background:#f9fafb;z-index:1;box-shadow:0 1px #e5e7eb}.admin-videos-active-toggle{display:flex;align-items:center;gap:.75rem}.admin-videos-toggle-switch{display:inline-flex;align-items:center;gap:.5rem;padding:0;border:none;background:none;cursor:pointer;font:inherit;color:inherit}.admin-videos-toggle-track{display:inline-flex;align-items:center;width:2.5rem;height:1.25rem;padding:2px;background:#e2e8f0;border-radius:999px;transition:background .2s}.admin-videos-toggle-switch.active .admin-videos-toggle-track{background:var(--forma-primary)}.admin-videos-toggle-thumb{width:1rem;height:1rem;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s}.admin-videos-toggle-switch.hidden .admin-videos-toggle-thumb{transform:translate(0)}.admin-videos-toggle-switch.active .admin-videos-toggle-thumb{transform:translate(1.25rem)}.admin-videos-toggle-label{font-weight:500;min-width:3.5rem}.admin-videos-toggle-switch.active .admin-videos-toggle-label{color:var(--forma-primary)}.admin-videos-toggle-switch.hidden .admin-videos-toggle-label{color:var(--forma-muted)}.admin-videos-edit-modal{max-width:560px}.admin-videos-thumbnail-picker .admin-videos-thumbnail-hint{font-size:.85rem;color:var(--forma-muted);margin:0 0 .5rem}.admin-videos-thumbnail-preview{display:flex;flex-direction:column;gap:.75rem}.admin-videos-thumbnail-preview mux-player{width:100%;border-radius:8px;overflow:hidden}.admin-videos-thumbnail-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.admin-videos-seek-btn{padding:.4rem .75rem;font-size:.875rem}.admin-videos-save-thumb-btn{margin-left:auto}.admin-live-page{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0}.admin-live-page .users-header h1{margin:0 0 .25rem}.admin-live-go-live-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:12px;padding:1.5rem}.admin-live-go-live-card h2{margin:0 0 .5rem;font-size:1.25rem}.admin-live-go-live-card .muted{margin-bottom:1rem}.admin-live-go-live-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.admin-live-stream-select{min-width:220px;padding:.6rem .75rem;font-size:1rem;border:1px solid #d1d5db;border-radius:8px;background:#fff}.admin-live-error{display:flex;align-items:center;justify-content:space-between;padding:2rem;background:#fef2f2;color:#b91c1c;border-radius:12px}.admin-live-error-dismiss{padding:.25rem .5rem;background:transparent;border:none;cursor:pointer;font-size:1.25rem;line-height:1;border-radius:4px}.admin-live-error-dismiss:hover{background:#b91c1c33}.admin-live-create-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.admin-live-create-card h2{margin:0 0 1rem}.admin-live-create-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem}.admin-live-create-fields .field,.admin-live-create-fields .admin-videos-field{flex:1;min-width:200px}.admin-live-create-card .admin-videos-field label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.375rem}.admin-live-create-card .admin-videos-field input[type=text]{width:100%;min-width:200px;padding:.6rem .75rem;font-size:.95rem;border:1px solid #d1d5db;border-radius:6px}.admin-live-create-card .admin-videos-field input[type=text]:focus{outline:none;border-color:var(--forma-accent);box-shadow:0 0 0 3px #ad145726}.admin-live-create-card .admin-videos-field input[type=text]:disabled{background:#f3f4f6;cursor:not-allowed}.admin-live-list h2{margin:0 0 1rem}.admin-live-stream-cards{display:flex;flex-direction:column;gap:1.5rem}.admin-live-stream-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.admin-live-stream-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.admin-live-stream-header h3{margin:0 0 .25rem;font-size:1.1rem}.admin-live-status{font-size:.8rem;font-weight:600;padding:.2rem .5rem;border-radius:4px}.admin-live-status-active{background:#dc2626;color:#fff}.admin-live-status-idle{background:#f3f4f6;color:#6b7280}.admin-live-status-disabled{background:#fef2f2;color:#b91c1c}.admin-live-stream-actions{display:flex;gap:.5rem;align-items:center}.admin-live-stream-details{display:flex;flex-direction:column;gap:1rem}.admin-live-detail-row{display:flex;flex-direction:column;gap:.35rem}.admin-live-detail-row label{font-size:.85rem;font-weight:500;color:var(--forma-muted)}.admin-live-copy-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.admin-live-copy-row code{flex:1;min-width:0;font-size:.85rem;padding:.5rem .75rem;background:#f8fafc;border-radius:6px;word-break:break-all}.admin-live-stream-key{font-family:ui-monospace,monospace}.admin-live-copy-btn{flex-shrink:0}.admin-live-hint{font-size:.8rem;margin-top:.25rem}.admin-live-broadcast-hint{margin-top:1rem;padding:1rem;background:#f8fafc;border-radius:8px;font-size:.9rem;color:var(--forma-muted)}.admin-live-broadcast-hint strong{color:inherit}.training-page h1{margin-bottom:1.5rem}.training-program-card{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000f}.training-program-badge{display:inline-block;background:var(--forma-surface);color:var(--forma-primary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.35rem .75rem;border-radius:6px;margin-bottom:.75rem}.training-program-name{font-size:1.25rem;font-weight:600;margin:0 0 1rem}.training-workout-list{display:flex;flex-direction:column;gap:.5rem}.training-weekly-label{font-size:.85rem;font-weight:600;color:var(--forma-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.training-weekly-list{display:flex;flex-direction:column;gap:.5rem}.training-weekly-day-card{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#f8fafc;border-radius:10px;text-decoration:none;color:inherit;transition:background .2s}.training-weekly-day-card:hover{background:#f1f5f9}.training-weekly-day{flex-shrink:0;min-width:5.5rem;font-size:.9rem;font-weight:600;color:var(--forma-primary)}.training-weekly-day-content{flex:1;min-width:0;display:flex;align-items:center;gap:.75rem}.training-weekly-day-content .training-workout-name{font-weight:500}.training-weekly-day-content .training-workout-meta{font-size:.85rem;color:var(--forma-muted)}.training-view-tabs{display:flex;gap:0;margin:1rem 0;border-bottom:1px solid #e2e8f0}.training-view-tabs button{padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;color:#64748b;cursor:pointer;transition:color .2s,border-color .2s}.training-view-tabs button:hover{color:var(--forma-primary)}.training-view-tabs button.active{color:var(--forma-primary);border-bottom-color:var(--forma-primary)}.training-week-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.training-nav-btn{width:36px;height:36px;padding:0;background:#f1f5f9;border:none;border-radius:8px;font-size:1.25rem;cursor:pointer;transition:background .2s}.training-nav-btn:hover{background:#e2e8f0}@media(max-width:768px){.training-nav-btn{min-width:44px;min-height:44px;-webkit-tap-highlight-color:transparent}.training-week-label{font-size:.9rem;text-align:center}.training-monthly-view .training-calendar-desktop-only .training-calendar-cell-card{min-height:120px}.training-done-btn,.training-done-btn-sm{min-width:44px;min-height:44px;-webkit-tap-highlight-color:transparent}}.training-week-label{font-size:.95rem;font-weight:500;color:#334155}.training-day-done{opacity:.85;background:#ecfdf5!important}.training-day-done .training-weekly-day{color:#059669}.training-day-today{border-left:3px solid var(--forma-primary)}.training-day-dragging{opacity:.8;box-shadow:0 4px 12px #00000026}.training-day-drag{flex-shrink:0;width:28px;display:flex;align-items:center;justify-content:center;color:var(--forma-muted);font-size:.9rem;cursor:grab}.training-day-drag:active{cursor:grabbing}.training-day-date{display:block;font-size:.75rem;font-weight:400;color:var(--forma-muted)}.training-workout-link{flex:1;min-width:0;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.15rem}.training-workout-link:hover{color:var(--forma-primary)}.training-done-btn{flex-shrink:0;width:36px;height:36px;padding:0;background:#fff;border:2px solid #e2e8f0;border-radius:50%;font-size:1.1rem;color:#64748b;cursor:pointer;transition:all .2s}.training-done-btn:hover:not(:disabled){border-color:var(--forma-primary);color:var(--forma-primary)}.training-done-btn.done{background:#10b981;border-color:#10b981;color:#fff}.training-done-btn-sm{width:28px;height:28px;font-size:.9rem}.training-day-rest{font-size:.9rem;color:var(--forma-muted);font-style:italic}.training-calendar-mobile-only{display:none}.training-calendar-desktop-only{display:grid}.training-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px}.training-calendar-list{display:flex;flex-direction:column;gap:.75rem}.training-calendar-list .training-calendar-cell-card{min-height:auto;width:100%}.training-calendar-list .training-calendar-cell-card.training-day-today{border-width:3px}.training-calendar-list .training-calendar-card{padding:1rem}.training-calendar-list .training-calendar-day-num,.training-calendar-list .training-calendar-workout-title{font-size:1rem}.training-calendar-list .training-calendar-workout-instructions{font-size:.8rem;-webkit-line-clamp:3}.training-calendar-list .training-calendar-exercise-list{font-size:.85rem}@media(max-width:768px){.training-calendar-mobile-only{display:flex}.training-calendar-desktop-only{display:none}}@media(min-width:769px){.training-calendar-mobile-only{display:none}.training-calendar-desktop-only{display:grid}}.training-calendar-header{font-size:.7rem;font-weight:600;color:var(--forma-muted);text-transform:uppercase;padding:.35rem 0;text-align:center}.training-calendar-cell{min-height:72px;padding:.5rem;background:#f8fafc;border-radius:8px;font-size:.8rem}.training-calendar-cell-card{min-height:140px;padding:0;overflow:hidden}.training-calendar-empty{background:transparent}.training-calendar-card{height:100%;padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.training-calendar-card-header{display:flex;align-items:center;justify-content:space-between}.training-calendar-day-num{font-weight:600;color:#334155;font-size:.9rem}.training-calendar-workout-card{flex:1;min-height:0;display:flex;flex-direction:column;gap:.35rem;text-decoration:none;color:inherit;overflow-y:auto}.training-calendar-workout-card:hover{color:var(--forma-primary)}.training-calendar-workout-title{margin:0;font-size:.85rem;font-weight:600;line-height:1.3}.training-calendar-workout-instructions{margin:0;font-size:.7rem;color:var(--forma-muted);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.training-calendar-exercise-list{margin:0;padding-left:1rem;font-size:.7rem;line-height:1.4;color:#475569}.training-calendar-exercise-list li{display:flex;justify-content:space-between;gap:.5rem}.training-calendar-exercise-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-calendar-exercise-sets{flex-shrink:0;color:var(--forma-muted)}.training-calendar-exercise-count{margin:0;font-size:.75rem;color:var(--forma-muted)}.training-calendar-workout{display:flex;flex-direction:column;gap:.25rem}.training-calendar-workout-name{font-size:.75rem;color:#475569;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-calendar-workout-name:hover{color:var(--forma-primary)}.training-calendar-rest{font-size:.8rem;color:var(--forma-muted);font-style:italic;flex:1;display:flex;align-items:center;justify-content:center}.training-calendar-cell.training-day-done{background:#ecfdf5}.training-calendar-cell.training-day-today{border:2px solid var(--forma-primary)}.training-weekly-list-simple .training-weekly-day-card{cursor:pointer}.training-workout-card{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#f8fafc;border-radius:10px;text-decoration:none;color:inherit;transition:background .2s}.training-workout-card:hover{background:#f1f5f9}.training-workout-name{font-weight:500}.training-workout-meta{font-size:.9rem;color:var(--forma-muted)}.training-back-link{display:inline-block;color:var(--forma-primary);text-decoration:none;font-size:.9rem;margin-bottom:1rem}.training-back-link:hover{text-decoration:underline}.training-workout-subtitle{color:var(--forma-muted);font-size:.95rem;margin:-.5rem 0 1rem}.training-instructions-box{background:var(--forma-surface);color:var(--forma-primary);padding:1rem 1.25rem;border-radius:10px;margin-bottom:1.5rem;font-size:.95rem}.training-exercise-list{display:flex;flex-direction:column;gap:.75rem}.training-exercise-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-radius:10px;text-decoration:none;color:inherit;box-shadow:0 2px 6px #0000000d;transition:box-shadow .2s}.training-exercise-card:hover{box-shadow:0 4px 12px #00000014}.training-exercise-thumb{width:56px;height:56px;border-radius:8px;overflow:hidden;flex-shrink:0}.training-exercise-thumb img{width:100%;height:100%;object-fit:cover}.training-exercise-thumb-placeholder{width:100%;height:100%;background:#e2e8f0}.training-exercise-info{flex:1;min-width:0}.training-exercise-name{font-weight:500;display:block}.training-exercise-meta{font-size:.85rem;color:var(--forma-muted)}.training-finish-wrap{margin-top:2rem}.training-finish-btn{width:100%;padding:.875rem 1.5rem}.training-exercise-page h1{margin-bottom:.25rem}.training-exercise-reps{color:var(--forma-muted);font-size:.95rem;margin:0 0 1rem}.training-exercise-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.training-exercise-tab{padding:.5rem 1rem;font-size:.9rem;color:var(--forma-muted)}.training-exercise-tab-active{color:var(--forma-primary);font-weight:500}.training-exercise-video{margin-bottom:1.5rem}.training-exercise-steps h3{font-size:1rem;margin:0 0 .5rem}.training-exercise-description{white-space:pre-wrap;line-height:1.6}.training-exercise-description p{margin:0 0 .5rem}.training-exercise-detail{margin-top:1rem;padding:1rem;background:#f8fafc;border-radius:8px;font-size:.95rem;color:#555}.training-exercise-nav{display:flex;align-items:center;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.training-exercise-nav-count{font-size:.9rem;color:var(--forma-muted)}.training-other-programs h3{font-size:1.1rem;margin:1.5rem 0 .75rem}.training-program-card-secondary{background:#f8fafc}.meals-page h1{margin-bottom:1.5rem}.meals-page .meals-page-title{margin:0 0 1rem;font-size:1.5rem}.meals-plan-subtitle{font-weight:500;color:#64748b;font-size:1.1rem}.meals-program-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.meals-program-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.meals-history-list,.meals-history-inline{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.meals-history-item{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.meals-history-name{flex:1;min-width:120px}.meals-history-date{font-size:.85rem}.btn-ghost{background:transparent;border:none;color:var(--forma-primary);cursor:pointer;padding:.35rem .5rem;font-size:.9rem}.btn-ghost:hover{text-decoration:underline}.meals-program-select{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.meals-program-select select{padding:.5rem 1rem;border-radius:8px;border:1px solid #e2e8f0;font-size:1rem}@media(max-width:768px){.meals-program-select{flex-direction:column;align-items:stretch;gap:.375rem}.meals-program-select label{font-size:.9rem}.meals-program-select select{width:100%;max-width:100%;min-height:44px;padding:.625rem 2.5rem .625rem 1rem;font-size:1rem;-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='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}}.meals-date-nav{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.meals-date-nav button{padding:.5rem 1rem;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:.9rem}.meals-date-nav button:hover{background:#f1f5f9}.meals-date-nav button.today{font-weight:600;background:var(--forma-surface);border-color:var(--forma-primary)}.meals-totals-card{background:#fff;border-radius:12px;padding:1rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000f}.meals-totals-card h3{margin:0 0 .75rem;font-size:1rem}.meals-totals-grid{display:flex;flex-wrap:wrap;gap:1rem}.meals-total-item{font-size:.95rem}.meals-total-item strong{color:var(--forma-primary)}.meals-list{display:flex;flex-direction:column;gap:.75rem}.meal-card{background:#fff;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 1px 3px #0000000f}.meal-card-header{display:flex;align-items:flex-start;gap:.75rem}.meal-done-btn{flex-shrink:0;width:32px;height:32px;border:2px solid #e2e8f0;border-radius:50%;background:#fff;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.meal-done-btn:hover{border-color:var(--forma-primary)}.meal-done-btn.done{background:#10b981;border-color:#10b981;color:#fff}.meal-slot-label{font-size:.75rem;color:var(--forma-muted);text-transform:uppercase;letter-spacing:.05em}.meal-name{margin:.15rem 0 0;font-size:1.1rem}.meal-nutrition{margin-top:.5rem;font-size:.85rem;color:var(--forma-muted);padding-left:2.75rem}.meals-program-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #00000014;margin-top:1rem}.meals-program-name{margin:0 0 1rem;font-size:1.25rem}.meals-weekly-view,.meals-monthly-view{margin-top:1rem}.meals-weekly-list{display:flex;flex-direction:column;gap:.5rem}.meals-day-card{background:#f8fafc;border-radius:8px;padding:.75rem;border:1px solid #e2e8f0}.meals-day-card.meals-day-today{border-color:var(--forma-primary);background:#fef7f9}.meals-day-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.meals-day-name{font-weight:600;font-size:.95rem;color:#334155}.meals-day-date{font-size:.85rem;color:var(--forma-muted)}.meals-day-totals{margin-left:auto;font-size:.8rem;font-weight:600;color:var(--forma-primary)}.meals-day-meals{display:flex;flex-direction:column;gap:.25rem}.meals-weekly-meal-row{background:#fff;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.meals-weekly-meal-row-btn{display:flex;align-items:flex-start;gap:.5rem;width:100%;padding:.5rem .75rem;text-align:left;background:none;border:none;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.meals-weekly-meal-row-btn:hover{background:#f8fafc}.meals-weekly-meal-row .meal-done-btn{width:26px;height:26px;font-size:.85rem}.meals-weekly-meal-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.meals-weekly-meal-slot{font-size:.7rem;font-weight:600;color:var(--forma-muted);text-transform:uppercase;letter-spacing:.03em}.meals-weekly-meal-name{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meals-weekly-meal-right{flex-shrink:0;display:flex;align-items:center;gap:.35rem}.meals-weekly-meal-kcal{font-size:.85rem;font-weight:600;color:var(--mova-hero)}.meals-weekly-meal-chevron{font-size:.65rem;color:var(--forma-muted)}.meals-weekly-meal-detail{padding:.35rem .75rem .5rem;background:#fafafb;border-top:1px solid #e2e8f0}.meals-weekly-meal-macros{font-size:.8rem;color:var(--forma-muted)}.meal-card-inline{padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem}.meal-card-inline .meal-name{font-size:1rem;margin:0}.tracking-section-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.tracking-empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem 0}.tracking-empty-state .btn-add-empty{margin-top:.25rem}.meal-log-view{margin-top:1rem}.tracking-water-list{display:flex;flex-direction:column;gap:.5rem}.tracking-water-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.tracking-water-row.today{border-color:var(--mova-hero);background:#992c610a}.tracking-water-date{flex:0 0 140px;font-size:.9rem;color:var(--mova-secondary-sage)}.tracking-water-glasses{display:flex;gap:.35rem}.tracking-water-glass{width:28px;height:28px;border-radius:50%;border:2px solid var(--mova-border);background:var(--mova-surface-subtle);padding:0;cursor:pointer;font:inherit;transition:background .2s,border-color .2s}.tracking-water-glass:hover:not(:disabled){border-color:var(--mova-hero)}.tracking-water-glass.filled{background:var(--mova-primary);border-color:var(--mova-hero)}.tracking-water-glass.updating{opacity:.6;pointer-events:none}.tracking-water-summary{flex:0 0 auto;font-size:.95rem;color:var(--mova-secondary-sage)}.meal-log-list{display:flex;flex-direction:column;gap:.25rem}.meal-log-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.meal-log-row-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem 1rem;text-align:left;background:none;border:none;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.meal-log-photo{flex-shrink:0;width:48px;height:48px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.meal-log-photo.has-photo{background:#000}.meal-log-photo.placeholder{background:#f1f5f9;color:var(--forma-muted);cursor:pointer}.meal-log-photo.placeholder:hover{background:#e2e8f0;color:var(--mova-hero)}.meal-log-photo-img{width:100%;height:100%;object-fit:cover}.meal-log-photo-spinner{width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:var(--mova-hero);border-radius:50%;animation:meal-photo-spin .8s linear infinite}.meal-log-detail-photo{width:100%;max-width:320px;aspect-ratio:4/3;border-radius:8px;overflow:hidden;margin-bottom:1rem;display:flex;align-items:center;justify-content:center}.meal-log-detail-photo.has-photo{background:#000}.meal-log-detail-photo.placeholder{background:#f1f5f9;color:var(--forma-muted);cursor:pointer;flex-direction:column;gap:.5rem}.meal-log-detail-photo.placeholder:hover{background:#e2e8f0;color:var(--mova-hero)}.meal-log-detail-photo-img{width:100%;height:100%;object-fit:cover}.meal-log-detail-photo-label{font-size:.85rem}.meal-log-row-btn:hover{background:#f8fafc}.meal-log-row-meal-type{flex-shrink:0;font-size:.75rem;font-weight:600;color:var(--forma-muted);text-transform:capitalize;min-width:4rem}.meal-log-row-date{flex-shrink:0;font-weight:600;color:var(--mova-hero);min-width:5.5rem}.meal-log-row-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.meal-log-row-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.meal-log-source{font-size:.7rem;padding:.1rem .35rem;background:#f1f5f9;color:var(--forma-muted);border-radius:4px}.meal-log-card-plan .meal-log-source{background:#22c55e26;color:#16a34a}.meal-log-calories{font-weight:600;color:var(--mova-hero);font-size:.9rem}.meal-log-row-chevron{flex-shrink:0;font-size:.7rem;color:var(--forma-muted)}.meal-log-detail{padding:0 1rem 1rem;background:#fafafb;border-top:1px solid #e2e8f0}.meal-log-description{font-size:.9rem;color:var(--forma-muted);margin:.5rem 0}.meal-log-items{list-style:none;margin:0;padding:0}.meal-log-item{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.9rem}.meal-log-item span:last-child{color:var(--forma-muted)}.meal-nutrition-inline{font-size:.8rem;color:var(--forma-muted);margin-left:.25rem}.meals-loading{padding:2rem;text-align:center;color:var(--forma-muted)}.meals-calendar-meals{display:flex;flex-direction:column;gap:.25rem}.meals-calendar-meal-row{display:flex;align-items:flex-start;gap:.35rem;font-size:.75rem}.meals-calendar-meal-row .meals-weekly-meal-info{flex:1;min-width:0}.meals-calendar-meal-row .meals-weekly-meal-kcal{font-size:.7rem}.meals-calendar-more{font-size:.7rem;color:var(--forma-muted);margin-top:.15rem}@media(max-width:480px){.meal-done-btn{min-width:44px;min-height:44px}}.admin-tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;flex-wrap:wrap}.admin-tabs button{padding:.5rem 1rem;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:.9rem}.admin-tabs button:hover{background:#f1f5f9}.admin-tabs button.active{background:var(--forma-primary);border-color:var(--forma-primary);color:#fff}@media(max-width:768px){.admin-tabs button{padding:.4rem .6rem;font-size:.8rem}}.admin-meals-list{list-style:none;padding:0;margin:0}.admin-meals-list li{padding:.5rem 0;border-bottom:1px solid #e2e8f0}.admin-meals-list li:last-child{border-bottom:none}.meals-ingredients-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.meals-ingredients-actions .usda-result{font-size:.85rem}.bottom-bar{flex-shrink:0;display:flex;align-items:stretch;background:#5e1a3dfa;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.08);padding:.5rem .25rem;gap:.25rem}.bottom-bar-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem .5rem;background:transparent;border:none;border-radius:10px;color:#ffffffb3;font-size:.85rem;font-weight:500;cursor:pointer;transition:color .2s,background .2s;text-decoration:none}.bottom-bar-btn:hover{background:#ffffff14;color:#fff}.bottom-bar-btn.active{color:var(--forma-accent-light);font-weight:600}.bottom-bar-btn-ai{position:relative;background:linear-gradient(135deg,#8b5cf666,#6366f166);color:#fffffff2;box-shadow:0 0 0 1px #ffffff26}.bottom-bar-btn-ai:hover{background:linear-gradient(135deg,#8b5cf699,#6366f199);color:#fff;box-shadow:0 0 20px #8b5cf666}.bottom-bar-btn-ai.active{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-weight:600;box-shadow:0 0 24px #8b5cf680,0 0 0 1px #fff3}.quick-action-modal .quick-action-modal-actions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.quick-action-modal-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;color:#1a1a1a;transition:border-color .2s,background .2s}.quick-action-modal-item:hover{border-color:var(--forma-accent);background:var(--forma-surface)}.quick-action-modal-item-btn{display:flex;width:100%;text-align:left;border:1px solid #e2e8f0;background:#f8fafc;cursor:pointer;font:inherit;font-family:var(--mova-font-heading)}.quick-action-modal-item strong{display:block;margin-bottom:.25rem;font-size:1rem}.quick-action-modal-item-text span{display:block;font-size:.85rem;color:var(--forma-muted)}.quick-action-modal-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px}.quick-action-modal-icon-update{background:#3b82f626;color:#2563eb}.quick-action-modal-icon-plan{background:#ad145726;color:var(--forma-accent)}.quick-action-modal-icon-meal{background:#22c55e26;color:#16a34a}.meal-photo-modal{max-width:420px}.meal-photo-crop-modal{max-width:480px}.meal-photo-crop-wrap{margin-top:1rem;overflow:hidden;border-radius:8px}.meal-photo-crop-wrap img{display:block}.meal-photo-camera-wrap{position:relative;width:100%;aspect-ratio:4/3;background:#000;border-radius:12px;overflow:hidden;margin-bottom:1rem}.meal-photo-video{width:100%;height:100%;object-fit:cover;display:block}.meal-photo-frame{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border:3px solid rgba(255,255,255,.9);border-radius:16px;box-shadow:0 0 0 9999px #0006;pointer-events:none}.meal-photo-switch-camera{position:absolute;bottom:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#00000080;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;font-size:.9rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.meal-photo-switch-camera:hover{background:#000000b3;border-color:#ffffff80}.meal-photo-preview-wrap{width:100%;aspect-ratio:4/3;background:#000;border-radius:12px;overflow:hidden;margin-bottom:1rem}.meal-photo-preview{width:100%;height:100%;object-fit:cover;display:block}.meal-photo-link-select{margin-bottom:1rem}.meal-photo-link-label{display:block;font-size:.85rem;font-weight:600;color:var(--forma-muted);margin-bottom:.35rem}.meal-photo-link-dropdown{width:100%;padding:.5rem .75rem;font-size:.9rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.meal-photo-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem}.meal-photo-actions-column{flex-direction:column;align-items:stretch}.meal-photo-actions-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.meal-photo-upload-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;background:transparent;border:1px dashed #cbd5e1;border-radius:8px;color:var(--forma-muted);font-size:.9rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.meal-photo-upload-btn:hover{border-color:var(--mova-hero);color:var(--mova-hero)}.meal-photo-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.meal-photo-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;color:var(--forma-muted)}.meal-photo-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:var(--mova-hero);border-radius:50%;animation:meal-photo-spin .8s linear infinite}@keyframes meal-photo-spin{to{transform:rotate(360deg)}}.meal-photo-description{font-size:.95rem;color:var(--forma-muted);margin:0 0 1rem}.meal-photo-result{margin-bottom:1rem}.meal-photo-total{font-size:1.25rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.meal-photo-total strong{color:var(--mova-hero)}.meal-photo-items{list-style:none;margin:0;padding:0}.meal-photo-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #f1f5f9;font-size:.95rem}.meal-photo-item:last-child{border-bottom:none}.meal-photo-item-name{flex:1;min-width:0}.meal-photo-item-kcal{font-weight:600;color:var(--mova-hero)}.meal-photo-item-macros{width:100%;font-size:.8rem;color:var(--forma-muted)}.right-menu{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;gap:.5rem;padding:.5rem .25rem;background:#5e1a3df2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-left:1px solid rgba(255,255,255,.08);border-radius:12px 0 0 12px;box-shadow:-4px 0 20px #00000026}.right-menu-nav{display:flex;flex-direction:column;gap:.25rem}.right-menu-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:48px;height:48px;padding:0;background:transparent;border:none;border-radius:10px;color:#ffffffd9;cursor:pointer;transition:background .2s,color .2s}.right-menu-btn:hover{background:#ffffff1a;color:#fff}.right-menu-btn.active{background:#ad145766;color:var(--forma-accent-light)}.right-menu-label{display:none}@media(min-width:900px){.right-menu-btn{width:auto;padding:.5rem .75rem;justify-content:flex-start}.right-menu-label{display:inline;font-size:.9rem;font-weight:500}.right-menu{padding:.75rem .5rem}}.slideout-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:slideout-fade-in .2s ease}@keyframes slideout-fade-in{0%{opacity:0}to{opacity:1}}.slideout-panel{position:absolute;top:0;right:0;bottom:0;width:100%;max-width:420px;background:#fff;box-shadow:-8px 0 32px #0003;display:flex;flex-direction:column;animation:slideout-slide-in .25s ease}@keyframes slideout-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.slideout-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,var(--mova-hero) 0%,var(--mova-hero-dark) 100%);color:#fff}.slideout-title{margin:0;font-size:1.15rem;font-weight:600;letter-spacing:-.02em}.slideout-close{width:36px;height:36px;padding:0;background:#ffffff26;border:none;border-radius:8px;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;transition:background .2s}.slideout-close:hover{background:#ffffff40}.slideout-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ai-chat-inline{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff}.ai-chat-inline .ai-chat-messages{flex:1;overflow-y:auto}.ai-chat-inline .ai-chat-form{border-top:1px solid #e2e8f0;background:#f8fafc}.ai-chat-messages{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.ai-chat-msg{display:flex;flex-direction:column;gap:.25rem}.ai-chat-msg-user{align-items:flex-end}.ai-chat-msg-assistant{align-items:flex-start}.ai-chat-role{font-size:.75rem;font-weight:600;color:var(--forma-muted);text-transform:uppercase;letter-spacing:.05em}.ai-chat-content{margin:0;padding:.75rem 1rem;font-size:.95rem;line-height:1.5;border-radius:12px;max-width:90%}.ai-chat-msg-user .ai-chat-content{background:linear-gradient(135deg,var(--mova-hero) 0%,var(--mova-hero-dark) 100%);color:#fff}.ai-chat-msg-assistant .ai-chat-content{background:#f1f5f9;color:#334155}.ai-chat-typing{font-style:italic;color:var(--forma-muted)}.ai-chat-error{margin:0 1rem .5rem;font-size:.9rem;color:#dc2626}.ai-chat-form{flex-shrink:0;display:flex;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid #e2e8f0;background:#f8fafc}.ai-chat-input{flex:1;min-width:0;padding:.75rem 1rem;font-size:1rem;border:1px solid #e2e8f0;border-radius:10px;resize:none;font-family:inherit}.ai-chat-input:focus{outline:none;border-color:var(--forma-accent);box-shadow:0 0 0 2px #ad145726}.ai-chat-send{flex-shrink:0;padding:.75rem 1.25rem;font-size:1rem;font-weight:600;background:var(--forma-accent);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:background .2s}.ai-chat-send:hover:not(:disabled){background:var(--forma-accent-light)}.ai-chat-send:disabled{opacity:.6;cursor:not-allowed}.obstetrician-dashboard .obstetrician-patient-list,.obstetrician-report .report-section{list-style:none;padding:0;margin:1rem 0}.obstetrician-patient-list li{margin-bottom:.5rem}.patient-card{display:block;padding:1rem;background:#fff;border-radius:10px;text-decoration:none;color:inherit;border:1px solid #e2e8f0;transition:border-color .2s}.patient-card:hover{border-color:var(--forma-accent)}.patient-meta{font-size:.875rem;color:var(--forma-muted)}.report-header{margin-bottom:1.5rem}.report-header .back-link{display:inline-block;margin-bottom:.5rem;color:var(--forma-accent);text-decoration:none}.report-header .back-link:hover{text-decoration:underline}.report-date-range{display:flex;gap:1rem;margin-top:.5rem}.report-date-range label{display:flex;align-items:center;gap:.5rem}.report-section{margin-bottom:2rem}.report-section h2{font-size:1.125rem;margin-bottom:.75rem}.report-dl{margin:0}.report-dl dt{font-weight:600;margin-top:.5rem}.report-dl dd{margin:0 0 0 1rem}.report-table{width:100%;border-collapse:collapse;margin-top:.5rem}.report-table th,.report-table td{padding:.5rem;text-align:left;border-bottom:1px solid #e2e8f0}.report-ai-summary{white-space:pre-wrap;padding:1rem;background:#f8fafc;border-radius:8px;line-height:1.6}.obstetrician-invite-form{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}.obstetrician-invite-form input{flex:1;max-width:12rem;padding:.5rem;text-transform:uppercase}.obstetrician-connected ul{list-style:none;padding:0}.obstetrician-connected li{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.upgrade-prompt{text-align:center}.upgrade-prompt-content{display:flex;flex-direction:column;align-items:center;gap:1.25rem;max-width:420px}.upgrade-prompt-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--forma-primary);letter-spacing:-.02em;line-height:1.2}.upgrade-prompt-subtitle{margin:0;color:#475569;font-size:1rem;line-height:1.5}.upgrade-prompt-benefits{list-style:none;margin:0;padding:0;text-align:left;width:100%}.upgrade-prompt-benefit{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0;font-size:.95rem;color:#334155;line-height:1.4}.upgrade-prompt-benefit-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:linear-gradient(135deg,var(--forma-primary),var(--forma-secondary));color:#fff;border-radius:50%}.upgrade-prompt-benefit-icon svg{width:12px;height:12px}.upgrade-prompt-cta{padding:.75rem 1.75rem;font-size:1rem;font-weight:600;border-radius:10px;box-shadow:0 4px 14px #5e1a3d59;transition:transform .15s ease,box-shadow .15s ease;text-decoration:none}.upgrade-prompt-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px #5e1a3d66}.upgrade-prompt-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10;border-radius:inherit}.upgrade-prompt-card{padding:2.5rem;background:linear-gradient(145deg,#fff 0%,var(--forma-surface) 100%);border-radius:16px;border:1px solid rgba(94,26,61,.12);box-shadow:0 8px 32px #5e1a3d14}.upgrade-prompt-inline{padding:2rem;background:linear-gradient(145deg,#fff,#fce4ec66);border-radius:16px;border:1px solid rgba(94,26,61,.1)}.content-blurred{position:relative;filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none}.layout-ad{max-width:640px;margin-left:auto;margin-right:auto;padding:0}.layout-ad-top{margin-bottom:1rem}@media(max-width:480px){.layout-ad{max-width:100%;padding:0}}.ad-placeholder{min-height:50px;background:#f1f5f999;border-radius:8px;display:flex;align-items:center;justify-content:center;margin:1rem 0;position:relative;overflow:hidden}.ad-placeholder:not(.ad-placeholder-with-ads):not(.ad-placeholder-google):not(.ad-placeholder-loading):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:0}.ad-placeholder .ad-placeholder-inner{position:relative;z-index:1}.ad-placeholder-inner{padding:.5rem 1rem}.ad-placeholder-label{font-size:.75rem;color:var(--forma-muted)}.ad-placeholder-with-ads{min-height:auto;background:transparent;display:block;position:relative;overflow:hidden}.ad-placeholder-with-ads:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:0}.ad-placeholder-with-ads .ad-card{position:relative;z-index:1}.ad-placeholder-loading{min-height:60px;position:relative;overflow:hidden}.ad-placeholder-loading:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#f1f5f999;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:0}.ad-placeholder-loading .ad-placeholder-inner{position:relative;z-index:1}.ad-placeholder-google{min-height:100px;background:#f1f5f999;border-radius:8px;position:relative;overflow:hidden}.ad-placeholder-google:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:0}.ad-placeholder-google .ad-placeholder-inner{position:relative;z-index:1}.admin-ads-tabs{display:flex;gap:.25rem;margin-bottom:1rem}.admin-ads-tabs button{padding:.5rem 1rem;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:.875rem}.admin-ads-tabs button.active{background:var(--forma-primary);color:#fff;border-color:var(--forma-primary)}.admin-partners-section{margin-top:.5rem}.admin-partners-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.admin-ads-config-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.admin-ads-config-card h2{font-size:1.125rem;margin:0 0 .5rem}.admin-ads-config-card .muted{font-size:.875rem;margin-bottom:1rem}.admin-adsense-instructions{margin-bottom:1rem;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.admin-adsense-instructions summary{cursor:pointer;font-weight:600;color:var(--forma-primary)}.admin-adsense-instructions summary:hover{text-decoration:underline}.admin-adsense-steps{margin:1rem 0 0;padding-left:1.5rem;line-height:1.6}.admin-adsense-steps li{margin-bottom:.75rem}.admin-adsense-steps code{background:#e2e8f0;padding:.15rem .4rem;border-radius:4px;font-size:.85em}.admin-adsense-steps a{color:var(--forma-primary)}.admin-adsense-note{margin-top:1rem;padding:.75rem;background:#fef3c7;border-radius:6px;font-size:.875rem}.admin-ads-config-fields{display:flex;flex-direction:column;gap:1rem}.admin-ads-config-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer}.admin-ads-config-toggle input{width:auto}.ad-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;margin:1rem 0;max-width:100%}.ad-card-image{aspect-ratio:4/3;overflow:hidden;background:#f1f5f9}.ad-card-image img{width:100%;height:100%;object-fit:cover}.ad-card-body{padding:1rem}.ad-card-supplier{font-size:.7rem;color:var(--forma-muted);text-transform:uppercase;letter-spacing:.05em}.ad-card-title{font-size:1rem;margin:.25rem 0 .5rem;font-weight:600}.ad-card-description{font-size:.875rem;color:#64748b;margin:0 0 .75rem;line-height:1.4}.ad-card-cta{display:inline-block;padding:.5rem 1rem;background:var(--forma-primary);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer}.ad-card-cta:hover{background:var(--forma-accent)}.ad-popup-overlay{pointer-events:auto;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.ad-popup-modal{max-width:420px}.ad-popup-title{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--forma-muted);text-transform:uppercase;letter-spacing:.05em}.ad-popup-loading,.ad-popup-empty{padding:2rem;text-align:center;color:var(--forma-muted)}.ad-popup-card{margin:0 0 1rem}.ad-popup-google{min-height:100px;margin-bottom:1rem}.ad-popup-actions{margin-top:1rem}.ad-popup-actions .modal-btn:disabled{opacity:.8;cursor:not-allowed}.admin-plans-page{padding:1.5rem;max-width:900px}.admin-plans-section{margin-top:2rem}.admin-plans-section h2{font-size:1.25rem;margin:0 0 .5rem}.admin-plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1rem}.admin-plan-card{padding:1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.admin-plan-card h3{margin:0 0 .25rem;font-size:1.1rem}.admin-plan-tier{font-size:.85rem;color:var(--forma-muted);margin:0 0 .25rem}.admin-plan-price{font-weight:600;margin:0 0 .25rem}.admin-plan-price-id{font-size:.75rem;margin:0 0 .5rem;word-break:break-all}.admin-plan-features{margin:.75rem 0 0;padding-left:1.25rem;font-size:.9rem;color:#475569}.admin-plan-features li{margin-bottom:.25rem}.admin-features-table-wrap{overflow-x:auto;margin-top:1rem}.admin-features-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-features-table th,.admin-features-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0}.admin-features-table th{background:#f8fafc;font-weight:600}.admin-features-table code{font-size:.85em}.admin-features-table td:nth-child(2),.admin-features-table td:nth-child(3){text-align:center;font-size:1.1rem}.admin-features-table .feature-tick{color:#16a34a}.admin-features-table .feature-cross{color:#dc2626}.admin-practices-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.admin-practices-header-main{min-width:0;flex:1 1 200px}.admin-practices-header h1{margin:0 0 .25rem}.admin-practices-header .muted{margin:0}.admin-practices-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0;flex-wrap:wrap}.admin-practices-view-toggle{display:inline-flex;border:1px solid #e2e8f0;border-radius:8px;overflow:visible;flex-shrink:0}.admin-practices-view-toggle button{padding:.5rem 1rem;font-size:.9rem;border:none;background:#fff;color:var(--forma-muted);cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}.admin-practices-view-toggle button:first-child{border-radius:8px 0 0 8px}.admin-practices-view-toggle button:last-child{border-radius:0 8px 8px 0}.admin-practices-view-toggle button+button{border-left:1px solid #e2e8f0}@media(max-width:640px){.admin-practices-header{flex-direction:column}.admin-practices-actions{width:100%}}.admin-practices-view-toggle button:hover{background:#f8fafc;color:#475569}.admin-practices-view-toggle button.active{background:var(--forma-primary);color:#fff}.admin-practices-add-form{margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-practices-add-form input{min-width:200px}.admin-practices-add-form .form-actions{display:flex;gap:.5rem}.main-content:has(.admin-practices){overflow:hidden;display:flex;flex-direction:column}.admin-practices{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.admin-practices>.admin-practices-header,.admin-practices>.error,.admin-practices>.admin-form.admin-practices-add-form{flex-shrink:0}.admin-practices-table-wrap{margin-top:1rem;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.admin-practices-table-wrap .data-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column}.admin-practices-table-wrap .data-table-wrapper .data-table-toolbar,.admin-practices-table-wrap .data-table-wrapper .data-table-pagination{flex-shrink:0}.admin-practices-table-wrap .data-table-wrapper .data-table-desktop,.admin-practices-table-wrap .data-table-wrapper .data-table-loading,.admin-practices-table-wrap .data-table-wrapper .data-table-empty{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.admin-practices-table-wrap .data-table-wrapper .table-wrap{flex:1;min-height:0;overflow-y:auto;overflow-x:auto}.admin-practices-cards-section{margin-top:1rem;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.admin-practices-cards-section .admin-practices-cards-grid{padding:1rem}.admin-practices-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;flex:1;min-height:0;overflow-y:auto;align-content:start}.admin-practices-cards-pagination{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;border-top:1px solid #e2e8f0;background:#f8fafc;border-radius:0 0 12px 12px}.admin-practices-cards-pagination button{padding:.5rem 1rem;font-size:.9rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer}.admin-practices-cards-pagination button:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.admin-practices-cards-pagination button:disabled{opacity:.5;cursor:not-allowed}.admin-practice-card{padding:1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.admin-practice-card h3{margin:0 0 .5rem;font-size:1.1rem}.admin-practice-card-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--forma-muted);margin:0 0 .75rem}.admin-practice-card-meta strong{color:#1a1a1a}.admin-practice-card .link-btn{font-size:.9rem}.admin-practice-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.admin-practice-website-link{color:var(--forma-accent);text-decoration:none;word-break:break-all}.admin-practice-website-link:hover{text-decoration:underline}.admin-practice-actions{white-space:nowrap}.admin-practices-empty{margin-top:1.5rem;color:var(--forma-muted)}.admin-practices .modal-card .admin-form input{margin-bottom:.75rem}.admin-practices .modal-card .admin-form .form-actions{display:flex;gap:.5rem;margin-top:1rem}.admin-practices .modal-card .admin-form .form-actions .modal-btn{width:auto;flex:1}.habits-page{padding:1.5rem}.habits-add-form{display:flex;gap:.5rem;margin:1.5rem 0}.habits-add-input{flex:1;padding:.6rem 1rem;font-size:1rem;border:1px solid #e2e8f0;border-radius:8px}.habits-list{display:flex;flex-direction:column;gap:.5rem}.habit-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.habit-check{width:28px;height:28px;border:2px solid #cbd5e1;border-radius:6px;background:#fff;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.habit-check.completed{background:var(--forma-primary);border-color:var(--forma-primary);color:#fff}.habit-check:hover:not(:disabled){border-color:var(--forma-primary)}.habit-name{flex:1;font-size:1rem}.habit-card .habit-check.completed+.habit-name{text-decoration:line-through;color:var(--forma-muted)}.habit-delete{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--forma-muted);cursor:pointer;border-radius:4px}.habit-delete:hover{background:#fee2e2;color:#dc2626}.dashboard-prompt-quote{margin:1rem 0 0;padding:0 0 0 1rem;border-left:4px solid var(--mova-hero);font-size:1rem;line-height:1.5;color:var(--mova-secondary-sage);font-style:italic}.dashboard-habits-preview{display:flex;flex-wrap:wrap;gap:.5rem}.dashboard-habit-chip{padding:.4rem .75rem;background:var(--mova-surface-subtle);border-radius:8px;font-size:.9rem;color:var(--mova-secondary-sage)}.dashboard-habit-chip.done{background:#fbc7d766;color:var(--mova-hero)}
