@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--primary-color: #6366f1;--primary-hover: #4f46e5;--primary-glow: #818cf8;--protein-color: #8b5cf6;--protein-glow: #a78bfa;--bg-color: #0f172a;--card-bg: rgba(30, 41, 59, .7);--stat-bg: rgba(15, 23, 42, .6);--text-primary: #f8fafc;--text-secondary: #94a3b8;--border-color: rgba(255, 255, 255, .1);--input-bg: rgba(15, 23, 42, .5);--radius-xl: 32px;--radius-lg: 24px;--radius-md: 16px;--radius-sm: 8px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,sans-serif;background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;display:flex;justify-content:center;align-items:center;overflow-x:hidden;overflow-y:auto}#root{width:100%}.app-container{width:100%;min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1;padding:20px;transition:padding .5s ease}.app-container.dashboard-mode{align-items:stretch;padding:0}.background-shapes{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:-1}.shape{position:absolute;border-radius:50%;filter:blur(80px);opacity:.6;animation:float 15s infinite ease-in-out alternate}.shape-1{width:400px;height:400px;background:#6366f166;top:-100px;left:-100px}.shape-2{width:300px;height:300px;background:#10b9814d;bottom:-50px;right:-50px;animation-delay:-5s}.shape-3{width:250px;height:250px;background:#10b98133;top:40%;left:60%;animation-delay:-10s}@keyframes float{0%{transform:translate(0) rotate(0) scale(1)}to{transform:translate(50px,50px) rotate(15deg) scale(1.1)}}.calculator-card{width:100%;max-width:500px;background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:40px;box-shadow:0 25px 50px -12px #00000080;transition:all .5s cubic-bezier(.2,.8,.2,1);margin:auto}.calculator-card.expanded-card{max-width:1400px;padding:40px 0;border-radius:0;border:none;background:transparent;box-shadow:none}.fade-in{opacity:1;transform:translateY(0)}.fade-out{opacity:0;transform:translateY(10px)}.card-header{text-align:center;margin-bottom:30px}.card-header h1{font-size:28px;font-weight:700;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.card-header p{color:var(--text-secondary);font-size:15px}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:8px;color:var(--text-secondary)}.row{display:flex;gap:16px}.row>*{flex:1}@media(max-width:480px){.mobile-col{flex-direction:column}}.segmented-control{display:flex;background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:4px}.segmented-control button{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:12px;border-radius:var(--radius-sm);font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px}.segmented-control button:hover{color:var(--text-primary)}.segmented-control button.active{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px #6366f14d}input[type=text],input[type=password],input[type=number]{width:100%;background:var(--input-bg);border:1px solid var(--border-color);color:var(--text-primary);padding:14px 16px;border-radius:var(--radius-md);font-family:inherit;font-size:16px;transition:var(--transition);outline:none}input[type=text]:focus,input[type=password]:focus,input[type=number]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #6366f133}input[type=text]::placeholder,input[type=number]::placeholder{color:#94a3b880}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.custom-select-wrapper{position:relative}.goal-select{width:100%;background:var(--input-bg);border:1px solid var(--border-color);color:var(--text-primary);padding:14px 16px;border-radius:var(--radius-md);font-family:inherit;font-size:16px;appearance:none;cursor:pointer;outline:none;transition:var(--transition)}.goal-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #6366f133}.goal-select option{background:var(--bg-color);color:var(--text-primary)}.select-arrow{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:12px;height:12px;border-right:2px solid var(--text-secondary);border-bottom:2px solid var(--text-secondary);transform:translateY(-70%) rotate(45deg);pointer-events:none;transition:var(--transition)}.goal-select:focus+.select-arrow{border-color:var(--primary-color)}.submit-btn{width:100%;background:linear-gradient(135deg,var(--primary-color),var(--primary-glow));color:#fff;border:none;padding:16px;border-radius:var(--radius-md);font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;margin-top:10px;transition:var(--transition);display:flex;justify-content:center;align-items:center;gap:10px;position:relative;overflow:hidden}.submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #6366f166}.submit-btn:hover:before{left:100%}.arrow-icon{width:20px;height:20px;transition:transform .3s}.submit-btn:hover .arrow-icon{transform:translate(4px)}.dashboard-main-layout{display:flex;gap:30px;width:100%}.weekly-planner-section{flex:7;display:flex;flex-direction:column}.generator-sidebar{flex:3;background:#0f172a80;border-left:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);padding:30px;display:flex;flex-direction:column;gap:20px;min-width:300px}.dashboard-container{display:flex;flex-direction:column;width:100%;animation:scaleIn .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.dashboard-title h1{font-size:36px;font-weight:700;margin-bottom:6px;background:linear-gradient(135deg,#fff,#e2e8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.dashboard-title p{color:var(--text-secondary);font-size:16px}.dashboard-title strong{color:var(--primary-glow)}.profile-btn{background:#6366f11a!important;border-color:#6366f14d!important;color:var(--primary-glow)!important}.profile-btn:hover{background:var(--primary-color)!important;color:#fff!important;transform:translateY(-2px)!important}.reset-btn.compact{background:#ffffff0d;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:50%;width:44px;height:44px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:var(--transition)}.reset-btn.compact:hover{background:#ffffff1a;color:var(--text-primary);transform:rotate(180deg)}.macros-overview{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:40px}.macro-card{background:var(--stat-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;display:flex;align-items:center;gap:20px}.macro-icon{width:56px;height:56px;border-radius:16px;display:flex;justify-content:center;align-items:center}.macro-icon svg{width:28px;height:28px}.calorie-icon{background:#6366f126;color:var(--primary-glow)}.protein-icon{background:#f43f5e26;color:var(--protein-glow)}.macro-info{display:flex;flex-direction:column}.macro-lbl{font-size:14px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.macro-val{font-size:36px;font-weight:700;line-height:1.2}.macro-val small{font-size:16px;font-weight:500;color:var(--text-secondary)}.calorie-val,.protein-val{color:#fff}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-top:10px}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-card{background:#0f172a99;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);padding:24px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:var(--transition)}.dashboard-card.clickable-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border-color:#ffffff26;background:#1e293bcc}.dashboard-card h3{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--text-primary)}.weight-input:focus{outline:none;border-color:var(--primary-color)!important;box-shadow:0 0 0 2px #6366f133}.compact-macros{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.compact-macros .day-macro-badge{font-size:12px;padding:4px 8px}.opacity-50{opacity:.5;margin:0 4px}.add-item-btn-small{background:#ffffff0d;color:var(--text-secondary);border:1px dashed rgba(255,255,255,.2);border-radius:var(--radius-sm);padding:6px 12px;font-size:13px;cursor:pointer;display:flex;align-items:center;transition:var(--transition)}.add-item-btn-small:hover{background:#ffffff1a;color:var(--text-primary);border-color:#fff6}.day-tabs{display:flex;justify-content:space-between;gap:10px;margin-bottom:24px;background:#0f172a66;padding:8px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.05);overflow-x:auto}.day-tab-btn{flex:1;background:transparent;border:none;color:var(--text-secondary);font-family:inherit;font-size:16px;font-weight:600;padding:12px 0;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;min-width:60px}.day-tab-btn:hover{background:#ffffff0d;color:var(--text-primary)}.day-tab-btn.active{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px #6366f166}.highlight-drop-tab{background:#10b98133!important;border:1px dashed rgba(16,185,129,.5);color:#fff}.day-tab-indicator{width:6px;height:6px;border-radius:50%}.day-tab-indicator.ok{background-color:#10b981;box-shadow:0 0 5px #10b98180}.day-tab-indicator.over{background-color:#ef4444;box-shadow:0 0 5px #ef444480}.global-navbar{display:flex;align-items:center;justify-content:space-between;padding:0 30px;height:64px;background:#0f172acc;border-bottom:1px solid rgba(255,255,255,.05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:50;box-shadow:0 4px 20px #0003}.nav-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:#fff;letter-spacing:-.5px}.logo-icon{width:28px;height:28px;color:var(--primary-color)}.nav-links{display:flex;gap:8px;background:#0003;padding:4px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05)}.nav-tab{background:transparent;border:none;color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:500;padding:8px 16px;border-radius:6px;cursor:pointer;transition:var(--transition)}.nav-tab:hover{color:var(--text-primary)}.nav-tab.active{background:var(--surface-light);color:#fff;box-shadow:0 2px 8px #0003}.nav-actions{display:flex;align-items:center;gap:16px}.nav-userbox{display:flex;align-items:center;gap:12px;background:#ffffff08;padding:6px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.05)}.user-greeting{font-size:13px;font-weight:600;color:var(--text-secondary)}.profile-nav-btn{background:#6366f11a;color:var(--primary-glow);border:1px solid rgba(99,102,241,.2);width:32px;height:32px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.profile-nav-btn:hover{background:var(--primary-color);color:#fff;transform:scale(1.05)}.logout-nav-btn{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);width:32px;height:32px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:8px;transition:var(--transition)}.logout-nav-btn:hover{background:#ef4444;color:#fff;transform:scale(1.05)}.active-day-view{flex:7;display:flex;flex-direction:column;gap:20px;animation:fadeIn .4s ease}.active-day-card{min-height:350px;flex-grow:1}.day-card{background:#0f172a66;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column}.day-card:hover{border-color:#ffffff26;background:#0f172ab3;box-shadow:0 10px 30px #0003}.day-header{padding:18px 20px;background:#0003;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.03)}.day-header h3{font-size:17px;font-weight:600;color:var(--text-primary)}.day-macros{display:flex;gap:8px}.day-macro-badge{font-size:12px;background:#ffffff1a;padding:4px 10px;border-radius:20px;color:var(--text-secondary);font-weight:500;transition:var(--transition)}.day-macro-badge.protein-badge{color:var(--protein-glow);background:#f43f5e1a}.day-macro-badge.over-limit{color:#ef4444;background:#ef444426;border:1px solid rgba(239,68,68,.5)}.day-macro-badge.remaining-badge{color:#34d399;background:#34d3991a;border:1px solid rgba(52,211,153,.2)}.day-content{padding:20px;flex-grow:1;display:flex;flex-direction:column}.empty-state{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);padding:30px 0;border:1px dashed rgba(255,255,255,.1);border-radius:var(--radius-md)}.empty-state:hover{color:var(--primary-glow);border-color:var(--primary-color);background:#6366f10d}.empty-state svg{width:32px;height:32px;opacity:.7}.empty-state p{font-size:14px;font-weight:500}.meal-list{display:flex;flex-direction:column;gap:12px}.meal-chip{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:12px 14px;display:flex;justify-content:space-between;align-items:center;transition:var(--transition)}.meal-chip:hover{background:#ffffff14;border-color:#fff3}.meal-chip-info{display:flex;flex-direction:column;gap:4px}.meal-name{font-size:14px;font-weight:600;color:var(--text-primary)}.meal-macros{font-size:12px;color:var(--text-secondary)}.remove-meal-btn{background:transparent;border:none;color:#ffffff4d;cursor:pointer;padding:4px;border-radius:50%;display:flex;justify-content:center;align-items:center;transition:var(--transition)}.remove-meal-btn:hover{color:#ef4444;background:#ef44441a}.remove-meal-btn svg{width:16px;height:16px}.add-meal-small-btn{background:transparent;border:1px dashed rgba(255,255,255,.2);color:var(--text-secondary);padding:12px;border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;transition:var(--transition);margin-top:4px}.add-meal-small-btn:hover{color:var(--primary-glow);border-color:var(--primary-glow);background:#6366f10d}.action-footer{display:flex;justify-content:center;margin-top:20px}.primary-action-btn{background:var(--primary-color);color:#fff;border:none;padding:16px 32px;border-radius:30px;font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:10px;transition:var(--transition);box-shadow:0 4px 20px #6366f14d}.primary-action-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 25px #6366f166}.primary-action-btn svg{width:20px;height:20px}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:100;animation:fadeIn .3s ease;padding:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:30px;width:100%;max-width:450px;box-shadow:0 25px 50px -12px #00000080;animation:scaleUp .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes scaleUp{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{font-size:22px;font-weight:600;color:#fff}.close-modal-btn{background:#ffffff1a;border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;font-size:14px;transition:var(--transition)}.close-modal-btn:hover{background:#fff3;color:#fff}.recipe-library{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding-right:8px}.recipe-library::-webkit-scrollbar{width:6px}.recipe-library::-webkit-scrollbar-track{background:#0000001a;border-radius:10px}.recipe-library::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.empty-library{text-align:center;color:var(--text-secondary);padding:30px 0;font-size:14px}.library-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:var(--transition)}.library-item:hover{background:#6366f11a;border-color:#6366f166;transform:translate(4px)}.library-item-info{display:flex;flex-direction:column;gap:6px}.library-item-info strong{font-size:15px;font-weight:600;color:var(--text-primary)}.library-item-info span{font-size:13px;color:var(--text-secondary)}.add-icon{width:28px;height:28px;background:#ffffff1a;border-radius:50%;display:flex;justify-content:center;align-items:center;color:#fff;font-weight:600;transition:var(--transition)}.library-item:hover .add-icon{background:var(--primary-color);transform:rotate(90deg)}.ingredients-list{display:flex;flex-direction:column;gap:12px}.ingredient-item{display:flex;align-items:center;gap:16px;background:#ffffff08;padding:12px 16px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05)}.ing-amount{background:#6366f126;color:var(--primary-glow);padding:6px 12px;border-radius:20px;font-weight:600;font-size:14px;min-width:70px;text-align:center}.ing-details{display:flex;flex-direction:column;gap:4px}.ing-details strong{font-size:15px;color:var(--text-primary)}.ing-details span{font-size:13px;color:var(--text-secondary)}@media(max-width:900px){.dashboard-main-layout{flex-direction:column}}.app-main-view{width:100%;display:flex;flex-direction:column;gap:24px;animation:scaleIn .5s cubic-bezier(.175,.885,.32,1.275)}.top-nav{display:flex;justify-content:center;gap:16px;margin-bottom:10px}.nav-btn{background:#0f172a99;border:1px solid var(--border-color);color:var(--text-secondary);padding:12px 24px;border-radius:30px;font-family:inherit;font-size:16px;font-weight:500;cursor:pointer;transition:var(--transition)}.nav-btn:hover{background:#ffffff1a;color:var(--text-primary)}.nav-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-glow);box-shadow:0 4px 15px #6366f14d}.recipes-sidebar{flex:3;background:#0f172a66;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);padding:0;display:flex;flex-direction:column;min-width:320px;transition:var(--transition);overflow:hidden}.sidebar-header{padding:18px 20px;background:#0003;border-bottom:1px solid rgba(255,255,255,.03)}.sidebar-header h2{font-size:17px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.sidebar-header p{font-size:13px;color:var(--text-secondary);line-height:1.2}.recipes-sidebar-content{padding:20px;flex-grow:1;display:flex;flex-direction:column;gap:20px}.recipes-sidebar.highlight-drop{border-color:var(--primary-glow);background:#6366f11a;box-shadow:0 0 20px #6366f133 inset}.meal-batches-list{display:flex;flex-direction:column;gap:20px;max-height:calc(100vh - 200px);overflow-y:auto;padding-right:10px}.meal-batches-list::-webkit-scrollbar{width:6px}.meal-batches-list::-webkit-scrollbar-track{background:#0000001a;border-radius:10px}.meal-batches-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.empty-batches{text-align:center;padding:40px 20px;color:var(--text-secondary)}.create-link-btn{background:transparent;border:1px solid var(--primary-color);color:var(--primary-glow);padding:10px 20px;border-radius:var(--radius-md);margin-top:16px;cursor:pointer;font-family:inherit;transition:var(--transition)}.create-link-btn:hover{background:#6366f11a}.batch-group{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:12px}.batch-header{display:flex;justify-content:space-between;align-items:center}.batch-header h3{font-size:16px;color:var(--text-primary);margin:0}.batch-header span{font-size:13px;color:var(--text-secondary);background:#ffffff1a;padding:4px 8px;border-radius:12px}.batch-macros{font-size:13px;color:var(--text-secondary);padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.05)}.portions-container{display:flex;flex-direction:column;gap:8px}.draggable-portion{background:#0f172acc;border:1px solid rgba(99,102,241,.3);border-left:3px solid var(--primary-color);padding:10px 14px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:12px;cursor:grab;transition:var(--transition)}.draggable-portion:hover{transform:translate(4px);background:#6366f11a}.draggable-portion:active{cursor:grabbing}.drag-handle-small{color:#fff6;display:flex;align-items:center}.drag-handle-small svg{width:16px;height:16px}.portion-info strong{font-size:14px;color:var(--text-primary)}.all-used-label{text-align:center;font-size:13px;color:#ffffff4d;font-style:italic;padding:10px 0}.meal-chip.draggable{cursor:grab}.meal-chip.draggable:active{cursor:grabbing}.day-card.highlight-drop{border-color:var(--primary-glow);background:#6366f11a}.create-meal-container{background:#0f172a99;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);padding:40px;width:100%}.create-meal-header{text-align:center;margin-bottom:40px}.create-meal-header h1{font-size:32px;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.create-meal-header p{color:var(--text-secondary)}.create-layout{display:flex;gap:40px}@media(max-width:900px){.create-layout{flex-direction:column}}.search-panel{flex:1;display:flex;flex-direction:column;gap:20px}.search-input-wrapper{position:relative}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-secondary)}.search-input{padding-left:48px!important}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff1a;transition:.4s;border-radius:24px;border:1px solid rgba(255,255,255,.2)}.slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 2px 4px #0003}input:checked+.slider{background-color:var(--primary-color);border-color:var(--primary-color)}input:checked+.slider:before{transform:translate(20px)}.search-results{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto;padding-right:10px}.migros-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:16px;border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center;transition:var(--transition)}.migros-item-content{display:flex;align-items:center;gap:16px}.migros-item-image{width:50px;height:50px;object-fit:contain;border-radius:var(--radius-sm);background:#fff;padding:4px}.migros-item:hover{background:#ffffff14;border-color:#fff3}.migros-item-info{display:flex;flex-direction:column;gap:4px}.migros-item-info strong{color:var(--text-primary);font-size:15px}.migros-item-info span{color:var(--text-secondary);font-size:13px}.add-ing-btn{background:#6366f133;color:var(--primary-glow);border:1px solid rgba(99,102,241,.3);width:36px;height:36px;border-radius:50%;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:var(--transition)}.add-ing-btn:hover{background:var(--primary-color);color:#fff;transform:scale(1.1)}.draft-panel{flex:1.2;background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);padding:30px}.draft-form{display:flex;flex-direction:column;gap:24px}.draft-ingredients-list{display:flex;flex-direction:column;gap:12px;margin-top:10px}.draft-ingredients-list label{font-size:14px;font-weight:500;color:var(--text-secondary)}.empty-draft{padding:30px;text-align:center;border:1px dashed rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px}.draft-ing-row{display:flex;justify-content:space-between;align-items:center;background:#ffffff08;padding:12px 16px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05)}.draft-ing-name{font-size:15px;font-weight:500;color:var(--text-primary);display:flex;flex-direction:column;gap:2px}.draft-ing-macros{font-size:12px;font-weight:400;color:var(--text-secondary);opacity:.8}.draft-ing-controls{display:flex;align-items:center;gap:8px}.draft-ing-controls input{width:80px;padding:8px;text-align:right;border-radius:var(--radius-sm);background:#0f172a99;border:1px solid var(--border-color);color:#fff;font-family:inherit;outline:none}.draft-ing-controls input:focus{border-color:var(--primary-color)}.unit-lbl{color:var(--text-secondary);font-size:14px}.remove-ing-icon-btn{background:transparent;border:none;color:#ffffff4d;cursor:pointer;margin-left:8px;padding:4px;transition:var(--transition)}.remove-ing-icon-btn:hover{color:#ef4444}.draft-summary{background:#0f172a80;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;margin-top:10px}.draft-summary h3{font-size:16px;margin-bottom:16px;color:var(--text-primary)}.draft-macros-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.draft-macro-box{display:flex;flex-direction:column;gap:4px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.05)}.draft-macro-box.highlight{border-bottom:none;padding-bottom:0;padding-top:12px}.draft-macro-box .lbl{font-size:12px;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.draft-macro-box .val{font-size:20px;font-weight:700;color:#fff}.draft-macro-box.highlight .val{color:var(--primary-glow)}.save-meal-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.search-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:30px;color:var(--text-secondary)}.spinner{width:24px;height:24px;border:3px solid rgba(99,102,241,.2);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.no-results{text-align:center;color:var(--text-secondary);padding:30px 10px;font-size:14px;background:#ffffff05;border-radius:var(--radius-md)}.error-text{color:#ef4444;text-align:center;padding:20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);font-size:14px}.infinite-portion{background:#6366f11a!important;border-color:#6366f14d!important;position:relative}.infinite-portion:hover{background:#6366f133!important}.mealtime-grid{display:grid;grid-template-columns:1fr;gap:16px}.mealtime-section{background:#00000026;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:12px;transition:var(--transition)}.mealtime-section.highlight-drop-time{background:#10b9811a;border-color:#10b98166}.mealtime-header h4{font-size:15px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:8px;margin-bottom:4px}.empty-state-small{text-align:center;padding:16px 0;border:1px dashed rgba(255,255,255,.1);border-radius:var(--radius-sm);color:#ffffff4d;font-size:13px}.segmented-control{display:flex;background:#0f172a66;padding:4px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05)}.segmented-control button{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:8px 16px;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:var(--transition)}.segmented-control button.active{background:var(--surface-light);color:#fff;box-shadow:0 2px 8px #0003}.login-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--background);position:relative;overflow:hidden;padding:20px;gap:24px}.login-card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:400px;z-index:10;box-shadow:0 20px 40px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-header{text-align:center;margin-bottom:30px}.login-header h1{font-size:28px;font-weight:800;margin-bottom:8px;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-header p{color:var(--text-secondary);font-size:15px}.login-form{display:flex;flex-direction:column;gap:20px}.protein-slider-container{display:flex;align-items:center;gap:16px;background:#0003;padding:12px 16px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05)}.protein-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:#ffffff1a;border-radius:4px;outline:none}.protein-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary-color);cursor:pointer;box-shadow:0 0 10px var(--primary-color);transition:var(--transition)}.protein-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.protein-input-box{display:flex;align-items:center;gap:6px;background:#0f172a66;padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.05)}.protein-input-box input{width:46px;background:transparent;border:none;color:#fff;font-weight:600;font-size:15px;text-align:center;padding:0}.protein-input-box input:focus{outline:none;box-shadow:none}.protein-input-box span{color:var(--text-secondary);font-size:13px}.barcode-scanner-container{display:flex;flex-direction:column;align-items:center}.qr-reader-window{width:100%;max-width:400px;border-radius:var(--radius-md);overflow:hidden;border:2px solid rgba(255,255,255,.1);background:#0003}#qr-reader{border:none!important}#qr-reader__dashboard_section_csr button{background-color:var(--primary-color)!important;color:#fff!important;border:none!important;padding:8px 16px!important;border-radius:var(--radius-sm)!important;cursor:pointer!important;font-weight:600!important;margin-top:10px}#qr-reader a{color:var(--primary-color)!important}.recent-ingredients-container{margin-top:10px}.recent-title{font-size:14px;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.recent-item{opacity:.85;transform:scale(.98);transition:var(--transition)}.recent-item:hover{opacity:1;transform:scale(1)}.week-navigation{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px;padding:14px 20px;background:#0f172a66;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.week-nav-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.week-nav-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:scale(1.1)}.week-date-range{display:flex;align-items:center;gap:14px}.week-dates{font-size:16px;font-weight:700;color:var(--text-primary);letter-spacing:-.3px}.today-btn{background:#6366f126;border:1px solid rgba(99,102,241,.3);color:var(--primary-glow);padding:5px 16px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit}.today-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.day-tab-btn{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.day-date-small{font-size:11px;font-weight:500;color:var(--text-secondary);opacity:.7}.day-tab-btn.active .day-date-small{color:#fff;opacity:1}.day-tab-btn.tab-today{box-shadow:inset 0 0 0 2px var(--primary-color)}.day-tab-btn.tab-today .day-name{color:var(--primary-glow)}.day-tab-btn.tab-today.active{box-shadow:inset 0 0 0 2px var(--primary-glow),0 4px 15px #0003}.cancel-btn{width:100%;padding:14px;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);margin-top:10px}.cancel-btn:hover{background:#ffffff1a;color:var(--text-primary)}.logout-btn{width:100%;padding:14px;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#f87171;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:6px}.logout-btn:hover{background:#ef444440;border-color:#ef444480;color:#ef4444}.profile-page{display:flex;justify-content:center;align-items:flex-start;padding:40px 20px;animation:fadeIn .4s ease}.profile-card{background:#0f172a99;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:40px;max-width:520px;width:100%;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center}.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--primary-glow));display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#fff}.profile-name{font-size:26px;font-weight:700;color:var(--text-primary);margin:0 0 28px}.profile-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left;margin-bottom:28px}.profile-data-item{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);padding:14px 16px}.profile-data-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.profile-data-value{display:block;font-size:16px;font-weight:600;color:var(--text-primary)}.profile-macros{display:flex;gap:16px;margin-bottom:28px}.profile-macro-box{flex:1;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-md);padding:18px;text-align:center}.profile-macro-val{display:block;font-size:28px;font-weight:800;background:linear-gradient(135deg,var(--primary-glow),#a78bfa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.profile-macro-lbl{display:block;font-size:13px;color:var(--text-secondary);margin-top:4px}.profile-actions{display:flex;flex-direction:column;gap:0}.profile-actions .submit-btn{display:flex;align-items:center;justify-content:center;gap:10px}.custom-ingredient-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}.custom-ing-toggle{width:100%;padding:12px;border-radius:var(--radius-md);background:#ffffff0a;border:1px dashed rgba(255,255,255,.12);color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}.custom-ing-toggle:hover{background:#6366f11a;border-color:#6366f14d;color:var(--primary-glow)}.custom-ing-form{background:#0f172a80;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:16px;animation:fadeIn .3s ease}.custom-ing-form input{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1);background:#0003;color:var(--text-primary);font-family:inherit;font-size:14px}.custom-ing-form input::placeholder{color:var(--text-secondary);opacity:.6}.discard-portion-btn{background:transparent;border:none;color:#ffffff40;cursor:pointer;padding:4px;border-radius:6px;transition:var(--transition);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto}.discard-portion-btn svg{width:16px;height:16px}.discard-portion-btn:hover{color:#ef4444;background:#ef444426}.batch-name-clickable{transition:var(--transition)}.batch-name-clickable:hover{color:var(--primary-glow)!important;text-decoration:underline;text-underline-offset:3px}.toggle-fav-btn{background:transparent;border:none;color:#ffffff4d;cursor:pointer;padding:4px;margin-left:6px;border-radius:6px;transition:var(--transition);display:flex;align-items:center;justify-content:center;flex-shrink:0}.toggle-fav-btn svg{width:20px;height:20px;filter:drop-shadow(0 2px 5px rgba(251,191,36,.3))}.toggle-fav-btn:hover{color:#fbbf24;transform:scale(1.15)}.recipe-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .25s ease}.recipe-modal-card{background:#0f172af2;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:36px;width:100%;max-width:600px;max-height:85vh;overflow-y:auto;position:relative;box-shadow:0 25px 60px #00000080,0 0 40px #6366f11a;animation:scaleIn .3s ease}@keyframes scaleIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.recipe-modal-card::-webkit-scrollbar{width:6px}.recipe-modal-card::-webkit-scrollbar-track{background:#0000001a;border-radius:10px}.recipe-modal-card::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.recipe-modal-close{position:absolute;top:16px;right:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.recipe-modal-close svg{width:18px;height:18px}.recipe-modal-close:hover{background:#ef444433;color:#ef4444;border-color:#ef44444d}.recipe-modal-header h2{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 24px;padding-right:40px;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-flex;align-items:center}.recipe-modal-macros-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}.recipe-modal-macro{flex:1;min-width:90px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:14px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.recipe-modal-macro.highlight{background:#6366f11a;border-color:#6366f14d}.recipe-macro-num{font-size:20px;font-weight:700;color:var(--text-primary)}.recipe-modal-macro.highlight .recipe-macro-num{color:var(--primary-glow)}.recipe-macro-unit{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:500}.recipe-modal-subtitle{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.recipe-modal-table-wrap{overflow-x:auto}.ingredient-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.ingredient-table th{text-align:left;padding:10px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:600;border-bottom:1px solid rgba(255,255,255,.1);background:#00000026}.ingredient-table th:first-child{border-radius:8px 0 0}.ingredient-table th:last-child{border-radius:0 8px 0 0}.ingredient-table td{padding:12px 14px;color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.04)}.ingredient-table tbody tr:hover{background:#ffffff08}.ingredient-table tfoot td{padding-top:14px;border-bottom:none;border-top:1px solid rgba(255,255,255,.1);color:var(--primary-glow)}.ingredient-thumb{width:36px;height:36px;object-fit:contain;border-radius:6px;background:#fff;padding:2px}
