@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #0097c180}50%{box-shadow:0 0 20px #0097c1cc}}.animate-fadeIn{animation:.5s ease-out forwards fadeIn}.animate-fadeInUp{animation:.6s ease-out forwards fadeInUp}.animate-fadeInDown{animation:.6s ease-out forwards fadeInDown}.animate-fadeInLeft{animation:.6s ease-out forwards fadeInLeft}.animate-fadeInRight{animation:.6s ease-out forwards fadeInRight}.animate-scaleIn{animation:.5s ease-out forwards scaleIn}.animate-bounceIn{animation:.7s ease-out forwards bounceIn}.animate-slideInUp{animation:.6s ease-out forwards slideInUp}.animate-slideInDown{animation:.6s ease-out forwards slideInDown}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite spin}.animate-float{animation:3s ease-in-out infinite float}.animate-shimmer{background:linear-gradient(90deg, var(--neutral-200) 0%, var(--neutral-300) 50%, var(--neutral-200) 100%);background-size:1000px 100%;animation:2s linear infinite shimmer}.animate-gradient{background-size:200% 200%;animation:3s infinite gradientShift}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}.hover-lift{transition:transform var(--transition-base), box-shadow var(--transition-base)}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.hover-lift:active{transform:translateY(-2px)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.05)}.hover-scale:active{transform:scale(.98)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:0 0 20px #0097c166}.hover-brighten{transition:filter var(--transition-base)}.hover-brighten:hover{filter:brightness(1.1)}.hover-border{transition:border-color var(--transition-base)}.hover-border:hover{border-color:var(--primary-500)}.transition-all{transition:all var(--transition-base)}.transition-colors{transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-opacity{transition:opacity var(--transition-base)}.transition-shadow{transition:box-shadow var(--transition-base)}.stagger-item{opacity:0;animation:.6s ease-out forwards fadeInUp}.stagger-item:first-child{animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}.stagger-item:nth-child(6){animation-delay:.6s}.stagger-item:nth-child(7){animation-delay:.7s}.stagger-item:nth-child(8){animation-delay:.8s}.loading-pulse{animation:1.5s ease-in-out infinite pulse}.loading-shimmer{background:linear-gradient(90deg, var(--neutral-200) 0%, var(--neutral-300) 20%, var(--neutral-200) 40%, var(--neutral-200) 100%);background-size:200% 100%;animation:1.5s infinite shimmer}.page-enter{animation:.4s ease-out fadeIn}.card-enter{animation:.5s ease-out fadeInUp}.modal-enter{animation:.3s ease-out scaleIn}.slide-enter{animation:.4s ease-out slideInUp}.bounce-enter{animation:.6s ease-out bounceIn}.button-press{transition:transform .1s ease-in-out}.button-press:active{transform:scale(.95)}.button-ripple{position:relative;overflow:hidden}.button-ripple:before{content:"";background:#ffffff80;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.button-ripple:active:before{width:300px;height:300px}.toast-enter{animation:.4s ease-out slideInDown}.toast-exit{animation:.3s ease-in reverse fadeInUp}.page-transition-enter{opacity:0;transform:translate(20px)}.page-transition-enter-active{opacity:1;transition:opacity .3s ease-out,transform .3s ease-out;transform:translate(0)}.page-transition-exit{opacity:1;transform:translate(0)}.page-transition-exit-active{opacity:0;transition:opacity .3s ease-in,transform .3s ease-in;transform:translate(-20px)}@media (width<=600px){.animate-fadeInUp,.animate-fadeInDown,.animate-fadeInLeft,.animate-fadeInRight,.stagger-item{animation-duration:.4s}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-pulse,.animate-spin,.animate-float,.animate-shimmer,.animate-gradient{animation:none!important}}:root{--primary-50:#e0f2f7;--primary-100:#b3e0ec;--primary-200:#80cce0;--primary-300:#4db7d4;--primary-400:#26a7ca;--primary-500:#0097c1;--primary-600:#008fb9;--primary-700:#0084ae;--primary-800:#007aa4;--primary-900:#006993;--secondary-50:#e0f5f3;--secondary-100:#b3e6e0;--secondary-200:#80d5cc;--secondary-300:#4dc4b8;--secondary-400:#26b7a9;--secondary-500:#00ab9a;--secondary-600:#00a492;--secondary-700:#009c8a;--secondary-800:#009385;--secondary-900:#008577;--accent-50:#fff3e0;--accent-100:#ffe0b2;--accent-200:#ffcc80;--accent-300:#ffb74d;--accent-400:#ffa726;--accent-500:#ff9800;--accent-600:#fb8c00;--accent-700:#f57c00;--accent-800:#ef6c00;--accent-900:#e65100;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#eee;--neutral-300:#e0e0e0;--neutral-400:#bdbdbd;--neutral-500:#9e9e9e;--neutral-600:#757575;--neutral-700:#616161;--neutral-800:#424242;--neutral-900:#212121;--success:#28a745;--success-light:#d4edda;--warning:#ffc107;--warning-light:#fff3cd;--error:#dc3545;--error-light:#f8d7da;--info:#17a2b8;--info-light:#d1ecf1;--meal-breakfast:#ffb74d;--meal-lunch:#66bb6a;--meal-dinner:#5c6bc0;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-base:0 1px 3px 0 #0000001a, 0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-focus:0 0 0 3px #0097c14d;--transition-fast:.15s ease-in-out;--transition-base:.25s ease-in-out;--transition-slow:.35s ease-in-out;--z-dropdown:1000;--z-sticky:1100;--z-fixed:1200;--z-overlay:1300;--z-modal:1400;--z-tooltip:1600}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{color:var(--neutral-900);background-color:var(--neutral-50);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.6;overflow-x:hidden}:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--primary-300);outline-offset:2px}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--neutral-100)}::-webkit-scrollbar-thumb{background:var(--neutral-400);border:2px solid var(--neutral-100)}::-webkit-scrollbar-thumb:hover{background:var(--neutral-500)}.text-primary{color:var(--primary-500)!important}.text-secondary{color:var(--secondary-500)!important}.text-muted{color:var(--neutral-600)!important}.text-success{color:var(--success)!important}.text-warning{color:var(--warning)!important}.text-error{color:var(--error)!important}.bg-primary{background-color:var(--primary-500)!important}.bg-primary-light{background-color:var(--primary-50)!important}.bg-secondary{background-color:var(--secondary-500)!important}.bg-neutral{background-color:var(--neutral-100)!important}.bg-white{background-color:#fff!important}.mt-xs{margin-top:var(--spacing-xs)!important}.mt-sm{margin-top:var(--spacing-sm)!important}.mt-md{margin-top:var(--spacing-md)!important}.mt-lg{margin-top:var(--spacing-lg)!important}.mt-xl{margin-top:var(--spacing-xl)!important}.mb-xs{margin-bottom:var(--spacing-xs)!important}.mb-sm{margin-bottom:var(--spacing-sm)!important}.mb-md{margin-bottom:var(--spacing-md)!important}.mb-lg{margin-bottom:var(--spacing-lg)!important}.mb-xl{margin-bottom:var(--spacing-xl)!important}.p-xs{padding:var(--spacing-xs)!important}.p-sm{padding:var(--spacing-sm)!important}.p-md{padding:var(--spacing-md)!important}.p-lg{padding:var(--spacing-lg)!important}.p-xl{padding:var(--spacing-xl)!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow-base{box-shadow:var(--shadow-base)!important}.shadow-md{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}.rounded-sm,.rounded-md,.rounded-lg,.rounded-xl,.rounded-full{border-radius:0!important}.loading-container{min-height:400px;padding:var(--spacing-2xl);justify-content:center;align-items:center;display:flex}.empty-state{padding:var(--spacing-2xl);text-align:center;color:var(--neutral-600);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{color:var(--neutral-400);margin-bottom:var(--spacing-lg);font-size:4rem}.empty-state-title{color:var(--neutral-700);margin-bottom:var(--spacing-sm);font-size:1.5rem;font-weight:600}.empty-state-description{color:var(--neutral-600);max-width:500px;margin-bottom:var(--spacing-lg);font-size:1.125rem}.status-badge{text-transform:uppercase;letter-spacing:.5px;align-items:center;padding:4px 12px;font-size:.875rem;font-weight:600;display:inline-flex}.status-badge--success{background-color:var(--success-light);color:var(--success)}.status-badge--warning{background-color:var(--warning-light);color:#9a7b0a}.status-badge--error{background-color:var(--error-light);color:var(--error)}.status-badge--info{background-color:var(--info-light);color:var(--info)}.meal-badge{text-transform:capitalize;color:#fff;align-items:center;padding:6px 16px;font-size:.875rem;font-weight:600;display:inline-flex}.meal-badge--breakfast{background-color:var(--meal-breakfast)}.meal-badge--lunch{background-color:var(--meal-lunch)}.meal-badge--dinner{background-color:var(--meal-dinner)}.card-hover{transition:all var(--transition-base);cursor:pointer}.card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-hover:active{transform:translateY(-2px)}.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--transition-fast)}.clickable:hover{opacity:.8}.clickable:active{transform:scale(.98)}.skip-to-main{background:var(--primary-500);color:#fff;z-index:var(--z-modal);padding:8px 16px;text-decoration:none;position:absolute;top:-40px;left:0}.skip-to-main:focus{top:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-contrast:high){:root{--neutral-300:silver;--neutral-600:#606060}button,input,select,textarea{border-width:2px!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container-responsive{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}@media (width<=600px){.container-responsive{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}.text-responsive-lg{font-size:clamp(1.5rem,4vw,2.5rem)}.text-responsive-md{font-size:clamp(1.25rem,3vw,1.75rem)}.text-responsive-sm{font-size:clamp(1rem,2vw,1.25rem)}.spacing-responsive-y{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl)}@media (width<=900px){.spacing-responsive-y{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}}@media (width<=600px){.spacing-responsive-y{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.hide-mobile{display:none!important}}@media (width>=600px){.hide-tablet-up{display:none!important}}@media (width>=1200px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (width<=600px){.show-mobile{display:block!important}}.flex-responsive{gap:var(--spacing-lg);display:flex}@media (width<=900px){.flex-responsive{flex-direction:column}}.grid-responsive-auto{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}@media (width<=600px){.grid-responsive-auto{gap:var(--spacing-md);grid-template-columns:1fr}}@media print{body{background:#fff}.no-print{display:none!important}a{text-decoration:underline}button,input,select,textarea{border:1px solid #000}}.card-elevated{padding:var(--spacing-lg);box-shadow:var(--shadow-base);border:2px solid var(--neutral-200);transition:all var(--transition-base);background:#fff;animation:.5s ease-out fadeInUp}.card-elevated:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-200);transform:translateY(-4px)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--primary-300)}.card-interactive:active{transform:translateY(-1px)}@media (width<=600px){.card-elevated{padding:var(--spacing-md)}}.stat-card{padding:var(--spacing-lg);box-shadow:var(--shadow-base);border-left:6px solid var(--primary-500);transition:all var(--transition-base);background:#fff;animation:.6s ease-out fadeInLeft}.stat-card:hover{box-shadow:var(--shadow-lg);background:linear-gradient(to right, var(--primary-50), white);transform:translate(8px)}@media (width<=600px){.stat-card{padding:var(--spacing-md)}.stat-card:hover{transform:translate(4px)}}.stat-card__value{color:var(--primary-600);margin-bottom:var(--spacing-sm);font-size:2.5rem;font-weight:700;line-height:1}@media (width<=900px){.stat-card__value{font-size:2rem}}@media (width<=600px){.stat-card__value{font-size:1.75rem}}.stat-card__label{color:var(--neutral-600);text-transform:uppercase;letter-spacing:.5px;font-size:1rem;font-weight:500}@media (width<=600px){.stat-card__label{font-size:.875rem}}.stat-card--success{border-left-color:var(--success)}.stat-card--success .stat-card__value{color:var(--success)}.stat-card--warning{border-left-color:var(--warning)}.stat-card--warning .stat-card__value{color:var(--warning)}.stat-card--error{border-left-color:var(--error)}.stat-card--error .stat-card__value{color:var(--error)}.table-container{box-shadow:var(--shadow-base);border:2px solid var(--neutral-200);background:#fff;overflow:hidden}.table-enhanced{border-collapse:collapse;width:100%}.table-enhanced thead{background:linear-gradient(to bottom, var(--neutral-100), var(--neutral-50));border-bottom:2px solid var(--neutral-300)}.table-enhanced th{padding:var(--spacing-lg);text-align:left;color:var(--neutral-900);text-transform:uppercase;letter-spacing:.5px;font-size:1rem;font-weight:600}.table-enhanced td{padding:var(--spacing-lg);color:var(--neutral-800);border-bottom:1px solid var(--neutral-200);font-size:1.125rem}.table-enhanced tbody tr{transition:background-color var(--transition-fast)}.table-enhanced tbody tr:hover{background-color:var(--primary-50)}.table-enhanced tbody tr:last-child td{border-bottom:none}.table-enhanced--striped tbody tr:nth-child(2n){background-color:var(--neutral-50)}.table-enhanced--striped tbody tr:nth-child(2n):hover{background-color:var(--primary-50)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{color:var(--neutral-900);margin-bottom:var(--spacing-sm);letter-spacing:.25px;font-size:1rem;font-weight:600;display:block}.form-label--required:after{content:" *";color:var(--error)}.form-helper-text{color:var(--neutral-600);margin-top:var(--spacing-xs);font-size:.875rem;line-height:1.5;display:block}.form-error-text{color:var(--error);margin-top:var(--spacing-xs);font-size:.875rem;font-weight:500;display:block}.badge{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;align-items:center;padding:6px 14px;font-size:.875rem;font-weight:600;display:inline-flex}.badge--primary{background-color:var(--primary-100);color:var(--primary-800);border:1px solid var(--primary-300)}.badge--success{background-color:var(--success-light);color:var(--success);border:1px solid var(--success)}.badge--warning{background-color:var(--warning-light);color:#9a7b0a;border:1px solid var(--warning)}.badge--error{background-color:var(--error-light);color:var(--error);border:1px solid var(--error)}.badge--info{background-color:var(--info-light);color:var(--info);border:1px solid var(--info)}.badge--neutral{background-color:var(--neutral-200);color:var(--neutral-800);border:1px solid var(--neutral-400)}.badge-icon{align-items:center;gap:6px;display:inline-flex}.badge-icon svg{width:16px;height:16px}.alert{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);border:2px solid;font-size:1.125rem;line-height:1.6;display:flex}.alert__icon{flex-shrink:0;width:24px;height:24px}.alert__content{flex:1}.alert__title{margin-bottom:var(--spacing-xs);font-weight:600}.alert__message{font-weight:400}.alert--success{background-color:var(--success-light);border-color:var(--success);color:#155724}.alert--warning{background-color:var(--warning-light);border-color:var(--warning);color:#856404}.alert--error{background-color:var(--error-light);border-color:var(--error);color:#721c24}.alert--info{background-color:var(--info-light);border-color:var(--info);color:#0c5460}.section-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--neutral-200)}.section-title{color:var(--neutral-900);margin-bottom:var(--spacing-sm);letter-spacing:-.02em;font-size:2rem;font-weight:700}.section-subtitle{color:var(--neutral-600);font-size:1.125rem;line-height:1.6}.page-header{margin-bottom:var(--spacing-2xl);justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);flex-wrap:wrap;animation:.5s ease-out fadeInDown;display:flex}.page-header__content{flex:1;min-width:0}.page-header__title{color:var(--neutral-900);margin-bottom:var(--spacing-xs);letter-spacing:-.02em;font-size:2.25rem;font-weight:700}@media (width<=900px){.page-header__title{font-size:1.875rem}}@media (width<=600px){.page-header{margin-bottom:var(--spacing-lg)}.page-header__title{font-size:1.5rem}}.page-header__subtitle{color:var(--neutral-600);font-size:1.25rem;line-height:1.5}@media (width<=600px){.page-header__subtitle{font-size:1rem}}.page-header__actions{gap:var(--spacing-md);flex-wrap:wrap;display:flex}@media (width<=600px){.page-header__actions{gap:var(--spacing-sm);width:100%}}.skeleton{background:linear-gradient(90deg, var(--neutral-200) 0%, var(--neutral-300) 50%, var(--neutral-200) 100%);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1.125rem;margin-bottom:var(--spacing-sm)}.skeleton-title{width:60%;height:2rem;margin-bottom:var(--spacing-md)}.skeleton-card{height:200px}.skeleton-avatar{width:64px;height:64px}.empty-state{padding:var(--spacing-2xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.empty-state__icon{width:96px;height:96px;margin-bottom:var(--spacing-lg);color:var(--neutral-400)}.empty-state__title{color:var(--neutral-700);margin-bottom:var(--spacing-sm);font-size:1.5rem;font-weight:600}.empty-state__description{color:var(--neutral-600);max-width:500px;margin-bottom:var(--spacing-xl);font-size:1.125rem;line-height:1.6}.tabs{gap:var(--spacing-xs);border-bottom:2px solid var(--neutral-200);margin-bottom:var(--spacing-xl);display:flex}.tab{padding:var(--spacing-md) var(--spacing-lg);color:var(--neutral-600);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:3px solid #0000;min-height:56px;font-size:1.125rem;font-weight:500}.tab:hover{color:var(--primary-600);background-color:var(--primary-50)}.tab--active{color:var(--primary-600);border-bottom-color:var(--primary-600);font-weight:600}.tab:focus-visible{outline:2px solid var(--primary-300);outline-offset:-2px}.divider{background-color:var(--neutral-200);height:1px;margin:var(--spacing-lg) 0;border:none}.divider--thick{background-color:var(--neutral-300);height:2px}.divider--vertical{width:1px;height:auto;margin:0 var(--spacing-lg)}.tooltip{display:inline-block;position:relative}.tooltip__content{visibility:hidden;opacity:0;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--neutral-900);color:#fff;white-space:nowrap;z-index:var(--z-tooltip);transition:all var(--transition-fast);pointer-events:none;font-size:.875rem;position:absolute;bottom:125%;left:50%;transform:translate(-50%)}.tooltip:hover .tooltip__content{visibility:visible;opacity:1}.progress{background-color:var(--neutral-200);width:100%;height:12px;overflow:hidden}.progress__bar{background-color:var(--primary-500);height:100%;transition:width var(--transition-base)}.progress__bar--success{background-color:var(--success)}.progress__bar--warning{background-color:var(--warning)}.progress__bar--error{background-color:var(--error)}.grid{gap:var(--spacing-lg);display:grid}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}@media (width<=1200px){.grid--4{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.meal-card{box-shadow:var(--shadow-base);transition:all var(--transition-base,.25s ease-in-out);border:2px solid var(--neutral-200,#eee);background:#fff;flex-direction:column;height:100%;min-height:420px;display:flex;position:relative;overflow:hidden}.meal-card:hover{box-shadow:var(--shadow-lg)}.meal-card--selectable{cursor:pointer;-webkit-user-select:none;user-select:none}.meal-card--selectable:hover{border-color:var(--primary-300,#4db7d4);transform:translateY(-6px)}.meal-card--selectable:active{transform:translateY(-3px)}.meal-card--selected{border:4px solid var(--success,#28a745);transform:translateY(-4px);box-shadow:0 6px 24px #28a74540}.meal-card--inactive{opacity:.5;filter:grayscale(.5)}.meal-card__selection-indicator{z-index:10;background:var(--success,#28a745);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-lg);justify-content:center;align-items:center;animation:.3s ease-out checkmark-pop;display:flex;position:absolute;top:16px;right:16px}@keyframes checkmark-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.meal-card__badge{z-index:5;text-transform:uppercase;letter-spacing:.75px;color:#fff;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:10px 20px;font-size:.875rem;font-weight:700;position:absolute;top:20px;left:20px}.meal-card__badge--breakfast{background:linear-gradient(135deg, var(--meal-breakfast,#ffb74d) 0%, #ff9800 100%)}.meal-card__badge--lunch{background:linear-gradient(135deg, var(--meal-lunch,#66bb6a) 0%, #4caf50 100%)}.meal-card__badge--dinner{background:linear-gradient(135deg, var(--meal-dinner,#5c6bc0) 0%, #3f51b5 100%)}.meal-card__inactive-badge{z-index:5;color:#fff;text-transform:uppercase;background:#f44336e6;padding:6px 12px;font-size:12px;font-weight:600;position:absolute;top:16px;right:16px}.meal-card__image-container{background:#f5f5f5;flex-shrink:0;width:100%;height:240px;overflow:hidden}.meal-card__image{object-fit:cover;width:100%;height:100%;transition:transform .3s}.meal-card--selectable:hover .meal-card__image{transform:scale(1.05)}.meal-card__content{flex-direction:column;flex-grow:1;gap:16px;padding:24px;display:flex}.meal-card__title{color:var(--neutral-900,#212121);letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:700;line-height:1.3}.meal-card__description{color:var(--neutral-700,#616161);margin:0;font-size:1.125rem;line-height:1.6}.meal-card__allergens{background:var(--warning-light,#fff3cd);border-left:4px solid var(--warning,#ffc107);color:#856404;align-items:flex-start;gap:12px;padding:16px;font-size:1rem;font-weight:500;line-height:1.5;display:flex}.meal-card__allergens svg{stroke:var(--warning,#ffc107);flex-shrink:0;margin-top:2px}.meal-card__ingredients{color:var(--neutral-700,#616161);border-top:1px solid var(--neutral-200,#eee);padding:12px 0;font-size:1rem;line-height:1.6}.meal-card__ingredients-label{color:var(--neutral-900,#212121);margin-right:8px;font-weight:600}.meal-card__ingredients-list{color:var(--neutral-700,#616161)}.meal-card__actions{border-top:2px solid var(--neutral-200,#eee);background:var(--neutral-50,#fafafa);gap:16px;padding:20px 24px;display:flex}.meal-card__action-btn{cursor:pointer;transition:all var(--transition-base,.25s ease-in-out);border:none;flex:1;justify-content:center;align-items:center;gap:10px;min-height:56px;padding:14px 20px;font-size:1.125rem;font-weight:600;display:flex}.meal-card__action-btn--edit{background:var(--primary-500,#0097c1);color:#fff}.meal-card__action-btn--edit:hover{background:var(--primary-600,#008fb9);box-shadow:var(--shadow-md);transform:translateY(-2px)}.meal-card__action-btn--edit:active{transform:translateY(0)}.meal-card__action-btn--delete{background:var(--error,#dc3545);color:#fff}.meal-card__action-btn--delete:hover{background:var(--error-dark,#bd2130);box-shadow:var(--shadow-md);transform:translateY(-2px)}.meal-card__action-btn--delete:active{transform:translateY(0)}@media (width<=900px){.meal-card{min-height:380px}.meal-card__content{gap:12px;padding:20px}.meal-card__image-container{height:220px}.meal-card__title{font-size:1.375rem}.meal-card__description{font-size:1rem}}@media (width<=600px){.meal-card{min-height:360px}.meal-card__image-container{height:180px}.meal-card__content{gap:12px;padding:16px}.meal-card__title{font-size:1.25rem}.meal-card__description{font-size:.9375rem}.meal-card__allergens{padding:12px;font-size:.875rem}.meal-card__ingredients{padding:10px 0;font-size:.875rem}.meal-card__badge{padding:8px 16px;font-size:.75rem;top:12px;left:12px}.meal-card__selection-indicator{width:48px;height:48px;top:12px;right:12px}.meal-card__selection-indicator svg{width:24px;height:24px}.meal-card__actions{flex-direction:column;gap:12px;padding:16px}.meal-card__action-btn{width:100%;min-height:48px;padding:12px 16px;font-size:1rem}}@media (width<=400px){.meal-card__image-container{height:160px}.meal-card__content{padding:14px}.meal-card__title{font-size:1.125rem}.meal-card__description{font-size:.875rem}}.meal-card:focus-visible{outline:3px solid var(--primary-300,#4db7d4);outline-offset:4px}.meal-card__action-btn:focus-visible{outline:3px solid var(--primary-300,#4db7d4);outline-offset:2px}@media (hover:none) and (pointer:coarse){.meal-card--selectable:active{background:#f5f5f5}}.meal-grid-container{width:100%}.meal-grid-section{margin-bottom:48px}.meal-grid-section__title{color:#333;border-bottom:3px solid #e0e0e0;margin-bottom:24px;padding-bottom:12px;font-size:32px;font-weight:700}.meal-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;width:100%;display:grid}.meal-grid__empty{text-align:center;color:#666;flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.meal-grid__empty svg{stroke:#ccc;margin-bottom:24px}.meal-grid__empty h3{color:#333;margin:0 0 12px;font-size:24px;font-weight:600}.meal-grid__empty p{color:#666;max-width:400px;margin:0;font-size:16px}.meal-grid__skeleton{background:#fff;animation:1.5s ease-in-out infinite pulse;overflow:hidden;box-shadow:0 2px 8px #0000001a}.meal-grid__skeleton-image{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;width:100%;height:240px;animation:1.5s ease-in-out infinite shimmer}.meal-grid__skeleton-content{padding:20px}.meal-grid__skeleton-title{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;height:28px;margin-bottom:12px;animation:1.5s ease-in-out infinite shimmer}.meal-grid__skeleton-text{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;height:16px;margin-bottom:8px;animation:1.5s ease-in-out infinite shimmer}.meal-grid__skeleton-text:last-child{width:70%}@media (width>=1440px){.meal-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px) and (width<=1439px){.meal-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=768px) and (width<=1023px){.meal-grid{grid-template-columns:repeat(2,1fr);gap:20px}.meal-grid-section__title{font-size:28px}}@media (width<=767px){.meal-grid{grid-template-columns:1fr;gap:16px}.meal-grid-section{margin-bottom:32px}.meal-grid-section__title{margin-bottom:16px;font-size:24px}.meal-grid__empty{padding:60px 20px}}@media (width>=768px) and (width<=1024px) and (orientation:landscape){.meal-grid{grid-template-columns:repeat(3,1fr);gap:16px}}.meal-form{background:#fff;max-width:800px;margin:0 auto;padding:32px}.meal-form__content{flex-direction:column;gap:24px;margin-bottom:32px;display:flex}.meal-form__section{flex-direction:column;gap:8px;display:flex}.meal-form__label{color:#333;margin-bottom:4px;font-size:16px;font-weight:600}.meal-form__input,.meal-form__select,.meal-form__textarea{color:#333;background:#fff;border:2px solid #e0e0e0;width:100%;padding:14px 16px;font-family:inherit;font-size:16px;transition:border-color .2s}.meal-form__input:focus,.meal-form__select:focus,.meal-form__textarea:focus{border-color:#2196f3;outline:none}.meal-form__input--error{border-color:#f44336}.meal-form__input:disabled,.meal-form__select:disabled,.meal-form__textarea:disabled{cursor:not-allowed;background:#f5f5f5}.meal-form__textarea{resize:vertical;min-height:100px;line-height:1.5}.meal-form__error{color:#f44336;margin-top:4px;font-size:14px}.meal-form__image-upload{width:100%}.meal-form__image-preview{width:100%;max-width:400px;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.meal-form__image-preview img{width:100%;height:auto;display:block}.meal-form__image-remove{cursor:pointer;background:#f44336e6;border:none;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;position:absolute;top:12px;right:12px}.meal-form__image-remove:hover{background:#d32f2f;transform:scale(1.1)}.meal-form__image-remove svg{stroke:#fff}.meal-form__image-placeholder{cursor:pointer;background:#fafafa;border:3px dashed #ccc;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:400px;height:300px;transition:all .2s;display:flex}.meal-form__image-placeholder:hover{background:#f0f8ff;border-color:#2196f3}.meal-form__image-placeholder svg{stroke:#ccc;margin-bottom:16px}.meal-form__image-placeholder p{color:#666;margin:0 0 8px;font-size:16px;font-weight:600}.meal-form__image-placeholder span{color:#999;font-size:14px}.meal-form__ingredient-input{gap:12px;display:flex}.meal-form__ingredient-input .meal-form__input{flex:1}.meal-form__tags{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.meal-form__tag{color:#1565c0;background:#e3f2fd;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.meal-form__tag-remove{color:#1565c0;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:20px;line-height:1;transition:color .2s;display:flex}.meal-form__tag-remove:hover{color:#d32f2f}.meal-form__allergen-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.meal-form__checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:12px;transition:background .2s;display:flex}.meal-form__checkbox-label:hover{background:#f5f5f5}.meal-form__checkbox-label--large{background:#f0f8ff;border:2px solid #2196f3;padding:16px;font-size:16px;font-weight:600}.meal-form__checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#2196f3;width:20px;height:20px}.meal-form__btn{cursor:pointer;border:none;min-width:120px;min-height:48px;padding:14px 24px;font-size:16px;font-weight:600;transition:all .2s}.meal-form__btn:disabled{opacity:.6;cursor:not-allowed}.meal-form__btn--add{color:#fff;background:#4caf50;padding:14px 20px}.meal-form__btn--add:hover:not(:disabled){background:#388e3c}.meal-form__btn--secondary{color:#fff;background:#757575;margin-top:12px}.meal-form__btn--secondary:hover:not(:disabled){background:#616161}.meal-form__btn--submit{color:#fff;background:#2196f3}.meal-form__btn--submit:hover:not(:disabled){background:#1976d2}.meal-form__btn--cancel{color:#333;background:#f5f5f5}.meal-form__btn--cancel:hover:not(:disabled){background:#e0e0e0}.meal-form__actions{border-top:2px solid #e0e0e0;justify-content:flex-end;gap:16px;padding-top:24px;display:flex}@media (width<=768px){.meal-form{padding:24px 16px}.meal-form__allergen-grid{grid-template-columns:1fr}.meal-form__ingredient-input{flex-direction:column}.meal-form__actions{flex-direction:column-reverse}.meal-form__btn{width:100%}.meal-form__image-preview,.meal-form__image-placeholder{max-width:100%}}.meal-form__input:focus-visible,.meal-form__select:focus-visible,.meal-form__textarea:focus-visible{outline-offset:2px;outline:3px solid #2196f34d}.meal-form__btn:focus-visible{outline-offset:2px;outline:3px solid #2196f380}.confirm-dialog-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;width:90%;max-width:500px;padding:24px;animation:.2s ease-out slideUp;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-title{color:#1f2937;margin:0 0 16px;font-size:1.25rem;font-weight:600}.confirm-dialog-message{color:#4b5563;margin:0 0 24px;font-size:.95rem;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:12px;display:flex}.confirm-dialog-btn{cursor:pointer;border:none;padding:10px 20px;font-size:.95rem;font-weight:500;transition:all .2s}.confirm-dialog-btn-cancel{color:#374151;background-color:#f3f4f6}.confirm-dialog-btn-cancel:hover{background-color:#e5e7eb}.confirm-dialog-btn-danger{color:#fff;background-color:#ef4444}.confirm-dialog-btn-danger:hover{background-color:#dc2626}.confirm-dialog-btn-primary{color:#fff;background-color:#3b82f6}.confirm-dialog-btn-primary:hover{background-color:#2563eb}.meal-management{max-width:1600px;margin:0 auto;padding:32px;position:relative}.meal-management__notification{z-index:1000;align-items:center;gap:16px;padding:16px 24px;font-size:16px;font-weight:500;animation:.3s slideIn;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 4px 12px #00000026}.meal-management__notification--success{color:#fff;background:#4caf50}.meal-management__notification--error{color:#fff;background:#f44336}.meal-management__notification button{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;width:24px;height:24px;padding:0;font-size:24px;line-height:1;transition:opacity .2s}.meal-management__notification button:hover{opacity:1}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.meal-management__header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;display:flex}.meal-management__title-section{flex:1}.meal-management__title{color:#333;margin:0 0 8px;font-size:36px;font-weight:700}.meal-management__subtitle{color:#666;margin:0;font-size:16px}.meal-management__btn{cursor:pointer;border:none;align-items:center;gap:8px;min-height:48px;padding:14px 24px;font-size:16px;font-weight:600;transition:all .2s;display:flex}.meal-management__btn--primary{color:#fff;background:#2196f3}.meal-management__btn--primary:hover{background:#1976d2;transform:translateY(-2px);box-shadow:0 4px 12px #2196f34d}.meal-management__btn--primary:active{transform:translateY(0)}.meal-management__stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px;display:grid}.meal-management__stat-card{background:#fff;border-left:4px solid #2196f3;padding:24px;box-shadow:0 2px 8px #0000001a}.meal-management__stat-card--success{border-left-color:#4caf50}.meal-management__stat-card--warning{border-left-color:#ff9800}.meal-management__stat-value{color:#333;margin-bottom:8px;font-size:36px;font-weight:700}.meal-management__stat-label{color:#666;text-transform:uppercase;letter-spacing:.5px;font-size:14px}.meal-management__modal{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.meal-management__modal-content{background:#fff;width:100%;max-width:900px;max-height:90vh;animation:.3s modalSlideIn;overflow-y:auto}.meal-management__modal-header{border-bottom:2px solid #e0e0e0;justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.meal-management__modal-header h2{color:#333;margin:0;font-size:28px;font-weight:700}.meal-management__modal-close{color:#999;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:36px;line-height:1;transition:all .2s;display:flex}.meal-management__modal-close:hover{color:#333;background:#f5f5f5}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.meal-management__controls{flex-wrap:wrap;gap:20px;margin-bottom:32px;display:flex}.meal-management__search{flex:1;align-items:center;min-width:300px;display:flex;position:relative}.meal-management__search svg{stroke:#999;pointer-events:none;position:absolute;left:16px}.meal-management__search-input{border:2px solid #e0e0e0;width:100%;padding:14px 16px 14px 48px;font-size:16px;transition:border-color .2s}.meal-management__search-input:focus{border-color:#2196f3;outline:none}.meal-management__filters{align-items:center;gap:16px;display:flex}.meal-management__filter-select{cursor:pointer;background:#fff;border:2px solid #e0e0e0;min-width:150px;padding:14px 16px;font-size:16px;transition:border-color .2s}.meal-management__filter-select:focus{border-color:#2196f3;outline:none}.meal-management__checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #e0e0e0;align-items:center;gap:8px;padding:14px 16px;transition:all .2s;display:flex}.meal-management__checkbox-label:hover{background:#f5f5f5}.meal-management__checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#2196f3;width:18px;height:18px}.meal-management__content{margin-top:24px}.meal-management__fab{color:#fff;cursor:pointer;z-index:50;background:#2196f3;border:none;justify-content:center;align-items:center;width:64px;height:64px;transition:all .3s;display:none;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #0000004d}.meal-management__fab:hover{transform:scale(1.1);box-shadow:0 6px 16px #0006}.meal-management__fab:active{transform:scale(1.05)}@media (width<=768px){.meal-management{padding:20px 16px}.meal-management__header{flex-direction:column;gap:16px}.meal-management__title{font-size:28px}.meal-management__btn--primary{display:none}.meal-management__fab{display:flex}.meal-management__stats{grid-template-columns:1fr;gap:12px}.meal-management__controls{flex-direction:column}.meal-management__search{min-width:100%}.meal-management__filters{flex-direction:column;width:100%}.meal-management__filter-select,.meal-management__checkbox-label{width:100%}.meal-management__modal{align-items:flex-end;padding:0}.meal-management__modal-content{max-height:95vh}.meal-management__modal-header{padding:20px 16px}.meal-management__modal-header h2{font-size:24px}.meal-management__notification{font-size:14px;top:16px;left:16px;right:16px}}.meal-management__btn:focus-visible{outline-offset:2px;outline:3px solid #2196f380}.meal-management__search-input:focus-visible,.meal-management__filter-select:focus-visible{outline-offset:2px;outline:3px solid #2196f34d}.menu-management{max-width:1600px;margin:0 auto;padding:32px;position:relative}.menu-management__notification{z-index:1000;align-items:center;gap:16px;padding:16px 24px;font-size:16px;font-weight:500;animation:.3s slideIn;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 4px 12px #00000026}.menu-management__notification--success{color:#fff;background:#4caf50}.menu-management__notification--error{color:#fff;background:#f44336}.menu-management__notification button{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;width:24px;height:24px;padding:0;font-size:24px;line-height:1;transition:opacity .2s}.menu-management__notification button:hover{opacity:1}.menu-management__header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;display:flex}.menu-management__title-section{flex:1}.menu-management__title{color:#333;margin:0 0 8px;font-size:36px;font-weight:700}.menu-management__subtitle{color:#666;margin:0;font-size:16px}.menu-management__btn{cursor:pointer;border:none;align-items:center;gap:8px;min-height:48px;padding:14px 24px;font-size:16px;font-weight:600;transition:all .2s;display:flex}.menu-management__btn:disabled{opacity:.6;cursor:not-allowed}.menu-management__btn--primary{color:#fff;background:#1976d2}.menu-management__btn--primary:hover:not(:disabled){background:#1565c0;transform:translateY(-1px);box-shadow:0 4px 8px #0003}.menu-management__btn--secondary{color:#333;background:#e0e0e0}.menu-management__btn--secondary:hover:not(:disabled){background:#d5d5d5}.menu-management__btn--danger{color:#fff;background:#f44336}.menu-management__btn--danger:hover:not(:disabled){background:#d32f2f}.menu-management__stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:32px;display:grid}.menu-management__stat-card{text-align:center;background:#fff;padding:24px;box-shadow:0 2px 8px #0000001a}.menu-management__stat-card--success{border-left:4px solid #4caf50}.menu-management__stat-card--info{border-left:4px solid #2196f3}.menu-management__stat-value{color:#333;margin-bottom:8px;font-size:48px;font-weight:700}.menu-management__stat-label{color:#666;text-transform:uppercase;letter-spacing:.5px;font-size:14px}.menu-management__active-banner{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);align-items:center;gap:16px;margin-bottom:32px;padding:20px;display:flex;box-shadow:0 4px 12px #667eea4d}.menu-management__active-icon{font-size:32px}.menu-management__active-info{flex:1;line-height:1.6}.menu-management__modal{z-index:999;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.menu-management__modal-content{background:#fff;width:100%;max-width:800px;max-height:90vh;animation:.3s slideUp;overflow-y:auto;box-shadow:0 8px 32px #0003}.menu-management__modal-content--large{max-width:1200px}.menu-management__modal-content--small{max-width:500px}.menu-management__modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:24px;display:flex}.menu-management__modal-header h2{color:#333;margin:0;font-size:24px;font-weight:700}.menu-management__modal-close{cursor:pointer;color:#666;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:32px;line-height:1;transition:background .2s;display:flex}.menu-management__modal-close:hover{background:#f5f5f5}.menu-management__form{padding:24px}.menu-management__form-row{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px;display:grid}.menu-management__form-group{flex-direction:column;gap:8px;display:flex}.menu-management__form-group label{color:#333;font-size:14px;font-weight:600}.menu-management__form-group input[type=text],.menu-management__form-group input[type=date],.menu-management__form-group select,.menu-management__form-group textarea{border:2px solid #e0e0e0;padding:12px;font-size:16px;transition:border-color .2s}.menu-management__form-group input:focus,.menu-management__form-group select:focus,.menu-management__form-group textarea:focus{border-color:#1976d2;outline:none}.menu-management__checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:16px;display:flex}.menu-management__checkbox-label input[type=checkbox]{cursor:pointer;width:20px;height:20px}.menu-management__meal-sections{margin-top:24px}.menu-management__meal-section{margin-bottom:32px}.menu-management__meal-section h3{color:#333;margin:0 0 16px;font-size:20px;font-weight:600}.menu-management__meal-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.menu-management__meal-card{cursor:pointer;background:#fff;border:3px solid #e0e0e0;transition:all .2s;position:relative;overflow:hidden}.menu-management__meal-card:hover{border-color:#1976d2;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.menu-management__meal-card.selected{background:#f1f8f4;border-color:#4caf50}.menu-management__meal-card img{object-fit:cover;width:100%;height:120px}.menu-management__meal-card-info{padding:12px}.menu-management__meal-card-info h4{color:#333;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:600;overflow:hidden}.menu-management__meal-card-check{color:#fff;background:#4caf50;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;font-weight:700;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #0003}.menu-management__form-actions{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;display:flex}.menu-management__controls{align-items:center;gap:16px;margin-bottom:24px;display:flex}.menu-management__content{margin-top:24px}.menu-management__loading{text-align:center;color:#666;padding:48px;font-size:18px}.menu-management__empty{text-align:center;background:#fff;padding:48px;box-shadow:0 2px 8px #0000001a}.menu-management__empty p{color:#666;margin:0;font-size:18px}.menu-management__list{gap:20px;display:grid}.menu-management__card{background:#fff;padding:24px;transition:box-shadow .2s;box-shadow:0 2px 8px #0000001a}.menu-management__card:hover{box-shadow:0 4px 16px #00000026}.menu-management__card-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.menu-management__card-header h3{color:#333;margin:0 0 8px;font-size:20px;font-weight:600}.menu-management__card-dates{color:#666;font-size:14px}.menu-management__card-badges{gap:8px;display:flex}.menu-management__badge{text-transform:uppercase;letter-spacing:.5px;padding:4px 12px;font-size:12px;font-weight:600}.menu-management__badge--success{color:#2e7d32;background:#e8f5e9}.menu-management__badge--info{color:#1565c0;background:#e3f2fd}.menu-management__card-meals{background:#f5f5f5;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;padding:16px;display:grid}.menu-management__card-meal-type{color:#666;font-size:14px}.menu-management__card-meal-type strong{color:#333}.menu-management__card-actions{justify-content:flex-end;gap:12px;display:flex}.menu-management__fab{color:#fff;cursor:pointer;z-index:100;background:#1976d2;border:none;justify-content:center;align-items:center;width:64px;height:64px;transition:all .2s;display:flex;position:fixed;bottom:32px;right:32px;box-shadow:0 4px 16px #0000004d}.menu-management__fab:hover{background:#1565c0;transform:scale(1.1);box-shadow:0 6px 20px #0006}@media (width<=768px){.menu-management{padding:16px}.menu-management__header{flex-direction:column}.menu-management__title{font-size:28px}.menu-management__stats{grid-template-columns:1fr}.menu-management__meal-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.menu-management__card-meals{grid-template-columns:1fr}.menu-management__card-actions{flex-direction:column}.menu-management__card-actions .menu-management__btn{justify-content:center;width:100%}}.menu-management__delete-dialog-body{text-align:center;padding:32px 24px}.menu-management__delete-dialog-icon{justify-content:center;margin-bottom:16px;display:flex}.menu-management__delete-dialog-icon svg{color:#f44336}.menu-management__delete-dialog-body h3{color:#333;margin:0 0 16px;font-size:20px;font-weight:600;line-height:1.4}.menu-management__delete-dialog-warning{background:#fff3e0;border:1px solid #ffb74d;margin-top:16px;padding:16px}.menu-management__delete-dialog-warning-text{color:#e65100;text-align:left;margin:0 0 8px;font-size:14px;line-height:1.6}.menu-management__delete-dialog-warning-text:last-child{margin-bottom:0}.menu-management__delete-dialog-text{color:#666;margin:0;font-size:14px;line-height:1.6}.menu-management__delete-dialog-actions{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.menu-management__delete-dialog-actions .menu-management__btn{justify-content:center;min-width:120px}.react-calendar{background:#fff;border:1px solid #a0a096;width:350px;max-width:100%;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{margin:-.5em;display:flex}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar :before,.react-calendar :after{box-sizing:border-box}.react-calendar button{border:0;outline:none;margin:0}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{height:44px;margin-bottom:1em;display:flex}.react-calendar__navigation button{background:0 0;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{font:inherit;justify-content:center;align-items:center;font-size:.75em;font-weight:700;display:flex}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{text-align:center;max-width:100%;font:inherit;background:0 0;padding:10px 6.6667px;font-size:.833em}.react-calendar__tile:disabled{color:#ababab;background-color:#f0f0f0}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{color:#fff;background:#006edc}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.menu-assignment-calendar{max-width:1400px;margin:0 auto;padding:2rem}.calendar__notification{z-index:1000;align-items:center;gap:1rem;padding:1rem 1.5rem;animation:.3s ease-out slideIn;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 4px 6px #0000001a}.calendar__notification--success{color:#fff;background-color:#10b981}.calendar__notification--error{color:#fff;background-color:#ef4444}.calendar__notification button{color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.calendar__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.calendar__title-section{flex:1}.calendar__title{color:#1f2937;margin:0 0 .5rem;font-size:2rem}.calendar__subtitle{color:#6b7280;margin:0;font-size:1rem}.calendar__actions{gap:1rem;display:flex}.calendar__btn{cursor:pointer;border:none;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .2s}.calendar__btn--primary{color:#fff;background-color:#3b82f6}.calendar__btn--primary:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.calendar__btn--secondary{color:#374151;background-color:#e5e7eb}.calendar__btn--secondary:hover:not(:disabled){background-color:#d1d5db}.calendar__btn--danger{color:#fff;background-color:#ef4444}.calendar__btn--danger:hover:not(:disabled){background-color:#dc2626}.calendar__btn--warning{color:#fff;background-color:#f59e0b}.calendar__btn--warning:hover:not(:disabled){background-color:#d97706}.calendar__btn:disabled{opacity:.5;cursor:not-allowed}.calendar__legend{background-color:#f9fafb;flex-wrap:wrap;gap:2rem;margin-bottom:2rem;padding:1rem;display:flex}.calendar__legend-item{align-items:center;gap:.5rem;display:flex}.calendar__legend-color{border:2px solid #e5e7eb;width:24px;height:24px}.calendar__legend-color--assigned{background-color:#4ade80}.calendar__legend-color--unassigned{background-color:#fef08a}.calendar__legend-color--past{background-color:#e5e7eb}.calendar__legend-color--selected{background-color:#60a5fa}.calendar__container{background:#fff;margin-bottom:2rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.calendar__loading{text-align:center;color:#6b7280;padding:3rem}.react-calendar{border:none!important;width:100%!important;font-family:inherit!important}.react-calendar__navigation{margin-bottom:1.5rem!important}.react-calendar__navigation button{color:#1f2937!important;background:0 0!important;padding:.75rem!important;font-size:1.25rem!important}.react-calendar__navigation button:hover{background-color:#f3f4f6!important}.react-calendar__navigation button:disabled{opacity:.3!important;background-color:#0000!important}.react-calendar__month-view__weekdays{text-transform:uppercase!important;color:#6b7280!important;margin-bottom:.5rem!important;font-size:.75rem!important;font-weight:600!important}.react-calendar__tile{padding:1.5rem .5rem!important;font-size:.875rem!important;transition:all .2s!important;position:relative!important}.react-calendar__tile:hover:not(.past-date){transform:scale(1.05)!important;box-shadow:0 2px 4px #0000001a!important}.react-calendar__tile.assigned-date{color:#fff!important;background-color:#4ade80!important;font-weight:600!important}.react-calendar__tile.unassigned-date{color:#854d0e!important;background-color:#fef08a!important}.react-calendar__tile.past-date{color:#9ca3af!important;cursor:not-allowed!important;background-color:#e5e7eb!important}.react-calendar__tile.inactive-menu{color:#fff!important;background-color:#fca5a5!important}.react-calendar__tile.selected-date{color:#fff!important;background-color:#60a5fa!important;font-weight:600!important}.react-calendar__tile--now{background-color:#0000!important;border:2px solid #3b82f6!important}.react-calendar__tile--now.assigned-date{border-color:#fff!important}.calendar-tile-content{font-size:.75rem;position:absolute;top:4px;right:4px}.calendar-menu-indicator{font-size:1rem}.calendar__details{background:#fff;margin-bottom:2rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.calendar__details h3{color:#1f2937;margin:0 0 1rem;font-size:1.25rem}.calendar__details-content{flex-direction:column;gap:1rem;display:flex}.calendar__details-content p{color:#4b5563;margin:0}.calendar__details-actions{flex-wrap:wrap;gap:1rem;margin-top:.5rem;display:flex}@media (width<=640px){.calendar__details-actions{flex-direction:column}.calendar__details-actions .calendar__btn{width:100%}}.calendar__modal{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.calendar__modal-content{background:#fff;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.calendar__modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.calendar__modal-header h2{color:#1f2937;margin:0;font-size:1.5rem}.calendar__modal-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:0;font-size:2rem;line-height:1;transition:color .2s}.calendar__modal-close:hover{color:#6b7280}.calendar__modal-body{padding:1.5rem}.calendar__modal-empty{text-align:center;color:#6b7280;padding:2rem}.calendar__modal-empty p{margin:.5rem 0}.calendar__form-group{margin-bottom:1.5rem}.calendar__form-group label{color:#374151;margin-bottom:.5rem;font-weight:500;display:block}.calendar__form-group select,.calendar__form-group textarea{border:1px solid #d1d5db;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.calendar__form-group select:focus,.calendar__form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.calendar__selected-dates{background-color:#f9fafb;margin-top:1.5rem;padding:1rem}.calendar__selected-dates strong{color:#374151;margin-bottom:.75rem;display:block}.calendar__dates-list{flex-wrap:wrap;gap:.5rem;display:flex}.calendar__date-chip{color:#3730a3;background-color:#e0e7ff;padding:.25rem .75rem;font-size:.875rem;display:inline-block}.calendar__modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}@media (width<=768px){.menu-assignment-calendar{padding:1rem}.calendar__header{flex-direction:column;align-items:flex-start}.calendar__actions{flex-direction:column;width:100%}.calendar__btn{width:100%}.calendar__legend{flex-direction:column;gap:.75rem}.calendar__container{padding:1rem}.react-calendar__tile{padding:1rem .25rem!important;font-size:.75rem!important}.calendar__modal-content{margin:1rem}}
