:root{--brand-primary: #0d9488;--brand-secondary: #0284c7;--brand-primary-light: #14b8a6;--brand-primary-dark: #0f766e;--brand-gradient: linear-gradient(135deg, #0d9488 0%, #0284c7 100%);--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--error: #ef4444;--success: #22c55e;--warning: #f59e0b}[data-theme=dark]{--gray-50: #1e293b;--gray-100: #334155;--gray-200: #475569;--gray-300: #64748b;--gray-400: #94a3b8;--gray-500: #cbd5e1;--gray-600: #e2e8f0;--gray-700: #f1f5f9;--gray-800: #f8fafc;--gray-900: #ffffff}*{margin:0;padding:0;box-sizing:border-box}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--gray-50);min-height:100vh;display:flex;flex-direction:column;color:var(--gray-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.app-layout{display:flex;flex-direction:column;min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden}.top-nav{background:var(--brand-gradient);padding:calc(8px + env(safe-area-inset-top,0px)) 24px 8px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-lg);position:sticky;top:0;z-index:100}@media(max-width:500px){.top-nav{padding:calc(6px + env(safe-area-inset-top,0px)) 16px 6px 16px}}.nav-brand{display:flex;align-items:center;color:#fff;text-decoration:none}.nav-logo-img{height:50px;width:auto;object-fit:contain}@media(max-width:500px){.nav-logo-img{height:40px}}.nav-left,.nav-right{flex:0 0 auto;min-width:44px}.nav-right{display:flex;align-items:center;gap:12px}.nav-left{max-width:65%}.nav-center{flex:1;display:flex;justify-content:center;align-items:center}.nav-logo-centered{height:60px;width:auto;object-fit:contain}@media(max-width:500px){.nav-logo-centered{height:45px}}.nav-logo-left{height:120px;width:auto;max-width:75%;object-fit:contain}@media(max-width:500px){.nav-logo-left{height:110px;max-width:70%}}@media(max-width:380px){.nav-logo-left{height:95px;max-width:65%}}.nav-left{display:flex;align-items:center}a.nav-left{text-decoration:none}.nav-coach-story{cursor:pointer;transition:transform .2s}.nav-coach-story:hover{transform:scale(1.05)}.nav-coach-story .story-ring{width:40px;height:40px;border-radius:50%;padding:2px;background:#ffffff4d}.nav-coach-story .story-ring.unseen{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}.nav-coach-story .story-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid #0f172a}.streak-badge-nav{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;padding:8px 14px;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:auto;margin-right:12px}.nav-title{font-size:1.25rem;font-weight:700;letter-spacing:-.025em}.nav-actions{display:flex;align-items:center;gap:12px}.nav-btn{background:#fff3;border:none;color:#fff;padding:8px 12px;min-width:44px;min-height:44px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.875rem;font-weight:500;transition:all .2s;text-decoration:none;position:relative}.nav-btn:hover{background:#ffffff4d}.notification-wrapper{position:relative}.notification-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center}.notification-dropdown{position:fixed;top:70px;left:12px;right:12px;margin-top:0;background:#fff;border-radius:12px;box-shadow:var(--shadow-xl);max-width:400px;max-height:70vh;overflow-y:auto;z-index:1000;display:none}@media(min-width:640px){.notification-dropdown{position:absolute;top:100%;left:auto;right:0;margin-top:8px;min-width:360px;max-height:400px}}.notification-dropdown.show{display:block}[data-theme=dark] .notification-dropdown{background:#1e293b}.notification-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.notification-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--gray-100);font-weight:600;color:var(--gray-900)}[data-theme=dark] .notification-header{border-color:#334155;color:#f1f5f9}.mark-read-btn{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--brand-primary);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px}.mark-read-btn:hover{background:#0d94881a}.close-notifications-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.close-notifications-btn:hover{background:var(--gray-100);color:var(--gray-600)}[data-theme=dark] .close-notifications-btn:hover{background:#334155}.notification-list{max-height:350px;overflow-y:auto}.notification-empty{padding:32px 16px;text-align:center;color:var(--gray-500);font-size:.9rem}.notification-item{display:flex;align-items:flex-start;padding:12px 16px;border:none;border-bottom:1px solid var(--gray-100);cursor:pointer;transition:background .2s;width:100%;text-align:left;background:transparent;font-family:inherit}.notification-item:hover{background:var(--gray-50)}[data-theme=dark] .notification-item{border-color:#334155}[data-theme=dark] .notification-item:hover{background:#334155}.notification-item.unread{background:#0d94880d}[data-theme=dark] .notification-item.unread{background:#0d94881a}.notification-content{flex:1;min-width:0}.notification-title{font-weight:500;color:var(--gray-900);font-size:.9rem;margin-bottom:2px}[data-theme=dark] .notification-title{color:#f1f5f9}.notification-message{font-size:.85rem;color:var(--gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .notification-message{color:#94a3b8}.notification-time{font-size:.75rem;color:var(--gray-400);margin-top:4px}.notification-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-primary);margin-left:8px;margin-top:6px;flex-shrink:0}.notification-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:10000;animation:fadeIn .2s ease}@media(min-width:640px){.notification-detail-overlay{align-items:center}}.notification-detail-modal{background:var(--gray-50);width:100%;max-width:400px;max-height:90vh;border-radius:16px 16px 0 0;overflow:hidden;animation:slideUp .3s ease;display:flex;flex-direction:column}@media(min-width:640px){.notification-detail-modal{border-radius:16px;max-height:80vh}}[data-theme=dark] .notification-detail-modal{background:var(--gray-100)}.notification-detail-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--gray-200)}.notification-detail-header h3{font-size:1rem;font-weight:600;color:var(--gray-900)}.notification-detail-header .close-btn{background:none;border:none;padding:8px;cursor:pointer;color:var(--gray-500);border-radius:8px;transition:background .2s}.notification-detail-header .close-btn:hover{background:var(--gray-200)}.notification-detail-content{padding:16px;overflow-y:auto;flex:1}.meal-info-card{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-secondary) 100%);padding:16px;border-radius:12px;color:#fff;margin-bottom:16px}.meal-type-badge{display:inline-block;background:#fff3;padding:4px 10px;border-radius:100px;font-size:.75rem;font-weight:500;text-transform:capitalize;margin-bottom:8px}.meal-name{font-size:1.125rem;font-weight:600;margin-bottom:4px}.meal-date{font-size:.875rem;opacity:.9}.coach-action{margin-bottom:16px}.reaction-display{display:flex;align-items:center;gap:12px;padding:12px;background:var(--gray-100);border-radius:12px}[data-theme=dark] .reaction-display{background:var(--gray-200)}.reaction-emoji{font-size:2rem}.reaction-text{font-size:.9375rem;color:var(--gray-700)}[data-theme=dark] .reaction-text{color:var(--gray-600)}.comment-display{background:var(--gray-100);border-radius:12px;padding:12px}[data-theme=dark] .comment-display{background:var(--gray-200)}.comment-header{display:flex;align-items:center;gap:8px;color:var(--brand-primary);font-weight:600;font-size:.875rem;margin-bottom:8px}.comment-text{font-size:.9375rem;color:var(--gray-700);line-height:1.5;white-space:pre-wrap}[data-theme=dark] .comment-text{color:var(--gray-600)}.reply-section{margin-top:16px}.reply-toggle-btn{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--gray-300);padding:10px 16px;border-radius:100px;color:var(--gray-600);font-size:.875rem;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.reply-toggle-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.reply-input-container{border:1px solid var(--gray-300);border-radius:12px;overflow:hidden}.reply-input-container textarea{width:100%;border:none;padding:12px;font-size:.9375rem;resize:none;background:var(--gray-50);color:var(--gray-900)}[data-theme=dark] .reply-input-container textarea{background:var(--gray-100);color:var(--gray-800)}.reply-input-container textarea:focus{outline:none}.reply-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 12px;background:var(--gray-100);border-top:1px solid var(--gray-200)}[data-theme=dark] .reply-actions{background:var(--gray-200)}.char-count{font-size:.75rem;color:var(--gray-400);margin-right:auto}.cancel-btn{background:none;border:none;padding:8px 12px;color:var(--gray-500);font-size:.875rem;cursor:pointer;border-radius:6px}.cancel-btn:hover{background:var(--gray-200)}.send-btn{display:flex;align-items:center;gap:6px;background:var(--brand-primary);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.send-btn:hover:not(:disabled){background:var(--brand-primary-dark)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.notification-detail-footer{padding:12px 16px;border-top:1px solid var(--gray-200);padding-bottom:calc(12px + env(safe-area-inset-bottom))}.view-entry-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--brand-primary);color:#fff;border:none;padding:12px;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .2s}.view-entry-btn:hover{background:var(--brand-primary-dark)}.main-wrapper{display:flex;flex:1}.main-content{flex:1;padding:24px 16px;padding-bottom:calc(100px + env(safe-area-inset-bottom));max-width:100%;overflow-x:hidden}@media(min-width:1024px){.main-content{padding:32px 24px;margin-left:280px}}.container{max-width:800px;margin:0 auto}.main-content.no-top-nav{padding:0;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.container.full-width{max-width:100%;padding:0}.desktop-nav{display:none;position:fixed;left:0;top:0;bottom:0;width:280px;background:#fff;border-right:1px solid var(--gray-200);padding:24px;z-index:50;flex-direction:column}@media(min-width:1024px){.desktop-nav{display:flex}}[data-theme=dark] .desktop-nav{background:#0f172a;border-color:#334155}.desktop-nav-logo{display:flex;align-items:center;gap:12px;padding-bottom:24px;border-bottom:1px solid var(--gray-200);margin-bottom:24px}[data-theme=dark] .desktop-nav-logo{border-color:#334155}.desktop-nav-logo img{width:48px;height:48px;border-radius:12px}.desktop-nav-logo span{font-size:1.25rem;font-weight:700;color:var(--gray-900)}.desktop-nav-items{display:flex;flex-direction:column;gap:8px;flex:1}.desktop-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;color:var(--gray-600);text-decoration:none;font-weight:500;transition:all .2s}.desktop-nav-item:hover{background:var(--gray-100);color:var(--gray-900)}.desktop-nav-item.active{background:#0d94881a;color:var(--brand-primary)}[data-theme=dark] .desktop-nav-item.active{background:#14b8a626}.desktop-nav-user{display:flex;align-items:center;gap:12px;padding:16px;background:var(--gray-100);border-radius:12px;margin-top:auto}[data-theme=dark] .desktop-nav-user{background:#1e293b}.desktop-nav-avatar{width:40px;height:40px;border-radius:50%;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600}.desktop-nav-user-info{flex:1;min-width:0}.desktop-nav-user-name{font-weight:600;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desktop-nav-user-email{font-size:.75rem;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--gray-200);display:flex;justify-content:space-around;align-items:center;padding:8px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom));z-index:1000;box-shadow:0 -4px 20px #00000014}@media(min-width:1024px){.bottom-nav{display:none}}[data-theme=dark] .bottom-nav{background:#1e293b;border-color:#334155}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--gray-500);padding:8px 16px;border-radius:12px;transition:all .2s;min-width:64px}.bottom-nav-item.active{color:var(--brand-primary)}.bottom-nav-item.active .nav-icon{background:#0d94881a}[data-theme=dark] .bottom-nav-item{color:#94a3b8}[data-theme=dark] .bottom-nav-item.active{color:#14b8a6}.nav-icon{width:48px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:16px;margin-bottom:2px}.nav-label{font-size:11px;font-weight:600}.card{background:#fff;border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}[data-theme=dark] .card{background:#1e293b;border-color:#334155}.section-title{color:var(--gray-900);margin-bottom:16px;font-size:1.125rem;font-weight:700;letter-spacing:-.025em;display:flex;align-items:center;gap:10px}.section-icon{width:32px;height:32px;background:var(--brand-gradient);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem}.greeting-section{display:flex;align-items:center;gap:16px;margin-bottom:24px}.greeting-avatar{width:56px;height:56px;border-radius:50%;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:600;flex-shrink:0}.greeting-text h1{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin-bottom:4px}.greeting-subtext{color:var(--gray-500);font-size:.9rem}.streak-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;padding:4px 10px;border-radius:16px;font-size:.75rem;font-weight:600;margin-left:8px}.progress-card{background:#fff;border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:var(--shadow-lg)}[data-theme=dark] .progress-card{background:#1e293b}.macro-rings{display:flex;justify-content:space-around;margin-bottom:20px}.macro-ring{text-align:center}.macro-ring svg{width:70px;height:70px;transform:rotate(-90deg)}.macro-ring circle{fill:none;stroke-width:6;stroke-linecap:round}.macro-ring .bg{stroke:var(--gray-200)}[data-theme=dark] .macro-ring .bg{stroke:#334155}.macro-ring .progress{stroke-dasharray:188.5;stroke-dashoffset:188.5;transition:stroke-dashoffset .5s ease}.macro-ring.calories .progress{stroke:var(--brand-primary)}.macro-ring.protein .progress{stroke:#3b82f6}.macro-ring.carbs .progress{stroke:#f59e0b}.macro-ring.fat .progress{stroke:#ef4444}.macro-label{font-size:.7rem;color:var(--gray-500);margin-top:8px;font-weight:500}.macro-value{font-size:.85rem;font-weight:700;color:var(--gray-900)}.overall-progress{margin-top:16px}.overall-progress-bar{height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden}[data-theme=dark] .overall-progress-bar{background:#334155}.overall-progress-fill{height:100%;background:var(--brand-gradient);border-radius:4px;transition:width .5s ease}.overall-progress-text{display:flex;justify-content:space-between;margin-top:8px;font-size:.8rem;color:var(--gray-500)}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}@media(min-width:640px){.quick-actions{grid-template-columns:repeat(4,1fr)}}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:#fff;border:1px solid var(--gray-200);border-radius:16px;cursor:pointer;transition:all .2s;text-decoration:none;color:inherit}.quick-action-btn:hover{border-color:var(--brand-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}[data-theme=dark] .quick-action-btn{background:#1e293b;border-color:#334155}.quick-action-icon{width:44px;height:44px;background:var(--brand-gradient);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem}.quick-action-label{font-size:.8rem;font-weight:600;color:var(--gray-700);text-align:center}[data-theme=dark] .quick-action-label{color:#e2e8f0}.btn{padding:12px 20px;border-radius:12px;border:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--brand-gradient);color:#fff}.btn-primary:hover{box-shadow:0 4px 12px #0d94884d}.btn-secondary{background:var(--gray-100);color:var(--gray-700)}.btn-outline{background:transparent;border:2px solid var(--brand-primary);color:var(--brand-primary)}.btn-danger{background:var(--error);color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{background:#fff;border-radius:20px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}[data-theme=dark] .modal-content{background:#1e293b}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--gray-200)}[data-theme=dark] .modal-header{border-color:#334155}.modal-title{font-size:1.125rem;font-weight:700;color:var(--gray-900)}.modal-close{width:32px;height:32px;border-radius:50%;border:none;background:var(--gray-100);color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem}[data-theme=dark] .modal-close{background:#334155;color:#e2e8f0}.modal-body{padding:20px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:6px}[data-theme=dark] .form-label{color:#cbd5e1}.form-input{width:100%;padding:12px;border:2px solid var(--gray-200);border-radius:10px;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--brand-primary)}[data-theme=dark] .form-input{background:#334155;border-color:#475569;color:#f1f5f9}.skeleton{background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:8px}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#334155 25%,#475569,#334155 75%);background-size:200% 100%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-title{height:24px;width:60%;margin-bottom:12px}.skeleton-circle{border-radius:50%}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%) translateY(100px);background:var(--gray-900);color:#fff;padding:12px 24px;border-radius:12px;font-size:.9rem;font-weight:500;z-index:3000;display:flex;align-items:center;gap:12px;opacity:0;transition:all .3s ease;box-shadow:var(--shadow-xl)}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}[data-theme=dark] .toast{background:#334155}.toast-action{background:var(--brand-primary);color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer}.loading-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--gray-50);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}[data-theme=dark] .loading-screen{background:#0f172a}.loading-spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .8s linear infinite}[data-theme=dark] .loading-spinner{border-color:#334155;border-top-color:var(--brand-primary)}.loading-text{margin-top:16px;color:var(--gray-500);font-size:.9rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.hidden{display:none}.visible{display:block}.supplement-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--gray-50);border-radius:12px;margin-bottom:12px}[data-theme=dark] .supplement-item{background:#334155}.supplement-info{flex:1}.supplement-name{font-weight:600;color:var(--gray-900);margin-bottom:4px}.supplement-schedule{font-size:.8rem;color:var(--gray-500)}.supplement-toggle{width:48px;height:28px;border-radius:14px;background:var(--gray-300);position:relative;cursor:pointer;transition:background .2s}.supplement-toggle.active{background:var(--brand-primary)}.supplement-toggle:after{content:"";position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;top:3px;left:3px;transition:transform .2s}.supplement-toggle.active:after{transform:translate(20px)}.plan-cards{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.plan-cards::-webkit-scrollbar{display:none}.plan-card{min-width:280px;background:#fff;border-radius:16px;padding:20px;border:1px solid var(--gray-200);flex-shrink:0}.plan-card-title{font-weight:700;color:var(--gray-900);margin-bottom:12px}.plan-card-meals{display:flex;flex-direction:column;gap:8px}.plan-meal-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--gray-600)}[data-theme=dark] .plan-meal-item{color:#94a3b8}.empty-state{text-align:center;padding:40px 20px;color:var(--gray-500)}.empty-state-icon{font-size:3rem;margin-bottom:16px;opacity:.5}.empty-state-title{font-size:1.125rem;font-weight:600;color:var(--gray-700);margin-bottom:8px}[data-theme=dark] .empty-state-title{color:#e2e8f0}.empty-state-text{font-size:.9rem}.greeting-section{margin-bottom:24px}.greeting-with-avatar{display:flex;align-items:center;gap:14px}.greeting-avatar-img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid var(--brand-primary);box-shadow:0 2px 8px #00000026;flex-shrink:0}.greeting-text h1{font-size:1.75rem;font-weight:800;color:var(--gray-900);letter-spacing:-.025em;margin-bottom:4px}.greeting-text p,.greeting-subtext{font-size:.95rem;color:var(--gray-500)}[data-theme=dark] .greeting-text h1{color:#f1f5f9}[data-theme=dark] .greeting-text p,[data-theme=dark] .greeting-subtext{color:#94a3b8}.coach-bubble-section{margin-bottom:20px}.coach-story-bubble{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.story-ring{width:72px;height:72px;border-radius:50%;padding:3px;background:var(--gray-300);display:flex;align-items:center;justify-content:center}.story-ring.unseen{background:linear-gradient(135deg,var(--brand-primary) 0%,#0284c7 50%,#8b5cf6 100%)}[data-theme=dark] .story-ring{background:#475569}[data-theme=dark] .story-ring.unseen{background:linear-gradient(135deg,var(--brand-primary) 0%,#0284c7 50%,#8b5cf6 100%)}.coach-story-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--gray-100)}[data-theme=dark] .coach-story-avatar{border-color:#1e293b}.coach-story-label{font-size:.85rem;color:var(--gray-600);font-weight:500}[data-theme=dark] .coach-story-label{color:#94a3b8}.ai-hero-card{background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:20px;padding:24px 20px;margin-bottom:20px;box-shadow:0 8px 32px #0003;position:relative;overflow:hidden}.ai-hero-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(13,148,136,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(56,189,248,.1) 0%,transparent 50%);pointer-events:none}.ai-hero-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;position:relative}.ai-hero-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--brand-primary) 0%,#0284c7 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.125rem}.ai-hero-title h3{color:#fff;font-size:1.1rem;font-weight:700;margin:0}.ai-powered-label{font-size:.75rem;color:#475569}.meal-type-selector{display:flex;gap:10px;margin-bottom:16px;position:relative;padding:6px;background:#ffffff08;border-radius:18px}.meal-type-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;background:transparent;border:none;border-radius:14px;color:#94a3b8cc;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.75rem;font-weight:600;position:relative;overflow:hidden}.meal-type-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;opacity:0;transition:opacity .3s ease}.meal-type-btn:hover{color:#e2e8f0;transform:translateY(-2px)}.meal-type-btn:hover:before{opacity:.1;background:#fff}.meal-type-btn.active{color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px -8px #0006}.meal-type-btn .meal-icon{font-size:1.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));transition:transform .3s ease}.meal-type-btn:hover .meal-icon,.meal-type-btn.active .meal-icon{transform:scale(1.15)}.meal-type-btn .meal-label{font-size:.72rem;letter-spacing:.3px;text-transform:capitalize}.meal-type-btn.active:nth-child(1){background:linear-gradient(135deg,#fbbf2440,#f59e0b59);box-shadow:0 8px 24px -8px #f59e0b80,inset 0 1px #ffffff26}.meal-type-btn.active:nth-child(2){background:linear-gradient(135deg,#facc1533,#eab30859);box-shadow:0 8px 24px -8px #eab30880,inset 0 1px #ffffff26}.meal-type-btn.active:nth-child(3){background:linear-gradient(135deg,#a78bfa33,#8b5cf659);box-shadow:0 8px 24px -8px #8b5cf680,inset 0 1px #ffffff26}.meal-type-btn.active:nth-child(4){background:linear-gradient(135deg,#f8717133,#ef444459);box-shadow:0 8px 24px -8px #ef444480,inset 0 1px #ffffff26}.food-input{width:100%;min-height:100px;padding:16px;border:2px solid rgba(255,255,255,.1);border-radius:16px;background:#ffffff0d;color:#fff;font-size:1rem;line-height:1.5;font-family:inherit;resize:none;transition:all .2s;margin-bottom:12px}.food-input::placeholder{color:#475569}.food-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 4px #0d948833}.ai-hero-actions{display:flex;gap:10px;margin-bottom:16px;position:relative}.voice-btn{width:48px;height:48px;min-height:48px;padding:0;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.voice-btn:hover{background:#fff3;border-color:#ffffff4d}.voice-btn.recording{background:#ef4444;border-color:#ef4444;animation:pulse 1.5s infinite}[data-theme=light] .voice-btn{background:var(--gray-100);border-color:var(--gray-300);color:var(--gray-700)}[data-theme=light] .voice-btn:hover{background:var(--gray-200);border-color:var(--gray-400)}[data-theme=light] .voice-btn.recording{background:#ef4444;border-color:#ef4444;color:#fff}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.log-food-btn{flex:1;height:48px;background:var(--brand-primary);border:none;border-radius:12px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.log-food-btn:hover{background:#0f766e}.log-food-btn:disabled{opacity:.5;cursor:not-allowed}.ai-hero-quick-actions{display:flex;gap:8px;flex-wrap:wrap;position:relative}.quick-action-pill{display:flex;align-items:center;gap:6px;padding:10px 14px;min-height:44px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:#94a3b8;font-size:.8rem;cursor:pointer;transition:all .2s}.quick-action-pill:hover{background:#ffffff1a;color:#fff}.quick-action-pill svg{width:16px;height:16px}[data-theme=light] .ai-hero-card{background:#fff;box-shadow:0 2px 12px #00000014;border:1px solid var(--gray-200)}[data-theme=light] .ai-hero-card:before{background:radial-gradient(circle at 20% 80%,rgba(13,148,136,.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(56,189,248,.05) 0%,transparent 50%)}[data-theme=light] .ai-hero-title h3{color:var(--gray-900)}[data-theme=light] .ai-powered-label{color:var(--gray-500)}[data-theme=light] .meal-type-selector{background:var(--gray-100)}[data-theme=light] .meal-type-btn{color:var(--gray-500)}[data-theme=light] .meal-type-btn:hover{color:var(--gray-700)}[data-theme=light] .meal-type-btn.active{color:var(--gray-900)}[data-theme=light] .food-input{background:var(--gray-100);border-color:var(--gray-200);color:var(--gray-900)}[data-theme=light] .food-input::placeholder{color:var(--gray-400)}[data-theme=light] .food-input:focus{background:#fff;border-color:var(--brand-primary)}[data-theme=light] .quick-action-pill{background:var(--gray-100);border-color:var(--gray-200);color:var(--gray-600)}[data-theme=light] .quick-action-pill:hover{background:var(--gray-200);color:var(--gray-900)}.progress-card{background:#fff;border-radius:20px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;border:1px solid var(--gray-100)}[data-theme=dark] .progress-card{background:#1e293b;border-color:#334155}.progress-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.progress-card-title{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:700;color:var(--gray-800)}.progress-card-title h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--gray-800)}[data-theme=dark] .progress-card-title,[data-theme=dark] .progress-card-title h3{color:#f1f5f9}.progress-icon{color:var(--brand-primary)}.progress-date{font-size:13px;color:var(--gray-400);font-weight:500}.progress-rings{display:flex;justify-content:space-around;gap:12px;margin-bottom:24px}.progress-ring-container{display:flex;flex-direction:column;align-items:center;flex:1;max-width:90px;position:relative}.progress-ring-container svg,.progress-ring-container .ring-svg{width:70px;height:70px;overflow:visible;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:var(--gray-100);stroke-width:6}[data-theme=dark] .ring-bg{stroke:#334155}.progress-ring-value{position:absolute;top:35px;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;align-items:center;pointer-events:none}.progress-ring-value .current{font-size:14px;font-weight:700;color:var(--gray-800);line-height:1}.progress-ring-value .target{font-size:10px;color:var(--gray-400);margin-top:2px}[data-theme=dark] .progress-ring-value .current{color:#f1f5f9}[data-theme=dark] .progress-ring-value .target{color:#94a3b8}.progress-ring-label{font-size:12px;font-weight:600;color:var(--gray-500);text-transform:capitalize;margin-top:8px}.daily-progress-bar{margin-bottom:20px}.daily-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--gray-600)}.daily-progress-percent{font-weight:700;color:var(--brand-primary)}.daily-progress-track{height:8px;background:var(--gray-100);border-radius:4px;overflow:hidden}[data-theme=dark] .daily-progress-track{background:#334155}.daily-progress-fill{height:100%;background:var(--brand-gradient);border-radius:4px;transition:width .5s ease}.view-diary-btn{width:100%;padding:14px 24px;background:var(--brand-gradient);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;box-shadow:0 4px 14px #0d948840;text-decoration:none}.view-diary-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0d948859}.section-heading{font-size:1.1rem;font-weight:700;color:var(--gray-800);margin-bottom:16px}[data-theme=dark] .section-heading{color:#f1f5f9}.quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.quick-action-card{background:#fff;border-radius:16px;padding:20px 16px;text-decoration:none;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .2s;border:1px solid var(--gray-100);box-shadow:0 1px 3px #00000005}[data-theme=dark] .quick-action-card{background:#1e293b;border-color:#334155}.quick-action-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #00000014;border-color:var(--gray-200)}.quick-action-card:active{transform:scale(.98)}.quick-action-card-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;background:linear-gradient(135deg,#ccfbf1,#99f6e4);color:var(--brand-primary)}.quick-action-card-icon.teal{background:linear-gradient(135deg,#ccfbf1,#99f6e4);color:#0d9488}.quick-action-card-icon.pink{background:linear-gradient(135deg,#fce7f3,#fbcfe8);color:#ec4899}.quick-action-card-icon.yellow{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#f59e0b}.quick-action-card-icon.red{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#ef4444}.quick-action-card span{font-weight:600;font-size:14px;color:var(--gray-800)}[data-theme=dark] .quick-action-card span{color:#f1f5f9}.dashboard-loading{padding:0}.skeleton-greeting{display:flex;align-items:center;gap:14px;margin-bottom:24px}.skeleton-text-group{display:flex;flex-direction:column}.meal-plans-section{margin-bottom:24px}.section-heading-icon{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:700;color:var(--gray-800);margin-bottom:16px}[data-theme=dark] .section-heading-icon{color:#f1f5f9}.section-icon-svg{color:var(--brand-primary)}.section-icon-svg.supplement{color:#10b981}.meal-plans-container{display:flex;flex-direction:column;gap:16px}.meal-plan-card{background:#fff;border-radius:20px;padding:20px;box-shadow:0 2px 12px #0000000a;border:1px solid var(--gray-100);text-decoration:none;display:block;transition:all .2s}[data-theme=dark] .meal-plan-card{background:#1e293b;border-color:#334155}.meal-plan-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014;border-color:var(--brand-primary)}.plan-header{margin-bottom:12px}.plan-title{font-weight:700;color:var(--brand-primary);font-size:1.1rem;margin-bottom:4px}.plan-date{font-size:.85rem;color:var(--gray-500)}.plan-summary{background:#0d94881a;border-left:3px solid var(--brand-primary);padding:12px 16px;border-radius:0 12px 12px 0;font-size:.9rem;color:var(--gray-600);margin-bottom:16px;line-height:1.5}[data-theme=dark] .plan-summary{background:#14b8a626;color:#94a3b8}.plan-details{display:flex;flex-wrap:wrap;gap:12px;background:var(--gray-50);padding:12px 16px;border-radius:12px;margin-bottom:16px}[data-theme=dark] .plan-details{background:#0f172a}.plan-detail-item{display:flex;flex-direction:column;min-width:70px}.plan-detail-label{font-size:.75rem;color:var(--gray-500);margin-bottom:2px}.plan-detail-value{font-size:.9rem;font-weight:600;color:var(--gray-800)}[data-theme=dark] .plan-detail-value{color:#f1f5f9}.view-plan-btn{width:100%;padding:12px 24px;background:var(--brand-gradient);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.view-plan-btn:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0d948840}.todays-supplements-card{background:#fff;border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;border:1px solid var(--gray-100)}[data-theme=dark] .todays-supplements-card{background:#1e293b;border-color:#334155}.supplements-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.supplements-title{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:700;color:var(--gray-900)}[data-theme=dark] .supplements-title{color:#f1f5f9}.supplements-icon{color:#10b981}.supplements-counter{background:var(--gray-200);color:var(--gray-600);padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600}[data-theme=dark] .supplements-counter{background:#334155;color:#94a3b8}.supplements-list{display:flex;flex-direction:column;gap:12px}.supplement-group{display:flex;flex-direction:column;gap:8px}.supplement-group-label{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--gray-500);letter-spacing:.03em}[data-theme=dark] .supplement-group-label{color:#64748b}.supplement-checkbox-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--gray-50);border-radius:12px;border:1px solid var(--gray-100)}[data-theme=dark] .supplement-checkbox-item{background:#334155;border-color:#475569}.supplement-checkbox{width:24px;height:24px;border:2px solid var(--gray-300);border-radius:6px;flex-shrink:0;cursor:pointer;transition:all .2s}[data-theme=dark] .supplement-checkbox{border-color:#475569;background:#1e293b}.supplement-checkbox:hover{border-color:var(--brand-primary)}.supplement-checkbox.checked{background:var(--brand-primary);border-color:var(--brand-primary);display:flex;align-items:center;justify-content:center}.supplement-item-info{display:flex;flex-direction:column}.supplement-item-name{font-size:1rem;font-weight:600;color:var(--gray-800)}[data-theme=dark] .supplement-item-name{color:#f1f5f9}.supplement-item-dose{font-size:.85rem;color:var(--gray-500);margin-top:2px}[data-theme=dark] .supplement-item-dose{color:#64748b}.diary-page{padding-bottom:20px}.date-navigator{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.date-nav-btn{width:44px;height:44px;border-radius:50%;background:var(--gray-100);border:none;color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}[data-theme=dark] .date-nav-btn{background:#334155;color:#94a3b8}.date-nav-btn:hover{background:var(--gray-200)}.date-display{text-align:center}.date-label{display:block;font-size:1.25rem;font-weight:700;color:var(--gray-900)}[data-theme=dark] .date-label{color:#f1f5f9}.date-full{display:block;font-size:.85rem;color:var(--gray-500);margin-top:2px}.diary-quick-actions{display:flex;gap:8px;margin-bottom:16px}.diary-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:10px;color:var(--gray-700);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}[data-theme=dark] .diary-action-btn{background:#334155;border-color:#475569;color:#e2e8f0}.diary-action-btn:hover{background:var(--gray-200)}.add-food-section{background:var(--gray-100);border-radius:16px;padding:16px;margin-bottom:16px}[data-theme=dark] .add-food-section{background:#1e293b}.add-food-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:600;color:var(--gray-800)}[data-theme=dark] .add-food-header{color:#f1f5f9}.add-food-icon{color:#10b981}.add-food-options{display:flex;gap:10px}.add-food-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;background:#fff;border:1px solid var(--gray-200);border-radius:12px;color:var(--gray-600);font-size:.75rem;cursor:pointer;transition:all .2s}[data-theme=dark] .add-food-option{background:#334155;border-color:#475569;color:#94a3b8}.add-food-option:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.calorie-summary{background:#fff;border-radius:20px;padding:24px;margin-bottom:16px;box-shadow:0 2px 12px #0000000a;border:1px solid var(--gray-100)}[data-theme=dark] .calorie-summary{background:#1e293b;border-color:#334155}.calorie-title{font-size:1.1rem;font-weight:700;color:var(--gray-800);margin-bottom:16px}[data-theme=dark] .calorie-title{color:#f1f5f9}.calorie-ring-container{position:relative;width:180px;height:180px;margin:0 auto 20px}.calorie-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.calorie-ring-bg{fill:none;stroke:var(--gray-200);stroke-width:12}[data-theme=dark] .calorie-ring-bg{stroke:#334155}.calorie-ring-progress{fill:none;stroke:var(--brand-primary);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.calorie-ring-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.calorie-remaining{display:block;font-size:2.5rem;font-weight:700;color:var(--gray-900);line-height:1}[data-theme=dark] .calorie-remaining{color:#f1f5f9}.calorie-label{display:block;font-size:.9rem;color:var(--gray-500);margin-top:4px}.calorie-breakdown{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.calorie-stat{text-align:center}.calorie-stat-value{display:block;font-size:1.25rem;font-weight:700;color:var(--gray-800)}.calorie-stat-value.remaining{color:var(--brand-primary)}[data-theme=dark] .calorie-stat-value{color:#f1f5f9}.calorie-stat-label{font-size:.75rem;color:var(--gray-500)}.calorie-operator{font-size:1rem;color:var(--gray-400)}.macro-progress-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px;scrollbar-width:none}.macro-progress-scroll::-webkit-scrollbar{display:none}.macro-progress-bars{display:flex;gap:16px;min-width:max-content}.macro-bar-item{flex:1;min-width:90px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.macro-bar-label{font-size:.8rem;font-weight:600}.macro-bar-label.protein{color:#3b82f6}.macro-bar-label.carbs{color:#f59e0b}.macro-bar-label.fat{color:#ef4444}.macro-bar-label.fiber{color:#22c55e}.macro-bar-label.sugar{color:#ec4899}.macro-bar-label.sodium{color:#8b5cf6}.macro-bar-label.potassium{color:#f97316}.macro-bar-label.calcium{color:#06b6d4}.macro-bar-label.iron{color:#dc2626}.macro-bar-label.vitaminC{color:#facc15}.macro-bar-label.cholesterol{color:#a855f7}.macro-bar-value{font-size:.75rem;color:var(--gray-600)}[data-theme=dark] .macro-bar-value{color:#94a3b8}.macro-bar-track{width:100%;height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden}[data-theme=dark] .macro-bar-track{background:#334155}.macro-bar-fill{height:100%;border-radius:3px;transition:width .3s}.macro-bar-fill.protein{background:#3b82f6}.macro-bar-fill.carbs{background:#f59e0b}.macro-bar-fill.fat{background:#ef4444}.macro-bar-fill.fiber{background:#22c55e}.macro-bar-fill.sugar{background:#ec4899}.macro-bar-fill.sodium{background:#8b5cf6}.macro-bar-fill.potassium{background:#f97316}.macro-bar-fill.calcium{background:#06b6d4}.macro-bar-fill.iron{background:#dc2626}.macro-bar-fill.vitaminC{background:#facc15}.macro-bar-fill.cholesterol{background:#a855f7}.meal-sections{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.meal-section{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 3px #0000000a;border:1px solid var(--gray-100)}[data-theme=dark] .meal-section{background:#1e293b;border-color:#334155}.meal-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.meal-section-title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:700;color:var(--gray-800)}[data-theme=dark] .meal-section-title{color:#f1f5f9}.meal-section-icon.breakfast{color:#f59e0b}.meal-section-icon.lunch{color:#eab308}.meal-section-icon.dinner{color:#8b5cf6}.meal-section-icon.snack{color:#ef4444}.meal-section-actions{display:flex;align-items:center;gap:12px}.meal-section-cals{font-size:.9rem;color:var(--gray-500)}.meal-section-header{cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0;border-radius:8px;transition:background .2s}.meal-section-header:hover{background:#00000008}[data-theme=dark] .meal-section-header:hover{background:#ffffff08}.meal-section-right{display:flex;align-items:center;gap:8px}.meal-collapse-icon{color:var(--gray-400);transition:transform .2s ease}.meal-collapse-icon.collapsed{transform:rotate(-90deg)}.meal-item-count{font-size:.8rem;color:var(--gray-400);font-weight:400}.meal-section.collapsed{padding-bottom:12px}.meal-section.collapsed .meal-section-header{margin-bottom:0}.meal-add-btn{width:36px;height:36px;border-radius:50%;background:var(--brand-primary);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.meal-add-btn:hover{background:#0f766e;transform:scale(1.05)}.meal-entries{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.meal-entry{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--gray-50);border-radius:10px}[data-theme=dark] .meal-entry{background:#334155}.meal-entry-info{display:flex;flex-direction:column}.meal-entry-name{font-weight:500;color:var(--gray-900);margin-bottom:2px}[data-theme=dark] .meal-entry-name{color:#f1f5f9}.meal-entry-serving{font-size:.8rem;color:var(--gray-500)}.meal-entry-cals{font-weight:600;color:var(--gray-700)}[data-theme=dark] .meal-entry-cals{color:#e2e8f0}.meal-entry-swipeable{position:relative;overflow:hidden;border-radius:10px;margin-bottom:4px}.meal-entry-swipeable .meal-entry-content{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--gray-50);border-radius:10px;transition:transform .25s ease-out;position:relative;z-index:2}[data-theme=dark] .meal-entry-swipeable .meal-entry-content{background:#334155}.meal-entry-swipeable.swiped .meal-entry-content{transform:translate(-80px)}.meal-entry-delete-btn{position:absolute;right:0;top:0;bottom:0;width:80px;background:#ef4444;color:#fff;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.75rem;font-weight:500;cursor:pointer;z-index:1;border-radius:0 10px 10px 0}.meal-entry-delete-btn:active{background:#dc2626}.meal-entry-checkbox{width:22px;height:22px;border-radius:50%;border:2px solid var(--gray-300);display:flex;align-items:center;justify-content:center;margin-right:10px;flex-shrink:0;transition:all .2s}.meal-entry-checkbox.checked{background:#10b981;border-color:#10b981;color:#fff}.meal-entry-swipeable.selected .meal-entry-content{background:#10b9811a}[data-theme=dark] .meal-entry-swipeable.selected .meal-entry-content{background:#10b98126}.meal-entry-swipeable.highlighted .meal-entry-content{background:#0d948826;border:2px solid var(--brand-primary);animation:highlight-pulse 1.5s ease-in-out infinite}[data-theme=dark] .meal-entry-swipeable.highlighted .meal-entry-content{background:#0d948840}@keyframes highlight-pulse{0%,to{box-shadow:0 0 #0d948866}50%{box-shadow:0 0 0 8px #0d948800}}.selection-mode-bar{display:none}.selection-mode-bar.active{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin:0 0 12px;background:var(--gray-100);border-radius:12px;box-shadow:0 2px 8px #00000014}[data-theme=dark] .selection-mode-bar.active{background:#334155}.selection-actions{display:flex;align-items:center;gap:8px}.selection-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;background:var(--gray-200);color:var(--gray-700);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}[data-theme=dark] .selection-btn{background:#475569;color:#e2e8f0}.selection-btn.cancel{background:transparent;color:var(--gray-500)}.selection-btn.select-all{background:var(--brand-primary);color:#fff}.selection-btn.delete{background:#ef4444;color:#fff}.selection-btn.delete:hover{background:#dc2626}.selection-count{font-size:.9rem;font-weight:600;color:var(--gray-600)}[data-theme=dark] .selection-count{color:#cbd5e1}.bulk-delete-bar{position:sticky;bottom:80px;padding:12px 16px;margin:0 16px;z-index:100}.bulk-delete-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:#ef4444;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #ef444466;transition:all .2s}.bulk-delete-btn:active{background:#dc2626;transform:scale(.98)}.meal-section-footer{display:flex;gap:8px}.meal-footer-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:10px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.meal-footer-btn.add{background:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-700)}[data-theme=dark] .meal-footer-btn.add{background:#334155;border-color:#475569;color:#e2e8f0}.meal-footer-btn.save{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444}.meal-footer-btn:hover{transform:translateY(-1px)}.meal-section-skeleton{height:120px;border-radius:16px;margin-bottom:12px}.water-intake-card{background:linear-gradient(135deg,#0ea5e9,#0284c7);border-radius:20px;padding:20px;margin-bottom:16px;color:#fff}.water-intake-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.water-intake-title{display:flex;align-items:center;gap:8px;font-weight:600}.water-icon{opacity:.9}.water-goal-badge{background:#fff3;padding:6px 12px;border-radius:20px;font-size:.8rem}.water-intake-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.water-glasses{display:flex;flex-wrap:wrap;gap:6px;max-width:180px}.water-glass{width:32px;height:32px;background:#fff3;border-radius:6px;transition:all .2s}.water-glass.filled{background:#ffffffe6}.water-intake-count{text-align:right}.water-count{display:block;font-size:2rem;font-weight:700}.water-label{font-size:.85rem;opacity:.9}.water-intake-actions{display:flex;gap:8px}.water-btn{flex:1;padding:10px 12px;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.water-btn.add{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff}.water-btn.remove{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fffc}.water-btn.complete{background:#fff;border:none;color:#0284c7}.water-btn:hover{transform:translateY(-1px)}.water-intake-compact{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#0ea5e9,#0284c7);border-radius:14px;padding:14px 16px;margin-bottom:16px;color:#fff}.water-intake-left{display:flex;align-items:center;gap:8px}.water-intake-compact .water-label{font-weight:600;font-size:.95rem}.water-intake-compact .water-progress{font-weight:700;font-size:.95rem;opacity:.9}.water-intake-controls{display:flex;align-items:center;gap:10px}.water-btn-compact{width:36px;height:36px;border-radius:10px;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.2rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.water-btn-compact:hover:not(:disabled){background:#ffffff4d;transform:scale(1.05)}.water-btn-compact:disabled{opacity:.4;cursor:not-allowed}.water-progress-bar{width:100px;height:8px;background:#fff3;border-radius:4px;overflow:hidden}.water-progress-fill{height:100%;background:#ffffffe6;border-radius:4px;transition:width .3s ease}.ai-assistant-card{background:#fff;border-radius:20px;padding:20px;margin-bottom:16px;box-shadow:0 2px 12px #0000000a;border:1px solid var(--gray-100)}[data-theme=dark] .ai-assistant-card{background:#1e293b;border-color:#334155}.ai-assistant-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ai-assistant-title{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--gray-800)}[data-theme=dark] .ai-assistant-title{color:#f1f5f9}.ai-icon{color:#10b981}.ai-expand-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:8px;color:var(--gray-600);font-size:.8rem;cursor:pointer}[data-theme=dark] .ai-expand-btn{background:#334155;border-color:#475569;color:#94a3b8}.ai-assistant-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ai-suggestion{padding:10px 16px;border-radius:20px;font-size:.85rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.ai-suggestion.protein{background:#ef44441a;color:#ef4444}.ai-suggestion.recipe{background:#eab3081a;border:1px solid rgba(234,179,8,.3);color:#eab308}.ai-assistant-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.ai-chip{padding:8px 14px;background:var(--gray-100);border:none;border-radius:20px;font-size:.8rem;color:var(--gray-600);cursor:pointer;transition:all .2s}[data-theme=dark] .ai-chip{background:#334155;color:#94a3b8}.ai-chip:hover{background:var(--gray-200)}.ai-input-row{display:flex;gap:10px}.ai-input{flex:1;padding:12px 16px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:12px;font-size:.9rem;color:var(--gray-800)}[data-theme=dark] .ai-input{background:#334155;border-color:#475569;color:#f1f5f9}.ai-input::placeholder{color:var(--gray-500)}.ai-send-btn{padding:12px 24px;background:var(--brand-primary);border:none;border-radius:12px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.ai-send-btn:hover{background:#0f766e}.ai-send-btn:disabled{opacity:.5;cursor:not-allowed}.ai-chip.active{background:var(--brand-primary);color:#fff}.food-option-btn:hover{background:var(--gray-200)!important;transform:translateY(-1px)}.food-option-btn:active{transform:translateY(0)}[data-theme=dark] .food-option-btn{background:#334155!important}[data-theme=dark] .food-option-btn span{color:#94a3b8!important}[data-theme=dark] .food-option-btn svg{color:#94a3b8!important}[data-theme=dark] .food-option-btn:hover{background:#475569!important}.ai-food-suggestions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.ai-food-suggestion-btn{background:linear-gradient(135deg,#0d948833,#065f4633);border:1px solid rgba(13,148,136,.4);border-radius:12px;padding:12px 14px;cursor:pointer;text-align:left;transition:all .2s ease;width:100%}.ai-food-suggestion-btn:hover{background:linear-gradient(135deg,#0d948859,#065f4659);border-color:var(--brand-primary);transform:translateY(-1px);box-shadow:0 4px 12px #0d948833}.ai-food-suggestion-btn:active{transform:translateY(0)}.suggestion-name{font-weight:600;color:#fff;font-size:.95rem;margin-bottom:4px}[data-theme=light] .suggestion-name{color:var(--gray-800)}.suggestion-macros{font-size:.8rem;color:#94a3b8}.more-ideas-btn{background:transparent;border:1px dashed rgba(148,163,184,.5);border-radius:10px;padding:10px 14px;cursor:pointer;text-align:center;transition:all .2s ease;width:100%;color:#94a3b8;font-size:.9rem;margin-top:4px}.more-ideas-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:#0d94881a}.more-ideas-btn:disabled{opacity:.5;cursor:not-allowed}.food-suggestion-actions{background:linear-gradient(135deg,#1e3a5f,#1e293b);border:1px solid rgba(59,130,246,.3);border-radius:12px;padding:14px;margin-top:8px;animation:slideInSuggestion .2s ease}[data-theme=light] .food-suggestion-actions{background:linear-gradient(135deg,#e0f2fe,#f1f5f9);border-color:#3b82f64d}@keyframes slideInSuggestion{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.food-suggestion-actions .action-header{font-weight:600;color:#fff;font-size:1rem;margin-bottom:4px}[data-theme=light] .food-suggestion-actions .action-header{color:var(--gray-800)}.food-suggestion-actions .action-macros{font-size:.85rem;color:#94a3b8;margin-bottom:12px}.food-suggestion-actions .action-buttons{display:flex;gap:8px}.food-suggestion-actions .action-btn{flex:1;padding:10px 16px;border-radius:8px;border:none;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.food-suggestion-actions .log-btn{background:#34d399;color:#065f46}.food-suggestion-actions .log-btn:hover{background:#6ee7b7}.food-suggestion-actions .details-btn{background:#94a3b833;color:#94a3b8;border:1px solid rgba(148,163,184,.3)}.food-suggestion-actions .details-btn:hover{background:#94a3b84d;color:#fff}.food-suggestion-actions .revise-btn{background:#eab30833;color:#fbbf24;border:1px solid rgba(234,179,8,.3)}.food-suggestion-actions .revise-btn:hover{background:#eab3084d}.ai-message.food-log{background:linear-gradient(135deg,#065f46,#047857);border:1px solid #34d399}.ai-food-log-preview{background:#0003;border-radius:8px;padding:10px;margin-top:8px}.ai-food-log-preview .food-name{font-weight:600;color:#34d399;margin-bottom:4px}.ai-food-log-preview .food-macros{font-size:.8rem;color:#94a3b8}.ai-meal-type-selector{display:flex;gap:6px;margin:10px 0;flex-wrap:wrap;align-items:center}.ai-meal-type-selector label{font-size:.75rem;color:#94a3b8;margin-right:4px}.ai-meal-type-btn{padding:6px 12px;border-radius:16px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;background:#ffffff1a;color:#94a3b8;border:1px solid rgba(255,255,255,.2)}.ai-meal-type-btn:hover{background:#ffffff26;color:#fff}.ai-meal-type-btn.selected{background:#34d399;color:#065f46;border-color:#34d399}.ai-food-log-actions{display:flex;gap:8px;margin-top:10px}.ai-food-log-actions button{flex:1;padding:10px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.ai-food-log-actions .confirm-btn{background:#34d399;color:#065f46;border:none}.ai-food-log-actions .confirm-btn:hover{background:#6ee7b7}.ai-food-log-actions .cancel-btn{background:transparent;color:#94a3b8;border:1px solid #475569}.ai-food-log-actions .cancel-btn:hover{background:#ffffff1a}.ai-suggestions-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ai-suggestion-chip{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;font-size:.8rem;font-weight:500;cursor:pointer;border:none;background:#64748b1a;color:#64748b;transition:all .2s}.ai-suggestion-chip.protein{background:#ef44441a;color:#ef4444}.ai-suggestion-chip.ingredients{background:#eab3081a;border:1px solid rgba(234,179,8,.3);color:#b45309}[data-theme=dark] .ai-suggestion-chip{background:#94a3b81a;color:#94a3b8}.ai-suggestion-chip:hover{transform:translateY(-1px)}.ai-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ai-quick-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:10px;font-size:.8rem;color:var(--gray-700);cursor:pointer;transition:all .2s}[data-theme=dark] .ai-quick-btn{background:#334155;border-color:#475569;color:#e2e8f0}.ai-quick-btn:hover{background:var(--gray-200);transform:translateY(-1px)}.ai-chat-messages{max-height:200px;overflow-y:auto;margin-bottom:12px;padding:12px;background:var(--gray-50);border-radius:12px}[data-theme=dark] .ai-chat-messages{background:#0f172a}.ai-message{padding:10px 14px;border-radius:12px;margin-bottom:8px;font-size:.9rem;line-height:1.5}.ai-message.user{background:var(--brand-primary);color:#fff;margin-left:20%}.ai-message.assistant{background:#fff;color:var(--gray-800);margin-right:20%;border:1px solid var(--gray-200)}[data-theme=dark] .ai-message.assistant{background:#1e293b;color:#e2e8f0;border-color:#334155}.ai-loading{display:flex;align-items:center;gap:10px;padding:12px;color:var(--gray-500);font-size:.85rem}.ai-loading-dots{display:flex;gap:4px}.ai-loading-dots span{width:8px;height:8px;background:var(--brand-primary);border-radius:50%;animation:aiDotPulse 1.4s infinite ease-in-out both}.ai-loading-dots span:nth-child(1){animation-delay:-.32s}.ai-loading-dots span:nth-child(2){animation-delay:-.16s}.ai-loading-dots span:nth-child(3){animation-delay:0s}@keyframes aiDotPulse{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.ai-assistant-card.expanded{position:fixed;top:0;left:0;right:0;bottom:60px;z-index:1000;margin:0;border-radius:0;overflow-y:auto}.ai-expanded-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999}.ai-teaser-card{background:#fff;border-radius:16px;padding:16px;margin-bottom:16px;box-shadow:0 2px 12px #0000000a;border:1px solid var(--gray-100)}[data-theme=dark] .ai-teaser-card{background:#1e293b;border-color:#334155}.ai-teaser-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ai-teaser-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;color:var(--gray-800)}[data-theme=dark] .ai-teaser-title{color:#f1f5f9}.ai-teaser-open-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--brand-primary);border:none;border-radius:20px;color:#fff;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.ai-teaser-open-btn:hover{background:#0f766e}.ai-teaser-subtitle{font-size:.85rem;color:var(--gray-500);margin:0 0 12px}.ai-teaser-pills{display:flex;flex-wrap:wrap;gap:8px}.ai-teaser-pill{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:20px;color:var(--gray-700);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}[data-theme=dark] .ai-teaser-pill{background:#334155;border-color:#475569;color:#e2e8f0}.ai-teaser-pill:hover{background:var(--gray-100);border-color:var(--gray-300)}.ai-teaser-pill svg{color:var(--brand-primary)}.ai-teaser-pill.protein svg{color:#ef4444}.ai-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000}.ai-modal{position:fixed;top:0;left:0;right:0;bottom:60px;background:#fff;z-index:1001;display:flex;flex-direction:column}[data-theme=dark] .ai-modal{background:#1e293b}.ai-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--gray-100);flex-shrink:0}[data-theme=dark] .ai-modal-header{border-color:#334155}.ai-modal-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:1rem;color:var(--gray-800)}[data-theme=dark] .ai-modal-title{color:#f1f5f9}.ai-modal-header-actions{display:flex;align-items:center;gap:8px}.ai-modal-new-conversation{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border:none;border-radius:50%;color:var(--gray-600);cursor:pointer;transition:all .2s}[data-theme=dark] .ai-modal-new-conversation{background:#334155;color:#94a3b8}.ai-modal-new-conversation:hover{background:var(--gray-200);color:var(--gray-800)}[data-theme=dark] .ai-modal-new-conversation:hover{background:#475569;color:#f1f5f9}.ai-modal-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border:none;border-radius:50%;color:var(--gray-600);cursor:pointer;transition:all .2s}[data-theme=dark] .ai-modal-close{background:#334155;color:#94a3b8}.ai-modal-close:hover{background:var(--gray-200)}.ai-modal-content{flex:1;overflow-y:auto;padding:24px 20px;-webkit-overflow-scrolling:touch}.ai-modal-welcome{display:flex;flex-direction:column;align-items:flex-start}.ai-modal-greeting{font-size:1rem;color:var(--gray-500);margin:0 0 4px}.ai-modal-headline{font-size:1.5rem;font-weight:700;color:var(--gray-800);margin:0 0 24px;line-height:1.3}[data-theme=dark] .ai-modal-headline{color:#f1f5f9}.ai-modal-suggestions,.ai-modal-quick-actions{display:flex;flex-direction:column;gap:12px;width:100%}.ai-modal-suggestions{margin-bottom:20px}.ai-modal-pill{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:16px;color:var(--gray-700);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:left;width:100%}[data-theme=dark] .ai-modal-pill{background:#334155;border-color:#475569;color:#e2e8f0}.ai-modal-pill:hover{background:var(--gray-100);border-color:var(--gray-300)}[data-theme=dark] .ai-modal-pill:hover{background:#3f4f63;border-color:#64748b}.ai-modal-pill:active{transform:scale(.98)}.ai-modal-pill svg{flex-shrink:0;color:var(--brand-primary)}.ai-modal-pill.protein svg{color:#ef4444}.ai-modal-pill.calories svg{color:#3b82f6}.ai-modal-pill.hungry svg{color:#22c55e}.ai-modal-quick-actions.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ai-modal-quick-actions.grid .ai-modal-pill{padding:12px 14px;font-size:.875rem;gap:8px}.ai-modal-quick-actions.grid .ai-modal-pill span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-modal-messages{display:flex;flex-direction:column;gap:16px}.ai-modal-message{padding:14px 16px;border-radius:16px;max-width:90%}.ai-modal-message.user{background:var(--brand-primary);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.ai-modal-message.assistant{background:var(--gray-100);color:var(--gray-800);align-self:flex-start;border-bottom-left-radius:4px}[data-theme=dark] .ai-modal-message.assistant{background:#334155;color:#f1f5f9}.ai-undo-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 12px;font-size:.85rem;color:var(--gray-600);background:#fff;border:1px solid var(--gray-200);border-radius:8px;cursor:pointer;transition:all .2s ease}.ai-undo-btn:hover{background:var(--gray-100);color:var(--gray-800)}[data-theme=dark] .ai-undo-btn{background:#1e293b;border-color:#475569;color:#94a3b8}[data-theme=dark] .ai-undo-btn:hover{background:#334155;color:#f1f5f9}.ai-modal-loading{display:flex;align-items:center;gap:12px;padding:16px;color:var(--gray-500);font-size:.9rem}.ai-modal-input-area{padding:12px 16px;padding-bottom:max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--gray-100);background:#fff;flex-shrink:0}[data-theme=dark] .ai-modal-input-area{background:#1e293b;border-color:#334155}.ai-modal-meal-selector{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.ai-modal-meal-selector .meal-label{font-size:.8rem;color:var(--gray-500)}.ai-meal-chip{padding:6px 12px;background:var(--gray-100);border:none;border-radius:16px;font-size:.8rem;color:var(--gray-600);cursor:pointer;transition:all .2s}[data-theme=dark] .ai-meal-chip{background:#334155;color:#94a3b8}.ai-meal-chip:hover{background:var(--gray-200)}.ai-meal-chip.active{background:var(--brand-primary);color:#fff}.ai-modal-input-row{display:flex;gap:10px;align-items:center}.ai-modal-input{flex:1;padding:14px 18px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:24px;font-size:.95rem;color:var(--gray-800)}[data-theme=dark] .ai-modal-input{background:#334155;border-color:#475569;color:#f1f5f9}.ai-modal-input::placeholder{color:var(--gray-400)}.ai-modal-input:focus{outline:none;border-color:var(--brand-primary)}.ai-modal-input-row .voice-btn{width:48px;height:48px;min-height:48px;padding:0;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:50%;color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.ai-modal-input-row .voice-btn:hover{background:var(--gray-200);border-color:var(--gray-300);color:var(--gray-700)}.ai-modal-input-row .voice-btn.recording{background:#ef4444;border-color:#ef4444;color:#fff;animation:pulse 1.5s infinite}[data-theme=dark] .ai-modal-input-row .voice-btn{background:#334155;border-color:#475569;color:#94a3b8}[data-theme=dark] .ai-modal-input-row .voice-btn:hover{background:#3f4f63;border-color:#5a6a7e;color:#cbd5e1}[data-theme=dark] .ai-modal-input-row .voice-btn.recording{background:#ef4444;border-color:#ef4444;color:#fff}.ai-modal-send{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--brand-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s;flex-shrink:0}.ai-modal-send:hover{background:#0f766e;transform:scale(1.05)}.ai-modal-send:disabled{opacity:.5;cursor:not-allowed;transform:none}.daily-report-card h3{font-size:1.1rem;font-weight:600;color:var(--gray-800);margin-bottom:16px;text-align:center}[data-theme=dark] .daily-report-card h3{color:#f1f5f9}.report-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.report-stat{text-align:center}.report-value{display:block;font-size:1.25rem;font-weight:700;color:var(--brand-primary)}.report-label{display:block;font-size:.75rem;color:var(--gray-500);margin-top:4px}.report-progress{display:flex;flex-direction:column;gap:12px}.progress-item{display:flex;align-items:center;gap:10px}.progress-item span:first-child{width:70px;font-size:.85rem;color:var(--gray-600)}.progress-item span:last-child{width:40px;text-align:right;font-size:.85rem;font-weight:600;color:var(--gray-700)}.progress-bar{flex:1;height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden}[data-theme=dark] .progress-bar{background:#334155}.progress-fill.protein{background:#3b82f6}.progress-fill.water{background:#06b6d4}.search-input{flex:1;padding:12px 16px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:12px;font-size:.95rem;color:var(--gray-800)}[data-theme=dark] .search-input{background:#334155;border-color:#475569;color:#f1f5f9}.search-results{max-height:300px;overflow-y:auto}.search-result-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--gray-100);cursor:pointer;transition:background .2s}[data-theme=dark] .search-result-item{border-color:#334155}.search-result-item:hover{background:var(--gray-50)}[data-theme=dark] .search-result-item:hover{background:#1e293b}.food-info{display:flex;flex-direction:column;gap:2px}.food-name{font-weight:500;color:var(--gray-800)}[data-theme=dark] .food-name{color:#f1f5f9}.food-brand{font-size:.8rem;color:var(--gray-500)}.food-cals{font-weight:600;color:var(--brand-primary)}.quick-add-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px;background:#fff;border:1px solid var(--gray-200);border-radius:12px;cursor:pointer;transition:all .2s;text-align:left}[data-theme=dark] .quick-add-btn{background:#1e293b;border-color:#334155}.quick-add-btn:hover{border-color:var(--brand-primary);transform:translateY(-1px)}@media(min-width:640px){.quick-actions-grid{grid-template-columns:repeat(4,1fr);gap:16px}.progress-ring-container svg{width:80px;height:80px}.progress-ring-value .current{font-size:16px}}.settings-page{padding-bottom:20px}.profile-header{text-align:center;padding:24px 20px 32px}.profile-header-avatar{width:100px;height:100px;border-radius:50%;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-size:2.5rem;font-weight:600;margin:0 auto 16px;box-shadow:0 4px 20px #0d94884d}.profile-header-avatar-img{width:100px;height:100px;border-radius:50%;object-fit:cover;display:block;border:4px solid var(--brand-primary);box-shadow:0 4px 20px #0d94884d}.profile-avatar-wrapper{position:relative;width:100px;height:100px;margin:0 auto 16px;cursor:pointer}.profile-avatar-wrapper:active{transform:scale(.95)}.profile-avatar-wrapper .profile-header-avatar,.profile-avatar-wrapper .profile-header-avatar-img{margin:0}.profile-avatar-wrapper .profile-header-avatar.uploading{opacity:.7}.profile-avatar-edit{position:absolute;bottom:0;right:0;width:28px;height:28px;background:var(--brand-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:2px solid var(--gray-50);box-shadow:0 2px 8px #0003}[data-theme=dark] .profile-avatar-edit{border-color:var(--gray-800)}.profile-header-name{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin-bottom:4px}[data-theme=dark] .profile-header-name{color:#f1f5f9}.profile-header-email{font-size:.95rem;color:var(--gray-500)}.settings-card{background:#fff;border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;border:1px solid var(--gray-100)}[data-theme=dark] .settings-card{background:#1e293b;border-color:#334155}.settings-card-title{font-size:.75rem;font-weight:700;letter-spacing:.05em;color:var(--gray-500);margin-bottom:16px;text-transform:uppercase}[data-theme=dark] .settings-card-title{color:#64748b}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;width:100%;background:none;border:none;text-align:left;cursor:default}.settings-item.clickable{cursor:pointer}.settings-item.clickable:active{opacity:.7}.settings-item-left{display:flex;align-items:center;gap:14px}.settings-icon-box{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-icon-box.teal{background:#0d948826;color:var(--brand-primary)}.settings-icon-box.purple{background:#8b5cf626;color:#8b5cf6}.settings-icon-box.orange{background:#f59e0b26;color:#f59e0b}.settings-icon-box.logout{background:#ef44441a;color:#ef4444}.settings-item-text{display:flex;flex-direction:column}.settings-item-title{font-size:1rem;font-weight:600;color:var(--gray-800)}[data-theme=dark] .settings-item-title{color:#f1f5f9}.settings-item-title.logout-text{color:#ef4444}.settings-item-subtitle{font-size:.85rem;color:var(--gray-500);margin-top:2px}[data-theme=dark] .settings-item-subtitle{color:#64748b}.settings-chevron{color:var(--gray-400)}[data-theme=dark] .settings-chevron{color:#64748b}.settings-divider{height:1px;background:var(--gray-200);margin:8px 0}[data-theme=dark] .settings-divider{background:#334155}.toggle-switch{width:52px;height:30px;border-radius:15px;background:var(--gray-300);border:none;cursor:pointer;position:relative;transition:background .3s ease;flex-shrink:0}.toggle-switch.active{background:var(--brand-primary)}.toggle-knob{position:absolute;width:24px;height:24px;background:#fff;border-radius:50%;top:3px;left:3px;transition:left .3s ease;box-shadow:0 2px 4px #0003}.toggle-switch.active .toggle-knob{left:25px}.coach-item{padding:12px 0}.coach-info{display:flex;align-items:center;gap:12px}.coach-avatar{width:48px;height:48px;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;flex-shrink:0}.coach-avatar-img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.coach-details{display:flex;flex-direction:column}.coach-name{font-size:1rem;font-weight:600;color:var(--gray-800)}[data-theme=dark] .coach-name{color:#f1f5f9}.coach-label{font-size:.85rem;color:var(--gray-500);margin-top:2px}[data-theme=dark] .coach-label{color:#64748b}.settings-version{text-align:center;padding:24px 20px;font-size:.85rem;color:var(--gray-500)}[data-theme=dark] .settings-version{color:#64748b}.logout-item{cursor:pointer}.logout-item:active{opacity:.7}.plans-page{padding-bottom:20px}.page-title{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin-bottom:20px}[data-theme=dark] .page-title{color:#f1f5f9}.plans-loading{display:flex;flex-direction:column;gap:16px}.plan-skeleton{height:180px;border-radius:16px}.plans-grid{display:flex;flex-direction:column;gap:16px}.plan-card{background:#fff;border-radius:20px;padding:20px;box-shadow:0 2px 12px #0000000a;border:1px solid var(--gray-100);cursor:pointer;transition:all .2s}[data-theme=dark] .plan-card{background:#1e293b;border-color:#334155}.plan-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014;border-color:var(--brand-primary)}.plan-card-header{margin-bottom:12px}.plan-card-title{font-size:1.1rem;font-weight:700;color:var(--brand-primary);margin-bottom:4px}.plan-card-date{font-size:.85rem;color:var(--gray-500)}.plan-card-summary{font-size:.9rem;color:var(--gray-600);line-height:1.5;margin-bottom:16px;padding:12px 16px;background:#0d94881a;border-left:3px solid var(--brand-primary);border-radius:0 12px 12px 0}[data-theme=dark] .plan-card-summary{background:#14b8a626;color:#94a3b8}.plan-card-details{display:flex;flex-wrap:wrap;gap:12px;background:var(--gray-50);padding:12px 16px;border-radius:12px;margin-bottom:16px}[data-theme=dark] .plan-card-details{background:#0f172a}.empty-state-card{background:#fff;border-radius:20px;padding:40px 20px;text-align:center;box-shadow:0 2px 12px #0000000a;border:1px solid var(--gray-100)}[data-theme=dark] .empty-state-card{background:#1e293b;border-color:#334155}.empty-state-card .empty-state-icon{font-size:3rem;margin-bottom:16px}.empty-state-card .empty-state-title{font-size:1.25rem;font-weight:700;color:var(--gray-800);margin-bottom:8px}[data-theme=dark] .empty-state-card .empty-state-title{color:#f1f5f9}.empty-state-card .empty-state-text{font-size:.95rem;color:var(--gray-500)}.plan-detail-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.back-btn{width:44px;height:44px;border-radius:50%;background:var(--gray-100);border:none;color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}[data-theme=dark] .back-btn{background:#334155;color:#94a3b8}.back-btn:hover{background:var(--gray-200)}.plan-detail-title h1{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin-bottom:4px}[data-theme=dark] .plan-detail-title h1{color:#f1f5f9}.plan-detail-date{font-size:.9rem;color:var(--gray-500)}.plan-stats{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.plan-stat{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border-radius:12px;border:1px solid var(--gray-200);font-size:.9rem;font-weight:500;color:var(--gray-700)}[data-theme=dark] .plan-stat{background:#1e293b;border-color:#334155;color:#e2e8f0}.plan-stat svg{color:var(--brand-primary)}.coach-notes-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);padding:16px 20px;border-radius:12px;margin-bottom:20px;border:1px solid #7dd3fc}[data-theme=dark] .coach-notes-section{background:linear-gradient(135deg,#0c4a6e,#075985);border-color:#0284c7}.coach-notes-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.coach-notes-header svg{color:#0369a1}[data-theme=dark] .coach-notes-header svg{color:#7dd3fc}.coach-notes-header h3{margin:0;color:#0369a1;font-size:1rem;font-weight:600}[data-theme=dark] .coach-notes-header h3{color:#7dd3fc}.coach-notes-content{margin:0;color:#334155;font-size:.95rem;line-height:1.6;white-space:pre-wrap}[data-theme=dark] .coach-notes-content{color:#e2e8f0}.day-navigator{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:12px;background:#fff;border-radius:16px;border:1px solid var(--gray-100)}[data-theme=dark] .day-navigator{background:#1e293b;border-color:#334155}.day-nav-btn{width:36px;height:36px;border-radius:50%;background:var(--gray-100);border:none;color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}[data-theme=dark] .day-nav-btn{background:#334155;color:#94a3b8}.day-nav-btn:hover:not(:disabled){background:var(--gray-200)}.day-nav-btn:disabled{opacity:.4;cursor:not-allowed}.day-tabs{display:flex;gap:8px;flex:1;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.day-tabs::-webkit-scrollbar{display:none}.day-tab{padding:10px 16px;border-radius:10px;background:var(--gray-100);border:none;color:var(--gray-600);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}[data-theme=dark] .day-tab{background:#334155;color:#94a3b8}.day-tab:hover{background:var(--gray-200)}.day-tab.active{background:var(--brand-primary);color:#fff}.day-content{background:#fff;border-radius:20px;padding:20px;box-shadow:0 2px 12px #0000000a;border:1px solid var(--gray-100)}[data-theme=dark] .day-content{background:#1e293b;border-color:#334155}.day-title{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin-bottom:16px}[data-theme=dark] .day-title{color:#f1f5f9}.meals-list{display:flex;flex-direction:column;gap:16px}.meal-card{background:var(--gray-50);border-radius:16px;padding:16px;border:1px solid var(--gray-100);overflow:hidden;position:relative}[data-theme=dark] .meal-card{background:#0f172a;border-color:#334155}.meal-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.meal-type-icon{flex-shrink:0}.meal-type-icon.breakfast{color:#f59e0b}.meal-type-icon.lunch{color:#eab308}.meal-type-icon.dinner{color:#8b5cf6}.meal-type-icon.snack{color:#ef4444}.meal-card-type{font-size:.85rem;font-weight:600;color:var(--gray-600);text-transform:capitalize}[data-theme=dark] .meal-card-type{color:#94a3b8}.meal-card-calories{margin-left:auto;font-size:.85rem;font-weight:600;color:var(--brand-primary)}.meal-card-name{font-size:1.1rem;font-weight:700;color:var(--gray-900);margin-bottom:8px}[data-theme=dark] .meal-card-name{color:#f1f5f9}.meal-card-description{font-size:.9rem;color:var(--gray-600);line-height:1.5;margin-bottom:12px}[data-theme=dark] .meal-card-description{color:#94a3b8}.meal-ingredients{margin-bottom:12px}.meal-ingredients h4,.meal-instructions h4{font-size:.85rem;font-weight:600;color:var(--gray-700);margin-bottom:8px}[data-theme=dark] .meal-ingredients h4,[data-theme=dark] .meal-instructions h4{color:#e2e8f0}.meal-ingredients ul{list-style:none;padding:0;margin:0}.meal-ingredients li{font-size:.85rem;color:var(--gray-600);padding:4px 0 4px 16px;position:relative}[data-theme=dark] .meal-ingredients li{color:#94a3b8}.meal-ingredients li:before{content:"•";position:absolute;left:0;color:var(--brand-primary)}.meal-instructions{margin-bottom:12px}.meal-instructions p{font-size:.85rem;color:var(--gray-600);line-height:1.6}[data-theme=dark] .meal-instructions p{color:#94a3b8}.meal-macros{display:flex;gap:12px;padding-top:12px;border-top:1px solid var(--gray-200)}[data-theme=dark] .meal-macros{border-color:#334155}.meal-macros .macro{font-size:.8rem;font-weight:600;padding:4px 10px;border-radius:6px}.meal-macros .macro.protein{background:#3b82f61a;color:#3b82f6}.meal-macros .macro.carbs{background:#f59e0b1a;color:#f59e0b}.meal-macros .macro.fat{background:#ef44441a;color:#ef4444}.empty-day{text-align:center;padding:40px 20px;color:var(--gray-500)}.empty-day p{font-size:.95rem}.daily-targets-card{background:#fff;border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 2px 12px #0000000a;border:1px solid var(--gray-100)}[data-theme=dark] .daily-targets-card{background:#1e293b;border-color:#334155}.daily-targets-title{font-size:1rem;font-weight:700;color:var(--gray-900);margin-bottom:16px;text-align:center}[data-theme=dark] .daily-targets-title{color:#f1f5f9}.daily-targets-grid{display:flex;justify-content:center;gap:8px;width:100%;margin:0 auto}.target-box{background:#1e293b;border-radius:12px;padding:12px 6px;text-align:center;display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;max-width:85px}.target-box.calories{background:#14b8a6}.target-box.protein{background:#3b82f6}.target-box.carbs{background:#f59e0b}.target-box.fat{background:#ef4444}.target-value{font-size:1.1rem;font-weight:700;color:#fff;white-space:nowrap}.target-label{font-size:.6rem;font-weight:600;color:#ffffffe6;text-transform:uppercase;letter-spacing:.3px}.meal-card-image{width:100%;height:180px;border-radius:12px 12px 0 0;overflow:hidden;margin:-16px -16px 0;width:calc(100% + 32px)}.meal-card-content{padding-top:12px}.meal-card-image+.meal-card-content{padding-top:16px}.meal-macros-inline{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;max-width:100%}.macro-item{font-size:.75rem;font-weight:600;color:var(--gray-600);background:var(--gray-100);padding:3px 8px;border-radius:6px;white-space:nowrap}[data-theme=dark] .macro-item{background:#334155;color:#94a3b8}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:1;visibility:visible}.modal-content{background:linear-gradient(180deg,#1e293b,#0f172a);border-radius:24px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 80px #00000080,0 0 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.08)}[data-theme=dark] .modal-content{background:linear-gradient(180deg,#1e293b,#0f172a)}[data-theme=light] .modal-content{background:#fff;box-shadow:0 25px 80px #00000026,0 0 0 1px #0000000d;border:1px solid var(--gray-200)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff05}[data-theme=dark] .modal-header{border-color:#ffffff14}.modal-header h2{font-size:1.35rem;font-weight:700;color:#f1f5f9;margin:0;letter-spacing:-.3px}[data-theme=dark] .modal-header h2{color:#f1f5f9}.modal-close{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#94a3b8;cursor:pointer;padding:8px;border-radius:12px;transition:all .25s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#ef444426;border-color:#ef44444d;color:#f87171;transform:rotate(90deg)}[data-theme=dark] .modal-close:hover{background:#ef444426;color:#f87171}[data-theme=light] .modal-header{border-bottom:1px solid var(--gray-200);background:var(--gray-50)}[data-theme=light] .modal-header h2{color:var(--gray-900)}[data-theme=light] .modal-close{background:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-600)}[data-theme=light] .modal-close:hover{background:#ef44441a;border-color:#ef44444d;color:#dc2626}.modal-body{padding:24px}.modal-error{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:10px;font-size:.9rem;margin-bottom:16px}[data-theme=dark] .modal-error{background:#dc262626}.photo-capture-options{text-align:center;padding:20px 0}.photo-instructions{color:var(--gray-600);margin-bottom:24px;font-size:.95rem}[data-theme=dark] .photo-instructions{color:#94a3b8}.photo-buttons{display:flex;gap:16px;justify-content:center}.photo-option-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 32px;background:var(--gray-50);border:2px solid var(--gray-200);border-radius:16px;cursor:pointer;transition:all .2s;color:var(--gray-700)}.photo-option-btn:hover{border-color:var(--brand-primary);background:#14b8a60d;color:var(--brand-primary)}[data-theme=dark] .photo-option-btn{background:#0f172a;border-color:#334155;color:#e2e8f0}[data-theme=dark] .photo-option-btn:hover{border-color:var(--brand-primary);background:#14b8a61a}.photo-option-btn span{font-size:.9rem;font-weight:600}.photo-preview-section{display:flex;flex-direction:column;gap:16px}.photo-preview-img{width:100%;border-radius:12px;max-height:250px;object-fit:cover}.photo-preview-img.small{max-height:150px}.photo-details-input{display:flex;flex-direction:column;gap:8px}.photo-details-input label{font-size:.85rem;font-weight:600;color:var(--gray-700)}[data-theme=dark] .photo-details-input label{color:#e2e8f0}.photo-details-input input{padding:12px 16px;border:1px solid var(--gray-200);border-radius:10px;font-size:.95rem;background:var(--gray-50)}[data-theme=dark] .photo-details-input input{background:#0f172a;border-color:#334155;color:#f1f5f9}.photo-actions,.scan-actions{display:flex;gap:12px;margin-top:8px}.photo-actions .btn-secondary,.scan-actions .btn-secondary{flex:1}.photo-actions .btn-primary,.scan-actions .btn-primary{flex:2}.photo-results-section{display:flex;flex-direction:column;gap:16px}.photo-results-section h3{font-size:1rem;font-weight:700;color:var(--gray-900);margin:0}[data-theme=dark] .photo-results-section h3{color:#f1f5f9}.detected-foods-list{display:flex;flex-direction:column;gap:12px}.detected-food-item{background:var(--gray-50);border-radius:12px;padding:14px 16px}[data-theme=dark] .detected-food-item{background:#0f172a}.detected-food-name{font-weight:600;color:var(--gray-900);margin-bottom:6px}[data-theme=dark] .detected-food-name{color:#f1f5f9}.detected-food-macros{display:flex;gap:12px;font-size:.8rem;color:var(--gray-600)}[data-theme=dark] .detected-food-macros{color:#94a3b8}.photo-results-header{display:flex;justify-content:space-between;align-items:center}.btn-text-danger{background:none;border:none;color:#dc2626;font-size:.875rem;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s}.btn-text-danger:hover{background:#dc26261a}[data-theme=dark] .btn-text-danger{color:#f87171}[data-theme=dark] .btn-text-danger:hover{background:#f871711a}.detected-food-item-editable{background:var(--gray-50);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}[data-theme=dark] .detected-food-item-editable{background:#0f172a}.detected-food-header{display:flex;justify-content:space-between;align-items:flex-start}.delete-food-btn{background:none;border:none;color:#dc2626;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.delete-food-btn:hover{background:#dc26261a}[data-theme=dark] .delete-food-btn{color:#f87171}[data-theme=dark] .delete-food-btn:hover{background:#f871711a}.detected-food-servings{display:flex;align-items:center;gap:12px}.detected-food-servings label{font-size:.875rem;color:var(--gray-600);font-weight:500}[data-theme=dark] .detected-food-servings label{color:#94a3b8}.photo-results-total{display:flex;justify-content:space-between;padding:12px 16px;background:#14b8a61a;border-radius:10px;font-weight:600;color:var(--brand-primary)}.btn-primary{background:var(--brand-primary);color:#fff;border:none;padding:14px 24px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.btn-primary:hover{background:#0d9488;transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:var(--gray-100);color:var(--gray-700);border:none;padding:14px 24px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--gray-200)}[data-theme=dark] .btn-secondary{background:#334155;color:#e2e8f0}[data-theme=dark] .btn-secondary:hover{background:#475569}.full-width{width:100%}.spin{animation:spin 1s linear infinite}.search-input-wrapper{position:relative;margin-bottom:16px}.search-input-wrapper .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--gray-400)}.search-input-wrapper .search-input{width:100%;padding:14px 14px 14px 44px;border:1px solid var(--gray-200);border-radius:12px;font-size:1rem;background:var(--gray-50)}[data-theme=dark] .search-input-wrapper .search-input{background:#0f172a;border-color:#334155;color:#f1f5f9}.search-input-wrapper .search-input:focus{outline:none;border-color:var(--brand-primary)}.search-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0;color:var(--gray-500)}.search-results{display:flex;flex-direction:column;gap:8px;max-height:350px;overflow-y:auto}.search-result-item{padding:14px 16px;background:var(--gray-50);border-radius:12px;cursor:pointer;transition:all .2s}.search-result-item:hover{background:#14b8a61a}[data-theme=dark] .search-result-item{background:#0f172a}[data-theme=dark] .search-result-item:hover{background:#14b8a626}.search-result-name{font-weight:600;color:var(--gray-900);margin-bottom:4px}[data-theme=dark] .search-result-name{color:#f1f5f9}.search-result-brand{font-size:.8rem;color:var(--gray-500);margin-bottom:6px}.search-result-macros{display:flex;gap:10px;font-size:.8rem;color:var(--gray-600)}[data-theme=dark] .search-result-macros{color:#94a3b8}.search-empty{text-align:center;padding:40px 0;color:var(--gray-500)}.food-detail-section{display:flex;flex-direction:column;gap:16px}.back-link{background:none;border:none;color:var(--brand-primary);font-size:.9rem;font-weight:600;cursor:pointer;padding:0;text-align:left}.food-detail-name{font-size:1.2rem;font-weight:700;color:var(--gray-900);margin:0}[data-theme=dark] .food-detail-name{color:#f1f5f9}.food-detail-brand{font-size:.9rem;color:var(--gray-500);margin:0}.serving-selector{display:flex;flex-direction:column;gap:8px}.serving-selector label{font-size:.85rem;font-weight:600;color:var(--gray-700)}[data-theme=dark] .serving-selector label{color:#e2e8f0}.serving-selector select{padding:12px 16px;border:1px solid var(--gray-200);border-radius:10px;font-size:.95rem;background:var(--gray-50);cursor:pointer}[data-theme=dark] .serving-selector select{background:#0f172a;border-color:#334155;color:#f1f5f9}.serving-default{padding:12px 16px;background:var(--gray-50);border-radius:10px;color:var(--gray-700)}[data-theme=dark] .serving-default{background:#0f172a;color:#e2e8f0}.servings-adjuster{display:flex;flex-direction:column;gap:8px}.servings-adjuster label{font-size:.85rem;font-weight:600;color:var(--gray-700)}[data-theme=dark] .servings-adjuster label{color:#e2e8f0}.servings-controls{display:flex;align-items:center;gap:16px;background:var(--gray-50);border-radius:10px;padding:8px 16px;width:fit-content}[data-theme=dark] .servings-controls{background:#0f172a}.servings-controls button{width:36px;height:36px;border-radius:50%;border:none;background:var(--brand-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.servings-controls button:hover{background:#0d9488;transform:scale(1.05)}.servings-value{font-size:1.25rem;font-weight:700;color:var(--gray-900);min-width:40px;text-align:center}[data-theme=dark] .servings-value{color:#f1f5f9}.nutrition-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0}.nutrition-item{text-align:center;padding:14px 8px;border-radius:12px;background:var(--gray-50)}[data-theme=dark] .nutrition-item{background:#0f172a}.nutrition-item.calories{background:#14b8a626}.nutrition-item.protein{background:#3b82f626}.nutrition-item.carbs{background:#f59e0b26}.nutrition-item.fat{background:#ef444426}.nutrition-value{display:block;font-size:1.1rem;font-weight:700;color:var(--gray-900)}[data-theme=dark] .nutrition-value{color:#f1f5f9}.nutrition-label{display:block;font-size:.7rem;font-weight:600;color:var(--gray-600);text-transform:uppercase;margin-top:4px}[data-theme=dark] .nutrition-label{color:#94a3b8}.favorites-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0;color:var(--gray-500)}.favorites-empty{text-align:center;padding:40px 20px}.favorites-empty .empty-icon{color:var(--gray-300);margin-bottom:16px}.favorites-empty h3{font-size:1.1rem;font-weight:700;color:var(--gray-700);margin:0 0 8px}[data-theme=dark] .favorites-empty h3{color:#e2e8f0}.favorites-empty p{font-size:.9rem;color:var(--gray-500);margin:0}.favorites-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.favorite-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--gray-50);border-radius:12px;cursor:pointer;transition:all .2s}.favorite-item:hover{background:#14b8a61a}[data-theme=dark] .favorite-item{background:#0f172a}[data-theme=dark] .favorite-item:hover{background:#14b8a626}.favorite-info{flex:1}.favorite-name{font-weight:600;color:var(--gray-900);margin-bottom:4px}[data-theme=dark] .favorite-name{color:#f1f5f9}.favorite-type{font-size:.8rem;color:var(--brand-primary);text-transform:capitalize;margin-bottom:6px}.favorite-macros{display:flex;gap:10px;font-size:.8rem;color:var(--gray-600)}[data-theme=dark] .favorite-macros{color:#94a3b8}.favorite-delete-btn{background:none;border:none;color:#ef4444;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s}.favorite-delete-btn:hover{background:#ef44441a}.scan-analyzing{display:flex;flex-direction:column;align-items:center;gap:16px}.analyzing-indicator{display:flex;align-items:center;gap:12px;color:var(--gray-600);font-size:.95rem}[data-theme=dark] .analyzing-indicator{color:#94a3b8}.scan-results-section{display:flex;flex-direction:column;gap:16px}.serving-info{font-size:.9rem;color:var(--gray-500);margin:0}.scan-error-section{display:flex;flex-direction:column;gap:16px;align-items:center}.recipes-page{min-height:100vh;background:var(--gray-50);padding-bottom:100px}[data-theme=dark] .recipes-page{background:#0f172a}.page-header-gradient{background:linear-gradient(135deg,#0d9488,#0284c7);color:#fff;padding:20px 24px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:100}.page-header-gradient .header-text h1{font-size:1.5rem;font-weight:700;margin:0}.page-header-gradient .header-text p{font-size:.875rem;opacity:.9;margin:4px 0 0}.back-btn-circle{background:#fff3;border:none;color:#fff;width:40px;height:40px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}.category-tabs-scroll{display:flex;gap:8px;padding:16px 20px;background:#fff;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--gray-200)}[data-theme=dark] .category-tabs-scroll{background:#1e293b;border-color:#334155}.category-tab-btn{display:flex;flex-direction:column;align-items:center;padding:12px 16px;border-radius:12px;background:var(--gray-100);border:2px solid transparent;cursor:pointer;transition:all .2s;min-width:80px}[data-theme=dark] .category-tab-btn{background:#334155}.category-tab-btn.active{background:#0d94881a;border-color:#0d9488}[data-theme=dark] .category-tab-btn.active{background:#14b8a633;border-color:#14b8a6}.category-tab-btn .category-icon{font-size:24px;margin-bottom:4px}.category-tab-btn .category-label{font-size:11px;font-weight:600;color:var(--gray-500);text-align:center}.category-tab-btn.active .category-label{color:#0d9488}[data-theme=dark] .category-tab-btn .category-label{color:#94a3b8}[data-theme=dark] .category-tab-btn.active .category-label{color:#14b8a6}.recipes-content{padding:20px}.recipes-grid{display:grid;gap:16px}.recipe-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:all .2s}.recipe-card:active{transform:scale(.98)}[data-theme=dark] .recipe-card{background:#1e293b}.recipe-image{width:100%;height:160px;object-fit:cover}.recipe-image-placeholder{width:100%;height:160px;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);display:flex;align-items:center;justify-content:center;font-size:48px}[data-theme=dark] .recipe-image-placeholder{background:linear-gradient(135deg,#334155,#475569)}.recipe-card-content{padding:16px}.recipe-time-badge{display:inline-flex;align-items:center;gap:4px;background:#0d94881a;color:#0d9488;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;margin-bottom:8px}[data-theme=dark] .recipe-time-badge{background:#14b8a633;color:#14b8a6}.recipe-name{font-size:16px;font-weight:600;color:var(--gray-900);margin-bottom:8px;line-height:1.3}[data-theme=dark] .recipe-name{color:#f1f5f9}.recipe-macros{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--gray-500)}.recipe-macros strong{color:var(--gray-900)}[data-theme=dark] .recipe-macros{color:#94a3b8}[data-theme=dark] .recipe-macros strong{color:#f1f5f9}.modal-bottom-sheet{border-radius:24px 24px 0 0;max-height:90vh;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.recipe-modal-image{width:100%;height:200px;object-fit:cover;border-radius:12px;margin-bottom:20px}.recipe-section{margin-bottom:24px}.recipe-section-title{font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}[data-theme=dark] .recipe-section-title{color:#94a3b8}.recipe-nutrition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:var(--gray-100);padding:16px;border-radius:12px}[data-theme=dark] .recipe-nutrition-grid{background:#334155}.nutrition-box{text-align:center}.nutrition-box .nutrition-value{font-size:20px;font-weight:700}.nutrition-box .nutrition-value.calories{color:#f59e0b}.nutrition-box .nutrition-value.protein{color:#10b981}.nutrition-box .nutrition-value.carbs{color:#3b82f6}.nutrition-box .nutrition-value.fat{color:#8b5cf6}.nutrition-box .nutrition-label{font-size:11px;color:var(--gray-500);text-transform:uppercase}.recipe-ingredients-list{padding-left:20px;font-size:15px;color:var(--gray-900);line-height:1.6}[data-theme=dark] .recipe-ingredients-list{color:#e2e8f0}.recipe-ingredients-list li{margin-bottom:8px}.recipe-instructions{font-size:15px;color:var(--gray-900);line-height:1.6}[data-theme=dark] .recipe-instructions{color:#e2e8f0}.recipe-step{margin-bottom:12px}.recipe-source-link{display:flex;align-items:center;gap:6px;color:var(--brand-primary);text-decoration:none;font-size:14px;margin-bottom:16px}.recipe-source-link:hover{text-decoration:underline}.recipes-main-tabs{display:flex;background:#fff;border-bottom:1px solid var(--gray-200)}[data-theme=dark] .recipes-main-tabs{background:#1e293b;border-color:#334155}.recipes-main-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background:none;border:none;border-bottom:3px solid transparent;color:var(--gray-500);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.recipes-main-tab:hover{color:var(--gray-700)}.recipes-main-tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}[data-theme=dark] .recipes-main-tab{color:#94a3b8}[data-theme=dark] .recipes-main-tab:hover{color:#e2e8f0}[data-theme=dark] .recipes-main-tab.active{color:#14b8a6;border-bottom-color:#14b8a6}.discover-search-container{padding:16px 20px;background:#fff;border-bottom:1px solid var(--gray-200)}[data-theme=dark] .discover-search-container{background:#1e293b;border-color:#334155}.discover-search-form{display:flex;gap:10px}.discover-search-input-wrapper{flex:1;position:relative}.discover-search-input-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--gray-400)}.discover-search-input{width:100%;padding:12px 12px 12px 40px;border:1px solid var(--gray-300);border-radius:10px;font-size:15px;background:var(--gray-50)}.discover-search-input:focus{outline:none;border-color:var(--brand-primary);background:#fff}[data-theme=dark] .discover-search-input{background:#0f172a;border-color:#475569;color:#f1f5f9}[data-theme=dark] .discover-search-input:focus{background:#1e293b;border-color:#14b8a6}.discover-diet-select{padding:12px 14px;border:1px solid var(--gray-300);border-radius:10px;font-size:14px;background:#fff;cursor:pointer;min-width:110px}[data-theme=dark] .discover-diet-select{background:#0f172a;border-color:#475569;color:#f1f5f9}.discover-search-btn{padding:12px 16px;background:var(--brand-primary);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.discover-search-btn:hover{background:var(--brand-primary-dark)}.discover-results-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;font-size:14px;color:var(--gray-500)}[data-theme=dark] .discover-results-header{color:#94a3b8}.discover-refresh-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#0d94881a;border:1px solid var(--brand-primary);border-radius:8px;color:var(--brand-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.discover-refresh-btn:hover{background:var(--brand-primary);color:#fff}[data-theme=dark] .discover-refresh-btn{background:#14b8a626;border-color:#14b8a6;color:#14b8a6}[data-theme=dark] .discover-refresh-btn:hover{background:#14b8a6;color:#0f172a}.recipe-time-badge.spoonacular{background:#3b82f626;color:#3b82f6}[data-theme=dark] .recipe-time-badge.spoonacular{background:#3b82f640;color:#60a5fa}.recipe-action-buttons{display:flex;gap:10px;margin-top:16px}.recipe-action-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;border:1px solid var(--gray-200);border-radius:12px;background:var(--gray-50);color:var(--gray-700);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.recipe-action-btn:hover{background:var(--gray-100)}.recipe-action-btn:active{transform:scale(.98)}[data-theme=dark] .recipe-action-btn{background:#334155;border-color:#475569;color:#e2e8f0}[data-theme=dark] .recipe-action-btn:hover{background:#3f4f63}.recipe-action-btn.favorite svg{color:#ef4444}.recipe-action-btn.favorite:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}[data-theme=dark] .recipe-action-btn.favorite:hover{background:#ef444433}.recipe-action-btn.log svg{color:var(--brand-primary)}.recipe-action-btn.log:hover{background:#0d94881a;border-color:var(--brand-primary);color:var(--brand-primary)}[data-theme=dark] .recipe-action-btn.log:hover{background:#14b8a633;border-color:#14b8a6;color:#14b8a6}.recipe-action-btn.download svg{color:#3b82f6}.recipe-action-btn.download:hover{background:#3b82f61a;border-color:#3b82f6;color:#3b82f6}[data-theme=dark] .recipe-action-btn.download:hover{background:#3b82f633}.checkin-page{min-height:100vh;background:var(--gray-50);padding-bottom:100px}[data-theme=dark] .checkin-page{background:#0f172a}.page-header-gradient .page-title{flex:1;font-size:1.25rem;font-weight:700}.streak-badge{background:#fff3;padding:8px 14px;border-radius:20px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px}.checkin-content{padding:20px;max-width:600px;margin:0 auto}.rating-group{margin-bottom:28px;padding:16px;background:#ffffff08;border-radius:16px;border:1px solid rgba(255,255,255,.06)}.rating-label{display:block;margin-bottom:14px;font-weight:600;color:#e2e8f0;font-size:15px;letter-spacing:.2px}[data-theme=dark] .rating-label{color:#e2e8f0}.rating-hint{font-weight:400;color:#64748b;font-size:.85em}.rating-buttons{display:flex;gap:8px}.rating-btn{flex:1;min-width:44px;max-width:56px;height:48px;border:2px solid rgba(255,255,255,.1);border-radius:14px;background:#1e293b80;font-size:17px;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);color:#94a3b8;position:relative;overflow:hidden}.rating-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.05) 100%);opacity:0;transition:opacity .25s ease}[data-theme=dark] .rating-btn{background:#1e293b80;border-color:#47556980;color:#e2e8f0}.rating-btn:hover{border-color:#14b8a680;background:#14b8a61a;transform:translateY(-3px);color:#5eead4}.rating-btn:hover:after{opacity:1}[data-theme=dark] .rating-btn:hover{border-color:#14b8a699;background:#14b8a626}[data-theme=light] .rating-group{background:var(--gray-50);border:1px solid var(--gray-200)}[data-theme=light] .rating-label{color:var(--gray-800)}[data-theme=light] .rating-btn{background:#fff;border-color:var(--gray-300);color:var(--gray-600)}[data-theme=light] .rating-btn:hover{border-color:var(--brand-primary);background:#14b8a60d;color:var(--brand-primary)}[data-theme=light] .adherence-container{background:var(--gray-50);border:1px solid var(--gray-200)}[data-theme=light] .adherence-slider{background:var(--gray-200)}.rating-btn.selected{border-color:transparent;background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;transform:translateY(-3px);box-shadow:0 8px 20px -6px #0d948880}.rating-btn.selected:after{opacity:1;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 100%)}.adherence-container{margin-bottom:28px;padding:20px;background:#ffffff08;border-radius:16px;border:1px solid rgba(255,255,255,.06)}.adherence-slider{width:100%;margin-top:12px;-webkit-appearance:none;height:10px;border-radius:10px;background:linear-gradient(90deg,#47556966,#47556999)}[data-theme=dark] .adherence-slider{background:linear-gradient(90deg,#47556966,#47556999)}.adherence-slider::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#0d9488,#14b8a6);cursor:pointer;box-shadow:0 4px 12px #0d948880,0 0 0 4px #0d948826;transition:all .2s ease}.adherence-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 6px 16px #0d948899,0 0 0 6px #0d948833}.adherence-value{text-align:center;font-weight:800;background:linear-gradient(135deg,#0d9488,#14b8a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:32px;margin-top:16px;text-shadow:none}[data-theme=dark] .adherence-value{background:linear-gradient(135deg,#14b8a6,#5eead4);-webkit-background-clip:text;background-clip:text}.checkin-history{display:flex;flex-direction:column;gap:12px}.checkin-entry{background:var(--gray-50);border-radius:12px;padding:16px;border:1px solid var(--gray-100)}[data-theme=dark] .checkin-entry{background:#334155;border-color:#475569}.checkin-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.checkin-date{font-weight:600;color:var(--gray-800)}[data-theme=dark] .checkin-date{color:#f1f5f9}.checkin-adherence-badge{background:linear-gradient(135deg,#0d9488,#0284c7);color:#fff;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600}.checkin-ratings{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--gray-600);margin-bottom:10px}[data-theme=dark] .checkin-ratings{color:#94a3b8}.checkin-notes{font-size:14px;color:var(--gray-600);background:#fff;padding:12px;border-radius:8px;margin-top:10px}[data-theme=dark] .checkin-notes{background:#1e293b;color:#94a3b8}.empty-state-inline{text-align:center;padding:30px 20px;color:var(--gray-500);display:flex;flex-direction:column;align-items:center}.empty-state-inline span{font-size:40px;display:block;margin-bottom:12px}.empty-state-inline .empty-state-icon{color:#94a3b880;margin-bottom:12px}[data-theme=dark] .empty-state-inline{color:#94a3b8}[data-theme=dark] .empty-state-inline .empty-state-icon{color:#94a3b866}.progress-page{min-height:100vh;background:var(--gray-50);padding-bottom:100px}[data-theme=dark] .progress-page{background:#0f172a}.progress-tabs{display:flex;background:#fff;border-bottom:1px solid var(--gray-200);position:sticky;top:80px;z-index:99}[data-theme=dark] .progress-tabs{background:#1e293b;border-color:#334155}.progress-tab{flex:1;padding:16px;text-align:center;font-weight:600;font-size:14px;color:var(--gray-500);cursor:pointer;border:none;background:none;border-bottom:3px solid transparent;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.progress-tab.active{color:#0d9488;border-bottom-color:#0d9488}[data-theme=dark] .progress-tab{color:#94a3b8}[data-theme=dark] .progress-tab.active{color:#14b8a6;border-bottom-color:#14b8a6}.progress-content{padding:20px;max-width:600px;margin:0 auto}.add-btn{margin-bottom:20px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.stat-card{background:var(--gray-50);padding:16px;border-radius:12px;text-align:center;border:1px solid var(--gray-100)}[data-theme=dark] .stat-card{background:#334155;border-color:#475569}.stat-value{font-size:1.5rem;font-weight:800;color:var(--gray-800)}[data-theme=dark] .stat-value{color:#f1f5f9}.stat-value.positive{color:#dc2626}.stat-value.negative{color:#16a34a}.stat-label{font-size:12px;color:var(--gray-500);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.measurements-list{display:flex;flex-direction:column;gap:10px}.measurement-entry{padding:14px;background:var(--gray-50);border-radius:10px}[data-theme=dark] .measurement-entry{background:#334155}.measurement-entry-header{display:flex;justify-content:space-between;align-items:center}.measurement-date{font-weight:600;color:var(--gray-800);font-size:14px}[data-theme=dark] .measurement-date{color:#f1f5f9}.measurement-primary{font-size:14px;color:var(--gray-600)}.measurement-primary span{font-weight:600;color:var(--gray-800)}[data-theme=dark] .measurement-primary{color:#94a3b8}[data-theme=dark] .measurement-primary span{color:#f1f5f9}.measurement-secondary{display:flex;gap:12px;margin-top:8px;font-size:13px;color:var(--gray-500)}[data-theme=dark] .measurement-secondary{color:#94a3b8}.photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-item{aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;position:relative}.photo-item img{width:100%;height:100%;object-fit:cover}.photo-date-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);color:#fff;padding:8px;font-size:11px;font-weight:500}.photo-preview-large{width:100%;max-height:200px;object-fit:contain;border-radius:12px;margin-bottom:16px}.upload-area{border:2px dashed var(--gray-300);border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;margin-bottom:16px;transition:all .2s}.upload-area:hover{border-color:#0d9488;background:#f0fdfa}[data-theme=dark] .upload-area{border-color:#475569}[data-theme=dark] .upload-area:hover{border-color:#14b8a6;background:#0f3b3b}.upload-icon{margin-bottom:12px;color:#fff6;display:flex;align-items:center;justify-content:center}.upload-icon svg{width:48px;height:48px}.upload-text{color:#ffffff80;font-size:14px}[data-theme=dark] .upload-text{color:#94a3b8}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.loading-state{text-align:center;padding:40px;color:var(--gray-500)}[data-theme=dark] .loading-state{color:#94a3b8}.food-confirmation-box{background:linear-gradient(135deg,#10b98126,#06b6d41a);border:2px solid rgba(16,185,129,.4);border-radius:16px;padding:16px;margin-top:16px}[data-theme=dark] .food-confirmation-box{background:linear-gradient(135deg,#10b98133,#06b6d426);border-color:#10b98180}.food-confirmation-header{display:flex;align-items:center;gap:8px;color:#10b981;font-weight:600;font-size:14px;margin-bottom:12px}.food-confirmation-header .confirm-icon{color:#10b981}.food-confirmation-item{background:#ffffff1a;border-radius:10px;padding:12px;margin-bottom:12px}[data-theme=dark] .food-confirmation-item{background:#0003}.food-confirmation-name{display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:15px}.food-calories{color:#10b981;font-weight:600}.food-confirmation-servings{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0;color:#ffffffb3;font-size:14px}.servings-adjuster{display:flex;align-items:center;gap:8px;background:#0000004d;border-radius:8px;padding:4px}.servings-btn{width:44px;height:44px;border-radius:8px;border:none;background:#ffffff1a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.servings-btn:hover{background:#fff3}.servings-btn:active{transform:scale(.95)}.servings-value{min-width:40px;text-align:center;color:#fff;font-weight:600;font-size:16px}.food-confirmation-macros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;background:#00000040;border-radius:12px;padding:16px 8px;margin-bottom:16px}.food-confirmation-macros .macro-item{text-align:center;min-width:0;overflow:hidden}.food-confirmation-macros .macro-value{display:block;font-size:18px;font-weight:700;color:#fff;white-space:nowrap}.food-confirmation-macros .macro-item.protein .macro-value{color:#10b981}.food-confirmation-macros .macro-item.carbs .macro-value{color:#f59e0b}.food-confirmation-macros .macro-item.fat .macro-value{color:#f472b6}.food-confirmation-macros .macro-label{display:block;font-size:10px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.food-confirmation-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px}.confirm-cancel-btn{padding:14px 20px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;border:2px solid rgba(255,255,255,.2);background:#ffffff0d;color:#fff;transition:all .2s}.confirm-cancel-btn:hover{background:#ffffff1a;border-color:#ffffff4d}.confirm-add-btn{padding:14px 20px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;border:none;background:#10b981;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.confirm-add-btn:hover{background:#059669}.confirm-add-btn:active{transform:scale(.98)}.confirm-add-btn:disabled{opacity:.6;cursor:not-allowed}[data-theme=light] .food-confirmation-box{background:linear-gradient(135deg,#10b9811f,#06b6d414);border-color:#10b9814d}[data-theme=light] .food-confirmation-item{background:#ffffffb3}[data-theme=light] .food-confirmation-name{color:var(--gray-800)}[data-theme=light] .food-confirmation-servings{color:var(--gray-600)}[data-theme=light] .servings-adjuster{background:#00000014}[data-theme=light] .servings-btn{background:#0000001a;color:var(--gray-700)}[data-theme=light] .servings-btn:hover{background:#00000026}[data-theme=light] .servings-value{color:var(--gray-800)}[data-theme=light] .food-confirmation-macros{background:#fff9}[data-theme=light] .food-confirmation-macros .macro-value{color:var(--gray-800)}[data-theme=light] .food-confirmation-macros .macro-label{color:var(--gray-500)}[data-theme=light] .confirm-cancel-btn{background:#00000014;color:var(--gray-700);border-color:#0000001a}[data-theme=light] .confirm-cancel-btn:hover{background:#0000001f}.modal-meal-selector{margin:16px 0;padding:12px;background:var(--gray-50);border-radius:12px}.modal-meal-selector label{display:block;font-size:.85rem;font-weight:500;color:var(--gray-600);margin-bottom:8px}.meal-type-chips{display:flex;gap:8px;flex-wrap:wrap}.meal-chip{padding:8px 16px;border-radius:20px;border:1px solid var(--gray-300);background:#fff;color:var(--gray-700);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.meal-chip:hover{border-color:var(--brand-primary-light);color:var(--brand-primary)}.meal-chip.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}[data-theme=dark] .modal-meal-selector{background:#ffffff0d}[data-theme=dark] .modal-meal-selector label{color:var(--gray-400)}[data-theme=dark] .meal-chip{background:#ffffff0d;border-color:#ffffff1a;color:var(--gray-300)}[data-theme=dark] .meal-chip:hover{border-color:var(--brand-primary-light);color:var(--brand-primary-light)}[data-theme=dark] .meal-chip.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.meal-card-clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.meal-card-clickable:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.meal-card-clickable:active{transform:translateY(0)}.meal-card-tap-hint{font-size:.75rem;color:var(--gray-400);margin-top:8px;text-align:center}[data-theme=dark] .meal-card-tap-hint{color:#64748b}.meal-coach-note{background:#fef3c7;border-left:3px solid #f59e0b;padding:8px 10px;margin:10px 0;border-radius:0 6px 6px 0;display:flex;flex-direction:column;gap:2px}[data-theme=dark] .meal-coach-note{background:#422006;border-left-color:#f59e0b}.meal-coach-note-label{font-size:.7rem;font-weight:600;color:#92400e}[data-theme=dark] .meal-coach-note-label{color:#fbbf24}.meal-coach-note-text{font-size:.8rem;color:#78350f;line-height:1.4;white-space:pre-wrap}[data-theme=dark] .meal-coach-note-text{color:#fde68a}.meal-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease;overflow:hidden;overscroll-behavior:contain;touch-action:none}[data-theme=dark] .meal-modal-overlay{background:#000000b3}.meal-modal{background:#fff;border-radius:24px 24px 0 0;width:100%;max-width:500px;max-height:80vh;overflow-y:auto;position:relative;animation:mealSlideUp .3s cubic-bezier(.32,.72,0,1);padding-bottom:calc(80px + env(safe-area-inset-bottom,20px));-webkit-overflow-scrolling:touch;will-change:transform;backface-visibility:hidden;transform:translateZ(0);box-shadow:0 -4px 20px #00000026}[data-theme=dark] .meal-modal{background:#1e293b;box-shadow:0 -4px 20px #0006}@keyframes mealSlideUp{0%{transform:translateY(100%) translateZ(0);opacity:.5}to{transform:translateY(0) translateZ(0);opacity:1}}.meal-modal-image{width:100%;height:180px;overflow:hidden;border-radius:24px 24px 0 0;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);display:flex;align-items:center;justify-content:center}[data-theme=dark] .meal-modal-image{background:linear-gradient(135deg,#1e3a5f,#0f172a)}.meal-modal-image img{width:100%;height:100%;object-fit:cover}.meal-image-loading{display:flex;flex-direction:column;align-items:center;gap:12px;color:#64748b;font-size:.85rem}.meal-image-spinner{width:36px;height:36px;border:3px solid rgba(0,0,0,.1);border-top-color:#0d9488;border-radius:50%;animation:spin 1s linear infinite}[data-theme=dark] .meal-image-spinner{border:3px solid rgba(255,255,255,.1);border-top-color:#0d9488}.meal-image-placeholder{display:flex;align-items:center;justify-content:center;color:#94a3b8}[data-theme=dark] .meal-image-placeholder{color:#475569}.meal-modal-name{font-size:1.15rem;font-weight:700;color:#1e293b;padding:16px 20px 12px;text-align:center;line-height:1.3}[data-theme=dark] .meal-modal-name{color:#f1f5f9}.meal-action-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 16px 20px}.meal-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 8px;border-radius:14px;border:none;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,255,255,.2);-webkit-user-select:none;user-select:none}.meal-action-btn:active{transform:scale(.95);opacity:.9}.meal-action-btn span{color:#fff}.meal-action-btn.favorite span{color:#475569}[data-theme=dark] .meal-action-btn.favorite span{color:#fff}.meal-action-btn:disabled{opacity:.6;cursor:not-allowed}.meal-action-btn.favorite{background:#f1f5f9;color:#475569;border:2px solid #e2e8f0}[data-theme=dark] .meal-action-btn.favorite{background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.2)}.meal-action-btn.favorite.active{background:#ef444433;border-color:#ef4444;color:#ef4444}.meal-action-btn.favorite:hover{background:#ef444426}.meal-action-btn.log{background:#22c55e;color:#fff}.meal-action-btn.log:hover{background:#16a34a}.meal-action-btn.change{background:#0d9488;color:#fff}.meal-action-btn.change:hover{background:#0f766e}.meal-action-btn.revise{background:#3b82f6;color:#fff}.meal-action-btn.revise:hover{background:#2563eb}.meal-action-btn.custom{background:#8b5cf6;color:#fff}.meal-action-btn.custom:hover{background:#7c3aed}.meal-action-btn.recipe{background:#f59e0b;color:#fff}.meal-action-btn.recipe:hover{background:#d97706}.meal-modal-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 16px;background:#f1f5f9;margin:0 16px 16px;border-radius:12px}[data-theme=dark] .meal-modal-macros{background:#0000004d}.meal-modal-macro{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;background:#fff;border-radius:8px;border:1px solid #e2e8f0}[data-theme=dark] .meal-modal-macro{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.meal-modal-macro .macro-label{font-size:.65rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px}[data-theme=dark] .meal-modal-macro .macro-label{color:#94a3b8}.meal-modal-macro .macro-value{font-size:1.1rem;font-weight:700;color:#0d9488}.meal-modal-macro.protein .macro-value{color:#3b82f6}.meal-modal-macro.carbs .macro-value{color:#f59e0b}.meal-modal-macro.fat .macro-value{color:#ef4444}.meal-modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#ffffffe6;border:1px solid #e2e8f0;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10}.meal-modal-close:hover{background:#fff}[data-theme=dark] .meal-modal-close{background:#00000080;border:none;color:#fff}[data-theme=dark] .meal-modal-close:hover{background:#000000b3}.meal-card-image{width:100%;height:150px;overflow:hidden;border-radius:12px;margin-bottom:12px}.meal-card-image img{width:100%;height:100%;object-fit:cover}.meal-macros-inline{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.meal-macros-inline .macro-item{font-size:.75rem;font-weight:600;color:var(--gray-500);background:var(--gray-100);padding:4px 8px;border-radius:6px}[data-theme=dark] .meal-macros-inline .macro-item{background:#334155;color:#94a3b8}.meal-card.processing{pointer-events:none;position:relative}.meal-processing-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0f172ae6;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:10}.meal-processing-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.2);border-top-color:#0d9488;border-radius:50%;animation:spin 1s linear infinite}.meal-processing-overlay span{color:#94a3b8;font-size:.85rem;font-weight:500}.custom-meal-modal{background:#1e293b;border-radius:24px 24px 0 0;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom,20px))}.custom-meal-header{text-align:center;margin-bottom:24px}.custom-meal-header h2{font-size:1.4rem;font-weight:700;color:#f1f5f9;margin-bottom:4px}.custom-meal-header p{color:#94a3b8;font-size:.9rem}.custom-meal-form{display:flex;flex-direction:column;gap:16px}.custom-meal-form .form-group{display:flex;flex-direction:column;gap:6px}.custom-meal-form .form-group label{font-size:.85rem;font-weight:600;color:#94a3b8}.custom-meal-form .form-group input,.custom-meal-form .form-group textarea{background:#0f172a;border:1px solid #334155;border-radius:10px;padding:12px 14px;font-size:1rem;color:#f1f5f9;transition:border-color .2s}.custom-meal-form .form-group input:focus,.custom-meal-form .form-group textarea:focus{outline:none;border-color:#0d9488}.custom-meal-form .form-group input::placeholder,.custom-meal-form .form-group textarea::placeholder{color:#64748b}.custom-meal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.custom-meal-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;margin-top:24px}.custom-meal-actions .cancel-btn{padding:14px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;border:2px solid rgba(255,255,255,.2);background:transparent;color:#94a3b8;transition:all .2s}.custom-meal-actions .cancel-btn:hover{background:#ffffff0d;border-color:#ffffff4d}.custom-meal-actions .save-btn{padding:14px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;border:none;background:#0d9488;color:#fff;transition:all .2s}.custom-meal-actions .save-btn:hover{background:#0f766e}.custom-meal-actions .save-btn:active{transform:scale(.98)}.custom-meal-modal-full{background:#fff;border-radius:24px 24px 0 0;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;padding:20px;padding-bottom:calc(30px + env(safe-area-inset-bottom,20px))}[data-theme=dark] .custom-meal-modal-full{background:#1e293b}.custom-meal-modal-full .custom-meal-header{text-align:center;margin-bottom:20px}.custom-meal-modal-full .custom-meal-header h2{font-size:1.5rem;color:#0d9488;margin:0}.custom-meal-modal-full .custom-meal-header p{color:#64748b;margin:4px 0 0;font-size:.9rem}.custom-meal-tabs{display:flex;gap:10px;margin-bottom:20px}.custom-meal-tab{flex:1;padding:12px 8px;border:2px solid #e0e7ff;border-radius:12px;background:#f8f9ff;cursor:pointer;text-align:center;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:4px}[data-theme=dark] .custom-meal-tab{background:#334155;border-color:#475569}.custom-meal-tab:hover{border-color:#0d9488}.custom-meal-tab.active{background:#0d9488;color:#fff;border-color:#0d9488}.custom-meal-tab .tab-icon{font-size:1.3em}.custom-meal-tab .tab-label{font-size:.8rem;font-weight:600}.custom-meal-panel{animation:fadeIn .2s ease}.panel-hint{background:#f0fdf4;border:1px solid #86efac;border-radius:10px;padding:12px;font-size:.85rem;color:#166534;margin-bottom:16px}[data-theme=dark] .panel-hint{background:#14532d;border-color:#22c55e;color:#86efac}.food-search-container{position:relative;margin-bottom:16px}.food-search-input-wrapper{position:relative}.food-search-input-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8}.food-search-input{width:100%;padding:12px 12px 12px 40px;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;background:#fff;transition:border-color .2s}[data-theme=dark] .food-search-input{background:#334155;border-color:#475569;color:#fff}.food-search-input:focus{outline:none;border-color:#0d9488}.food-search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;max-height:200px;overflow-y:auto;z-index:100;box-shadow:0 4px 12px #00000026}[data-theme=dark] .food-search-results{background:#334155;border-color:#475569}.food-search-item{padding:12px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .2s}[data-theme=dark] .food-search-item{border-bottom-color:#475569}.food-search-item:hover{background:#f0fdf4}[data-theme=dark] .food-search-item:hover{background:#0f766e}.food-search-item:last-child{border-bottom:none}.food-search-item .food-name{font-weight:600;color:#1f2937;margin-bottom:4px}[data-theme=dark] .food-search-item .food-name{color:#f1f5f9}.food-search-item .food-macros{font-size:.75rem;color:#6b7280}[data-theme=dark] .food-search-item .food-macros{color:#94a3b8}.search-loading{padding:20px;text-align:center;color:#64748b}.ingredients-section{margin-bottom:16px}.ingredients-section h4{font-size:.9rem;color:#374151;margin-bottom:10px;font-weight:600}[data-theme=dark] .ingredients-section h4{color:#e2e8f0}.no-ingredients{text-align:center;color:#9ca3af;font-style:italic;padding:20px}.ingredients-list{display:flex;flex-direction:column;gap:8px}.ingredient-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;gap:8px}[data-theme=dark] .ingredient-item{background:#334155;border-color:#475569}.ingredient-name{flex:1;font-size:.85rem;font-weight:500;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}[data-theme=dark] .ingredient-name{color:#e2e8f0}.ingredient-controls{display:flex;align-items:center;gap:4px}.qty-btn{width:28px;height:28px;border:none;border-radius:6px;background:#e2e8f0;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}[data-theme=dark] .qty-btn{background:#475569;color:#e2e8f0}.qty-btn:hover{background:#0d9488;color:#fff}.qty-input{width:50px;padding:6px;border:1px solid #e2e8f0;border-radius:6px;text-align:center;font-size:.85rem;font-weight:600}[data-theme=dark] .qty-input{background:#1e293b;border-color:#475569;color:#fff}.unit-select{padding:6px 8px;border:1px solid #e2e8f0;border-radius:6px;font-size:.8rem;background:#fff;min-width:100px}[data-theme=dark] .unit-select{background:#1e293b;border-color:#475569;color:#fff}.remove-btn{width:28px;height:28px;border:none;border-radius:6px;background:#fee2e2;color:#dc2626;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-btn:hover{background:#dc2626;color:#fff}.calculated-totals{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #10b981;border-radius:12px;padding:16px;margin-bottom:16px}[data-theme=dark] .calculated-totals{background:linear-gradient(135deg,#064e3b,#065f46);border-color:#10b981}.calculated-totals h4{font-size:.9rem;color:#065f46;margin-bottom:12px;font-weight:700}[data-theme=dark] .calculated-totals h4{color:#6ee7b7}.totals-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:center}.total-item{background:#fff;padding:10px 6px;border-radius:8px}[data-theme=dark] .total-item{background:#1e293b}.total-value{font-weight:700;color:#0d9488;font-size:1.1rem;display:block}.total-label{font-size:.7rem;color:#6b7280;text-transform:uppercase}[data-theme=dark] .total-label{color:#94a3b8}.custom-meal-input{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;background:#fff;transition:border-color .2s;resize:none}[data-theme=dark] .custom-meal-input{background:#334155;border-color:#475569;color:#fff}.custom-meal-input:focus{outline:none;border-color:#0d9488}.form-group{margin-bottom:12px}.macros-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.macro-input-group{display:flex;flex-direction:column;gap:4px}.macro-input-group label{font-size:.8rem;font-weight:600;color:#374151}[data-theme=dark] .macro-input-group label{color:#94a3b8}.macro-input-group input{padding:10px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;text-align:center;font-weight:600}[data-theme=dark] .macro-input-group input{background:#334155;border-color:#475569;color:#fff}.macro-input-group input:focus{outline:none;border-color:#0d9488}.save-for-later{display:flex;align-items:center;gap:8px;padding:12px;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;margin-bottom:16px;cursor:pointer;font-size:.9rem;color:#92400e}[data-theme=dark] .save-for-later{background:#78350f;border-color:#f59e0b;color:#fcd34d}.save-for-later input[type=checkbox]{width:18px;height:18px;accent-color:#0d9488}.create-meal-btn{width:100%;padding:14px;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#0d9488,#0891b2);color:#fff;transition:all .2s}.create-meal-btn:hover:not(.disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0d948866}.create-meal-btn.disabled{background:#9ca3af;cursor:not-allowed}.saved-meals-list{max-height:300px;overflow-y:auto;margin-bottom:16px}.saved-meal-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:8px;background:#fafafa}[data-theme=dark] .saved-meal-item{background:#334155;border-color:#475569}.saved-meal-item:hover{background:#f0fdf4;border-color:#86efac}[data-theme=dark] .saved-meal-item:hover{background:#0f766e}.saved-meal-info{flex:1;min-width:0}.saved-meal-name{font-weight:600;color:#1f2937;word-wrap:break-word}[data-theme=dark] .saved-meal-name{color:#f1f5f9}.saved-meal-macros{font-size:.8rem;color:#6b7280;margin-top:4px}[data-theme=dark] .saved-meal-macros{color:#94a3b8}.saved-meal-actions{display:flex;gap:8px;margin-left:10px}.use-btn{padding:8px 16px;background:linear-gradient(135deg,#0d9488,#0891b2);border:none;border-radius:8px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.use-btn:hover{transform:scale(1.05)}.delete-btn{padding:8px 10px;background:#fee2e2;border:none;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.delete-btn:hover{background:#dc2626;color:#fff}.empty-saved,.loading-state{text-align:center;padding:40px 20px;color:#9ca3af}.cancel-btn-full{width:100%;padding:14px;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;background:#6b7280;color:#fff;transition:all .2s}.cancel-btn-full:hover{background:#4b5563}.plan-action-bar{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px;margin-top:16px;background:linear-gradient(135deg,#1e293bf2,#0f172afa);border-radius:20px;margin-bottom:80px;border:1px solid rgba(148,163,184,.1);box-shadow:0 4px 20px #0000004d}.plan-action-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border:none;border-radius:14px;background:linear-gradient(135deg,#334155cc,#1e293be6);color:#94a3b8;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .3s ease;border:1px solid rgba(148,163,184,.15)}.plan-action-btn svg{color:#64748b;transition:all .3s ease}.plan-action-btn:hover{background:linear-gradient(135deg,#4f46e54d,#6366f133);color:#e2e8f0;transform:translateY(-2px);border-color:#6366f166;box-shadow:0 4px 15px #6366f133}.plan-action-btn:hover svg{color:#a5b4fc}.plan-action-btn:active{transform:translateY(0)}.plan-action-btn.revert{color:#fbbf24}.plan-action-btn.revert svg{color:#f59e0b}.plan-action-btn.revert:hover{background:linear-gradient(135deg,#f59e0b4d,#fbbf2433);color:#fef3c7;border-color:#f59e0b66;box-shadow:0 4px 15px #f59e0b33}.plan-action-btn.revert:hover svg{color:#fcd34d}[data-theme=light] .plan-action-bar{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#94a3b833;box-shadow:0 4px 15px #00000014}[data-theme=light] .plan-action-btn{background:#fff;color:#475569;border-color:#94a3b833;box-shadow:0 2px 8px #0000000d}[data-theme=light] .plan-action-btn svg{color:#64748b}[data-theme=light] .plan-action-btn:hover{background:linear-gradient(135deg,#4f46e51a,#6366f114);color:#4f46e5;border-color:#6366f14d}[data-theme=light] .plan-action-btn:hover svg{color:#4f46e5}[data-theme=dark] .plan-action-bar{background:linear-gradient(135deg,#1e293bf2,#0f172afa)}[data-theme=dark] .plan-action-btn{background:linear-gradient(135deg,#334155cc,#1e293be6);color:#94a3b8}.floating-undo-btn{position:fixed;bottom:90px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:30px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #6366f166;z-index:50;animation:slideUp .3s ease-out}.floating-undo-btn:hover{transform:translate(-50%) scale(1.05);box-shadow:0 6px 25px #6366f180}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.log-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .2s ease;padding:20px;box-sizing:border-box}.confirm-modal{background:#1e293b;border-radius:20px;padding:28px 24px;width:100%;max-width:340px;text-align:center;animation:modalPop .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 25px 50px -12px #00000080}@keyframes modalPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.confirm-modal h3{font-size:1.3rem;color:#f1f5f9;margin-bottom:12px;font-weight:700}.confirm-modal p{color:#94a3b8;margin-bottom:20px;line-height:1.5;font-size:.95rem}.confirm-modal p strong{color:#0d9488}.confirm-macros{display:flex;justify-content:center;gap:16px;padding:14px 16px;background:#0000004d;border-radius:12px;margin-bottom:24px}.confirm-macros span{font-size:.85rem;color:#94a3b8;font-weight:600}.confirm-macros span:first-child{color:#0d9488}.confirm-buttons{display:flex;gap:12px}.confirm-btn{flex:1;padding:14px 16px;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.confirm-btn.cancel{background:#334155;color:#94a3b8}.confirm-btn.cancel:hover{background:#475569}.confirm-btn.cancel:active{transform:scale(.97)}.confirm-btn.confirm{background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;box-shadow:0 4px 14px #0d948866}.confirm-btn.confirm:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0d948880}.confirm-btn.confirm:active{transform:scale(.97)}.confirm-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}[data-theme=light] .confirm-modal{background:#fff;box-shadow:0 25px 50px -12px #00000040}[data-theme=light] .confirm-modal h3{color:#1e293b}[data-theme=light] .confirm-modal p{color:#64748b}[data-theme=light] .confirm-macros{background:#f1f5f9}[data-theme=light] .confirm-macros span{color:#64748b}[data-theme=light] .confirm-btn.cancel{background:#e2e8f0;color:#475569}[data-theme=light] .confirm-btn.cancel:hover{background:#cbd5e1}.grocery-modal{background:#fff;border-radius:20px;width:90%;max-width:500px;height:80vh;max-height:80vh;display:flex;flex-direction:column;animation:modalPop .3s ease-out;overflow:hidden;touch-action:auto}.grocery-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--gray-200);flex-shrink:0}.grocery-header h2{display:flex;align-items:center;gap:10px;font-size:1.25rem;color:var(--gray-800)}.grocery-content{flex:1;overflow-y:auto;padding:20px 20px 100px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.empty-grocery{text-align:center;color:var(--gray-500);padding:40px 20px}.grocery-category{margin-bottom:24px}.grocery-category h3{font-size:.9rem;font-weight:600;color:var(--brand-primary);margin-bottom:12px;padding-bottom:6px;border-bottom:2px solid var(--brand-primary);text-transform:uppercase;letter-spacing:.5px}.grocery-category ul{list-style:none}.grocery-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:8px;cursor:pointer;transition:all .2s}.grocery-item:hover{background:var(--gray-100)}.grocery-item.checked{opacity:.5}.grocery-item.checked .grocery-text{text-decoration:line-through}.grocery-checkbox{width:22px;height:22px;border:2px solid var(--gray-300);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.grocery-item.checked .grocery-checkbox{background:var(--success);border-color:var(--success);color:#fff}.grocery-text{font-size:.95rem;color:var(--gray-700);line-height:1.4}[data-theme=dark] .grocery-modal{background:var(--gray-800)}[data-theme=dark] .grocery-header{border-color:var(--gray-700)}[data-theme=dark] .grocery-header h2{color:var(--gray-100)}[data-theme=dark] .grocery-item:hover{background:var(--gray-700)}[data-theme=dark] .grocery-text{color:var(--gray-300)}.meal-prep-modal{background:#fff;border-radius:20px;width:90%;max-width:550px;height:85vh;max-height:85vh;display:flex;flex-direction:column;animation:modalPop .3s ease-out;overflow:hidden}.meal-prep-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--gray-200);flex-shrink:0}.meal-prep-header h2{display:flex;align-items:center;gap:10px;font-size:1.25rem;color:var(--gray-800)}.meal-prep-content{flex:1;overflow-y:auto;padding:20px 20px 100px;-webkit-overflow-scrolling:touch}.meal-prep-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 20px}.meal-prep-loading p{color:var(--gray-500)}.meal-prep-guide{line-height:1.7}.meal-prep-guide p{margin-bottom:12px;color:var(--gray-700)}.meal-prep-guide p:empty{display:none}[data-theme=dark] .meal-prep-modal{background:var(--gray-800)}[data-theme=dark] .meal-prep-header{border-color:var(--gray-700)}[data-theme=dark] .meal-prep-header h2{color:var(--gray-100)}[data-theme=dark] .meal-prep-guide p{color:var(--gray-300)}.checkin-page .form-group,.modal-body .form-group{margin-bottom:20px}.checkin-page .form-group label,.modal-body .form-group label{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-weight:600;color:#e2e8f0;font-size:.9rem;letter-spacing:.2px}.checkin-page .form-group input,.checkin-page .form-group textarea,.checkin-page .form-group select,.modal-body .form-group input,.modal-body .form-group textarea,.modal-body .form-group select{width:100%;padding:14px 16px;border:2px solid rgba(255,255,255,.08);border-radius:14px;background:#0f172a99;color:#f1f5f9;font-size:.95rem;font-family:inherit;transition:all .25s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.checkin-page .form-group input::placeholder,.checkin-page .form-group textarea::placeholder,.modal-body .form-group input::placeholder,.modal-body .form-group textarea::placeholder{color:#64748b}.checkin-page .form-group input:focus,.checkin-page .form-group textarea:focus,.checkin-page .form-group select:focus,.modal-body .form-group input:focus,.modal-body .form-group textarea:focus,.modal-body .form-group select:focus{outline:none;border-color:#14b8a680;background:#0f172acc;box-shadow:0 0 0 4px #14b8a61a}.checkin-page .form-group textarea,.modal-body .form-group textarea{resize:vertical;min-height:100px}.checkin-page .form-group select,.modal-body .form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:44px;cursor:pointer}.modal-body .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-body .form-row .form-group{margin-bottom:16px}[data-theme=light] .checkin-page .form-group label,[data-theme=light] .modal-body .form-group label{color:var(--gray-700)}[data-theme=light] .checkin-page .form-group input,[data-theme=light] .checkin-page .form-group textarea,[data-theme=light] .checkin-page .form-group select,[data-theme=light] .modal-body .form-group input,[data-theme=light] .modal-body .form-group textarea,[data-theme=light] .modal-body .form-group select{border:1px solid var(--gray-300);background:#fff;color:var(--gray-900)}[data-theme=light] .checkin-page .form-group input::placeholder,[data-theme=light] .checkin-page .form-group textarea::placeholder,[data-theme=light] .modal-body .form-group input::placeholder,[data-theme=light] .modal-body .form-group textarea::placeholder{color:var(--gray-400)}[data-theme=light] .checkin-page .form-group input:focus,[data-theme=light] .checkin-page .form-group textarea:focus,[data-theme=light] .checkin-page .form-group select:focus,[data-theme=light] .modal-body .form-group input:focus,[data-theme=light] .modal-body .form-group textarea:focus,[data-theme=light] .modal-body .form-group select:focus{border-color:var(--brand-primary);background:#fff;box-shadow:0 0 0 3px #0d94881a}.upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;border:2px dashed rgba(255,255,255,.15);border-radius:20px;background:linear-gradient(135deg,#0f172acc,#1e293b80);cursor:pointer;transition:all .3s ease;margin-bottom:20px}.upload-area:hover{border-color:#14b8a680;background:linear-gradient(135deg,#14b8a60d,#0f172acc);transform:scale(1.02)}.upload-area .upload-icon{color:#64748b;margin-bottom:12px;transition:all .3s ease}.upload-area:hover .upload-icon{color:#14b8a6;transform:scale(1.1)}.upload-area .upload-text{color:#94a3b8;font-size:.95rem}[data-theme=light] .upload-area{border:2px dashed var(--gray-300);background:var(--gray-50)}[data-theme=light] .upload-area:hover{border-color:var(--brand-primary);background:#0d948805}[data-theme=light] .upload-area .upload-icon{color:var(--gray-400)}[data-theme=light] .upload-area:hover .upload-icon{color:var(--brand-primary)}[data-theme=light] .upload-area .upload-text{color:var(--gray-500)}.photo-preview-large{width:100%;border-radius:16px;margin-bottom:20px;box-shadow:0 8px 32px #0000004d;border:2px solid rgba(255,255,255,.1)}.modal-body .btn-primary,.checkin-page .btn-primary{width:100%;padding:16px;border:none;border-radius:14px;background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:12px;position:relative;overflow:hidden}.modal-body .btn-primary:before,.checkin-page .btn-primary:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,transparent 100%);border-radius:14px 14px 0 0}.modal-body .btn-primary:hover,.checkin-page .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0d948866}.modal-body .btn-primary:disabled,.checkin-page .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.modal-body .btn-secondary,.checkin-page .btn-secondary{width:100%;padding:14px;border:2px solid rgba(255,255,255,.1);border-radius:14px;background:#ffffff0d;color:#94a3b8;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s ease;margin-bottom:8px}.modal-body .btn-secondary:hover,.checkin-page .btn-secondary:hover{background:#ffffff1a;border-color:#fff3;color:#e2e8f0}.checkin-page .section-card{background:linear-gradient(180deg,#1e293bcc,#0f172ae6);border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:24px;margin-bottom:20px}.checkin-page .section-title{color:#f1f5f9;font-size:1.15rem;font-weight:700;margin-bottom:24px;display:flex;align-items:center;gap:10px}[data-theme=light] .checkin-page .section-card{background:#fff;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000d}[data-theme=light] .checkin-page .section-title{color:var(--gray-800)}.story-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center}.story-viewer{width:100%;max-width:420px;height:100%;max-height:100vh;position:relative;display:flex;flex-direction:column}.story-progress-container{display:flex;gap:4px;padding:12px 16px 8px;position:absolute;top:0;left:0;right:0;z-index:10}.story-progress-bar{flex:1;height:3px;background:#ffffff4d;border-radius:3px;overflow:hidden}.story-progress-fill{height:100%;background:#fff;border-radius:3px;width:0%}.story-header{display:flex;justify-content:space-between;align-items:center;padding:24px 16px 12px;position:absolute;top:20px;left:0;right:0;z-index:10}.story-user-info{display:flex;align-items:center;gap:10px}.story-header-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid white}.story-user-details{display:flex;flex-direction:column}.story-username{font-size:14px;font-weight:700;color:#fff}.story-time{font-size:12px;color:#ffffffb3}.story-close-btn{width:36px;height:36px;background:#fff3;border:none;border-radius:50%;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.story-close-btn:hover{background:#ffffff4d}.story-content{flex:1;display:flex;align-items:center;justify-content:center;padding:80px 20px;overflow:hidden}.story-content img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px}.story-quote-card{background:var(--brand-gradient);padding:40px 30px;border-radius:20px;text-align:center;max-width:340px}.story-quote-text{font-size:1.5rem;font-weight:700;color:#fff;line-height:1.4;margin-bottom:16px}.story-quote-author{font-size:14px;color:#fffc}.story-link-card{background:#fff;border-radius:16px;overflow:hidden;max-width:320px;box-shadow:0 10px 40px #0000004d;display:block}.story-link-preview{width:100%;height:160px;object-fit:cover}.story-link-info{padding:16px}.story-link-title{font-size:16px;font-weight:700;color:var(--gray-800);margin-bottom:4px}.story-link-url{font-size:12px;color:var(--gray-500)}.story-nav{position:absolute;top:80px;bottom:120px;width:30%;z-index:5;cursor:pointer}.story-nav-prev{left:0}.story-nav-next{right:0}.story-footer{padding:20px 16px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));position:absolute;bottom:0;left:0;right:0;z-index:10}.story-reactions{display:flex;gap:16px;justify-content:center;align-items:center;margin-bottom:16px}.reaction-btn{width:56px;height:56px;min-width:56px;min-height:56px;background:#ffffff26;border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.reaction-btn:hover{background:#ffffff40;transform:scale(1.1)}.reaction-btn:active{transform:scale(1.3)}.story-reply-container{display:flex;gap:8px}.story-reply-input{flex:1;padding:12px 16px;background:#ffffff26;border:1px solid rgba(255,255,255,.2);border-radius:24px;color:#fff;font-size:14px;font-family:inherit}.story-reply-input::placeholder{color:#ffffff80}.story-reply-input:focus{outline:none;border-color:#fff6;background:#fff3}.story-reply-btn{padding:12px 20px;background:var(--brand-primary);border:none;border-radius:24px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.story-reply-btn:hover{background:var(--brand-primary-dark)}.workouts-page{padding:0 0 100px}.workouts-header{padding:20px 16px;background:var(--gray-800);color:#fff}.workouts-header h1{font-size:24px;font-weight:700;margin-bottom:8px}.workout-meta{display:flex;gap:16px}.workout-meta .meta-item{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--gray-400)}.week-calendar{display:flex;align-items:center;padding:16px;background:var(--gray-800);gap:8px}.week-nav{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:8px;border-radius:50%;transition:all .2s}.week-nav:hover{background:var(--gray-700);color:#fff}.week-days{display:flex;flex:1;justify-content:space-around;gap:4px}.day-button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;background:none;border:none;border-radius:12px;cursor:pointer;transition:all .2s;min-width:44px}.day-button .day-name{font-size:12px;color:var(--gray-400);text-transform:uppercase}.day-button .day-number{font-size:16px;font-weight:600;color:#fff}.day-button.today{background:var(--gray-700)}.day-button.selected{background:var(--brand-primary)}.day-button.selected .day-name,.day-button.selected .day-number{color:#fff}.workout-progress-card{margin:16px;padding:16px;background:var(--gray-800);border-radius:12px}.progress-info{display:flex;justify-content:space-between;margin-bottom:8px}.progress-text{font-size:14px;color:#fff}.progress-percent{font-size:14px;font-weight:600;color:var(--brand-primary)}.progress-bar{height:8px;background:var(--gray-700);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--brand-primary);border-radius:4px;transition:width .3s ease}.start-workout-btn{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px;padding:16px 24px;background:var(--brand-primary);color:#fff;border:none;border-radius:30px;font-size:16px;font-weight:600;cursor:pointer;width:calc(100% - 32px);transition:all .2s}.start-workout-btn:hover{background:var(--brand-primary-dark);transform:translateY(-2px)}.complete-workout-btn{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px;padding:16px 24px;background:var(--success);color:#fff;border:none;border-radius:30px;font-size:16px;font-weight:600;cursor:pointer;width:calc(100% - 32px)}.exercises-list{padding:0 16px}.loading-state,.empty-state{text-align:center;padding:40px 20px;color:var(--gray-500)}.empty-state .empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{font-size:18px;color:var(--gray-700);margin-bottom:8px}.exercise-card{background:var(--gray-800);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .2s;border:2px solid transparent}.exercise-card:hover{border-color:var(--gray-600)}.exercise-card.completed{opacity:.7}.exercise-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.exercise-info{flex:1}.exercise-name{font-size:16px;font-weight:600;color:#fff;margin-bottom:4px}.exercise-equipment{font-size:13px;color:var(--gray-400)}.exercise-thumbnail{width:60px;height:60px;border-radius:8px;overflow:hidden;position:relative;background:var(--gray-700)}.exercise-thumbnail img{width:100%;height:100%;object-fit:cover}.thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:24px}.completed-badge{position:absolute;bottom:4px;right:4px;width:20px;height:20px;background:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.sets-container{margin-top:12px}.sets-row{display:flex;gap:8px}.sets-row.rest-row{margin-top:4px}.set-cell{flex:1;max-width:80px;padding:10px 8px;background:var(--gray-700);border:none;border-radius:8px;text-align:center;cursor:pointer;transition:all .2s}.set-cell.completed{background:var(--brand-primary)}.set-cell.add-set{background:transparent;border:2px dashed var(--gray-600);color:var(--gray-400)}.set-cell .set-reps{display:block;font-size:16px;font-weight:700;color:#fff}.set-cell .set-weight{display:block;font-size:12px;color:var(--gray-400)}.rest-cell{flex:1;max-width:80px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;color:var(--gray-500)}.rest-cell.empty{visibility:hidden}.exercise-note{margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-700);font-size:13px;color:var(--gray-400);font-style:italic}.exercise-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;z-index:1000;overflow-y:auto}.exercise-modal{background:var(--gray-900);min-height:100vh;color:#fff}.exercise-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--gray-800)}.exercise-modal .back-btn,.exercise-modal .info-btn{background:none;border:none;color:#fff;cursor:pointer;padding:8px}.exercise-modal h2{font-size:16px;font-weight:600}.video-section{position:relative;background:var(--gray-800)}.video-container{position:relative;width:100%;aspect-ratio:16/9}.video-container video{width:100%;height:100%;object-fit:contain}.video-container .play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;background:var(--brand-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.video-placeholder{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gray-500)}.video-placeholder span{font-size:48px;margin-bottom:8px}.rest-timer{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:var(--brand-primary)}.timer-value{font-size:32px;font-weight:700}.timer-label{font-size:14px;opacity:.8}.completion-status{display:flex;align-items:center;gap:8px;padding:12px 16px;color:var(--gray-400)}.completion-status.completed{color:var(--success)}.sets-grid{padding:16px}.sets-grid .sets-row{display:flex;gap:8px;flex-wrap:wrap}.sets-grid .set-button{flex:1;min-width:70px;max-width:100px;padding:12px 8px;background:var(--gray-800);border:none;border-radius:8px;cursor:pointer;text-align:center;transition:all .2s}.sets-grid .set-button.completed{background:var(--brand-primary)}.sets-grid .set-button.add{background:transparent;border:2px dashed var(--gray-600)}.sets-grid .set-reps{display:block;font-size:18px;font-weight:700;color:#fff}.sets-grid .set-weight{display:block;font-size:12px;color:var(--gray-400);margin-top:2px}.sets-grid .rest-row{margin-top:8px}.sets-grid .rest-indicator{flex:1;min-width:70px;max-width:100px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;color:var(--gray-500)}.personal-note{padding:16px;border-top:1px solid var(--gray-800)}.personal-note .note-header{display:flex;justify-content:space-between;margin-bottom:8px}.personal-note .note-header span{font-weight:600;color:#fff}.personal-note .note-header button{background:none;border:none;color:var(--brand-primary);cursor:pointer;font-size:13px;display:flex;align-items:center;gap:4px}.personal-note p{font-size:14px;color:var(--gray-400)}.personal-note textarea{width:100%;padding:12px;background:var(--gray-800);border:1px solid var(--gray-700);border-radius:8px;color:#fff;font-size:14px;resize:vertical;min-height:80px}.history-section{padding:16px;border-top:1px solid var(--gray-800)}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.history-header span{font-weight:600;color:#fff}.max-weight{display:flex;align-items:center;gap:6px;color:var(--warning);font-size:14px}.history-chart{background:var(--gray-800);border-radius:8px;padding:16px;min-height:100px}.chart-bars{display:flex;align-items:flex-end;justify-content:space-around;height:80px;gap:8px}.chart-bar{flex:1;max-width:40px;background:var(--gray-600);border-radius:4px 4px 0 0;min-height:10px}.no-history{text-align:center;color:var(--gray-500);font-size:14px}.see-history-btn{margin-top:12px;background:none;border:none;color:var(--brand-primary);cursor:pointer;font-size:14px}.muscles-section{padding:16px;border-top:1px solid var(--gray-800)}.muscle-info h4{font-size:14px;font-weight:600;color:#fff;margin-bottom:4px}.muscle-info p{font-size:13px;color:var(--gray-400);margin-bottom:12px}.equipment-section{padding:16px;border-top:1px solid var(--gray-800)}.equipment-badge{display:inline-block;padding:8px 16px;background:var(--gray-800);border-radius:20px;font-size:13px;color:var(--gray-300)}.activity-nav{padding:16px;border-top:1px solid var(--gray-800);display:flex;align-items:center;justify-content:space-between}.activity-nav span{font-size:13px;color:var(--gray-400)}.activity-thumbnails{display:flex;gap:4px}[data-theme=dark] .workouts-page,.workouts-page{background:var(--gray-900)}.workouts-page-v2{min-height:100vh;background:#000;padding-bottom:140px}.workout-hero{position:relative;padding:24px 20px 32px;overflow:hidden}.workout-hero .hero-gradient{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(13,148,136,.3) 0%,rgba(2,132,199,.2) 50%,transparent 100%);pointer-events:none}.workout-hero .hero-content{position:relative;z-index:1}.workout-hero .hero-date{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#0d9488;font-weight:500;margin-bottom:8px}.workout-hero .hero-title{font-size:28px;font-weight:700;color:#fff;margin-bottom:12px;line-height:1.2}.workout-hero .hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.workout-hero .meta-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff1a;border-radius:20px;font-size:13px;color:#94a3b8}.workout-hero .hero-targets{display:flex;align-items:center;gap:8px;margin-top:8px;color:#64748b}.workout-hero .target-badge{padding:4px 10px;background:#0d948826;border-radius:12px;font-size:12px;color:#0d9488;text-transform:capitalize}.workout-top-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#000;position:sticky;top:0;z-index:100}.workout-top-nav .nav-back-btn,.workout-top-nav .nav-menu-btn{width:40px;height:40px;background:none;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.workout-top-nav .nav-title{font-size:16px;font-weight:500;color:#fff}.workout-top-nav .nav-menu-container{position:relative}.nav-dropdown-menu{position:absolute;top:100%;right:0;min-width:180px;background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px;box-shadow:0 10px 40px #00000080;z-index:200}.nav-dropdown-menu .menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;color:#fff;font-size:14px;cursor:pointer;border-radius:8px;transition:background .2s}.nav-dropdown-menu .menu-item:hover{background:#ffffff1a}.nav-dropdown-menu .menu-item.exit{color:#ef4444}.nav-dropdown-menu .menu-item.exit:hover{background:#ef44441a}.workout-summary-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.workout-summary-modal{background:linear-gradient(135deg,#1a1a1a,#0d0d0d);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:32px;max-width:360px;width:100%;text-align:center;position:relative}.summary-close-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.summary-header{margin-bottom:24px}.summary-header .summary-icon{color:#f59e0b;margin-bottom:12px}.summary-header h2{font-size:24px;font-weight:700;color:#fff;margin:0}.summary-stats{display:flex;justify-content:space-around;margin-bottom:24px;padding:20px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.summary-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.summary-stat .stat-value{font-size:28px;font-weight:700;color:#3b82f6}.summary-stat .stat-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.summary-message{margin-bottom:24px}.summary-message p{color:#9ca3af;font-size:14px;margin:0}.summary-done-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer}.workout-history-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding-bottom:calc(70px + env(safe-area-inset-bottom,20px))}.workout-history-modal{background:#1a1a1a;border-radius:24px 24px 0 0;width:100%;max-width:500px;max-height:70vh;overflow:hidden;display:flex;flex-direction:column}.history-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.history-header h2{font-size:18px;font-weight:600;color:#fff;margin:0}.history-close-btn{width:36px;height:36px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.history-list{flex:1;overflow-y:auto;padding:16px}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:#6b7280}.history-empty svg{margin-bottom:12px;opacity:.5}.history-item{display:flex;align-items:center;gap:16px;padding:16px;background:#ffffff08;border-radius:12px;margin-bottom:8px}.history-item.completed{border-left:3px solid #22c55e}.history-item.in_progress{border-left:3px solid #f59e0b}.history-date{font-size:13px;color:#6b7280;min-width:80px}.history-details{flex:1;display:flex;flex-direction:column;gap:4px}.history-name{font-weight:500;color:#fff}.history-status{font-size:12px}.history-status.completed{color:#22c55e}.history-status.in_progress{color:#f59e0b}.reschedule-modal{max-height:85vh;min-height:350px;overflow-y:auto}.reschedule-content{padding:24px;padding-bottom:calc(60px + env(safe-area-inset-bottom,40px))}.reschedule-description{color:#9ca3af;font-size:15px;margin-bottom:20px;line-height:1.5}.reschedule-date-picker{margin-bottom:24px}.reschedule-date-picker label{display:block;color:#9ca3af;font-size:14px;margin-bottom:8px}.reschedule-date-picker input[type=date]{width:100%;padding:14px 16px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:16px;outline:none;transition:all .2s ease}.reschedule-date-picker input[type=date]:focus{border-color:#0d9488;box-shadow:0 0 0 3px #0d948833}.reschedule-date-picker input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.reschedule-actions{display:flex;gap:12px}.reschedule-cancel-btn{flex:1;padding:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.reschedule-cancel-btn:hover{background:#ffffff1a}.reschedule-confirm-btn{flex:1;padding:14px;background:linear-gradient(135deg,#0d9488,#14b8a6);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.reschedule-confirm-btn:hover{transform:scale(1.02)}.reschedule-confirm-btn:active{transform:scale(.98)}.workout-hero-v3{position:relative;min-height:280px;background-size:cover;background-position:center;background-color:#1a1a1a;display:flex;align-items:flex-end;padding:24px 20px}.workout-hero-v3 .hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to top,#000000e6,#0006,#0003);pointer-events:none}.workout-hero-v3 .hero-content-v3{position:relative;z-index:1;flex:1}.workout-hero-v3 .hero-title-v3{font-size:26px;font-weight:700;color:#fff;margin-bottom:4px;line-height:1.2}.workout-hero-v3 .hero-day-label{font-size:14px;color:#9ca3af;margin-bottom:12px}.workout-hero-v3 .hero-stats{display:flex;gap:20px;margin-bottom:12px}.workout-hero-v3 .stat-item{display:flex;align-items:center;gap:6px;font-size:14px;color:#d1d5db}.workout-hero-v3 .stat-item svg{color:#9ca3af}.workout-hero-v3 .hero-description{font-size:14px;color:#9ca3af;line-height:1.5;max-width:280px}.workout-hero-v3 .hero-play-btn{position:absolute;right:20px;bottom:40px;width:64px;height:64px;background:#3b82f6;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;box-shadow:0 4px 20px #3b82f680;transition:transform .2s,box-shadow .2s;z-index:2}.workout-hero-v3 .hero-play-btn:hover{transform:scale(1.05);box-shadow:0 6px 24px #3b82f699}.workout-hero-v3 .hero-play-btn svg{margin-left:4px}.track-heart-rate-section{padding:16px 20px;background:#000}.track-heart-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;background:transparent;border:2px solid #3b82f6;border-radius:25px;color:#3b82f6;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.track-heart-btn:hover{background:#3b82f61a}.track-heart-btn svg{color:#3b82f6}.finish-training-section{display:flex;justify-content:center;padding:24px 20px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));margin-top:16px}.finish-training-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 40px;background:transparent;border:2px solid #3b82f6;border-radius:25px;cursor:pointer;transition:all .2s;min-width:200px}.finish-training-btn .btn-text{font-size:16px;font-weight:600;color:#3b82f6}.finish-training-btn .btn-progress{font-size:12px;color:#3b82f6;opacity:.8}.finish-training-btn.ready{background:#3b82f6;border-color:#3b82f6}.finish-training-btn.ready .btn-text,.finish-training-btn.ready .btn-progress{color:#fff}.week-calendar-v2{padding:0 16px 16px}.week-calendar-v2 .calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.week-calendar-v2 .month-label{font-size:14px;font-weight:600;color:#fff}.week-calendar-v2 .week-nav-btn{background:#ffffff0d;border:none;color:#94a3b8;padding:8px;border-radius:8px;cursor:pointer;transition:all .2s}.week-calendar-v2 .week-nav-btn:hover{background:#ffffff1a;color:#fff}.week-calendar-v2 .week-days-strip{display:flex;gap:6px;overflow-x:auto;padding:4px 0;-ms-overflow-style:none;scrollbar-width:none}.week-calendar-v2 .week-days-strip::-webkit-scrollbar{display:none}.week-calendar-v2 .day-pill{flex:1;min-width:44px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;cursor:pointer;transition:all .2s;position:relative}.week-calendar-v2 .day-pill:hover{background:#ffffff14}.week-calendar-v2 .day-pill.today{border-color:#0d94884d}.week-calendar-v2 .day-pill.selected{background:linear-gradient(135deg,#0d9488,#0284c7);border-color:transparent}.week-calendar-v2 .day-pill .day-name{font-size:11px;text-transform:uppercase;color:#64748b;font-weight:500}.week-calendar-v2 .day-pill.selected .day-name{color:#fffc}.week-calendar-v2 .day-pill .day-number{font-size:16px;font-weight:600;color:#fff}.week-calendar-v2 .day-pill .today-dot{position:absolute;bottom:6px;width:4px;height:4px;background:#0d9488;border-radius:50%}.progress-card-v2{margin:0 16px 16px;padding:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:16px}.progress-card-v2 .progress-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.progress-card-v2 .progress-icon{width:40px;height:40px;background:linear-gradient(135deg,#0d948833,#0284c733);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#0d9488}.progress-card-v2 .progress-info{flex:1}.progress-card-v2 .progress-label{display:block;font-size:12px;color:#64748b;margin-bottom:2px}.progress-card-v2 .progress-value{font-size:14px;color:#fff;font-weight:500}.progress-card-v2 .progress-percentage{font-size:24px;font-weight:700;color:#0d9488}.progress-card-v2 .progress-bar-v2{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-card-v2 .progress-fill-v2{height:100%;background:linear-gradient(90deg,#0d9488,#0284c7);border-radius:4px;transition:width .5s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:8px}.progress-card-v2 .progress-fill-v2 svg{color:#fff}.progress-card-v2 .progress-complete{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:8px;background:#22c55e1a;border-radius:8px;color:#22c55e;font-weight:600;font-size:14px}.start-workout-btn-v2{display:flex;align-items:center;gap:16px;margin:16px;padding:16px 20px;background:linear-gradient(135deg,#0d9488,#0284c7);border:none;border-radius:16px;cursor:pointer;transition:all .3s;width:calc(100% - 32px)}.start-workout-btn-v2:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0d94884d}.start-workout-btn-v2 .btn-icon{width:48px;height:48px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.start-workout-btn-v2 .btn-text{display:flex;flex-direction:column;align-items:flex-start}.start-workout-btn-v2 .btn-title{font-size:18px;font-weight:700;color:#fff}.start-workout-btn-v2 .btn-subtitle{font-size:13px;color:#ffffffb3}.complete-workout-btn-v2{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 16px;padding:18px 24px;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:16px;font-size:18px;font-weight:700;color:#fff;cursor:pointer;width:calc(100% - 32px);position:relative;overflow:hidden;transition:all .3s}.complete-workout-btn-v2:hover{transform:translateY(-2px);box-shadow:0 8px 24px #22c55e4d}.workout-content{padding:0 0 20px;transition:opacity .2s ease}.workout-content.refreshing{opacity:.7;pointer-events:none}.exercises-section{padding:0 16px}.exercises-section .section-title{font-size:18px;font-weight:600;color:#fff;margin-bottom:16px}.loading-state-v2{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.loading-state-v2 .loading-spinner{width:40px;height:40px;border:3px solid rgba(13,148,136,.2);border-top-color:#0d9488;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state-v2 span{color:#64748b;font-size:14px}.empty-state-v2{text-align:center;padding:60px 20px}.empty-state-v2 .empty-illustration{width:120px;height:120px;margin:0 auto 24px;background:linear-gradient(135deg,#0d94881a,#0284c71a);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#0d9488}.empty-state-v2 h3{font-size:24px;font-weight:700;color:#fff;margin-bottom:8px}.empty-state-v2 p{color:#64748b;font-size:14px;margin-bottom:24px}.empty-state-v2 .empty-tips{display:flex;justify-content:center;gap:20px}.empty-state-v2 .tip{display:flex;flex-direction:column;align-items:center;gap:8px}.empty-state-v2 .tip-icon{font-size:24px}.empty-state-v2 .tip span:last-child{font-size:12px;color:#94a3b8}.rest-day-actions{display:flex;gap:12px;margin-top:32px;justify-content:center;flex-wrap:wrap}.rest-day-add-btn,.rest-day-ai-btn{display:flex;align-items:center;gap:8px;padding:14px 20px;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.rest-day-add-btn{background:#ffffff1a;color:#e2e8f0;border:1px solid rgba(255,255,255,.2)}.rest-day-add-btn:hover{background:#ffffff26;transform:translateY(-2px)}.rest-day-ai-btn{background:linear-gradient(135deg,#0d9488,#0284c7);color:#fff;box-shadow:0 4px 12px #0d948866}.rest-day-ai-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0d948880}.rest-day-ai-btn:active,.rest-day-add-btn:active{transform:translateY(0)}.ai-workout-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:50px 20px 20px;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px));touch-action:none;overscroll-behavior:contain}.ai-workout-modal{background:#1a1a1a;border-radius:20px;width:100%;max-width:400px;max-height:100%;display:flex;flex-direction:column;animation:slideUpFade .3s ease;overscroll-behavior:contain}.ai-workout-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.ai-workout-header h2{font-size:1.25rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:10px}.ai-workout-header h2 svg{color:#0d9488}.ai-workout-content{padding:20px 20px 10px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain}.ai-workout-footer{padding:15px 20px;padding-bottom:calc(15px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.1);background:#1a1a1a;flex-shrink:0}.ai-workout-option{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .2s}.ai-workout-option:hover{background:#ffffff14;border-color:var(--brand-primary)}.ai-workout-option.selected{background:#0d948826;border-color:var(--brand-primary)}.ai-workout-option h3{font-size:1rem;font-weight:600;color:#fff;margin-bottom:4px}.ai-workout-option p{font-size:.85rem;color:#94a3b8}.ai-workout-option .option-meta{display:flex;gap:12px;margin-top:8px;font-size:.8rem;color:#64748b}.ai-workout-option .option-meta span{display:flex;align-items:center;gap:4px}.ai-workout-generate-btn{width:100%;padding:16px;background:linear-gradient(135deg,#0d9488,#0284c7);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.ai-workout-generate-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0d948866}.ai-workout-generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.ai-workout-loading{text-align:center;padding:40px 20px;color:#94a3b8}.ai-workout-loading svg{animation:spin 1s linear infinite;margin-bottom:12px}.ai-workout-section{margin-bottom:24px}.ai-workout-section .section-label{font-size:.85rem;font-weight:600;color:#94a3b8;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.workout-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ai-workout-option .option-icon{font-size:1.5rem;display:block;margin-bottom:6px}.duration-options{display:flex;gap:10px}.duration-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#e2e8f0;cursor:pointer;transition:all .2s}.duration-btn:hover{background:#ffffff14}.duration-btn.selected{background:#0d948826;border-color:var(--brand-primary)}.duration-btn span{font-size:1rem;font-weight:600}.duration-btn small{font-size:.75rem;color:#64748b}.duration-btn svg{color:#64748b}.duration-btn.selected svg{color:var(--brand-primary)}.ai-workout-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px;margin-bottom:12px}.ai-workout-error p{color:#ef4444;font-size:.9rem;margin:0}.difficulty-options{display:flex;gap:8px}.difficulty-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s}.difficulty-btn:hover{background:#ffffff14}.difficulty-btn.selected{background:rgba(var(--brand-primary-rgb, 20, 184, 166),.15);border-color:var(--brand-primary, #14b8a6)}.difficulty-btn .difficulty-name{color:#fff;font-size:.9rem;font-weight:600}.difficulty-btn small{color:#ffffff80;font-size:.75rem}.difficulty-btn.selected .difficulty-name{color:var(--brand-primary, #14b8a6)}.advanced-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffb3;cursor:pointer;transition:all .2s;font-size:.9rem}.advanced-toggle:hover{background:#ffffff0d;color:#fff}.advanced-toggle span{flex:1;text-align:left}.advanced-options{margin-top:12px;padding:16px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:8px}.advanced-options h4{color:#ffffffb3;font-size:.85rem;font-weight:500;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.equipment-section{margin-bottom:16px}.equipment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.equipment-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s;font-size:.75rem;color:#ffffffb3}.equipment-btn:hover{background:#ffffff14}.equipment-btn.selected{background:rgba(var(--brand-primary-rgb, 20, 184, 166),.15);border-color:var(--brand-primary, #14b8a6);color:var(--brand-primary, #14b8a6)}.equipment-btn span:first-child{font-size:1.2rem}.custom-prompt-section{margin-top:16px}.custom-prompt-input{width:100%;padding:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.9rem;resize:vertical;min-height:80px;font-family:inherit}.custom-prompt-input::placeholder{color:#fff6}.custom-prompt-input:focus{outline:none;border-color:var(--brand-primary, #14b8a6)}@media(max-height:700px){.ai-workout-overlay{padding:30px 10px 10px;padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}.ai-workout-option{padding:12px;margin-bottom:8px}.ai-workout-option .option-icon{font-size:1.2rem;margin-bottom:4px}.ai-workout-option h3{font-size:.9rem}.ai-workout-option p{font-size:.75rem}}.exercise-card-v2{background:#1a1a1a;border-radius:0;margin-bottom:0;overflow:hidden;transition:all .2s;position:relative;border-bottom:1px solid rgba(255,255,255,.08)}.exercise-card-v2:hover{background:#222}.exercise-card-v2.completed{opacity:.7}.exercise-card-v2.completed:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(34,197,94,.05));pointer-events:none}.exercise-card-v2 .exercise-main{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;position:relative}.exercise-card-v2 .exercise-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.exercise-card-v2 .exercise-title{font-size:16px;font-weight:600;color:#fff;margin-bottom:2px}[data-theme=light] .exercise-card-v2 .exercise-title{color:#1f2937}.exercise-card-v2 .exercise-calories{display:inline-flex;align-items:center;font-size:12px;font-weight:500;color:#f97316;margin-bottom:6px}[data-theme=light] .exercise-card-v2 .exercise-calories{color:#ea580c}.exercise-card-v2 .exercise-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}.exercise-card-v2 .exercise-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.exercise-card-v2 .superset-badge{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.exercise-card-v2 .warmup-badge{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff}.exercise-card-v2 .stretch-badge{background:linear-gradient(135deg,#10b981,#14b8a6);color:#fff}.exercise-card-v2.superset-exercise{border-left:3px solid #8B5CF6}.exercise-card-v2.warmup-exercise{border-left:3px solid #F59E0B}.exercise-card-v2.stretch-exercise{border-left:3px solid #10B981}.exercise-card-v2 .equipment-subtitle{font-size:13px;color:#6b7280;margin-bottom:12px}.exercise-card-v2 .time-boxes-row{display:flex;gap:8px;margin-bottom:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.exercise-card-v2 .time-boxes-row::-webkit-scrollbar{display:none}.exercise-card-v2 .time-box{min-width:60px;height:44px;background:#2a2a2a;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:500;color:#fff;border:1px solid rgba(255,255,255,.1);flex-shrink:0}[data-theme=light] .exercise-card-v2 .time-box{background:#f3f4f6;border-color:#e5e7eb}.exercise-card-v2 .time-box.with-weight{height:54px;flex-direction:column;gap:2px;padding:6px 10px;min-width:64px}.exercise-card-v2 .time-box .reps-value{font-size:16px;font-weight:700;color:#fff;line-height:1.2}[data-theme=light] .exercise-card-v2 .time-box .reps-value{color:#1f2937}.exercise-card-v2 .time-box .weight-value{font-size:12px;font-weight:500;color:#9ca3af;line-height:1.2}[data-theme=light] .exercise-card-v2 .time-box .weight-value{color:#6b7280}.exercise-card-v2 .time-box.add-box{background:#2a2a2a;color:#9ca3af;cursor:pointer;min-width:50px;max-width:60px;height:52px;flex-shrink:0}.exercise-card-v2 .time-box.add-box:hover{background:#333;color:#fff}.exercise-card-v2 .rest-row{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.exercise-card-v2 .rest-row::-webkit-scrollbar{display:none}.exercise-card-v2 .rest-box{min-width:60px;height:28px;flex:0 0 auto;background:#2a2a2acc;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;color:#9ca3af}.exercise-card-v2 .rest-box svg{color:#6b7280;flex-shrink:0}.exercise-card-v2 .rest-spacer{flex:1;max-width:200px}.exercise-card-v2 .exercise-thumb{width:72px;height:72px;border-radius:12px;overflow:hidden;flex-shrink:0;position:relative;background:#1e3a5f;align-self:flex-start}.exercise-card-v2 .exercise-thumb img{width:100%;height:100%;object-fit:cover}.exercise-card-v2 .video-indicator{position:absolute;bottom:4px;right:4px;width:20px;height:20px;background:#000000b3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.exercise-card-v2 .exercise-meta-row{display:flex;gap:8px;margin-bottom:6px}.exercise-card-v2 .muscle-tag{padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500;text-transform:capitalize}.exercise-card-v2 .equipment-tag{font-size:11px;color:#64748b}.exercise-card-v2 .sets-summary{display:flex;align-items:center;gap:6px;font-size:12px;color:#94a3b8}.exercise-card-v2 .sets-divider{color:#475569}.exercise-card-v2 .rest-count{display:inline-flex;align-items:center;gap:4px}.exercise-card-v2 .exercise-action{padding-right:4px}.exercise-card-v2 .chevron-icon{color:#475569}.exercise-card-v2 .progress-ring-container{width:44px;height:44px;position:relative}.exercise-card-v2 .progress-ring{width:100%;height:100%;transform:rotate(-90deg)}.exercise-card-v2 .progress-ring-bg{fill:none;stroke:#ffffff1a;stroke-width:3}.exercise-card-v2 .progress-ring-fill{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .3s ease}.exercise-card-v2 .ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:600;color:#fff}.exercise-card-v2 .sets-panel{border-top:1px solid rgba(255,255,255,.05)}.exercise-card-v2 .sets-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;background:none;border:none;color:#64748b;font-size:13px;cursor:pointer;transition:color .2s}.exercise-card-v2 .sets-toggle:hover{color:#94a3b8}.exercise-card-v2 .sets-toggle svg{transition:transform .2s}.exercise-card-v2 .sets-toggle svg.rotated{transform:rotate(90deg)}.exercise-card-v2 .sets-grid-v2{padding:0 14px 14px;display:flex;flex-direction:column;gap:8px}.exercise-card-v2 .set-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#ffffff08;border-radius:10px}.exercise-card-v2 .set-item.done{background:#22c55e1a}.exercise-card-v2 .set-label{width:50px;font-size:13px;font-weight:500;color:#94a3b8}.exercise-card-v2 .set-controls{flex:1;display:flex;align-items:center;justify-content:center;gap:8px}.exercise-card-v2 .weight-btn{width:28px;height:28px;background:#ffffff1a;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.exercise-card-v2 .weight-btn:hover{background:#fff3}.exercise-card-v2 .weight-value{min-width:60px;text-align:center;font-size:14px;font-weight:600;color:#fff}.exercise-card-v2 .set-check{width:36px;height:36px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:10px;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.exercise-card-v2 .set-check.checked{background:#22c55e;border-color:#22c55e;color:#fff}.exercise-card-v2 .add-set-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;background:none;border:2px dashed rgba(255,255,255,.1);border-radius:10px;color:#64748b;font-size:13px;cursor:pointer;transition:all .2s}.exercise-card-v2 .add-set-btn:hover{border-color:#fff3;color:#94a3b8}.exercise-card-v2 .coach-note{padding:10px 14px;background:#f59e0b1a;border-top:1px solid rgba(245,158,11,.2);font-size:13px}.exercise-card-v2 .note-label{color:#f59e0b;font-weight:500;margin-right:6px}.exercise-card-v2 .note-text{color:#fbbf24}.exercise-card-v2 .set-item{display:grid;grid-template-columns:auto 1fr 1fr 1fr auto;gap:8px;align-items:center;padding:12px;background:#ffffff08;border-radius:10px}.exercise-card-v2 .set-header{display:flex;align-items:center;gap:6px}.exercise-card-v2 .remove-set-btn{width:20px;height:20px;background:#ef444433;border:none;border-radius:4px;color:#ef4444;display:flex;align-items:center;justify-content:center;cursor:pointer}.exercise-card-v2 .set-input-group{display:flex;flex-direction:column;gap:2px}.exercise-card-v2 .set-input-group label{font-size:10px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.exercise-card-v2 .set-input{width:100%;min-width:50px;padding:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:16px;font-weight:600;text-align:center;-webkit-appearance:none;-moz-appearance:textfield}.exercise-card-v2 .set-input:focus{outline:none;border-color:#3b82f6;background:#3b82f61a}.exercise-card-v2 .set-input::-webkit-outer-spin-button,.exercise-card-v2 .set-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.exercise-card-v2 .weight-input-row{display:flex;align-items:center;gap:4px}.exercise-card-v2 .weight-input{flex:1;min-width:60px}.exercise-card-v2 .weight-adjust-btn{width:28px;height:28px;background:#ffffff1a;border:none;border-radius:6px;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.exercise-card-v2 .weight-adjust-btn:active{background:#fff3}.exercise-card-v2 .rest-input-row{display:flex;align-items:center;gap:4px}.exercise-card-v2 .rest-time-input{width:50px;min-width:50px}.exercise-card-v2 .rest-unit{font-size:12px;color:#6b7280}.exercise-card-v2 .start-rest-btn{width:24px;height:24px;background:#3b82f633;border:none;border-radius:4px;color:#3b82f6;display:flex;align-items:center;justify-content:center;cursor:pointer}.exercise-card-v2 .rest-box.timer-active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;animation:pulse-timer 1s infinite}@keyframes pulse-timer{0%,to{opacity:1}50%{opacity:.8}}.exercise-card-v2 .rest-timer-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:inherit}.exercise-card-v2 .rest-timer-content{display:flex;flex-direction:column;align-items:center;gap:8px}.exercise-card-v2 .rest-timer-label{font-size:14px;color:#94a3b8;text-transform:uppercase;letter-spacing:1px}.exercise-card-v2 .rest-timer-time{font-size:48px;font-weight:700;color:#3b82f6}.exercise-card-v2 .skip-rest-btn{padding:8px 24px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:20px;color:#fff;font-size:14px;cursor:pointer;margin-top:8px}.exercise-card-v2 .skip-rest-btn:active{background:#fff3}.exercise-modal-overlay-v2{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:1000;overflow-y:auto;animation:fadeIn .2s ease;-webkit-overflow-scrolling:touch;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.exercise-modal-v2{background:#0f172a;min-height:100vh;position:relative;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.exercise-modal-v2 .rest-timer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;z-index:100;display:flex;align-items:center;justify-content:center}.exercise-modal-v2 .rest-timer-content{text-align:center}.exercise-modal-v2 .rest-timer-ring{width:200px;height:200px;position:relative;margin:0 auto 24px}.exercise-modal-v2 .rest-timer-ring svg{width:100%;height:100%}.exercise-modal-v2 .rest-timer-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.exercise-modal-v2 .timer-seconds{display:block;font-size:48px;font-weight:700;color:#fff}.exercise-modal-v2 .timer-label{font-size:14px;color:#64748b}.exercise-modal-v2 .rest-timer-content h3{font-size:24px;color:#fff;margin-bottom:8px}.exercise-modal-v2 .rest-timer-content p{color:#64748b;margin-bottom:24px}.exercise-modal-v2 .skip-rest-btn{padding:12px 32px;background:#ffffff1a;border:none;border-radius:12px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.exercise-modal-v2 .skip-rest-btn:hover{background:#fff3}.exercise-modal-v2 .modal-header-v2{display:flex;align-items:center;gap:12px;padding:16px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.05)}.exercise-modal-v2 .close-btn{background:none;border:none;color:#fff;padding:8px;margin:-8px;cursor:pointer}.exercise-modal-v2 .header-info{flex:1;min-width:0}.exercise-modal-v2 .header-info h2{font-size:18px;font-weight:600;color:#fff;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exercise-modal-v2 .header-badges{display:flex;gap:8px}.exercise-modal-v2 .muscle-badge,.exercise-modal-v2 .equipment-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:500}.exercise-modal-v2 .equipment-badge{background:#ffffff1a;color:#94a3b8}.exercise-modal-v2 .completed-indicator{width:36px;height:36px;background:#22c55e;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.exercise-modal-v2 .video-section-v2{position:relative;aspect-ratio:16 / 9;background:#000}.exercise-modal-v2 .video-container-v2{width:100%;height:100%;position:relative}.exercise-modal-v2 .video-container-v2 video{width:100%;height:100%;object-fit:contain}.exercise-modal-v2 .video-controls{position:absolute;bottom:12px;left:12px;display:flex;gap:8px}.exercise-modal-v2 .video-control-btn{width:36px;height:36px;background:#0009;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.exercise-modal-v2 .video-control-btn:hover{background:#000c}.exercise-modal-v2 .video-play-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#0000004d;cursor:pointer}.exercise-modal-v2 .video-play-overlay svg{color:#fff;opacity:.9}.exercise-modal-v2 .video-placeholder-v2{width:100%;height:100%;position:relative}.exercise-modal-v2 .video-placeholder-v2 img{width:100%;height:100%;object-fit:cover}.exercise-modal-v2 .placeholder-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(transparent,#000c);text-align:center}.exercise-modal-v2 .placeholder-overlay span{color:#94a3b8;font-size:13px}.exercise-modal-v2 .modal-tabs{display:flex;gap:4px;padding:8px;background:#0000004d}.exercise-modal-v2 .tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;background:none;border:none;border-radius:10px;color:#64748b;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.exercise-modal-v2 .tab-btn:hover{color:#94a3b8}.exercise-modal-v2 .tab-btn.active{background:#0d948826;color:#0d9488}.exercise-modal-v2 .modal-content-v2{padding:16px}.exercise-modal-v2 .sets-progress{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#ffffff08;border-radius:10px;margin-bottom:16px}.exercise-modal-v2 .progress-visual{display:flex;gap:6px}.exercise-modal-v2 .progress-dot{width:10px;height:10px;background:#ffffff1a;border-radius:50%;transition:background .2s}.exercise-modal-v2 .progress-text{font-size:13px;color:#94a3b8}.exercise-modal-v2 .sets-list-v2{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.exercise-modal-v2 .set-row{display:flex;align-items:center;gap:10px;padding:12px;background:#ffffff08;border-radius:12px;transition:background .2s}.exercise-modal-v2 .set-row.done{background:#22c55e1a}.exercise-modal-v2 .set-number{width:32px;height:32px;background:#ffffff1a;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff}.exercise-modal-v2 .set-reps-control,.exercise-modal-v2 .set-weight-control{flex:1;display:flex;align-items:center;justify-content:center;gap:8px}.exercise-modal-v2 .set-reps-control button,.exercise-modal-v2 .set-weight-control button{width:28px;height:28px;background:#ffffff1a;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.exercise-modal-v2 .set-reps-control button:disabled,.exercise-modal-v2 .set-weight-control button:disabled{opacity:.3;cursor:not-allowed}.exercise-modal-v2 .value-display{text-align:center;min-width:40px}.exercise-modal-v2 .value-display .value{display:block;font-size:16px;font-weight:700;color:#fff}.exercise-modal-v2 .value-display .label{font-size:10px;color:#64748b;text-transform:uppercase}.exercise-modal-v2 .set-complete-btn{width:44px;height:44px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.exercise-modal-v2 .set-complete-btn:disabled{opacity:.3;cursor:not-allowed}.exercise-modal-v2 .set-complete-btn.completed{border-color:transparent;color:#fff}.exercise-modal-v2 .add-set-btn-v2{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:none;border:2px dashed rgba(255,255,255,.1);border-radius:12px;color:#64748b;font-size:14px;cursor:pointer}.exercise-modal-v2 .rest-setting{display:flex;align-items:center;gap:8px;padding:12px;background:#ffffff08;border-radius:10px;color:#64748b;font-size:13px;margin-bottom:16px}.exercise-modal-v2 .personal-note-v2{background:#ffffff08;border-radius:12px;padding:14px}.exercise-modal-v2 .personal-note-v2 .note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.exercise-modal-v2 .personal-note-v2 .note-header span{font-size:14px;font-weight:600;color:#fff}.exercise-modal-v2 .personal-note-v2 .note-header button{display:flex;align-items:center;gap:4px;background:none;border:none;color:#0d9488;font-size:13px;cursor:pointer}.exercise-modal-v2 .personal-note-v2 textarea{width:100%;min-height:80px;padding:10px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;resize:vertical}.exercise-modal-v2 .personal-note-v2 .note-content{color:#94a3b8;font-size:14px;line-height:1.5}.exercise-modal-v2 .history-tab{display:flex;flex-direction:column;gap:20px}.exercise-modal-v2 .personal-record{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#f59e0b26,#f59e0b0d);border:1px solid rgba(245,158,11,.2);border-radius:12px}.exercise-modal-v2 .pr-info{flex:1}.exercise-modal-v2 .pr-label{display:block;font-size:12px;color:#f59e0b;margin-bottom:2px}.exercise-modal-v2 .pr-value{font-size:24px;font-weight:700;color:#fff}.exercise-modal-v2 .history-chart-v2 h4,.exercise-modal-v2 .recent-sessions h4{font-size:14px;color:#fff;margin-bottom:12px}.exercise-modal-v2 .chart-container{height:120px;padding:12px;background:#ffffff08;border-radius:12px}.exercise-modal-v2 .chart-bars{display:flex;align-items:flex-end;justify-content:space-around;height:100%;gap:8px}.exercise-modal-v2 .chart-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.exercise-modal-v2 .chart-bar{width:100%;max-width:24px;min-height:4px;border-radius:4px 4px 0 0;transition:height .3s ease}.exercise-modal-v2 .bar-label{font-size:10px;color:#64748b;margin-top:4px}.exercise-modal-v2 .no-history{text-align:center;padding:24px;background:#ffffff08;border-radius:12px}.exercise-modal-v2 .no-history p{color:#64748b;font-size:14px}.exercise-modal-v2 .sessions-list{display:flex;flex-direction:column;gap:8px}.exercise-modal-v2 .session-item{display:flex;align-items:center;padding:12px;background:#ffffff08;border-radius:10px}.exercise-modal-v2 .session-date{flex:1;font-size:13px;color:#fff}.exercise-modal-v2 .session-sets,.exercise-modal-v2 .session-weight{font-size:12px;color:#64748b;margin-left:12px}.exercise-modal-v2 .no-sessions{color:#64748b;font-size:14px;text-align:center;padding:16px}.exercise-modal-v2 .info-tab{display:flex;flex-direction:column;gap:20px}.exercise-modal-v2 .muscles-info h4,.exercise-modal-v2 .equipment-info h4,.exercise-modal-v2 .instructions-info h4,.exercise-modal-v2 .tips-info h4{font-size:14px;color:#fff;margin-bottom:12px}.exercise-modal-v2 .muscle-groups{display:flex;gap:16px}.exercise-modal-v2 .muscle-group{flex:1;padding:12px;background:#ffffff08;border-radius:10px}.exercise-modal-v2 .group-label{display:block;font-size:11px;color:#64748b;margin-bottom:4px;text-transform:uppercase}.exercise-modal-v2 .group-value{font-size:14px;font-weight:500;text-transform:capitalize}.exercise-modal-v2 .equipment-badge-large{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:#ffffff0d;border-radius:10px;color:#fff;font-size:15px}.exercise-modal-v2 .instructions-info p{color:#94a3b8;font-size:14px;line-height:1.6}.exercise-modal-v2 .tips-info ul{list-style:none;padding:0}.exercise-modal-v2 .tips-info li{position:relative;padding-left:20px;margin-bottom:10px;color:#94a3b8;font-size:14px;line-height:1.5}.exercise-modal-v2 .tips-info li:before{content:"";position:absolute;left:0;color:#0d9488}.exercise-modal-v2.modal-v3{background:#000}.modal-header-v3{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#000}.modal-header-v3 .close-btn,.modal-header-v3 .info-btn{width:40px;height:40px;background:none;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.modal-header-v3 .info-btn{color:#3b82f6}.modal-header-v3 .header-title{font-size:16px;font-weight:500;color:#fff;text-align:center;flex:1}.exercise-images-v3{display:flex;gap:16px;padding:16px;position:relative;background:#000}.exercise-images-v3 .image-container{flex:1;aspect-ratio:3 / 4;background:#1a1a1a;border-radius:8px;overflow:hidden}.exercise-images-v3 .image-container img{width:100%;height:100%;object-fit:cover}.exercise-images-v3 .center-play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;background:#3b82f6;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;box-shadow:0 4px 20px #3b82f680;z-index:2}.exercise-images-v3 .center-play-btn svg{margin-left:4px}.exercise-images-v3.single-image{justify-content:center}.exercise-images-v3 .image-container.single{flex:none;width:100%;max-width:400px;aspect-ratio:4 / 3}.difficulty-section{display:flex;align-items:center;gap:8px;padding:12px 16px;color:#9ca3af;font-size:14px}.difficulty-section svg{color:#9ca3af}.modal-time-boxes{padding:0 16px 16px}.modal-time-boxes .time-boxes-row{display:flex;gap:8px;margin-bottom:8px}.modal-time-boxes .time-box{min-width:80px;height:48px;background:#2a2a2a;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;color:#fff;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .2s}.modal-time-boxes .time-box.clickable:hover,.modal-time-boxes .time-box.clickable:active{background:#3a3a3a;border-color:#3b82f6}.modal-time-boxes .time-box.add-box{flex:1;color:#9ca3af;cursor:pointer}.modal-time-boxes .time-box.add-box:hover{background:#333;color:#fff}.modal-time-boxes .rest-boxes-row{display:flex;gap:8px}.modal-time-boxes .rest-box{min-width:80px;height:40px;background:#2a2a2a;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:13px;color:#9ca3af;border:1px solid rgba(255,255,255,.1)}.modal-time-boxes .rest-spacer{flex:1}.add-note-section{padding:0 16px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.add-note-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:none;border:none;color:#3b82f6;font-size:14px;font-weight:500;cursor:pointer}.add-note-btn:hover{opacity:.8}.note-textarea{width:100%;min-height:80px;padding:12px;background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;resize:vertical;margin-top:12px}.note-textarea::placeholder{color:#6b7280}.muscle-groups-section{padding:16px}.muscle-groups-section h4{font-size:16px;font-weight:600;color:#fff;margin-bottom:12px}.muscle-info-row{display:flex;align-items:center;justify-content:space-between}.muscle-info-row .muscle-name{font-size:14px;color:#9ca3af}.muscle-info-row .body-diagrams{display:flex;gap:8px}.muscle-info-row .body-diagrams img{width:60px;height:80px;object-fit:contain;opacity:.8}.ai-tips-section{padding:16px;background:#0d94880d;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}.ai-tips-section .tips-header{display:flex;align-items:center;gap:8px;color:#0d9488;font-size:14px;font-weight:600;margin-bottom:12px}.ai-tips-section .tips-header .spin{animation:spin 1s linear infinite}.ai-tips-section .tips-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.ai-tips-section .tip-item{display:flex;gap:8px;font-size:13px;color:#d1d5db;line-height:1.4}.ai-tips-section .tip-bullet{color:#0d9488;flex-shrink:0}.ai-tips-section .tips-loading-placeholder{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.ai-tips-section .tip-skeleton{height:16px;background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a,#2a2a2a 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.ai-tips-section .tip-skeleton:nth-child(1){width:90%}.ai-tips-section .tip-skeleton:nth-child(2){width:75%}.ai-tips-section .tip-skeleton:nth-child(3){width:85%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ai-tips-section .ask-coach-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:#0d948826;border:1px solid rgba(13,148,136,.3);border-radius:10px;color:#14b8a6;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.ai-tips-section .ask-coach-btn:hover{background:#0d948840}.ai-tips-section .ask-coach-btn:active{transform:scale(.98)}.ask-coach-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;z-index:2000;display:flex;flex-direction:column;animation:fadeIn .2s ease}.ask-coach-modal{display:flex;flex-direction:column;height:100%;max-height:100vh;background:#111}.ask-coach-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.ask-coach-header .coach-title{display:flex;align-items:center;gap:8px;color:#14b8a6;font-size:16px;font-weight:600}.ask-coach-header .close-btn{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px}.ask-coach-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.coach-message{display:flex;gap:10px;max-width:85%}.coach-message.user{align-self:flex-end;flex-direction:row-reverse}.coach-message.coach{align-self:flex-start}.coach-message .coach-avatar{width:32px;height:32px;background:#0d948833;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#14b8a6;flex-shrink:0}.coach-message .message-bubble{padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.5}.coach-message.coach .message-bubble{background:#1a1a1a;color:#e5e7eb;border-bottom-left-radius:4px}.coach-message.user .message-bubble{background:#0d9488;color:#fff;border-bottom-right-radius:4px}.coach-message .message-bubble.typing{display:flex;align-items:center;gap:8px;color:#9ca3af}.quick-questions{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 16px}.quick-question-btn{padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:#9ca3af;font-size:12px;cursor:pointer;transition:all .2s}.quick-question-btn:hover{background:#ffffff1a;color:#fff}.ask-coach-input{display:flex;gap:8px;padding:16px;border-top:1px solid rgba(255,255,255,.1);background:#111;flex-shrink:0}.ask-coach-input input{flex:1;padding:12px 16px;background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:24px;color:#fff;font-size:14px;outline:none}.ask-coach-input input:focus{border-color:#0d9488}.ask-coach-input input::placeholder{color:#6b7280}.ask-coach-input .send-btn{width:44px;height:44px;background:#0d9488;border:none;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.ask-coach-input .send-btn:disabled{opacity:.5;cursor:not-allowed}.ask-coach-input .send-btn:not(:disabled):hover{background:#14b8a6}.activity-progress-bar{background:#1a1a1a;padding:12px 16px;display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.1)}.activity-progress-bar .activity-header{font-size:12px;color:#9ca3af;white-space:nowrap}.activity-thumbnails{display:flex;gap:6px;flex:1;overflow-x:auto;scrollbar-width:none}.activity-thumbnails::-webkit-scrollbar{display:none}.activity-thumb{width:40px;height:40px;border-radius:6px;overflow:hidden;flex-shrink:0;background:#2a2a2a;border:2px solid transparent;cursor:pointer;padding:0}.activity-thumb img{width:100%;height:100%;object-fit:cover}.activity-thumb.active{border-color:#3b82f6}.activity-thumb.completed{opacity:.5}.sets-progress-simple{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 100px;background:#1a1a1a;border-top:1px solid rgba(255,255,255,.1)}.sets-progress-simple .progress-dots{display:flex;gap:8px}.sets-progress-simple .progress-dot{width:10px;height:10px;background:#333;border-radius:50%}.sets-progress-simple .progress-dot.completed{background:#22c55e}.sets-progress-simple .progress-text{font-size:14px;color:#9ca3af}.complete-exercise-btn{width:56px;height:56px;background:transparent;border:3px solid #22c55e;border-radius:50%;color:#22c55e;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s}.complete-exercise-btn:hover{background:#22c55e1a}.complete-exercise-btn.completed{background:#22c55e;color:#fff}.video-container-full{width:100%;position:relative;background:#000}.video-container-full video{width:100%;height:auto;max-height:400px;object-fit:contain}.close-video-btn{position:absolute;top:12px;right:12px;width:36px;height:36px;background:#000000b3;border:none;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.sets-tracking-section{padding:16px;background:#0a0a0a}.sets-progress-v3{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#1a1a1a;border-radius:12px;margin-bottom:16px}.sets-progress-v3 .progress-dots{display:flex;gap:8px}.sets-progress-v3 .progress-dot{width:10px;height:10px;background:#333;border-radius:50%}.sets-progress-v3 .progress-dot.completed{background:#22c55e}.sets-progress-v3 .progress-text{font-size:14px;color:#9ca3af}.sets-list-v3{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.set-row-v3{display:flex;align-items:center;gap:8px;padding:12px;background:#1a1a1a;border-radius:12px}.set-row-v3.done{background:#22c55e1a}.set-number-v3{width:40px;height:40px;background:#0d9488;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#fff;flex-shrink:0}.set-reps-control-v3,.set-weight-control-v3{flex:1;display:flex;align-items:center;justify-content:center;gap:6px}.set-reps-control-v3 button,.set-weight-control-v3 button{width:32px;height:32px;background:#2a2a2a;border:none;border-radius:8px;color:#6b7280;display:flex;align-items:center;justify-content:center;cursor:pointer}.set-reps-control-v3 button:hover,.set-weight-control-v3 button:hover{background:#333;color:#fff}.value-display-v3{display:flex;flex-direction:column;align-items:center;min-width:50px}.value-display-v3 .value{font-size:18px;font-weight:600;color:#fff}.value-display-v3 .label{font-size:10px;color:#6b7280;text-transform:uppercase}.set-complete-btn-v3{width:44px;height:44px;background:#2a2a2a;border:none;border-radius:10px;color:#4b5563;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.set-complete-btn-v3:hover{background:#333}.set-complete-btn-v3.completed{background:#22c55e;color:#fff}.add-set-btn-v3{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:none;border:2px dashed #333;border-radius:12px;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer}.add-set-btn-v3:hover{border-color:#4b5563;color:#9ca3af}.rest-between-sets{display:flex;align-items:center;gap:8px;padding:12px 16px;color:#9ca3af;font-size:14px;border-top:1px solid rgba(255,255,255,.05);margin-top:8px}.rest-between-sets svg{color:#0d9488}.personal-note-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.05)}.note-header-v3{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.note-header-v3>span{font-size:16px;font-weight:600;color:#fff}.note-header-v3 button{display:flex;align-items:center;gap:6px;background:none;border:none;color:#3b82f6;font-size:14px;cursor:pointer}.note-textarea-v3{width:100%;min-height:80px;padding:12px;background:#1a1a1a;border:1px solid #333;border-radius:10px;color:#fff;font-size:14px;resize:vertical}.note-textarea-v3::placeholder{color:#6b7280}.note-content-v3{color:#9ca3af;font-size:14px;line-height:1.5}.set-editor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;z-index:2000;display:flex;flex-direction:column;justify-content:flex-end;-webkit-overflow-scrolling:touch;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.set-editor-modal{background:#1a1a1a;border-radius:20px 20px 0 0;max-height:90vh;display:flex;flex-direction:column}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.editor-close-btn{background:none;border:none;color:#fff;cursor:pointer;padding:4px}.editor-title{font-size:17px;font-weight:600;color:#fff}.editor-save-btn{background:none;border:none;color:#3b82f6;font-size:16px;font-weight:600;cursor:pointer}.editor-header-actions{display:flex;align-items:center;gap:12px}.voice-input-btn{width:36px;height:36px;border-radius:50%;background:#ffffff1a;border:none;color:#9ca3af;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.voice-input-btn:hover{background:#ffffff26;color:#fff}.voice-input-btn.listening{background:#ef4444;color:#fff;animation:voice-pulse 1.5s infinite}@keyframes voice-pulse{0%,to{transform:scale(1);box-shadow:0 0 #ef444480}50%{transform:scale(1.05);box-shadow:0 0 0 8px #ef444400}}.voice-feedback{padding:12px 20px;background:#3b82f61a;border-bottom:1px solid rgba(59,130,246,.2);font-size:13px;color:#93c5fd}.voice-feedback.listening{background:#22c55e1a;border-color:#22c55e33}.voice-feedback.error{background:#ef44441a;border-color:#ef444433}.voice-listening{display:flex;align-items:center;gap:12px;color:#4ade80}.voice-pulse{width:12px;height:12px;background:#22c55e;border-radius:50%;animation:voice-dot-pulse 1s infinite}@keyframes voice-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.voice-transcript{color:#93c5fd}.voice-transcript .transcript-label{color:#60a5fa;font-weight:500}.voice-error{color:#f87171}[data-theme=light] .voice-input-btn{background:#0000000d;color:#6b7280}[data-theme=light] .voice-input-btn:hover{background:#0000001a;color:#374151}[data-theme=light] .voice-feedback{background:#3b82f614;color:#2563eb}[data-theme=light] .voice-transcript .transcript-label{color:#1d4ed8}.modal-time-boxes-wrapper{display:flex;align-items:flex-start;gap:12px;padding:0 16px}.modal-time-boxes-wrapper .modal-time-boxes{flex:1;padding:0}.voice-input-btn-detail{width:44px;height:44px;border-radius:50%;background:#3b82f626;border:none;color:#3b82f6;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;margin-top:4px}.voice-input-btn-detail:hover{background:#3b82f640;transform:scale(1.05)}.voice-input-btn-detail.listening{background:#ef4444;color:#fff;animation:pulse-mic 1.5s ease-in-out infinite}@keyframes pulse-mic{0%,to{transform:scale(1);box-shadow:0 0 #ef444466}50%{transform:scale(1.05);box-shadow:0 0 0 8px #ef444400}}.voice-feedback-detail{margin:8px 16px;padding:10px 14px;border-radius:10px;background:#3b82f61a;font-size:13px;color:#60a5fa}.voice-feedback-detail.listening{background:#3b82f626}.voice-feedback-detail.error{background:#ef44441a;color:#f87171}.voice-feedback-detail .voice-listening{display:flex;align-items:center;gap:10px}.voice-feedback-detail .voice-pulse{width:10px;height:10px;background:#3b82f6;border-radius:50%;animation:voice-pulse 1s ease-in-out infinite}.voice-feedback-detail .voice-transcript{color:#a5b4fc}.voice-feedback-detail .transcript-label{font-weight:600;color:#818cf8;margin-right:4px}[data-theme=light] .voice-input-btn-detail{background:#3b82f61a}[data-theme=light] .voice-input-btn-detail:hover{background:#3b82f633}[data-theme=light] .voice-feedback-detail{background:#3b82f614;color:#2563eb}[data-theme=light] .voice-feedback-detail .voice-transcript{color:#3b82f6}[data-theme=light] .voice-feedback-detail .transcript-label{color:#1d4ed8}.exercise-title-row{display:flex;align-items:center;gap:8px}.voice-mic-btn-card{width:32px;height:32px;min-width:32px;border-radius:50%;background:#3b82f626;border:none;color:#3b82f6;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.voice-mic-btn-card:hover{background:#3b82f640}.voice-mic-btn-card.listening{background:#ef4444;color:#fff;animation:pulse-mic-small 1.5s ease-in-out infinite}@keyframes pulse-mic-small{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.voice-feedback-inline{display:flex;align-items:center;gap:6px;font-size:11px;color:#60a5fa;margin-top:2px;padding:2px 8px;background:#3b82f61a;border-radius:4px;width:fit-content}.voice-feedback-inline.listening{color:#60a5fa}.voice-feedback-inline.error{color:#f87171;background:#ef44441a}.voice-pulse-small{width:6px;height:6px;background:#3b82f6;border-radius:50%;animation:voice-pulse 1s ease-in-out infinite}[data-theme=light] .voice-mic-btn-card{background:#3b82f61a}[data-theme=light] .voice-mic-btn-card:hover{background:#3b82f633}[data-theme=light] .voice-feedback-inline{background:#3b82f614;color:#2563eb}.editor-exercise-info{display:flex;align-items:center;gap:16px;padding:16px 20px}.editor-exercise-thumb{width:64px;height:64px;border-radius:12px;overflow:hidden;background:#2a2a2a;flex-shrink:0}.editor-exercise-thumb img{width:100%;height:100%;object-fit:cover}.editor-exercise-details h3{font-size:18px;font-weight:600;color:#fff;margin-bottom:4px}.editor-difficulty{font-size:14px;color:#9ca3af}.editor-mode-toggle{display:flex;margin:0 20px 16px;background:#2a2a2a;border-radius:10px;padding:4px}.editor-mode-toggle .mode-btn{flex:1;padding:12px;background:none;border:none;border-radius:8px;color:#6b7280;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.editor-mode-toggle .mode-btn.active{background:#4b5563;color:#fff}.editor-column-headers{display:flex;align-items:center;padding:0 20px;margin-bottom:12px}.editor-column-headers .header-spacer{width:24px;flex-shrink:0}.editor-column-headers .header-label{flex:1;text-align:center;font-size:12px;font-weight:600;color:#6b7280;letter-spacing:1px}.editor-column-headers .header-spacer-x{width:24px;flex-shrink:0}.editor-label{text-align:center;font-size:12px;font-weight:600;color:#6b7280;letter-spacing:1px;margin-bottom:12px}.editor-sets-list{padding:0 20px;max-height:240px;overflow-y:auto}.editor-set-item{margin-bottom:8px}.editor-set-row{display:flex;align-items:center;gap:6px}.editor-set-item .set-number{width:24px;font-size:14px;color:#6b7280;flex-shrink:0;text-align:center}.editor-set-item .set-value-input{flex:1;padding:12px 8px;background:#2a2a2a;border:2px solid transparent;border-radius:12px;color:#fff;font-size:18px;font-weight:600;text-align:center;cursor:pointer;transition:all .2s;min-width:60px}.editor-set-item .set-value-input.active{border-color:#3b82f6;background:#1e3a5f}.editor-set-item .set-multiplier{color:#6b7280;font-size:14px;flex-shrink:0;padding:0 2px}.editor-set-item .set-unit{color:#6b7280;font-size:14px;flex-shrink:0;min-width:20px}.editor-set-item .set-delete-btn{width:28px;height:28px;background:none;border:1px solid #4b5563;border-radius:50%;color:#6b7280;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.editor-set-item .set-rest-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 36px 6px 0;margin-left:30px}.editor-set-item .rest-pill{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#2a2a2a;border-radius:20px;color:#9ca3af;font-size:13px}.rpe-selector-wrapper{position:relative}.rpe-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;color:#9ca3af;font-size:12px;cursor:pointer;transition:all .2s ease}.rpe-btn:hover,.rpe-btn:active{background:#ffffff1a}.rpe-btn.has-value{border-color:#3b82f64d}.rpe-btn .rpe-label{font-size:11px;opacity:.7}.rpe-btn .rpe-value{font-weight:600;min-width:16px;text-align:center}.rpe-btn .rpe-value.rpe-6{color:#22c55e}.rpe-btn .rpe-value.rpe-7{color:#84cc16}.rpe-btn .rpe-value.rpe-8{color:#eab308}.rpe-btn .rpe-value.rpe-9{color:#f97316}.rpe-btn .rpe-value.rpe-10{color:#ef4444}.rpe-btn svg{transition:transform .2s ease;opacity:.5}.rpe-btn svg.open{transform:rotate(180deg)}.rpe-dropdown{position:absolute;bottom:100%;right:0;margin-bottom:8px;background:#1e1e1e;border:1px solid rgba(255,255,255,.15);border-radius:12px;overflow:hidden;min-width:200px;z-index:9999;box-shadow:0 -4px 20px #00000080}[data-theme=light] .rpe-dropdown{background:#fff;border-color:#e5e7eb;box-shadow:0 -4px 20px #00000026}.rpe-dropdown-header{padding:12px 16px;font-size:13px;font-weight:600;color:#fff;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1)}.rpe-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:transparent;border:none;color:#fff;font-size:14px;text-align:left;cursor:pointer;transition:background .15s ease}.rpe-option:hover,.rpe-option:active{background:#ffffff14}.rpe-option.selected{background:#3b82f626}.rpe-option-value{font-weight:700;font-size:16px;min-width:24px}.rpe-option-value.rpe-6{color:#22c55e}.rpe-option-value.rpe-7{color:#84cc16}.rpe-option-value.rpe-8{color:#eab308}.rpe-option-value.rpe-9{color:#f97316}.rpe-option-value.rpe-10{color:#ef4444}.rpe-option-desc{color:#9ca3af;font-size:13px}.rpe-option.clear{border-top:1px solid rgba(255,255,255,.1)}.editor-actions{display:flex;justify-content:space-between;padding:16px 20px;border-top:1px solid rgba(255,255,255,.1)}.apply-all-btn{background:none;border:none;color:#3b82f6;font-size:15px;font-weight:500;cursor:pointer}.next-btn{background:none;border:none;color:#3b82f6;font-size:15px;font-weight:600;cursor:pointer}.editor-numpad{display:flex;flex-direction:column;padding:0 16px;padding-bottom:calc(80px + env(safe-area-inset-bottom,20px));background:#2a2a2a}.numpad-header{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #3d3d3d;margin-bottom:8px}.numpad-label{font-size:14px;color:#9ca3af;font-weight:500}.numpad-done-btn{background:none;border:none;color:#0d9488;font-size:15px;font-weight:600;cursor:pointer;padding:4px 12px}.numpad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.numpad-btn{padding:12px 8px;background:#3d3d3d;border:none;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px}.numpad-btn:active{background:#4d4d4d}.numpad-btn .num{font-size:20px;font-weight:500;color:#fff}.numpad-btn .letters{font-size:10px;color:#6b7280;margin-top:2px}.numpad-btn.backspace{background:#3d3d3d}.numpad-spacer{background:transparent}.pull-to-refresh-indicator{display:flex;align-items:center;justify-content:center;width:100%;max-width:100vw;overflow:hidden;background:linear-gradient(180deg,rgba(13,148,136,.1) 0%,transparent 100%);transition:opacity .2s ease;position:relative;left:0;right:0}.refresh-spinner{display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--brand-primary);font-weight:500;gap:8px}.refresh-spinner.spinning{animation:spin 1s linear infinite;font-size:24px}.photo-hint{font-size:13px;color:var(--gray-400);margin-top:-8px;margin-bottom:16px;text-align:center}.multi-photo-section{padding:8px 0}.multi-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.multi-photo-preview{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}.photo-preview-item{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--gray-100)}.photo-preview-thumb{width:100%;height:100%;object-fit:cover;border-radius:12px}.multi-photo-preview .photo-preview-thumb{width:80px;height:80px;border-radius:8px}.photo-remove-btn{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:#0009;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.photo-remove-btn:hover{background:#ef4444e6}.photo-number{position:absolute;bottom:6px;left:6px;width:22px;height:22px;border-radius:50%;background:var(--brand-primary);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.add-photo-btn{aspect-ratio:1;border-radius:12px;border:2px dashed var(--gray-300);background:transparent;color:var(--gray-400);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .2s;font-size:12px}.add-photo-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:#0d94880d}.photo-tip{font-size:13px;color:var(--gray-400);text-align:center;margin-bottom:16px}[data-theme=dark] .photo-preview-item{background:var(--gray-800)}[data-theme=dark] .add-photo-btn{border-color:var(--gray-600);color:var(--gray-400)}[data-theme=dark] .add-photo-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:#0d94881a}.exercise-selector-modal{max-width:600px;max-height:90vh;display:flex;flex-direction:column}.exercise-search-container{display:flex;gap:12px;padding:0 20px 16px}.exercise-search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.exercise-search-input-wrapper .search-icon{position:absolute;left:14px;color:#64748b;pointer-events:none}.exercise-search-input{width:100%;padding:14px 40px 14px 44px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:15px;outline:none;transition:all .2s}.exercise-search-input:focus{border-color:#0d9488;background:#ffffff14}.exercise-search-input::placeholder{color:#64748b}.search-clear-btn{position:absolute;right:12px;background:#ffffff1a;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#94a3b8;cursor:pointer;transition:all .2s}.search-clear-btn:hover{background:#fff3;color:#fff}.filter-toggle-btn{width:48px;height:48px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.filter-toggle-btn:hover{background:#ffffff1a;color:#fff}.filter-toggle-btn.active{background:#0d948833;border-color:#0d9488;color:#0d9488}.muscle-group-pills{display:flex;gap:8px;padding:0 20px 16px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.muscle-group-pills::-webkit-scrollbar{display:none}.muscle-pill{padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:#94a3b8;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.muscle-pill:hover{background:#ffffff1a;color:#fff}.muscle-pill.active{color:#fff;border-color:transparent}.exercise-filters-panel{padding:0 20px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.filter-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:12px;color:#64748b;font-weight:500;text-transform:uppercase}.filter-select-wrapper{position:relative}.filter-select{width:100%;padding:10px 32px 10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:13px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}.filter-select:focus{border-color:#0d9488}.filter-select option{background:#1e293b;color:#fff}.select-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none}.clear-filters-btn{margin-top:12px;padding:8px 16px;background:#ef44441a;border:none;border-radius:8px;color:#ef4444;font-size:13px;cursor:pointer;transition:all .2s}.clear-filters-btn:hover{background:#ef444433}.exercise-results-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.results-count{font-size:13px;color:#64748b}.exercise-list-container{flex:1;overflow-y:auto;padding:16px 20px}.exercise-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:500px){.exercise-grid,.filter-row{grid-template-columns:1fr}}.exercise-selector-card{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s}.exercise-selector-card:hover{background:#ffffff0f;border-color:#ffffff1a;transform:translateY(-2px)}.exercise-selector-card.selected{border-color:#0d9488;background:#0d94881a}.exercise-thumbnail{position:relative;width:100%;aspect-ratio:16/10;background:#0003;overflow:hidden}.exercise-thumbnail img,.exercise-thumbnail video{width:100%;height:100%;object-fit:cover}.exercise-thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#475569}.exercise-thumbnail.fallback-placeholder{background:linear-gradient(135deg,#1e293b,#0f172a)}.exercise-thumbnail.fallback-placeholder:after{content:"";width:32px;height:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 6.5h11'/%3E%3Cpath d='M6.5 17.5h11'/%3E%3Cpath d='M4 10h2v4H4z'/%3E%3Cpath d='M18 10h2v4h-2z'/%3E%3Cpath d='M2 8h4v8H2z'/%3E%3Cpath d='M18 8h4v8h-4z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center}.smart-thumbnail{position:relative;overflow:hidden;background:linear-gradient(135deg,#1e3a5f,#0f172a);border-radius:8px;display:flex;align-items:center;justify-content:center}.smart-thumb-small{width:48px;height:48px}.smart-thumb-medium{width:80px;height:80px}.smart-thumb-large{width:120px;height:120px}.smart-thumbnail img,.smart-thumbnail video{width:100%;height:100%;object-fit:cover}.smart-thumb-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#475569}.smart-thumb-play{position:absolute;bottom:4px;right:4px;width:20px;height:20px;background:#000000b3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.smart-thumb-small .smart-thumb-play{width:16px;height:16px;bottom:2px;right:2px}.smart-thumb-large .smart-thumb-play{width:28px;height:28px;bottom:6px;right:6px}.smart-thumb-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.selection-indicator{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#00000080;border:2px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s}.selection-indicator.selected{background:#0d9488;border-color:#0d9488}.exercise-info{padding:12px}.exercise-name{font-size:14px;font-weight:600;color:#fff;margin:0 0 8px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.exercise-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.exercise-muscle-badge{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:capitalize}.exercise-equipment{padding:3px 8px;background:#ffffff0d;border-radius:4px;font-size:11px;color:#94a3b8;text-transform:capitalize}.exercise-secondary{font-size:11px;color:#64748b;font-style:italic}.exercise-loading,.exercise-error,.exercise-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.exercise-loading .spin{animation:spin 1s linear infinite}.exercise-loading p,.exercise-error p,.exercise-empty p{margin:16px 0 8px;font-size:15px;color:#fff}.exercise-empty .empty-icon{color:#475569}.exercise-empty span{font-size:13px;color:#64748b}.exercise-error button{margin-top:16px;padding:10px 20px;background:#0d9488;border:none;border-radius:8px;color:#fff;font-size:14px;cursor:pointer}.load-more-btn{width:100%;margin-top:16px;padding:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#94a3b8;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.load-more-btn:hover:not(:disabled){background:#ffffff1a;color:#fff}.load-more-btn:disabled{opacity:.6;cursor:not-allowed}.exercise-selector-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid rgba(255,255,255,.06);background:#0003}.exercise-selector-footer span{font-size:14px;color:#94a3b8}.confirm-selection-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#0d9488,#0f766e);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.confirm-selection-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0d94884d}[data-theme=light] .exercise-search-input{background:#fff;border-color:var(--gray-200);color:var(--gray-900)}[data-theme=light] .exercise-search-input:focus{border-color:#0d9488;background:#fff}[data-theme=light] .muscle-pill{background:var(--gray-100);border-color:var(--gray-200);color:var(--gray-600)}[data-theme=light] .muscle-pill:hover{background:var(--gray-200);color:var(--gray-900)}[data-theme=light] .filter-toggle-btn{background:#fff;border-color:var(--gray-200);color:var(--gray-500)}[data-theme=light] .filter-select{background:#fff;border-color:var(--gray-200);color:var(--gray-900)}[data-theme=light] .filter-select option{background:#fff;color:var(--gray-900)}[data-theme=light] .exercise-selector-card{background:#fff;border-color:var(--gray-200)}[data-theme=light] .exercise-selector-card:hover{background:var(--gray-50);border-color:var(--gray-300)}[data-theme=light] .exercise-name{color:var(--gray-900)}[data-theme=light] .exercise-equipment{background:var(--gray-100);color:var(--gray-600)}[data-theme=light] .exercise-thumbnail{background:var(--gray-100)}[data-theme=light] .exercise-list-container{background:var(--gray-50)}[data-theme=light] .load-more-btn{background:#fff;border-color:var(--gray-200);color:var(--gray-600)}[data-theme=light] .exercise-selector-footer{background:var(--gray-50);border-color:var(--gray-200)}.toast-container{position:fixed;bottom:90px;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:12px;width:calc(100% - 32px);max-width:400px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;background:var(--gray-900);box-shadow:0 4px 20px #0000004d;animation:toastSlideIn .3s ease-out;pointer-events:auto}.toast-error{background:linear-gradient(135deg,#991b1b,#7f1d1d);border:1px solid rgba(248,113,113,.3)}.toast-success{background:linear-gradient(135deg,#166534,#14532d);border:1px solid rgba(74,222,128,.3)}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast-error .toast-icon{color:#fca5a5}.toast-success .toast-icon{color:#86efac}.toast-content{flex:1;min-width:0}.toast-message{margin:0;font-size:14px;font-weight:500;color:#fff;line-height:1.4}.toast-retry-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:8px 14px;font-size:13px;font-weight:600;color:#fff;background:#ffffff26;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;transition:all .2s ease}.toast-retry-btn:hover:not(:disabled){background:#ffffff40}.toast-retry-btn:disabled{opacity:.7;cursor:not-allowed}.toast-retry-btn .spinning{animation:spin 1s linear infinite}.toast-dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:4px;color:#fff9;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.toast-dismiss:hover{color:#fff;background:#ffffff1a}@keyframes toastSlideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}[data-theme=light] .toast{background:#fff;box-shadow:0 4px 20px #00000026}[data-theme=light] .toast-error{background:#fef2f2;border:1px solid #fecaca}[data-theme=light] .toast-success{background:#f0fdf4;border:1px solid #bbf7d0}[data-theme=light] .toast-error .toast-icon{color:#dc2626}[data-theme=light] .toast-success .toast-icon{color:#16a34a}[data-theme=light] .toast-message{color:var(--gray-900)}[data-theme=light] .toast-retry-btn{color:var(--gray-700);background:var(--gray-100);border-color:var(--gray-200)}[data-theme=light] .toast-retry-btn:hover:not(:disabled){background:var(--gray-200)}[data-theme=light] .toast-dismiss{color:var(--gray-400)}[data-theme=light] .toast-dismiss:hover{color:var(--gray-600);background:var(--gray-100)}.feed-page{padding-bottom:100px;min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden;position:relative}.feed-header{display:flex;justify-content:space-between;align-items:center;padding:16px;position:sticky;top:0;background:var(--gray-50);z-index:10;border-bottom:1px solid var(--gray-200)}[data-theme=dark] .feed-header{background:#0f172a;border-color:#334155}.feed-header h1{font-size:1.5rem;font-weight:700;color:var(--gray-900)}[data-theme=dark] .feed-header h1{color:#f1f5f9}.feed-filter-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:none;background:var(--gray-100);color:var(--gray-600);cursor:pointer;transition:all .2s}.feed-filter-btn:hover,.feed-filter-btn.active{background:var(--brand-primary);color:#fff}[data-theme=dark] .feed-filter-btn{background:#334155;color:#94a3b8}.feed-filters{padding:16px;background:var(--gray-100);border-bottom:1px solid var(--gray-200)}[data-theme=dark] .feed-filters{background:#1e293b;border-color:#334155}.feed-filter-row{margin-bottom:12px}.feed-filter-row label{display:block;font-size:.85rem;font-weight:500;color:var(--gray-600);margin-bottom:6px}[data-theme=dark] .feed-filter-row label{color:#94a3b8}.feed-filter-row select,.feed-filter-row input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--gray-300);background:#fff;font-size:1rem;color:var(--gray-900)}[data-theme=dark] .feed-filter-row select,[data-theme=dark] .feed-filter-row input{background:#334155;border-color:#475569;color:#f1f5f9}.feed-filter-actions{display:flex;gap:12px;margin-top:16px}.feed-filter-clear,.feed-filter-apply{flex:1;padding:10px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.feed-filter-clear{background:var(--gray-200);border:none;color:var(--gray-700)}.feed-filter-apply{background:var(--brand-primary);border:none;color:#fff}.feed-entries{padding:16px}.feed-entry-card{background:#fff;border-radius:16px;margin-bottom:16px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}[data-theme=dark] .feed-entry-card{background:#1e293b;border-color:#334155}.feed-entry-header{padding:12px 16px;border-bottom:1px solid var(--gray-100)}[data-theme=dark] .feed-entry-header{border-color:#334155}.feed-client-info{display:flex;align-items:center;gap:12px}.feed-client-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}.feed-client-avatar-placeholder{width:44px;height:44px;border-radius:50%;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;color:#fff}.feed-client-details{display:flex;flex-direction:column}.feed-client-name{font-weight:600;color:var(--gray-900);font-size:1rem}[data-theme=dark] .feed-client-name{color:#f1f5f9}.feed-entry-time{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--gray-500);text-transform:capitalize}.feed-entry-time .meal-icon{color:var(--brand-primary)}.feed-entry-time .meal-icon.breakfast{color:#f59e0b}.feed-entry-time .meal-icon.lunch{color:#f97316}.feed-entry-time .meal-icon.dinner{color:#8b5cf6}.feed-entry-time .meal-icon.snack{color:#10b981}.feed-entry-content{padding:16px}.feed-food-name{font-weight:600;font-size:1.1rem;color:var(--gray-900);margin-bottom:4px}[data-theme=dark] .feed-food-name{color:#f1f5f9}.feed-food-brand{font-size:.85rem;color:var(--gray-500);margin-bottom:8px}.feed-food-macros{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.feed-food-macros .macro{padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:500}.feed-food-macros .macro.calories{background:#ef44441a;color:#ef4444}.feed-food-macros .macro.protein{background:#3b82f61a;color:#3b82f6}.feed-food-macros .macro.carbs{background:#22c55e1a;color:#22c55e}.feed-food-macros .macro.fat{background:#f973161a;color:#f97316}.feed-serving-info{font-size:.85rem;color:var(--gray-500);margin-top:8px}.feed-entry-actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--gray-100)}[data-theme=dark] .feed-entry-actions{border-color:#334155}.feed-reactions-container{position:relative}.feed-reaction-btn,.feed-comment-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;border:1px solid var(--gray-200);background:var(--gray-50);color:var(--gray-600);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.feed-reaction-btn:hover,.feed-comment-btn:hover{background:var(--gray-100);border-color:var(--gray-300)}[data-theme=dark] .feed-reaction-btn,[data-theme=dark] .feed-comment-btn{background:#334155;border-color:#475569;color:#94a3b8}.feed-reaction-btn.active{background:#0d94881a;border-color:var(--brand-primary);color:var(--brand-primary)}.feed-reaction-btn .reaction-emoji{font-size:1.2rem}.feed-reaction-btn .reaction-add{font-size:1rem;font-weight:600}.feed-comment-btn.has-comments{background:#0d94881a;border-color:var(--brand-primary);color:var(--brand-primary)}.feed-comment-btn .comment-count{background:var(--brand-primary);color:#fff;padding:2px 6px;border-radius:10px;font-size:.75rem;font-weight:600}.feed-reactions-picker{position:absolute;bottom:100%;left:0;display:flex;gap:4px;padding:8px;background:#fff;border-radius:24px;box-shadow:var(--shadow-lg);margin-bottom:8px;z-index:20}[data-theme=dark] .feed-reactions-picker{background:#334155}.feed-reaction-option{width:40px;height:40px;border-radius:50%;border:none;background:transparent;font-size:1.4rem;cursor:pointer;transition:all .2s}.feed-reaction-option:hover{background:var(--gray-100);transform:scale(1.2)}[data-theme=dark] .feed-reaction-option:hover{background:#475569}.feed-reaction-option.selected{background:#0d948833}.feed-comments-section{padding:12px 16px;background:var(--gray-50);border-top:1px solid var(--gray-100)}[data-theme=dark] .feed-comments-section{background:#0f172a;border-color:#334155}.feed-comments-list{margin-bottom:12px}.feed-comment{padding:10px 12px;background:#fff;border-radius:12px;margin-bottom:8px}[data-theme=dark] .feed-comment{background:#1e293b}.feed-comment-author{font-weight:600;font-size:.85rem;color:var(--gray-900);margin-right:8px}[data-theme=dark] .feed-comment-author{color:#f1f5f9}.feed-comment-text{font-size:.95rem;color:var(--gray-700)}[data-theme=dark] .feed-comment-text{color:#cbd5e1}.feed-comment-time{display:block;font-size:.75rem;color:var(--gray-400);margin-top:4px}.feed-comment-input{display:flex;gap:8px}.feed-comment-input input{flex:1;padding:10px 14px;border-radius:20px;border:1px solid var(--gray-200);background:#fff;font-size:.95rem;color:var(--gray-900)}[data-theme=dark] .feed-comment-input input{background:#1e293b;border-color:#475569;color:#f1f5f9}.feed-comment-input button{width:40px;height:40px;border-radius:50%;border:none;background:var(--brand-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.feed-comment-input button:disabled{opacity:.5;cursor:not-allowed}.feed-comment-input button:not(:disabled):hover{background:var(--brand-primary-dark)}.feed-loading,.feed-empty,.feed-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--gray-500)}.feed-loading svg.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.feed-empty svg,.feed-error svg{margin-bottom:16px;opacity:.5}.feed-empty h3,.feed-error h3{font-size:1.2rem;color:var(--gray-700);margin-bottom:8px}[data-theme=dark] .feed-empty h3,[data-theme=dark] .feed-error h3{color:#e2e8f0}.feed-empty p,.feed-error p{font-size:.95rem;color:var(--gray-500)}.feed-error button{margin-top:16px;padding:10px 24px;border-radius:8px;border:none;background:var(--brand-primary);color:#fff;font-weight:500;cursor:pointer}.feed-load-more{width:100%;padding:14px;border-radius:12px;border:1px solid var(--gray-200);background:#fff;color:var(--gray-700);font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.feed-load-more:hover:not(:disabled){background:var(--gray-50)}[data-theme=dark] .feed-load-more{background:#1e293b;border-color:#334155;color:#e2e8f0}.feed-meal-card{background:#fff;border-radius:16px;margin-bottom:16px;overflow:hidden;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}[data-theme=dark] .feed-meal-card{background:#1e293b;border-color:#334155}.feed-meal-header{padding:16px;border-bottom:1px solid var(--gray-100)}[data-theme=dark] .feed-meal-header{border-color:#334155}.feed-meal-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.feed-meal-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:capitalize}.feed-meal-time{font-size:.8rem;color:var(--gray-500)}.feed-meal-content{padding:0 16px 16px}.feed-meal-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 0;background:none;border:none;cursor:pointer;color:var(--gray-600);font-size:.9rem;font-weight:500}[data-theme=dark] .feed-meal-toggle{color:#94a3b8}.feed-meal-toggle:hover{color:var(--brand-primary)}.feed-meal-item-count{font-weight:600;color:var(--gray-700)}[data-theme=dark] .feed-meal-item-count{color:#e2e8f0}.feed-meal-items{border-radius:12px;background:var(--gray-50);overflow:hidden;margin-bottom:12px}[data-theme=dark] .feed-meal-items{background:#0f172a}.feed-meal-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--gray-200);gap:8px}[data-theme=dark] .feed-meal-item{border-color:#334155}.feed-meal-item:last-child{border-bottom:none}.feed-item-name{font-size:.95rem;font-weight:500;color:var(--gray-800);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .feed-item-name{color:#f1f5f9}.feed-item-brand{font-size:.8rem;color:var(--gray-400);flex-shrink:0;max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-item-calories{font-size:.85rem;font-weight:600;color:var(--gray-600);flex-shrink:0;min-width:60px;text-align:right}[data-theme=dark] .feed-item-calories{color:#94a3b8}.feed-meal-totals{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.macro-total{display:inline-flex;align-items:center;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.macro-total.calories{background:#ef44441f;color:#dc2626}.macro-total.protein{background:#3b82f61f;color:#2563eb}.macro-total.carbs{background:#22c55e1f;color:#16a34a}.macro-total.fat{background:#f973161f;color:#ea580c}[data-theme=dark] .macro-total.calories{background:#ef444433;color:#f87171}[data-theme=dark] .macro-total.protein{background:#3b82f633;color:#60a5fa}[data-theme=dark] .macro-total.carbs{background:#22c55e33;color:#4ade80}[data-theme=dark] .macro-total.fat{background:#f9731633;color:#fb923c}@media(max-width:480px){.feed-meal-card{margin-left:-8px;margin-right:-8px;border-radius:0;border-left:none;border-right:none}.feed-meal-item{padding:10px 12px}.feed-item-brand{display:none}.feed-meal-totals{gap:6px}.macro-total{padding:5px 10px;font-size:.8rem}}.diary-reactions-display{display:flex;gap:4px;margin-top:4px}.diary-reaction-badge{font-size:1rem;padding:2px;cursor:default}.diary-entry-interactions{padding:8px 0}.diary-interactions-row{display:flex;gap:12px;align-items:center}.diary-comments-toggle{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:16px;border:none;background:transparent;color:var(--gray-500);cursor:pointer;font-size:.85rem}.diary-comments-toggle:hover{background:var(--gray-100)}[data-theme=dark] .diary-comments-toggle:hover{background:#334155}.diary-comments-toggle.has-comments{color:var(--brand-primary)}.diary-comments-toggle .comment-count{background:var(--brand-primary);color:#fff;padding:1px 5px;border-radius:8px;font-size:.7rem;font-weight:600}.diary-comments-section{margin-top:8px;padding-top:8px;border-top:1px solid var(--gray-100)}[data-theme=dark] .diary-comments-section{border-color:#334155}.diary-comments-list{margin-bottom:8px}.diary-comment{padding:8px 10px;background:var(--gray-50);border-radius:8px;margin-bottom:6px}[data-theme=dark] .diary-comment{background:#334155}.diary-comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.diary-comment-author{font-weight:600;font-size:.8rem;color:var(--gray-700)}[data-theme=dark] .diary-comment-author{color:#e2e8f0}.diary-comment-time{font-size:.7rem;color:var(--gray-400)}.diary-comment-text{font-size:.9rem;color:var(--gray-600);margin:0}[data-theme=dark] .diary-comment-text{color:#cbd5e1}.diary-comment-reply-btn{font-size:.75rem;color:var(--brand-primary);background:none;border:none;cursor:pointer;padding:2px 0;margin-top:4px}.diary-comment-input{display:flex;gap:6px}.diary-comment-input input{flex:1;padding:8px 12px;border-radius:16px;border:1px solid var(--gray-200);background:#fff;font-size:.9rem}[data-theme=dark] .diary-comment-input input{background:#1e293b;border-color:#475569;color:#f1f5f9}.diary-comment-input button{width:34px;height:34px;border-radius:50%;border:none;background:var(--brand-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.diary-comment-input button:disabled{opacity:.5;cursor:not-allowed}.diary-reaction-picker{position:relative}.diary-reaction-current,.diary-reaction-add{padding:6px 10px;border-radius:16px;border:none;background:#0d94881a;cursor:pointer;transition:all .2s}.diary-reaction-current .reaction-emoji{font-size:1.1rem}.diary-reaction-add{background:var(--gray-100);color:var(--gray-500)}[data-theme=dark] .diary-reaction-add{background:#334155}.diary-reaction-add .reaction-placeholder{font-size:1rem;font-weight:600}.diary-reaction-options{position:absolute;bottom:100%;left:0;display:flex;gap:4px;padding:6px;background:#fff;border-radius:20px;box-shadow:var(--shadow-lg);margin-bottom:6px;z-index:20}[data-theme=dark] .diary-reaction-options{background:#334155}.diary-reaction-option{width:32px;height:32px;border-radius:50%;border:none;background:transparent;font-size:1.1rem;cursor:pointer;transition:all .2s}.diary-reaction-option:hover{background:var(--gray-100);transform:scale(1.15)}[data-theme=dark] .diary-reaction-option:hover{background:#475569}.diary-reaction-option.selected{background:#0d948833}.meal-entry-interactions{display:inline-flex;align-items:center;gap:4px;margin-left:8px;background:#0d948826;padding:2px 8px;border-radius:12px;border:none;cursor:pointer;font-family:inherit;transition:background .2s}.meal-entry-interactions:hover{background:#0d948840}.meal-entry-interactions:active{background:#0d948859}.meal-entry-reaction{font-size:1rem}.meal-entry-comment-count{font-size:.75rem;color:var(--brand-primary);font-weight:600}.interaction-modal{background:#fff;border-radius:16px;max-width:400px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-xl)}[data-theme=dark] .interaction-modal{background:#1e293b}.interaction-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--gray-100)}.interaction-modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--gray-900)}[data-theme=dark] .interaction-modal-header{border-color:#334155}[data-theme=dark] .interaction-modal-header h3{color:#f1f5f9}.interaction-modal-food{padding:12px 20px;background:var(--gray-50);font-weight:500;color:var(--gray-700);font-size:.9rem}[data-theme=dark] .interaction-modal-food{background:#334155;color:#e2e8f0}.interaction-modal-content{padding:16px 20px}.interaction-section{margin-bottom:20px}.interaction-section:last-child{margin-bottom:0}.interaction-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--gray-500);margin-bottom:12px;letter-spacing:.5px}.interaction-reaction-item,.interaction-comment-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.interaction-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.interaction-details{display:flex;align-items:center;gap:8px;padding-top:8px}.interaction-coach-name{font-weight:600;color:var(--gray-900);font-size:.9rem}[data-theme=dark] .interaction-coach-name{color:#f1f5f9}.interaction-emoji{font-size:1.5rem}.interaction-comment-bubble{flex:1;background:var(--gray-100);border-radius:12px;padding:12px 16px}[data-theme=dark] .interaction-comment-bubble{background:#334155}.interaction-comment-text{margin:6px 0;color:var(--gray-700);font-size:.95rem;line-height:1.5}[data-theme=dark] .interaction-comment-text{color:#e2e8f0}.interaction-comment-time{font-size:.75rem;color:var(--gray-500)}.swap-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:2100;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease;-webkit-overflow-scrolling:touch;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.swap-modal{width:100%;max-width:500px;max-height:80vh;background:var(--gray-50);border-radius:20px 20px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease}[data-theme=dark] .swap-modal{background:#1e293b}.swap-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--gray-200)}[data-theme=dark] .swap-modal-header{border-color:#334155}.swap-modal-header h3{font-size:18px;font-weight:600;color:var(--gray-800)}[data-theme=dark] .swap-modal-header h3{color:#f1f5f9}.swap-close-btn{background:transparent;border:none;color:var(--gray-500);cursor:pointer;padding:8px;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.swap-current{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--gray-100)}[data-theme=dark] .swap-current{background:#334155}.swap-current-thumb{width:48px;height:48px;border-radius:8px;overflow:hidden;background:var(--gray-200);flex-shrink:0}.swap-current-thumb img{width:100%;height:100%;object-fit:cover}.swap-current-info{flex:1;display:flex;flex-direction:column;gap:2px}.swap-current-name{font-weight:600;color:var(--gray-800);font-size:15px}[data-theme=dark] .swap-current-name{color:#f1f5f9}.swap-current-meta{font-size:13px;color:var(--gray-500)}.swap-controls{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--gray-200)}[data-theme=dark] .swap-controls{border-color:#334155}.swap-search{display:flex;align-items:center;gap:10px;flex:1;background:var(--gray-100);padding:10px 14px;border-radius:10px}[data-theme=dark] .swap-search{background:#334155}.swap-search svg{color:var(--gray-400);flex-shrink:0}.swap-search input{flex:1;background:transparent;border:none;font-size:15px;color:var(--gray-800);outline:none}[data-theme=dark] .swap-search input{color:#f1f5f9}.swap-search input::placeholder{color:var(--gray-400)}.swap-filter-btn{width:44px;height:44px;border-radius:10px;background:var(--gray-100);border:none;color:var(--gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}[data-theme=dark] .swap-filter-btn{background:#334155}.swap-filter-btn.active{background:var(--brand-primary);color:#fff}.swap-equipment-filters{padding:12px 20px;border-bottom:1px solid var(--gray-200)}[data-theme=dark] .swap-equipment-filters{border-color:#334155}.equipment-pills{display:flex;flex-wrap:wrap;gap:8px}.equipment-pill{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;background:var(--gray-100);border:1px solid transparent;color:var(--gray-600);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}[data-theme=dark] .equipment-pill{background:#334155;color:#94a3b8}.equipment-pill:hover{border-color:var(--brand-primary)}.equipment-pill.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.swap-results-count{padding:8px 20px;font-size:13px;color:var(--gray-500)}.swap-clear-filter{margin-top:12px;padding:10px 20px;background:var(--brand-primary);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer}.swap-alternatives-list{flex:1;overflow-y:auto;padding:8px 0;padding-bottom:calc(20px + env(safe-area-inset-bottom,20px))}.swap-loading,.swap-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--gray-500);gap:12px}.swap-loading .spin{animation:spin 1s linear infinite}.swap-exercise-item{display:flex;align-items:center;gap:12px;padding:12px 20px;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:background .2s}.swap-exercise-item:hover,.swap-exercise-item:active{background:var(--gray-100)}[data-theme=dark] .swap-exercise-item:hover,[data-theme=dark] .swap-exercise-item:active{background:#334155}.swap-exercise-thumb{width:56px;height:56px;border-radius:10px;overflow:hidden;background:var(--gray-200);flex-shrink:0}.swap-exercise-thumb video,.swap-exercise-thumb img{width:100%;height:100%;object-fit:cover;pointer-events:none}.swap-exercise-info{flex:1;display:flex;flex-direction:column;gap:4px}.swap-exercise-name{font-weight:600;font-size:15px;color:var(--gray-800)}[data-theme=dark] .swap-exercise-name{color:#f1f5f9}.swap-exercise-meta{font-size:13px;color:var(--gray-500)}.modal-header-v3 .header-actions{display:flex;align-items:center;gap:8px}.modal-header-v3 .swap-btn-visible{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#0d9488,#0284c7);border:none;padding:8px 14px;border-radius:20px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0d94884d}.modal-header-v3 .swap-btn-visible:hover{transform:scale(1.05);box-shadow:0 4px 12px #0d948866}.modal-header-v3 .swap-btn-visible:active{transform:scale(.98)}.ai-swap-modal{max-height:85vh}.swap-header-title{display:flex;align-items:center;gap:8px}.swap-header-title .ai-icon{color:#f59e0b}.swap-header-title h3{font-size:18px;font-weight:600;color:var(--gray-800)}[data-theme=dark] .swap-header-title h3{color:#f1f5f9}.swap-current-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);font-weight:500}.swap-ai-section{display:flex;flex-direction:column;flex:1;overflow:hidden}.swap-ai-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--gray-200)}[data-theme=dark] .swap-ai-header{border-color:#334155}.swap-ai-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#f59e0b}.swap-refresh-btn{background:transparent;border:none;padding:8px;color:var(--gray-500);cursor:pointer;border-radius:8px;transition:all .2s;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.swap-refresh-btn:hover{background:var(--gray-100);color:var(--brand-primary)}[data-theme=dark] .swap-refresh-btn:hover{background:#334155}.swap-loading-sub{font-size:13px;color:var(--gray-400);margin-top:-4px}.swap-error{display:flex;flex-direction:column;align-items:center;padding:40px 20px;color:var(--gray-500);gap:12px}.swap-retry-btn{padding:10px 20px;background:var(--brand-primary);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.swap-suggestion-item{display:flex;align-items:center;gap:12px;padding:14px 20px;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:background .2s;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.swap-suggestion-item:hover,.swap-suggestion-item:active{background:var(--gray-100)}[data-theme=dark] .swap-suggestion-item:hover,[data-theme=dark] .swap-suggestion-item:active{background:#334155}.suggestion-rank{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#0d9488,#0284c7);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.swap-ai-reason{font-size:12px;color:var(--brand-primary);line-height:1.4;margin-top:2px}[data-theme=dark] .swap-ai-reason{color:#14b8a6}.swap-arrow{color:var(--gray-400);flex-shrink:0}.add-activity-section{padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,20px));border-top:1px solid var(--gray-200);background:var(--gray-50)}[data-theme=dark] .add-activity-section{background:#1e293b;border-color:#334155}.add-activity-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:transparent;border:2px dashed var(--gray-300);border-radius:12px;color:var(--gray-500);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}[data-theme=dark] .add-activity-btn{border-color:#0d948866;color:#0d9488}.add-activity-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:#0d94880d}.add-activity-modal{max-height:90vh;background:#fff;display:flex;flex-direction:column;overflow:hidden}[data-theme=dark] .add-activity-modal{background:#1e293b}.add-activity-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--gray-200);background:inherit}[data-theme=dark] .add-activity-header{border-color:#334155;background:#1e293b}.add-activity-header h3{font-size:18px;font-weight:600;color:var(--gray-800)}[data-theme=dark] .add-activity-header h3{color:#f1f5f9}.add-activity-search{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(180deg,#f8fafc,#f1f5f9)}[data-theme=dark] .add-activity-search{background:linear-gradient(180deg,#0f172a,#1e293b)}.add-activity-search svg{color:#0d9488;flex-shrink:0}.add-activity-search input{flex:1;background:#fff;border:2px solid var(--gray-200);padding:12px 16px;border-radius:12px;font-size:15px;color:var(--gray-800);outline:none;transition:all .2s ease}.add-activity-search input:focus{border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}[data-theme=dark] .add-activity-search input{background:#ffffff0d;border-color:#ffffff1a;color:#f1f5f9}[data-theme=dark] .add-activity-search input:focus{border-color:#0d9488;background:#0d94881a;box-shadow:0 0 0 3px #0d948833}.add-activity-search input::placeholder{color:var(--gray-400)}[data-theme=dark] .add-activity-search input::placeholder{color:#64748b}.search-voice-btn{width:40px;height:40px;border-radius:50%;background:#0d94881a;border:none;color:#0d9488;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.search-voice-btn:hover{background:#0d948833}.search-voice-btn.listening{background:#ef4444;color:#fff;animation:pulse-search-mic 1.5s ease-in-out infinite}@keyframes pulse-search-mic{0%,to{transform:scale(1);box-shadow:0 0 #ef444466}50%{transform:scale(1.05);box-shadow:0 0 0 8px #ef444400}}[data-theme=dark] .search-voice-btn{background:#0d948826}[data-theme=dark] .search-voice-btn:hover{background:#0d948840}.muscle-filter-pills{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;padding:12px 16px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;background:var(--gray-50);-webkit-overflow-scrolling:touch;flex-shrink:0;position:relative;z-index:10;border-bottom:1px solid var(--gray-200)}[data-theme=dark] .muscle-filter-pills{background:#1e293b;border-bottom-color:#ffffff1a}.muscle-filter-pills::-webkit-scrollbar{display:none}.muscle-filter-pill{padding:10px 18px;min-height:40px;background:var(--gray-100);border:2px solid var(--gray-200);border-radius:20px;color:var(--gray-700);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;flex:0 0 auto}.muscle-filter-pill:hover{background:var(--gray-200)}.muscle-filter-pill:active{transform:scale(.95);opacity:.9}[data-theme=dark] .muscle-filter-pill{background:#ffffff1f;border-color:#fff3;color:#f1f5f9}[data-theme=dark] .muscle-filter-pill:hover{background:#ffffff38;color:#fff}.muscle-filter-pill.active{background:linear-gradient(135deg,#0d9488,#14b8a6);border-color:transparent;color:#fff;box-shadow:0 4px 12px #0d94884d}.muscle-filter-pill.active:active{transform:scale(.95);box-shadow:0 2px 8px #0d948866}.add-exercise-list{flex:1;overflow-y:auto;padding:8px 0;padding-bottom:calc(20px + env(safe-area-inset-bottom,20px));position:relative;z-index:1;min-height:0}.add-exercise-item{display:flex;align-items:center;gap:12px;padding:12px 20px;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:background .2s;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.add-exercise-item:hover,.add-exercise-item:active{background:var(--gray-100)}[data-theme=dark] .add-exercise-item:hover,[data-theme=dark] .add-exercise-item:active{background:#334155}.add-exercise-thumb{width:56px;height:56px;border-radius:10px;overflow:hidden;background:var(--gray-200);flex-shrink:0}.add-exercise-thumb video,.add-exercise-thumb img{width:100%;height:100%;object-fit:cover;pointer-events:none}.add-exercise-info{flex:1;display:flex;flex-direction:column;gap:4px}.add-exercise-name{font-weight:600;font-size:15px;color:var(--gray-800)}[data-theme=dark] .add-exercise-name{color:#f1f5f9}.add-exercise-meta{font-size:13px;color:var(--gray-500)}.add-icon{width:32px;height:32px;border-radius:50%;background:var(--brand-primary);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.delete-btn-visible{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.delete-btn-visible:hover,.delete-btn-visible:active{background:#ef444433}.delete-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.delete-confirm-modal{background:#fff;border-radius:16px;padding:24px;max-width:320px;width:100%;text-align:center}[data-theme=dark] .delete-confirm-modal{background:#1e293b}.delete-confirm-icon{width:64px;height:64px;border-radius:50%;background:#ef44441a;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#ef4444}.delete-confirm-modal h3{font-size:18px;font-weight:600;color:var(--gray-800);margin-bottom:8px}[data-theme=dark] .delete-confirm-modal h3{color:#f1f5f9}.delete-confirm-modal p{font-size:14px;color:var(--gray-500);margin-bottom:24px;line-height:1.5}.delete-confirm-actions{display:flex;gap:12px}.delete-cancel-btn{flex:1;padding:12px 16px;background:var(--gray-100);border:none;border-radius:10px;font-size:15px;font-weight:500;color:var(--gray-700);cursor:pointer;transition:all .2s ease}[data-theme=dark] .delete-cancel-btn{background:#334155;color:#f1f5f9}.delete-confirm-btn{flex:1;padding:12px 16px;background:#ef4444;border:none;border-radius:10px;font-size:15px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.delete-confirm-btn:hover,.delete-confirm-btn:active{background:#dc2626}.exercise-card-wrapper{position:relative;overflow:hidden;border-radius:16px;margin-bottom:12px}.swipe-actions{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:stretch;z-index:1}.swipe-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:70px;border:none;cursor:pointer;color:#fff;font-size:12px;font-weight:500;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.swipe-action-btn.swap-action{background:#f59e0b}.swipe-action-btn.swap-action:active{background:#d97706}.swipe-action-btn.delete-action{background:#ef4444}.swipe-action-btn.delete-action:active{background:#dc2626}.swipe-action-btn span{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.exercise-card-wrapper .exercise-card-v2{position:relative;z-index:2;background:var(--gray-100);margin-bottom:0}[data-theme=dark] .exercise-card-wrapper .exercise-card-v2{background:#1e293b}@keyframes swipeHint{0%{transform:translate(0)}50%{transform:translate(-20px)}to{transform:translate(0)}}.exercise-card-wrapper.show-hint .exercise-card-v2{animation:swipeHint .5s ease-in-out}.header-swipe-zone{position:relative;overflow:hidden}.header-swipe-zone .swipe-actions.header-actions{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:stretch;z-index:1}.exercise-header-content{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px 8px;position:relative;z-index:2;background:inherit}[data-theme=dark] .exercise-header-content{background:#1e293b}[data-theme=light] .exercise-header-content{background:var(--gray-100)}.sets-swipe-zone{position:relative;overflow:hidden}.sets-swipe-zone .swipe-actions.sets-actions{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:center;z-index:1}.swipe-action-btn.add-set-action{background:#22c55e;width:70px;height:100%}.swipe-action-btn.add-set-action:active{background:#16a34a}.sets-row-content{padding:0 16px 14px;position:relative;z-index:2;background:inherit}[data-theme=dark] .sets-row-content{background:#1e293b}[data-theme=light] .sets-row-content{background:var(--gray-100)}.exercise-thumb .completed-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#22c55ed9;display:flex;align-items:center;justify-content:center;color:#fff;border-radius:12px}.swap-equipment-filter{padding:12px 16px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08)}.swap-equipment-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.swap-equipment-label svg{color:var(--brand-primary)}.swap-equipment-filter .swap-equipment-pills{margin-bottom:0}.swap-browse-section{border-top:1px solid rgba(255,255,255,.1);margin-top:8px}.swap-browse-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:14px 16px;background:transparent;border:none;color:var(--gray-400);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.swap-browse-toggle:hover,.swap-browse-toggle:active{color:var(--gray-300);background:#ffffff0d}.browse-chevron{margin-left:auto;transition:transform .2s ease}.browse-chevron.open{transform:rotate(180deg)}.swap-browse-content{padding:0 16px 16px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.swap-equipment-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.equipment-pill{padding:8px 14px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:var(--gray-400);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.equipment-pill:hover,.equipment-pill:active{background:#ffffff1f;color:var(--gray-300)}.equipment-pill.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.swap-browse-search{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;margin-bottom:12px}.swap-browse-search svg{color:var(--gray-500);flex-shrink:0}.swap-browse-search input{flex:1;background:transparent;border:none;color:#fff;font-size:14px;outline:none}.swap-browse-search input::placeholder{color:var(--gray-500)}.swap-browse-list{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.swap-browse-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px;cursor:pointer;transition:all .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;width:100%;text-align:left}.swap-browse-item:hover,.swap-browse-item:active{background:#ffffff14;border-color:#ffffff1f}.swap-exercise-thumb.small{width:44px;height:44px}.swap-browse-item .swap-exercise-name{font-size:14px}.swap-browse-item .swap-exercise-meta{font-size:12px}.swap-browse-item .swap-arrow{color:var(--gray-500)}.swap-loading.small,.swap-empty.small{padding:24px 16px}.swap-loading.small span,.swap-empty.small p{font-size:13px}.swap-browse-more{text-align:center;padding:12px;color:var(--gray-500);font-size:12px}[data-theme=dark] .equipment-pill{background:#ffffff14;border-color:#ffffff1a}[data-theme=dark] .equipment-pill.active{background:var(--brand-primary);border-color:var(--brand-primary)}.swipe-reorder-btns{display:flex;flex-direction:column;width:50px;height:100%}.swipe-move-btn{flex:1;display:flex;align-items:center;justify-content:center;background:#6366f1;border:none;color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s ease}.swipe-move-btn:first-child{border-bottom:1px solid rgba(255,255,255,.2)}.swipe-move-btn:active{background:#4f46e5}.swipe-move-btn.disabled{background:#4b5563;color:#9ca3af;cursor:not-allowed}.swipe-move-btn.disabled:active{background:#4b5563}
