body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.main-top-bar{background-color:#4285f4;box-shadow:0 2px 4px #0000001a;color:#fff;font-size:1rem;justify-content:space-between;padding:10px 20px}.main-top-bar,.top-bar-left{align-items:center;display:flex}.top-bar-left{gap:15px}.nursery-name{font-size:1.2rem;font-weight:700}.site-select{border:none;border-radius:5px;padding:5px}.site-name,.site-select{font-size:1rem}.top-bar-right{align-items:center;display:flex;gap:10px}.logout-btn,.user-name{font-weight:700}.logout-btn{background-color:#fff;border:none;border-radius:5px;color:#4285f4;cursor:pointer;padding:5px 10px;transition:background-color .2s ease}.logout-btn:hover{background-color:#d0e0ff}.top-nav{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;box-shadow:0 1px 3px #00000014;display:flex;gap:8px;justify-content:space-between;padding:6px 16px;position:sticky;top:0;z-index:100}.skip-link{height:1px;left:-9999px;overflow:hidden;top:auto;width:1px}.skip-link:focus{background:#4285f4;border-radius:4px;color:#fff;font-size:14px;height:auto;padding:6px 12px;position:static;width:auto;z-index:9999}.top-nav__main{align-items:center;display:flex;flex:1 1;flex-wrap:nowrap;gap:2px;overflow-x:auto}.top-nav__btn{background:#0000;border:none;border-radius:6px;color:#495057;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 14px;transition:background-color .15s ease,color .15s ease;white-space:nowrap}.top-nav__btn:hover{background-color:#e8f0fe;color:#1a73e8}.top-nav__btn.active{background-color:#4285f4;color:#fff;font-weight:600}.top-nav__btn:focus-visible{outline:2px solid #4285f4;outline-offset:2px}.top-nav__profile{flex-shrink:0;position:relative}.top-nav__avatar-btn{align-items:center;background:#0000;border:1px solid #dee2e6;border-radius:20px;color:#495057;cursor:pointer;display:flex;font-size:.875rem;gap:8px;padding:5px 12px 5px 6px;transition:background-color .15s ease,border-color .15s ease}.top-nav__avatar-btn.open,.top-nav__avatar-btn:hover{background-color:#e8f0fe;border-color:#4285f4;color:#1a73e8}.top-nav__avatar-btn:focus-visible{outline:2px solid #4285f4;outline-offset:2px}.top-nav__avatar{align-items:center;background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:28px;justify-content:center;width:28px}.top-nav__avatar-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-nav__chevron{color:#6c757d;font-size:10px}.top-nav__dropdown{animation:dropdownFadeIn .12s ease;background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 16px #0000001f;min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:200}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.top-nav__dropdown-item{background:#0000;border:none;color:#343a40;cursor:pointer;display:block;font-size:.9rem;padding:10px 16px;text-align:left;transition:background-color .1s ease;width:100%}.top-nav__dropdown-item:hover{background-color:#f8f9fa;color:#1a73e8}.top-nav__dropdown-item.active{background-color:#e8f0fe;color:#1a73e8;font-weight:600}.top-nav__dropdown-item:focus-visible{outline:2px solid #4285f4;outline-offset:-2px}.top-nav__dropdown-divider{background:#dee2e6;height:1px;margin:4px 0}.top-nav__dropdown-item--danger{color:#dc3545}.top-nav__dropdown-item--danger:hover{background-color:#fff5f5;color:#c82333}@media (max-width:640px){.top-nav{padding:6px 10px}.top-nav__btn{font-size:.82rem;padding:7px 10px}.top-nav__avatar-name{display:none}}:root{--color-primary-50:#e3f2fd;--color-primary-100:#bbdefb;--color-primary-200:#90caf9;--color-primary-300:#64b5f6;--color-primary-400:#42a5f5;--color-primary-500:#2196f3;--color-primary-600:#1e88e5;--color-primary-700:#1976d2;--color-primary-800:#1565c0;--color-primary-900:#0d47a1;--color-blue-50:#e3f2fd;--color-blue-100:#bbdefb;--color-blue-200:#90caf9;--color-blue-300:#64b5f6;--color-blue-400:#42a5f5;--color-blue-500:#2196f3;--color-blue-600:#1e88e5;--color-blue-700:#1976d2;--color-blue-800:#1565c0;--color-blue-900:#0d47a1;--color-success:#4caf50;--color-success-dark:#388e3c;--color-success-light:#e8f5e9;--color-warning:#ff9800;--color-warning-light:#fff3e0;--color-error:#f44336;--color-error-dark:#d32f2f;--color-error-light:#ffebee;--color-info:#2196f3;--color-info-light:#e3f2fd;--color-conflict-warning:red;--color-allergen-bg:#fff3e0;--color-allergen-text:#e65100;--color-allergen-border:#ffb74d;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-gray-200:#eee;--color-gray-300:#e0e0e0;--color-gray-400:#bdbdbd;--color-gray-500:#9e9e9e;--color-gray-600:#757575;--color-gray-700:#616161;--color-gray-800:#424242;--color-gray-900:#212121;--color-text-primary:#1f2937;--color-text-secondary:#4b5563;--color-text-tertiary:#6b7280;--color-text-inverse:#fff;--color-bg-primary:#fff;--color-bg-secondary:#f9fafb;--color-bg-tertiary:#f3f4f6;--color-border-light:#e5e7eb;--color-border-medium:#d1d5db;--color-border-dark:#9ca3af;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--font-primary:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Inter",sans-serif;--font-mono:"SF Mono",Monaco,"Cascadia Code","Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--border-width-thin:1px;--border-width-medium:2px;--border-width-thick:4px;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--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-2xl:0 25px 50px -12px #00000040;--transition-fast:150ms ease-in-out;--transition-base:200ms ease-in-out;--transition-slow:300ms ease-in-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1000;--z-popover:1060;--z-tooltip:1070;--touch-target-min:44px;--touch-target-comfortable:48px;--max-width-xs:20rem;--max-width-sm:24rem;--max-width-md:28rem;--max-width-lg:32rem;--max-width-xl:36rem;--max-width-2xl:42rem;--max-width-content:65rem}.todays-menu-container{background-color:var(--color-bg-secondary);margin:0 auto;max-width:var(--max-width-content);min-height:100vh;padding:var(--space-8) var(--space-4)}.todays-menu-title{color:var(--color-text-primary);font-size:var(--text-4xl);font-weight:var(--font-bold);margin-bottom:var(--space-8);text-align:center}.menu-type-header{border-bottom:var(--border-width-medium) solid var(--color-border-medium);color:var(--color-text-primary);color:var(--menu-type-color,var(--color-text-primary));font-size:var(--text-2xl);font-weight:var(--font-semibold);margin-bottom:var(--space-4);margin-top:var(--space-6);padding-bottom:var(--space-2)}.date-navigation{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);gap:var(--space-5);justify-content:space-between;margin-bottom:var(--space-8);padding:var(--space-5)}.date-display,.date-navigation{align-items:center;display:flex}.date-display{flex:1 1;flex-direction:column;gap:var(--space-2)}.date-display h2{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0;text-align:center}.menu-section{margin-bottom:var(--space-8)}.meal-card{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;margin-bottom:var(--space-3);padding:var(--space-4);transition:all var(--transition-fast)}.meal-card:hover{background-color:var(--color-primary-50);border-color:var(--color-primary-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.meal-header{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.meal-popup-overlay,.modal-overlay{align-items:center;background-color:var(--overlay-bg);display:flex;height:100%;justify-content:center;left:0;padding:var(--space-4);position:fixed;top:0;width:100%;z-index:var(--z-modal)}.meal-popup-content,.modal-content{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:90vh;max-width:800px;overflow-y:auto;padding:var(--space-6);position:relative;width:100%}.meal-popup-content h2,.modal-content h2{color:var(--color-text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-4);margin-top:0;padding-right:var(--space-8)}.meal-popup-content h3,.modal-content h3{font-size:var(--text-lg);margin-bottom:var(--space-3);margin-top:var(--space-5)}.meal-popup-content h3,.meal-popup-content h4,.modal-content h3{color:var(--color-text-primary);font-weight:var(--font-semibold)}.meal-popup-content h4{color:var(--menu-type-color,var(--color-text-primary));font-size:var(--text-base);margin-bottom:var(--space-2);margin-top:var(--space-4)}.meal-popup-content ul,.modal-content ul{list-style-type:disc;margin-bottom:var(--space-4);padding-left:var(--space-6)}.meal-popup-content li,.modal-content li{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-2)}.meal-popup-content p,.modal-content p{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-3)}.btn-icon{font-size:var(--text-2xl);font-weight:var(--font-bold);height:var(--space-10);width:var(--space-10)}.ingredients-comparison-table{border-collapse:collapse;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-top:var(--space-5);overflow:hidden;width:100%}.ingredients-comparison-table thead{background-color:var(--color-gray-100);border-bottom:var(--border-width-medium) solid var(--color-border-medium)}.ingredients-comparison-table th{border-right:var(--border-width-thin) solid var(--color-border-light);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-3);text-align:left}.ingredients-comparison-table th:last-child{border-right:none}.ingredients-comparison-table tbody tr{border-bottom:var(--border-width-thin) solid var(--color-border-light)}.ingredients-comparison-table tbody tr:hover{background-color:var(--color-bg-tertiary)}.ingredients-comparison-table td{border-right:var(--border-width-thin) solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--text-sm);padding:var(--space-3)}.ingredients-comparison-table td:last-child{border-right:none}.ingredients-comparison-table .ingredient-name{color:var(--color-text-primary);font-weight:var(--font-medium)}.ingredients-comparison-table .allergen-cell{color:var(--color-allergen-text);font-size:var(--text-sm);font-weight:var(--font-medium)}.ingredients-comparison-table .dietary-cell{color:var(--color-warning-700);font-size:var(--text-sm)}.room-breakdown-section{background-color:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);margin:var(--space-5) 0;padding:var(--space-4)}.room-breakdown-section h3{color:var(--color-text-primary);font-size:var(--text-lg);margin:0 0 var(--space-4) 0}.menu-room-breakdown{margin-bottom:var(--space-4)}.menu-room-breakdown:last-child{margin-bottom:0}.menu-room-breakdown h4{color:var(--color-primary-500);color:var(--menu-type-color,var(--color-primary-500));font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.room-counts{display:flex;flex-wrap:wrap;gap:var(--space-3);padding-left:var(--space-4)}.room-count{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.children-count-section{background-color:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--space-5);padding:var(--space-3)}.children-count-section p{color:var(--color-text-primary);font-size:var(--text-base);margin:0 0 var(--space-3) 0}.room-breakdown-inline{display:flex;flex-wrap:wrap;gap:var(--space-2)}.room-count-inline{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);padding:var(--space-1) var(--space-3)}.no-children-message{color:var(--color-text-tertiary);font-size:var(--text-sm);font-style:italic;margin:var(--space-2) 0 0 var(--space-4)}.children-attention-section{background-color:var(--color-danger-50);border:var(--border-width-thin) solid var(--color-danger-200);border-radius:var(--radius-md);margin-top:var(--space-6);padding:var(--space-4)}.attention-header{color:var(--color-danger);font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-3);margin-top:0}.attention-list{list-style:none;margin:0;padding:0}.attention-item{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--space-3);padding:var(--space-3);padding-right:calc(var(--space-3) + 120px);position:relative}.attention-item .btn-sm{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);position:absolute;right:var(--space-3);top:var(--space-3)}.attention-item:last-child{margin-bottom:0}.child-header-info{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.child-header-info strong{color:var(--color-text-primary);font-weight:var(--font-semibold)}.room-badge{display:inline-block;font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.menu-assignment{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-1)}.conflict-info{color:var(--color-conflict-warning);font-weight:var(--font-medium)}.conflict-info,.weaning-info{font-size:var(--text-sm);margin-top:var(--space-1)}.weaning-info{color:var(--color-success-600);font-style:italic}.special-requirements-info{color:var(--color-text-secondary);font-size:var(--text-sm);font-style:italic;margin-top:var(--space-1)}.overall-methods-section{border-top:var(--border-width-medium) solid var(--color-border-light);margin-top:var(--space-5);padding-top:var(--space-5)}.overall-methods-section h3{color:var(--color-text-primary);font-size:var(--text-lg);margin-bottom:var(--space-4)}.method-block{background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--space-3);padding:var(--space-3)}.method-block p{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0;white-space:pre-wrap}.method-block.no-method p{color:var(--color-text-tertiary);font-style:italic}.meal-names-header{background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--space-4);padding:var(--space-3)}.meal-names-header div{color:var(--color-text-secondary);margin-bottom:var(--space-1)}.meal-names-header div:last-child{margin-bottom:0}.meal-names-header strong{color:var(--color-text-primary);color:var(--menu-type-color,var(--color-text-primary));font-weight:var(--font-semibold)}.child-details-section{margin-bottom:var(--space-5)}.child-details-section h3{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}@media (max-width:768px){.todays-menu-container{padding:var(--space-4) var(--space-3)}.todays-menu-title{font-size:var(--text-3xl)}.date-navigation{flex-direction:column;gap:var(--space-3)}.date-display h2{font-size:var(--text-lg)}.meal-popup-content,.modal-content{max-height:95vh;padding:var(--space-4)}.ingredients-comparison-table{font-size:var(--text-xs)}.ingredients-comparison-table td,.ingredients-comparison-table th{padding:var(--space-2)}.child-header-info{align-items:flex-start;flex-direction:column}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.pulse{animation:pulse 1.5s ease-in-out infinite}.skeleton-line{background:#e0e0e0;border-radius:4px;height:14px;margin-bottom:8px}.skeleton-line.short{height:12px}.skeleton-avatar{background:#e0e0e0;border-radius:50%;flex-shrink:0;height:40px;width:40px}.skeleton-avatar.large{height:64px;width:64px}.skeleton-list{padding:8px 0}.skeleton-list-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:14px;padding:14px 16px}.skeleton-text-group{flex:1 1}.skeleton-card-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:16px 0}.skeleton-card{align-items:flex-start;background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;display:flex;flex-direction:column;padding:24px}.skeleton-card-icon{background:#e0e0e0;border-radius:8px;height:48px;width:48px}.skeleton-detail{margin:0 auto;max-width:800px;padding:24px}.skeleton-detail-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:20px;margin-bottom:32px;padding-bottom:24px}.skeleton-detail-section{background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;margin-bottom:16px;padding:20px}.skeleton-table{padding:8px 0;width:100%}.skeleton-table-header{background:#f5f5f5;border-radius:6px 6px 0 0;margin-bottom:4px}.skeleton-table-header,.skeleton-table-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);grid-template-columns:repeat(var(--cols,4),1fr);padding:12px 16px}.skeleton-table-row{border-bottom:1px solid #f0f0f0}.calendar-container{background-color:var(--color-bg-secondary);margin:0 auto;max-width:var(--max-width-content);min-height:100vh;padding:var(--space-8) var(--space-4)}.menu-toggle,.view-toggle{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.month-label{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-4);text-align:center}.calendar-table{background-color:var(--color-bg-primary);border-collapse:collapse;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;width:100%}.calendar-table th{background-color:var(--color-gray-100);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);text-align:center}.calendar-table td,.calendar-table th{border:var(--border-width-thin) solid var(--color-border-light);padding:var(--space-3)}.calendar-table td{background-color:var(--color-bg-primary);height:100px;min-width:120px;vertical-align:top}.meal-type-label{text-align:center}.meal-cell{background-color:var(--color-bg-tertiary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.meal-cell:hover{background-color:var(--color-primary-50);box-shadow:var(--shadow-sm);color:var(--color-primary-700);font-weight:var(--font-medium);transform:translateY(-2px)}.no-meal{padding:var(--space-3);text-align:center}@media (max-width:768px){.calendar-container{padding:var(--space-4) var(--space-3)}.calendar-table td,.calendar-table th{min-width:80px}.calendar-table td,.calendar-table th,.meal-cell{font-size:var(--text-xs);padding:var(--space-2)}.month-label{font-size:var(--text-lg)}}.modal-overlay{height:100%;width:100%}.modal-content h2{margin-bottom:var(--space-4);padding-right:var(--space-8)}.modal-content h3{font-size:var(--text-lg);margin-bottom:var(--space-3);margin-top:var(--space-5)}.modal-content h3,.modal-content h4{color:var(--color-text-primary);font-weight:var(--font-semibold)}.modal-content h4{font-size:var(--text-base);margin-bottom:var(--space-2);margin-top:var(--space-4)}.modal-content ul{margin-bottom:var(--space-4);padding-left:var(--space-6)}.modal-content li{margin-bottom:var(--space-2)}.modal-content li,.modal-content p{color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.modal-content p{margin-bottom:var(--space-3)}.allergens{color:var(--color-allergen-text);font-size:var(--text-sm);font-weight:var(--font-semibold)}.dietary-info{color:var(--color-warning-700);font-size:var(--text-sm);font-weight:var(--font-medium)}.recipe-section{background-color:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);margin-top:var(--space-5);padding:var(--space-4)}.error{border-radius:var(--radius-md);font-weight:var(--font-medium);margin-top:var(--space-3);padding:var(--space-3)}.btn-icon{position:absolute;right:var(--space-4);top:var(--space-4)}@media (max-width:768px){.modal-content{max-height:95vh;padding:var(--space-4)}.modal-content h2{font-size:var(--text-xl)}.modal-content h3{font-size:var(--text-base)}}.allergen-alerts-container{background-color:var(--color-bg-secondary);margin:0 auto;max-width:var(--max-width-content);min-height:100vh;padding:var(--space-8) var(--space-4)}.allergen-alerts-title{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--text-4xl);font-weight:var(--font-bold);margin-bottom:var(--space-6)}.allergen-alerts-date{color:var(--color-text-secondary)}.allergen-alerts-date,.toggle-controls{border-bottom:var(--border-width-thin) solid var(--color-border-light);margin-bottom:var(--space-6);padding-bottom:var(--space-4)}.toggle-controls{align-items:center;display:flex;gap:var(--space-4)}.filter-controls{flex-wrap:wrap;gap:var(--space-6);margin-bottom:var(--space-6)}.filter-group{display:flex;flex-direction:column;gap:var(--space-2)}.filter-label{font-weight:var(--font-semibold)}.filter-label,.meal-filter-select{color:var(--color-text-primary);font-size:var(--text-base)}.meal-filter-select{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;min-height:var(--touch-target-comfortable);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.meal-filter-select:hover{border-color:var(--color-border-dark)}.meal-filter-select:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.alerts-list{display:flex;flex-direction:column;gap:var(--space-6)}.alert-card{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-5);transition:all var(--transition-normal)}.alert-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-conflict{background-color:var(--color-error-50);border:var(--border-width-thick) solid var(--color-conflict-warning)}.child-name{font-size:var(--text-2xl);margin:0}.room-badge-alert{background-color:var(--color-primary-100);border-radius:var(--radius-full);color:var(--color-primary-700);display:inline-block;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-1) var(--space-3);white-space:nowrap}.menu-details{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.menu-details-title{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-medium);margin:0}.meal-info{align-items:flex-start;border-radius:var(--radius-md);display:flex;line-height:var(--leading-relaxed);padding:var(--space-3)}.meal-content-wrapper{flex-grow:1}.meal-type-title{color:var(--color-text-primary);font-weight:var(--font-semibold);margin:0}.meal-type-name{margin-right:var(--space-5)}.menu-type-tag{font-size:var(--text-base);font-weight:var(--font-medium)}.meal-status-safe{background-color:var(--color-success-50);border:var(--border-width-thin) solid var(--color-success-200)}.meal-status-warning{background-color:var(--color-error-50);border:var(--border-width-thin) solid var(--color-error-200);color:var(--color-error-dark)}.conflict-text{color:var(--color-conflict-warning);font-weight:var(--font-bold);margin-bottom:0}.conflict-text,.safe-text{font-size:var(--text-sm);margin-left:var(--space-6);margin-top:var(--space-1)}.safe-text{color:var(--color-text-secondary)}.requirements-section{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.requirement-item{display:flex;flex-direction:column;gap:var(--space-1)}.requirement-label{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.requirement-content{border-radius:var(--radius-md);font-size:var(--text-base);line-height:var(--leading-relaxed);padding:var(--space-2) var(--space-3)}.allergen-content{background-color:var(--color-error-50);border:var(--border-width-thin) solid var(--color-error);color:var(--color-allergen-text);font-weight:var(--font-medium)}.center-text{color:var(--color-text-secondary);padding:var(--space-6);text-align:center}.loading-text{font-size:var(--text-xl)}.error-text{color:var(--color-error);font-weight:var(--font-semibold)}.no-data-text,.no-filter-results{color:var(--color-text-secondary);font-size:var(--text-base)}.no-filter-results{background-color:var(--color-bg-tertiary);border:var(--border-width-thin) dashed var(--color-border-medium);border-radius:var(--radius-md);padding:var(--space-4)}@media (max-width:768px){.allergen-alerts-container{padding:var(--space-4) var(--space-3)}.allergen-alerts-title{font-size:var(--text-3xl)}.filter-controls{flex-direction:column;gap:var(--space-4)}.filter-group,.meal-filter-select{width:100%}.child-header{align-items:flex-start;flex-direction:column}.alert-card{padding:var(--space-4)}}.modal-content .add-child-form{padding:0 var(--space-6) var(--space-6) var(--space-6)}.current-session-form{background-color:var(--color-bg-tertiary);border:2px dashed var(--color-border-medium);border-radius:var(--radius-md);margin-bottom:var(--space-4);padding:var(--space-4)}.session-fields-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--space-4)}.checkbox-group{align-items:center;display:flex;margin-bottom:0}.checkbox-group .checkbox-label{align-items:center;display:flex;gap:var(--space-2);margin:0;padding:var(--space-2) 0}.checkbox-group .checkbox-label input[type=checkbox]{flex-shrink:0;margin:0}.added-sessions-list{margin-top:var(--space-4)}.session-item{align-items:center;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-2);padding:var(--space-3)}.session-info{align-items:center;flex:1 1;flex-wrap:wrap;gap:var(--space-3)}.session-type{color:var(--color-text-primary);font-weight:var(--font-semibold)}.session-detail{color:var(--color-text-tertiary);font-size:var(--text-sm)}.textarea-input{font-family:inherit;min-height:120px;resize:vertical}.form-actions{border-top:1px solid var(--color-border-light);display:flex;gap:var(--space-4);justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--space-5)}@media (max-width:640px){.session-fields-grid{grid-template-columns:1fr}.session-item{align-items:stretch;flex-direction:column}.session-info{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.form-actions{flex-direction:column-reverse;gap:var(--space-3)}.form-actions .btn{width:100%}}.children-container{background-color:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);font-family:var(--font-primary);margin:var(--space-8) auto;max-width:900px;padding:var(--space-6)}.children-title{color:var(--color-text-primary);font-size:var(--text-3xl);font-weight:var(--font-semibold);margin:0}.header-with-button{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-5)}.header-with-button .header-button-group{align-items:flex-end;display:flex;flex-direction:column;gap:6px;margin-left:auto}.controls{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.controls__search{flex:1 1;min-width:180px;position:relative}.controls__search-icon{font-size:14px;left:10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.controls__search .form-input{padding-left:32px;width:100%}.controls .form-select{flex-shrink:0;max-width:200px;min-width:160px}.btn-danger--ghost{background:#0000;border:1px solid #dc3545;color:#dc3545;margin-left:auto}.btn-danger--ghost:hover{background:#dc3545;color:#fff}.children-count{color:var(--color-text-tertiary);font-size:var(--text-sm);margin-bottom:var(--space-3)}.children-list{border-top:1px solid var(--color-border-light);list-style:none;margin:0;padding:0}.child-item{align-items:center;border-bottom:1px solid var(--color-border-light);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--space-4);padding:var(--space-3) var(--space-4);transition:background-color var(--transition-base),transform .1s ease,box-shadow var(--transition-base)}.child-item:hover{background-color:#eff6ff;background-color:var(--color-blue-50,#eff6ff);box-shadow:var(--shadow-sm);transform:translateX(3px)}.child-item:focus-visible{outline:2px solid #3b82f6;outline:2px solid var(--color-blue-500,#3b82f6);outline-offset:2px}.child-avatar{align-items:center;background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:42px;justify-content:center;text-transform:uppercase;width:42px}.child-info{flex:1 1;min-width:0}.child-name{font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 4px}.child-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.child-meta__tag{background:#f3f4f6;border-radius:12px;color:var(--color-text-tertiary);font-size:12px;padding:2px 8px}.child-allergens{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.allergen-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:600;gap:3px;padding:2px 8px;white-space:nowrap}.allergen-badge--high{background:#fee2e2;border:1px solid #fca5a5;color:#b91c1c}.allergen-badge__dot{font-size:10px}.allergen-badge--low{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.allergen-badge--more{background:#f3f4f6;border:1px solid #e5e7eb;color:#6b7280}.view-details{color:var(--color-text-tertiary);flex-shrink:0;font-size:18px;transition:color var(--transition-fast),transform .15s ease}.child-item:hover .view-details{color:#2563eb;color:var(--color-blue-600,#2563eb);transform:translateX(3px)}.empty-state{padding:var(--space-12) var(--space-6)}.empty-state__icon{display:block;font-size:48px;margin-bottom:var(--space-4)}@media (max-width:640px){.children-container{margin:var(--space-4) var(--space-2);padding:var(--space-4)}.header-with-button{align-items:stretch;flex-direction:column}.children-title{text-align:left}.controls{align-items:stretch;flex-direction:column}.btn-danger--ghost,.controls .form-select{margin-left:0;max-width:100%}}.delete-modal{display:flex;flex-direction:column;max-height:85vh;max-width:600px}.search-container{margin-bottom:var(--space-4)}.search-container .form-search input{padding-left:var(--space-10)}.children-selection-list,.pdf-selection-list{border:1px solid var(--color-border-light);border-radius:var(--radius-md);flex:1 1;margin-bottom:var(--space-5);max-height:400px;overflow-y:auto}.child-selection-item,.pdf-selection-item{border-bottom:1px solid var(--color-border-light);padding:var(--space-3) var(--space-4)}.child-selection-item:last-child,.pdf-selection-item:last-child{border-bottom:none}.child-selection-item:hover{background-color:var(--color-bg-tertiary)}.checkbox-label{gap:var(--space-3)}.checkbox-label input[type=checkbox]{flex-shrink:0;height:20px;width:20px}.child-selection-info,.child-selection-info-only{display:flex;flex-direction:column;gap:var(--space-1)}.child-selection-name{color:var(--color-text-primary);font-weight:var(--font-medium)}.child-selection-room{color:var(--color-text-tertiary);font-size:var(--text-sm)}.confirm-list{background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--space-5);max-height:300px;overflow-y:auto;padding:var(--space-4)}.confirm-item{color:var(--color-text-primary);padding:var(--space-2) 0}.pdf-item-header{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.download-pdf-btn{background-color:var(--color-blue-500);border:none;border-radius:var(--radius-sm);color:var(--color-text-inverse);cursor:pointer;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-3);transition:background-color var(--transition-base);white-space:nowrap}.download-pdf-btn:hover{background-color:var(--color-blue-600)}.download-pdf-btn.downloaded{background-color:var(--color-success)}.download-pdf-btn.downloaded:hover{background-color:var(--color-primary-600)}.modal-actions{border-top:1px solid var(--color-border-light);gap:var(--space-4);padding-top:var(--space-4)}.no-results{color:var(--color-text-tertiary);font-style:italic}@media (max-width:640px){.delete-modal{max-width:95%}.pdf-item-header{align-items:stretch;flex-direction:column}.download-pdf-btn{width:100%}.modal-actions{flex-direction:column-reverse;gap:var(--space-3)}.modal-actions .btn{width:100%}}.child-details-container{background-color:var(--color-bg-secondary);margin:0 auto;max-width:var(--max-width-content);min-height:100vh;padding:var(--space-8) var(--space-4)}.child-name{color:var(--color-text-primary);font-size:var(--text-4xl);font-weight:var(--font-bold);letter-spacing:-.02em;margin-bottom:var(--space-2)}.child-room{font-weight:var(--font-medium);margin-bottom:var(--space-8)}.child-room,.loading-text{color:var(--color-text-secondary);font-size:var(--text-lg)}.loading-text{padding:var(--space-10);text-align:center}.card{margin-bottom:var(--space-6)}.card h2{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0;padding:var(--space-2) var(--space-3)}.card ul{margin-top:var(--space-4);padding-left:var(--space-6)}.card li{margin-bottom:var(--space-2)}.card li,.card p{color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.card p{margin:0;padding:var(--space-2) var(--space-3)}.edit-section{background-color:var(--color-bg-tertiary);border:var(--border-width-medium) dashed var(--color-border-medium);border-radius:var(--radius-lg);margin-top:var(--space-5);padding:var(--space-5)}.edit-actions{gap:var(--space-4);justify-content:flex-end}.allergen-selector{margin-bottom:var(--space-6)}.allergen-selector h4{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-3)}.checkbox-grid{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);max-height:300px;overflow-y:auto;padding:var(--space-4)}.dietary-preferences-section,.weaning-options-section{padding:var(--space-2) 0}.dietary-preferences-grid,.weaning-options-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:var(--space-3)}.dietary-preference-checkbox,.weaning-option-checkbox{align-items:center;background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:flex;padding:var(--space-3);transition:all var(--transition-fast)}.dietary-preference-checkbox:hover,.weaning-option-checkbox:hover{background-color:var(--color-primary-50);border-color:var(--color-primary-500);box-shadow:var(--shadow-sm)}.dietary-preference-checkbox input[type=checkbox],.weaning-option-checkbox input[type=checkbox]{accent-color:var(--color-primary-500);cursor:pointer;height:var(--space-5);margin-right:var(--space-3);width:var(--space-5)}.dietary-preference-label,.weaning-option-label{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-medium);-webkit-user-select:none;user-select:none}.dietary-preference-checkbox:has(input[type=checkbox]:checked),.weaning-option-checkbox:has(input[type=checkbox]:checked){background-color:var(--color-primary-100);border-color:var(--color-primary-500)}.dietary-preference-checkbox input[type=checkbox]:checked+.dietary-preference-label,.weaning-option-checkbox input[type=checkbox]:checked+.weaning-option-label{color:var(--color-primary-700);font-weight:var(--font-semibold)}.dietary-preferences-display,.weaning-options-display{padding:var(--space-2) 0}.no-options-text{color:var(--color-text-tertiary);font-style:italic;padding:var(--space-3) 0}.special-requirements-textarea{border:var(--border-width-medium) solid var(--color-border-light);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-base);line-height:var(--leading-relaxed);min-height:120px;padding:var(--space-3);resize:vertical;transition:border-color var(--transition-fast);width:100%}.special-requirements-textarea:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.special-requirements-display{padding:var(--space-3) 0}.special-requirements-text{background-color:var(--color-bg-tertiary);border-left:var(--border-width-thick) solid var(--color-primary-500);border-radius:var(--radius-md);color:var(--color-text-primary);line-height:var(--leading-relaxed);margin:0;padding:var(--space-4);white-space:pre-wrap}.no-requirements-text{color:var(--color-text-tertiary);font-style:italic;padding:var(--space-3) 0}.subsection-title{color:var(--color-text-primary);font-size:var(--text-lg);margin-top:var(--space-6);padding:0 var(--space-3)}.sessions-table-container{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:var(--space-4);overflow-x:auto}.sessions-table{border-collapse:collapse;margin-bottom:var(--space-4);width:100%}.sessions-table th{background-color:var(--color-gray-100);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);text-align:center}.sessions-table td,.sessions-table th{border:var(--border-width-thin) solid var(--color-border-light);padding:var(--space-3)}.sessions-table td{vertical-align:top}.session-cell{background-color:var(--color-gray-50);min-height:80px}.session-list{gap:var(--space-2)}.session-box,.session-list{display:flex;flex-direction:column}.session-box{background-color:var(--color-primary-500);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-1);padding:var(--space-3);position:relative}.session-name{font-size:var(--text-base)}.session-dates{color:#ffffffe6;font-size:var(--text-xs);margin-top:var(--space-1)}.ongoing-text{font-style:italic;opacity:.8}.delete-button-inline{align-items:center;background-color:var(--color-error);border:none;border-radius:var(--radius-full);color:var(--color-text-inverse);cursor:pointer;display:flex;font-size:var(--text-lg);height:var(--space-6);justify-content:center;line-height:1;padding:0;position:absolute;right:var(--space-1);top:var(--space-1);transition:background-color var(--transition-fast);width:var(--space-6)}.delete-button-inline:hover{background-color:var(--color-error-dark)}.add-end-date-button{background-color:#fff3;border:var(--border-width-thin) solid #ffffff80;border-radius:var(--radius-sm);color:var(--color-text-inverse);cursor:pointer;font-size:var(--text-xs);margin-top:var(--space-1);padding:var(--space-1) var(--space-2);transition:background-color var(--transition-fast)}.add-end-date-button:hover{background-color:#ffffff4d}.end-date-form{align-items:center;background-color:#ffffff1a;border-radius:var(--radius-md);display:flex;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2)}.end-date-input{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--radius-sm);flex:1 1;font-size:var(--text-sm);padding:var(--space-2)}.cancel-end-date-button,.save-end-date-button{align-items:center;border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;font-size:var(--text-base);font-weight:var(--font-bold);justify-content:center;min-height:36px;min-width:36px;padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.save-end-date-button{background-color:var(--color-success);border:2px solid var(--color-success-dark);color:var(--color-text-inverse)}.save-end-date-button:hover{background-color:var(--color-success-dark);box-shadow:var(--shadow-md);transform:translateY(-1px) scale(1.05)}.cancel-end-date-button{background-color:var(--color-error)!important;border:2px solid var(--color-error-dark)!important;color:var(--color-text-inverse)!important}.cancel-end-date-button:hover{background-color:var(--color-error-dark)!important;box-shadow:var(--shadow-md);transform:translateY(-1px) scale(1.05)}.session-box .end-date-form .save-end-date-button{background-color:var(--color-success);color:#fff}.session-box .end-date-form .cancel-end-date-button{background-color:var(--color-error);color:#fff}.no-booking{color:var(--color-text-tertiary);font-size:var(--text-sm);font-style:italic;padding:var(--space-4) 0;text-align:center}.one-off-sessions-section{border-top:var(--border-width-thin) solid var(--color-border-light);margin-top:var(--space-8);padding-top:var(--space-6)}.one-off-sessions-list{display:flex;flex-direction:column;gap:var(--space-3)}.one-off-session-item{align-items:center;background-color:var(--color-warning-100);border:var(--border-width-thin) solid var(--color-warning-300);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-3) var(--space-4)}.one-off-session-info{display:flex;flex-direction:column;gap:var(--space-1)}.one-off-session-name{color:var(--color-warning-900);font-size:var(--text-base);font-weight:var(--font-semibold)}.one-off-session-date{color:var(--color-warning-800);font-size:var(--text-sm)}.delete-button-small{background-color:var(--color-error);border:none;border-radius:var(--radius-md);color:var(--color-text-inverse);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-3);transition:background-color var(--transition-fast);white-space:nowrap}.delete-button-small:hover{background-color:var(--color-error-dark)}.add-session-form{background-color:var(--color-bg-tertiary);border:var(--border-width-medium) dashed var(--color-border-medium);border-radius:var(--radius-lg);margin-top:var(--space-5);padding:var(--space-5)}.add-session-form h4{color:var(--color-text-primary);font-weight:var(--font-semibold);margin-bottom:var(--space-4);margin-top:0}.session-type-toggle{display:flex;gap:var(--space-3);margin-bottom:var(--space-5)}.toggle-button{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;flex:1 1;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-3) var(--space-5);transition:all var(--transition-fast)}.toggle-button:hover{background-color:var(--color-bg-tertiary)}.toggle-button.active{background-color:var(--color-primary-500);border-color:var(--color-primary-500);color:var(--color-text-inverse)}.form-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr);margin-bottom:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--text-sm);margin-bottom:var(--space-1)}.form-group input,.form-group select{border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--radius-md);font-size:var(--text-base);min-height:var(--touch-target-comfortable);padding:var(--space-3) var(--space-4);transition:border-color var(--transition-fast);width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.absences-list{margin-bottom:var(--space-5)}.absences-list h4{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-3);padding:0 var(--space-3)}.absence-item{align-items:center;background-color:var(--color-warning-100);border:var(--border-width-thin) solid var(--color-warning-300);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;margin-bottom:var(--space-2);padding:var(--space-3)}.absence-info{display:flex;flex-direction:column;gap:var(--space-1)}.absence-date{color:var(--color-warning-900);font-weight:var(--font-semibold)}.absence-session{color:var(--color-warning-800);font-size:var(--text-sm)}.mark-absence-form{background-color:var(--color-bg-tertiary);border-radius:var(--radius-lg);margin-top:var(--space-5);padding:var(--space-5)}.mark-absence-form h4{color:var(--color-text-primary);margin-bottom:var(--space-4)}.week-navigation{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-5);margin-top:var(--space-4);padding:0 var(--space-3)}.week-label{color:var(--color-text-primary);flex:1 1;font-size:var(--text-base);font-weight:var(--font-semibold);margin:0;text-align:center}.week-navigation .btn{font-size:var(--text-sm);min-height:36px;padding:var(--space-2) var(--space-3)}.week-navigation button.btn.btn-primary:disabled,.week-navigation button.btn:disabled{background-color:var(--color-gray-300);border-color:var(--color-gray-300);cursor:not-allowed;opacity:.5;pointer-events:none}.week-navigation button.btn.btn-primary:disabled:hover,.week-navigation button.btn:disabled:hover{background-color:var(--color-gray-300);border-color:var(--color-gray-300);transform:none}.menu-table-container{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-top:var(--space-3);overflow-x:auto}.menu-table{background-color:var(--color-bg-primary);border-collapse:collapse;font-size:var(--text-sm);width:100%}.menu-table td,.menu-table th{border:var(--border-width-thin) solid var(--color-border-light);padding:var(--space-3);text-align:left}.menu-table th{background-color:var(--color-gray-100);color:var(--color-text-primary);font-weight:var(--font-semibold);position:sticky;top:0}.meal-type-label{background-color:var(--color-gray-50);white-space:nowrap}.today-cell{background-color:#fff9c4!important}.meal-cell{cursor:pointer;flex-direction:column;gap:var(--space-2);min-height:80px;transition:background-color var(--transition-fast)}.meal-cell:hover{background-color:var(--color-bg-tertiary)}.meal-menu-type{background-color:initial;border-radius:0;font-size:var(--text-xs);font-style:normal;font-weight:var(--font-bold);letter-spacing:.5px;order:-1;padding:0;text-transform:uppercase;width:fit-content}.meal-menu-type[data-menu-type]{color:var(--color-primary-500);color:var(--menu-type-color,var(--color-primary-500))}.meal-name{font-size:var(--text-base);font-weight:var(--font-semibold);margin:0}.meal-warning{color:var(--color-warning);cursor:help;font-size:var(--text-xs);font-weight:var(--font-medium);margin-top:var(--space-1)}.no-meal,.not-attending{color:var(--color-text-tertiary);font-size:var(--text-sm);font-style:italic}.not-attending{text-align:center}@media (max-width:768px){.child-details-container{padding:var(--space-4) var(--space-3)}.child-name{font-size:var(--text-3xl)}.checkbox-grid{grid-template-columns:1fr}.edit-actions{flex-direction:column-reverse}.edit-actions button{width:100%}.week-navigation{flex-direction:column;gap:var(--space-2)}.week-label{font-size:var(--text-base);order:-1}.sessions-table td,.sessions-table th{font-size:var(--text-xs);padding:var(--space-2)}.menu-table{font-size:var(--text-xs)}.menu-table td,.menu-table th{padding:var(--space-2)}.one-off-session-item{align-items:stretch;flex-direction:column}.delete-button-small{width:100%}.form-grid{grid-template-columns:1fr}}@media (max-width:480px){.dietary-preferences-grid,.weaning-options-grid{grid-template-columns:1fr}.session-type-toggle{flex-direction:column}}.modal-content{max-width:700px;padding:var(--space-8);position:relative}.modal-close-btn{align-items:center;background:none;border:none;border-radius:var(--radius-full);color:var(--color-text-tertiary);cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;padding:0;position:absolute;right:var(--space-4);top:var(--space-4);transition:all var(--transition-fast);width:40px}.modal-close-btn:hover{background-color:var(--color-gray-200);color:var(--color-text-primary);transform:rotate(90deg)}.modal-title{color:var(--color-text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin:0 0 var(--space-6) 0;padding-right:var(--space-10)}.modal-info{background-color:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-lg);margin-bottom:var(--space-6);padding:var(--space-4)}.modal-info p{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:var(--space-2) 0}.modal-info strong{color:var(--color-text-primary);font-weight:var(--font-semibold);margin-right:var(--space-2)}.modal-info .meal-type-text{border-radius:var(--radius-sm);display:inline-block;font-weight:var(--font-bold);letter-spacing:.5px;padding:var(--space-1) var(--space-3);text-transform:uppercase}.modal-info .meal-type-text[data-light=true]{background-color:var(--color-primary-500);background-color:var(--menu-type-color,var(--color-primary-500));color:#1a1a1a}.modal-info .meal-type-text[data-light=false]{background-color:initial;color:var(--color-primary-500);color:var(--menu-type-color,var(--color-primary-500));padding:0}.conflict-warning{background-color:var(--color-error-light);border:var(--border-width-medium) solid var(--color-error);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);padding:var(--space-5)}.conflict-warning h3{align-items:center;display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);gap:var(--space-2)}.conflict-warning h3,.conflict-warning p{color:var(--color-error-dark);margin:0 0 var(--space-3) 0}.conflict-warning p{font-weight:var(--font-medium)}.conflict-warning ul{margin:0;padding-left:var(--space-6)}.conflict-item{color:var(--color-error);font-size:var(--text-base);font-weight:var(--font-semibold);margin:var(--space-2) 0}.ingredients-section{margin-bottom:var(--space-6)}.ingredients-section h3{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-4) 0}.ingredients-list{display:flex;flex-direction:column;gap:var(--space-3);list-style:none;margin:0;padding:0}.ingredients-list li{background-color:var(--color-bg-tertiary);border-left:var(--border-width-thick) solid var(--color-primary-500);border-radius:var(--radius-md);padding:var(--space-4);transition:all var(--transition-fast)}.ingredients-list li:hover{background-color:var(--color-bg-secondary);box-shadow:var(--shadow-sm);transform:translateX(2px)}.ingredient-conflict{background-color:var(--color-error-light)!important;border-left-color:var(--color-error)!important}.ingredient-conflict:hover{background-color:#ffe0e0!important}.ingredient-name{align-items:center;display:flex;gap:var(--space-2)}.conflict-icon{font-size:var(--text-lg)}.ingredient-allergens{align-items:center;color:var(--color-allergen-text);display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);margin-top:var(--space-2)}.ingredient-allergens:before{content:"⚠";font-size:var(--text-base)}.ingredient-dietary{color:var(--color-warning-700);font-size:var(--text-sm);font-style:italic;font-weight:var(--font-medium);margin-top:var(--space-1)}.method-section{margin-bottom:var(--space-6)}.method-section h3{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-3) 0}.method-text{background-color:var(--color-bg-tertiary);border-left:var(--border-width-thick) solid var(--color-primary-500);border-radius:var(--radius-md);color:var(--color-text-secondary);line-height:var(--leading-relaxed);padding:var(--space-4);white-space:pre-wrap}.close-button{background-color:var(--color-primary-500);color:var(--color-text-inverse);font-size:var(--text-base);font-weight:var(--font-semibold);margin-top:var(--space-4);min-height:var(--touch-target-comfortable);padding:var(--space-3) var(--space-6);width:100%}.close-button:hover{background-color:var(--color-primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.close-button:active{transform:translateY(0)}.modal-content p:only-child{color:var(--color-text-secondary);font-size:var(--text-lg);padding:var(--space-8);text-align:center}@media (max-width:768px){.modal-content{max-height:95vh;max-width:95%;padding:var(--space-6)}.modal-title{font-size:var(--text-2xl);padding-right:var(--space-8)}.modal-close-btn{font-size:28px;height:36px;right:var(--space-3);top:var(--space-3);width:36px}.conflict-warning{padding:var(--space-4)}.conflict-warning h3{font-size:var(--text-lg)}.ingredients-list li{padding:var(--space-3)}.ingredient-name{font-size:var(--text-sm)}}@media (max-width:480px){.modal-content{padding:var(--space-4)}.modal-title{font-size:var(--text-xl)}.conflict-warning,.modal-info{padding:var(--space-3)}}.shopping-list-container{background-color:var(--color-bg-secondary);margin:0 auto;max-width:var(--max-width-content);min-height:100vh;padding:var(--space-8) var(--space-4)}.shopping-list-title{color:var(--color-text-primary);font-size:var(--text-4xl);font-weight:var(--font-bold);margin-bottom:var(--space-6)}.date-selector-card{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);padding:var(--space-6)}.date-selector-card h2{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-5)}.date-inputs{grid-gap:var(--space-5);display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--space-5)}.date-input-group{display:flex;flex-direction:column;gap:var(--space-2)}.date-input-group label{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.date-input{border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--radius-md);font-size:var(--text-base);min-height:var(--touch-target-comfortable);padding:var(--space-3);transition:border-color var(--transition-fast)}.date-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.error-message{margin-bottom:var(--space-5);padding:var(--space-4)}.error-message p{margin:0}.shopping-list-results{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.results-header{align-items:flex-start;background-color:var(--color-bg-tertiary);border-bottom:var(--border-width-thin) solid var(--color-border-light);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;padding:var(--space-5)}.results-info h2{color:var(--color-text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.date-range{font-size:var(--text-sm);margin-bottom:var(--space-1)}.total-count{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.action-buttons{display:flex;gap:var(--space-3)}.list-controls{align-items:flex-end;background-color:var(--color-bg-tertiary);border-bottom:var(--border-width-thin) solid var(--color-border-light);display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.control-group{display:flex;flex-direction:column;gap:var(--space-2);min-width:180px}.control-group label{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.control-select{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);min-height:var(--touch-target-comfortable);padding:var(--space-2) var(--space-3);transition:border-color var(--transition-fast)}.control-select:focus{box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.control-select:focus,.control-select:hover{border-color:var(--color-primary-500)}.no-ingredients{color:var(--color-text-tertiary);font-size:var(--text-base);font-style:italic;padding:var(--space-10);text-align:center}.ingredients-table-container{margin-top:0;overflow-x:auto}.shopping-table{background-color:var(--color-bg-primary);border-collapse:collapse;width:100%}.shopping-table thead{background-color:var(--color-gray-100);border-bottom:var(--border-width-medium) solid var(--color-border-medium)}.shopping-table thead th{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.05em;padding:var(--space-4) var(--space-5);text-align:left;text-transform:uppercase}.shopping-table thead th:last-child{text-align:right}.shopping-table tbody tr{border-bottom:var(--border-width-thin) solid var(--color-border-light);transition:background-color var(--transition-fast)}.shopping-table tbody tr:hover{background-color:var(--color-bg-tertiary)}.shopping-table tbody tr:last-child{border-bottom:none}.shopping-table tbody td{color:var(--color-text-primary);font-size:var(--text-base);padding:var(--space-4) var(--space-5)}.shopping-table tbody td:first-child{font-weight:var(--font-medium)}.shopping-table tbody td:nth-child(2),.shopping-table tbody td:nth-child(3){color:var(--color-text-secondary)}.shopping-table tbody td:last-child{color:var(--color-success-600);font-weight:var(--font-semibold);text-align:right}@media (max-width:768px){.shopping-list-container{padding:var(--space-4) var(--space-3)}.shopping-list-title{font-size:var(--text-3xl)}.date-selector-card{padding:var(--space-4)}.date-inputs{grid-template-columns:1fr}.list-controls{align-items:stretch;flex-direction:column;padding:var(--space-3)}.control-group{width:100%}.results-header{flex-direction:column;padding:var(--space-4)}.action-buttons{flex-direction:column;width:100%}.shopping-table{font-size:var(--text-sm)}.shopping-table tbody td,.shopping-table thead th{padding:var(--space-3)}}@media (max-width:480px){.shopping-table tbody td,.shopping-table thead th{font-size:var(--text-xs);padding:var(--space-2)}}@media print{body *{visibility:hidden}.shopping-list-results,.shopping-list-results *{visibility:visible}.shopping-list-results{left:0;position:absolute;top:0;width:100%}.action-buttons,.back-btn,.date-selector-card,.list-controls,.shopping-list-title{display:none!important}.shopping-table tbody tr{page-break-inside:avoid}.shopping-list-results{color:#000}.results-header{background-color:#fff;border-bottom:2px solid #000}}.menu-management-wrapper{background-color:var(--color-bg-secondary);min-height:100vh}.menu-management-container{margin:0 auto;max-width:var(--max-width-wide);overflow-x:auto;padding:var(--space-8) var(--space-4)}.page-header{margin-bottom:var(--space-8)}.page-header h1{color:var(--color-text-primary);font-size:var(--text-4xl);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0}.subtitle{color:var(--color-text-secondary);font-size:var(--text-base);margin:0}.cycle-selector{align-items:center;background:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-5)}.cycle-selector-label{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.cycle-dropdown{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--radius-md);cursor:pointer;flex:1 1;font-size:var(--text-base);max-width:500px;min-height:var(--touch-target-comfortable);padding:var(--space-3);transition:border-color var(--transition-fast)}.cycle-dropdown:hover{border-color:var(--color-border-dark)}.cycle-dropdown:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.cycle-info{align-items:center;display:flex;gap:var(--space-3)}.cycle-badge{border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-3)}.cycle-badge.active{background-color:var(--color-success-100);color:var(--color-success-700)}.cycle-badge:not(.active){background-color:var(--color-gray-100);color:var(--color-text-secondary)}.cycle-length{background-color:var(--color-primary-100);border-radius:var(--radius-full);color:var(--color-primary-700);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-3)}.menu-toggle{background-color:var(--color-bg-tertiary);display:flex;gap:var(--space-3);padding:var(--space-3)}.cycle-grid-container,.menu-toggle{border-radius:var(--radius-lg);margin-bottom:var(--space-8)}.cycle-grid-container{border:var(--border-width-thin) solid var(--color-border-medium);box-shadow:var(--shadow-lg);overflow-x:auto}.cycle-table{background-color:var(--color-bg-primary);border-collapse:collapse;min-width:1400px;width:100%}.cycle-table thead{background-color:var(--color-gray-800);position:sticky;top:0;z-index:10}.day-header,.meal-type-header{border:var(--border-width-thin) solid var(--color-gray-700);color:var(--color-text-inverse);font-weight:var(--font-semibold);padding:var(--space-4) var(--space-3);text-align:center}.meal-type-header{background-color:var(--color-gray-800);border-right:var(--border-width-medium) solid var(--color-gray-600);left:0;min-width:140px;position:sticky;text-align:left;z-index:11}.day-header{font-size:var(--text-sm);min-width:120px}.cycle-table tbody tr{border-bottom:var(--border-width-thin) solid var(--color-border-medium)}.cycle-table tbody tr:hover{background-color:var(--color-bg-tertiary)}.meal-type-label{background-color:var(--color-gray-100);border-bottom:var(--border-width-thin) solid var(--color-border-medium);border-right:var(--border-width-medium) solid var(--color-border-dark);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);left:0;padding:var(--space-4) var(--space-3);position:sticky;z-index:5}.meal-cell-container{border-bottom:var(--border-width-thin) solid var(--color-border-light);border-right:var(--border-width-thin) solid var(--color-border-light);cursor:pointer;min-height:80px;padding:var(--space-2);transition:background-color var(--transition-fast);vertical-align:top}.meal-cell-container:hover{background-color:var(--color-primary-50)}.meal-cell-container>div{margin-bottom:var(--space-1)}.meal-cell-container>div:last-child{margin-bottom:0}.meal-cell{align-items:center;border-radius:var(--radius-md);display:flex;justify-content:center;min-height:70px;padding:var(--space-3);transition:all var(--transition-fast)}.meal-cell.filled{background-color:var(--color-success-100);border:var(--border-width-medium) solid var(--color-success-500)}.meal-cell.filled:hover{background-color:var(--color-success-200);box-shadow:var(--shadow-md);transform:translateY(-2px)}.meal-cell.empty{background-color:var(--color-bg-tertiary);border:var(--border-width-medium) dashed var(--color-border-medium)}.meal-cell.empty:hover{background-color:var(--color-bg-secondary);border-color:var(--color-primary-500)}.meal-name{color:var(--color-success-800);line-height:var(--leading-snug);text-align:center;word-break:break-word}.add-meal,.meal-name{font-weight:var(--font-medium)}.add-meal{color:var(--color-text-secondary);font-size:var(--text-sm)}.meal-cell.empty:hover .add-meal{color:var(--color-primary-600)}@media (max-width:1400px){.cycle-grid-container{overflow-x:scroll}}@media (max-width:768px){.menu-management-container{padding:var(--space-4) var(--space-3)}.page-header h1{font-size:var(--text-3xl)}.cycle-selector{align-items:stretch;flex-direction:column;padding:var(--space-4)}.cycle-dropdown{max-width:100%}.cycle-info{justify-content:space-between}.menu-toggle{flex-wrap:wrap}}@media print{.menu-toggle{display:none}.page-header h1{font-size:var(--text-xl)}.cycle-table{font-size:var(--text-xs)}.meal-cell{min-height:50px;padding:var(--space-2)}}.form-textarea{min-height:80px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.section-header h3{font-size:var(--text-lg);margin:0}.ingredient-search{background-color:var(--color-primary-50);border:var(--border-width-medium) solid var(--color-primary-500);border-radius:var(--radius-md);margin-bottom:var(--space-5);padding:var(--space-3)}.search-input{margin-bottom:var(--space-3)}.search-results{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);max-height:250px;overflow-y:auto}.search-result-item{align-items:center;border-bottom:var(--border-width-thin) solid var(--color-border-light);cursor:pointer;display:flex;justify-content:space-between;padding:var(--space-3);transition:background-color var(--transition-fast)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:var(--color-primary-50)}.tags-container{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.allergen-badge{background-color:var(--color-warning-100);border-radius:var(--radius-sm);color:var(--color-warning-800)}.allergen-badge,.dietary-badge{font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2)}.dietary-badge{background-color:var(--color-primary-100);border-radius:var(--radius-full);color:var(--color-primary-700);display:inline-block}.empty-state{color:var(--color-text-tertiary);font-style:italic;padding:var(--space-10);text-align:center}.ingredients-list{border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.ingredient-item{align-items:center;background-color:var(--color-bg-primary);border-bottom:var(--border-width-thin) solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--space-4);transition:background-color var(--transition-fast)}.ingredient-item:last-child{border-bottom:none}.ingredient-item:hover{background-color:var(--color-bg-tertiary)}.ingredient-info{flex:1 1}.ingredient-name{display:block;font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.tags-wrapper{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-1)}.allergen-tags,.dietary-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.allergen-tag{background-color:var(--color-warning-100);border:var(--border-width-thin) solid var(--color-warning-300);border-radius:var(--radius-sm);color:var(--color-warning-800);font-weight:var(--font-medium)}.dietary-tag{background-color:var(--color-primary-100);color:var(--color-primary-700)}.ingredient-quantity{align-items:center;display:flex;gap:var(--space-2)}.quantity-input{border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-sm);font-size:var(--text-base);padding:var(--space-2);text-align:right;width:80px}.quantity-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-primary-100);outline:none}.unit-label{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.unit-select{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);padding:var(--space-2)}.unit-select:focus{border-color:var(--color-primary-500);outline:none}.remove-button{align-items:center;background-color:var(--color-error);border:none;border-radius:var(--radius-sm);color:var(--color-text-inverse);cursor:pointer;display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);height:28px;justify-content:center;padding:0;transition:background-color var(--transition-fast);width:28px}.remove-button:hover{background-color:var(--color-error-dark)}.footer-left,.footer-right{display:flex;gap:var(--space-3)}.modal-body::-webkit-scrollbar,.search-results::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track,.search-results::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}.modal-body::-webkit-scrollbar-thumb,.search-results::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-sm)}.modal-body::-webkit-scrollbar-thumb:hover,.search-results::-webkit-scrollbar-thumb:hover{background:var(--color-gray-600)}@media (max-width:768px){.modal-overlay{padding:var(--space-3)}.modal-content{max-height:95vh}.modal-header{padding:var(--space-4)}.modal-header h2{font-size:var(--text-lg)}.modal-body,.modal-footer{padding:var(--space-4)}.modal-footer{flex-direction:column;gap:var(--space-3)}.footer-left,.footer-right{flex-direction:column;width:100%}.ingredient-item{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.ingredient-quantity{justify-content:space-between;width:100%}}.ingredient-management-container{background-color:var(--color-bg-tertiary);border-top:var(--border-width-thick) solid var(--color-border-medium);margin-top:var(--space-10);padding:var(--space-10) var(--space-5) var(--space-5) var(--space-5)}.ingredient-header{margin-bottom:var(--space-8)}.ingredient-header h2{color:var(--color-text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.ingredient-header .subtitle{color:var(--color-text-secondary);font-size:var(--text-base);margin:0}.header-content{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:space-between}.header-text{flex:1 1}.header-buttons{display:flex;gap:var(--space-3)}.ingredient-controls{align-items:center;background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-4)}.search-box{flex:1 1;min-width:250px}.search-input{border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-md);font-size:var(--text-base);min-height:var(--touch-target-comfortable);padding:var(--space-3);transition:border-color var(--transition-fast);width:100%}.search-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.filter-controls{display:flex;gap:var(--space-3)}.filter-select{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);min-height:var(--touch-target-comfortable);padding:var(--space-3);transition:border-color var(--transition-fast)}.filter-select:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.results-count{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);margin-left:auto;white-space:nowrap}.ingredients-table-container{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.ingredients-table{border-collapse:collapse;width:100%}.ingredients-table thead{background-color:var(--color-gray-800);color:var(--color-text-inverse)}.ingredients-table th{border-bottom:var(--border-width-medium) solid var(--color-gray-700);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-4);text-align:left}.ingredient-name-col{width:20%}.default-unit-col{width:8%}.category-col,.shop-col{width:12%}.allergens-col{width:20%}.dietary-col{width:18%}.actions-col{text-align:center;width:10%}.ingredients-table tbody tr{border-bottom:var(--border-width-thin) solid var(--color-border-light);transition:background-color var(--transition-fast)}.ingredients-table tbody tr:hover{background-color:var(--color-bg-tertiary)}.ingredients-table td{padding:var(--space-4);vertical-align:middle}.ingredient-name{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-medium)}.default-unit{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-medium)}.category-cell,.shop-cell{padding:var(--space-3) var(--space-4)}.category-tag{color:var(--color-text-primary);font-size:var(--text-sm)}.category-tag,.shop-tag{font-weight:var(--font-medium)}.shop-tag{background-color:var(--color-purple-100);border-radius:var(--radius-full);color:var(--color-purple-700);display:inline-block;font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.no-category,.no-shop{color:var(--color-text-tertiary);font-size:var(--text-sm);font-style:italic}.allergens-cell{padding:var(--space-3) var(--space-4)}.allergen-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.allergen-tag{color:var(--color-allergen-text);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2)}.no-allergens{color:var(--color-text-secondary);font-size:var(--text-sm);font-style:italic}.dietary-cell{padding:var(--space-3) var(--space-4)}.dietary-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.dietary-tag{background-color:var(--color-danger-100);border-radius:var(--radius-full);color:var(--color-danger-800);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2)}.no-dietary{color:var(--color-text-secondary);font-size:var(--text-sm);font-style:italic}.actions-cell,.no-results{text-align:center}.no-results{color:var(--color-text-secondary);font-size:var(--text-base);padding:var(--space-10) var(--space-5)}.error,.loading{font-size:var(--text-lg);padding:var(--space-10)}.error{background-color:var(--color-danger-50);border:var(--border-width-thin) solid var(--color-danger-200);border-radius:var(--radius-lg);margin:var(--space-5)}@media (max-width:1200px){.ingredient-controls{align-items:stretch;flex-direction:column}.filter-controls,.search-box{width:100%}.filter-select{flex:1 1}.results-count{margin-left:0;text-align:center}}@media (max-width:768px){.ingredient-management-container{padding:var(--space-5) var(--space-3)}.ingredient-header h2{font-size:var(--text-2xl)}.header-content{align-items:stretch;flex-direction:column}.header-buttons{width:100%}.ingredients-table{font-size:var(--text-xs)}.ingredients-table td,.ingredients-table th{padding:var(--space-2)}.allergen-tag,.dietary-tag{font-size:var(--text-xs);padding:var(--space-1)}.category-tag,.shop-tag{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}}.modal-content{max-height:85vh}.modal-content.large{max-width:700px}.section{margin-bottom:var(--space-8)}.section:last-child{margin-bottom:0}.section-title{font-size:var(--text-xl);margin:0 0 var(--space-2) 0}.section-description{margin:0 0 var(--space-4) 0}.checkbox-label{background:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-3);transition:background var(--transition-fast)}.checkbox-label:hover{background:var(--color-bg-secondary)}.dietary-flags-list{display:flex;flex-direction:column;gap:var(--space-3)}.dietary-flag-item{align-items:center;background:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);transition:background var(--transition-fast)}.dietary-flag-item:hover{background:var(--color-bg-secondary)}.dietary-flag-item input[type=checkbox]{accent-color:var(--color-primary-500);cursor:pointer;height:var(--space-5);width:var(--space-5)}.preference-name{flex:1 1}.status-indicator{border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-1) var(--space-3)}.status-indicator.suitable{background:var(--color-success-100);color:var(--color-success-700)}.status-indicator.not-suitable{background:var(--color-error);color:var(--color-danger)}.modal-footer{background:var(--color-bg-primary);bottom:0;position:sticky}.loading{font-size:var(--text-lg)}@media (max-width:768px){.modal-overlay{padding:var(--space-2)}.modal-content.large{max-height:90vh;width:95%}.modal-header{padding:var(--space-4)}.modal-header h2{font-size:var(--text-xl)}.modal-body{padding:var(--space-4)}.checkbox-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column;padding:var(--space-3) var(--space-4)}.modal-footer button{width:100%}}.comprehensive-edit-modal{display:flex;flex-direction:column;max-height:85vh;max-width:700px;width:90%}.modal-tabs{background-color:var(--color-bg-tertiary);border-bottom:var(--border-width-medium) solid var(--color-border-light);display:flex;gap:0;padding:0 var(--space-5)}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-medium);padding:var(--space-3) var(--space-6);position:relative;top:2px;transition:all var(--transition-fast)}.tab-button:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.tab-button.active{background-color:var(--color-bg-primary);border-bottom-color:var(--color-primary-500);color:var(--color-primary-500);font-weight:var(--font-semibold)}.tab-content{animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-description{background-color:var(--color-bg-tertiary);border-left:var(--border-width-thick) solid var(--color-primary-500);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0 0 var(--space-5) 0;padding:var(--space-3)}.form-group{margin-bottom:var(--space-5)}.form-input,.form-select{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);min-height:var(--touch-target-comfortable);padding:var(--space-3);transition:border-color var(--transition-fast);width:100%}.form-input:focus,.form-select:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.checkbox-item{align-items:center;background-color:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-2);padding:var(--space-3);transition:background-color var(--transition-fast)}.checkbox-item:hover{background-color:var(--color-bg-secondary)}.checkbox-item input[type=checkbox]{accent-color:var(--color-primary-500);cursor:pointer;height:var(--space-5);width:var(--space-5)}.checkbox-item span{color:var(--color-text-primary);font-size:var(--text-base);-webkit-user-select:none;user-select:none}.modal-footer{padding:var(--space-4) var(--space-6)}.footer-left{flex:1 1}@media (max-width:768px){.comprehensive-edit-modal{max-height:90vh;width:95%}.modal-tabs{padding:0 var(--space-3)}.tab-button{font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.modal-body{padding:var(--space-4)}.checkbox-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.footer-left{width:100%}.footer-right{flex-direction:column;width:100%}.footer-right button{width:100%}}.modal-overlay{padding:var(--space-5)}.modal-content{width:100%}.modal-content.large{max-width:900px}.modal-header{border-bottom:var(--border-width-medium) solid var(--color-border-light);border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-direction:column;gap:var(--space-2);position:relative}.modal-header h2{font-size:var(--text-xl);padding-right:var(--space-8)}.modal-header p{font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.close-button,.modal-header p{color:var(--color-text-secondary)}.close-button{position:absolute;right:var(--space-6);top:var(--space-6);transition:all var(--transition-fast)}.close-button:hover{background-color:var(--color-bg-secondary)}.form-label{font-size:var(--text-base);font-weight:var(--font-semibold)}.form-input,.form-textarea{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:inherit;font-size:var(--text-base);padding:var(--space-3);transition:border-color var(--transition-fast);width:100%}.form-input:focus,.form-textarea:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.form-textarea{line-height:var(--leading-relaxed);min-height:200px}.modal-footer{border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:var(--border-width-medium) solid var(--color-border-light);gap:var(--space-3);justify-content:flex-end}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}.modal-body::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-sm)}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--color-gray-600)}@media (max-width:768px){.modal-overlay{padding:var(--space-3)}.modal-content{max-height:95vh}.modal-header{padding:var(--space-4)}.modal-header h2{font-size:var(--text-lg)}.close-button{right:var(--space-4);top:var(--space-4)}.modal-body,.modal-footer{padding:var(--space-4)}.modal-footer{flex-direction:column}.modal-footer button{width:100%}}.system-settings-container{background-color:var(--color-bg-secondary);margin:0 auto;max-width:var(--max-width-wide);min-height:100vh;padding:var(--space-6)}.settings-header{margin-bottom:var(--space-8)}.settings-header h1{color:var(--color-text-primary);font-size:var(--text-4xl);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0}.settings-subtitle{color:var(--color-text-secondary);font-size:var(--text-base);margin:0}.settings-layout{grid-gap:var(--space-6);align-items:start;display:grid;gap:var(--space-6);grid-template-columns:280px 1fr}.settings-sidebar{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4);position:sticky;top:var(--space-6)}.settings-nav{display:flex;flex-direction:column;gap:var(--space-1)}.settings-nav-item{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--text-base);font-weight:var(--font-medium);gap:var(--space-3);padding:var(--space-3) var(--space-4);text-align:left;transition:all var(--transition-fast)}.settings-nav-item:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.settings-nav-item.active{background-color:var(--color-primary-100);color:var(--color-primary-700);font-weight:var(--font-semibold)}.nav-icon{font-size:var(--text-xl);line-height:1}.nav-label{flex:1 1}.settings-content{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.settings-section{padding:var(--space-8)}.section-header{border-bottom:var(--border-width-medium) solid var(--color-border-light);margin-bottom:var(--space-8);padding-bottom:var(--space-6)}.section-header h2{font-size:var(--text-2xl);font-weight:var(--font-bold)}.section-header h2,.section-header h3{color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.section-header h3{font-size:var(--text-xl);font-weight:var(--font-semibold)}.section-header p{color:var(--color-text-secondary);font-size:var(--text-base);margin:0}.settings-card{background:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--space-6);padding:var(--space-6)}.settings-card:last-child{margin-bottom:0}.settings-card h3{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-5) 0}.setting-item{margin-bottom:var(--space-6)}.setting-item:last-child{margin-bottom:0}.setting-item label{display:block;margin-bottom:var(--space-2)}.setting-item label strong{color:var(--color-text-primary);display:block;font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.setting-description{color:var(--color-text-secondary);display:block;font-size:var(--text-sm);font-weight:400;line-height:var(--leading-relaxed)}.setting-input{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);max-width:400px;padding:var(--space-3);transition:border-color var(--transition-fast);width:100%}.setting-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.setting-item-checkbox{margin-bottom:var(--space-5)}.setting-item-checkbox:last-child{margin-bottom:0}.setting-item-checkbox label{align-items:flex-start;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-3);transition:background-color var(--transition-fast)}.setting-item-checkbox label:hover{background-color:var(--color-bg-tertiary)}.setting-item-checkbox input[type=checkbox]{accent-color:var(--color-primary-500);cursor:pointer;flex-shrink:0;height:var(--space-5);margin-top:2px;width:var(--space-5)}.setting-item-checkbox label>div{flex:1 1}.setting-item-checkbox strong{color:var(--color-text-primary);display:block;font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.room-tags{display:flex;flex-wrap:wrap;margin-top:var(--space-3)}.room-tag,.room-tags{align-items:center;gap:var(--space-2)}.room-tag{background-color:var(--color-primary-100);border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4)}.room-tag,.room-tag-remove{color:var(--color-primary-700)}.room-tag-remove{background:none;border:none;cursor:pointer;font-size:var(--text-xl);font-weight:var(--font-bold);line-height:1;margin-left:var(--space-1);opacity:.7;padding:0;transition:opacity var(--transition-fast)}.room-tag-remove:hover{opacity:1}.add-room-input-container{align-items:center;display:flex;gap:var(--space-1)}.add-room-input{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-primary-500);border-radius:var(--radius-full);color:var(--color-text-primary);font-size:var(--text-sm);min-width:120px;outline:none;padding:var(--space-2) var(--space-3)}.add-room-cancel,.add-room-save{border:none;border-radius:50%;cursor:pointer;font-size:var(--text-base);font-weight:var(--font-bold);height:24px;line-height:1;transition:all var(--transition-fast);width:24px}.add-room-save{background-color:var(--color-success);color:var(--color-text-inverse)}.add-room-save:hover{background-color:var(--color-success-dark)}.add-room-cancel{background-color:var(--color-error);color:var(--color-text-inverse)}.add-room-cancel:hover{background-color:var(--color-error-dark)}.add-room-btn{background-color:var(--color-bg-tertiary);border:var(--border-width-thin) dashed var(--color-border-dark);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);transition:all var(--transition-fast)}.add-room-btn:hover{background-color:var(--color-bg-secondary);border-color:var(--color-text-secondary);color:var(--color-text-primary)}.export-options{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.export-card{background:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-5);text-align:center;transition:all var(--transition-fast)}.export-card:hover{border-color:var(--color-primary-500);box-shadow:var(--shadow-md)}.export-icon{font-size:var(--text-4xl);margin-bottom:var(--space-3)}.export-card h4{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.export-card p{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0 0 var(--space-4) 0}.backup-status{background:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);margin:var(--space-5) 0;padding:var(--space-4)}.backup-info{align-items:center;display:flex;justify-content:space-between;padding:var(--space-2) 0}.backup-info:not(:last-child){border-bottom:var(--border-width-thin) solid var(--color-border-light)}.backup-label{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.backup-value{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.dietary-management-section{border-top:var(--border-width-thin) solid var(--color-border-light);margin-top:var(--space-8);padding-top:var(--space-8)}.dietary-management-section .section-header h3{font-size:var(--text-xl);margin-bottom:var(--space-2)}.dietary-buttons{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.nursery-dropdown-wrapper{display:inline-block;position:relative}.nursery-dropdown{background:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:180px;padding:var(--space-1) 0;z-index:9999}.nursery-dropdown-item{color:var(--color-text-primary);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);white-space:nowrap}.nursery-dropdown-item:hover{background-color:var(--color-bg-tertiary)}.staff-meals-availability-table{border-collapse:collapse;font-size:var(--text-sm);margin-top:var(--space-4);width:100%}.staff-meals-availability-table thead th{background:var(--color-bg-primary);border-bottom:2px solid var(--color-border-medium);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;padding:var(--space-3) var(--space-4);text-align:center;text-transform:uppercase}.staff-meals-availability-table thead th:first-child{text-align:left}.staff-meals-availability-table tbody tr{border-bottom:var(--border-width-thin) solid var(--color-border-light);transition:background-color var(--transition-fast)}.staff-meals-availability-table tbody tr:hover{background-color:var(--color-bg-primary)}.staff-meals-availability-table tbody tr:last-child{border-bottom:none}.staff-meals-availability-table tbody td{color:var(--color-text-primary);padding:var(--space-3) var(--space-4);text-align:center}.staff-meals-availability-table tbody td:first-child{font-weight:var(--font-medium);text-align:left}.staff-meals-availability-table input[type=checkbox]{accent-color:var(--color-primary-500);cursor:pointer;height:var(--space-5);width:var(--space-5)}.staff-portion-input-row{align-items:center;display:flex;gap:var(--space-3);margin-top:var(--space-3)}.staff-portion-input{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);padding:var(--space-2) var(--space-3);text-align:center;transition:border-color var(--transition-fast);width:80px}.staff-portion-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.staff-portion-label{font-weight:var(--font-medium)}.staff-meals-empty,.staff-portion-label{color:var(--color-text-secondary);font-size:var(--text-sm)}.staff-meals-empty{background:var(--color-bg-primary);border:var(--border-width-thin) dashed var(--color-border-medium);border-radius:var(--radius-md);font-style:italic;padding:var(--space-6);text-align:center}.staff-meals-save-row{border-top:var(--border-width-thin) solid var(--color-border-light);margin-top:var(--space-6);padding-top:var(--space-6)}.import-result{border-radius:var(--radius-md);font-size:var(--text-sm);margin-top:var(--space-4);padding:var(--space-4)}.import-result--success{background:#f0fff4;background:var(--color-success-50,#f0fff4);border:var(--border-width-thin) solid var(--color-success,#48bb78);color:#276749;color:var(--color-success-dark,#276749)}.import-result--warning{background:#fffbeb;background:var(--color-warning-50,#fffbeb);border:var(--border-width-thin) solid var(--color-warning,#f6ad55);color:var(--color-text-primary)}.import-preview-modal{max-height:85vh;max-width:900px;overflow-y:auto;width:95vw}.import-preview-summary{display:flex;gap:var(--space-4);margin:var(--space-4) 0}.import-preview-stat{border-radius:var(--radius-md);display:flex;flex:1 1;flex-direction:column;gap:var(--space-1);padding:var(--space-4);text-align:center}.import-preview-stat--success{background:#f0fff4;border:1px solid #48bb78}.import-preview-stat--warning{background:#fffbeb;border:1px solid #f6ad55}.import-preview-stat--error{background:#fff5f5;border:1px solid #fc8181}.import-preview-stat-number{font-size:2rem;font-weight:700;line-height:1}.import-preview-stat--success .import-preview-stat-number{color:#276749}.import-preview-stat--warning .import-preview-stat-number{color:#c05621}.import-preview-stat--error .import-preview-stat-number{color:#c53030}.import-preview-stat-label{color:var(--color-text-secondary);font-size:var(--text-sm)}.import-preview-errors{background:#fff5f5;border:1px solid #fc8181;border-radius:var(--radius-md);margin:var(--space-4) 0;padding:var(--space-4)}.import-preview-errors h3{color:#c53030;font-size:var(--text-sm);margin:0 0 var(--space-2) 0}.import-preview-errors ul{margin:0;padding-left:var(--space-5)}.import-preview-errors li{color:#c53030;font-size:var(--text-sm);margin-bottom:var(--space-1)}.import-preview-records h3{font-size:var(--text-base);margin:var(--space-4) 0 var(--space-2) 0}.import-preview-table-wrapper{border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-md);max-height:350px;overflow-x:auto;overflow-y:auto}.import-preview-table{border-collapse:collapse;font-size:var(--text-sm);width:100%}.import-preview-table th{background:var(--color-bg-secondary);font-weight:600;position:sticky;text-align:left;top:0}.import-preview-table td,.import-preview-table th{border-bottom:var(--border-width-thin) solid var(--color-border);padding:var(--space-2) var(--space-3)}.import-preview-table td{max-width:200px;vertical-align:top;word-break:break-word}.import-preview-table tr:last-child td{border-bottom:none}.import-preview-table tr:hover td{background:var(--color-bg-secondary)}.import-preview-empty{color:var(--color-text-secondary);font-style:italic;padding:var(--space-6);text-align:center}.import-preview-actions{border-top:var(--border-width-thin) solid var(--color-border);display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--space-4)}@media (max-width:768px){.system-settings-container{padding:var(--space-4)}.settings-header h1{font-size:var(--text-3xl)}.settings-layout{grid-template-columns:1fr}.settings-sidebar{position:static}.settings-nav{flex-direction:row;overflow-x:auto}.settings-nav-item{flex-direction:column;gap:var(--space-1);min-width:80px;text-align:center}.nav-label{font-size:var(--text-xs)}.settings-section{padding:var(--space-5)}.export-options{grid-template-columns:1fr}.dietary-buttons{flex-direction:column}.dietary-buttons button{width:100%}}.menu-cycles-container{margin:0 auto;max-width:var(--max-width-wide);padding:var(--space-6)}.header-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-6)}.header-section h1{color:var(--color-text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0}.date-info-banner{align-items:flex-start;background-color:var(--color-primary-100);border:var(--border-width-thin) solid var(--color-primary-300);border-radius:var(--radius-md);display:flex;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4)}.info-icon{flex-shrink:0;font-size:var(--text-2xl);line-height:1}.info-text{color:var(--color-primary-700);line-height:var(--leading-relaxed)}.info-text strong{display:block;font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.field-help{color:var(--color-text-secondary);display:block;font-size:var(--text-xs);font-style:italic;line-height:var(--leading-relaxed);margin-top:var(--space-1)}.field-help.suggested{background-color:var(--color-success-100);border-radius:var(--radius-sm);color:var(--color-success-700);font-style:normal;font-weight:var(--font-medium);margin-top:var(--space-2);padding:var(--space-2) var(--space-3)}.cycles-list{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.cycle-card{background:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-5);transition:all var(--transition-fast)}.cycle-card:hover{box-shadow:var(--shadow-md)}.cycle-card.active{background-color:var(--color-success-50);border-color:var(--color-success-500)}.cycle-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.cycle-header h3{color:var(--color-text-primary);font-size:var(--text-lg);margin:0}.active-badge,.cycle-header h3{font-weight:var(--font-semibold)}.active-badge{background-color:var(--color-success-500);border-radius:var(--radius-full);color:var(--color-text-inverse);font-size:var(--text-sm);padding:var(--space-1) var(--space-3)}.cycle-details{margin-bottom:var(--space-4)}.cycle-details p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:var(--space-2) 0}.cycle-details strong{color:var(--color-text-primary);font-weight:var(--font-semibold)}.cycle-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.modal-overlay{background-color:var(--overlay-bg)}.modal-content{max-width:500px;padding:var(--space-6)}.modal-content h2{color:var(--color-text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-5);margin-top:0}.delete-modal{max-width:450px;text-align:center}.delete-icon{font-size:var(--text-4xl);margin-bottom:var(--space-4)}.delete-modal h2{color:var(--color-danger);margin-bottom:var(--space-4)}.delete-warning{color:var(--color-text-primary);font-size:var(--text-base);margin-bottom:var(--space-3)}.delete-warning strong{color:var(--color-text-primary);font-weight:var(--font-bold)}.delete-info{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin-bottom:var(--space-6)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.form-group input,.form-group label{color:var(--color-text-primary);font-size:var(--text-base)}.form-group input{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-md);box-sizing:border-box;padding:var(--space-3);transition:border-color var(--transition-fast);width:100%}.form-group input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.input-error,.input-error:focus{border-color:var(--color-danger)!important}.input-error:focus{box-shadow:0 0 0 3px var(--color-danger-100)!important}.error-message{display:block;font-size:var(--text-sm);margin-top:var(--space-1)}@media (max-width:768px){.menu-cycles-container{padding:var(--space-4)}.header-section{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.header-section h1{font-size:var(--text-2xl)}.cycles-list{grid-template-columns:1fr}.modal-content{padding:var(--space-4)}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.dietary-preferences-management{padding:var(--space-6)}.preferences-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.preference-item{align-items:center;background:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:var(--space-3) var(--space-4)}.preference-name{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-medium)}.add-preference-form{align-items:center;background:var(--color-bg-tertiary);border:var(--border-width-medium) dashed var(--color-border-medium);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-4)}.add-preference-form input{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-sm);color:var(--color-text-primary);flex:1 1;font-size:var(--text-base);padding:var(--space-3);transition:border-color var(--transition-fast)}.add-preference-form input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}@media (max-width:768px){.modal-content{max-height:90vh;width:95%}.dietary-preferences-management,.modal-header{padding:var(--space-4)}.add-preference-form{align-items:stretch;flex-direction:column}.add-preference-form input{width:100%}}.modal-content{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:80vh;max-width:600px;overflow-y:auto}.close-button{font-size:var(--text-3xl);font-weight:var(--font-bold);height:30px;line-height:1;transition:color var(--transition-fast);width:30px}.close-button:hover{background-color:var(--color-bg-tertiary)}.weaning-options-management{padding:var(--space-6)}.section-description{margin:0 0 var(--space-5) 0}.options-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.option-item{align-items:center;background:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:var(--space-3) var(--space-4)}.option-name{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-medium)}.add-option-form{align-items:center;background:var(--color-bg-tertiary);border:var(--border-width-medium) dashed var(--color-border-medium);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-4)}.add-option-form input{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-sm);color:var(--color-text-primary);flex:1 1;font-size:var(--text-base);padding:var(--space-3);transition:border-color var(--transition-fast)}.add-option-form input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.error,.loading{color:var(--color-text-secondary);font-size:var(--text-base);padding:var(--space-5);text-align:center}.error{color:var(--color-danger)}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}.modal-content::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-sm)}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-gray-600)}@media (max-width:768px){.modal-content{max-height:90vh;width:95%}.modal-header,.weaning-options-management{padding:var(--space-4)}.add-option-form{align-items:stretch;flex-direction:column}.add-option-form input{width:100%}}.session-management-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-6)}.session-management-header h3{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.session-subtitle{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.sessions-list{display:flex;flex-direction:column;gap:var(--space-4)}.session-card{background:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5)}.session-card-header{align-items:center;border-bottom:var(--border-width-thin) solid var(--color-border-light);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.session-info{display:flex;flex-direction:column;gap:var(--space-1)}.session-name{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.session-times{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.session-actions{display:flex;gap:var(--space-2)}.edit-session-container{align-items:flex-start;display:flex;flex:1 1;flex-wrap:wrap;gap:var(--space-3)}.edit-input{min-width:150px}.edit-input-time{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-primary-500);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--text-sm);min-width:100px;padding:var(--space-2) var(--space-3)}.edit-input-time:focus,.edit-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.edit-actions{align-items:center;margin-top:var(--space-5)}.meals-assignment h5{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--space-3) 0}.meals-checkboxes{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.meal-checkbox-label{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--space-2);padding:var(--space-2);transition:background-color var(--transition-fast)}.meal-checkbox-label:hover{background-color:var(--color-bg-tertiary)}.meal-checkbox-label input[type=checkbox]{accent-color:var(--color-primary-500);cursor:pointer;height:var(--space-5);width:var(--space-5)}.meal-name{color:var(--color-text-primary);font-size:var(--text-sm);text-transform:capitalize}@media (max-width:768px){.session-card-header,.session-management-header{align-items:stretch;flex-direction:column}.session-actions{width:100%}.edit-session-container,.session-actions{flex-direction:column}.edit-input,.edit-input-time{width:100%}.meals-checkboxes{grid-template-columns:1fr}.modal-content-small .modal-actions{flex-direction:column}}.menu-types-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-6)}.menu-types-header h3{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.menu-types-subtitle{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.menu-types-list{display:flex;flex-direction:column;gap:var(--space-3)}.menu-type-card{background:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-4);transition:box-shadow var(--transition-fast)}.menu-type-card.dragging{box-shadow:var(--shadow-lg);opacity:.5}.menu-type-card-content,.menu-type-info{align-items:center;display:flex;gap:var(--space-3)}.menu-type-info{flex:1 1}.menu-type-color-indicator{border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-sm);flex-shrink:0;height:20px;width:20px}.menu-type-name{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.menu-type-usage{color:var(--color-text-secondary);font-size:var(--text-sm)}.menu-type-actions{display:flex;gap:var(--space-2)}.edit-menu-type-container{align-items:flex-end;display:flex;flex:1 1;flex-wrap:wrap;gap:var(--space-3)}.edit-field{min-width:150px}.color-picker-container{align-items:center;display:flex;gap:var(--space-3)}.color-picker{border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-sm);cursor:pointer;height:40px;padding:0;width:60px}.color-picker:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.color-preview{border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-sm);flex-shrink:0;height:30px;width:30px}.color-value{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm)}@media (max-width:768px){.menu-types-header{align-items:stretch;flex-direction:column}.menu-type-card-content{flex-wrap:wrap}.menu-type-actions{margin-top:var(--space-2);width:100%}.edit-menu-type-container{align-items:stretch;flex-direction:column}.edit-field{width:100%}.modal-content-small .modal-actions{flex-direction:column}}.meal-types-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-6)}.meal-types-header h3{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.meal-types-subtitle{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.meal-types-list{display:flex;flex-direction:column;gap:var(--space-3)}.meal-type-card{background:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-4);transition:box-shadow var(--transition-fast)}.meal-type-card.dragging{box-shadow:var(--shadow-lg);opacity:.5}.meal-type-card-content{align-items:center;display:flex;gap:var(--space-3)}.drag-handle{align-items:center;color:var(--color-text-tertiary);cursor:grab;display:flex;font-size:var(--text-xl);padding:var(--space-2);transition:color var(--transition-fast);-webkit-user-select:none;user-select:none}.drag-handle:hover{color:var(--color-text-secondary)}.drag-handle:active{cursor:grabbing}.meal-type-info{display:flex;flex:1 1;flex-direction:column;gap:var(--space-1)}.meal-type-name{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.meal-type-usage{color:var(--color-text-secondary);font-size:var(--text-sm)}.meal-type-actions{display:flex;gap:var(--space-2)}.edit-meal-type-container{align-items:flex-end;display:flex;flex:1 1;gap:var(--space-3)}.edit-field{display:flex;flex:1 1;flex-direction:column;gap:var(--space-1)}.edit-field label{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--font-medium)}.edit-input{border-radius:var(--radius-sm)}.edit-actions{gap:var(--space-1)}.modal-content-small{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:400px;padding:var(--space-6);width:90%}.modal-content-small h3{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-5) 0}.modal-content-small .form-group{margin-bottom:var(--space-5)}.modal-content-small .form-group label{color:var(--color-text-primary);display:block;font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.modal-content-small .form-input{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);padding:var(--space-3);transition:border-color var(--transition-fast);width:100%}.modal-content-small .form-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.modal-content-small .modal-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6)}.loading{color:var(--color-text-secondary);font-size:var(--text-base);padding:var(--space-10);text-align:center}@media (max-width:768px){.meal-types-header{align-items:stretch;flex-direction:column}.meal-type-card-content{flex-wrap:wrap}.meal-type-actions{margin-top:var(--space-2);width:100%}.edit-meal-type-container{align-items:stretch;flex-direction:column}.edit-input{width:100%}.modal-content-small .modal-actions{flex-direction:column}}.modal-overlay{background:var(--overlay-bg);z-index:var(--z-modal)}.dietary-modal-content{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:85vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{background:var(--color-bg-primary);padding:var(--space-5) var(--space-6);position:sticky;top:0;z-index:10}.modal-header h2{color:var(--color-text-primary);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--color-text-tertiary);cursor:pointer;display:flex;font-size:var(--text-3xl);font-weight:var(--font-bold);height:30px;justify-content:center;line-height:1;padding:0;transition:color var(--transition-fast);width:30px}.modal-close:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.section-description{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:var(--space-4) 0;padding:0 var(--space-6)}.add-item-form{background:var(--color-bg-tertiary);border-bottom:var(--border-width-thin) solid var(--color-border-light);display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-6)}.item-input{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);flex:1 1;font-size:var(--text-base);padding:var(--space-3);transition:border-color var(--transition-fast)}.item-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.items-list{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6)}.item-card{background:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-4)}.view-mode{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.item-name{color:var(--color-text-primary);flex:1 1;font-size:var(--text-base);font-weight:var(--font-medium)}.item-actions{display:flex;gap:var(--space-2)}.edit-mode{align-items:center;display:flex;gap:var(--space-3)}.edit-input{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-primary-500);border-radius:var(--radius-md);color:var(--color-text-primary);flex:1 1;font-size:var(--text-base);padding:var(--space-2) var(--space-3)}.edit-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.edit-actions{display:flex;gap:var(--space-2)}.no-items{color:var(--color-text-tertiary);font-size:var(--text-base);font-style:italic;padding:var(--space-8);text-align:center}.dietary-modal-content::-webkit-scrollbar{width:8px}.dietary-modal-content::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}.dietary-modal-content::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-sm)}.dietary-modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-gray-600)}@media (max-width:768px){.dietary-modal-content{max-height:90vh;width:95%}.modal-header{padding:var(--space-4)}.section-description{padding:0 var(--space-4)}.add-item-form{flex-direction:column}.add-item-form,.items-list{padding:var(--space-4)}.view-mode{align-items:stretch;flex-direction:column}.item-actions{width:100%}.edit-mode{align-items:stretch;flex-direction:column}.edit-actions{width:100%}}.staff-section{padding:0}.staff-section+.staff-section{border-top:var(--border-width-thin) solid var(--color-border-light);margin-top:var(--space-10);padding-top:var(--space-8)}.staff-section-header{align-items:flex-start;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-6)}.staff-section-header h3{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0}.staff-section-header p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.staff-filters{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.staff-filter-select{max-width:200px}.staff-table-wrapper{border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden;overflow-x:auto}.staff-table{border-collapse:collapse;font-size:var(--text-sm);width:100%}.staff-table thead tr{background-color:var(--color-bg-tertiary);border-bottom:var(--border-width-thin) solid var(--color-border-light)}.staff-table th{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;padding:var(--space-3) var(--space-4);text-align:left;text-transform:uppercase;white-space:nowrap}.staff-table tbody tr{border-bottom:var(--border-width-thin) solid var(--color-border-light);transition:background-color var(--transition-fast)}.staff-table tbody tr:last-child{border-bottom:none}.staff-table tbody tr:hover{background-color:var(--color-bg-secondary)}.staff-table td{color:var(--color-text-primary);padding:var(--space-3) var(--space-4);vertical-align:middle}.user-row-inactive td{opacity:.6}.user-name-cell{gap:var(--space-3)}.user-avatar,.user-name-cell{align-items:center;display:flex}.user-avatar{background-color:var(--color-primary-100);border-radius:var(--radius-full);color:var(--color-primary-700);flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-bold);height:36px;justify-content:center;width:36px}.user-avatar-lg{font-size:var(--text-base);height:48px;width:48px}.user-full-name{color:var(--color-text-primary);font-weight:var(--font-medium)}.user-email{color:var(--color-text-secondary);font-size:var(--text-sm)}.role-badge{background-color:var(--color-primary-100);color:var(--color-primary-700);font-weight:var(--font-semibold)}.access-badge,.role-badge{border-radius:var(--radius-full);display:inline-block;font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.access-badge{font-weight:var(--font-medium)}.access-all{background-color:var(--color-success-light);color:var(--color-success-dark)}.access-restricted{background-color:var(--color-warning-light);color:var(--color-warning)}.status-badge{border-radius:var(--radius-full);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-3)}.status-active{background-color:var(--color-success-light);color:var(--color-success-dark)}.status-inactive{background-color:var(--color-error-light);color:var(--color-error-dark)}.system-role-badge{background-color:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-medium);color:var(--color-text-secondary)}.custom-role-badge,.system-role-badge{border-radius:var(--radius-full);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-3)}.custom-role-badge{background-color:var(--color-info-light);color:var(--color-info)}.permission-count-badge{background-color:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-3)}.user-count{color:var(--color-text-secondary);font-size:var(--text-sm)}.user-count-active{color:var(--color-primary-700);font-weight:var(--font-medium)}.no-role{color:var(--color-text-tertiary);font-size:var(--text-sm);font-style:italic}.role-description{color:var(--color-text-secondary);font-size:var(--text-sm);max-width:250px}.role-name-cell{color:var(--color-text-primary);font-weight:var(--font-semibold)}.user-actions{align-items:center;display:flex;gap:var(--space-2)}.btn-sm{font-size:var(--text-xs)!important;min-height:0!important;min-height:auto!important;padding:var(--space-1) var(--space-3)!important}.staff-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--space-3);justify-content:center;padding:var(--space-12)}.staff-loading-spinner{animation:spin .8s linear infinite;border:3px solid var(--color-border-light);border-radius:50%;border-top-color:var(--color-primary-500);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.staff-empty{align-items:center;border:var(--border-width-thin) dashed var(--color-border-medium);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2);justify-content:center;padding:var(--space-12);text-align:center}.staff-empty-icon{font-size:2.5rem;margin-bottom:var(--space-2)}.staff-empty p{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0}.staff-empty span{color:var(--color-text-secondary);font-size:var(--text-sm)}.staff-error{align-items:center;color:var(--color-error);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-8);text-align:center}.staff-form-error{background-color:var(--color-error-light);border:var(--border-width-thin) solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error-dark)}.staff-form-error,.staff-info-banner{font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.staff-info-banner{background-color:var(--color-info-light);border:var(--border-width-thin) solid var(--color-primary-200);border-radius:var(--radius-md);color:var(--color-primary-800)}.form-textarea{min-height:70px}.required{color:var(--color-error);margin-left:2px}.staff-checkbox-row{align-items:center;display:flex;gap:var(--space-3);padding:var(--space-2) 0}.staff-checkbox-row input[type=checkbox]{accent-color:var(--color-primary-500);cursor:pointer;flex-shrink:0;height:16px;width:16px}.staff-checkbox-label{color:var(--color-text-primary);cursor:pointer;font-size:var(--text-sm)}.nursery-checklist{background-color:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);margin-top:var(--space-3);padding:var(--space-4)}.nursery-checklist-hint{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--font-medium);margin:0 0 var(--space-3) 0}.permission-picker{border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.permission-group{border-bottom:var(--border-width-thin) solid var(--color-border-light)}.permission-group:last-child{border-bottom:none}.permission-group-header{align-items:center;background-color:var(--color-bg-tertiary);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.permission-group-header input[type=checkbox]{accent-color:var(--color-primary-500);cursor:pointer;flex-shrink:0;height:16px;width:16px}.permission-group-label{color:var(--color-text-primary);cursor:pointer;flex:1 1;font-size:var(--text-sm);font-weight:var(--font-semibold)}.permission-group-count{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-full);color:var(--color-text-tertiary);font-size:var(--text-xs);padding:2px 8px}.permission-group-items{grid-gap:0;background-color:var(--color-bg-primary);display:grid;gap:0;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:var(--space-2) var(--space-4) var(--space-3) var(--space-10)}.permission-item{align-items:center;display:flex;gap:var(--space-2);padding:var(--space-2) 0}.permission-item input[type=checkbox]{accent-color:var(--color-primary-500);cursor:pointer;flex-shrink:0;height:14px;width:14px}.permission-item-label{color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-sm)}.permission-selected-count{background-color:var(--color-primary-50);border-radius:var(--radius-full);color:var(--color-primary-600);font-size:var(--text-xs);font-weight:var(--font-normal);margin-left:var(--space-3);padding:2px 8px}.edit-user-info{align-items:center;background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);display:flex;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4)}.edit-user-name{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0}.edit-user-email{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.modal-content-lg{max-height:85vh;max-width:680px!important;overflow-y:auto;width:95vw!important}@media (max-width:768px){.staff-section-header{align-items:stretch;flex-direction:column}.staff-section-header button{width:100%}.staff-filters{flex-direction:column}.staff-filter-select{max-width:100%}.staff-table td:nth-child(4),.staff-table th:nth-child(4){display:none}.permission-group-items{grid-template-columns:1fr}.user-actions{flex-direction:column}}.reports-container{background-color:var(--color-bg-secondary);margin:0 auto;max-width:var(--max-width-wide);min-height:100vh;padding:var(--space-8) var(--space-4)}.reports-header{margin-bottom:var(--space-10)}.reports-header h1{color:var(--color-text-primary);font-size:var(--text-4xl);font-weight:var(--font-bold);margin:0 0 var(--space-3) 0}.reports-subtitle{color:var(--color-text-primary);font-size:var(--text-lg);line-height:var(--leading-relaxed);margin:0;opacity:.75}.reports-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.report-card{background:var(--color-bg-primary);border:var(--border-width-medium) solid #0000;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);position:relative;transition:all var(--transition-normal)}.report-card:not(.disabled):hover{border-color:var(--card-color);box-shadow:var(--shadow-xl);transform:translateY(-6px)}.report-card.disabled{background-color:var(--color-bg-tertiary);cursor:not-allowed;opacity:.6}.report-card.disabled:hover{box-shadow:var(--shadow-md);transform:none}.report-icon{align-items:center;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text-inverse);display:flex;flex-shrink:0;font-size:var(--text-3xl);height:64px;justify-content:center;width:64px}.report-content{flex:1 1}.report-content h3{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.report-content p{color:var(--color-text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0}.report-arrow{color:var(--color-border-medium);font-size:var(--text-2xl);font-weight:var(--font-bold);position:absolute;right:var(--space-6);top:var(--space-6);transition:all var(--transition-normal)}.report-card:not(.disabled):hover .report-arrow{color:var(--card-color);transform:translateX(4px)}.coming-soon-badge{background-color:var(--color-gray-200);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;margin-top:var(--space-3);padding:var(--space-1) var(--space-3);text-transform:uppercase}@media (max-width:768px){.reports-container{padding:var(--space-4) var(--space-3)}.reports-header{margin-bottom:var(--space-6)}.reports-header h1{font-size:var(--text-3xl)}.reports-subtitle{font-size:var(--text-base)}.reports-grid{gap:var(--space-4);grid-template-columns:1fr}.report-card{padding:var(--space-5)}.report-icon{font-size:var(--text-2xl);height:56px;width:56px}.report-content h3{font-size:var(--text-lg)}.report-content p{font-size:var(--text-sm)}}@media (max-width:480px){.reports-grid{grid-template-columns:1fr}.report-card{padding:var(--space-4)}}.prep-sheet-container{background-color:var(--color-bg-secondary);margin:0 auto;max-width:var(--max-width-wide);min-height:100vh;padding:var(--space-8) var(--space-4)}.prep-sheet-controls{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);padding:var(--space-6)}.prep-sheet-controls h1{color:var(--color-text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-4);margin-top:0}.date-inputs{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-5);margin-top:var(--space-5)}.input-group{display:flex;flex-direction:column;gap:var(--space-2)}.input-group label{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.input-group input{border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--radius-md);font-size:var(--text-base);min-height:var(--touch-target-comfortable);padding:var(--space-2) var(--space-3);transition:border-color var(--transition-fast)}.input-group input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.error-message{background-color:var(--color-danger-50);border:var(--border-width-thin) solid var(--color-danger-200);color:var(--color-danger)}.print-controls{align-items:center;flex-wrap:wrap;gap:var(--space-5);justify-content:space-between}.sort-controls{align-items:center;display:flex;gap:var(--space-3)}.sort-controls label{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.sort-select{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-medium);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);min-height:var(--touch-target-comfortable);padding:var(--space-2) var(--space-3);transition:border-color var(--transition-fast)}.sort-select:focus,.sort-select:hover{border-color:var(--color-primary-500)}.sort-select:focus{box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.prep-sheet-report{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:block;padding:var(--space-10);visibility:visible}.date-range{font-size:var(--text-base);font-weight:var(--font-medium);margin:0}.date-range,.sort-info{color:var(--color-text-secondary)}.sort-info{font-size:var(--text-sm);font-style:italic;margin:var(--space-2) 0 0 0}.prep-table{border-collapse:collapse;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:table;margin-top:var(--space-5);overflow:hidden;visibility:visible;width:100%}.prep-table thead{display:table-header-group}.prep-table tbody{display:table-row-group}.prep-table tr{display:table-row}.prep-table td,.prep-table th{border-bottom:var(--border-width-thin) solid var(--color-border-light);display:table-cell;padding:var(--space-3);text-align:left}.prep-table th{background-color:var(--color-gray-100);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);position:sticky;top:0}.prep-table td{color:var(--color-text-secondary);font-size:var(--text-sm)}.prep-table tbody tr:hover{background-color:var(--color-bg-tertiary)}.prep-table tbody tr:last-child td{border-bottom:none}@media (max-width:768px){.prep-sheet-container{padding:var(--space-4) var(--space-3)}.prep-sheet-controls{padding:var(--space-4)}.prep-sheet-controls h1{font-size:var(--text-2xl)}.date-inputs{align-items:stretch;flex-direction:column}.input-group{width:100%}.print-controls,.sort-controls{align-items:stretch;flex-direction:column}.sort-select{width:100%}.prep-sheet-report{padding:var(--space-5)}.report-header h2{font-size:var(--text-2xl)}.prep-table{font-size:var(--text-xs)}.prep-table td,.prep-table th{padding:var(--space-2)}}@media print{body *{visibility:hidden}.prep-sheet-report,.prep-sheet-report *{visibility:visible}.prep-sheet-report{box-shadow:none;left:0;margin:0;padding:15px;position:absolute;top:0;width:100%}.no-print,.prep-sheet-controls,.print-controls{display:none!important}.prep-table tr{page-break-after:auto;page-break-inside:avoid}.report-header{margin-bottom:15px;page-break-after:avoid}.prep-sheet-report{color:#000}.prep-table{font-size:11px;width:100%}.prep-table thead{display:table-header-group}.prep-table th{background-color:#edf2f7!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.prep-table td,.prep-table th{border:1px solid #e2e8f0;padding:8px}}@page{size:A4;margin:10mm 15mm 15mm 15mm}.dietary-report-container{background-color:var(--color-bg-secondary);margin:0 auto;max-width:var(--max-width-wide);min-height:100vh;padding:var(--space-8) var(--space-4)}.dietary-report-controls{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);padding:var(--space-6)}.dietary-report-controls h1{color:var(--color-text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-5);margin-top:0}.filters-section{grid-gap:var(--space-8);display:grid;gap:var(--space-8);grid-template-columns:1fr 1fr;margin:var(--space-5) 0}.filter-group h3{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-4);margin-top:0}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.checkbox-column{display:flex;flex-direction:column;gap:var(--space-3)}.checkbox-label{align-items:center;border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:var(--text-base);gap:var(--space-2);padding:var(--space-2);transition:background-color var(--transition-fast)}.checkbox-label:hover{background-color:var(--color-bg-tertiary)}.checkbox-label input[type=checkbox]{accent-color:var(--color-primary-500);cursor:pointer;height:var(--space-5);width:var(--space-5)}.info-text{background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);font-style:italic;margin-top:var(--space-3);padding:var(--space-2)}.error-message{background-color:var(--color-error);border:var(--border-width-thin) solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error-dark);font-weight:var(--font-medium);margin-top:var(--space-4);padding:var(--space-3)}.print-controls{display:flex;justify-content:flex-end;margin-bottom:var(--space-6);text-align:right}.dietary-report-content{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:block;padding:var(--space-10);visibility:visible}.report-header{border-bottom:var(--border-width-medium) solid var(--color-border-dark);margin-bottom:var(--space-8);padding-bottom:var(--space-4);text-align:center}.report-header h2{color:var(--color-text-primary);display:block;font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0 0 var(--space-3) 0}.filter-summary{color:var(--color-text-secondary);display:block;font-size:var(--text-base);margin:var(--space-2) 0}.child-count,.filter-summary strong{color:var(--color-text-primary);font-weight:var(--font-semibold)}.child-count{display:block;font-size:var(--text-base);margin:var(--space-3) 0 0 0}.children-list{display:flex;flex-direction:column;gap:var(--space-5)}.child-card{background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);page-break-inside:avoid}.child-header{align-items:center;border-bottom:var(--border-width-thin) solid var(--color-border-light);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.child-header h3{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0}.room-badge{background-color:var(--color-primary-100);border-radius:var(--radius-full);color:var(--color-primary-700);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-1) var(--space-3)}.requirements-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.requirement-section{background-color:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-3)}.requirement-section strong{color:var(--color-text-primary);display:block;font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.requirement-section ul{margin:0;padding-left:var(--space-5)}.requirement-section li{margin:var(--space-1) 0}.requirement-section li,.requirement-section.special p{color:var(--color-text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed)}.requirement-section.special p{margin:0}.no-data{color:var(--color-text-tertiary);font-size:var(--text-base);font-style:italic;padding:var(--space-10);text-align:center}@media (max-width:768px){.dietary-report-container{padding:var(--space-4) var(--space-3)}.dietary-report-controls{padding:var(--space-4)}.dietary-report-controls h1{font-size:var(--text-2xl)}.filters-section{gap:var(--space-5)}.checkbox-grid,.filters-section,.requirements-grid{grid-template-columns:1fr}.dietary-report-content{padding:var(--space-5)}.report-header h2{font-size:var(--text-2xl)}.child-header{align-items:flex-start;flex-direction:column}}@media print{body *{visibility:hidden}.dietary-report-content,.dietary-report-content *{visibility:visible}.dietary-report-content{box-shadow:none;left:0;margin:0;padding:15px;position:absolute;top:0;width:100%}.dietary-report-controls,.no-print,.print-controls{display:none!important}.child-card{page-break-inside:avoid}.report-header{margin-bottom:15px;page-break-after:avoid}.dietary-report-content{color:#000}.requirement-section{background-color:#f7fafc!important}.requirement-section,.room-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}.room-badge{background-color:#dbeafe!important}}.landing-container{align-items:center;background:linear-gradient(145deg,#2e7d32,#1b5e20 50%,#0d3b0f);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:16px;position:relative}.landing-container:before{background-image:radial-gradient(circle at 20% 80%,#ffffff0a 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff0a 0,#0000 50%);content:"";inset:0;pointer-events:none;position:absolute}.landing-content{background:#fff;border-radius:20px;box-shadow:0 24px 64px #0000004d;max-width:480px;padding:48px 40px;position:relative;text-align:center;width:100%;z-index:1}.landing-logo{align-items:center;background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:18px;box-shadow:0 4px 16px #2e7d324d;display:flex;font-size:36px;height:72px;justify-content:center;margin:0 auto 20px;width:72px}.landing-header{margin-bottom:28px}.landing-title{color:#1b5e20;font-size:2.4rem;font-weight:800;letter-spacing:-.5px;margin:0 0 6px}.landing-subtitle{color:#6b7280;font-size:1rem;font-weight:500;letter-spacing:1px;margin:0;text-transform:uppercase}.landing-features{display:flex;flex-direction:column;gap:12px;margin-bottom:32px;text-align:left}.landing-feature{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;display:flex;gap:12px;padding:12px 16px}.landing-feature__icon{flex-shrink:0;font-size:20px;text-align:center;width:32px}.landing-feature__text{color:#374151;font-size:.9rem;font-weight:500}.landing-actions{margin-bottom:20px}.btn-landing{background:linear-gradient(135deg,#4caf50,#2e7d32);border:none;border-radius:10px;box-shadow:0 4px 12px #2e7d3259;color:#fff;cursor:pointer;display:block;font-size:1rem;font-weight:700;letter-spacing:.3px;padding:14px 24px;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;width:100%}.btn-landing:hover{box-shadow:0 6px 20px #2e7d3273;transform:translateY(-1px)}.btn-landing:active{opacity:.9;transform:translateY(0)}.btn-landing:focus-visible{outline:3px solid #4caf50;outline-offset:3px}.landing-footer{border-top:1px solid #e5e7eb;padding-top:16px}.landing-footer p{align-items:center;color:#9ca3af;display:flex;font-size:.8rem;gap:6px;justify-content:center;margin:0}@media (max-width:480px){.landing-content{padding:32px 24px}.landing-title{font-size:1.9rem}}.attendance-report-container{margin:0 auto;max-width:100%;padding:24px}.attendance-controls h1{color:#1a202c;color:var(--text-primary,#1a202c);font-size:1.6rem;font-weight:700;margin:16px 0 20px}.attendance-inputs{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px}.attendance-inputs .input-group{display:flex;flex-direction:column;gap:6px}.attendance-inputs .input-group label{color:#4a5568;color:var(--text-secondary,#4a5568);font-size:.85rem;font-weight:500}.attendance-inputs input[type=date]{border:1.5px solid #e2e8f0;border:1.5px solid var(--border-color,#e2e8f0);border-radius:8px;font-size:.9rem;padding:8px 12px}.attendance-toolbar{align-items:center;background:#fff;background:var(--card-background,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:10px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:20px 0 16px;padding:14px 16px}.attendance-toolbar .filter-group{align-items:center;display:flex;gap:10px}.attendance-toolbar .filter-group label{color:#4a5568;color:var(--text-secondary,#4a5568);font-size:.9rem;font-weight:500}.attendance-toolbar select{background:#fff;border:1.5px solid #e2e8f0;border:1.5px solid var(--border-color,#e2e8f0);border-radius:8px;font-size:.9rem;min-width:180px;padding:8px 12px}.attendance-report-content{background:#fff;background:var(--card-background,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:12px;overflow:hidden}.report-header{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color,#e2e8f0);padding:20px 24px 16px}.report-header h2{font-size:1.2rem;font-weight:700;margin:0 0 4px}.report-header .date-range{color:#4a5568;color:var(--text-secondary,#4a5568);font-size:.9rem;margin:0}.report-header .filter-note{color:#4a5568;color:var(--text-secondary,#4a5568);font-size:.85rem;margin:4px 0 0}.attendance-table-wrapper{overflow-x:auto}.attendance-calendar-table{border-collapse:collapse;font-size:.875rem;min-width:600px;width:100%}.attendance-calendar-table thead th{background:#f7fafc;background:var(--background-secondary,#f7fafc);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color,#e2e8f0);border-right:1px solid #e2e8f0;border-right:1px solid var(--border-color,#e2e8f0);font-weight:600;padding:10px 12px;text-align:center;white-space:nowrap}.attendance-calendar-table thead th.row-label-col{background:#f7fafc;background:var(--background-secondary,#f7fafc);left:0;min-width:180px;position:sticky;text-align:left;z-index:2}.date-col{min-width:110px}.date-col-weekday{color:#718096;color:var(--text-secondary,#718096);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.date-col-date{color:#1a202c;color:var(--text-primary,#1a202c);font-size:.9rem;font-weight:700}.room-total-row td{border-bottom:1px solid #bee3f8;border-bottom:1px solid var(--border-color,#bee3f8);border-right:1px solid #e2e8f0;border-right:1px solid var(--border-color,#e2e8f0);border-top:2px solid #bee3f8;border-top:2px solid var(--border-color,#bee3f8);padding:8px 12px}.room-total-label,.room-total-row td{background:#ebf8ff;background:var(--primary-light,#ebf8ff)}.room-total-label{color:#2b6cb0;color:var(--primary-dark,#2b6cb0);font-size:.85rem;font-weight:700;left:0;letter-spacing:.04em;position:sticky;text-transform:uppercase}.room-total-cell{text-align:center}.room-total-badge{background:#4299e1;background:var(--primary-color,#4299e1);border-radius:12px;color:#fff;display:inline-block;font-size:.8rem;font-weight:700;padding:2px 10px}.room-total-empty{color:#cbd5e0;font-size:.9rem}.child-row td{border-bottom:1px solid #edf2f7;border-bottom:1px solid var(--border-color,#edf2f7);border-right:1px solid #edf2f7;border-right:1px solid var(--border-color,#edf2f7);padding:6px 12px;vertical-align:middle}.child-name-cell{background:#fff;color:#1a202c;color:var(--text-primary,#1a202c);font-weight:500;left:0;position:sticky;white-space:nowrap;z-index:1}.child-session-cell{text-align:center}.session-pill{background:#f0fff4;border:1px solid #c6f6d5;border-radius:6px;display:inline-block;margin:2px;padding:3px 8px}.session-pill-name{color:#276749;font-size:.78rem;font-weight:600}.session-pill-time{color:#48bb78;font-size:.72rem}.not-attending{color:#cbd5e0;font-size:.9rem}.room-expand-arrow{color:#2b6cb0;color:var(--primary-dark,#2b6cb0);font-size:.7rem;margin-right:8px}.day-total-row td{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color,#e2e8f0);border-right:1px solid #e2e8f0;border-right:1px solid var(--border-color,#e2e8f0);padding:8px 12px;text-align:center}.day-total-label,.day-total-row td{background:#edf2f7;background:var(--background-secondary,#edf2f7)}.day-total-label{color:#1a202c;color:var(--text-primary,#1a202c);font-size:.85rem;font-weight:700;left:0;position:sticky;text-align:left}.day-total-cell{text-align:center}.day-total-badge{background:#2d3748;background:var(--text-primary,#2d3748);border-radius:12px;color:#fff;display:inline-block;font-size:.8rem;font-weight:700;padding:2px 10px}@media print{body *{visibility:hidden}.attendance-report-content,.attendance-report-content *{visibility:visible}.attendance-report-content{left:0;position:absolute;top:0;width:100%}.attendance-controls,.attendance-toolbar{display:none!important}.attendance-calendar-table thead th.row-label-col,.child-name-cell,.room-total-label{position:static}.attendance-table-wrapper{overflow:visible}@page{size:landscape}}.staff-meals-container{background-color:var(--color-bg-secondary);margin:0 auto;max-width:var(--max-width-wide);min-height:100vh;padding:var(--space-6)}.staff-meals-header{margin-bottom:var(--space-6)}.staff-meals-header h1{color:var(--color-text-primary);font-size:var(--text-4xl);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0}.staff-meals-subtitle{color:var(--color-text-secondary);font-size:var(--text-base);margin:0}.staff-meals-week-nav{align-items:center;background:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5)}.staff-meals-week-label{align-items:center;display:flex;flex:1 1;gap:var(--space-3);justify-content:center}.week-range{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold)}.staff-meals-loading{color:var(--color-text-secondary);font-size:var(--text-base);padding:var(--space-16);text-align:center}.staff-meals-disabled{background:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-16) var(--space-8);text-align:center}.staff-meals-disabled-icon{font-size:48px;margin-bottom:var(--space-4)}.staff-meals-disabled p{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-2)}.staff-meals-disabled span{color:var(--color-text-secondary);font-size:var(--text-sm)}.staff-meals-table-wrapper{background:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.staff-meals-table{border-collapse:collapse;font-size:var(--text-sm);min-width:600px;width:100%}.staff-meals-table thead th{background:var(--color-bg-tertiary);border-bottom:2px solid var(--color-border-medium);border-right:var(--border-width-thin) solid var(--color-border-light);color:var(--color-text-secondary);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-4);text-align:center}.staff-meals-table thead th.staff-meals-label-col{background:var(--color-bg-tertiary);left:0;min-width:200px;position:sticky;text-align:left;z-index:2}.staff-meals-day-col{min-width:110px}.staff-meals-day-name{color:var(--color-text-secondary);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.staff-meals-day-date{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-bold)}.staff-meals-meal-type-row td{background:var(--color-primary-100);border-bottom:var(--border-width-thin) solid var(--color-border-light);border-top:2px solid var(--color-border-medium);padding:var(--space-2) var(--space-4)}.staff-meals-meal-type-label{color:var(--color-primary-700);font-size:var(--text-xs);font-weight:var(--font-bold);left:0;letter-spacing:.05em;position:sticky;text-transform:uppercase}.staff-meals-menu-row td{border-bottom:var(--border-width-thin) solid var(--color-border-light);border-right:var(--border-width-thin) solid var(--color-border-light)}.staff-meals-menu-label{background:var(--color-bg-primary);color:var(--color-text-primary);font-weight:var(--font-medium);left:0;padding:var(--space-3) var(--space-4);position:sticky;z-index:1}.staff-meals-count-cell{padding:var(--space-2) var(--space-3);text-align:center;vertical-align:middle}.staff-meals-count-input{-moz-appearance:textfield;background:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);padding:var(--space-2) var(--space-2);text-align:center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:70px}.staff-meals-count-input::-webkit-inner-spin-button,.staff-meals-count-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.staff-meals-count-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.staff-meals-count-input:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.staff-meals-container{padding:var(--space-4)}.staff-meals-header h1{font-size:var(--text-3xl)}.staff-meals-week-nav{flex-direction:column;text-align:center}.staff-meals-week-label{flex-direction:column}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{background-color:var(--color-bg-secondary);font-family:var(--font-primary);font-size:var(--text-base);line-height:var(--leading-normal);min-height:100vh}body,h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-bold);line-height:var(--leading-tight);margin:0}h1{font-size:var(--text-3xl);margin-bottom:var(--space-4)}h2{font-size:var(--text-2xl)}h2,h3{margin-bottom:var(--space-3)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg);margin-bottom:var(--space-1)}p{margin:0 0 var(--space-4) 0}a{color:var(--color-blue-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-blue-700);text-decoration:underline}ol,ul{margin:0;padding:0}li{list-style:none}:focus-visible{border-radius:3px;outline:3px solid #2e7d32;outline:3px solid var(--color-primary-600,#2e7d32);outline-offset:3px}.skip-link{background:#2e7d32;background:var(--color-primary-600,#2e7d32);border-radius:0 0 4px 0;color:#fff;font-size:.9rem;left:0;padding:.5rem 1rem;position:absolute;text-decoration:none;top:-100%;transition:top .15s;z-index:9999}.skip-link:focus{top:0}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}::selection{background-color:var(--color-primary-100);color:var(--color-text-primary)}.page-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.page-header-actions h1,.page-header-actions h2,.page-header-actions h3{margin:0}.child-name-header,.header-button-group{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.child-name-header{justify-content:space-between;margin-bottom:4px}.child-name-header h1{margin:0}@media (max-width:600px){.page-header-actions{align-items:flex-start;flex-direction:column}.header-button-group{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.child-name-header{align-items:flex-start;flex-direction:column}}.btn{-webkit-tap-highlight-color:transparent;align-items:center;border:var(--border-width-medium) solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-medium);gap:var(--space-2);justify-content:center;min-height:var(--touch-target-comfortable);padding:var(--space-3) var(--space-6);text-decoration:none;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.btn-primary{background-color:var(--color-blue-500);border-color:var(--color-blue-500);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-blue-600);border-color:var(--color-blue-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-secondary{background-color:var(--color-bg-primary);border-color:var(--color-blue-500);color:var(--color-blue-600)}.btn-secondary:hover:not(:disabled){background-color:var(--color-blue-50);border-color:var(--color-blue-600)}.btn-secondary:active{background-color:var(--color-blue-100)}.btn-success{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-text-inverse)}.btn-success:hover:not(:disabled){background-color:var(--color-primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger{background-color:var(--color-error);border-color:var(--color-error);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background-color:#e53935;border-color:#e53935;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger-outline{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-danger);color:var(--color-danger)}.btn-danger-outline:hover{background-color:var(--color-danger);border-color:var(--color-danger);color:var(--color-text-inverse)}.btn-warning{background-color:var(--color-warning);border-color:var(--color-warning);color:var(--color-text-inverse)}.btn-warning:hover:not(:disabled){background-color:#fb8c00;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-ghost{background-color:initial;border-color:#0000;color:var(--color-text-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100)}.btn-ghost:active{background-color:var(--color-gray-200)}.btn-icon{background-color:initial;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;min-height:var(--touch-target-comfortable);min-width:var(--touch-target-comfortable);padding:var(--space-3);transition:all var(--transition-fast)}.btn-icon:hover:not(:disabled){background-color:var(--color-gray-100);color:var(--color-text-primary)}.btn-icon:active{transform:scale(.95)}.btn-sm{font-size:calc(var(--text-base)*.875);gap:calc(var(--space-2)*.75);min-height:calc(var(--touch-target-comfortable)*.75);padding:calc(var(--space-3)*.75) calc(var(--space-6)*.75)}.btn-lg{font-size:var(--text-lg);min-height:56px;padding:var(--space-4) var(--space-8)}.btn-block{width:100%}.btn-cancel{background-color:var(--color-gray-200);border-color:var(--color-gray-300);color:var(--color-text-primary)}.btn-cancel:hover:not(:disabled){background-color:var(--color-gray-300)}.btn-group{display:flex;flex-wrap:wrap;gap:var(--space-3)}.btn-group .btn{flex:1 1;min-width:120px}@media (max-width:640px){.btn-group{flex-direction:column}.btn-group .btn{width:100%}}.btn-changelog{align-items:center;background-color:var(--color-gray-100);border:1px solid var(--color-gray-400);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:.72rem;font-weight:var(--font-medium);gap:4px;margin-left:auto;opacity:1;padding:3px 8px;text-decoration:none;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn-changelog:hover:not(:disabled){background-color:initial;border-color:var(--color-gray-300);color:var(--color-text-secondary);opacity:.55}.btn-changelog:active{transform:scale(.97)}.form-group{margin-bottom:var(--space-6)}.form-label{color:var(--color-text-primary);display:block;font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--space-2)}.form-label .required{color:var(--color-error);margin-left:var(--space-1)}.form-hint{color:var(--color-text-tertiary);display:block;font-size:var(--text-xs);margin-top:var(--space-1)}.form-input{background-color:var(--color-bg-primary);border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-primary);font-size:var(--text-base);line-height:var(--leading-normal);min-height:var(--touch-target-comfortable);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast);width:100%}.form-input:focus{border-color:var(--color-blue-500);box-shadow:0 0 0 3px #2196f31a;outline:none}.form-input:disabled{background-color:var(--color-gray-100);cursor:not-allowed;opacity:.6}.form-input.error{border-color:var(--color-error)}.form-input.error:focus{box-shadow:0 0 0 3px var(--color-error-light)}.form-textarea{min-height:120px;resize:vertical}.form-select{appearance:none;background-color:var(--color-bg-primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23616161' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right var(--space-3) center;background-repeat:no-repeat;border:var(--border-width-medium) solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-family:var(--font-primary);font-size:var(--text-base);min-height:var(--touch-target-comfortable);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast);width:100%}.form-select:focus{border-color:var(--color-blue-500);box-shadow:0 0 0 3px #2196f31a;outline:none}.checkbox-label,.radio-label{align-items:center;cursor:pointer;display:flex;gap:var(--space-2);min-height:var(--touch-target-min);-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox],.radio-label input[type=radio]{accent-color:var(--color-blue-500);cursor:pointer;height:20px;margin:0;width:20px}.checkbox-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.form-error{align-items:center;background-color:var(--color-error-light);border-left:3px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);display:flex;font-size:var(--text-sm);gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2) var(--space-3)}.form-error:before{content:"⚠";font-size:var(--text-base)}.form-search{position:relative}.form-search input{padding-left:var(--space-10)}.form-search:before{font-size:var(--text-lg);left:var(--space-4);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.form-section{border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-6);padding-bottom:var(--space-6)}.form-section:last-child{border-bottom:none}.section-title{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-4)}.subsection-title{color:var(--color-text-secondary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-3)}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:var(--space-4);position:fixed;right:0;top:0;z-index:var(--z-modal-backdrop)}.modal-content{background-color:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:90%;z-index:var(--z-modal)}.modal-content.small{max-width:500px}.modal-content.medium{max-width:800px}.modal-content.large{max-width:1100px}.modal-header{align-items:center;background-color:var(--color-bg-tertiary);border-bottom:var(--border-width-thin) solid var(--color-border-light);border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;justify-content:space-between;padding:var(--space-6)}.modal-header h2,.modal-title{color:var(--color-text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0}.modal-subtitle{font-size:var(--text-base);margin-bottom:var(--space-5)}.close-button,.modal-subtitle{color:var(--color-text-tertiary)}.close-button{align-items:center;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:32px;height:36px;justify-content:center;padding:0;transition:all var(--transition-base);width:36px}.close-button:hover{background-color:var(--color-gray-200);color:var(--color-text-primary)}.modal-body{flex:1 1;overflow-y:auto;padding:var(--space-6)}.modal-footer{align-items:center;background-color:var(--color-bg-tertiary);border-radius:0 0 var(--radius-xl) var(--radius-xl);border-top:var(--border-width-thin) solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--space-5) var(--space-6)}.footer-left,.footer-right,.modal-actions{display:flex;gap:var(--space-3)}.modal-actions{justify-content:flex-end;margin-top:var(--space-6)}.modal-warning{background-color:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-md);color:#92400e;font-weight:var(--font-medium);margin-bottom:var(--space-4);padding:var(--space-3)}@media (max-width:640px){.modal-overlay{padding:var(--space-2)}.modal-content{max-height:95vh;max-width:100%}.modal-body,.modal-header{padding:var(--space-4)}.modal-footer{flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.footer-left,.footer-right{width:100%}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.card{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between}.card-body,.card-footer,.card-header{padding:var(--space-4)}.card-footer{background-color:var(--color-gray-50);border-top:1px solid var(--color-border-light)}.card-elevated{box-shadow:var(--shadow-lg)}.card-flat{border:1px solid var(--color-border-light);box-shadow:none}.card-interactive{cursor:pointer}.card-interactive:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.card-allergen-warning{background-color:var(--color-allergen-bg);border:2px solid var(--color-allergen-border)}.card-allergen-warning .card-body{align-items:flex-start;display:flex;gap:var(--space-4)}.card-allergen-warning .warning-icon{flex-shrink:0;font-size:32px}.card-conflict{border:4px solid #f87171}
/*# sourceMappingURL=main.e78f7879.css.map*/