@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--color-primary:#6a9d38;--color-primary-light:#e9f4df;--color-primary-dark:#4f7f29;--color-secondary:#f59f00;--color-secondary-light:#fff3d8;--color-bg:#f3f6ee;--color-surface:#fff;--color-surface-hover:#f2f6ed;--color-text-main:#0e2f2b;--color-text-muted:#66736d;--color-border:#283e2c1f;--font-heading:"Space Grotesk", sans-serif;--font-body:"Manrope", sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:radial-gradient(circle at 76% 8%, #f4b44024, transparent 30rem), linear-gradient(135deg, #fbfbf7 0%, var(--color-bg) 100%);color:var(--color-text-main);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;font-family:var(--font-heading);background:0 0;border:none}#root{height:100vh;display:flex;overflow:hidden}.glass{-webkit-backdrop-filter:blur(18px);background:#ffffffc2;border:1px solid #ffffff9e}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.workout-list-page,.calendar-page,.nutrition-page,.analytics-page,.settings-page,.roadmap-page,.builder-page,.admin-panel{color:var(--color-text-main);background:0 0!important}.page-header,.settings-header,.admin-header{padding:8px 4px 0}.page-header h2,.settings-header h2,.admin-title h2{color:#0e2f2b;font-family:var(--font-heading);font-weight:760}.page-header p,.settings-header p,.admin-title p{color:var(--color-text-muted);font-weight:650}.grid-calendar,.grid-sidebar,.grid-metabolism,.calendar-container,.stat-card,.chart-card,.kpi-card,.settings-content,.settings-tabs,.builder-form,.builder-preview,.admin-content,.glass-panel{-webkit-backdrop-filter:blur(18px);background:#ffffffd6!important;border:1px solid #283e2c1a!important;border-radius:8px!important;box-shadow:0 18px 48px #33422c14!important}.save-config-btn,.enter-meal-btn,.save-plan-btn,.save-btn,.add-exercise-btn,.auth-btn{box-shadow:0 12px 24px #588b3138;color:#fff!important;background:linear-gradient(#75a844,#5d8f31)!important;border-radius:8px!important}.filter-chips-small button.active,.chip-small.active,.tab-btn.active,.settings-tabs button.active{background:var(--color-primary-light)!important;color:var(--color-primary-dark)!important}.sidebar{border-right:1px solid var(--color-border);-webkit-backdrop-filter:blur(20px);z-index:10;background:#ffffffc7;flex-direction:column;width:248px;min-width:248px;height:100vh;transition:width .25s,min-width .25s;display:flex;overflow:hidden;box-shadow:18px 0 60px #2a3a260f}.sidebar.collapsed{width:84px;min-width:84px}.sidebar-topbar{display:contents}.sidebar-header{color:#0e2f2b;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:36px 18px 28px;transition:padding .25s,justify-content .25s;display:flex}.sidebar-header:hover{color:var(--color-primary)}.mobile-brand,.mobile-menu-shell{display:none}.sidebar.collapsed .sidebar-header{justify-content:center;padding:32px 0}.logo-icon{color:var(--color-primary-dark);background:#e5f1d8;border-radius:8px;flex-shrink:0;padding:6px;box-shadow:0 12px 28px #56872d2e}.logo-text{letter-spacing:0;white-space:nowrap;opacity:1;font-size:1.5rem;font-weight:800;transition:opacity .2s,transform .2s}.sidebar.collapsed .logo-text{opacity:0;pointer-events:none;position:absolute;transform:translate(-8px)}.sidebar-nav{flex-direction:column;flex:1;gap:9px;padding:0 14px;display:flex;overflow-y:auto}.nav-item{color:var(--color-text-muted);font-family:var(--font-body);white-space:nowrap;border-radius:8px;align-items:center;gap:16px;width:100%;padding:13px 16px;font-size:.96rem;font-weight:720;transition:all .2s;display:flex}.nav-item svg{flex-shrink:0}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:14px 0}.nav-label{opacity:1;transition:opacity .18s,width .2s}.sidebar.collapsed .nav-label{opacity:0;width:0;overflow:hidden}.nav-item:hover{color:var(--color-primary);background-color:#f2f6edd1}.nav-item.active{color:var(--color-primary-dark);box-shadow:inset 3px 0 0 var(--color-primary);background:linear-gradient(90deg,#e5f1d8f5,#f7faf3e0)}.sidebar-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:4px;padding:16px 14px 28px;display:flex}.logout-btn{color:#ef4444!important}.sidebar-footer:before{content:none;display:none}.sidebar-profile-card{color:var(--color-text-main);background:linear-gradient(135deg,#ffffffdb,#eff5e8c7);border-radius:8px;align-items:center;gap:12px;margin:0 2px 14px;padding:14px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 16px 38px #2a3a2614}.sidebar-profile-card:hover{transform:translateY(-1px);box-shadow:0 18px 42px #2a3a261f}.sidebar-profile-avatar{width:42px;height:42px;color:var(--color-primary-dark);font-family:var(--font-heading);background:linear-gradient(135deg,#e9f4dff5,#ffffffc2);border:1px solid #6a9d3838;border-radius:8px;flex:0 0 42px;place-items:center;font-size:.95rem;font-weight:800;display:grid;overflow:hidden}.sidebar-profile-avatar img{object-fit:cover;width:100%;height:100%}.sidebar-profile-copy{gap:1px;min-width:0;display:grid}.sidebar-profile-copy strong{color:var(--color-text-main);text-overflow:ellipsis;font-size:.9rem;font-weight:800;line-height:1.2;overflow:hidden}.sidebar-profile-copy small{color:var(--color-text-muted);font-size:.76rem;font-weight:700}.sidebar.collapsed .sidebar-profile-card{display:none}.logout-btn:hover{color:#b91c1c!important;background-color:#fee2e2!important}@media (width<=900px){.sidebar{border-right:0;border-bottom:1px solid var(--color-border);flex-direction:column;gap:10px;width:100%;min-width:100%;height:auto;min-height:0;padding:10px 12px;overflow:visible;box-shadow:0 12px 36px #2a3a2614}.sidebar-topbar{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.desktop-sidebar-toggle,.sidebar-footer,.desktop-only-nav-item,.nav-item-admin{display:none}.mobile-brand{color:#0e2f2b;align-items:center;gap:10px;min-width:0;display:inline-flex}.mobile-brand .logo-icon{border-radius:999px;padding:5px}.mobile-brand-text{font-family:var(--font-heading);letter-spacing:-.02em;font-size:1rem;font-weight:700}.mobile-menu-shell{flex-shrink:0;align-items:center;display:flex;position:relative}.mobile-overflow-trigger{color:#24403a;background:#ffffffc7;border:1px solid #283e2c14;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:6px 8px 6px 6px;display:inline-flex;box-shadow:0 10px 26px #2a3a2614}.mobile-overflow-trigger.active{color:var(--color-primary-dark);background:#e9f4dff5}.mobile-profile-avatar{width:28px;height:28px;color:var(--color-primary-dark);background:linear-gradient(135deg,#e9f4dff5,#ffffffc2);border:1px solid #6a9d3838;border-radius:999px;place-items:center;font-size:.78rem;font-weight:800;display:grid;overflow:hidden}.mobile-profile-avatar img{object-fit:cover;width:100%;height:100%}.mobile-overflow-menu{z-index:30;border-radius:18px;flex-direction:column;gap:6px;width:208px;padding:10px;display:none;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 48px #2a3a261f}.mobile-overflow-menu.open{display:flex}.mobile-menu-item{color:#21403a;text-align:left;border-radius:14px;align-items:center;gap:10px;width:100%;padding:12px 10px;font-size:.92rem;font-weight:700;display:flex}.mobile-language-picker{color:#21403a;border-bottom:1px solid #283e2c1a;align-items:center;gap:10px;padding:10px;font-size:.92rem;font-weight:700;display:flex}.mobile-language-picker>span{min-width:0}.mobile-language-options{gap:4px;margin-left:auto;display:inline-flex}.mobile-language-options button{color:#52635d;cursor:pointer;min-width:34px;min-height:32px;font:inherit;background:#f2f6edd1;border:1px solid #0000;border-radius:9px;padding:0 7px;font-size:.74rem;font-weight:800}.mobile-language-options button.active{color:var(--color-primary-dark);background:#e5f1d8;border-color:#6a9d3852}.mobile-language-options button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mobile-menu-item svg:last-child{margin-left:auto}.mobile-menu-item:hover{background:#f2f6edeb}.mobile-logout-btn{color:#b42318}.sidebar-nav{flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;padding:0;display:grid;overflow:visible}.sidebar .nav-item{background:#ffffff8c;border-radius:999px;justify-content:center;gap:0;min-height:42px;padding:11px 0}.sidebar .nav-label{display:none}.sidebar .nav-item.active{box-shadow:none;background:linear-gradient(135deg,#e5f1d8fa,#ffffffeb)}}.onboarding-tour{z-index:1200;font-family:inherit;position:fixed;inset:0}.onboarding-dim{pointer-events:auto;background:#040e0ac7;position:fixed}.onboarding-dim--top{inset:0 0 auto}.onboarding-dim--left{left:0}.onboarding-dim--right{right:0}.onboarding-dim--bottom{bottom:0;left:0;right:0}.onboarding-dim--full{inset:0}.onboarding-info-zone{z-index:1202;cursor:default;pointer-events:auto;border-radius:12px;position:fixed}.onboarding-spotlight{pointer-events:none;z-index:1203;border:1.5px solid #5eea8d;border-radius:12px;position:fixed;box-shadow:0 0 0 1px #0dff8747,0 0 24px #22c55e5c}.onboarding-card{z-index:1204;color:#edfff2;background:#0c1f15f7;border:1px solid #86efac4d;border-radius:20px;width:min(420px,100vw - 32px);padding:22px;position:fixed;bottom:28px;right:28px;box-shadow:0 20px 56px #00000070}.onboarding-card__header,.onboarding-card__actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.onboarding-card__eyebrow{color:#86efac;letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:7px;font-size:.78rem;font-weight:700;display:inline-flex}.onboarding-card__counter{color:#9bb5a4;font-size:.8rem}.onboarding-card h2{color:#fff;margin:14px 0 8px;font-size:1.18rem}.onboarding-card p{color:#c9d9cf;margin:0;line-height:1.5}.onboarding-card__actions{margin-top:18px}.onboarding-card button{min-height:40px;font:inherit;cursor:pointer;border:0;border-radius:10px;font-weight:700}.onboarding-skip{color:#a9bcb0;background:0 0;align-items:center;gap:6px;padding:0 4px;display:inline-flex}.onboarding-next{color:#052e16;background:#86efac;align-items:center;gap:4px;padding:0 15px;display:inline-flex}@media (width<=700px){.onboarding-card{padding:18px;bottom:16px;right:16px}.onboarding-card__actions{align-items:flex-end}.onboarding-skip{text-align:left}}.unified-header{background:0 0;border-bottom:0;flex-shrink:0;justify-content:flex-start;align-items:center;gap:0;min-height:0;margin:5px 32px 0;padding:5px 0;display:flex}.unified-header-left{flex-direction:column;gap:2px;min-width:0;display:flex}.unified-header-main-row{align-items:center;gap:12px;min-width:0;display:flex}.unified-greeting{color:#1f3530;white-space:nowrap;align-items:center;gap:8px;font-size:.88rem;font-weight:700;display:inline-flex}.unified-greeting-avatar{width:30px;height:30px;color:var(--color-primary-dark);font-family:var(--font-heading);background:linear-gradient(135deg,#e9f4dff5,#ffffffb8);border:1px solid #6a9d3842;border-radius:8px;place-items:center;font-size:.78rem;font-weight:800;display:grid;overflow:hidden;box-shadow:0 8px 16px #33422c14}.unified-greeting-avatar img{object-fit:cover;width:100%;height:100%}.unified-title{color:#0d3430;font-family:var(--font-heading);white-space:nowrap;margin:0;font-size:clamp(1.12rem,1.5vw,1.45rem);font-weight:760;line-height:1.05}.unified-subtitle{color:var(--color-text-muted);margin:0;padding-left:38px;font-size:.72rem;font-weight:650;line-height:1.2}@media (width<=720px){.unified-header{margin:5px 12px 0;padding:5px 0}.unified-header-main-row{flex-wrap:wrap;gap:8px}.unified-title{font-size:1.08rem}.unified-subtitle{padding-left:0}}.workout-widget{border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);width:100%;max-width:620px;box-shadow:var(--shadow-sm);padding:20px;transition:box-shadow .2s,transform .2s}.workout-widget:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.workout-widget-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.workout-meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:.875rem;display:flex}.workout-tag{border-radius:var(--radius-sm);background-color:var(--color-primary-light);color:var(--color-primary-dark);letter-spacing:0;text-transform:uppercase;padding:4px 8px;font-size:.75rem;font-weight:700}.workout-duration,.workout-calories{align-items:center;gap:4px;display:flex}.workout-title{margin-bottom:20px}.workout-level{color:var(--color-secondary);font-family:var(--font-heading);text-transform:uppercase;margin-bottom:6px;font-size:.75rem;font-weight:700;display:inline-flex}.workout-title h3{color:var(--color-text-main);margin-bottom:4px;font-size:1.25rem}.workout-title p{color:var(--color-text-muted);font-size:.9rem}.workout-schedule-widget{background:#f7faf2eb;border:1px solid #6a9d3833;border-radius:8px;margin-top:14px;padding:14px;box-shadow:0 14px 34px #1f30241a}.workout-schedule-widget-head{gap:3px;margin-bottom:12px;display:grid}.workout-schedule-widget-head span{color:var(--color-primary-dark);text-transform:uppercase;font-size:.72rem;font-weight:800}.workout-schedule-widget-head strong{color:var(--color-text-main);font-size:.95rem}.workout-schedule-widget-head small{color:var(--color-text-muted);font-size:.78rem;font-weight:700}.workout-schedule-editor{grid-template-columns:minmax(0,1fr) 132px;align-items:end;gap:10px;display:grid}.workout-schedule-editor label{gap:4px;min-width:0;display:grid}.workout-schedule-editor span{color:var(--color-text-muted);font-size:.72rem;font-weight:760}.workout-schedule-editor strong{color:var(--color-primary-dark);font-size:.84rem}.workout-schedule-editor input{width:100%;min-width:0;min-height:36px;color:var(--color-text-main);font-family:var(--font-body);background:#fff;border:1px solid #283e2c1f;border-radius:8px;padding:0 10px;font-size:.82rem}.workout-schedule-editor input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.workout-schedule-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.schedule-cancel-btn,.schedule-confirm-btn{border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:.82rem;font-weight:760;display:inline-flex}.schedule-cancel-btn{color:var(--color-text-muted);background:#fff;border:1px solid #283e2c1f}.schedule-confirm-btn{color:#fff;background:linear-gradient(#75a844,#5d8f31);box-shadow:0 10px 20px #588b3133}.workout-section{margin-bottom:16px}.workout-section-label{color:var(--color-text-muted);font-family:var(--font-heading);text-transform:uppercase;margin-bottom:8px;font-size:.75rem;font-weight:700;display:block}.workout-chip-row{flex-wrap:wrap;gap:8px;display:flex}.workout-chip{border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary-dark);padding:6px 10px;font-size:.8rem;font-weight:500}.workout-chip.muted{background:var(--color-bg);color:var(--color-text-muted)}.exercise-list{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.exercise-item{border-radius:var(--radius-md);background-color:var(--color-bg);cursor:pointer;border:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:border-color .2s;display:flex}.exercise-item:hover{border-color:var(--color-primary-light)}.exercise-number{background:var(--color-surface);width:28px;height:28px;color:var(--color-primary-dark);font-family:var(--font-heading);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.exercise-info{flex-direction:column;flex:1;gap:4px;display:flex}.exercise-name{color:var(--color-text-main);font-size:.95rem;font-weight:600}.exercise-details,.exercise-note{color:var(--color-text-muted);font-size:.8rem}.exercise-note{font-size:.78rem}.workout-safety{border-radius:var(--radius-md);color:#92400e;background:#fffbeb;border:1px solid #fde68a;padding:10px 12px;font-size:.82rem}.workout-actions{align-items:center;gap:10px;margin-top:18px;display:flex}.save-workout-action,.discuss-workout-action{border-radius:var(--radius-full);flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.875rem;font-weight:700;transition:background-color .2s,border-color .2s,color .2s;display:flex}.save-workout-action{background-color:var(--color-primary);color:#fff}.save-workout-action:hover:not(:disabled){background-color:var(--color-primary-dark)}.save-workout-action:disabled{opacity:.78;cursor:default}.discuss-workout-action{border:1px solid var(--color-primary-light);background:var(--color-surface);color:var(--color-primary-dark)}.discuss-workout-action:hover{border-color:var(--color-primary);color:var(--color-primary)}.text-muted{color:var(--color-text-muted)}@media (width<=768px){.workout-widget{max-width:none;padding:16px}.workout-widget-header,.exercise-item{flex-direction:column;align-items:flex-start}.workout-actions{flex-direction:column}.workout-schedule-editor{grid-template-columns:1fr;align-items:stretch}.workout-schedule-actions{flex-direction:column-reverse}.schedule-cancel-btn,.schedule-confirm-btn,.save-workout-action,.discuss-workout-action{width:100%}}.chat-widget{background:linear-gradient(180deg, #fffffff0, #f9fbf6e6), var(--color-surface);border:1px solid #283e2c1f;border-radius:8px;width:min(100%,640px);padding:18px;box-shadow:0 16px 42px #1f30241a}.cw-head{flex-direction:column;gap:5px;margin-bottom:16px;display:flex}.cw-eyebrow{color:var(--color-primary-dark);font-family:var(--font-heading);text-transform:uppercase;font-size:.72rem;font-weight:760}.cw-head h3{color:#101f1d;margin:0;font-size:1.05rem;font-weight:760}.cw-footer{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.cw-primary-btn,.cw-ghost-btn{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:.86rem;font-weight:760;transition:background-color .18s,border-color .18s,color .18s,opacity .18s;display:inline-flex}.cw-primary-btn{color:#fff;background:linear-gradient(#75a844,#5d8f31);box-shadow:0 12px 24px #588b3133}.cw-primary-btn:hover:not(:disabled){background:linear-gradient(#6f9f3f,#527f2b)}.cw-ghost-btn{color:var(--color-text-main);background:#ffffffb8;border:1px solid #283e2c21}.cw-ghost-btn:hover:not(:disabled){color:var(--color-primary-dark);border-color:#6a9d3885}.cw-primary-btn:disabled,.cw-ghost-btn:disabled,.chat-widget button:disabled,.chat-widget input:disabled{opacity:.58;cursor:not-allowed}.cw-field{flex-direction:column;gap:7px;min-width:0;display:flex}.cw-field span{color:var(--color-text-muted);font-size:.78rem;font-weight:730}.cw-field input{width:100%;min-height:42px;color:var(--color-text-main);font-family:var(--font-body);background:#ffffffdb;border:1px solid #283e2c24;border-radius:8px;padding:0 12px;font-size:.95rem}.cw-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.cw-field.invalid input{border-color:#e26d5a}.cw-field em{color:#a33b2d;font-size:.72rem;font-style:normal;font-weight:700}.cw-full-field{margin-top:12px}.cw-number-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cw-number-input{background:#ffffffdb;border:1px solid #283e2c24;border-radius:8px;align-items:center;display:flex;overflow:hidden}.cw-number-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.cw-number-input input{box-shadow:none;background:0 0;border:0;border-radius:0}.cw-number-input small{color:var(--color-text-muted);padding:0 12px 0 4px;font-size:.78rem;font-weight:700}.cw-option-grid{gap:10px;display:grid}.cw-option-grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-option-grid.icons,.cw-option-grid.buttons{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.cw-option,.cw-check-option,.cw-time-preset,.cw-toggle-row,.cw-swap-option,.cw-day-cell,.cw-question-options button,.cw-category-row button,.cw-action-grid button{min-width:0;color:var(--color-text-main);text-align:left;background:#ffffffa8;border:1px solid #283e2c1c;border-radius:8px;transition:background-color .18s,border-color .18s,transform .18s,box-shadow .18s;display:flex}.cw-option:hover:not(:disabled),.cw-check-option:hover:not(:disabled),.cw-time-preset:hover:not(:disabled),.cw-toggle-row:hover:not(:disabled),.cw-swap-option:hover:not(:disabled),.cw-day-cell:hover:not(:disabled),.cw-question-options button:hover:not(:disabled),.cw-category-row button:hover:not(:disabled),.cw-action-grid button:hover:not(:disabled){background:#f7faf2eb;border-color:#6a9d387a;transform:translateY(-1px)}.cw-option.selected,.cw-check-option.selected,.cw-time-preset.selected,.cw-toggle-row.selected,.cw-swap-option.selected,.cw-day-cell.selected,.cw-question-options button.selected{background:var(--color-primary-light);border-color:#6a9d38c2;box-shadow:inset 0 0 0 1px #6a9d3829}.cw-option{align-items:flex-start;gap:10px;min-height:72px;padding:12px}.cw-option-icon{background:#fff;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:inline-grid;box-shadow:0 8px 20px #33422c14}.cw-option-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.cw-option-copy strong,.cw-check-option strong,.cw-swap-option strong{color:#101f1d;font-size:.88rem;font-weight:760}.cw-option-copy small,.cw-check-option small,.cw-swap-option small{color:var(--color-text-muted);font-size:.76rem;line-height:1.35}.cw-option-copy em{color:#99610a;background:#fff4de;border-radius:999px;width:fit-content;margin-top:2px;padding:2px 7px;font-size:.68rem;font-style:normal;font-weight:760}.cw-slider-value{background:var(--color-primary-light);width:44px;height:44px;color:var(--color-primary-dark);font-family:var(--font-heading);border-radius:999px;place-items:center;margin:2px auto 12px;font-size:1.2rem;font-weight:760;display:grid}.cw-range{width:100%;accent-color:var(--color-primary)}.cw-slider-labels{color:var(--color-text-muted);justify-content:space-between;gap:16px;margin-top:10px;font-size:.76rem;font-weight:650;line-height:1.35;display:flex}.cw-slider-labels span:last-child{text-align:right}.cw-slider-labels.compact{font-size:.7rem}.cw-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.cw-check-grid.icons{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.cw-check-option{align-items:flex-start;gap:10px;min-height:58px;padding:11px}.cw-check-option>span:last-child{flex-direction:column;gap:3px;min-width:0;display:flex}.cw-checkbox{width:20px;height:20px;color:var(--color-primary-dark);background:#fff;border:1.5px solid #283e2c33;border-radius:6px;flex:none;place-items:center;display:inline-grid}.cw-time-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.cw-time-preset{flex-direction:column;justify-content:center;gap:4px;min-height:68px;padding:12px}.cw-time-preset strong,.cw-toggle-row strong{color:#101f1d;font-size:.88rem}.cw-time-preset span{color:var(--color-text-muted);font-size:.78rem;font-weight:700}.cw-toggle-row{align-items:center;gap:10px;width:100%;margin-top:10px;padding:12px}.cw-time-custom,.cw-extra-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.cw-emoji-scale{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.cw-emoji-point{min-width:0;min-height:88px;color:var(--color-text-main);background:#ffffffad;border:1px solid #283e2c1c;border-radius:8px;align-content:center;justify-items:center;gap:4px;padding:10px 6px;transition:border-color .18s,background-color .18s,transform .18s;display:grid}.cw-emoji-point:hover:not(:disabled),.cw-emoji-point.selected{background:var(--color-primary-light);border-color:#6a9d38b8;transform:translateY(-1px)}.cw-emoji-point span{font-size:1.35rem;line-height:1}.cw-emoji-point strong{color:var(--color-primary-dark);font-size:.85rem}.cw-emoji-point small{color:var(--color-text-muted);text-align:center;font-size:.68rem;font-weight:700;line-height:1.25}.cw-section-list,.cw-swap-list,.cw-product-sliders,.cw-question-list,.cw-meal-items,.cw-day-nutrition-list{gap:10px;display:grid}.cw-meal-setup{gap:12px;display:grid}.cw-setup-note{color:var(--color-text-muted);margin:0;font-size:.84rem;line-height:1.45}.cw-setup-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.cw-setup-controls{grid-template-columns:minmax(120px,.9fr) minmax(150px,1.2fr) minmax(150px,1fr);align-items:start;gap:10px;display:grid}.cw-text-input input,.cw-select-input{width:100%;min-height:40px;color:var(--color-text-main);font:inherit;background:#ffffffdb;border:1px solid #283e2c24;border-radius:8px;padding:8px 10px;font-size:.9rem}.cw-text-input input:focus,.cw-select-input:focus{border-color:#6a9d38b8;outline:none;box-shadow:0 0 0 3px #6a9d381f}.cw-field-label{color:var(--color-text-muted);margin-bottom:6px;font-size:.76rem;font-weight:760;display:block}.cw-tag-box.compact{min-height:42px}.cw-meal-setup .cw-tag-box.compact{align-items:flex-start;width:100%}.cw-meal-setup .cw-tag-box.compact .cw-food-tag{order:1}.cw-meal-setup .cw-tag-box.compact input{flex:calc(100% - 40px);order:2;align-self:stretch;width:calc(100% - 40px);min-height:58px;padding:8px 0}.cw-meal-setup .cw-tag-box.compact .cw-add-tag{order:3;margin-top:6px}.cw-meal-setup .cw-category-row{width:100%}.cw-check-row{color:var(--color-text-main);align-items:center;gap:8px;font-size:.84rem;font-weight:690;display:flex}.cw-check-row input{width:16px;height:16px;accent-color:var(--color-primary)}.cw-plan-section{background:#ffffff8a;border:1px solid #283e2c1a;border-radius:8px;overflow:hidden}.cw-plan-section-head{background:#f7faf2b3;border-bottom:1px solid #283e2c14;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.cw-plan-section-head strong{color:#101f1d;font-size:.86rem}.cw-plan-section-head small{color:var(--color-text-muted);font-size:.74rem;font-weight:730}.cw-plan-section ol{gap:8px;padding:10px 12px 12px;list-style:none;display:grid}.cw-plan-section li,.cw-meal-item,.cw-nutrition-row{color:var(--color-text-main);grid-template-columns:minmax(0,1fr) auto;gap:12px;font-size:.86rem;display:grid}.cw-plan-section li small,.cw-meal-item strong,.cw-nutrition-row small{color:var(--color-text-muted);white-space:nowrap;font-size:.78rem;font-weight:760}.cw-swap-option{grid-template-columns:34px minmax(0,1fr);gap:4px 10px;padding:12px;display:grid}.cw-swap-option span{background:#fff;border-radius:8px;grid-row:span 2;place-items:center;width:30px;height:30px;display:grid}.cw-swap-option small{display:block}.cw-week-table{border:1px solid #283e2c1a;border-radius:8px;display:grid;overflow:hidden}.cw-week-row{background:#ffffff8c;border-top:1px solid #283e2c14;grid-template-columns:44px minmax(0,1fr) 62px;align-items:center;gap:10px;min-height:44px;padding:8px 12px;display:grid}.cw-week-row:first-child{border-top:0}.cw-week-row strong{color:var(--color-primary-dark);font-size:.8rem}.cw-week-row span,.cw-week-row small{min-width:0;color:var(--color-text-main);font-size:.84rem;font-weight:700}.cw-week-row small{color:var(--color-text-muted);text-align:right}.cw-day-picker{gap:8px;margin-top:12px;display:grid}.cw-day-picker:first-child{margin-top:0}.cw-day-picker>span{color:var(--color-text-muted);font-size:.78rem;font-weight:760}.cw-day-grid{grid-template-columns:repeat(7,minmax(74px,1fr));gap:8px;padding-bottom:2px;display:grid;overflow-x:auto}.cw-day-cell{flex-direction:column;gap:4px;min-height:66px;padding:9px}.cw-day-cell strong{color:var(--color-primary-dark);font-size:.78rem}.cw-day-cell small{color:var(--color-text-muted);font-size:.7rem;line-height:1.2}.cw-warning{color:#8a5c0a;background:#fffbeb;border:1px solid #fde1a5;border-radius:8px;grid-template-columns:20px minmax(0,1fr);gap:8px 10px;margin-top:12px;padding:11px 12px;font-size:.8rem;font-weight:700;display:grid}.cw-warning button{color:#744807;grid-column:2;align-items:center;gap:8px;width:fit-content;font-size:.78rem;font-weight:760;display:inline-flex}.cw-tag-box{background:#ffffffb8;border:1px solid #283e2c24;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-height:50px;padding:8px;display:flex}.cw-tag-box:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.cw-tag-box input{min-width:0;min-height:34px;color:var(--color-text-main);font-family:var(--font-body);background:0 0;border:0;outline:none;flex:140px;font-size:.9rem}.cw-food-tag{background:var(--color-primary-light);min-height:30px;color:var(--color-primary-dark);border-radius:999px;align-items:center;gap:6px;padding:0 7px 0 10px;font-size:.8rem;font-weight:760;display:inline-flex}.cw-food-tag button,.cw-add-tag{color:currentColor;border-radius:999px;place-items:center;width:22px;height:22px;display:inline-grid}.cw-add-tag{background:var(--color-primary);color:#fff}.cw-category-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.cw-category-row button{min-height:34px;color:var(--color-text-main);align-items:center;gap:7px;padding:0 10px;font-size:.78rem;font-weight:760}.cw-matrix{border:1px solid #283e2c1a;border-radius:8px;gap:0;min-width:380px;display:grid;overflow-x:auto}.cw-matrix-empty,.cw-matrix>strong,.cw-matrix-row-label{min-height:40px;color:var(--color-text-muted);background:#f7faf2b8;border-bottom:1px solid #283e2c14;align-items:center;padding:8px 10px;font-size:.72rem;font-weight:760;display:grid}.cw-matrix>strong{text-align:center}.cw-matrix-row-label{color:var(--color-text-main);background:#ffffffa3;font-size:.8rem}.cw-matrix>button{border-bottom:1px solid #283e2c14;border-left:1px solid #283e2c14;min-height:42px;position:relative}.cw-matrix>button:after{content:"";background:#fff;border:1.6px solid #283e2c4d;border-radius:999px;width:16px;height:16px;margin:auto;position:absolute;inset:0}.cw-matrix>button.selected:after{border-color:var(--color-primary);background:radial-gradient(circle, var(--color-primary) 0 42%, #fff 45%)}.cw-product-slider{background:#ffffff94;border:1px solid #283e2c1a;border-radius:8px;padding:12px}.cw-product-slider>div:first-child{justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.cw-product-slider strong{color:#101f1d;font-size:.88rem}.cw-product-slider small{color:var(--color-primary-dark);text-align:right;font-size:.74rem;font-weight:760}.cw-meal-items{margin-bottom:12px}.cw-meal-item{border-bottom:1px solid #283e2c14;align-items:center;min-height:34px;padding:8px 0}.cw-meal-item:last-child{border-bottom:0}.cw-macro-summary,.cw-total-card{background:#f7faf2c2;border:1px solid #283e2c1a;border-radius:8px}.cw-macro-summary{flex-wrap:wrap;align-items:center;gap:8px;padding:11px 12px;display:flex}.cw-macro-summary>div span{color:#101f1d;font-size:.88rem;font-weight:760}.cw-macro-pill{color:var(--color-text-muted);background:#ffffffd1;border-radius:999px;align-items:center;gap:4px;padding:5px 8px;font-size:.76rem;font-weight:730;display:inline-flex}.cw-macro-pill strong{color:var(--color-text-main)}.cw-macro-pill.ok{color:var(--color-primary-dark);background:var(--color-primary-light)}.cw-day-nutrition-list{border:1px solid #283e2c1a;border-radius:8px;overflow:hidden}.cw-program-card{width:min(100%,760px)}.cw-program-subtitle{color:var(--color-text-muted);margin:-4px 0 14px;font-size:.84rem;font-weight:650;line-height:1.45}.cw-program-week-scale{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.cw-program-day{background:#ffffff9e;border:1px solid #283e2c1a;border-radius:8px;align-content:start;gap:5px;min-width:0;min-height:104px;padding:10px 8px;display:grid}.cw-program-day.training{background:var(--color-primary-light);border-color:#6a9d3894;box-shadow:inset 0 0 0 1px #6a9d381f}.cw-program-day strong{color:var(--color-primary-dark);font-size:.74rem}.cw-program-day span{font-size:1.1rem;line-height:1}.cw-program-day small{color:#101f1d;min-width:0;font-size:.72rem;font-weight:760;line-height:1.2}.cw-program-day em{color:var(--color-text-muted);font-size:.68rem;font-style:normal;font-weight:760}.cw-program-block{background:#ffffff8a;border:1px solid #283e2c1a;border-radius:8px;margin-top:12px;overflow:hidden}.cw-program-block-head{background:#f7faf2bd;border-bottom:1px solid #283e2c14;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.cw-program-block-head strong{color:#101f1d;font-size:.9rem}.cw-program-block-head span{min-width:0;color:var(--color-text-muted);text-align:right;font-size:.74rem;font-weight:760}.cw-program-nutrition-hint{color:var(--color-text-muted);margin:12px 12px 0;font-size:.84rem;font-weight:650}.cw-program-workout-list{display:grid}.cw-program-workout{border-top:1px solid #283e2c14;grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:10px;min-height:58px;padding:10px 12px;display:grid}.cw-program-workout:first-child{border-top:0}.cw-program-workout>span{color:var(--color-primary-dark);padding-top:4px;font-size:.78rem;font-weight:800}.cw-program-workout div{gap:3px;min-width:0;display:grid}.cw-program-workout strong{color:#101f1d;font-size:.86rem}.cw-program-workout small,.cw-program-workout em{color:var(--color-text-muted);font-size:.74rem;font-style:normal;font-weight:730}.cw-program-workout>em{white-space:nowrap;padding-top:4px}.cw-program-schedule-fields{grid-template-columns:minmax(0,1fr) 118px;gap:8px;margin-top:9px;display:grid}.cw-program-schedule-fields label{gap:4px;min-width:0;display:grid}.cw-program-schedule-fields span{color:var(--color-text-muted);font-size:.68rem;font-weight:760}.cw-program-schedule-fields input{min-width:0;min-height:34px;color:var(--color-text-main);font-family:var(--font-body);background:#ffffffbd;border:1px solid #283e2c1f;border-radius:8px;padding:0 9px;font-size:.78rem}.cw-program-schedule-fields input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.cw-program-schedule-card{background:#f7faf2b8;border-color:#6a9d382e}.cw-program-day-list{gap:0;display:grid}.cw-program-day-detail{border-top:1px solid #283e2c14;gap:8px;padding:12px;display:grid}.cw-program-day-detail:first-child{border-top:0}.cw-program-day-detail-head{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px;display:grid}.cw-program-day-detail-head>span{color:var(--color-primary-dark);font-size:.78rem;font-weight:820}.cw-program-day-detail-head>div{gap:2px;min-width:0;display:grid}.cw-program-day-detail-head strong,.cw-program-day-workout-head strong{color:#101f1d;font-size:.86rem}.cw-program-day-detail-head small,.cw-program-day-workout small,.cw-program-day-detail p{color:var(--color-text-muted);font-size:.74rem;font-weight:720;line-height:1.35}.cw-program-day-detail p{margin:0}.cw-program-day-workouts{gap:8px;display:grid}.cw-program-day-workout{background:#ffffffad;border:1px solid #283e2c14;border-radius:8px;gap:7px;padding:10px;display:grid}.cw-program-day-workout-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.cw-program-day-workout-head span{color:var(--color-primary-dark);white-space:nowrap;font-size:.72rem;font-weight:800}.cw-program-schedule-list{gap:0;display:grid}.cw-program-schedule-row{border-top:1px solid #283e2c14;grid-template-columns:minmax(0,1fr) 150px 112px;align-items:end;gap:10px;padding:10px 12px;display:grid}.cw-program-schedule-row:first-child{border-top:0}.cw-program-schedule-row>div{gap:3px;min-width:0;display:grid}.cw-program-schedule-row strong{color:#101f1d;font-size:.82rem}.cw-program-schedule-row small{color:var(--color-primary-dark);font-size:.72rem;font-weight:760}.cw-program-schedule-row label{gap:4px;min-width:0;display:grid}.cw-program-schedule-row label span{color:var(--color-text-muted);font-size:.68rem;font-weight:760}.cw-program-schedule-row input{width:100%;min-width:0;min-height:34px;color:var(--color-text-main);font-family:var(--font-body);background:#fff;border:1px solid #283e2c1f;border-radius:8px;padding:0 9px;font-size:.78rem}.cw-program-schedule-row input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.cw-program-exercise-list{gap:6px;margin-top:9px;display:grid}.cw-program-exercise-list.detailed{margin-top:0}.cw-program-exercise{background:#ffffffb3;border:1px solid #283e2c14;border-radius:8px;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:8px;min-width:0;min-height:30px;padding:5px 6px 5px 10px;display:grid}.cw-program-exercise.detailed{grid-template-columns:minmax(0,1fr);align-items:start}.cw-program-exercise.detailed div{gap:2px;min-width:0;display:grid}.cw-program-exercise span{min-width:0;color:var(--color-text-main);font-size:.78rem;font-weight:720;line-height:1.25}.cw-program-exercise small,.cw-program-exercise em{color:var(--color-text-muted);font-size:.7rem;font-style:normal;font-weight:680;line-height:1.3}.cw-program-exercise em{color:#59705d}.cw-program-exercise button,.cw-program-add-exercise button{width:24px;height:24px;color:var(--color-text-muted);border-radius:6px;place-items:center;display:inline-grid}.cw-program-exercise button:hover:not(:disabled),.cw-program-add-exercise button:hover:not(:disabled){background:var(--color-primary-light);color:var(--color-primary-dark)}.cw-program-add-exercise{grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:8px;margin-top:8px;display:grid}.cw-program-add-exercise input{min-width:0;min-height:34px;color:var(--color-text-main);font-family:var(--font-body);background:#ffffff9e;border:1px dashed #283e2c2e;border-radius:8px;padding:0 10px;font-size:.8rem}.cw-program-add-exercise input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.cw-program-add-exercise button{background:var(--color-primary-light);width:30px;height:30px;color:var(--color-primary-dark)}.cw-budget-toggle{border:1px solid var(--color-border);background:var(--color-surface-secondary,#0000000a);border-radius:10px;gap:4px;margin:8px 12px 0;padding:4px;display:inline-flex}.cw-budget-toggle button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.cw-budget-toggle button.active{background:var(--color-surface);color:var(--color-text-main);box-shadow:0 2px 8px #1f30241f}.cw-budget-delta{color:var(--color-text-muted);margin:4px 12px 0;font-size:.75rem;font-style:italic}.cw-program-macros{flex-wrap:wrap;gap:8px;padding:12px 12px 4px;display:flex}.cw-program-recommendations{gap:8px;padding:8px 12px 12px;list-style:none;display:grid}.cw-program-recommendations li{color:var(--color-text-main);grid-template-columns:18px minmax(0,1fr);gap:8px;font-size:.8rem;font-weight:680;line-height:1.35;display:grid}.cw-program-recommendations svg{color:var(--color-primary-dark);margin-top:1px}.cw-nutrition-row{background:#ffffff94;border-top:1px solid #283e2c14;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;min-height:42px;padding:8px 10px}.cw-nutrition-row:first-child{border-top:0}.cw-nutrition-row>span{color:var(--color-text-muted);font-size:.74rem;font-weight:760}.cw-nutrition-row strong{min-width:0;font-size:.86rem}.cw-total-card{margin-top:12px;padding:12px}.cw-total-card>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.cw-total-card span{color:var(--color-text-muted);font-size:.78rem;font-weight:730}.cw-total-card strong{color:#101f1d;font-size:1rem}.cw-macro-grid,.cw-target-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.cw-daily-summary{border-color:#6a9d382e}.cw-readiness{grid-template-columns:78px minmax(0,1fr);align-items:center;gap:14px;display:grid}.cw-readiness-ring{background:radial-gradient(circle, #fff 0 58%, transparent 60%), conic-gradient(var(--color-primary) var(--cw-score), #283e2c1a 0);border-radius:999px;place-items:center;width:72px;height:72px;display:grid}.cw-readiness-ring strong{color:#101f1d;font-family:var(--font-heading);font-size:1.3rem;line-height:1}.cw-readiness-ring span{color:var(--color-text-muted);margin-top:22px;margin-left:28px;font-size:.68rem;font-weight:760}.cw-readiness>div:last-child strong,.cw-today-focus strong{color:#101f1d;font-size:.95rem}.cw-readiness p{color:var(--color-text-muted);margin:4px 0 0;font-size:.82rem;line-height:1.45}.cw-today-focus{background:#fff4de;border-radius:8px;flex-direction:column;gap:4px;margin-top:14px;padding:11px 12px;display:flex}.cw-today-focus span,.cw-target-grid span{color:var(--color-text-muted);font-size:.72rem;font-weight:760}.cw-target-grid{margin-top:10px}.cw-target-grid div{background:#ffffff9e;border:1px solid #283e2c17;border-radius:8px;align-content:center;gap:3px;min-height:62px;padding:10px;display:grid}.cw-target-grid strong{color:#101f1d;font-size:.98rem}.cw-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.cw-action-grid button{min-height:42px;color:var(--color-primary-dark);align-items:center;gap:8px;padding:8px 10px;font-size:.78rem;font-weight:760}.cw-question{gap:8px;display:grid}.cw-question>strong{color:#101f1d;font-size:.9rem}.cw-question-options{flex-wrap:wrap;gap:8px;display:flex}.cw-question-options button{min-height:36px;color:var(--color-text-main);align-items:center;padding:0 11px;font-size:.78rem;font-weight:760}.cw-unsupported-json{color:#eaf5e5;background:#10201d;border-radius:8px;max-height:240px;padding:12px;font-size:.72rem;overflow:auto}@media (width<=768px){.chat-widget{padding:14px}.cw-footer,.cw-primary-btn,.cw-ghost-btn{width:100%}.cw-number-grid,.cw-setup-grid,.cw-setup-controls,.cw-option-grid.cards,.cw-check-grid,.cw-time-custom,.cw-extra-fields,.cw-target-grid,.cw-action-grid,.cw-time-presets{grid-template-columns:1fr}.cw-emoji-scale{grid-template-columns:repeat(5,minmax(54px,1fr));padding-bottom:2px;overflow-x:auto}.cw-emoji-point{min-width:54px}.cw-day-grid{grid-template-columns:repeat(7,82px)}.cw-program-week-scale{grid-template-columns:repeat(7,86px);padding-bottom:2px;overflow-x:auto}.cw-program-block-head{grid-template-columns:1fr}.cw-program-block-head span{text-align:left}.cw-program-schedule-row{grid-template-columns:1fr;align-items:stretch}.cw-week-row{grid-template-columns:38px minmax(0,1fr) 54px;padding:8px 9px}.cw-readiness{grid-template-columns:64px minmax(0,1fr)}.cw-readiness-ring{width:60px;height:60px}.cw-readiness-ring strong{font-size:1.05rem}.cw-macro-grid{grid-template-columns:1fr}}.cw-scope-toggle{border:1px solid var(--color-border);background:var(--color-bg);border-radius:10px;gap:4px;margin-bottom:14px;padding:4px;display:inline-flex}.cw-scope-toggle button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 14px;font-size:.8rem;font-weight:700}.cw-scope-toggle button.active{background:var(--color-surface);color:var(--color-text-main);box-shadow:0 2px 8px #1f30241f}.cw-macro-bars{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.cw-macro-kcal{color:var(--color-text-main);align-items:baseline;gap:6px;display:flex}.cw-macro-kcal svg{color:var(--color-secondary);align-self:center}.cw-macro-kcal strong{font-size:1.3rem;font-weight:780}.cw-macro-kcal span{color:var(--color-text-muted);font-size:.78rem}.cw-bar-track{background:var(--color-bg);border-radius:999px;height:12px;display:flex;overflow:hidden}.cw-bar{height:100%}.cw-bar.protein{background:#3b82f6}.cw-bar.carbs{background:var(--color-primary)}.cw-bar.fat{background:var(--color-secondary)}.cw-bar-legend{gap:14px;font-size:.76rem;font-weight:700;display:flex}.cw-bar-legend .protein{color:#3b82f6}.cw-bar-legend .carbs{color:var(--color-primary-dark)}.cw-bar-legend .fat{color:var(--color-secondary)}.cw-meal-week{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.cw-meal-day{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;overflow:hidden}.cw-meal-day.active{border-color:var(--color-primary)}.cw-meal-day.changed{border-color:var(--color-secondary);animation:.4s cw-fade-in;box-shadow:0 0 0 2px #f59f0038}.cw-meal-day-head{background:var(--color-bg);cursor:pointer;text-align:left;border:none;align-items:center;gap:6px;width:100%;padding:9px 10px;display:flex}.cw-meal-day-head strong{flex:1;font-size:.82rem}.cw-meal-day-head small{color:var(--color-text-muted);font-size:.72rem}.cw-chevron{transition:transform .2s}.cw-chevron.open{transform:rotate(180deg)}.cw-meal-day-meals{flex-direction:column;gap:4px;padding:8px 10px;display:flex}.cw-meal-line{color:var(--color-text-main);gap:6px;font-size:.78rem;display:flex}.cw-meal-line-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cw-meal-day-detail{border-top:1px dashed var(--color-border);flex-direction:column;gap:10px;padding:10px;display:flex}.cw-meal-detail-block strong{font-size:.8rem}.cw-meal-ingredients{color:var(--color-text-muted);margin:3px 0 0;font-size:.76rem}.cw-meal-hint{color:var(--color-text-muted);margin:3px 0 0;font-size:.76rem;font-style:italic}.cw-shopping{border:1px solid var(--color-border);border-radius:10px;margin-top:16px;overflow:hidden}.cw-shopping-head{background:var(--color-bg);cursor:pointer;border:none;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:.85rem;font-weight:700;display:flex}.cw-shopping-head span{text-align:left;flex:1}.cw-shopping-body{flex-direction:column;gap:12px;padding:8px 12px;display:flex}.cw-shopping-actions{justify-content:flex-end;gap:8px;display:flex}.cw-shopping-copy,.cw-shopping-share{border:1px solid var(--color-border);min-height:30px;color:var(--color-primary-dark);cursor:pointer;background:#ffffffeb;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.76rem;font-weight:760;display:inline-flex}.cw-shopping-copy:hover,.cw-shopping-share:hover{background:var(--color-primary-soft)}.cw-shopping-copy.copied,.cw-shopping-share.shared,.cw-shopping-share.copied{color:var(--color-primary-dark);border-color:#598a4257}.cw-shopping-copy.error,.cw-shopping-share.error{color:#dc2626;border-color:#dc262647}.cw-shopping-category{text-transform:uppercase;color:var(--color-primary-dark);margin-bottom:4px;font-size:.72rem;font-weight:760;display:block}.cw-shopping-item{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:5px 0;display:flex}.cw-shopping-name{flex:1;font-size:.82rem}.cw-shopping-item small{color:var(--color-text-muted);font-size:.74rem}.cw-shopping-item.done .cw-shopping-name{color:var(--color-text-muted);text-decoration:line-through}.cw-shopping-total{border-top:1px solid var(--color-border);padding:10px 12px;font-size:.85rem;font-weight:760}.cw-shopping-total.ok{color:var(--color-primary-dark)}.cw-shopping-total.over{color:#dc2626}.cw-meal-confirm{margin-top:16px}.cw-meal-confirm-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:.92rem;font-weight:700;transition:opacity .15s;display:flex}.cw-meal-confirm-btn:hover:not(:disabled){opacity:.9}.cw-meal-confirm-btn:disabled{opacity:.6;cursor:progress}.cw-meal-confirmed{color:#16a34a;text-align:center;background:#22c55e1f;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:.88rem;font-weight:600;display:flex}.cw-meal-confirm-error{color:#dc2626;text-align:center;margin:8px 0 0;font-size:.8rem}.cw-meal-edit-hint{color:var(--color-text-muted);margin:14px 0 0;font-size:.78rem}@keyframes cw-shimmer{0%{background-position:-480px 0}to{background-position:480px 0}}@keyframes cw-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.cw-skel{background:linear-gradient(90deg,#283e2c12 25%,#283e2c24 37%,#283e2c12 63%) 0 0/480px 100%;border-radius:6px;animation:1.3s ease-in-out infinite cw-shimmer}.cw-skel-title{width:45%;height:16px;margin-bottom:8px}.cw-skel-line{height:11px;margin:6px 0}.cw-skel-line.short{width:55%}.cw-skel-week{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.cw-skel-day{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;padding:12px}.cw-skel-day .cw-skel{margin:7px 0}.cw-skel-caption{color:var(--color-text-muted);align-items:center;gap:8px;margin-bottom:14px;font-size:.85rem;font-weight:700;display:flex}@keyframes cw-spin{to{transform:rotate(360deg)}}.cw-skel-caption .spin{animation:1s linear infinite cw-spin}.quota-meter{opacity:.9;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;line-height:1.2;display:flex}.quota-meter__title{opacity:.7;font-weight:600}.quota-meter__list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.quota-meter__item{background:color-mix(in srgb, currentColor 8%, transparent);border:1px solid;border-radius:999px;align-items:baseline;gap:4px;padding:2px 8px;display:inline-flex}.quota-meter__item.is-exhausted{color:#d9534f;background:#d9534f1f;border-color:#d9534f}.quota-meter--verify{color:#b8860b}.quota-meter__verify-text{opacity:.85}.quota-meter__resend{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;padding:2px 10px;font-weight:600}.quota-meter__resend:disabled{opacity:.6;cursor:default}.quota-meter__label{opacity:.8}.quota-meter__value{font-variant-numeric:tabular-nums;font-weight:600}.chat-container{box-sizing:border-box;width:min(1120px,100% - 56px);height:calc(100dvh - 74px);min-height:0;box-shadow:none;-webkit-backdrop-filter:none;isolation:isolate;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;margin:5px auto;padding:0;display:flex;position:relative;overflow:hidden}.chat-container:before{content:none}.chat-container>*{z-index:2;position:relative}.chat-header{z-index:5;background:0 0;border-bottom:0;align-items:center;gap:12px;padding:18px 32px;display:flex}.status-indicator{background-color:var(--color-primary);width:10px;height:10px;box-shadow:0 0 8px var(--color-primary-light);border-radius:50%;flex-shrink:0}.chat-header h2{color:var(--color-text-main);margin:0;font-size:1.25rem}.chat-header .subtitle{color:var(--color-text-muted);white-space:nowrap;margin-left:auto;font-size:.875rem}.reset-chat-btn{width:34px;height:34px;color:var(--color-text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .2s,color .2s;display:inline-flex}.reset-chat-btn:hover{background:var(--color-surface-hover);color:var(--color-primary)}.chat-messages{padding:12px 42px var(--chat-composer-space,132px);background:0 0;flex-direction:column;flex:1;gap:20px;display:flex;overflow-y:auto}.message-wrapper{flex-direction:column;max-width:min(82%,720px);display:flex}.message-wrapper.user{align-self:flex-end;align-items:flex-end}.message-wrapper.ai{align-self:flex-start;align-items:flex-start}.message-bubble{overflow-wrap:anywhere;z-index:1;max-width:100%;padding:18px 20px 18px 48px;font-size:1rem;line-height:26px;transition:transform .25s cubic-bezier(.175,.885,.32,1.275),filter .25s;position:relative;box-shadow:none!important;color:#1e2925!important;background:0 0!important;border:none!important}.message-bubble:before{content:"";z-index:-1;background:linear-gradient(90deg,#0000 38px,#dc35452e 38px 39px,#0000 39px),repeating-linear-gradient(#0000,#0000 25px,#6495ed14 25px 26px),#fdfbf7;position:absolute;inset:0}.message-bubble p{word-break:break-word;margin:0}.message-text{gap:10px;display:grid}.message-text h4{margin:0 0 2px;font-size:1.05rem;font-weight:800;line-height:1.35}.message-text ul{gap:8px;margin:0;padding-left:20px;display:grid}.message-text li{padding-left:2px}.message-text strong{font-weight:800}.message-wrapper.user .message-bubble{filter:drop-shadow(-2px 3px 6px #283e2c14);transform:rotate(.4deg)}.message-wrapper.user .message-bubble:before{clip-path:polygon(0% 0%,calc(100% - 8px) 0%,100% 4%,calc(100% - 8px) 8%,100% 12%,calc(100% - 8px) 16%,100% 20%,calc(100% - 8px) 24%,100% 28%,calc(100% - 8px) 32%,100% 36%,calc(100% - 8px) 40%,100% 44%,calc(100% - 8px) 48%,100% 52%,calc(100% - 8px) 56%,100% 60%,calc(100% - 8px) 64%,100% 68%,calc(100% - 8px) 72%,100% 76%,calc(100% - 8px) 80%,100% 84%,calc(100% - 8px) 88%,100% 92%,calc(100% - 8px) 96%,100% 100%,0% 100%)}.message-wrapper.ai .message-bubble{filter:drop-shadow(2px 3px 6px #283e2c14);transform:rotate(-.6deg)}.message-wrapper.ai .message-bubble:before{clip-path:polygon(8px 0%,100% 0%,100% 100%,8px 100%,0 96%,8px 92%,0 88%,8px 84%,0 80%,8px 76%,0 72%,8px 68%,0 64%,8px 60%,0 56%,8px 52%,0 48%,8px 44%,0 40%,8px 36%,0 32%,8px 28%,0 24%,8px 20%,0 16%,8px 12%,0 8%,8px 4%)}.message-bubble:hover{filter:drop-shadow(4px 8px 16px #283e2c1f)!important;transform:scale(1.008)rotate(0)!important}.message-bubble.typing-bubble{align-items:center;gap:10px;display:inline-flex;filter:drop-shadow(1px 2px 4px #283e2c0d)!important;padding:12px 18px!important;transform:none!important}.message-bubble.typing-bubble:before{clip-path:none!important;border-radius:var(--radius-lg)!important;background:#fdfbf7!important}.widget-container{width:100%;margin-top:12px}.quick-action-btn{border:1px solid var(--color-primary-light);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-primary-dark);align-items:center;gap:8px;margin-top:10px;padding:9px 14px;font-size:.85rem;font-weight:700;transition:border-color .2s,color .2s;display:inline-flex}.quick-action-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.quick-action-btn:disabled{opacity:.6;cursor:not-allowed}.chat-input-area{box-sizing:border-box;left:var(--chat-composer-left,50%);bottom:max(var(--chat-composer-bottom,0px), env(keyboard-inset-height,0px));width:var(--chat-composer-width,min(1120px, calc(100vw - 56px)));z-index:70;background:linear-gradient(#f3f6ee00,#f3f6eeb8 42%,#f3f6eeeb);border-top:0;flex-direction:column;gap:12px;max-width:calc(100vw - 24px);padding:6px 24px 5px;display:flex;position:fixed}.chat-tools-row{justify-content:flex-end;min-height:24px;display:flex}.clear-chat-btn{min-height:24px;color:var(--color-text-muted);border-radius:8px;align-items:center;gap:6px;padding:0 8px;font-size:.72rem;font-weight:760;transition:background-color .18s,color .18s,opacity .18s;display:inline-flex}.clear-chat-btn:hover:not(:disabled){color:var(--color-primary-dark);background:#ffffffb8}.clear-chat-btn:disabled{opacity:.52;cursor:not-allowed}.chat-banner{border-radius:var(--radius-md);color:#92400e;background:#fffbeb;border:1px solid #fde68a;padding:10px 14px;font-size:.9rem}.input-wrapper{background-color:#fffffff0;border:1px solid #283e2c1f;border-radius:24px;align-items:flex-end;gap:12px;padding:10px 12px 10px 16px;transition:box-shadow .2s,border-color .2s;display:flex;box-shadow:0 10px 30px #1f302414}.input-wrapper:focus-within{box-shadow:0 0 0 3px var(--color-primary-light);border-color:var(--color-primary)}.input-wrapper textarea{resize:none;min-height:24px;max-height:168px;font-family:var(--font-body);color:var(--color-text-main);background:0 0;border:none;outline:none;flex:1;padding:6px 0;font-size:1rem;line-height:1.5;overflow-y:auto}.input-wrapper textarea::placeholder{color:var(--color-text-muted)}.send-btn,.voice-btn{background-color:var(--color-primary);color:#fff;width:44px;height:44px;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .2s,transform .2s,opacity .2s;display:flex}.send-btn:hover:not(:disabled){background-color:var(--color-primary-dark);transform:translateY(-1px)}.voice-btn{background-color:var(--color-surface-hover);color:var(--color-text-main)}.voice-btn:hover:not(:disabled){background-color:var(--color-primary-light);color:var(--color-primary-dark);transform:translateY(-1px)}.voice-btn.recording{color:#fff;background-color:#ef4444;animation:1.25s ease-in-out infinite pulse-recording}.send-btn:disabled,.voice-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-recording{0%,to{box-shadow:0 0 #ef444459}50%{box-shadow:0 0 0 7px #ef444400}}.typing-spinner,.send-spinner{transform-origin:50%;flex-shrink:0;animation:.9s linear infinite spin}.typing-spinner{color:var(--color-primary)}.message-bubble.typing-bubble span{animation:1.4s ease-in-out infinite typing-fade}@keyframes typing-fade{0%,to{opacity:.55}50%{opacity:1}}.message-wrapper{animation:.28s cubic-bezier(.22,.61,.36,1) both message-in}@keyframes message-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.message-wrapper,.message-bubble.typing-bubble span,.voice-btn.recording{animation:none}.typing-spinner,.send-spinner{animation-duration:2.4s}}@media (width<=768px){.chat-container{border-radius:8px;width:calc(100% - 24px);height:calc(100dvh - 66px);min-height:0;margin:5px auto}.chat-header{gap:10px;padding:14px 16px}.chat-header h2{font-size:1rem}.chat-header .subtitle{text-overflow:ellipsis;max-width:42%;overflow:hidden}.chat-messages{padding:8px 12px var(--chat-composer-space,128px);gap:16px}.message-wrapper{max-width:100%}.message-bubble{font-size:.95rem;padding:12px 14px 12px 34px!important;transform:none!important}.message-bubble:before{background:linear-gradient(90deg,#0000 24px,#dc354526 24px 25px,#0000 25px),repeating-linear-gradient(#0000,#0000 25px,#6495ed0d 25px 26px),#fdfbf7!important}.message-wrapper.ai .message-bubble:before{clip-path:polygon(5px 0%,100% 0%,100% 100%,5px 100%,0 96%,5px 92%,0 88%,5px 84%,0 80%,5px 76%,0 72%,5px 68%,0 64%,5px 60%,0 56%,5px 52%,0 48%,5px 44%,0 40%,5px 36%,0 32%,5px 28%,0 24%,5px 20%,0 16%,5px 12%,0 8%,5px 4%)!important}.message-wrapper.user .message-bubble:before{clip-path:polygon(0% 0%,calc(100% - 5px) 0%,100% 4%,calc(100% - 5px) 8%,100% 12%,calc(100% - 5px) 16%,100% 20%,calc(100% - 5px) 24%,100% 28%,calc(100% - 5px) 32%,100% 36%,calc(100% - 5px) 40%,100% 44%,calc(100% - 5px) 48%,100% 52%,calc(100% - 5px) 56%,100% 60%,calc(100% - 5px) 64%,100% 68%,calc(100% - 5px) 72%,100% 76%,calc(100% - 5px) 80%,100% 84%,calc(100% - 5px) 88%,100% 92%,calc(100% - 5px) 96%,100% 100%,0% 100%)!important}.chat-input-area{padding:5px 10px max(5px, env(safe-area-inset-bottom));-webkit-backdrop-filter:none;background:0 0}.chat-tools-row{min-height:22px}.clear-chat-btn span{display:none}.chat-banner{padding:8px 10px;font-size:.82rem}.input-wrapper{border-radius:20px;align-items:flex-end;gap:10px;padding:8px 8px 8px 12px}.input-wrapper textarea{min-width:0;max-height:144px;font-size:16px}.send-btn,.voice-btn{width:42px;height:42px}}.auth-container{width:100vw;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;background:linear-gradient(135deg,#f4f7f6 0%,#e0f2fe 50%,#d1fae5 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden auto}.auth-container:before,.auth-container:after{content:"";filter:blur(80px);z-index:0;opacity:.5;border-radius:50%;position:absolute}.auth-container:before{background:var(--color-primary-light);width:400px;height:400px;top:-100px;left:-100px}.auth-container:after{background:var(--color-secondary-light);width:500px;height:500px;bottom:-100px;right:-100px}.auth-card{border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);z-index:1;flex-direction:column;gap:24px;padding:40px;display:flex}@media (width<=480px){.auth-container{align-items:flex-start}.auth-card{gap:18px;padding:28px 20px}.auth-form{gap:14px}.consent-block{padding:12px}}.auth-header{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.auth-brand{color:var(--color-primary);font-family:var(--font-heading);letter-spacing:0;align-items:center;gap:10px;margin-bottom:8px;font-size:1.35rem;font-weight:700;display:inline-flex}.auth-brand .logo-icon{color:currentColor}.auth-header h2{color:var(--color-text-main);font-size:1.5rem}.auth-header p{color:var(--color-text-muted);font-size:.9rem}.auth-error{color:#b91c1c;border-radius:var(--radius-sm);text-align:center;background-color:#fee2e2;gap:8px;padding:12px;font-size:.875rem;display:grid}.auth-error a{color:#7f1d1d;text-underline-offset:2px;font-weight:800;text-decoration:underline}.auth-notice{color:#92400e;border-radius:var(--radius-sm);text-align:center;background-color:#fef3c7;padding:12px;font-size:.875rem}.auth-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{font-family:var(--font-heading);color:var(--color-text-main);font-size:.875rem;font-weight:500}.form-group input{border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);background-color:var(--color-surface);width:100%;padding:12px 16px;font-size:1rem;transition:all .2s}.form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:40px}.password-toggle-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:color .2s,background-color .2s;display:flex;position:absolute;right:12px}.password-toggle-btn:hover{color:var(--color-text-main);background-color:var(--color-bg)}.password-toggle-btn:focus{outline:none}.auth-btn{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);margin-top:8px;padding:12px;font-size:1rem;font-weight:600;transition:background-color .2s}.auth-btn:hover:not(:disabled){background-color:var(--color-primary-dark)}.auth-btn:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;color:var(--color-text-muted);font-size:.9rem}.auth-footer a{font-weight:500}.auth-footer a:hover{text-decoration:underline}.auth-build-marker{color:#66736dbd;text-align:center;-webkit-user-select:text;user-select:text;padding-top:4px;font-size:.72rem;font-weight:700}.consent-block{background:rgba(var(--color-primary-rgb,59, 130, 246), .04);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:12px;margin-top:4px;padding:16px;display:flex}.consent-checkbox{cursor:pointer;border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:10px 12px;transition:background-color .2s;display:flex;position:relative}.consent-checkbox:hover{background-color:rgba(var(--color-primary-rgb,59, 130, 246), .06)}.consent-checkbox input[type=checkbox]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.consent-checkmark{border:2px solid var(--color-border);background:var(--color-surface);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;transition:all .2s;display:flex}.consent-icon{opacity:0;transition:all .2s;transform:scale(.5)}.consent-checkbox input[type=checkbox]:checked~.consent-checkmark{border-color:var(--color-primary);background:var(--color-primary-light)}.consent-checkbox input[type=checkbox]:checked~.consent-checkmark .consent-icon{opacity:1;transform:scale(1)}.consent-icon--privacy{color:var(--color-primary)}.consent-icon--health{color:#e74c8b}.consent-checkbox input[type=checkbox]:checked~.consent-checkmark:has(.consent-icon--health){background:#fce4f0;border-color:#e74c8b}.consent-checkbox input[type=checkbox]:focus-visible~.consent-checkmark{box-shadow:0 0 0 3px var(--color-primary-light)}.consent-text{color:var(--color-text-muted);font-size:.78rem;line-height:1.55}.consent-text a{color:var(--color-primary);text-underline-offset:2px;font-weight:600;text-decoration:underline}.consent-text a:hover{color:var(--color-primary-dark)}.consent-text strong{color:var(--color-text-main);font-weight:600}.consent-required{color:#e74c3c;margin-left:2px;font-weight:700}.form-group label svg{vertical-align:-2px;margin-right:4px}.auth-lang-switch{gap:6px;display:flex}.auth-lang-switch button{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);font-family:var(--font-body);color:var(--color-text-muted,var(--color-text-main));cursor:pointer;flex:1;padding:10px 8px;font-size:.875rem;transition:all .2s}.auth-lang-switch button:hover{border-color:var(--color-primary)}.auth-lang-switch button.is-active{border-color:var(--color-primary);background-color:var(--color-primary-light);color:var(--color-primary);font-weight:600}.auth-field-hint{color:var(--color-text-muted,#6b7280);margin:0;font-size:.78rem;line-height:1.4}@media (width>=500px){.auth-card:has(.consent-block){max-width:460px}}.beta-pricing-note{border-radius:var(--radius-md);color:#7c5310;background:#fffbeb;border:1px solid #fcd34d;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.beta-pricing-note svg{color:#b45309;flex-shrink:0;margin-top:2px}.beta-pricing-note p{margin:0;font-size:.78rem;line-height:1.55}.beta-pricing-note strong{color:#7c2d12;font-weight:700}.beta-full__badge{color:#b45309;background:#fef3c7;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.beta-full__text{color:var(--color-text-muted);text-align:center;margin:0;font-size:.88rem;line-height:1.6}.beta-full__form{border-top:1px solid var(--color-border);padding-top:4px}.beta-full__form-title{font-family:var(--font-heading);color:var(--color-text-main);margin:12px 0 0;font-size:1rem}.beta-full__consent{padding-left:0;padding-right:0}.beta-full__consent:hover{background-color:#0000}.beta-full__pending{margin:0}.beta-full__success{border-radius:var(--radius-md);color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;align-items:flex-start;gap:12px;padding:16px;display:flex}.beta-full__success svg{flex-shrink:0;margin-top:2px}.beta-full__success strong{font-family:var(--font-heading);font-size:.95rem;display:block}.beta-full__success p{margin:4px 0 0;font-size:.85rem;line-height:1.55}.beta-full__back{color:var(--color-primary);font-family:var(--font-body);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-top:8px;font-size:.85rem;font-weight:600;text-decoration:underline}@media (width>=500px){.auth-card.beta-full{max-width:460px}}.beta-seats{flex-direction:column;gap:6px;width:100%;display:flex}.beta-seats .beta-seats__label{color:var(--color-text-main,#161d19);font-family:var(--font-heading);text-align:left;margin:0;font-size:.85rem;font-weight:700;line-height:1.3}.beta-seats .beta-seats__hint{color:var(--color-text-muted,#4a5a50);text-align:left;margin:0;font-size:.78rem;font-weight:600;line-height:1.35}.beta-seats[data-full=true] .beta-seats__hint{color:#b45309}.beta-seats__track{background:#161d191f;border-radius:999px;width:100%;height:6px;position:relative;overflow:hidden}.beta-seats__fill{background:linear-gradient(90deg,#34d399,#059669);border-radius:999px;height:100%;transition:width .4s;display:block}.beta-seats[data-full=true] .beta-seats__fill{background:linear-gradient(90deg,#fbbf24,#d97706)}.beta-seats--auth{border:1px solid var(--color-border);border-radius:var(--radius-md);background:rgba(var(--color-primary-rgb,59, 130, 246), .05);padding:12px 14px}.beta-seats--landing{max-width:340px;margin-top:18px}.beta-seats--landing .beta-seats__label{color:#161d19;font-size:.95rem}.beta-seats--landing .beta-seats__hint{color:#2f3932;font-size:.85rem}@media (prefers-reduced-motion:reduce){.beta-seats__fill{transition:none}}.stitch-landing{color:#161d19;scroll-behavior:smooth;scroll-snap-type:y proximity;--snap-scale:1.08;background:#f4fbf5;width:100%;min-height:100vh;overflow:hidden auto}.stitch-landing.is-snapping{--snap-scale:1.155;scroll-snap-type:y mandatory}.stitch-hero-brand,.stitch-primary-cta,.stitch-secondary-cta{font-family:"Nunito Sans", var(--font-body);letter-spacing:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;font-weight:800;display:inline-flex}.stitch-hero-brand{color:#316342;-webkit-backdrop-filter:blur(18px);text-shadow:none;background:#ffffff70;border:1px solid #ffffff9e;margin-bottom:34px;padding:10px 16px;font-size:clamp(1.35rem,3vw,2rem);box-shadow:0 10px 28px #161d190d}.stitch-primary-cta{color:#fff;background:#316342;border-color:#3163423d}.stitch-primary-cta:hover,.stitch-secondary-cta:hover{transform:translateY(-2px)scale(1.01);box-shadow:0 14px 28px #3163422e}.stitch-section{scroll-snap-align:start;scroll-snap-stop:always;align-items:center;min-height:100vh;padding:74px clamp(20px,5vw,80px) 72px;display:grid;position:relative;overflow:hidden}.stitch-section:before,.stitch-section:after{content:"";z-index:4;pointer-events:none;height:5vh;position:absolute;left:0;right:0}.stitch-section:before{background:linear-gradient(#f4fbf50f,#f4fbf500);top:0}.stitch-section:after{background:linear-gradient(#f4fbf500,#f4fbf50f);bottom:0}.stitch-bg,.stitch-wash{position:absolute;inset:0}.stitch-bg{transform:scale(var(--snap-scale));filter:saturate(.92)contrast(.94);will-change:transform, opacity;background-position:50%;background-size:cover;transition:transform .52s cubic-bezier(.34,1.56,.64,1),opacity 1.2s cubic-bezier(.4,0,.2,1)}.stitch-bg--hero{transform:translateY(var(--hero-bg-y,0)) scale(var(--snap-scale));background-image:url(/landing-assets/hero-lifestyle-collage.png)}.stitch-bg--hero-video{object-fit:cover;object-position:center;width:100%;height:100%;transform:translateY(var(--hero-bg-y,0)) scale(var(--snap-scale));display:block}.stitch-bg--life{transform:translateY(var(--life-bg-y,0)) scale(var(--snap-scale));background-image:url(/landing-assets/life-kitchen.png)}.stitch-bg--budget{transform:translateY(var(--budget-bg-y,0)) scale(var(--snap-scale));background-image:url(/landing-assets/budget-breakfast.png);background-position:50% 42%}.stitch-bg--goal{transform:translateY(var(--goal-bg-y,0)) scale(var(--snap-scale));background-image:url(/landing-assets/goal-sunset.png);background-position:bottom}.stitch-character-phase,.stitch-goal-daylight{z-index:1;pointer-events:none;will-change:transform, opacity, clip-path;position:absolute;inset:0}.stitch-character-phase{opacity:var(--hero-phase-opacity,0);transform:translateX(var(--hero-phase-x,0)) scale(1.05);clip-path:inset(0 var(--hero-phase-clip,34%) 0 0);mix-blend-mode:soft-light;background:linear-gradient(100deg,#0000 44%,#ffffff5c 48%,#0000 55%),url(/landing-assets/hero-fitness.png) 50%/cover}.stitch-goal-daylight{opacity:var(--goal-daylight-opacity,1);background:linear-gradient(#ffffff1f,#fff0)}.stitch-wash{z-index:1;background:linear-gradient(#f4fbf504,#f4fbf50a),#f4fbf504}.stitch-wash--hero{background:radial-gradient(circle at 54% 24%,#9dd3aa06,#0000 28rem),linear-gradient(#f4fbf505,#f4fbf50e)}.stitch-wash--strong{background:#f4fbf50b}.stitch-wash--warm{background:linear-gradient(#fbbf240e,#f4fbf50f 82%)}.stitch-section-inner{z-index:2;width:min(100%,1280px);margin:0 auto;position:relative}.stitch-section-inner--center{text-align:center;justify-items:center;display:grid}.stitch-section-inner--split{grid-template-columns:minmax(300px,430px) minmax(320px,520px);justify-content:space-between;align-items:center;gap:clamp(40px,8vw,110px);display:grid}.stitch-hero-copy,.stitch-narrative-copy{max-width:760px}.stitch-hero-copy,.stitch-section:not(.stitch-hero) .stitch-narrative-copy{-webkit-backdrop-filter:blur(22px);background:#ffffff75;border:1px solid #ffffffad;border-radius:8px;width:fit-content;max-width:min(760px,100%);padding:clamp(18px,2.4vw,26px) clamp(20px,3vw,34px);box-shadow:0 12px 34px #161d190f}.stitch-hero-copy h1,.stitch-section:not(.stitch-hero) .stitch-narrative-copy h2{margin:0}.stitch-hero-copy p,.stitch-section:not(.stitch-hero) .stitch-narrative-copy p{margin-top:18px}.stitch-section:not(.stitch-hero) .stitch-narrative-copy--center{margin-inline:auto}.stitch-hero-copy h1,.stitch-narrative-copy h2{color:#161d19;font-family:"Nunito Sans", var(--font-heading);letter-spacing:0;text-wrap:balance;text-shadow:none;font-size:clamp(3rem,5.2vw,4.8rem);font-weight:900;line-height:1.07}.stitch-narrative-copy h2{font-size:clamp(2.25rem,4.2vw,4rem)}.stitch-hero-copy p,.stitch-narrative-copy p{color:#2f3932;max-width:680px;text-shadow:none;margin:18px auto 0;font-size:clamp(1rem,1.4vw,1.18rem);font-weight:700;line-height:1.7}.stitch-narrative-copy:not(.stitch-narrative-copy--center) p{margin-left:0}.stitch-cta-row{justify-content:center;align-items:center;gap:14px;margin-top:34px;display:flex}.stitch-cta-row--center{justify-content:center}@media (width>=641px){.stitch-hero .stitch-section-inner--center{text-align:left;justify-items:start}.stitch-hero-copy p{margin-left:0;margin-right:0}.stitch-hero .stitch-cta-row{justify-content:flex-start}}.stitch-primary-cta,.stitch-secondary-cta{min-height:56px;padding:0 26px;font-size:.96rem}.stitch-secondary-cta{color:#316342;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff8a;border:1px solid #ffffffb8;box-shadow:0 8px 26px #161d190a}.stitch-glass-card{-webkit-backdrop-filter:blur(24px);background:#ffffff7a;border:1px solid #ffffffad;border-radius:8px;box-shadow:0 12px 36px #161d190f}.stitch-coach-card,.stitch-signal-card{z-index:3;text-align:left;will-change:transform, opacity;align-items:center;gap:12px;padding:14px;animation:6s ease-in-out infinite stitch-float;display:flex;position:absolute}.stitch-coach-card{width:236px;top:33%;right:2.5%}.stitch-signal-card{min-width:162px;animation-delay:2.6s;top:54%;right:17%}.stitch-typing:after{content:"|";color:#316342;margin-left:2px;animation:1s step-start infinite stitch-blink}.stitch-progress-ring{flex:none;transform:rotate(-90deg)}.stitch-progress-ring__track,.stitch-progress-ring__value{fill:none;stroke-width:3px}.stitch-progress-ring__track{stroke:#3163422e}.stitch-progress-ring__value{stroke:#316342;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)}.stitch-coach-card svg,.stitch-signal-card svg,.stitch-goal-icon svg{color:#316342}.stitch-coach-card strong,.stitch-signal-card strong{color:#161d19;font-size:.86rem;font-weight:850;display:block}.stitch-coach-card span,.stitch-signal-card span{color:#414942;margin-top:2px;font-size:.76rem;font-weight:700;line-height:1.35;display:block}.stitch-metrics-panel,.stitch-meal-card{padding:18px}.stitch-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.stitch-metric-grid span{color:#414942;background:#ffffff7a;border-radius:8px;place-items:center;gap:5px;min-height:84px;font-size:.75rem;font-weight:800;display:grid}.stitch-metric-grid b{color:#316342;font-size:.98rem}.stitch-metrics-panel p{color:#414942;margin-top:14px;font-size:.86rem;font-weight:750;line-height:1.5}.stitch-schedule{gap:9px;min-height:106px;margin-top:14px;display:grid;position:relative}.stitch-schedule-row{color:#414942;will-change:transform, box-shadow;background:#ffffff94;border-radius:8px;grid-template-columns:1fr auto;align-items:center;min-height:48px;padding:0 14px;font-weight:850;transition:transform .7s cubic-bezier(.34,1.56,.64,1),box-shadow .6s cubic-bezier(.4,0,.2,1),background-color .6s cubic-bezier(.4,0,.2,1);display:grid}.stitch-schedule-row b{color:#316342;font-size:.84rem}.stitch-adaptive-life.is-shifted .stitch-schedule-row--work{transform:translateY(5px);box-shadow:0 0 14px #4a7c592e}.stitch-adaptive-life.is-shifted .stitch-schedule-row--training{background:#ffffffb3;transform:translateY(10px);box-shadow:inset 0 0 0 1px #4a7c592e,0 0 16px #4a7c592e}.stitch-meal-card{width:min(420px,100%);margin-top:34px}.stitch-meal-head,.stitch-meal-row{background:#ffffff85;border-radius:8px;align-items:center;gap:10px;display:grid}.stitch-meal-head{grid-template-columns:1fr auto auto;min-height:48px;padding:0 14px}.stitch-meal-head strong{font-size:.95rem}.stitch-meal-head span{color:#316342;font-size:.82rem;font-weight:900}.stitch-meal-head button{color:#445f4a;background:0 0;border-radius:999px;place-items:center;width:34px;height:34px;display:grid}.stitch-meal-row{color:#414942;grid-template-columns:auto 1fr auto;min-height:44px;margin-top:8px;padding:0 12px;font-weight:800;animation:.62s cubic-bezier(.4,0,.2,1) stitch-meal-swap}.stitch-adaptive-budget.is-affordable .stitch-meal-card{box-shadow:0 0 34px #4a7c592e,0 12px 36px #161d190f}.stitch-meal-row svg{color:#316342}.stitch-meal-row b{color:#316342;font-size:.78rem}.stitch-goal-icon{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff6b;border-radius:50%;place-items:center;width:76px;height:76px;margin-bottom:26px;display:grid;position:relative;box-shadow:0 0 0 12px #ffffff2e}.stitch-define-goal .stitch-primary-cta{animation:2.8s cubic-bezier(.4,0,.2,1) 1s infinite stitch-cta-pulse}.stitch-goal-timer{-webkit-backdrop-filter:blur(20px);background:#ffffff6b;border-radius:50%;place-items:center;width:164px;height:164px;margin-bottom:30px;display:grid;position:relative;box-shadow:0 0 0 10px #ffffff21,0 0 32px #31634224}.stitch-goal-timer .stitch-progress-ring{width:164px;height:164px;position:absolute;inset:0}.stitch-goal-timer .stitch-progress-ring__track,.stitch-goal-timer .stitch-progress-ring__value{stroke-width:2.15px}.stitch-goal-timer .stitch-progress-ring__track{stroke:#31634229}.stitch-goal-timer .stitch-progress-ring__value{stroke:#2f7f46;filter:drop-shadow(0 0 3px #3163424d);transition:stroke-dashoffset .72s cubic-bezier(.4,0,.2,1)}.stitch-goal-timer__content{z-index:1;color:#316342;justify-items:center;gap:4px;display:grid;position:relative}.stitch-goal-timer__content strong{color:#161d19;font-family:"Nunito Sans", var(--font-heading);font-size:2rem;font-weight:900;line-height:1}.stitch-goal-timer__content span{color:#414942;letter-spacing:.03em;text-transform:uppercase;font-size:.74rem;font-weight:900}.stitch-particle{z-index:2;pointer-events:none;opacity:.34;background:radial-gradient(circle,#9dd3aab3,#9dd3aa00);border-radius:50%;position:absolute}.stitch-particle--one{width:160px;height:160px;animation:15s linear infinite stitch-drift;top:24%;left:10%}.stitch-particle--two{width:220px;height:220px;animation:18s linear infinite reverse stitch-drift;bottom:12%;right:12%}@keyframes stitch-float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes stitch-drift{0%{opacity:0;transform:translate(0,0)scale(.7)}20%{opacity:.26}80%{opacity:.26}to{opacity:0;transform:translate(90px,-120px)scale(1.2)}}@keyframes stitch-blink{50%{opacity:0}}@keyframes stitch-meal-swap{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes stitch-cta-pulse{0%,to{box-shadow:0 0 #31634200,0 14px 28px #3163421f}50%{box-shadow:0 0 28px #3163424d,0 18px 34px #31634233}}@media (width<=980px){.stitch-section-inner--split{text-align:center;grid-template-columns:1fr;justify-items:center}.stitch-narrative-copy:not(.stitch-narrative-copy--center) p{margin-left:auto}.stitch-metrics-panel{order:2;width:min(100%,430px)}}@media (width<=640px){.stitch-hero-brand{margin-bottom:26px;font-size:1.25rem}.stitch-section{min-height:100svh;padding:54px 18px 52px}.stitch-section-inner,.stitch-hero-copy,.stitch-narrative-copy{width:100%;max-width:calc(100vw - 72px)}.stitch-hero-copy h1,.stitch-narrative-copy h2{overflow-wrap:break-word;word-break:break-word;max-width:8.2ch;margin-inline:auto;font-size:clamp(2.15rem,10vw,2.7rem);line-height:1.08}.stitch-hero-copy p,.stitch-narrative-copy p{max-width:min(30ch,100vw - 72px);font-size:.98rem}.stitch-cta-row{flex-direction:column;align-items:stretch;width:100%;max-width:min(280px,100vw - 96px);margin-left:auto;margin-right:auto}.stitch-primary-cta,.stitch-secondary-cta{width:100%}.stitch-coach-card,.stitch-signal-card{display:none}.stitch-metric-grid{grid-template-columns:1fr}.stitch-metrics-panel{padding-bottom:22px}.stitch-schedule{gap:12px;min-height:auto}.stitch-adaptive-life.is-shifted .stitch-schedule-row--work,.stitch-adaptive-life.is-shifted .stitch-schedule-row--training{transform:none}.stitch-adaptive-life.is-shifted .stitch-schedule-row--training{background:#ffffffad;box-shadow:0 8px 22px #31634214}.stitch-section-inner--hero{text-align:left;align-content:start;justify-items:start;min-height:min(820px,100svh - 96px);display:grid}.stitch-hero .stitch-hero-brand{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;margin:0;padding:0}.stitch-hero .stitch-hero-copy{max-width:610px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;margin-top:clamp(112px,18vh,208px);padding:0}.stitch-hero .stitch-hero-copy h1{max-width:13ch;font-size:clamp(3.35rem,6vw,5.65rem);line-height:1.02}.stitch-hero .stitch-hero-copy p{max-width:540px}.stitch-hero-eyebrow{color:#316342;letter-spacing:.22em;margin-bottom:22px;font-size:.75rem;font-weight:900;line-height:1.35;display:block}.stitch-hero .stitch-coach-card,.stitch-hero .stitch-signal-card,.stitch-hero .beta-seats--landing,.stitch-hero .stitch-beta-note,.stitch-hero .stitch-particle{display:none}@media (width<=640px){.stitch-section-inner--hero{min-height:calc(100svh - 106px)}.stitch-hero .stitch-hero-copy{margin-top:clamp(80px,15vh,126px)}.stitch-hero .stitch-hero-copy h1{max-width:9.5ch;font-size:clamp(2.15rem,10vw,2.7rem)}.stitch-hero-eyebrow{letter-spacing:.16em;margin-bottom:16px;font-size:.66rem}}.stitch-bg{transform:scale(1.03)}.stitch-landing,.stitch-landing.is-snapping{scroll-snap-type:none;--snap-scale:1.03}.stitch-character-phase{display:none}}@media (prefers-reduced-motion:reduce){.stitch-bg,.stitch-character-phase,.stitch-floating-card,.stitch-coach-card,.stitch-signal-card,.stitch-schedule-row,.stitch-meal-row,.stitch-meal-head,.stitch-metric-grid span,.stitch-glass-card,.stitch-primary-cta,.stitch-secondary-cta{transition-duration:.12s!important;animation:none!important;transform:none!important}.stitch-character-phase{display:none}.stitch-typing:after{content:""}}.stitch-lang-switcher{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff8c;border-radius:999px;gap:6px;padding:5px;display:flex;position:absolute;top:28px;right:28px}.stitch-lang-switcher button{font:inherit;letter-spacing:.04em;color:#2f4f3e;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:700;transition:background .2s,color .2s}.stitch-lang-switcher button:hover{background:#2f4f3e1f}.stitch-lang-switcher button.is-active{color:#fff;background:#2f5d46}.stitch-beta-note{color:#3d5748;opacity:.85;max-width:460px;margin-top:14px;font-size:.85rem;line-height:1.45}@media (width<=640px){.stitch-lang-switcher{top:16px;right:16px}}.stitch-legal-footer{justify-content:center;width:100%;margin-top:28px;display:flex}.stitch-legal-footer nav{flex-wrap:wrap;justify-content:center;gap:6px 20px;display:flex}.stitch-legal-footer a{letter-spacing:.02em;color:#3d5748;opacity:.8;text-underline-offset:3px;font-size:.8rem;font-weight:600;text-decoration:underline;transition:opacity .2s}.stitch-legal-footer a:hover,.stitch-legal-footer a:focus-visible{opacity:1}.admin-panel{align-content:start;gap:18px;width:100%;max-width:1200px;min-height:100%;margin:0 auto;display:grid}.admin-header{margin-bottom:32px}.admin-title{color:var(--color-primary-dark);align-items:center;gap:12px;margin-bottom:8px;display:flex}.admin-title h2{font-size:2rem}.admin-header p{color:var(--color-text-muted)}.admin-content{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background-color:var(--color-surface);overflow:hidden}.admin-tabs{gap:8px;width:fit-content;padding:8px;display:inline-flex}.admin-tab{min-height:42px;color:var(--color-text-muted);border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-weight:800;display:inline-flex}.admin-tab.active{background:var(--color-primary-light);color:var(--color-primary-dark)}.admin-badge{color:#fff;background:#ef4444;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.76rem;font-weight:900;display:inline-grid}.admin-alert{color:#991b1b;background:#fee2e2;border-radius:8px;padding:12px 14px;font-weight:720}.admin-section-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;display:flex}.admin-section-head h3{color:var(--color-text-main);margin:0;font-size:1.12rem;font-weight:820}.admin-section-head p{color:var(--color-text-muted);margin-top:4px;font-size:.9rem;font-weight:650}.admin-section-head span{color:var(--color-primary-dark);flex:none;font-weight:820}.users-table{border-collapse:collapse;width:100%}.users-table th,.users-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:16px 24px}.users-table th{background-color:var(--color-bg);font-family:var(--font-heading);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.user-email{color:var(--color-text-main);align-items:center;gap:8px;font-weight:500;display:flex}select{border-radius:var(--radius-sm);border:1px solid var(--color-border);font-family:var(--font-body);cursor:pointer;background-color:#fff;outline:none;padding:8px 12px;font-size:.875rem;transition:all .2s}select:disabled{opacity:.5;cursor:not-allowed}select:focus{border-color:var(--color-primary)}.role-select.admin{color:#b91c1c;background-color:#fee2e2;border-color:#fca5a5}.sub-select.pro{color:#047857;background-color:#d1fae5;border-color:#6ee7b7}.sub-select.high{color:#1d4ed8;background-color:#dbeafe;border-color:#93c5fd}.delete-btn{color:#ef4444;border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.delete-btn:hover:not(:disabled){background-color:#fee2e2}.delete-btn:disabled{color:var(--color-border);cursor:not-allowed}.feedback-admin-list{gap:12px;padding:18px;display:grid}.feedback-admin-item{border:1px solid #283e2c1a;border-left:4px solid var(--color-border);background:#ffffffbd;border-radius:8px;gap:12px;padding:18px;display:grid}.feedback-admin-item.new{border-left-color:#ef4444}.feedback-admin-item.seen{border-left-color:#f59f00}.feedback-admin-item.resolved{border-left-color:var(--color-primary)}.feedback-admin-top{justify-content:space-between;align-items:start;gap:14px;display:flex}.feedback-category{color:var(--color-secondary);text-transform:uppercase;font-size:.78rem;font-weight:840}.feedback-admin-item h4{color:var(--color-text-main);margin:3px 0 0;font-size:1rem;font-weight:820}.feedback-admin-item p{color:var(--color-text-main);white-space:pre-wrap;font-weight:650}.feedback-admin-meta{flex-wrap:wrap;gap:8px;display:flex}.feedback-admin-meta span{color:var(--color-text-muted);background:#f2f6ede6;border-radius:8px;padding:5px 8px;font-size:.78rem;font-weight:760;display:inline-flex}.feedback-status-select.new{color:#b91c1c;background-color:#fee2e2;border-color:#fca5a5}.feedback-status-select.seen{color:#92400e;background-color:#fef3c7;border-color:#fcd34d}.feedback-status-select.resolved{color:#047857;background-color:#d1fae5;border-color:#6ee7b7}.admin-empty,.admin-loading{min-height:180px;color:var(--color-text-muted);place-items:center;gap:10px;font-weight:720;display:grid}@media (width<=860px){.admin-content{overflow-x:auto}.admin-section-head,.feedback-admin-top{flex-direction:column;align-items:stretch}.users-table{min-width:860px}}.admin-demand{border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:12px;padding:12px 16px;display:flex}.admin-demand__title{font-weight:600}.admin-demand__value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.admin-demand__hint{opacity:.7;font-size:13px}.admin-demand__bar{background:#7f7f7f40;border-radius:999px;flex:100%;height:6px;overflow:hidden}.admin-demand__bar-fill{background:currentColor;border-radius:999px;height:100%;transition:width .24s}.quota-cell{white-space:nowrap}.quota-input{border:1px solid var(--color-border);background:var(--color-bg);width:62px;color:inherit;font:inherit;text-align:center;border-radius:6px;margin-right:4px;padding:4px 6px;font-size:13px}.quota-input::placeholder{opacity:.5}.workout-calendar-zone{flex-direction:column;height:100%;display:flex}.calendar-grid{flex:1;grid-template-columns:repeat(7,minmax(112px,1fr));align-items:stretch;gap:12px;height:100%;min-height:0;padding-bottom:4px;display:grid;overflow-x:auto}.calendar-column{border:1px solid var(--color-border);background:#ffffff94;border-radius:8px;flex-direction:column;min-width:0;height:100%;min-height:0;transition:all .2s;display:flex;overflow:hidden}.calendar-column.active-day{background:#f7faf19e;border-color:#6a9d3885;box-shadow:inset 0 0 0 1px #6a9d381f}.calendar-column:hover{background:var(--color-surface-hover);border-color:#6a9d3880;transform:translateY(-1px);box-shadow:0 12px 28px #33422c14}.calendar-day-header{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:8px;min-height:48px;padding:10px;display:grid}.day-name{min-width:0;color:var(--color-text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.active-day .day-name{color:var(--color-primary-dark);font-weight:800}.day-name .day-date{color:var(--color-text-muted);white-space:nowrap;margin-top:2px;font-size:10px;font-weight:600;display:block}.calendar-column.is-today{border-color:var(--color-primary);box-shadow:0 0 0 2px #6a9d3859}.calendar-column.is-today .day-name,.calendar-column.is-today .day-date{color:var(--color-primary-dark)}.workout-count{background:var(--color-bg);width:24px;height:24px;color:var(--color-text-main);border-radius:999px;place-items:center;font-size:11px;font-weight:800;display:inline-grid}.active-day .workout-count{background:var(--color-primary);color:#fff}.calendar-drop-zone{flex-direction:column;flex:1;min-height:0;padding:8px;display:flex;overflow:hidden}.time-slots-container{flex:1;grid-template-rows:repeat(6,minmax(0,1fr));gap:4px;min-height:0;display:grid}.time-slot-zone{border:1px dashed var(--color-border);background:#ffffff05;border-radius:8px;flex-direction:column;min-width:0;min-height:0;padding:6px;transition:all .2s;display:flex}.time-slot-zone.empty:hover{border-color:var(--color-primary);background:#10b9810d}.time-slot-zone.selected-slot{border-color:var(--color-primary);background:linear-gradient(#e9f4dfd1,#ffffffb8);border-style:solid;box-shadow:inset 0 0 0 1px #6a9d383d,0 10px 22px #33422c14}.time-slot-zone.has-workout{background:#10b98105;border-style:solid;border-color:#10b9814d}.slot-label{min-width:0;color:var(--color-text-muted);letter-spacing:.02em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-bottom:4px;font-size:10px;font-weight:600;overflow:hidden}.time-slot-zone.selected-slot .slot-label,.time-slot-zone.selected-slot .slot-placeholder{color:var(--color-primary-dark);font-weight:800}.slot-placeholder{color:var(--color-text-muted);opacity:.45;text-align:center;flex:1;justify-content:center;align-items:center;font-size:11px;transition:opacity .2s;display:flex}.time-slot-zone:hover .slot-placeholder,.time-slot-zone.selected-slot .slot-placeholder{opacity:1}.calendar-card{border:1px solid var(--color-border);background:var(--color-surface);cursor:grab;border-radius:6px;flex-direction:column;flex:1;gap:4px;min-width:0;min-height:0;padding:8px;display:flex;overflow:hidden;box-shadow:0 2px 4px #0000000d}.calendar-card:active{cursor:grabbing;transform:scale(.98)}.card-header-small{justify-content:space-between;align-items:center;gap:6px;display:flex}.remove-btn-small{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex:none;padding:0 4px;font-size:16px;line-height:1}.remove-btn-small:hover{color:#ef4444}.card-title-small{min-width:0;color:var(--color-text-main);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.card-meta-small{min-width:0;color:var(--color-text-muted);flex-wrap:wrap;gap:6px;font-size:11px;display:flex;overflow:hidden}.card-meta-small span{align-items:center;gap:4px;display:flex}.category-icon-small{border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.category-icon-small.strength{color:#60a5fa;background:#3b82f626}.category-icon-small.cardio{color:#fbbf24;background:#f59e0b26}.category-icon-small.recovery{color:#34d399;background:#10b98126}@media (width<=768px){.calendar-grid{grid-template-columns:repeat(7,132px)}}.week-mode-switcher{border:1px solid var(--color-border);background:var(--color-bg);border-radius:999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.week-mode-seg{width:30px;height:26px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;transition:all .18s;display:inline-grid}.week-mode-seg:hover{color:var(--color-primary-dark);background:var(--color-surface-hover)}.week-mode-seg.active{background:var(--color-primary);color:#fff}.workout-list-page{height:100%;color:var(--color-text-main);background:0 0;flex-direction:column;display:flex;overflow-y:auto}.header-actions{align-items:center;gap:12px;display:flex;position:relative}.save-config-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-weight:600;transition:opacity .2s;display:flex}.save-config-btn:hover{opacity:.9}.save-status{color:var(--color-primary);border:1px solid var(--color-primary);white-space:nowrap;z-index:10000;background:#fffffff5;border-radius:8px;padding:10px 14px;font-size:13px;animation:.3s fadeIn;position:fixed;top:18px;right:18px;box-shadow:0 18px 48px #283e2c2e}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.workout-hero-panel{background:linear-gradient(90deg,#fbfbf7fa 0%,#fbfbf7d6 34%,#fbfbf714 70%),linear-gradient(#fbfbf71a,#f3f6eee6),url(/workout-images/doc-workout-5.png) 100%/cover no-repeat;border-radius:16px;justify-content:space-between;gap:24px;min-height:244px;margin:0 0 24px;padding:34px 34px 24px;display:flex;position:relative;overflow:hidden}.workout-hero-copy{z-index:1;max-width:580px;position:relative}.workout-greeting{color:#17211b;margin:0 0 14px;font-size:.95rem;font-weight:800}.workout-hero-copy h1{color:#0e2f2b;font-family:var(--font-heading);margin:0;font-size:clamp(2rem,3vw,2.75rem);line-height:1.05}.workout-hero-copy>p:not(.workout-greeting){max-width:460px;color:var(--color-text-muted);margin:14px 0 0;font-weight:700;line-height:1.45}.workout-hero-stats{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffbd;border:1px solid #ffffffad;border-radius:8px;grid-template-columns:repeat(3,minmax(120px,1fr));gap:12px;max-width:520px;margin-top:28px;padding:10px;display:grid;box-shadow:0 18px 48px #33422c1a}.hero-stat-card{grid-template-rows:auto auto;grid-template-columns:34px auto;align-items:center;column-gap:10px;display:grid}.hero-stat-card span{background:var(--color-primary-light);width:34px;height:34px;color:var(--color-primary-dark);border-radius:8px;grid-row:1/span 2;place-items:center;display:grid}.hero-stat-card strong{font-size:1.15rem;line-height:1}.hero-stat-card small{color:var(--color-text-muted);font-size:.78rem;font-weight:700}.workout-command-layout{grid-template-columns:minmax(0,1fr) minmax(220px,25%);grid-template-areas:"calendar library""insights insights";align-items:stretch;gap:16px;display:grid}.workout-primary-stack,.workout-library-side,.workout-insight-rail{flex-direction:column;gap:16px;min-width:0;display:flex}.week-plan-card,.workout-library-card,.workout-library-side,.insight-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd6;border:1px solid #283e2c1a;border-radius:8px;box-shadow:0 18px 48px #33422c14}.week-plan-card,.workout-library-card,.workout-library-side{padding:16px}.week-plan-card{height:100%;overflow:hidden}.workout-library-side{flex-direction:column;grid-area:library;align-self:stretch;height:auto;max-height:none;display:flex;overflow:hidden}.workout-side-tabs{background:#283e2c0d;border-radius:8px;flex-shrink:0;gap:8px;margin:16px 0;padding:4px;display:flex}.workout-side-tabs button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:8px 12px;font-size:.85rem;font-weight:700;transition:all .2s}.workout-side-tabs button.active{color:var(--color-primary-dark);background:#fff;box-shadow:0 2px 8px #0000000d}.schedule-target-note{border-left:3px solid var(--color-primary);background:#6a9d3814;border-radius:6px;flex-direction:column;flex-shrink:0;gap:4px;margin-bottom:16px;padding:12px 14px;font-size:.88rem;display:flex}.schedule-target-note span{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.schedule-target-note strong{color:var(--color-primary-dark);font-weight:800}.workout-primary-stack{grid-area:calendar;height:610px;max-height:610px}.workout-library-side{height:610px;max-height:610px}.workout-insight-rail{grid-area:insights;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;display:grid}.section-heading-row,.insight-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading-row h2,.insight-panel h3{color:#17211b;margin:0;font-size:1.05rem;font-weight:850}.week-actions{align-items:center;gap:8px;display:flex}.week-target-pill,.week-edit-btn{border:1px solid var(--color-border);min-height:36px;color:var(--color-text-main);background:#ffffffc7;border-radius:8px;align-items:center;gap:7px;padding:8px 12px;font-size:.84rem;font-weight:800;display:inline-flex}.week-target-pill{color:var(--color-primary-dark);background:var(--color-primary-light)}.week-plan-board{grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;gap:7px;margin-top:12px;display:grid;overflow:hidden}.week-day-column{background:#ffffff94;border:1px solid #283e2c1a;border-radius:8px;flex-direction:column;min-width:0;min-height:520px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;display:flex;overflow:hidden}.week-day-column.active{background:#f7faf194;border-color:#6a9d3885;box-shadow:inset 0 0 0 1px #6a9d381f}.week-day-column.is-today{border-color:var(--color-primary);box-shadow:0 0 0 2px #6a9d3859}.week-day-date{color:var(--color-text-muted);margin-top:2px;font-size:.68rem;font-weight:700;display:block}.week-day-column.is-today .week-day-date{color:var(--color-primary-dark)}.week-day-column:hover,.week-day-column:focus-within{background:#f7faf1d1;border-color:#6a9d38ad;transform:translateY(-1px);box-shadow:0 12px 30px #33422c14}.week-day-head{border-bottom:1px solid #283e2c14;place-items:center;gap:2px;min-height:48px;padding:7px;display:grid}.week-day-head span{text-align:center;font-weight:850;line-height:1.1;display:block}.week-day-head small{color:var(--color-text-muted);font-size:.72rem;font-weight:700}.rest-toggle{width:calc(100% - 12px);min-height:28px;color:var(--color-text-muted);background:#ffffffbd;border:1px solid #283e2c1f;border-radius:8px;margin:6px 6px 0;padding:5px 7px;font-size:.64rem;font-weight:850}.rest-toggle.active{background:var(--color-primary-light);color:var(--color-primary-dark);border-color:#6a9d3859}.week-slot-grid{flex:1;grid-template-rows:repeat(6,minmax(0,1fr));gap:5px;min-height:0;padding:6px;display:grid}.week-slot{text-align:left;cursor:pointer;background:#ffffff9e;border:1px dashed #283e2c24;border-radius:8px;flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:0;padding:5px;display:flex;position:relative;overflow:hidden}.week-slot[draggable=true]{cursor:grab}.week-slot[draggable=true]:active{cursor:grabbing}.week-slot.selected{border-color:var(--color-primary);border-style:solid;box-shadow:inset 0 0 0 1px #6a9d383d}.week-slot.filled{background:#fff;border-style:solid}.week-slot img{object-fit:cover;width:calc(100% + 10px);height:34px;margin:-5px -5px 1px}.week-slot strong{color:#17211b;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.68rem;font-weight:850;line-height:1.16;display:-webkit-box;overflow:hidden}.week-slot small{color:var(--color-text-muted);font-size:.62rem;font-weight:700}.load-badge{color:#e86a1c;background:#fff1dd;border-radius:999px;width:fit-content;padding:2px 6px;font-size:.58rem;font-weight:850}.load-badge.recovery,.load-badge.mobility{background:var(--color-primary-light);color:var(--color-primary-dark)}.week-slot.custom-routine{background:#fdfefbe6;border-color:#6a9d3859}.week-slot-meta-row{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.custom-badge{border-radius:999px;padding:2px 6px;font-size:.58rem;font-weight:850}.custom-badge.saved{color:var(--color-primary-dark);background:#6a9d381f}.custom-badge.temporary{color:#dc3545;background:#dc35451a}.week-card-save-btn{color:var(--color-primary-dark);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2;background:#ffffffe0;border:1px solid #6a9d384d;border-radius:4px;align-items:center;gap:3px;padding:3px 6px;font-size:.6rem;font-weight:800;transition:all .2s;display:flex;position:absolute;top:5px;right:5px;box-shadow:0 1px 3px #0000000d}.week-card-save-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.week-card-menu{color:var(--color-text-muted);position:absolute;bottom:5px;right:5px}.empty-plus,.quick-slot-add{width:22px;height:22px;color:var(--color-text-muted);border:1px solid var(--color-border);background:#ffffffe6;border-radius:999px;align-self:center;place-items:center;display:grid}.quick-slot-add{color:var(--color-primary-dark);border-color:#6a9d3847}.empty-slot-time{color:var(--color-text-muted);opacity:.7;letter-spacing:.02em;align-self:center;font-size:.7rem}.rest-day-card{color:#5e6f55;isolation:isolate;border:0;border-radius:8px;flex:1;align-content:center;justify-items:center;gap:8px;min-height:0;margin:8px;display:grid;position:relative;overflow:hidden}.rest-day-card img{object-fit:cover;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.rest-day-card:after{content:"";z-index:-1;background:#fff8e2b8;position:absolute;inset:0}.rest-day-card span{align-items:center;gap:8px;font-size:1rem;font-weight:850;display:inline-flex}.library-filter-row{scrollbar-color:#6a9d387a #283e2c0f;scrollbar-width:thin;gap:10px;margin:14px 0 16px;padding-bottom:8px;display:flex;overflow-x:auto}.library-filter-row::-webkit-scrollbar{height:8px}.library-filter-row::-webkit-scrollbar-track{background:#283e2c0f;border-radius:999px}.library-filter-row::-webkit-scrollbar-thumb{background:#6a9d387a;border:2px solid #f7faf1eb;border-radius:999px}.library-filter-row::-webkit-scrollbar-thumb:hover{background:#6a9d38b8}.library-filter{color:var(--color-text-muted);border-radius:999px;padding:7px 12px;font-weight:800}.library-filter.active{background:var(--color-primary-light);color:var(--color-primary-dark)}.workout-library-rail{scrollbar-gutter:stable;scrollbar-color:#6a9d387a #283e2c0f;scrollbar-width:thin;flex-direction:column;flex:1;gap:10px;min-height:0;padding:2px 12px 2px 0;display:flex;overflow-y:auto}.workout-library-rail::-webkit-scrollbar{width:8px}.workout-library-rail::-webkit-scrollbar-track{background:#283e2c0f;border-radius:999px}.workout-library-rail::-webkit-scrollbar-thumb{background:#6a9d387a;border:2px solid #f7faf1eb;border-radius:999px}.workout-library-rail::-webkit-scrollbar-thumb:hover{background:#6a9d38b8}.library-workout-card{cursor:grab;background:#fff;border:1px solid #283e2c1a;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:minmax(58px,72px) minmax(0,1fr);column-gap:10px;min-width:0;min-height:72px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;overflow:hidden;box-shadow:0 8px 20px #33422c0d}.library-workout-card:active{cursor:grabbing}.library-workout-card:hover,.library-workout-card:focus-within{border-color:#6a9d3857;transform:translateY(-1px);box-shadow:0 12px 28px #33422c1a}.library-workout-card.selected{border-color:var(--color-primary)}.library-add-new-card{border-radius:var(--radius-md,12px);width:100%;min-height:80px;color:var(--color-primary);cursor:pointer;letter-spacing:.02em;background:0 0;border:2px dashed #6a9d3859;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px 0;font-size:.8rem;font-weight:600;transition:border-color .18s,background .18s,transform .18s;display:flex}.library-add-new-card:hover{border-color:var(--color-primary);background:#6a9d3812;transform:translateY(-1px)}.library-add-new-card:active{transform:translateY(0)}.library-image-button{background:var(--color-primary-light);grid-row:1/span 2;width:100%;height:100%;min-height:72px;overflow:hidden}.library-image-button img{object-fit:cover;width:100%;height:100%}.library-card-copy{min-width:0;padding:10px 9px 0 0}.library-card-copy h3{color:#17211b;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;line-height:1.2;overflow:hidden}.library-card-copy p{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 8px;font-size:.68rem;line-height:1.35;display:-webkit-box;overflow:hidden}.library-card-copy div,.library-card-actions{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.74rem;display:flex}.library-card-copy span{align-items:center;gap:4px;display:inline-flex}.library-card-actions{justify-content:flex-end;padding:0 9px 10px 0}.library-card-actions button{background:var(--color-primary-light);width:30px;height:28px;color:var(--color-primary-dark);border-radius:8px;place-items:center;display:grid}.library-add-new-card{border:2px dashed var(--color-primary,#4ade80);width:100%;min-height:80px;color:var(--color-primary,#4ade80);cursor:pointer;background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-top:4px;font-size:13px;font-weight:500;transition:background .18s,opacity .18s;display:flex}.library-add-new-card:hover{opacity:.9;background:#4ade8014}.workout-details-panel{scrollbar-color:#6a9d387a #283e2c0f;scrollbar-width:thin;flex-direction:column;flex:1;gap:14px;min-height:0;padding-right:12px;display:flex;overflow-y:auto}.workout-details-panel::-webkit-scrollbar{width:8px}.workout-details-panel::-webkit-scrollbar-track{background:#283e2c0f;border-radius:999px}.workout-details-panel::-webkit-scrollbar-thumb{background:#6a9d387a;border:2px solid #f7faf1eb;border-radius:999px}.workout-details-panel::-webkit-scrollbar-thumb:hover{background:#6a9d38b8}.workout-details-panel.empty{color:var(--color-text-muted);text-align:center;justify-content:center}.workout-details-panel.empty button{background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:8px;align-self:center;padding:10px 14px;font-weight:800}.workout-details-image{background:var(--color-primary-light);border-radius:8px;height:150px;overflow:hidden}.workout-details-image img{object-fit:cover;width:100%;height:100%}.workout-details-copy h3{color:#17211b;margin:0 0 6px;font-size:1rem;line-height:1.2}.workout-details-copy p,.details-empty-text{color:var(--color-text-muted);margin:0;font-size:.84rem;line-height:1.45}.workout-details-stats{gap:8px;display:grid}.workout-details-stats span{color:var(--color-text-main);background:#ffffff9e;border:1px solid #283e2c1a;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.8rem;font-weight:750;display:inline-flex}.workout-details-actions{gap:8px;display:grid}.workout-details-actions button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;font-weight:850;display:inline-flex}.details-primary{color:#fff;background:linear-gradient(#75a844,#5d8f31)}.details-secondary{color:var(--color-primary-dark);background:#ffffffb8;border:1px solid #6a9d383d}.workout-details-exercises h4{color:#17211b;margin:0 0 10px;font-size:.92rem}.details-exercise-row{border-top:1px solid #283e2c17;grid-template-columns:26px minmax(0,1fr);gap:9px;padding:9px 0;display:grid}.details-exercise-row b{background:var(--color-primary-light);width:24px;height:24px;color:var(--color-primary-dark);border-radius:999px;place-items:center;font-size:.72rem;display:grid}.details-exercise-row span{gap:2px;min-width:0;display:grid}.details-exercise-row strong{color:#17211b;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.details-exercise-row small{color:var(--color-text-muted);font-size:.72rem}.insight-panel{padding:16px}.insight-title-row h3{align-items:center;gap:8px;display:inline-flex}.insight-muted{color:var(--color-text-muted);font-size:.84rem;font-weight:800}.coach-load-warning{border:1px solid #f59f0038;border-left:3px solid var(--color-secondary);color:#8a5a00;background:#f59f001a;border-radius:8px;align-items:flex-start;gap:8px;margin:12px 0;padding:10px 12px;font-size:.82rem;font-weight:800;line-height:1.35;display:flex}.coach-load-warning svg{flex:none;margin-top:1px}.coach-list{gap:12px;margin:14px 0;padding:0;list-style:none;display:grid}.coach-list li{color:var(--color-text-main);align-items:center;gap:9px;font-size:.84rem;font-weight:700;display:flex}.coach-json-card{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;display:grid}.coach-json-row{background:#ffffff9e;border:1px solid #283e2c1a;border-radius:8px;gap:3px;padding:10px;display:grid}.coach-json-row span{color:var(--color-text-muted);font-size:.72rem;font-weight:800}.coach-json-row strong{color:var(--color-primary-dark);font-size:1rem}.coach-recommendation-list{gap:8px;max-height:210px;margin:12px 0 14px;display:grid;overflow-y:auto}.coach-recommendation-item{border:1px solid #283e2c17;border-left:3px solid var(--color-primary);background:#ffffffad;border-radius:8px;gap:3px;padding:10px;display:grid}.coach-recommendation-item.rest{border-left-color:#c8ced1}.coach-recommendation-item span,.coach-recommendation-item small{color:var(--color-text-muted);font-size:.72rem;font-weight:750}.coach-recommendation-item strong{color:var(--color-text-main);font-size:.82rem;line-height:1.25}.coach-workout-lines{gap:4px;margin-top:3px;display:grid}.ai-panel button{color:#fff;background:linear-gradient(#75a844,#5d8f31);border-radius:8px;width:100%;padding:11px 14px;font-weight:850}.rhythm-bars{grid-template-columns:repeat(7,1fr);align-items:stretch;gap:8px;min-width:0;height:104px;margin-top:16px;display:grid;overflow:hidden}.rhythm-day{grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:6px;min-width:0;height:100%;display:grid}.rhythm-day span{background:#f5b62c;border-radius:5px;align-self:end;width:16px;min-height:18px;max-height:76px}.rhythm-day .high{background:#ff7b2e}.rhythm-day .medium{background:#f5b62c}.rhythm-day .light{background:#71ad48}.rhythm-day .rest{background:#c8ced1}.rhythm-day small,.rhythm-legend{color:var(--color-text-muted);font-size:.72rem;font-weight:700}.rhythm-day small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.rhythm-legend{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.load-zone-layout{grid-template-columns:84px minmax(0,1fr);align-items:center;gap:16px;margin-top:14px;display:grid}.zone-donut{background:radial-gradient(circle, #fff 0 44%, transparent 45%), conic-gradient(#ff7b2e 0 35%, #f5b62c 35% 65%, #71ad48 65% 88%, #c8ced1 88% 100%);border-radius:999px;width:82px;height:82px}.zone-list{color:var(--color-text-muted);gap:7px;font-size:.82rem;font-weight:700;display:grid}.zone-list b{color:var(--color-text-main)}.week-stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.week-stat-grid span{color:var(--color-text-muted);gap:4px;font-size:.72rem;font-weight:700;display:grid}.week-stat-grid b{color:var(--color-text-main);font-size:.95rem}@media (width<=1280px){.workout-command-layout{grid-template-columns:1fr;grid-template-areas:"calendar""library""insights"}.workout-library-side{height:auto;min-height:0;max-height:none}.workout-library-rail{grid-template-columns:repeat(3,minmax(190px,1fr));max-height:520px;display:grid;overflow-y:auto}.workout-insight-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.workout-list-page{padding:0 12px 22px}.workout-hero-panel{flex-direction:column;margin:0 -12px 14px;padding:26px 18px 20px}.workout-hero-stats{grid-template-columns:1fr}.week-plan-board{grid-template-columns:repeat(7,minmax(110px,1fr));overflow-x:auto}.workout-library-rail,.workout-insight-rail{grid-template-columns:1fr}.section-heading-row,.week-actions{flex-direction:column;align-items:flex-start}}.workout-dashboard-grid{flex:1;grid-template:"sidebar calendar"minmax(620px,1fr)"metabolism metabolism"minmax(320px,auto)/minmax(300px,27%) minmax(0,69%);align-items:stretch;gap:20px 4%;min-height:0;display:grid;overflow-y:auto}.grid-calendar{background:var(--color-surface);border:1px solid var(--color-border);min-height:0;box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;grid-area:calendar;padding:16px;display:flex;overflow:hidden}.grid-sidebar{background:var(--color-surface);border:1px solid var(--color-border);height:100%;min-height:420px;box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;grid-area:sidebar;padding:16px;display:flex;overflow:hidden}.grid-metabolism{grid-area:metabolism;width:100%;min-height:320px;overflow:visible}.glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);background:#ffffffb3}.active-session-overlay{background:var(--color-bg);z-index:50;position:absolute;inset:0;overflow:auto}.workout-player-screen{background:radial-gradient(circle at 50% 18%, #10b9811f, transparent 36%), var(--color-bg);flex-direction:column;gap:14px;min-height:100vh;padding:24px;display:flex}.player-header-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffc;border:1px solid #283e2c1a;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;padding:16px 18px;display:grid;box-shadow:0 18px 48px #33422c14}.player-header-main,.player-header-side,.player-progress-label{align-items:center;gap:16px;display:flex}.player-header-main{justify-content:space-between;min-width:0}.player-header-side{justify-content:flex-end}.player-kicker{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:800;display:block}.player-header-card h2{color:#0b332d;margin:0;font-size:20px;line-height:1.2}.player-exercise-count{background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:999px;flex:none;padding:8px 12px;font-weight:850}.player-sound-btn{width:42px;height:42px;color:var(--color-primary-dark);cursor:pointer;background:#ffffffb8;border:1px solid #6a9d3833;border-radius:12px;place-items:center;display:grid}.session-timer{color:var(--color-primary);align-items:center;gap:8px;font-size:24px;font-weight:850;display:flex}.player-workout-progress{grid-column:1/-1}.player-progress-label{color:var(--color-text-muted);justify-content:space-between;margin-bottom:8px;font-size:.78rem;font-weight:800}.player-progress-label strong{color:var(--color-primary-dark)}.player-progress-rail,.exercise-progress{background:var(--color-border);border-radius:999px;height:8px;overflow:hidden}.player-progress-rail div,.exercise-progress div{background:var(--color-primary);height:100%;transition:width .3s}.player-main{flex:1;grid-template-columns:minmax(320px,44%) minmax(280px,34%) minmax(220px,22%);align-items:stretch;gap:18px;min-height:0;display:grid}.movement-visual{border:1px solid var(--color-border);background:linear-gradient(180deg, var(--color-surface), var(--color-bg));min-height:420px;box-shadow:var(--shadow-sm);border-radius:22px;place-items:center;display:grid;position:relative;overflow:hidden}.movement-phase-image{object-fit:cover;width:100%;height:100%;min-height:420px}.movement-overlay{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc2;border:1px solid #ffffff73;border-radius:16px;gap:8px;padding:14px;display:grid;position:absolute;bottom:18px;left:18px;right:18px;box-shadow:0 16px 40px #0f2a221f}.movement-overlay span{background:var(--color-primary);color:#fff;border-radius:999px;width:fit-content;padding:5px 9px;font-size:.72rem;font-weight:850}.movement-overlay strong{color:#0b332d;font-size:1rem}.movement-overlay button{width:fit-content;color:var(--color-primary-dark);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-weight:800;display:inline-flex}.movement-ring{aspect-ratio:1;background:radial-gradient(circle,#10b98114,#0000 62%);border:2px solid #10b9813d;border-radius:50%;width:min(62vw,340px);animation:1.5s ease-in-out infinite playerPulse}.movement-body{transform-origin:bottom;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:110px;height:220px;transition:transform .35s;display:flex;position:absolute}.movement-body span{background:var(--color-primary);display:block}.movement-body span:first-child{border-radius:50%;width:56px;height:56px}.movement-body span:nth-child(2){border-radius:18px;width:34px;height:86px}.movement-body span:nth-child(3){border-radius:18px;width:90px;height:34px}.movement-visual.down .movement-body{transform:translateY(42px)scaleY(.86)}.movement-visual.up .movement-body{transform:translateY(-18px)scaleY(1.03)}.movement-visual.hold .movement-body{transform:translateY(16px)scaleY(.92)}.movement-visual.paused .movement-ring{animation-play-state:paused}.player-copy,.player-coach-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffc;border:1px solid #283e2c1a;border-radius:22px;min-width:0;box-shadow:0 18px 48px #33422c14}.player-copy{flex-direction:column;justify-content:center;padding:24px;display:flex}.exercise-position{color:var(--color-text-muted);font-size:14px;font-weight:800}.player-copy h1{color:#0b332d;letter-spacing:0;margin:10px 0 4px;font-size:clamp(34px,4vw,58px);line-height:1}.player-exercise-subtitle{color:var(--color-text-muted);margin:0 0 18px;font-size:.95rem;font-weight:700;line-height:1.35}.current-phase-card{color:var(--color-primary-dark);background:#6a9d3817;border-radius:14px;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px 14px;font-weight:850;display:flex}.current-phase-card span{color:var(--color-text-muted)}.phase-command-card{background:linear-gradient(135deg, var(--color-primary), #83b84a);color:#fff;border-radius:18px;gap:8px;margin-bottom:18px;padding:20px;display:grid;overflow:hidden;box-shadow:0 18px 36px #5f962f38}.phase-command-card span{letter-spacing:.08em;opacity:.82;text-transform:uppercase;font-size:.75rem;font-weight:850}.phase-command-card strong{text-transform:uppercase;overflow-wrap:anywhere;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:clamp(22px,2.45vw,38px);font-weight:900;line-height:1.02;display:-webkit-box;overflow:hidden}.phase-command-card em{opacity:.9;overflow-wrap:anywhere;font-size:clamp(.82rem,1.05vw,.95rem);font-style:normal;font-weight:800;line-height:1.25}.rep-counter{color:var(--color-text-main);justify-content:space-between;gap:12px;margin-bottom:12px;font-size:22px;font-weight:800;display:flex}.rep-counter small{color:var(--color-primary-dark);text-transform:uppercase;align-self:center;font-size:.74rem;font-weight:850}.phase-timeline{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.phase-timeline span{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:750}.phase-timeline span.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.player-inline-controls{align-items:center;gap:8px;margin-top:16px;display:flex}.player-inline-controls button{min-height:42px;color:var(--color-primary-dark);cursor:pointer;background:#ffffffc7;border:1px solid #6a9d3838;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:7px;font-weight:850;display:inline-flex}.player-inline-controls .primary{background:var(--color-primary);color:#fff}.player-coach-panel{flex-direction:column;gap:10px;padding:18px;display:flex}.player-coach-panel h3{color:#0b332d;margin:0 0 4px;font-size:1.05rem}.coach-tip-card,.hotkey-card{background:#ffffffad;border:1px solid #283e2c14;border-radius:14px;gap:6px;padding:12px;display:grid}.coach-tip-card.warning{background:#fff4e2c7}.coach-tip-card.next{background:#e5f1d8b8}.coach-tip-card span,.hotkey-card span{color:var(--color-text-muted);text-transform:uppercase;font-size:.72rem;font-weight:850}.coach-tip-card strong{color:#17211b;font-size:.92rem;line-height:1.28}.hotkey-card{margin-top:auto}.hotkey-card p{color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.35}.playlist-title{color:#17211b;font-size:.9rem;font-weight:850}.up-next-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.up-next-item{border:1px solid var(--color-border);background:var(--color-surface);min-height:46px;color:var(--color-text-muted);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex;position:relative;overflow:hidden}.up-next-item span{background:var(--color-bg);border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:850;display:grid}.up-next-item strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.up-next-item.active{border-color:var(--color-primary);color:var(--color-text-main);background:var(--color-primary-light);box-shadow:inset 0 0 0 1px #6a9d3833}.up-next-item small{background:var(--color-primary);height:3px;position:absolute;bottom:0;left:0}.up-next-item.done{opacity:.62}.session-actions{flex-wrap:wrap;gap:12px;display:flex}.session-actions button{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-weight:750;display:flex}.add-workout-btn{background:var(--color-border);color:var(--color-text-main)}.remove-workout-btn{color:#ef4444;background:#ef44441a}.finish-workout-btn{background:var(--color-primary);color:#fff}.player-actions{justify-content:center;padding-bottom:4px}@keyframes playerPulse{0%,to{opacity:.65;transform:scale(.96)}50%{opacity:1;transform:scale(1.03)}}@media (width<=1320px){.workout-list-page{overflow-y:auto}.workout-dashboard-grid{grid-template:"calendar""sidebar""metabolism"/1fr;gap:20px;overflow:visible}.grid-calendar{min-height:620px}.grid-sidebar{height:auto;min-height:0;max-height:none;overflow:visible}}@media (width<=1024px){.workout-player-screen{min-height:100vh;padding:20px}.player-main{grid-template-columns:1fr;gap:20px}.movement-visual,.movement-phase-image{min-height:300px}}@media (width<=768px){.workout-list-page{padding:16px}.player-topbar{flex-direction:column;align-items:flex-start}.phase-command{width:100%;min-width:0}.session-actions button{flex:140px;padding:11px 14px}.page-header{flex-direction:column;align-items:flex-start}.header-actions,.save-config-btn{width:100%}.save-status{white-space:normal;top:12px;left:12px;right:12px}}.audio-mode-selector{box-sizing:border-box;background:#6a9d3814;border:1px solid #6a9d3829;border-radius:12px;gap:2px;width:100%;padding:3px;display:flex}.audio-mode-selector button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 6px;font-size:.76rem;font-weight:800;transition:all .2s;display:inline-flex}.audio-mode-selector button:hover{color:var(--color-primary-dark);background:#6a9d380f}.audio-mode-selector button.active{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px #6a9d3840}.player-sound-btn.mode-speech{border-color:var(--color-primary);color:var(--color-primary-dark);background:#6a9d381f}.player-sound-btn.mode-beeps{color:#c98a00;background:#f5b62c1f;border-color:#f5b62c}.player-sound-btn.mode-silent{color:var(--color-text-muted);background:#c6ced133;border-color:#c8ced1}.week-remove-overlay{z-index:1200;background:#0f17148c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.week-remove-dialog{background:var(--color-surface,#fff);border-radius:16px;width:min(420px,100%);padding:24px;box-shadow:0 24px 60px #0f171447}.week-remove-dialog h4{margin:0 0 10px;font-size:1.1rem}.week-remove-dialog p{color:var(--color-text-secondary,#4b5563);margin:0 0 20px;font-size:.95rem;line-height:1.5}.week-remove-actions{justify-content:flex-end;gap:10px;display:flex}.week-remove-actions button{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:9px 16px;font-weight:600}.week-remove-cancel{border-color:var(--color-border,#d8d5cc);color:var(--color-text-primary,#1f2937);background:0 0}.week-remove-confirm{color:#fff;background:#b91c1c}.week-remove-confirm:hover{background:#991b1b}.builder-page{height:100%;padding:40px;overflow-y:auto}.builder-layout{align-items:flex-start;gap:24px;display:flex}.builder-form{border-radius:var(--radius-lg);border:1px solid var(--color-border);flex:1;padding:32px}.builder-meta{gap:16px;margin-bottom:32px;display:flex}.builder-meta .form-group{flex:1}.builder-meta .form-group label{font-family:var(--font-heading);margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.builder-meta .form-group input,.builder-meta .form-group select{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);background:var(--color-surface);padding:10px 14px;font-size:.95rem}.builder-meta .form-group input:focus,.builder-meta .form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.exercises-section{margin-bottom:24px}.exercises-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.exercises-header h3{font-size:1.1rem}.add-exercise-btn{border-radius:var(--radius-full);border:1px dashed var(--color-primary);color:var(--color-primary);font-family:var(--font-heading);align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.add-exercise-btn:hover{background:var(--color-primary-light)}.exercise-list-builder{flex-direction:column;gap:10px;display:flex}.exercise-row{background:var(--color-bg);border-radius:var(--radius-md);border:1px solid #0000;flex-direction:column;gap:14px;padding:12px 16px;transition:border-color .2s;display:flex}.exercise-row:hover{border-color:var(--color-primary-light)}.exercise-row-main{align-items:center;gap:12px;width:100%;display:flex}.drag-handle{color:var(--color-border);cursor:grab}.exercise-number{font-family:var(--font-heading);color:var(--color-text-muted);min-width:20px;font-weight:700}.exercise-name-input{font-family:var(--font-body);background:0 0;border:none;border-bottom:1px solid #0000;outline:none;flex:1;padding:4px 0;font-size:.95rem}.exercise-name-input:focus{border-bottom-color:var(--color-primary)}.exercise-params{gap:8px;display:flex}.param{flex-direction:column;gap:2px;display:flex}.param label{text-transform:uppercase;color:var(--color-text-muted);font-size:.65rem;font-weight:600}.param input{border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:center;width:56px;padding:4px 8px;font-size:.85rem}.param input:focus{border-color:var(--color-primary);outline:none}.remove-exercise-btn{color:#ef4444;border-radius:var(--radius-sm);padding:6px;transition:background .2s}.remove-exercise-btn:hover{background:#fee2e2}.save-workout-btn{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-family:var(--font-heading);align-items:center;gap:8px;padding:12px 28px;font-size:1rem;font-weight:600;transition:background .2s;display:flex}.save-workout-btn:hover{background:var(--color-primary-dark)}.save-workout-btn:disabled{opacity:.7;cursor:not-allowed}.upload-status,.save-status{border-radius:var(--radius-md);background:var(--color-primary-light);color:var(--color-primary-dark);margin:-12px 0 24px;padding:10px 14px;font-size:.9rem;font-weight:600}.save-status{margin:0 0 14px}.image-crop-uploader{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;margin:0 0 18px;padding:14px}.image-crop-uploader.compact{margin:0;padding:10px}.image-uploader-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.image-uploader-head span,.image-uploader-head button{font-family:var(--font-heading);align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:inline-flex}.image-uploader-head button{border-radius:var(--radius-full);border:1px solid var(--color-primary);color:var(--color-primary);padding:7px 11px}.attached-image{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);overflow:hidden}.attached-image img{object-fit:cover;width:100%;max-height:180px;display:block}.crop-panel{gap:12px;display:grid}.crop-preview{border-radius:var(--radius-md);border:1px solid var(--color-border);background:#111827;position:relative;overflow:hidden}.crop-preview img{object-fit:cover;transform-origin:50%;width:100%;height:100%;position:absolute;top:50%;left:50%}.crop-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.crop-controls label{color:var(--color-text-muted);text-transform:uppercase;gap:5px;font-size:.75rem;font-weight:700;display:grid}.crop-controls select,.crop-controls input[type=range]{width:100%}.crop-actions{justify-content:flex-end;gap:10px;display:flex}.crop-actions button{border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-main);border:1px solid var(--color-border);align-items:center;gap:6px;padding:8px 12px;font-weight:600;display:inline-flex}.crop-actions button:last-child{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.phase-editor{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);width:100%;padding:12px}.phase-editor-header{color:var(--color-text-muted);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.85rem;font-weight:700;display:flex}.phase-editor-header button{color:var(--color-primary);align-items:center;gap:5px;font-weight:700;display:inline-flex}.phase-row{border-top:1px solid var(--color-border);grid-template-columns:auto minmax(160px,1fr) minmax(180px,260px) auto;align-items:start;gap:10px;padding:10px 0;display:grid}.phase-index{border-radius:var(--radius-sm);background:var(--color-primary-light);width:26px;height:26px;color:var(--color-primary);justify-content:center;align-items:center;font-weight:800;display:inline-flex}.phase-row>input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:100%;padding:8px 10px}.remove-phase-btn{color:#ef4444;padding:6px}.builder-preview{border-radius:var(--radius-lg);border:1px solid var(--color-border);width:320px;padding:24px;position:sticky;top:40px}.builder-preview h3{color:var(--color-text-muted);margin-bottom:16px;font-size:1rem}.preview-cover{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border);width:100%;margin-bottom:14px;display:block}.preview-title{font-family:var(--font-heading);margin-bottom:12px;font-size:1.2rem;font-weight:700}.preview-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:10px;margin-bottom:16px;font-size:.8rem;display:flex}.preview-meta span{align-items:center;gap:4px;display:flex}.preview-category{background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:var(--radius-full);text-transform:uppercase;padding:2px 10px;font-size:.7rem;font-weight:600}.preview-exercises{flex-direction:column;gap:8px;list-style:none;display:flex}.preview-exercises li{color:var(--color-text-main);border-bottom:1px solid var(--color-border);align-items:center;gap:8px;padding:6px 0;font-size:.9rem;display:flex}.preview-exercises img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border);width:42px;height:42px}@media (width<=1100px){.builder-layout{flex-direction:column}.builder-preview{width:100%;position:static}}@media (width<=760px){.builder-page{padding:22px 16px 96px}.builder-meta,.exercise-row-main,.exercise-params,.crop-actions{flex-direction:column;align-items:stretch}.exercise-params,.param input{width:100%}.crop-controls,.phase-row{grid-template-columns:1fr}}.calendar-page{height:100%;padding:40px;overflow-y:auto}.calendar-stats{flex-wrap:wrap;gap:14px;margin-bottom:28px;display:flex}.stat-card{border-radius:var(--radius-lg);border:1px solid var(--color-border);flex:1;align-items:center;gap:14px;min-width:120px;padding:18px 20px;display:flex}.stat-icon{border-radius:var(--radius-md);flex-shrink:0;padding:10px}.stat-icon.green{color:#10b981;background:#d1fae5}.stat-icon.orange{color:#f59e0b;background:#fef3c7}.stat-icon.blue{color:#3b82f6;background:#dbeafe}.stat-icon.purple{color:#8b5cf6;background:#ede9fe}.stat-value{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;display:block}.stat-label{color:var(--color-text-muted);white-space:nowrap;font-size:.78rem}.calendar-container{border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:28px;position:relative}.calendar-nav{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.calendar-loading{text-align:center;color:var(--color-text-muted);padding:8px 0;font-size:.85rem}.calendar-nav button{border-radius:var(--radius-sm);color:var(--color-text-muted);padding:8px;transition:all .2s}.calendar-nav button:hover{background:var(--color-bg);color:var(--color-primary)}.calendar-nav h3{font-size:1.2rem}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal-header{text-align:center;font-family:var(--font-heading);color:var(--color-text-muted);text-transform:uppercase;padding:8px 4px;font-size:.72rem;font-weight:600}.cal-empty{padding:12px}.cal-day{text-align:center;border-radius:var(--radius-sm);cursor:default;border:1px solid #0000;flex-direction:column;align-items:center;gap:5px;min-height:64px;padding:10px 6px;transition:background .15s,box-shadow .15s,border-color .15s,transform .15s;display:flex;position:relative}.cal-day.has-data{cursor:pointer}.cal-day.has-data:hover{background:var(--color-surface-hover);border-color:#6a9d3852;transform:translateY(-1px);box-shadow:0 10px 22px #33422c14}.cal-day.active{background:var(--color-primary-light);box-shadow:0 0 0 2px var(--color-primary)}.cal-day.today{background:0 0;font-weight:700}.cal-day.today .day-number{min-width:26px;min-height:26px;color:var(--color-primary-dark);background:#e9f4df75;border:1px solid #6a9d386b;border-radius:999px;place-items:center;display:inline-grid}.cal-day.today.active .day-number,.cal-day.today:hover .day-number{background:var(--color-primary);color:#fff}.cal-day.planned{opacity:.85}.day-number{color:var(--color-text-main);font-size:.875rem}.day-indicators{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.dot.workout{background:var(--color-primary)}.dot.diet{background:#f59e0b}.dot.planned-dot{background:#3b82f6}.dot.rest-dot{background:#d1d5db}.day-check{color:#10b981;margin-top:1px}.calendar-legend{border-top:1px solid var(--color-border);color:var(--color-text-muted);flex-wrap:wrap;gap:18px;margin-top:20px;padding-top:16px;font-size:.82rem;display:flex}.calendar-legend span{align-items:center;gap:6px;display:flex}.day-tooltip{z-index:200;background:var(--color-surface,#fff);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:260px;padding:14px 16px;font-size:.82rem;animation:.15s tooltip-in;position:absolute;box-shadow:0 8px 32px #00000021,0 2px 8px #00000012}@keyframes tooltip-in{0%{opacity:0;transform:translateX(var(--tx,-50%)) translateY(-4px)}to{opacity:1;transform:translateX(var(--tx,-50%)) translateY(0)}}.tooltip-date{font-family:var(--font-heading);color:var(--color-text-main);border-bottom:1px solid var(--color-border);margin-bottom:10px;padding-bottom:8px;font-size:.88rem;font-weight:700}.tooltip-section{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.tooltip-section:last-child{margin-bottom:0}.tooltip-section-header{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:5px;font-size:.78rem;font-weight:600;display:flex}.tooltip-section-header span{flex:1}.tooltip-status-badge{text-transform:none;letter-spacing:0;font-size:.72rem;font-weight:600}.tooltip-calories-actual{color:#10b981;font-size:.75rem;font-weight:600}.tooltip-training-title{color:var(--color-text-main);margin-top:2px;font-size:.88rem;font-weight:600}.tooltip-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tooltip-meta{color:var(--color-text-muted);align-items:center;gap:3px;font-size:.78rem;display:flex}.tooltip-load-badge{border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:600}.tooltip-nutrition-target{color:var(--color-text-main);font-size:.8rem}.tooltip-nutrition-focus{color:var(--color-text-muted);margin-top:1px;font-size:.78rem;font-style:italic}.tooltip-recovery{color:var(--color-text-muted);border-top:1px solid var(--color-border);align-items:flex-start;padding-top:8px;font-size:.78rem;flex-direction:row!important;gap:6px!important}.tooltip-rest-label{color:var(--color-text-muted);font-size:.82rem;font-style:italic}.tooltip-planned-note{color:#3b82f6;border-top:1px solid var(--color-border);align-items:flex-start;gap:5px;margin-top:8px;padding-top:8px;font-size:.74rem;display:flex}@media (width<=640px){.calendar-page{padding:20px}.calendar-stats{gap:10px}.stat-card{gap:10px;padding:14px}.stat-value{font-size:1.2rem}.cal-day{min-height:48px;padding:8px 4px}.day-tooltip{width:220px;font-size:.78rem}}.nutrition-page{height:100%;color:var(--color-text-main);background:0 0;flex-direction:column;display:flex;overflow:hidden}.page-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-header h2{margin:0;font-size:24px;font-weight:600}.header-actions{align-items:center;gap:12px;display:flex}.save-plan-btn{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-weight:600;transition:opacity .2s;display:flex}.enter-meal-btn{background-color:var(--color-surface);color:var(--color-text-main);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-weight:600;transition:border-color .2s,background-color .2s;display:flex}.enter-meal-btn:hover{border-color:var(--color-primary);background-color:rgba(var(--color-primary-rgb), .06)}.save-plan-btn:hover{opacity:.9}.meal-input-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a7a;justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex;position:fixed;inset:0;overflow:hidden}.meal-input-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;flex-direction:column;width:min(560px,100%);max-height:calc(100dvh - 40px);padding:20px;display:flex;overflow:hidden;box-shadow:0 24px 80px #0f172a47}.meal-input-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.meal-input-header h3{margin:0;font-size:20px}.meal-input-header p{color:var(--color-text-secondary);margin:4px 0 0;font-size:13px}.dialog-close-btn{border:1px solid var(--color-border);background:var(--color-bg);width:36px;height:36px;color:var(--color-text-main);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.meal-input-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.meal-input-tabs button{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-main);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.meal-input-tabs button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.meal-input-form{flex-direction:column;gap:14px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.meal-description-field{flex-direction:column;gap:8px;display:flex}.meal-description-field span{color:var(--color-text-secondary);font-size:13px;font-weight:600}.meal-description-field textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-bg);width:100%;min-height:150px;color:var(--color-text-main);font:inherit;border-radius:14px;padding:12px;line-height:1.45}.meal-photo-block{flex-direction:column;gap:10px;display:flex}.meal-photo-field{cursor:pointer}.meal-photo-note-field{flex-direction:column;gap:6px;display:flex}.meal-photo-note-field span{color:var(--color-text-secondary);font-size:13px;font-weight:600}.meal-photo-note-field textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-bg);width:100%;min-height:56px;color:var(--color-text-main);font:inherit;border-radius:14px;padding:10px 12px;line-height:1.45}.meal-photo-hint,.meal-photo-error,.meal-photo-free{margin:0;font-size:.82rem;line-height:1.45}.meal-photo-hint{color:var(--color-text-secondary)}.meal-photo-error{color:#b91c1c;font-weight:700}.meal-photo-free{color:var(--color-text-secondary);background:#22c55e1f;border-radius:12px;padding:10px 12px}.meal-photo-field input{display:none}.meal-photo-field img,.meal-photo-placeholder{border:2px dashed var(--color-border);background:var(--color-bg);border-radius:16px;width:100%;min-height:220px}.meal-photo-field img{object-fit:cover;border-style:solid;height:260px;display:block}.meal-photo-placeholder{color:var(--color-text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.meal-photo-placeholder span{color:var(--color-text-main);font-weight:700}.meal-photo-placeholder small{max-width:320px;line-height:1.35}.meal-input-note,.meal-draft-status{border-radius:12px;padding:12px;font-size:13px;line-height:1.45}.meal-time-field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.meal-time-field>span{font-size:.9rem;font-weight:600}.meal-time-field input[type=time]{background:#ffffffb3;border:1px solid #0000001f;border-radius:10px;width:140px;padding:10px 12px;font-size:1rem}.meal-time-field small{opacity:.7;font-size:.78rem;line-height:1.35}.meal-entry-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.meal-entry{align-items:baseline;gap:8px;font-size:.85rem;display:flex}.meal-entry-time{font-variant-numeric:tabular-nums;opacity:.65;flex:none}.meal-entry-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.meal-entry-kcal{font-variant-numeric:tabular-nums;opacity:.75;flex:none}.entry-count-badge{background:#5a8c4629;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:.7rem}.meal-input-note{background:rgba(var(--color-primary-rgb), .06);color:var(--color-text-secondary)}.meal-draft-status{color:#16a34a;background:#22c55e1f}.meal-draft-status.warning{color:#a16207;background:#eab30824}.meal-input-actions{z-index:1;background:var(--color-surface);justify-content:flex-end;gap:10px;margin:0 -4px -4px;padding:10px 4px 4px;display:flex;position:sticky;bottom:0}.btn-primary,.btn-secondary{cursor:pointer;border-radius:10px;padding:10px 14px;font-weight:700}.btn-primary{background:var(--color-primary);color:#fff;border:none}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-main)}.error-message{color:#ef4444;background-color:#ef44441a;border-radius:12px;margin-bottom:16px;padding:16px}.loading-container{flex:1;justify-content:center;align-items:center;display:flex}.loading-spinner{border:3px solid rgba(var(--color-primary-rgb), .3);border-top-color:var(--color-primary);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.nutrition-dashboard-grid{flex:1;grid-template:"calendar sidebar"minmax(560px,1.5fr)"metabolism sidebar"minmax(300px,.9fr)/1fr 340px;gap:20px;min-height:0;display:grid;overflow-y:auto}.glass-panel{-webkit-backdrop-filter:blur(16px);background:#ffffffc7;border:1px solid #283e2c1a;border-radius:16px;flex-direction:column;padding:16px;display:flex;overflow:hidden;box-shadow:0 8px 32px #33422c14}.grid-calendar{grid-area:calendar}.grid-sidebar{grid-area:sidebar}.grid-metabolism{grid-area:metabolism}.nutrition-calendar{flex-direction:column;height:100%;display:flex}.calendar-header{margin-bottom:16px}.calendar-header h3{margin-bottom:12px;font-size:18px;font-weight:600}.days-row{gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.day-btn{border:1px solid var(--color-border);background:var(--color-surface);min-width:48px;color:var(--color-text-main);cursor:pointer;border-radius:12px;flex:1;padding:8px 12px;font-size:14px;font-weight:500;transition:all .2s}.day-btn:hover{border-color:rgba(var(--color-primary-rgb), .5);background:var(--color-surface-hover);color:var(--color-primary-dark);transform:translateY(-1px)}.day-btn.active{background:var(--color-primary-light);color:var(--color-primary-dark);border-color:rgba(var(--color-primary-rgb), .45);box-shadow:inset 0 0 0 1px rgba(var(--color-primary-rgb), .16)}.day-btn{flex-direction:column;align-items:center;gap:2px;display:flex}.day-btn .day-date{color:var(--color-text-muted);font-size:11px;font-weight:600}.day-btn.is-today{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb), .35)}.day-btn.is-today .day-date{color:var(--color-primary-dark)}.nutrition-calendar-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.toolbar-actions{align-items:center;gap:8px;display:flex}.shopping-list-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;transition:opacity .15s;display:flex}.shopping-list-btn:hover{opacity:.88}.shopping-list-badge{background:#ffffff47;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.4}.meal-slots{flex-direction:column;flex:1;gap:12px;padding-right:8px;display:flex;overflow-y:auto}.meal-card{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:12px;padding:12px;transition:all .2s}.meal-card:hover{border-color:rgba(var(--color-primary-rgb), .5);background:var(--color-surface-hover);transform:translateY(-1px)}.meal-card.selected{box-shadow:0 0 0 2px var(--color-primary);border-color:#0000}.meal-card.draft{background-color:rgba(var(--color-bg-rgb), .5);border-style:dashed}.meal-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.meal-card-title{align-items:center;gap:8px;display:flex}.meal-icon{background-color:rgba(var(--color-primary-rgb), .1);color:var(--color-primary);border-radius:8px;justify-content:center;align-items:center;padding:8px;display:flex}.meal-icon.verified{color:#22c55e;background-color:#22c55e33}.meal-title-text{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meal-name{font-size:14px;font-weight:600}.draft-badge{color:var(--color-primary);background-color:rgba(var(--color-primary-rgb), .1);border-radius:4px;padding:2px 6px;font-size:12px}.meal-calories{color:var(--color-text-secondary);font-size:12px;font-weight:500}.meal-card-body{color:var(--color-text-secondary);margin-top:8px;font-size:14px}.meal-log-info{align-items:center;gap:12px;display:flex}.meal-photo-thumb{object-fit:cover;border-radius:6px;width:40px;height:40px}.meal-foods{white-space:nowrap;text-overflow:ellipsis;max-width:250px;overflow:hidden}.meal-macros{opacity:.7;margin-top:4px;font-size:12px}.meal-card-empty{color:var(--color-text-secondary);opacity:.5;margin-top:8px;font-size:14px;font-style:italic}.nutrition-ai-coach{flex-direction:column;height:100%;display:flex}.nutrition-ai-coach.empty-state{text-align:center;justify-content:center;align-items:center}.empty-icon{background-color:rgba(var(--color-primary-rgb), .1);width:64px;height:64px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.coach-header{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;display:flex}.coach-icon{background-color:rgba(var(--color-primary-rgb), .1);color:var(--color-primary);border-radius:8px;padding:8px;display:flex}.coach-title h3{margin:0;font-size:16px;font-weight:600}.coach-title p{color:var(--color-text-secondary);margin:0;font-size:12px}.coach-body{flex-direction:column;flex:1;gap:24px;display:flex;overflow-y:auto}.section-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px;font-weight:600}.ai-rationale{background-color:rgba(var(--color-primary-rgb), .05);color:var(--color-primary);border-radius:12px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px;font-size:14px;display:flex}.food-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.food-item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;justify-content:space-between;align-items:center;padding:8px;font-size:14px;display:flex}.food-amount{font-weight:500}.food-amount.highlight{color:var(--color-primary);font-family:monospace}.food-item.empty{color:var(--color-text-secondary);justify-content:flex-start;font-style:italic}.upload-photo-btn{border:2px dashed var(--color-border);cursor:pointer;width:100%;color:var(--color-text-secondary);background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;transition:all .2s;display:flex}.upload-photo-btn:hover:not(:disabled){border-color:var(--color-primary);background-color:rgba(var(--color-primary-rgb), .05)}.upload-photo-btn:disabled{opacity:.5;cursor:not-allowed}.upload-icon{color:var(--color-primary)}.upload-text{font-size:14px;font-weight:500}.upload-subtext{opacity:.7;font-size:12px}.ai-verification-card{border:1px solid rgba(var(--color-primary-rgb), .3);background-color:rgba(var(--color-primary-rgb), .05);border-radius:12px;padding:16px;animation:.3s fadeIn}.verification-photo{object-fit:cover;border-radius:8px;width:100%;height:128px;margin-bottom:16px}.verification-question{color:var(--color-text-main);margin-bottom:16px;font-size:14px;font-weight:500}.verification-foods{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.verification-actions{gap:8px;display:flex}.btn-confirm{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:8px;font-size:14px;font-weight:500;display:flex}.btn-edit{background-color:var(--color-surface);color:var(--color-text-main);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:8px;font-size:14px;font-weight:500;display:flex}.verified-badge{color:#22c55e;background-color:#22c55e1a;border-radius:12px;align-items:center;gap:8px;margin-bottom:16px;padding:12px;font-size:14px;font-weight:500;display:flex}.logged-photo{object-fit:cover;border:1px solid var(--color-border);border-radius:12px;width:100%;height:160px;margin-bottom:16px}.nutrition-metabolism{flex-direction:column;height:100%;display:flex}.dashboard-title{margin-bottom:16px;font-size:18px;font-weight:600}.metabolism-grid{flex:1;grid-template-columns:1fr;gap:24px;padding-right:8px;display:grid;overflow-y:auto}@media (width>=768px){.metabolism-grid{grid-template-columns:1fr 1fr}}.macros-section{flex-direction:column;justify-content:center;gap:16px;display:flex}.macro-bar-container{flex-direction:column;display:flex}.macro-bar-header{justify-content:space-between;align-items:flex-end;margin-bottom:4px;font-size:14px;display:flex}.macro-label{color:var(--color-text-main);align-items:center;gap:6px;font-weight:500;display:flex}.macro-icon-wrapper{color:var(--color-text-secondary);display:flex}.macro-values{font-size:12px}.macro-actual{color:var(--color-text-main);font-weight:700}.macro-target{color:var(--color-text-secondary)}.macro-progress-bg{background-color:var(--color-border);border-radius:9999px;height:10px;overflow:hidden}.macro-progress-fill{height:100%;transition:width .5s}.bg-orange{background-color:#f97316}.bg-blue{background-color:#3b82f6}.bg-green{background-color:#22c55e}.bg-yellow{background-color:#eab308}.conflict-file-section{background-color:rgba(var(--color-primary-rgb), .05);border:1px solid rgba(var(--color-primary-rgb), .2);border-radius:12px;flex-direction:column;padding:16px;display:flex}.conflict-file-header{color:var(--color-primary);align-items:center;gap:8px;margin-bottom:12px;display:flex}.conflict-file-header h4{margin:0;font-size:14px;font-weight:600}.conflict-file-body{color:var(--color-text-main);flex:1;font-size:14px;overflow-y:auto}.conflict-file-meta{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.conflict-file-meta span{border:1px solid rgba(var(--color-primary-rgb), .18);color:var(--color-text-muted);border-radius:999px;padding:6px 8px;font-size:12px;line-height:1}.conflict-file-list{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.conflict-file-list li{border-left:3px solid rgba(var(--color-primary-rgb), .45);background:#ffffff0d;border-radius:8px;padding:8px 10px}.conflict-file-list li.severity-warning{border-left-color:#eab308}.conflict-file-list li.severity-high{border-left-color:#ef4444}.conflict-file-recommendations{gap:8px;margin-top:12px;display:grid}.conflict-file-recommendations p{margin:0}.status-no-data{opacity:.7}@media (width<=1024px){.nutrition-page{overflow-y:auto}.nutrition-dashboard-grid{grid-template:"calendar""metabolism""sidebar"/1fr;overflow:visible}.grid-calendar,.grid-sidebar{min-height:520px}}@media (width<=768px){.nutrition-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%}.save-plan-btn,.enter-meal-btn{justify-content:center;width:100%}.meal-input-overlay{align-items:flex-end;padding:8px 0}.meal-input-dialog{border-radius:20px;width:100%;max-height:calc(100dvh - 16px);padding:16px}.meal-input-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.nutrition-planner-layout{flex:1;grid-template-columns:1fr 380px;gap:20px;min-height:0;display:grid;overflow:hidden}.planner-main{flex-direction:column;gap:20px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.planner-main>.glass-panel{flex:none;overflow:visible}.planner-result{flex-shrink:0}.planner-main .grid-calendar{min-height:540px}.planner-main .grid-metabolism{min-height:300px}.planner-chat{min-height:0}.planner-chat-head{color:var(--color-text-main);flex-shrink:0;align-items:center;gap:8px;margin-bottom:12px;font-weight:700;display:flex}.planner-chat-head svg{color:var(--color-primary)}.planner-messages{flex-direction:column;flex:1;gap:10px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.planner-hint{color:var(--color-text-muted);margin:0;font-size:.85rem}.planner-bubble{border-radius:14px;max-width:90%;padding:10px 14px;font-size:.86rem;line-height:1.4}.planner-bubble.user{background:var(--color-primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.planner-bubble.assistant{background:var(--color-bg);color:var(--color-text-main);border-bottom-left-radius:4px;align-self:flex-start}.planner-bubble.typing{color:var(--color-text-muted);font-style:italic}.planner-composer{flex-shrink:0;gap:8px;margin-top:12px;display:grid}.planner-composer-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.planner-composer-message{grid-template-columns:minmax(0,1fr) 42px;align-items:end;gap:8px;display:grid}.planner-region-field,.planner-budget-field{flex-direction:column;gap:4px;min-width:0;display:flex}.planner-region-field span,.planner-budget-field span{color:var(--color-text-muted);font-size:.68rem;font-weight:760}.planner-region-field input,.planner-budget-field input{border:1px solid var(--color-border);width:100%;height:42px;font:inherit;background:var(--color-surface);color:var(--color-text-main);border-radius:12px;padding:0 10px;font-size:.86rem}.planner-region-field input:focus,.planner-budget-field input:focus{border-color:var(--color-primary);outline:none}.planner-composer textarea{resize:none;border:1px solid var(--color-border);width:100%;min-height:72px;font:inherit;background:var(--color-surface);color:var(--color-text-main);border-radius:12px;padding:10px 12px;font-size:.86rem}.planner-composer textarea:focus{border-color:var(--color-primary);outline:none}.planner-send-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.planner-send-btn:disabled{opacity:.5;cursor:not-allowed}.planner-empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;display:flex}.planner-empty svg{color:var(--color-primary)}.planner-empty h3{margin:0;font-size:1.1rem}.planner-empty p{max-width:460px;color:var(--color-text-muted);margin:0;font-size:.88rem}.planner-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;display:flex}.planner-chips button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-main);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:.8rem;transition:border-color .15s,background-color .15s}.planner-chips button:hover{border-color:var(--color-primary);background:var(--color-primary-light)}@media (width<=1024px){.nutrition-planner-layout{flex-direction:column;flex:none;grid-template-columns:1fr;min-height:auto;display:flex;overflow:visible}.planner-main{flex:none;padding-right:0;overflow:visible}.planner-main>.glass-panel{overflow:hidden}.planner-chat{min-height:0;max-height:none}.planner-messages{flex:0 auto;max-height:min(42dvh,360px)}.planner-composer-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.shopping-overlay{z-index:1100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8a;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=600px){.shopping-overlay{align-items:center}}.shopping-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px 20px 0 0;flex-direction:column;width:min(520px,100%);max-height:92vh;animation:.22s slide-up;display:flex;overflow:hidden;box-shadow:0 -8px 40px #0f172a38}@media (width>=600px){.shopping-panel{border-radius:20px;box-shadow:0 24px 80px #0f172a47}}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.shopping-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:18px 18px 14px;display:flex}.shopping-header-left{color:var(--color-primary);align-items:center;gap:12px;display:flex}.shopping-header-left h3{color:var(--color-text-main);margin:0;font-size:18px}.shopping-header-left p{color:var(--color-text-muted);margin:2px 0 0;font-size:12px}.shopping-header-right{align-items:center;gap:8px;display:flex}.shopping-clear-btn{color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600}.shopping-clear-btn:hover{color:var(--color-text-main)}.shopping-copy-btn{color:var(--color-primary);background:rgba(var(--color-primary-rgb), .08);border:1px solid rgba(var(--color-primary-rgb), .3);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;transition:background .15s;display:inline-flex}.shopping-copy-btn:hover{background:rgba(var(--color-primary-rgb), .16)}.shopping-total-bar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:10px 18px;font-size:14px;font-weight:600;display:flex}.shopping-total-bar.ok{color:#16a34a;background:#22c55e14}.shopping-total-bar.over{color:#dc2626;background:#ef444414}.shopping-budget-label{color:var(--color-text-muted);font-size:12px;font-weight:400}.shopping-remaining{color:var(--color-text-secondary);margin-left:auto;font-size:12px;font-weight:500}.shopping-body{flex-direction:column;flex:1;gap:18px;padding:12px 18px 20px;display:flex;overflow-y:auto}.shopping-category-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:6px;font-size:11px;font-weight:700}.shopping-item{border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:10px;padding:12px 10px;transition:background .12s;display:flex}.shopping-item:hover{background:var(--color-surface)}.shopping-item.done{opacity:.5;text-decoration:line-through}.shopping-checkbox{border:2px solid var(--color-border);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:background .12s,border-color .12s;display:flex}.shopping-checkbox.checked{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.shopping-item-name{color:var(--color-text-main);flex:1;font-size:15px;font-weight:500}.shopping-item-qty{color:var(--color-text-muted);text-align:right;min-width:60px;font-size:13px}.shopping-item-price{color:var(--color-text-secondary);text-align:right;min-width:56px;font-size:12px;font-weight:600}.week-analytics-summary{background:#ffffffdb;border:1px solid #283e2c1a;border-radius:8px;gap:14px;padding:18px;display:grid;box-shadow:0 16px 38px #33422c14}.week-analytics-summary.compact{height:100%}.week-analytics-summary.warning,.week-analytics-summary.attention{border-color:#f59e0b52}.week-analytics-summary.balanced{border-color:#10b98142}.week-analytics-head{align-items:center;gap:12px;display:flex}.week-analytics-icon{background:var(--color-primary-light);width:38px;height:38px;color:var(--color-primary-dark);border-radius:8px;place-items:center;display:grid}.week-analytics-head p,.week-analytics-verdict{color:var(--color-text-muted);margin:0;font-size:.86rem;font-weight:700}.week-analytics-head h3{color:#17211b;margin:2px 0 0;font-size:1.08rem;line-height:1.2}.week-analytics-verdict{color:var(--color-text-main);line-height:1.45}.week-analytics-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.week-analytics-metrics span{color:var(--color-text-muted);background:#6a9d3814;border-radius:8px;gap:2px;padding:9px;font-size:.72rem;font-weight:750;display:grid}.week-analytics-metrics b{color:var(--color-primary-dark);font-size:1rem}.week-analytics-insights{gap:9px;margin:0;padding:0;list-style:none;display:grid}.week-analytics-insights li{color:var(--color-text-main);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;font-size:.84rem;font-weight:700;line-height:1.35;display:grid}.week-analytics-insights li.positive svg{color:#10b981}.week-analytics-insights li.warning svg{color:#f59e0b}.week-analytics-insights li.info svg{color:#3b82f6}.week-analytics-empty{color:var(--color-text-muted);background:#6a9d3814;border-radius:8px;padding:18px;font-weight:800}.week-analytics-empty.warning{color:#9a5a00;background:#f59e0b1f}@media (width<=900px){.week-analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.pf-table{flex-direction:column;gap:0;display:flex}.pf-table-header{border-bottom:1px solid #ffffff12;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.pf-period{color:var(--text-secondary,#94a3b8);font-size:.82rem}.pf-summary-chips{flex-wrap:wrap;gap:6px;display:flex}.pf-chip{border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:500;display:flex}.pf-chip.done{color:#10b981;background:#10b98126}.pf-chip.nutrition{color:#8b5cf6;background:#8b5cf626}.pf-chip.missing{color:#ef4444;background:#ef444426}.pf-chip.adherence{color:#3b82f6;background:#3b82f626}.pf-day-row{border-bottom:1px solid #ffffff0d;transition:background .15s}.pf-day-row:last-child{border-bottom:none}.pf-day-row.fit-needs-input{border-left:3px solid #f59e0b}.pf-day-row.fit-adjustment{border-left:3px solid #3b82f6}.pf-day-row.fit-review{border-left:3px solid #8b5cf6}.pf-day-row.fit-aligned{border-left:3px solid #10b981}.pf-day-row.fit-acceptable{border-left:3px solid #22c55e}.pf-day-header{cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.pf-day-header:hover{background:#ffffff08}.pf-day-label{min-width:24px;color:var(--text-primary,#f1f5f9);font-size:.85rem;font-weight:700}.pf-day-date{color:var(--text-secondary,#94a3b8);min-width:40px;font-size:.75rem}.pf-training-summary,.pf-nutrition-summary{color:var(--text-secondary,#94a3b8);align-items:center;gap:6px;font-size:.8rem;display:flex}.pf-training-summary{flex:1;min-width:140px}.pf-nutrition-summary{min-width:120px}.pf-plan-title{color:var(--text-primary,#f1f5f9);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-weight:500;overflow:hidden}.pf-rest{color:var(--text-secondary,#94a3b8);font-style:italic}.pf-status-chip{white-space:nowrap;border-radius:12px;padding:1px 7px;font-size:.7rem;font-weight:600}.status-done{color:#10b981;background:#10b98133}.status-partial{color:#f59e0b;background:#f59e0b33}.status-skipped{color:#94a3b8;background:#64748b33}.status-fail{color:#ef4444;background:#ef444433}.status-missing{color:#f87171;background:#ef444426}.status-planned{color:#60a5fa;background:#3b82f626}.status-rest{color:#64748b;background:0 0}.delta-badge{border-radius:8px;padding:0 5px;font-size:.68rem;font-weight:600}.delta-pos{color:#10b981;background:#10b98126}.delta-neg{color:#f87171;background:#ef444426}.pf-day-flags{gap:4px;margin-left:auto;display:flex}.pf-flag{border-radius:10px;align-items:center;gap:3px;padding:1px 6px;font-size:.7rem;display:flex}.pf-flag.missing{color:#f87171;background:#ef444426}.pf-flag.info{color:#60a5fa}.pf-flag.ok{color:#10b981}.pf-expand-btn{color:var(--text-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.pf-day-detail{flex-direction:column;gap:12px;padding:0 14px 14px;display:flex}.pf-block{background:#ffffff08;border-radius:8px;padding:10px 12px}.pf-block h5{color:var(--text-secondary,#94a3b8);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;margin:0 0 8px;font-size:.78rem;font-weight:600;display:flex}.pf-compare-row{gap:16px;display:flex}.pf-col{flex-direction:column;flex:1;gap:3px;font-size:.8rem;display:flex}.pf-col-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary,#94a3b8);margin-bottom:2px;font-size:.68rem;font-weight:600}.pf-col.plan{color:#94a3b8}.pf-col.fact{color:#e2e8f0}.pf-col strong{color:#f1f5f9;font-size:.82rem}.pf-notes{color:#94a3b8;font-size:.75rem;font-style:italic}.pf-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.pf-actions-label{color:#94a3b8;font-size:.75rem}.pf-action-btn{cursor:pointer;background:0 0;border:1px solid;border-radius:12px;padding:3px 10px;font-size:.75rem;transition:background .15s}.pf-action-btn.status-done{color:#10b981;border-color:#10b981}.pf-action-btn.status-done:hover{background:#10b98126}.pf-action-btn.status-partial{color:#f59e0b;border-color:#f59e0b}.pf-action-btn.status-partial:hover{background:#f59e0b26}.pf-action-btn.status-skipped{color:#94a3b8;border-color:#94a3b8}.pf-action-btn.status-skipped:hover{background:#94a3b81a}.pf-action-btn:disabled{opacity:.5;cursor:not-allowed}.deviation-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.deviation-item{color:#94a3b8;background:#ffffff05;border-radius:6px;align-items:flex-start;gap:8px;padding:6px 8px;font-size:.78rem;display:flex}.deviation-item svg{color:#60a5fa;flex-shrink:0;margin-top:1px}.deviation-item div{flex-direction:column;gap:2px;display:flex}.deviation-item span{color:#cbd5e1}.deviation-item em{color:#60a5fa;font-size:.73rem;font-style:normal}.deviation-item.fit-needs_adjustment svg{color:#f59e0b}.deviation-item.fit-needs_review svg{color:#8b5cf6}.pf-error{color:#f87171;padding:10px 14px;font-size:.82rem}.pf-loading{color:#94a3b8;padding:12px 14px;font-size:.82rem}.pf-data-gaps{color:#e2e8f0;background:#f59e0b14;border:1px solid #f59e0b59;border-radius:10px;margin:12px 14px;padding:12px 14px;font-size:.82rem}.pf-data-gaps>div{flex-direction:column;gap:3px;display:flex}.pf-data-gaps strong{color:#fbbf24}.pf-data-gaps span{color:#cbd5e1}.pf-data-gaps ul{gap:4px;margin:10px 0 0;padding-left:18px;display:grid}.pf-data-gaps li.blocking::marker{color:#f87171}.pf-data-gaps li.optional{color:#94a3b8}.corrections-journal{flex-direction:column;gap:12px;display:flex}.cj-error{color:#b91c1c;background:#ef44441f;border-radius:10px;padding:8px 12px;font-size:13px}.cj-loading{color:#6b7280;padding:8px 0;font-size:13px}.cj-current{background:#ffffff8c;border:1px solid #0000000f;border-left-width:4px;border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.cj-prio-critical{border-left-color:#ef4444}.cj-prio-warning{border-left-color:#ef7d32}.cj-prio-info{border-left-color:#3b82f6}.cj-current-head{align-items:center;gap:8px;display:flex}.cj-domain{color:#6b7280;font-size:12px;font-weight:600}.cj-current-title{color:#1f2937;margin:0;font-size:15px;font-weight:700}.cj-current-reason{color:#4b5563;margin:0;font-size:13px;line-height:1.45}.cj-current-actions{align-items:center;gap:12px;margin-top:2px;display:flex}.cj-apply-btn{color:#fff;cursor:pointer;background:#6a9d38;border:none;border-radius:999px;align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.cj-apply-btn:hover:not(:disabled){background:#5a8730}.cj-apply-btn:disabled{opacity:.55;cursor:default}.cj-repeat{color:#c65d1a;align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.cj-apply-note{color:#6b7280;margin:0;font-size:12px;font-style:italic}.cj-empty{color:#4a7c2a;background:#6a9d381a;border-radius:12px;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.cj-priority,.cj-status{letter-spacing:.01em;border-radius:999px;align-items:center;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.cj-priority-critical{color:#b91c1c;background:#ef444426}.cj-priority-warning{color:#c65d1a;background:#ef7d3226}.cj-priority-info{color:#2563eb;background:#3b82f626}.cj-status-active{color:#4a7c2a;background:#6a9d3826}.cj-status-applied{color:#2563eb;background:#3b82f626}.cj-status-dismissed{color:#4b5563;background:#6b728026}.cj-status-resolved{color:#6b7280;background:#6b72801f}.cj-history-toggle{color:#4b5563;cursor:pointer;background:0 0;border:1px solid #00000014;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.cj-history-toggle:hover{background:#0000000a}.cj-history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cj-history-item{background:#fff6;border:1px solid #0000000d;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.cj-history-current{background:#6a9d3814;border-color:#6a9d3840}.cj-history-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cj-history-week{color:#6b7280;font-size:12px;font-weight:600}.cj-history-body{flex-direction:column;gap:2px;display:flex}.cj-history-body strong{color:#1f2937;font-size:13px}.cj-history-reason{color:#6b7280;font-size:12px;line-height:1.4}.cj-apply-mini{color:#4a7c2a;cursor:pointer;background:0 0;border:1px solid #6a9d38;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.cj-apply-mini:hover:not(:disabled){background:#6a9d381a}.cj-apply-mini:disabled{opacity:.55;cursor:default}.cj-data-gaps{color:#4b5563;background:#ef7d3214;border:1px solid #ef7d324d;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;display:flex}.cj-data-gaps>svg{color:#c65d1a;flex:none;margin-top:1px}.cj-data-gaps>div{flex-direction:column;gap:3px;display:flex}.cj-data-gaps strong{color:#9a3412}.cj-data-gaps span{color:#6b7280}.cj-data-gaps ul{gap:3px;margin:6px 0 0;padding-left:18px;display:grid}.cj-data-gaps li.blocking::marker{color:#ef4444}.cj-data-gaps li.optional{color:#6b7280}.analytics-page{gap:22px;width:100%;min-height:100%;padding:32px;display:grid}.analytics-page>*{min-width:0}.analytics-status{color:var(--color-text-muted);background:#ffffffd6;border:1px solid #283e2c1a;border-radius:8px;padding:14px 16px;font-weight:800}.analytics-status.error{color:#991b1b;background:#fee2e2e0;border-color:#ef444447}.analytics-welcome-state{background:linear-gradient(135deg,#eff8e8f5,#ffffffe6);border:1px solid #6a9d383d;border-radius:12px;grid-template-columns:auto minmax(0,1fr);justify-content:center;align-items:center;gap:18px;min-height:240px;padding:32px;display:grid}.analytics-welcome-icon{width:58px;height:58px;color:var(--color-primary-dark);background:#6a9d3824;border-radius:50%;place-items:center;display:grid}.analytics-welcome-state h2,.analytics-welcome-state p{margin:0}.analytics-welcome-state h2{color:var(--color-text-main);font-family:var(--font-heading);font-size:1.25rem}.analytics-welcome-state p{color:var(--color-text-muted);margin-top:7px;font-weight:650;line-height:1.5}.analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;min-width:0;display:grid}.kpi-card{border:1px solid var(--color-border);border-radius:8px;gap:12px;min-height:148px;padding:18px;display:grid}.kpi-icon{border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.kpi-icon.green{color:#0f8a5f;background:#d1fae5}.kpi-icon.orange{color:#c65a13;background:#ffedd5}.kpi-icon.blue{color:#2563eb;background:#dbeafe}.kpi-icon.purple{color:#6d28d9;background:#ede9fe}.kpi-data{gap:2px;display:grid}.kpi-value{color:#17211b;font-family:var(--font-heading);font-size:1.8rem;font-weight:780;line-height:1}.kpi-label{color:var(--color-text-muted);font-size:.82rem;font-weight:760}.kpi-trend{color:var(--color-primary-dark);align-items:center;gap:5px;font-size:.78rem;font-weight:800;display:flex}.analytics-charts,.analytics-detail-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);align-items:stretch;gap:18px;min-width:0;display:grid}.chart-card{border:1px solid var(--color-border);border-radius:8px;min-width:0;padding:20px}.chart-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.chart-title-row h3{color:#17211b;align-items:center;gap:8px;margin:0;font-size:1.02rem;display:flex}.chart-title-row span{color:var(--color-text-muted);white-space:nowrap;font-size:.78rem;font-weight:800}.load-chart{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;min-height:260px;display:grid}.load-day{grid-template-rows:1fr auto auto;align-items:end;gap:7px;min-width:0;display:grid}.load-bars{background:linear-gradient(#6a9d3814,#6a9d3808);border-radius:8px;justify-content:center;align-items:end;gap:6px;height:210px;padding:10px 8px 0;display:flex}.load-bar,.calorie-bar{border-radius:7px 7px 3px 3px;width:22px;min-height:6px;transition:height .35s}.load-bar{background:linear-gradient(#75a844,#4f7f29)}.load-bar.risk-high{background:linear-gradient(#f97316,#dc2626)}.load-bar.risk-medium{background:linear-gradient(#fbbf24,#f59e0b)}.load-bar.risk-light{background:linear-gradient(#86efac,#22c55e)}.load-bar.risk-rest{background:#283e2c24}.calorie-bar{background:#3b82f66b}.load-day strong,.load-day small{text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.load-day strong{color:#17211b;font-size:.86rem}.load-day small{color:var(--color-text-muted);font-size:.72rem;font-weight:760}.chart-legend{color:var(--color-text-muted);gap:14px;margin-top:14px;font-size:.78rem;font-weight:800;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i{border-radius:3px;width:10px;height:10px}.legend-load{background:var(--color-primary)}.legend-calories{background:#3b82f67a}.load-type-list{gap:14px;display:grid}.load-type-row{grid-template-columns:minmax(120px,.9fr) minmax(90px,1fr) 44px;align-items:center;gap:10px;display:grid}.load-type-row>div:first-child{align-items:center;gap:8px;min-width:0;display:flex}.load-type-row span{border-radius:4px;flex:none;width:11px;height:11px}.load-type-row strong{color:#17211b;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.load-type-track{background:#283e2c14;border-radius:999px;height:9px;overflow:hidden}.load-type-track i{border-radius:inherit;height:100%;display:block}.load-type-row b{color:var(--color-text-muted);text-align:right;font-size:.82rem}.analytics-empty-chart{min-height:180px;color:var(--color-text-muted);text-align:center;place-items:center;gap:10px;font-weight:800;display:grid}.analytics-daily-table{min-width:0}.daily-table{gap:8px;display:grid}.daily-row{background:#6a9d380f;border-radius:8px;grid-template-columns:42px minmax(130px,1fr) minmax(150px,.8fr) minmax(110px,.55fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.daily-row span{color:var(--color-primary-dark);font-weight:850}.daily-row strong,.daily-row small,.daily-row em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.daily-row strong{color:#17211b;font-size:.86rem}.daily-row small{color:var(--color-text-muted);font-size:.76rem;font-weight:760}.daily-row em{border-radius:8px;justify-self:end;padding:5px 8px;font-size:.7rem;font-style:normal;font-weight:850}.daily-row em.ready{color:#0f766e;background:#10b9811f}.daily-row em.missing{color:#9a5a00;background:#f59e0b24}@media (width<=1180px){.analytics-kpis,.analytics-charts,.analytics-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-daily-table{grid-column:1/-1}}@media (width<=760px){#root>div>main>div>.analytics-page{padding:22px 16px 96px}.chart-title-row{flex-direction:column;align-items:flex-start}.chart-title-row span{white-space:normal}.chart-card{padding:16px}.analytics-kpis,.analytics-charts,.analytics-detail-grid{grid-template-columns:1fr}.load-chart{gap:4px}.load-bars{gap:3px;height:170px;padding-inline:2px}.load-bar,.calorie-bar{width:10px}.load-type-row{grid-template-columns:minmax(66px,.85fr) minmax(54px,1fr) 34px;gap:8px}.daily-row{grid-template-columns:36px minmax(0,1fr)}.daily-row small,.daily-row em{grid-column:2;justify-self:start}}.settings-page{background:0 0;width:100%;max-width:900px;height:100%;margin:0 auto;overflow-y:auto}.settings-header{margin-bottom:32px}.settings-header h2{color:var(--color-text-main);margin-bottom:4px;font-size:2rem}.settings-header p{color:var(--color-text-muted)}.settings-layout{gap:24px;display:flex}.settings-tabs{flex-direction:column;gap:4px;min-width:180px;display:flex}.settings-tab{border-radius:var(--radius-md);font-family:var(--font-heading);color:var(--color-text-muted);text-align:left;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.settings-tab:hover{background:var(--color-surface-hover);color:var(--color-primary)}.settings-tab.active{background:var(--color-primary-light);color:var(--color-primary-dark)}.settings-content{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);background:#ffffffc7;border:1px solid #283e2c1a;flex:1;padding:32px;box-shadow:0 8px 32px #33422c14}.settings-section h3{margin-bottom:8px;font-size:1.25rem}.section-desc{color:var(--color-text-muted);margin-bottom:24px;font-size:.9rem}.settings-form{flex-direction:column;gap:16px;margin-top:20px;display:flex}.profile-avatar-card{background:radial-gradient(circle at 10% 0,#6a9d381f,#0000 12rem),#ffffffb8;border:1px solid #283e2c1a;border-radius:8px;align-items:center;gap:18px;padding:18px;display:flex}.profile-avatar-preview{width:96px;height:96px;color:var(--color-primary-dark);font-family:var(--font-heading);background:linear-gradient(135deg,#e9f4dff5,#ffffffbd);border:1px solid #6a9d3842;border-radius:8px;flex:0 0 96px;place-items:center;font-size:1.65rem;font-weight:800;display:grid;overflow:hidden;box-shadow:0 14px 30px #33422c14}.profile-avatar-preview img{object-fit:cover;width:100%;height:100%}.profile-avatar-copy{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.profile-avatar-copy p,.avatar-error{color:var(--color-text-muted);flex-basis:100%;margin:0;font-size:.84rem}.avatar-error{color:#b91c1c;font-weight:700}.avatar-upload-btn,.avatar-remove-btn{min-height:38px;font-family:var(--font-heading);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:9px 14px;font-size:.86rem;font-weight:700;display:inline-flex}.avatar-upload-btn{background:var(--color-primary-light);color:var(--color-primary-dark)}.avatar-upload-btn input{display:none}.avatar-remove-btn{border:1px solid var(--color-border);color:var(--color-text-muted);background:#ffffffc2}.avatar-remove-btn:disabled{cursor:not-allowed;opacity:.45}.form-row{gap:16px;display:flex}.form-row .form-group,.form-row .form-group.full-width{flex:1}.settings-form .form-group label{font-family:var(--font-heading);color:var(--color-text-main);align-items:center;gap:6px;margin-bottom:6px;font-size:.85rem;font-weight:500;display:flex}.settings-form .form-group input,.settings-form .form-group select,.settings-form .form-group textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);background:var(--color-surface);resize:vertical;padding:10px 14px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.settings-form .form-group input:focus,.settings-form .form-group select:focus,.settings-form .form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.settings-form .form-group input.disabled{background:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed}.subscription-badge{border-radius:var(--radius-full);font-family:var(--font-heading);letter-spacing:1px;padding:6px 16px;font-size:.8rem;font-weight:700;display:inline-block}.subscription-badge.free{background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border)}.subscription-badge.pro{color:#047857;background:#d1fae5}.subscription-badge.high{color:#1d4ed8;background:#dbeafe}.save-btn{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-family:var(--font-heading);align-items:center;gap:8px;width:fit-content;margin-top:24px;padding:10px 24px;font-size:.9rem;font-weight:600;transition:background-color .2s;display:flex}.save-btn:hover{background-color:var(--color-primary-dark)}.password-error{color:#b91c1c;border-radius:var(--radius-sm);background-color:#fee2e2;margin-bottom:12px;padding:10px 16px;font-size:.875rem}.toggle-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 0;display:flex}.toggle-row:last-child{border-bottom:none}.toggle-info{flex-direction:column;gap:4px;display:flex}.toggle-label{color:var(--color-text-main);font-weight:500}.toggle-desc{color:var(--color-text-muted);font-size:.8rem}.toggle-switch{cursor:pointer;width:48px;height:26px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{background-color:var(--color-border);border-radius:26px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.data-export-zone{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);margin-top:36px;padding:20px}.data-export-zone h4{font-family:var(--font-heading);color:var(--color-text-main);align-items:center;gap:8px;margin-bottom:8px;font-size:1rem;display:flex}.data-export-zone p{color:var(--color-text-muted);margin-bottom:16px;font-size:.86rem;line-height:1.5}.export-btn{border-radius:var(--radius-md);background-color:var(--color-primary);color:#fff;font-family:var(--font-heading);cursor:pointer;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:600;transition:background-color .2s;display:inline-flex}.export-btn:hover{background-color:var(--color-primary-dark)}.export-btn:disabled{opacity:.6;cursor:not-allowed}.danger-zone{border-radius:var(--radius-md);background:#fee2e266;border:1px solid #b91c1c47;margin-top:36px;padding:20px}.danger-zone h4{font-family:var(--font-heading);color:#b91c1c;align-items:center;gap:8px;margin-bottom:8px;font-size:1rem;display:flex}.danger-zone p{color:var(--color-text-muted);margin-bottom:16px;font-size:.86rem;line-height:1.5}.danger-btn{border-radius:var(--radius-md);color:#fff;font-family:var(--font-heading);cursor:pointer;background-color:#dc2626;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:600;transition:background-color .2s;display:inline-flex}.danger-btn:hover{background-color:#b91c1c}.danger-btn:disabled{opacity:.6;cursor:not-allowed}.delete-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);background:#14191473;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.delete-modal{border-radius:var(--radius-lg);background:var(--color-surface,#fff);border:1px solid #b91c1c40;width:100%;max-width:440px;padding:26px;box-shadow:0 24px 60px #14191447}.delete-modal-header{color:#b91c1c;align-items:center;gap:10px;margin-bottom:12px;display:flex}.delete-modal-header h3{margin:0;font-size:1.2rem}.delete-modal-warning{color:var(--color-text-main);margin-bottom:18px;font-size:.9rem;line-height:1.55}.delete-modal .form-group label{font-family:var(--font-heading);color:var(--color-text-main);margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.delete-modal .form-group input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);background:var(--color-surface);padding:10px 14px;font-size:.95rem}.delete-modal .form-group input:focus{border-color:#dc2626;outline:none;box-shadow:0 0 0 3px #dc26262e}.delete-modal .password-error{margin-top:12px;margin-bottom:0}.delete-modal-actions{justify-content:flex-end;gap:12px;margin-top:22px;display:flex}.delete-cancel-btn{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-main);font-family:var(--font-heading);cursor:pointer;padding:10px 18px;font-size:.88rem;font-weight:600}.delete-cancel-btn:hover{background:var(--color-surface-hover)}.delete-cancel-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=720px){.settings-page{padding:24px 16px}.settings-layout,.form-row,.profile-avatar-card{flex-direction:column}.settings-tabs{width:100%;min-width:0}.settings-content{padding:22px}.profile-avatar-card{align-items:flex-start}}.roadmap-page{gap:24px;max-width:1180px;margin:0 auto;display:grid}.mvp-notice{grid-template-columns:auto 1fr;align-items:start;gap:18px;padding:24px;display:grid}.mvp-notice-icon,.roadmap-item-icon{width:44px;height:44px;color:var(--color-primary-dark);background:var(--color-primary-light);border-radius:8px;place-items:center;display:grid;box-shadow:0 14px 32px #4f7f2924}.roadmap-eyebrow{color:var(--color-primary-dark);letter-spacing:0;text-transform:uppercase;margin-bottom:8px;font-size:.78rem;font-weight:820;display:inline-flex}.mvp-notice h2,.roadmap-section-head h3{color:var(--color-text-main);margin:0;font-size:1.55rem;font-weight:780}.mvp-notice p,.roadmap-section-head p{color:var(--color-text-muted);margin-top:10px;font-weight:650}.roadmap-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);align-items:start;gap:24px;display:grid}.roadmap-card,.feedback-card{padding:24px}.roadmap-list{gap:14px;margin-top:20px;display:grid}.roadmap-item{background:#ffffff94;border:1px solid #283e2c1a;border-radius:8px;grid-template-columns:auto 1fr;gap:16px;padding:18px;display:grid}.roadmap-item span{color:var(--color-secondary);font-size:.82rem;font-weight:820}.roadmap-item h4,.feedback-history h4{color:var(--color-text-main);margin:4px 0 8px;font-size:1rem;font-weight:820}.roadmap-item p,.feedback-history-item p,.feedback-empty{color:var(--color-text-muted);font-size:.94rem;font-weight:620}.feedback-form{gap:14px;margin-top:18px;display:grid}.feedback-form label{color:var(--color-text-main);gap:8px;font-weight:760;display:grid}.feedback-form select,.feedback-form textarea{width:100%;color:var(--color-text-main);font:inherit;background:#ffffffdb;border:1px solid #283e2c24;border-radius:8px;outline:none;font-weight:620}.feedback-form select{min-height:46px;padding:0 12px}.feedback-form textarea{resize:vertical;min-height:148px;padding:12px}.feedback-form select:focus,.feedback-form textarea:focus{border-color:#6a9d3870;box-shadow:0 0 0 3px #6a9d381f}.feedback-submit{color:#fff;background:linear-gradient(#75a844,#5d8f31);border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-weight:820;display:inline-flex;box-shadow:0 12px 24px #588b3138}.feedback-submit:disabled{opacity:.72;cursor:progress}.feedback-status{color:var(--color-primary-dark);font-weight:720}.feedback-history{border-top:1px solid #283e2c1a;gap:12px;margin-top:26px;padding-top:22px;display:grid}.feedback-history h4{align-items:center;gap:8px;margin:0;display:inline-flex}.feedback-history-list{gap:10px;display:grid}.feedback-history-item{background:#f2f6edb8;border-radius:8px;padding:14px}.feedback-history-item>div{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.feedback-history-item strong{color:var(--color-text-main);font-size:.9rem}.feedback-history-item span{color:var(--color-text-muted);white-space:nowrap;font-size:.78rem;font-weight:720}@media (width<=1100px){.roadmap-layout{grid-template-columns:1fr}}@media (width<=640px){.mvp-notice,.roadmap-item{grid-template-columns:1fr}.mvp-notice,.roadmap-card,.feedback-card{padding:18px}}.app-container{background:var(--color-bg);width:100vw;height:100vh;display:flex}body.workout-player-active .sidebar{opacity:0;pointer-events:none;border-right:0;width:0;min-width:0}body.workout-player-active .unified-header{display:none}.main-content{z-index:1;flex-direction:column;flex:1;height:100vh;display:flex;position:relative;overflow:hidden}.main-content:before{content:"";z-index:-1;opacity:.35;pointer-events:none;background-image:url(/images/wellness-landscape.jpg);background-position:top;background-size:cover;position:absolute;inset:0}.page-body{flex:1;position:relative;overflow:hidden auto}#root>div>main>div>div{box-sizing:border-box;padding:32px}.loading-screen{background:var(--color-bg);width:100vw;height:100vh;color:var(--color-text-muted);font-family:var(--font-heading);place-items:center;display:grid}@media (width<=900px){.app-container{flex-direction:column}.main-content{min-height:0}#root>div>main>div>div{padding:20px 12px 24px}}
