:root{--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.5rem;--font-size-5xl:3.5rem;--font-size-6xl:4.5rem;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:0.75rem;--spacing-lg:1rem;--spacing-xl:1.5rem;--spacing-2xl:2rem;--color-primary:#007aff;--color-secondary:#5856d6;--color-success:#34c759;--color-warning:#ff9500;--color-error:#ff3b30;--color-background:#f2f2f7;--color-background-light:#fff;--color-text:#1c1c1e;--color-text-secondary:#6c6c70;--color-text-light:#8e8e93;--color-border:#d1d1d6;--color-white:#fff;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--card-max-width:800px;--card-padding:2rem}.page-container{align-items:center;background:#f2f2f7;background:var(--color-background);display:flex;justify-content:center;min-height:100vh;padding:.75rem;padding:var(--spacing-md)}.card{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);max-width:var(--card-max-width);padding:1rem;padding:var(--spacing-lg)}.page-title{color:#1c1c1e;color:var(--color-text);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:700;font-weight:var(--font-bold);margin-bottom:.75rem;margin-bottom:var(--spacing-md);text-align:center}.page-subtitle{color:#6c6c70;color:var(--color-text-secondary);font-size:1rem;font-size:var(--font-size-md);line-height:1.5;margin-bottom:1.5rem;margin-bottom:var(--spacing-xl);text-align:center}.form-group{margin-bottom:.75rem}.form-label{display:block;font-weight:500;font-weight:var(--font-medium);margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.form-input,.form-label{color:#1c1c1e;color:var(--color-text);font-size:.875rem;font-size:var(--font-size-sm)}.form-input{background-color:#fff;background-color:var(--color-white);border:1px solid #d1d1d6;border:1px solid var(--color-border);border-radius:.375rem;border-radius:var(--radius-md);line-height:1.5;line-height:var(--line-height-normal);padding:.5rem .75rem;padding:var(--spacing-sm) var(--spacing-md);transition:border-color .2s ease;width:100%}.form-input:focus{border-color:#007aff;border-color:var(--color-primary);box-shadow:0 0 0 2px #007aff1a;outline:none}.button{border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-semibold);line-height:1.5;line-height:var(--line-height-normal);min-height:2.5rem;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.button-primary{background-color:#007aff;background-color:var(--color-primary);color:var(--color-white)}.button-secondary{background-color:initial;border:1px solid #007aff;border:1px solid var(--color-primary);color:#007aff;color:var(--color-primary)}.button:disabled{cursor:not-allowed;opacity:.5}.button-sm{font-size:.75rem;font-size:var(--font-size-xs);min-height:2rem;padding:.25rem .75rem;padding:var(--spacing-xs) var(--spacing-md)}.button-lg{font-size:1rem;font-size:var(--font-size-md);min-height:3rem;padding:.75rem 1.5rem;padding:var(--spacing-md) var(--spacing-xl)}.progress-bar{background-color:#d1d1d6;margin:1.5rem 0}.text-xs{font-size:.75rem;font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:1rem;font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:1.5rem;font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.container{max-width:1024px;max-width:var(--container-lg);padding:0 .75rem;padding:0 var(--spacing-md);width:100%}@media (max-width:768px){:root{--font-size-2xl:1.375rem;--font-size-xl:1.125rem;--font-size-lg:1rem;--font-size-md:0.875rem;--spacing-xl:1.25rem;--spacing-2xl:1.5rem}.container{padding:0 .5rem;padding:0 var(--spacing-sm)}.page-title{font-size:1.125rem;font-size:var(--font-size-lg)}.page-subtitle{font-size:.875rem;font-size:var(--font-size-sm)}.button{width:100%}}body{background-color:#f5f5f5;color:#000;font-family:system-ui,-apple-system,sans-serif;font-weight:500;margin:0;min-height:100vh}.card{max-width:500px;padding:2rem}.card-header{margin-bottom:2rem}.home-title{color:var(--color-text);font-size:4.5rem;font-weight:900;letter-spacing:-1.5px;line-height:1.1;margin-bottom:1.5rem}.app-title{font-size:2rem;font-weight:700;margin-bottom:.75rem}.app-description{font-size:1rem;font-weight:600;line-height:1.5;margin:0 0 1.5rem}.card-content{gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:1rem}.auth-input{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-md);transition:all .2s ease;width:100%}.auth-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.button-group{gap:1rem;margin-top:1.5rem}.auth-button{border-radius:8px;display:block;font-size:1rem;font-weight:600;margin:1rem auto;padding:.75rem 1.5rem;text-align:center;width:200px}.login-button{background-color:#18181b;color:#fff}.register-button{border:1px solid #e5e7eb;color:#000}.login-button:hover{background-color:#000}.register-button:hover{background-color:#f8f9fa}.auth-footer{color:#6b7280;font-size:.95rem;font-weight:600;margin-top:1.5rem;text-align:center}.auth-link{color:#000;font-weight:600;text-decoration:underline}.auth-link:hover{opacity:.8}@media (max-width:640px){.card{margin:1rem;padding:1.5rem}.home-title{font-size:3.5rem}.app-title{font-size:1.75rem}.home-container .app-title{font-size:var(--font-size-5xl)}.home-container .app-description{font-size:var(--font-size-md);margin-bottom:2.5rem;padding:0 1rem}.button-group{flex-direction:column}}.home-container{margin:0 auto;max-width:600px;padding:2rem 1rem;text-align:center;width:100%}.home-container .app-title{color:var(--color-text);font-size:var(--font-size-6xl)!important;font-weight:900!important;letter-spacing:-1.5px;line-height:1.1;margin-bottom:1.5rem}.home-container .app-description{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:3.5rem;margin-left:auto;margin-right:auto;max-width:500px}.home-buttons{display:flex;gap:1rem;justify-content:center;padding:0 1rem;width:100%}.home-container .auth-button{background-color:#000;border:none;border-radius:30px;color:#fff;cursor:pointer;font-size:16px;height:50px;margin:0;max-width:200px;transition:all .3s ease-in-out;width:100%}.home-container .register-button{background-color:initial;border:2px solid #000;color:#000}.home-container .auth-button:hover{background-color:#333}.home-container .register-button:hover{background-color:#0000000d}.auth-container{background-color:#fff;border-radius:12px;box-shadow:0 0 10px #0000001a;padding:20px;text-align:center;width:320px}.auth-container h2{font-size:24px;margin-bottom:15px;text-align:center}.auth-container button{background-color:#000;border:none;border-radius:30px;color:#fff;cursor:pointer;font-size:16px;height:50px;text-align:center;transition:all .3s ease-in-out;width:220px}.auth-container button:hover{background-color:gray;text-align:center}.auth-container input{background-color:#fff;border:2px solid #000;border-radius:20px;color:#000;font-size:16px;height:40px;margin-bottom:12px;padding:8px;text-align:center;transition:all .3s ease-in-out;width:85%}.auth-container input:focus{background-color:#000;color:#fff;outline:none;text-align:center}.form-step{display:flex;flex-direction:column;gap:1.5rem}.form-step-header{margin-bottom:1rem;text-align:center}.form-step-title{color:#000;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.form-step-description{color:#6b7280;font-size:1rem;line-height:1.5}.form-step-content{flex:1 1;min-height:200px}.form-step-buttons{display:flex;gap:1rem;margin-top:2rem}.step-button{border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.back-button{background-color:initial;border:1px solid #e5e7eb;color:#000}.next-button{background-color:#000;color:#fff}.back-button:hover{background-color:#f8f9fa}.next-button:hover{background-color:#18181b}.progress-container{margin:1.5rem 0}.progress-text{color:#6b7280;font-size:.875rem;font-weight:500}.flex{align-items:center;background:linear-gradient(180deg,#ffffff1a,#0000001a);justify-content:center;min-height:100vh;padding:1rem}.card{background-color:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-width:800px;padding:3rem;width:100%}.card-header{margin-bottom:3rem;text-align:center}.app-title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-bold);margin-bottom:var(--spacing-sm)}.app-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-bottom:var(--spacing-lg)}.progress-bar{background-color:var(--color-border);border-radius:3px;height:6px;margin:var(--spacing-xl) 0}.progress-fill{background-color:var(--color-primary)}.card-content{display:flex;flex-direction:column;gap:2rem}.form-container{margin:0 auto;max-width:var(--container-sm);padding:var(--spacing-lg)}.form-group,.form-row{margin-bottom:var(--spacing-md)}.form-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.form-row,.form-row>*{width:100%}label{font-weight:var(--font-semibold);margin-bottom:var(--spacing-xs)}.auth-input,label,select{color:var(--color-text);font-size:var(--font-size-sm)}.auth-input,select{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;padding:var(--spacing-md);transition:all .2s ease;width:100%}.auth-input:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.auth-input::placeholder{color:var(--color-text-secondary)}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:var(--spacing-sm) 0}.checkbox-item{color:var(--color-text);font-size:var(--font-size-sm);gap:var(--spacing-xs)}.checkbox-item input[type=checkbox]{height:var(--spacing-md);width:var(--spacing-md)}.button-group{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-xl)}.auth-button{margin:0 auto;min-width:200px}.auth-button,.next-button{border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-semibold);padding:var(--spacing-sm) var(--spacing-xl);transition:all .2s ease}.next-button{background-color:var(--color-primary);display:block;margin:1rem auto;width:200px}.login-button,.next-button{border:none;color:var(--color-white)}.login-button{background-color:#007aff}.register-button{background-color:initial;border:1px solid var(--color-border);color:var(--color-text)}.login-button:hover,.register-button:hover{opacity:.9}@media (max-width:768px){.card{margin:1rem;padding:2rem}.form-container{padding:var(--spacing-sm)}.form-row{grid-template-columns:1fr}.button-group{flex-direction:column;gap:var(--spacing-sm)}.auth-button{max-width:100%}.app-title{font-size:var(--font-size-lg)}.app-description,.app-title{text-align:center}}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:#f3f4f6;height:100%;width:100%}#root{min-height:100%;width:100%}.container{align-items:center;background:linear-gradient(180deg,#ffffff1a,#0000001a);display:flex;flex-direction:column;min-height:100vh;padding:1rem}.button-container,.form-container,.header-section{background:none;box-shadow:none;margin:0;padding:0;width:100%}.header-section{margin-bottom:var(--spacing-md);text-align:center}.form-container{background-color:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-width:800px;padding:3rem;width:100%}.progress-container{margin-bottom:var(--spacing-xl);padding:0;position:relative;width:100%}.button-container{display:flex;gap:3rem;justify-content:center;margin-top:var(--spacing-xl)}.back-btn,.next-btn{border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-semibold);margin:0;min-width:200px;padding:var(--spacing-sm) var(--spacing-xl);transition:all .2s ease}.back-btn{background-color:initial;border:1px solid var(--color-border);color:var(--color-text)}.next-btn{background-color:#007aff;border:none;color:var(--color-white)}.back-btn:hover,.next-btn:hover{opacity:.9}.progress-bar{background-color:#e5e7eb;border-radius:2px;height:4px;margin-bottom:1.5rem;overflow:hidden;width:100%}.progress-fill{background-color:#007aff;height:100%;transition:width .3s ease}.progress-divider{background-color:#e5e7eb;height:1px;margin:0;padding:0;width:100%}.progress-text{color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-medium);justify-content:space-between;margin-bottom:.5rem}.title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-bold);margin-bottom:var(--spacing-xs)}.subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xl)}.section-header{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-semibold);margin:var(--spacing-xl) 0 var(--spacing-md);padding:0 var(--spacing-md)}.form-section{margin-bottom:var(--spacing-xl)}.checkbox-grid{grid-gap:var(--spacing-sm);background:var(--color-background);border-radius:0;display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(1,1fr);margin-bottom:var(--spacing-md);padding:var(--spacing-md);width:100%}.checkbox-item{align-items:center;background-color:var(--color-background);border-radius:var(--radius-md);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm)}.checkbox-item input[type=checkbox]{border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;height:1.125rem;width:1.125rem}.checkbox-item label,select{color:var(--color-text);cursor:pointer;font-size:var(--font-size-sm)}select{-webkit-appearance:none;appearance:none;background-color:var(--color-white);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23666'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);max-width:100%;padding:var(--spacing-sm) var(--spacing-md);width:100%}select:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.budget-section{margin-top:var(--spacing-xl)}.budget-options{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:var(--spacing-sm)}.space-y-3>*+*{margin-top:.75rem}.grid-cols-2{grid-gap:.75rem;display:grid;gap:.75rem}@media (max-width:768px){.container{margin:0;padding:var(--spacing-lg) 0}.checkbox-grid{gap:var(--spacing-sm);grid-template-columns:1fr}.button-container{flex-direction:column;gap:2rem;padding:3rem var(--spacing-md)}.back-btn,.next-btn{min-width:0;min-width:auto;width:100%}}@media (max-width:640px){.container{margin:0;padding:var(--spacing-lg) 0}.grid-cols-2{grid-template-columns:1fr}.button-container{flex-direction:column}.back-btn,.next-btn{width:100%}}.container{margin:0 auto;max-width:1200px;padding:2rem 1rem}.text-primary{color:#000}.text-muted-foreground{color:#6b7280}.bg-primary\/10{background-color:#0000001a}.card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s ease-in-out}.card:hover{box-shadow:0 4px 6px #0000001a}.card-header{border-bottom:1px solid #e5e7eb}.card-content,.card-header{padding:1.5rem}.card-footer{border-top:1px solid #e5e7eb;padding:1rem 1.5rem}.button{align-items:center;border-radius:.375rem;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:.5rem 1rem;transition:all .2s}.button-primary{background-color:#000;border:none;color:#fff}.button-outline{background-color:initial;border:1px solid #e5e7eb;color:#000}.button:hover{opacity:.9}.input{border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem;padding:.5rem;width:100%}.input:focus{border-color:#000;box-shadow:0 0 0 1px #000;outline:none}.select{background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer;font-size:.875rem;padding:.5rem;width:100%}.checkbox{border:1px solid #e5e7eb;border-radius:.25rem;cursor:pointer;height:1rem;width:1rem}.label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-semibold)}.grid{grid-gap:1.5rem;display:grid;gap:1.5rem}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width:768px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}}.space-y-1>*+*{margin-top:.25rem}.space-y-2>*+*{margin-top:.5rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.ml-auto{margin-left:auto}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-2{margin-bottom:.5rem}.mb-8{margin-bottom:2rem}.text-center{text-align:center}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-3xl{font-size:1.875rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.border{border:1px solid #e5e7eb}.list-disc{list-style-type:disc}.list-inside{list-style-position:inside}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.cursor-pointer{cursor:pointer}.dashboard{background-color:var(--color-background);min-height:100vh;padding:var(--spacing-lg)}.dashboard-header{align-items:center;background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;margin-bottom:var(--spacing-xl);margin-left:auto;margin-right:auto;max-width:800px;padding:var(--spacing-md) var(--spacing-lg)}.dashboard-header h1{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-bold);margin:0}.logout-button{background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-white);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-semibold);min-height:2.5rem;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.logout-button:hover{opacity:.9}.dashboard-content{display:flex;flex-direction:column;gap:var(--spacing-md);margin:0 auto;max-width:800px}.dashboard-section{border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a;margin-bottom:var(--spacing-md);overflow:hidden}.dashboard-section,.section-header{background-color:var(--color-white)}.section-header{align-items:center;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:var(--spacing-md);transition:background-color .2s ease;width:100%}.section-header:hover{background-color:var(--color-background)}.section-header-content{align-items:center;display:flex;justify-content:space-between;min-height:48px;width:100%}.section-title{align-items:center;display:flex;gap:var(--spacing-md)}.section-icon{color:var(--color-text);flex-shrink:0;height:24px;width:24px}.section-title div{display:flex;flex-direction:column;gap:4px;text-align:left}.section-title h2{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-bold);line-height:1.2;margin:0;text-align:left}.section-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.4;margin:0;text-align:left}.section-content{border-top:1px solid var(--color-border);padding:var(--spacing-md)}.info-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.info-row{align-items:baseline;display:flex;gap:var(--spacing-lg);justify-content:flex-start;padding:var(--spacing-xs) 0}.info-label{color:var(--color-text);font-weight:var(--font-medium);min-width:140px}.info-label,.info-value{font-size:var(--font-size-sm)}.info-value{color:var(--color-text-secondary)}.edit-button{align-items:center;background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-semibold);gap:var(--spacing-sm);height:32px;margin:0;padding:6px var(--spacing-md);transition:all .2s ease}.edit-button:hover{opacity:.9}.diet-plan{padding:1rem 0}.diet-plan h3{color:#111827;font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.diet-plan-subtitle{color:#6b7280;margin-bottom:1rem}.calorie-target{margin-bottom:var(--spacing-md);margin-top:var(--spacing-md)}.calorie-target h4{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-bold);margin-bottom:var(--spacing-sm);margin-top:var(--spacing-sm)}.calorie-target p{color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:1.4;margin-bottom:var(--spacing-sm)}.macros-section{margin-bottom:var(--spacing-md)}.macros-section h4{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-bold);margin-bottom:var(--spacing-sm);margin-top:var(--spacing-sm)}.macros-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(3,1fr);margin-bottom:var(--spacing-sm)}.macro-card{background-color:var(--color-background);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);text-align:center}.macro-header{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:center}.macro-percentage{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-bold)}.macro-name{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-medium)}.macro-grams{color:var(--color-text-light);font-size:var(--font-size-xs);margin-top:0}.meal-plan{margin-bottom:var(--spacing-md)}.meal-plan h4{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-bold);margin-bottom:var(--spacing-sm)}.meal-cards,.meal-plan h4{margin-top:var(--spacing-sm)}.meal-cards{display:flex;flex-direction:column;gap:var(--spacing-sm)}.meal-card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);padding:var(--spacing-md)}.meal-card h5{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-semibold);margin-bottom:var(--spacing-xs)}.meal-card p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6;white-space:pre-line}.meal-card p:after{content:"";display:block;margin-bottom:.5rem}.shopping-list{margin-top:var(--spacing-md)}.shopping-list h4{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-bold);margin-bottom:var(--spacing-sm);margin-top:var(--spacing-sm)}.shopping-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr);margin-top:var(--spacing-xs)}.shopping-column h5{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-semibold);margin-bottom:var(--spacing-xs)}.shopping-column ul{list-style:none;margin:0;padding:0}.shopping-column li{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);padding:var(--spacing-xs) 0}.shopping-column li:before{color:var(--color-text-secondary);content:"•";margin-right:var(--spacing-xs)}.cuisine-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.cuisine-tag{background-color:var(--color-background);border-radius:var(--radius-full);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-medium);padding:var(--spacing-sm) var(--spacing-md)}.loading{align-items:center;color:#6b7280;display:flex;justify-content:center;min-height:200px}.personalized-plan-section{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a;margin-top:var(--spacing-md);padding:var(--spacing-md)}.personalized-plan-section .section-title{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.personalized-plan-section .section-icon{color:var(--color-text);flex-shrink:0;height:24px;width:24px}.personalized-plan-section .title-content{align-items:flex-start;display:flex;flex-direction:column;gap:var(--spacing-xs);text-align:left}.personalized-plan-section h2{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-bold);line-height:1.2;margin:0;text-align:left}.personalized-plan-section .section-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.4;margin:0;text-align:left}.plan-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.personalized-plan-section>div:not(:last-child){margin-bottom:var(--spacing-md)}.section-content .edit-button{margin-left:var(--spacing-md);margin-top:var(--spacing-md)}.section-header-content .edit-button{margin:0}@media (max-width:768px){.macros-grid,.shopping-grid{grid-template-columns:1fr}.dashboard{padding:var(--spacing-sm)}.dashboard-header{flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md);text-align:center}.dashboard-header h1{font-size:var(--font-size-lg)}.info-grid,.section-content,.section-header{padding:var(--spacing-sm)}.dashboard-content{gap:var(--spacing-sm)}.personalized-plan-section{margin-top:var(--spacing-sm);padding:var(--spacing-sm)}.section-title{align-items:center;flex-direction:row;text-align:left}.section-icon{margin-top:0}.info-row{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}.macro-card{padding:var(--spacing-md)}.cuisine-tags{justify-content:center}.section-header{padding:var(--spacing-sm)}.section-title{gap:var(--spacing-md)}.info-grid{padding:var(--spacing-lg)}.info-label{min-width:0;min-width:auto}.edit-button{margin:0 var(--spacing-lg) var(--spacing-lg);width:calc(100% - var(--spacing-lg)*2)}.section-title h2{font-size:var(--font-size-md)}.macro-percentage{font-size:var(--font-size-lg)}}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;color:var(--color-primary);height:48px;width:48px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{color:var(--color-text-secondary);font-size:1.1rem}
/*# sourceMappingURL=main.69f233fb.css.map*/