:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#059669;--primary-dark:#047857;--primary-light:#d1fae5;--accent:#7c3aed;--accent-light:#ede9fe;--orange:#ea580c;--orange-light:#fff7ed;--red:#dc2626;--red-light:#fef2f2;--blue:#2563eb;--blue-light:#eff6ff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--white:#fff;--bg:#f9fafb;--card-bg:#fff;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--shadow-lg:0 10px 15px #0000001a, 0 4px 6px #0000000d;--radius:8px;--radius-lg:20px;--font:"Inter", system-ui, -apple-system, sans-serif}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#34d399;--primary-dark:#6ee7b7;--primary-light:#064e3b;--accent:#a78bfa;--accent-light:#2e1065;--orange:#fb923c;--orange-light:#431407;--red:#f87171;--red-light:#450a0a;--blue:#60a5fa;--blue-light:#1e3a5f;--gray-50:#111827;--gray-100:#1f2937;--gray-200:#374151;--gray-300:#4b5563;--gray-400:#9ca3af;--gray-500:#d1d5db;--gray-600:#e5e7eb;--gray-700:#f3f4f6;--gray-800:#f9fafb;--gray-900:#fff;--white:#1f2937;--bg:#0f172a;--card-bg:#1e293b;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006, 0 2px 4px #0000004d;--shadow-lg:0 10px 15px #0006, 0 4px 6px #0000004d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#34d399;--primary-dark:#6ee7b7;--primary-light:#064e3b;--accent:#a78bfa;--accent-light:#2e1065;--orange:#fb923c;--orange-light:#431407;--red:#f87171;--red-light:#450a0a;--blue:#60a5fa;--blue-light:#1e3a5f;--gray-50:#111827;--gray-100:#1f2937;--gray-200:#374151;--gray-300:#4b5563;--gray-400:#9ca3af;--gray-500:#d1d5db;--gray-600:#e5e7eb;--gray-700:#f3f4f6;--gray-800:#f9fafb;--gray-900:#fff;--white:#1f2937;--bg:#0f172a;--card-bg:#1e293b;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006, 0 2px 4px #0000004d;--shadow-lg:0 10px 15px #0006, 0 4px 6px #0000004d}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);color:var(--gray-800);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{color:var(--gray-900);margin-bottom:8px;font-size:28px;font-weight:700;line-height:1.2}h2{color:var(--gray-800);margin-bottom:16px;font-size:20px;font-weight:600}h3{color:var(--gray-700);margin-bottom:8px;font-size:16px;font-weight:600}input,select,textarea{font-family:var(--font);border:1.5px solid var(--gray-200);border-radius:var(--radius);background:var(--white);outline:none;width:100%;padding:10px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}button{font-family:var(--font);cursor:pointer;transition:all .15s}button:disabled{opacity:.6;cursor:not-allowed}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px;transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.btn{border-radius:var(--radius);border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:15px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-accent{background:var(--accent);color:var(--white)}.btn-accent:hover:not(:disabled){background:#6d28d9}.btn-orange{background:var(--orange);color:var(--white)}.btn-orange:hover:not(:disabled){background:#c2410c}.btn-red{background:var(--red);color:var(--white)}.btn-red:hover:not(:disabled){background:#b91c1c}.btn-ghost{color:var(--gray-600);border:1.5px solid var(--gray-200);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-300)}.btn-sm{padding:6px 12px;font-size:13px}.btn-block{width:100%}.chip{border:1.5px solid var(--gray-200);background:var(--white);color:var(--gray-700);cursor:pointer;border-radius:100px;align-items:center;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.chip:hover{border-color:var(--primary)}.chip-active{background:var(--primary);color:var(--white);border-color:var(--primary)}.meal-card{border-radius:var(--radius-lg);cursor:pointer;border:2px solid var(--gray-200);background:var(--white);color:var(--gray-600);align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.meal-card.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.badge{border-radius:100px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-green{background:var(--primary-light);color:var(--primary-dark)}.badge-orange{background:var(--orange-light);color:var(--orange)}.badge-red{background:var(--red-light);color:var(--red)}.badge-purple{background:var(--accent-light);color:var(--accent)}.badge-blue{background:var(--blue-light);color:var(--blue)}.pill{border-radius:20px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-flex}.alert{border-radius:var(--radius);margin-bottom:16px;padding:12px 16px;font-size:14px}.alert-error{background:var(--red-light);color:var(--red);border:1px solid #fecaca}.alert-warning{background:var(--orange-light);color:var(--orange);border:1px solid #fed7aa}.alert-info{background:var(--blue-light);color:var(--blue);border:1px solid #bfdbfe}.alert-success{background:var(--primary-light);color:var(--primary-dark);border:1px solid #a7f3d0}.page{width:100%;max-width:720px;margin:0 auto;padding:32px 24px}.page-wide{max-width:960px}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.text-center{text-align:center}.text-sm{font-size:13px}.text-gray{color:var(--gray-500)}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}@media (width<=640px){.grid-2,.grid-3{grid-template-columns:1fr}}.progress-bar{background:var(--gray-200);border-radius:4px;height:8px;overflow:hidden}.progress-fill{border-radius:4px;height:100%;transition:width .3s}.form-label{color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:13px;font-weight:600}.form-input{background:var(--white);color:var(--gray-800);border:1.5px solid var(--gray-200);border-radius:var(--radius);width:100%;font-size:15px;font-family:var(--font);outline:none;padding:10px 14px}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-row{align-items:center;gap:12px;display:flex}@media (width<=768px){.nav-links{display:none!important}.hamburger{display:block!important}}@media (width<=600px){.page{padding:20px 16px}h1{font-size:24px}}.skel-card{overflow:hidden}.skel-block{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.card-hover{cursor:pointer;transition:transform .15s,box-shadow .15s}.card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.nav-link{color:var(--gray-600);border-bottom:2px solid #0000;padding:6px 0;font-weight:500;text-decoration:none;transition:all .15s}.nav-link:hover,.nav-link-active{color:var(--primary);border-bottom-color:var(--primary)}.dialog-overlay{z-index:9999;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog{background:var(--card-bg);border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:var(--shadow-lg);padding:24px}.dialog h3{margin:0 0 8px;font-size:17px}.dialog p{color:var(--gray-500);margin:0 0 20px;font-size:14px;line-height:1.5}.dialog-actions{gap:10px;display:flex}.dialog-actions .btn{flex:1}
