@import url(https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;600;700&family=Inter:wght@400;500;600;700&display=swap);code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-brand:#3e2723;--color-primary:#e8613c;--color-primary-hover:#d4522f;--color-primary-light:#e8613c1a;--color-danger:#dc3545;--color-danger-hover:#c82333;--color-success:#2e7d32;--bg-body:#f5f3f0;--bg-surface:#fff;--bg-surface-alt:#faf8f5;--bg-input:#fff;--bg-header:#2d2d2d;--bg-nav:#fff;--bg-footer:#2d2d2d;--bg-badge:#e8613c1f;--bg-empty:#f0ece7;--text-primary:#2d3436;--text-secondary:#636e72;--text-muted:#b2bec3;--text-on-dark:#fff;--text-on-primary:#fff;--text-brand:#3e2723;--border-color:#e0dbd5;--border-focus:#e8613c;--border-input:#d5d0ca;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-inset:inset 0 1px 2px #0000000f;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--font-brand:"Dancing Script",cursive;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--transition:0.2s ease;--max-width:860px}.dark-mode{--bg-body:#1a1a1a;--bg-surface:#2a2a2a;--bg-surface-alt:#222;--bg-input:#333;--bg-header:#111;--bg-nav:#222;--bg-footer:#111;--bg-badge:#e8613c33;--bg-empty:#333;--text-primary:#e8e8e8;--text-secondary:#b0b0b0;--text-muted:#777;--text-on-dark:#e8e8e8;--text-brand:#e8a87c;--border-color:#3a3a3a;--border-input:#4a4a4a;--shadow-sm:0 1px 3px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006;--shadow-inset:inset 0 1px 2px #0003}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);line-height:1.6;margin:0}.app-root,body{background-color:#f5f3f0;background-color:var(--bg-body);color:#2d3436;color:var(--text-primary);transition:background-color .2s ease,color .2s ease;transition:background-color var(--transition),color var(--transition)}.app-root{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1 1;margin:0 auto;max-width:860px;max-width:var(--max-width);padding:24px 16px;width:100%}.skip-link{background:#e8613c;background:var(--color-primary);border-radius:6px;border-radius:var(--radius-sm);color:#fff;color:var(--text-on-primary);font-weight:600;left:16px;padding:8px 16px;position:absolute;text-decoration:none;top:-100%;z-index:1000}.skip-link:focus{top:8px}.app-header{background:#2d2d2d;background:var(--bg-header);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);justify-content:space-between;padding:16px 24px;position:relative;z-index:10}.app-header,.header-brand{align-items:center;display:flex}.header-brand{gap:12px;text-decoration:none}.header-logo-svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));flex-shrink:0}.header-title{color:#fff;color:var(--text-on-dark);font-family:Dancing Script,cursive;font-family:var(--font-brand);font-size:28px;font-weight:700;letter-spacing:.5px;margin:0}.header-sync{align-items:center;display:flex;gap:8px}.header-user{color:#fff;color:var(--text-on-dark);font-size:13px;font-weight:500;opacity:.8}.header-status{background:#e8613c;background:var(--color-primary);border-radius:9999px;border-radius:var(--radius-full);color:#fff;color:var(--text-on-primary);font-size:11px;font-weight:600;padding:3px 10px}.header-hint{font-size:13px;opacity:.6}.btn-header,.header-hint{color:#fff;color:var(--text-on-dark)}.btn-header{background:#ffffff1f;border:1px solid #fff3;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-size:12px;font-weight:600;padding:6px 12px;transition:background .2s ease;transition:background var(--transition)}.btn-header:hover{background:#fff3}.btn-header:focus-visible{outline:2px solid #e8613c;outline:2px solid var(--color-primary);outline-offset:2px}.btn-header-disconnect{background:#dc3545cc;border-color:#dc354599}.btn-header-disconnect:hover{background:#dc3545}.app-nav{align-items:center;background:#fff;background:var(--bg-nav);border-bottom:1px solid #e0dbd5;border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:9}.nav-list{display:flex;gap:4px;list-style:none;margin:0;overflow-x:auto;padding:0}.nav-link{border-bottom:2px solid #0000;color:#636e72;color:var(--text-secondary);display:block;font-size:14px;font-weight:500;padding:14px 16px;text-decoration:none;transition:color .2s ease,border-color .2s ease;transition:color var(--transition),border-color var(--transition);white-space:nowrap}.nav-link.active,.nav-link:hover{color:#e8613c;color:var(--color-primary)}.nav-link.active{border-bottom-color:#e8613c;border-bottom-color:var(--color-primary)}.nav-link:focus-visible{border-radius:6px;border-radius:var(--radius-sm);outline:2px solid #e8613c;outline:2px solid var(--color-primary);outline-offset:-2px}.btn-theme-toggle{align-items:center;background:#faf8f5;background:var(--bg-surface-alt);border:1px solid #e0dbd5;border:1px solid var(--border-color);border-radius:9999px;border-radius:var(--radius-full);color:#636e72;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease;transition:all var(--transition)}.btn-theme-toggle:hover{background:#e8613c1a;background:var(--color-primary-light);border-color:#e8613c;border-color:var(--color-primary);color:#e8613c;color:var(--color-primary)}.btn-theme-toggle:focus-visible{outline:2px solid #e8613c;outline:2px solid var(--color-primary);outline-offset:2px}.app-footer{background:#2d2d2d;background:var(--bg-footer);color:#fff;color:var(--text-on-dark);font-size:14px;margin-top:auto;padding:20px 24px;text-align:center}.footer-brand{color:#e8613c;color:var(--color-primary);font-family:Dancing Script,cursive;font-family:var(--font-brand);font-size:18px;font-weight:600}.footer-text{margin:0;opacity:.7}.page-container{background:#fff;background:var(--bg-surface);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);margin-bottom:24px;padding:32px}.page-title{font-size:32px;font-weight:700;margin:0 0 24px;text-align:center}.page-title,.section-title{color:#3e2723;color:var(--text-brand);font-family:Dancing Script,cursive;font-family:var(--font-brand)}.section-title{font-size:24px;margin:0 0 16px}.form-group{margin-bottom:16px}.form-label{color:#636e72;color:var(--text-secondary);display:block;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.form-input{background:#fff;background:var(--bg-input);border:1px solid #d5d0ca;border:1px solid var(--border-input);border-radius:10px;border-radius:var(--radius-md);box-shadow:inset 0 1px 2px #0000000f;box-shadow:var(--shadow-inset);color:#2d3436;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-size:15px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-input:focus{border-color:#e8613c;border-color:var(--border-focus);box-shadow:0 0 0 3px #e8613c26;outline:none}.form-input::placeholder{color:#b2bec3;color:var(--text-muted)}.form-input-sm{width:100px}.form-select{background:#fff;background:var(--bg-input);border:1px solid #d5d0ca;border:1px solid var(--border-input);border-radius:10px;border-radius:var(--radius-md);color:#2d3436;color:var(--text-primary);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-size:15px;padding:10px 14px;transition:border-color .2s ease;transition:border-color var(--transition)}.form-select:focus{border-color:#e8613c;border-color:var(--border-focus);box-shadow:0 0 0 3px #e8613c26;outline:none}.form-textarea{background:#fff;background:var(--bg-input);border:1px solid #d5d0ca;border:1px solid var(--border-input);border-radius:10px;border-radius:var(--radius-md);box-shadow:inset 0 1px 2px #0000000f;box-shadow:var(--shadow-inset);color:#2d3436;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-size:15px;min-height:80px;padding:10px 14px;resize:vertical;transition:border-color .2s ease;transition:border-color var(--transition);width:100%}.form-textarea:focus{border-color:#e8613c;border-color:var(--border-focus);box-shadow:0 0 0 3px #e8613c26;outline:none}.form-row{align-items:end;display:flex;flex-wrap:wrap;gap:12px}.form-help{color:#b2bec3;color:var(--text-muted);font-size:12px;margin-top:4px}.input-with-btn{display:flex;gap:8px}.input-with-btn .form-input{flex:1 1}.btn{align-items:center;border:none;border-radius:10px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:600;gap:6px;justify-content:center;line-height:1.4;padding:10px 20px;text-decoration:none;transition:all .2s ease;transition:all var(--transition)}.btn:focus-visible{outline:2px solid #e8613c;outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#e8613c;background:var(--color-primary);color:#fff;color:var(--text-on-primary)}.btn-primary:hover:not(:disabled){background:#d4522f;background:var(--color-primary-hover);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger{background:#dc3545;background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#c82333;background:var(--color-danger-hover)}.btn-secondary{background:#faf8f5;background:var(--bg-surface-alt);border:1px solid #e0dbd5;border:1px solid var(--border-color);color:#2d3436;color:var(--text-primary)}.btn-secondary:hover{background:#e8613c1a;background:var(--color-primary-light);border-color:#e8613c;border-color:var(--color-primary);color:#e8613c;color:var(--color-primary)}.btn-ghost{background:#0000;color:#636e72;color:var(--text-secondary);padding:8px 12px}.btn-ghost:hover{background:#faf8f5;background:var(--bg-surface-alt);color:#2d3436;color:var(--text-primary)}.btn-sm{font-size:13px;padding:6px 12px}.btn-block{width:100%}.btn-group{display:flex;flex-wrap:wrap;gap:8px}.card{background:#fff;background:var(--bg-surface);border:1px solid #e0dbd5;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);margin-bottom:10px;padding:16px;transition:box-shadow .2s ease,border-color .2s ease;transition:box-shadow var(--transition),border-color var(--transition)}.card:hover{box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-sm)}.card-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:4px 0;-webkit-user-select:none;user-select:none}.card-title{color:#2d3436;color:var(--text-primary);font-size:17px;font-weight:600;margin:0}.card-expand-icon{color:#b2bec3;color:var(--text-muted);font-size:18px;transition:transform .2s ease;transition:transform var(--transition)}.card-expand-icon.expanded{transform:rotate(180deg)}.card-body{border-top:1px solid #e0dbd5;border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.card-detail{color:#636e72;color:var(--text-secondary);display:flex;font-size:14px;justify-content:space-between;padding:6px 0}.card-detail-label{color:#2d3436;color:var(--text-primary);font-weight:500}.card-actions{border-top:1px solid #e0dbd5;border-top:1px solid var(--border-color);display:flex;gap:8px;margin-top:12px;padding-top:12px}.list-item{align-items:center;background:#fff;background:var(--bg-surface);border:1px solid #e0dbd5;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 16px;transition:background .2s ease;transition:background var(--transition)}.list-item:hover{background:#faf8f5;background:var(--bg-surface-alt)}.list-item-name{color:#2d3436;color:var(--text-primary);font-size:15px;font-weight:600}.list-item-qty{background:#f0ece7;background:var(--bg-empty);border-radius:9999px;border-radius:var(--radius-full);color:#636e72;color:var(--text-secondary);font-size:14px;font-weight:500;padding:2px 10px}.empty-state{color:#b2bec3;color:var(--text-muted);padding:40px 20px;text-align:center}.empty-state-icon{font-size:48px;margin-bottom:12px;opacity:.5}.empty-state-text{font-size:15px;margin:0}.catalog-section{margin-top:32px}.catalog-header{align-items:center;border-bottom:2px solid #e0dbd5;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.catalog-title{color:#3e2723;color:var(--text-brand);font-family:Dancing Script,cursive;font-family:var(--font-brand);font-size:22px;margin:0}.catalog-count{background:#f0ece7;background:var(--bg-empty);border-radius:9999px;border-radius:var(--radius-full);color:#b2bec3;color:var(--text-muted);font-size:13px;font-weight:500;padding:4px 12px}.settings-section{background:#faf8f5;background:var(--bg-surface-alt);border:1px solid #e0dbd5;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);margin-bottom:20px;padding:24px}.settings-section-title{color:#2d3436;color:var(--text-primary);font-size:18px;font-weight:700;margin:0 0 8px}.settings-description{color:#636e72;color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 16px}.settings-connected{align-items:center;background:#2e7d3214;border:1px solid #2e7d3233;border-radius:10px;border-radius:var(--radius-md);display:flex;gap:12px;margin-bottom:12px;padding:16px}.settings-connected-dot{background:#2e7d32;background:var(--color-success);border-radius:50%;flex-shrink:0;height:8px;width:8px}.settings-connected-text{color:#2d3436;color:var(--text-primary);font-size:14px;margin:0}.settings-steps{color:#636e72;color:var(--text-secondary);font-size:14px;line-height:2;padding-left:20px}.settings-steps li{margin-bottom:4px}.ai-recipe-result{background:#faf8f5;background:var(--bg-surface-alt);border:1px solid #e0dbd5;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);margin-top:24px;padding:24px}.ai-recipe-name{color:#3e2723;color:var(--text-brand);font-family:Dancing Script,cursive;font-family:var(--font-brand);font-size:24px;margin:0 0 16px}.ai-recipe-section h3{color:#2d3436;color:var(--text-primary);font-size:16px;font-size:13px;font-weight:700;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.ai-recipe-section ul{list-style:none;margin:0 0 16px;padding:0}.ai-recipe-section ul li{border-bottom:1px solid #e0dbd5;border-bottom:1px solid var(--border-color);color:#636e72;color:var(--text-secondary);font-size:15px;padding:6px 0}.ai-recipe-section ul li:last-child{border-bottom:none}.ai-recipe-step{color:#636e72;color:var(--text-secondary);font-size:15px;line-height:1.6;margin-bottom:10px}.ai-recipe-error{background:#dc354514;border:1px solid #dc354533;border-radius:10px;border-radius:var(--radius-md);color:#dc3545;color:var(--color-danger);margin-top:24px;padding:16px;text-align:center}.loading-text{color:#b2bec3;color:var(--text-muted);font-size:15px;padding:20px;text-align:center}.recipe-ingredients-list{list-style:none;margin:0 0 12px;padding:0}.recipe-ingredients-list li{border-bottom:1px solid #e0dbd5;border-bottom:1px solid var(--border-color);color:#636e72;color:var(--text-secondary);font-size:14px;padding:6px 0}.recipe-ingredients-list li:last-child{border-bottom:none}.recipe-procedure-list{margin:0 0 12px;padding-left:20px}.recipe-procedure-list li{color:#636e72;color:var(--text-secondary);font-size:14px;line-height:1.6;padding:4px 0}.recipe-sub-title{color:#2d3436;color:var(--text-primary);font-size:13px;font-weight:700;letter-spacing:.5px;margin:12px 0 8px;text-transform:uppercase}@media (max-width:768px){.app-header{flex-direction:column;gap:12px;padding:12px 16px}.header-sync{flex-wrap:wrap;justify-content:center}.app-nav{padding:0 12px}.nav-list{gap:0}.nav-link{font-size:13px;padding:12px 10px}.btn-theme-toggle{font-size:12px;padding:6px 10px}.app-main{padding:16px 12px}.page-container{border-radius:10px;border-radius:var(--radius-md);padding:20px 16px}.page-title{font-size:26px}.form-row{flex-direction:column}.form-input-sm{width:100%}}@media (max-width:480px){.nav-list{-webkit-overflow-scrolling:touch;overflow-x:auto}.nav-link{font-size:12px;padding:12px 8px}.header-title{font-size:22px}}:focus-visible{outline:2px solid #e8613c;outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.tag{align-items:center;background:#fff;background:var(--bg-surface);border:1px solid #e0dbd5;border:1px solid var(--border-color);border-radius:9999px;border-radius:var(--radius-full);color:#636e72;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;padding:4px 12px;transition:all .2s ease;transition:all var(--transition)}.tag:hover{color:#e8613c;color:var(--color-primary)}.tag.active,.tag:hover{border-color:#e8613c;border-color:var(--color-primary)}.tag.active{background:#e8613c;background:var(--color-primary);color:#fff;color:var(--text-on-primary)}.search-bar{margin-bottom:16px;position:relative}.search-bar .form-input{padding-left:36px}.search-icon{color:#b2bec3;color:var(--text-muted);font-size:14px;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.cost-badge{align-items:center;background:#2e7d321a;border-radius:9999px;border-radius:var(--radius-full);color:#2e7d32;color:var(--color-success);display:inline-flex;font-size:13px;font-weight:600;gap:4px;padding:4px 10px}.scale-controls{align-items:center;display:flex;gap:8px;margin-bottom:8px;padding:8px 0}.scale-label{color:#636e72;color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.scale-btn{align-items:center;background:#fff;background:var(--bg-surface);border:1px solid #e0dbd5;border:1px solid var(--border-color);border-radius:50%;color:#2d3436;color:var(--text-primary);cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-size:16px;font-weight:700;height:32px;justify-content:center;padding:0;transition:all .2s ease;transition:all var(--transition);width:32px}.scale-btn:hover{background:#e8613c1a;background:var(--color-primary-light);border-color:#e8613c;border-color:var(--color-primary);color:#e8613c;color:var(--color-primary)}.scale-value{color:#2d3436;color:var(--text-primary);font-size:15px;font-weight:700;min-width:40px;text-align:center}.expiry-badge{border-radius:9999px;border-radius:var(--radius-full);font-size:11px;font-weight:600;margin-left:8px;padding:2px 8px}.expiry-ok{background:#2e7d321a;color:#2e7d32;color:var(--color-success)}.expiry-soon{background:#ff980026;color:#e65100}.expiry-expired{background:#dc35451a;color:#dc3545;color:var(--color-danger)}.planner-week{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-bottom:24px}.planner-day{background:#faf8f5;background:var(--bg-surface-alt);border:1px solid #e0dbd5;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);min-height:120px;padding:12px 8px;transition:border-color .2s ease;transition:border-color var(--transition)}.planner-day:hover{border-color:#e8613c;border-color:var(--color-primary)}.planner-day-label{color:#b2bec3;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;margin:0 0 4px;text-transform:uppercase}.planner-day-date{color:#2d3436;color:var(--text-primary);font-size:18px;font-weight:700;margin:0 0 8px}.planner-meal{align-items:center;background:#fff;background:var(--bg-surface);border-radius:6px;border-radius:var(--radius-sm);color:#636e72;color:var(--text-secondary);display:flex;font-size:13px;justify-content:space-between;margin-bottom:4px;padding:4px 8px}.planner-meal-remove{background:none;border:none;color:#b2bec3;color:var(--text-muted);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-size:14px;line-height:1;padding:0 2px}.planner-meal-remove:hover{color:#dc3545;color:var(--color-danger)}.planner-add-btn{background:#0000;border:1px dashed #e0dbd5;border:1px dashed var(--border-color);border-radius:6px;border-radius:var(--radius-sm);color:#b2bec3;color:var(--text-muted);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-size:18px;padding:4px;transition:all .2s ease;transition:all var(--transition);width:100%}.planner-add-btn:hover{border-color:#e8613c;border-color:var(--color-primary);color:#e8613c;color:var(--color-primary)}.planner-picker-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.planner-picker{background:#fff;background:var(--bg-surface);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);max-height:70vh;max-width:400px;overflow-y:auto;padding:24px;width:90%}.planner-picker h3{color:#2d3436;color:var(--text-primary);font-size:18px;font-weight:700;margin:0 0 16px}.planner-picker-item{background:#faf8f5;background:var(--bg-surface-alt);border:1px solid #e0dbd5;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);color:#2d3436;color:var(--text-primary);cursor:pointer;font-size:14px;margin-bottom:6px;padding:10px 14px;transition:all .2s ease;transition:all var(--transition)}.planner-picker-item:hover{background:#e8613c1a;background:var(--color-primary-light);border-color:#e8613c;border-color:var(--color-primary)}.budget-overview{background:#faf8f5;background:var(--bg-surface-alt);border:1px solid #e0dbd5;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);padding:24px}.budget-overview-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.budget-overview-label{color:#b2bec3;color:var(--text-muted);display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.budget-overview-amount{color:#2d3436;color:var(--text-primary);display:block;font-size:32px;font-weight:800;line-height:1.1}.budget-positive{color:#2e7d32;color:var(--color-success)}.budget-negative{color:#dc3545;color:var(--color-danger)}.budget-progress-track{background:#f0ece7;background:var(--bg-empty);height:10px;margin-bottom:8px;overflow:hidden;width:100%}.budget-progress-fill,.budget-progress-track{border-radius:9999px;border-radius:var(--radius-full)}.budget-progress-fill{background:#e8613c;background:var(--color-primary);height:100%;transition:width .4s ease,background .3s ease}.budget-progress-warn{background:#e65100}.budget-progress-danger{background:#dc3545;background:var(--color-danger)}.budget-progress-labels{color:#b2bec3;color:var(--text-muted);display:flex;font-size:12px;font-weight:500;justify-content:space-between}.budget-shopping-estimate{border-top:1px solid #e0dbd5;border-top:1px solid var(--border-color);color:#636e72;color:var(--text-secondary);font-size:14px;margin-top:12px;padding-top:12px}.budget-templates-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.budget-template-card{background:#fff;background:var(--bg-surface);border:2px solid #e0dbd5;border:2px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);padding:16px;transition:border-color .2s ease,box-shadow .2s ease;transition:border-color var(--transition),box-shadow var(--transition)}.budget-template-card:hover{box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-sm)}.budget-template-active,.budget-template-card:hover{border-color:#e8613c;border-color:var(--color-primary)}.budget-template-active{background:#e8613c1a;background:var(--color-primary-light)}.budget-template-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.budget-template-name{color:#2d3436;color:var(--text-primary);font-size:16px;font-weight:700;margin:0}.budget-template-price{background:#e8613c1f;background:var(--bg-badge);border-radius:9999px;border-radius:var(--radius-full);color:#e8613c;color:var(--color-primary);font-size:14px;font-weight:700;padding:2px 10px}.budget-template-desc{color:#636e72;color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0 0 12px}.budget-template-actions{display:flex;gap:8px}.budget-template-details{border-top:1px solid #e0dbd5;border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.budget-category-row{margin-bottom:12px}.budget-category-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.budget-category-name{color:#2d3436;color:var(--text-primary);font-size:13px;font-weight:600}.budget-category-percent{color:#b2bec3;color:var(--text-muted);font-size:12px;font-weight:600}.budget-category-bar-track{background:#f0ece7;background:var(--bg-empty);height:6px;margin-bottom:6px;overflow:hidden;width:100%}.budget-category-bar-fill,.budget-category-bar-track{border-radius:9999px;border-radius:var(--radius-full)}.budget-category-bar-fill{background:#e8613c;background:var(--color-primary);height:100%;transition:width .4s ease}.budget-bar-over{background:#dc3545;background:var(--color-danger)}.budget-category-items{display:flex;flex-wrap:wrap;gap:4px}.budget-category-items .tag{cursor:default;font-size:11px;padding:2px 8px}.budget-breakdown-row{margin-bottom:14px}.budget-breakdown-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.budget-breakdown-name{color:#2d3436;color:var(--text-primary);font-size:14px;font-weight:600}.budget-breakdown-alloc{color:#636e72;color:var(--text-secondary);font-size:13px;font-weight:500}.budget-expense-amount{color:#e8613c;color:var(--color-primary);font-size:15px;font-weight:700;margin:0 12px;white-space:nowrap}.budget-tips-section{background:#faf8f5;background:var(--bg-surface-alt);border:1px solid #e0dbd5;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);margin-top:20px;padding:24px}.budget-tips-list{list-style:none;margin:0 0 20px;padding:0}.budget-tips-list li{border-bottom:1px solid #e0dbd5;border-bottom:1px solid var(--border-color);color:#636e72;color:var(--text-secondary);font-size:14px;line-height:1.6;padding:10px 0}.budget-tips-list li:last-child{border-bottom:none}.budget-tips-list li strong{color:#2d3436;color:var(--text-primary)}.budget-sample-menu{background:#fff;background:var(--bg-surface);border:1px solid #e0dbd5;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);padding:16px}.budget-meal-plan{display:flex;flex-direction:column;gap:8px}.budget-meal{align-items:center;background:#faf8f5;background:var(--bg-surface-alt);border-radius:6px;border-radius:var(--radius-sm);display:flex;gap:12px;padding:8px 12px}.budget-meal-label{color:#e8613c;color:var(--color-primary);font-size:12px;font-weight:700;letter-spacing:.5px;min-width:72px;text-transform:uppercase}.budget-meal-desc{color:#636e72;color:var(--text-secondary);flex:1 1;font-size:14px}.budget-meal-cost{color:#b2bec3;color:var(--text-muted);font-size:13px;font-weight:600;white-space:nowrap}@media (max-width:768px){.budget-templates-grid{grid-template-columns:1fr}.budget-overview-amount{font-size:24px}.budget-meal{flex-wrap:wrap}.budget-meal-label{min-width:auto}.planner-week{gap:6px;grid-template-columns:1fr}.planner-day{align-items:center;display:flex;flex-wrap:wrap;gap:6px;min-height:auto}.planner-day-date,.planner-day-label{margin:0 8px 0 0}.planner-meal{margin-bottom:0}}.macro-slot{border-bottom:1px solid #e0dbd5;border-bottom:1px solid var(--border-color);padding:8px 0}.macro-slot:last-child{border-bottom:none}.macro-slot-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.macro-slot-label{color:#e8613c;color:var(--color-primary);font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.macro-slot-target{color:#b2bec3;color:var(--text-muted);font-size:11px}.macro-slot-assigned{align-items:center;background:#faf8f5;background:var(--bg-surface-alt);border-radius:6px;border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin:4px 0;padding:6px 10px}.fitness-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.fitness-stat-card{background:#faf8f5;background:var(--bg-surface-alt);border:1px solid #e0dbd5;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);padding:16px;text-align:center}.fitness-stat-label{color:#b2bec3;color:var(--text-muted);display:block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.fitness-stat-value{color:#2d3436;color:var(--text-primary);display:block;font-size:24px;font-weight:800;line-height:1.2}.fitness-stat-change{display:block;font-size:13px;font-weight:600;margin-top:4px}.fitness-stat-good{color:#2e7d32;color:var(--color-success)}.fitness-stat-warn{color:#e65100}.fitness-stat-sub{color:#b2bec3;color:var(--text-muted);display:block;font-size:11px;margin-top:2px}.fitness-chart{align-items:flex-end;display:flex;gap:4px;height:140px;padding:8px 0}.fitness-chart-col{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%}.fitness-chart-bar-container{align-items:flex-end;display:flex;flex:1 1;justify-content:center;width:100%}.fitness-chart-bar{border-radius:4px 4px 0 0;max-width:40px;min-height:2px;transition:height .4s ease;width:80%}.fitness-chart-label{color:#b2bec3;color:var(--text-muted);font-size:10px;margin-top:4px;white-space:nowrap}@media (max-width:768px){.fitness-stats-grid{grid-template-columns:repeat(2,1fr)}.fitness-stat-value{font-size:20px}.macro-slot-header{align-items:flex-start;flex-direction:column;gap:2px}}
/*# sourceMappingURL=main.60b75257.css.map*/