#app{width:100%;height:100%;min-height:100vh}.meal-form[data-v-28124f1c]{max-width:800px;margin:0 auto;background:#fff;border-radius:8px;padding:30px}.form-section[data-v-28124f1c]{margin-bottom:25px;padding-bottom:25px;border-bottom:1px solid #eee}.form-section[data-v-28124f1c]:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header[data-v-28124f1c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.form-section h3[data-v-28124f1c]{margin:0 0 15px 0;color:#333;font-size:16px;border-left:4px solid #007bff;padding-left:10px}.form-group[data-v-28124f1c]{margin-bottom:15px}.form-group label[data-v-28124f1c]{display:block;margin-bottom:5px;color:#666;font-size:14px}.form-input[data-v-28124f1c]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-28124f1c]:focus{outline:none;border-color:#007bff}.form-row[data-v-28124f1c]{display:flex;gap:20px}.form-row .form-group[data-v-28124f1c]{flex:1}.inline-group[data-v-28124f1c]{display:flex;align-items:center;gap:10px}.inline-group label[data-v-28124f1c]{display:inline-block;margin-bottom:0;white-space:nowrap}.image-upload-container[data-v-28124f1c],.video-upload-container[data-v-28124f1c]{width:100%}.upload-area[data-v-28124f1c]{border:2px dashed #ddd;border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s;background:#fafafa}.upload-area.drag-over[data-v-28124f1c],.upload-area[data-v-28124f1c]:hover{border-color:#007bff;background:#f0f7ff}.upload-icon[data-v-28124f1c]{font-size:48px;margin-bottom:10px}.upload-area p[data-v-28124f1c]{margin:5px 0;color:#666;font-size:14px}.upload-hint[data-v-28124f1c]{font-size:12px!important;color:#999!important}.preview-area[data-v-28124f1c]{position:relative;border-radius:8px;overflow:hidden}.preview-image[data-v-28124f1c]{width:100%;height:auto;-o-object-fit:contain;object-fit:contain}.preview-video[data-v-28124f1c]{width:100%;max-height:300px}.remove-image-btn[data-v-28124f1c]{position:absolute;top:10px;right:10px;padding:5px 10px;background:rgba(0,0,0,.6);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.remove-image-btn[data-v-28124f1c]:hover{background:rgba(0,0,0,.8)}.file-input[data-v-28124f1c]{display:none}.checkbox-group[data-v-28124f1c]{display:flex;align-items:center}.checkbox-label[data-v-28124f1c]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#666}.checkbox-input[data-v-28124f1c]{width:18px;height:18px}.form-actions[data-v-28124f1c]{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.back-btn[data-v-28124f1c]{padding:6px 12px;background:#ffc107;color:#333;border:none;border-radius:4px;cursor:pointer;transition:all .3s;font-size:14px}.back-btn[data-v-28124f1c]:hover{background:#e0a800}.cancel-btn[data-v-28124f1c]{padding:10px 20px;background:#f0f0f0;color:#666;border:none;border-radius:4px;cursor:pointer;transition:all .3s}.cancel-btn[data-v-28124f1c]:hover{background:#e0e0e0}.submit-btn[data-v-28124f1c]{padding:10px 30px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s}.submit-btn[data-v-28124f1c]:hover:not(:disabled){background:#0069d9}.submit-btn[data-v-28124f1c]:disabled{background:#ccc;cursor:not-allowed}.notification[data-v-28124f1c]{position:fixed;top:20px;right:20px;background:#4caf50;color:#fff;padding:15px 25px;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.2);z-index:1000;animation:slideIn-28124f1c .3s ease}.notification.error[data-v-28124f1c]{background:#f44336}@keyframes slideIn-28124f1c{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@media (max-width:768px){.meal-form[data-v-28124f1c]{padding:20px}.form-row[data-v-28124f1c]{flex-direction:column;gap:15px}.upload-area[data-v-28124f1c]{padding:30px 15px}.upload-icon[data-v-28124f1c]{font-size:36px}.form-actions[data-v-28124f1c]{flex-direction:column}.cancel-btn[data-v-28124f1c],.submit-btn[data-v-28124f1c]{width:100%;padding:12px}}.meal-form-container[data-v-28124f1c]{padding:0}#spicyLevel[data-v-28124f1c]{width:70%}.section-header-with-btn[data-v-28124f1c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-header-with-btn h3[data-v-28124f1c]{margin:0;color:#333;font-size:16px;border-bottom:2px solid #007bff;padding-bottom:8px}.add-btn[data-v-28124f1c]{padding:6px 12px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.add-btn[data-v-28124f1c]:hover{background:#0069d9}.description-box[data-v-28124f1c]{border:1px solid #ddd;border-radius:4px;padding:15px;min-height:80px;background:#fafafa}.description-box p[data-v-28124f1c]{margin:0;color:#333}.description-box .empty-hint[data-v-28124f1c]{color:#999;text-align:center;line-height:80px}.modal-overlay[data-v-28124f1c]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-28124f1c]{background:#fff;border-radius:8px;width:500px;max-height:80vh;overflow-y:auto}.modal-header[data-v-28124f1c]{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee}.modal-header h3[data-v-28124f1c]{margin:0;color:#333}.close-btn[data-v-28124f1c]{background:none;border:none;font-size:20px;cursor:pointer;color:#666}.modal-body[data-v-28124f1c]{padding:20px}.toolbar-buttons[data-v-28124f1c]{display:flex;gap:10px;margin-bottom:15px}.tool-btn[data-v-28124f1c]{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:12px;transition:all .3s}.tool-btn[data-v-28124f1c]:hover{background:#f0f0f0;border-color:#ccc}.btn-1[data-v-28124f1c]{border-color:#007bff;color:#007bff}.btn-1[data-v-28124f1c]:hover{background:#007bff;color:#fff}.btn-2[data-v-28124f1c]{border-color:#28a745;color:#28a745}.btn-2[data-v-28124f1c]:hover{background:#28a745;color:#fff}.btn-3[data-v-28124f1c]{border-color:#ffc107;color:#ffc107}.btn-3[data-v-28124f1c]:hover{background:#ffc107;color:#fff}.btn-4[data-v-28124f1c]{border-color:#dc3545;color:#dc3545}.btn-4[data-v-28124f1c]:hover{background:#dc3545;color:#fff}.modal-footer[data-v-28124f1c]{padding:15px 20px;border-top:1px solid #eee;text-align:right}.modal-footer .btn[data-v-28124f1c]{margin-left:10px;padding:8px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-cancel[data-v-28124f1c]{background:#6c757d;color:#fff}.btn-cancel[data-v-28124f1c]:hover{background:#5a6268}.btn-save[data-v-28124f1c]{background:#007bff;color:#fff}.btn-save[data-v-28124f1c]:hover{background:#0069d9}.modal-content[data-v-28124f1c]{width:50%}.meal-list-container[data-v-62749321]{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff;border-radius:8px;overflow:hidden}.add-btn[data-v-62749321]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .3s}.add-btn[data-v-62749321]:hover{background:#0069d9}.search-bar[data-v-62749321]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:center;flex-shrink:0}.search-input[data-v-62749321]{min-width:200px}.filter-select[data-v-62749321],.search-input[data-v-62749321]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-btn[data-v-62749321]{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.meal-table-container[data-v-62749321]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);flex:1;min-height:0;overflow-y:auto}.meal-table[data-v-62749321]{width:100%;border-collapse:collapse}.meal-table td[data-v-62749321],.meal-table th[data-v-62749321]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.meal-table th[data-v-62749321]{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0;z-index:1}.meal-table tbody tr[data-v-62749321]:hover{background:#f8f9fa}.meal-image[data-v-62749321]{width:60px;height:60px;-o-object-fit:cover;object-fit:cover;border-radius:4px}.delete-btn[data-v-62749321],.edit-btn[data-v-62749321]{padding:5px 10px;border:none;border-radius:3px;cursor:pointer;font-size:12px;transition:all .3s}.detail-btn[data-v-62749321]{padding:5px 10px;border:none;border-radius:3px;cursor:pointer;font-size:12px;background:#17a2b8;color:#fff}.detail-btn[data-v-62749321]:hover{background:#138496}.edit-btn[data-v-62749321]{background:#ffc107;color:#333}.edit-btn[data-v-62749321]:hover{background:#e0a800}.delete-btn[data-v-62749321]{background:#dc3545;color:#fff}.delete-btn[data-v-62749321]:hover{background:#c82333}.empty-state[data-v-62749321]{text-align:center;padding:60px 20px}.empty-icon[data-v-62749321]{font-size:64px;margin-bottom:15px}.empty-state p[data-v-62749321]{color:#666;margin-bottom:20px}.empty-add-btn[data-v-62749321]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.pagination[data-v-62749321]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;flex-shrink:0}.page-btn[data-v-62749321]{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;transition:all .3s}.page-btn[data-v-62749321]:hover:not(:disabled){background:#f8f9fa;border-color:#007bff}.page-btn[data-v-62749321]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-62749321],.total-count[data-v-62749321]{color:#666;font-size:14px}.modal-overlay[data-v-62749321]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-62749321]{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header[data-v-62749321]{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee}.modal-header h3[data-v-62749321]{margin:0}.close-btn[data-v-62749321]{background:none;border:none;font-size:20px;cursor:pointer;color:#999}.edit-form[data-v-62749321]{padding:20px}.edit-form .form-group[data-v-62749321]{margin-bottom:15px}.edit-form .form-group label[data-v-62749321]{display:block;margin-bottom:5px;color:#666}.edit-form .form-input[data-v-62749321]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.edit-form .form-row[data-v-62749321]{display:flex;gap:15px}.edit-form .form-row .form-group[data-v-62749321]{flex:1}.modal-footer[data-v-62749321]{display:flex;justify-content:flex-end;gap:15px;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.modal-footer .cancel-btn[data-v-62749321]{padding:10px 20px;background:#f0f0f0;color:#666;border:none;border-radius:4px;cursor:pointer}.modal-footer .submit-btn[data-v-62749321]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.notification[data-v-62749321]{position:fixed;top:20px;right:20px;background:#4caf50;color:#fff;padding:15px 25px;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.2);z-index:1000;animation:slideIn-62749321 .3s ease}.notification.error[data-v-62749321]{background:#f44336}@keyframes slideIn-62749321{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@media (max-width:768px){.search-bar[data-v-62749321]{flex-direction:column;align-items:stretch}.filter-select[data-v-62749321],.search-input[data-v-62749321]{min-width:100%}.meal-table-container[data-v-62749321]{overflow-x:auto}.meal-table td[data-v-62749321],.meal-table th[data-v-62749321]{padding:10px 8px;font-size:13px}.meal-image[data-v-62749321]{width:40px;height:40px}.delete-btn[data-v-62749321],.edit-btn[data-v-62749321]{padding:4px 6px;font-size:11px;margin-right:3px}.pagination[data-v-62749321]{flex-wrap:wrap;gap:10px}.edit-form .form-row[data-v-62749321]{flex-direction:column}}.meal-detail-container[data-v-0882e948]{height:100%;display:flex;flex-direction:column;overflow:hidden}.detail-header[data-v-0882e948]{display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #eee;flex-shrink:0}.back-btn[data-v-0882e948]{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.back-btn[data-v-0882e948]:hover{background:#5a6268}.detail-header h1[data-v-0882e948]{margin:0;color:#333}.detail-content[data-v-0882e948]{flex:1;overflow-y:auto;padding:20px;background:#f5f5f5}.main-info[data-v-0882e948]{display:flex;gap:30px;background:#fff;padding:25px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.image-section[data-v-0882e948]{flex-shrink:0}.meal-detail-image[data-v-0882e948]{width:250px;height:250px;-o-object-fit:cover;object-fit:cover;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.basic-info[data-v-0882e948]{flex:1;display:flex;flex-direction:column}.meal-name[data-v-0882e948]{margin:0 0 15px 0;color:#333;font-size:24px}.tags[data-v-0882e948]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.tag[data-v-0882e948]{padding:4px 12px;border-radius:20px;font-size:12px;color:#fff}.cuisine-tag[data-v-0882e948]{background:#17a2b8}.sort-tag[data-v-0882e948]{background:#28a745}.person-tag[data-v-0882e948]{background:#ffc107;color:#333}.allergen-badge[data-v-0882e948],.spicy-badge[data-v-0882e948]{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;margin-right:10px;background:#f8d7da;color:#721c24}.allergen-badge[data-v-0882e948]{background:#fff3cd;color:#856404}.detail-section[data-v-0882e948]{background:#fff;padding:20px;border-radius:8px;margin-bottom:15px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.detail-section h3[data-v-0882e948]{margin:0 0 15px 0;color:#333;font-size:16px;border-bottom:2px solid #007bff;padding-bottom:8px}.description[data-v-0882e948],.ingredients[data-v-0882e948],.nutrition[data-v-0882e948],.seasoning[data-v-0882e948],.time[data-v-0882e948]{color:#555;line-height:1.8;margin:0;font-size:14px}.action-section[data-v-0882e948]{display:flex;justify-content:center;gap:20px;padding-top:20px;border-top:1px solid #eee;margin-top:15px}.edit-btn[data-v-0882e948]{padding:12px 30px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.edit-btn[data-v-0882e948]:hover{background:#0069d9}.delete-btn[data-v-0882e948]{padding:12px 30px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.delete-btn[data-v-0882e948]:hover{background:#c82333}.loading-state[data-v-0882e948]{text-align:center;padding:100px 0}.loading-icon[data-v-0882e948]{font-size:48px;margin-bottom:20px}.loading-state p[data-v-0882e948]{color:#666;font-size:16px}.meal-edit-container[data-v-a2104c66]{height:100%;display:flex;flex-direction:column;overflow:hidden}.edit-header[data-v-a2104c66]{display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #eee;flex-shrink:0}.back-btn[data-v-a2104c66]{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.back-btn[data-v-a2104c66]:hover{background:#5a6268}.refresh-btn[data-v-a2104c66]{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;margin-left:5px}.refresh-btn[data-v-a2104c66]:hover{background:#0069d9}.edit-header h1[data-v-a2104c66]{margin:0;color:#333}.edit-content[data-v-a2104c66]{flex:1;overflow-y:auto;padding:20px;background:#f5f5f5}.edit-form[data-v-a2104c66]{max-width:800px;margin:0 auto}.form-section[data-v-a2104c66]{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.form-section h3[data-v-a2104c66]{margin:0 0 20px 0;color:#333;font-size:16px;border-bottom:2px solid #007bff;padding-bottom:8px}.form-row[data-v-a2104c66]{display:flex;gap:20px;margin-bottom:15px}.form-group[data-v-a2104c66]{flex:1;margin-bottom:15px}.form-group label[data-v-a2104c66]{display:block;margin-bottom:8px;color:#666;font-weight:500;font-size:14px}.form-input[data-v-a2104c66]{width:100%;padding:12px 15px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;box-sizing:border-box;transition:all .3s ease;background:#fff}.form-input[data-v-a2104c66]:hover{border-color:#b8b8b8}.form-input[data-v-a2104c66]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1)}textarea.form-input[data-v-a2104c66]{resize:vertical;min-height:100px;line-height:1.6}.image-upload[data-v-a2104c66]{display:flex;gap:20px;align-items:flex-start}.description-box[data-v-a2104c66]{border:1px solid #ddd;border-radius:4px;padding:15px;min-height:80px;background:#fafafa}.description-box p[data-v-a2104c66]{margin:0;color:#333}.empty-hint[data-v-a2104c66]{color:#999!important;font-style:italic}.image-preview[data-v-a2104c66],.upload-placeholder[data-v-a2104c66]{width:200px;height:200px;border:2px dashed #ddd;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.preview-image[data-v-a2104c66]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.upload-placeholder span[data-v-a2104c66]{color:#999;font-size:14px}.image-input[data-v-a2104c66]{flex:1}.checkbox-group[data-v-a2104c66]{display:flex;gap:30px}.checkbox-label[data-v-a2104c66]{display:flex;align-items:center;cursor:pointer;font-size:14px;color:#666}.checkbox-label input[type=checkbox][data-v-a2104c66]{margin-right:8px;width:18px;height:18px;cursor:pointer}.form-actions[data-v-a2104c66]{display:flex;justify-content:center;gap:20px;padding:20px 0}.cancel-btn[data-v-a2104c66],.submit-btn[data-v-a2104c66]{padding:12px 40px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.cancel-btn[data-v-a2104c66]{background:#6c757d;color:#fff}.cancel-btn[data-v-a2104c66]:hover{background:#5a6268}.submit-btn[data-v-a2104c66]{background:#007bff;color:#fff}.submit-btn[data-v-a2104c66]:hover{background:#0069d9}.submit-btn[data-v-a2104c66]:disabled{background:#ccc;cursor:not-allowed}.loading-state[data-v-a2104c66]{text-align:center;padding:100px 0}.loading-icon[data-v-a2104c66]{font-size:48px;margin-bottom:20px}.loading-state p[data-v-a2104c66]{color:#666;font-size:16px}.description-box p[data-v-a2104c66]{font-size:12px}.overview-container[data-v-53f361cc]{padding:20px}.overview-header[data-v-53f361cc]{margin-bottom:20px}.overview-header h1[data-v-53f361cc]{margin:0;font-size:22px;color:#333}.stats-grid[data-v-53f361cc]{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:20px}.stat-card[data-v-53f361cc]{background:#fff;border-radius:10px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:0 2px 10px rgba(0,0,0,.05)}.stat-icon[data-v-53f361cc]{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.stat-icon.bg-blue[data-v-53f361cc]{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-icon.bg-green[data-v-53f361cc]{background:linear-gradient(135deg,#11998e,#38ef7d)}.stat-icon.bg-orange[data-v-53f361cc]{background:linear-gradient(135deg,#fc4a1a,#f7b733)}.stat-icon.bg-purple[data-v-53f361cc]{background:linear-gradient(135deg,#a8edea,#fed6e3)}.stat-info[data-v-53f361cc]{flex:1}.stat-value[data-v-53f361cc]{font-size:28px;font-weight:700;color:#333}.stat-label[data-v-53f361cc]{font-size:14px;color:#888}.charts-row[data-v-53f361cc]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}.chart-card[data-v-53f361cc]{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.05)}.chart-card h3[data-v-53f361cc]{margin:0 0 15px 0;font-size:16px;color:#333}.chart-container[data-v-53f361cc]{height:250px}.activity-card[data-v-53f361cc]{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.05)}.activity-card h3[data-v-53f361cc]{margin:0 0 15px 0;font-size:16px;color:#333}.activity-list[data-v-53f361cc]{max-height:150px;overflow-y:auto}.activity-item[data-v-53f361cc]{display:flex;gap:15px;padding:10px 0;border-bottom:1px solid #eee}.activity-item[data-v-53f361cc]:last-child{border-bottom:none}.activity-time[data-v-53f361cc]{font-size:12px;color:#999;min-width:80px}.activity-content[data-v-53f361cc]{font-size:14px;color:#333}@media (max-width:1200px){.stats-grid[data-v-53f361cc]{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.charts-row[data-v-53f361cc],.stats-grid[data-v-53f361cc]{grid-template-columns:1fr}}.catalogue-container[data-v-37fa42f4]{width:100%}.menu-group[data-v-37fa42f4]{margin-top:0;border-bottom:1px solid #1a202c}.menu-header[data-v-37fa42f4]{display:flex;align-items:center;padding:12px 20px;color:#e2e8f0;cursor:pointer;transition:background .3s}.menu-header[data-v-37fa42f4]:hover{background:#2d3748}.menu-item[data-v-37fa42f4]{display:flex;align-items:center;padding:12px 20px;color:#e2e8f0;cursor:pointer;transition:background .3s}.menu-item[data-v-37fa42f4]:hover{background:#2d3748}.menu-item.active[data-v-37fa42f4]{background:#2b6cb0}.menu-icon[data-v-37fa42f4]{margin-right:10px;font-size:16px}.menu-arrow[data-v-37fa42f4]{font-size:12px;transition:transform .3s ease}.menu-arrow.expanded[data-v-37fa42f4]{transform:rotate(90deg)}.sub-menu[data-v-37fa42f4]{background:#2d3748;max-height:0;overflow:hidden;opacity:0;transform:translateY(-10px);transition:all .3s ease}.sub-menu.expanded[data-v-37fa42f4]{max-height:200px;opacity:1;transform:translateY(0)}.sub-menu-item[data-v-37fa42f4]{padding:10px 20px 10px 50px;color:#cbd5e0;cursor:pointer;transition:background .3s;font-size:14px}.sub-menu-item[data-v-37fa42f4]:hover{background:#1a202c}.sub-menu-item.active[data-v-37fa42f4]{background:#2b6cb0;color:#fff}.user-list-container[data-v-10bcbbe8]{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:8px;padding:20px;overflow:hidden}.user-header[data-v-10bcbbe8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.user-header h1[data-v-10bcbbe8]{margin:0;font-size:20px;color:#333}.add-btn[data-v-10bcbbe8]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.add-btn[data-v-10bcbbe8]:hover{background:#0069d9}.search-bar[data-v-10bcbbe8]{display:flex;gap:10px;margin-bottom:20px}.search-input[data-v-10bcbbe8]{flex:1;padding:10px 15px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-btn[data-v-10bcbbe8]{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.search-btn[data-v-10bcbbe8]:hover{background:#218838}.table-container[data-v-10bcbbe8]{flex:1;overflow-y:auto;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.user-table[data-v-10bcbbe8]{width:100%;border-collapse:collapse}.user-table td[data-v-10bcbbe8],.user-table th[data-v-10bcbbe8]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.user-table th[data-v-10bcbbe8]{background:#f8f9fa;font-weight:600;color:#4a5568;position:sticky;top:0;z-index:1}.user-table tbody tr[data-v-10bcbbe8]:hover{background:#f7fafc}.status-badge[data-v-10bcbbe8]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-active[data-v-10bcbbe8]{background:#d4edda;color:#155724}.status-inactive[data-v-10bcbbe8]{background:#f8d7da;color:#721c24}.delete-btn[data-v-10bcbbe8],.detail-btn[data-v-10bcbbe8],.edit-btn[data-v-10bcbbe8]{padding:6px 10px;margin-right:5px;border:none;border-radius:4px;cursor:pointer;font-size:12px}.detail-btn[data-v-10bcbbe8]{background:#17a2b8;color:#fff}.detail-btn[data-v-10bcbbe8]:hover{background:#138496}.edit-btn[data-v-10bcbbe8]{background:#ffc107;color:#333}.edit-btn[data-v-10bcbbe8]:hover{background:#e0a800}.delete-btn[data-v-10bcbbe8]{background:#dc3545;color:#fff}.delete-btn[data-v-10bcbbe8]:hover{background:#c82333}.empty-state[data-v-10bcbbe8]{text-align:center;padding:50px 0;color:#999}.pagination[data-v-10bcbbe8]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;padding-top:15px;border-top:1px solid #eee}.pagination button[data-v-10bcbbe8]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.pagination button[data-v-10bcbbe8]:hover:not(:disabled){background:#f7fafc}.pagination button[data-v-10bcbbe8]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-10bcbbe8]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-10bcbbe8]{background:#fff;border-radius:8px;padding:25px;width:90%;max-width:500px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.modal-content h3[data-v-10bcbbe8]{margin:0 0 20px 0;font-size:18px}.form-group[data-v-10bcbbe8]{margin-bottom:15px}.form-group label[data-v-10bcbbe8]{display:block;margin-bottom:5px;font-weight:500}.form-group input[data-v-10bcbbe8],.form-group select[data-v-10bcbbe8],.form-group textarea[data-v-10bcbbe8]{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.modal-footer[data-v-10bcbbe8]{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.cancel-btn[data-v-10bcbbe8]{padding:10px 20px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.cancel-btn[data-v-10bcbbe8]:hover{background:#f7fafc}.submit-btn[data-v-10bcbbe8]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.submit-btn[data-v-10bcbbe8]:hover{background:#0069d9}.detail-modal[data-v-10bcbbe8]{max-width:400px}.detail-info[data-v-10bcbbe8]{margin-bottom:20px}.detail-row[data-v-10bcbbe8]{padding:10px 0;border-bottom:1px solid #eee}.detail-label[data-v-10bcbbe8]{font-weight:500;color:#666}.close-btn[data-v-10bcbbe8]{width:100%;padding:10px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}.close-btn[data-v-10bcbbe8]:hover{background:#5a6268}.notification[data-v-10bcbbe8]{position:fixed;top:20px;right:20px;padding:15px 25px;background:#d4edda;color:#155724;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:1001}.notification.error[data-v-10bcbbe8]{background:#f8d7da;color:#721c24}.family-list-container[data-v-b4431942]{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff;border-radius:8px;padding:20px;overflow:hidden}.family-header[data-v-b4431942]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.family-header h1[data-v-b4431942]{margin:0;color:#333}.add-btn[data-v-b4431942]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.add-btn[data-v-b4431942]:hover{background:#0069d9}.search-bar[data-v-b4431942]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:center;flex-shrink:0}.search-input[data-v-b4431942]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:250px}.search-btn[data-v-b4431942]{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.search-btn[data-v-b4431942]:hover{background:#218838}.family-table-container[data-v-b4431942]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);flex:1;min-height:0;overflow-y:auto}.family-table[data-v-b4431942]{width:100%;border-collapse:collapse}.family-table td[data-v-b4431942],.family-table th[data-v-b4431942]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.family-table th[data-v-b4431942]{background:#f8f9fa;font-weight:600;color:#4a5568;position:sticky;top:0;z-index:1}.family-table tbody tr[data-v-b4431942]:hover{background:#f7fafc}.address-cell[data-v-b4431942]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge[data-v-b4431942]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-active[data-v-b4431942]{background:#d4edda;color:#155724}.status-inactive[data-v-b4431942]{background:#f8d7da;color:#721c24}.delete-btn[data-v-b4431942],.detail-btn[data-v-b4431942],.edit-btn[data-v-b4431942],.status-btn[data-v-b4431942]{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:5px;transition:all .3s}.detail-btn[data-v-b4431942]{background:#17a2b8;color:#fff}.detail-btn[data-v-b4431942]:hover{background:#138496}.edit-btn[data-v-b4431942]{background:#ffc107;color:#333}.edit-btn[data-v-b4431942]:hover{background:#e0a800}.status-btn[data-v-b4431942]{background:#28a745;color:#fff}.status-btn[data-v-b4431942]:hover{background:#218838}.status-btn.status-off[data-v-b4431942]{background:#dc3545}.status-btn.status-off[data-v-b4431942]:hover{background:#c82333}.delete-btn[data-v-b4431942]{background:#dc3545;color:#fff}.delete-btn[data-v-b4431942]:hover{background:#c82333}.empty-state[data-v-b4431942]{text-align:center;padding:60px 20px}.empty-icon[data-v-b4431942]{font-size:48px;margin-bottom:15px}.empty-state p[data-v-b4431942]{color:#666;margin-bottom:20px}.empty-add-btn[data-v-b4431942]{padding:10px 25px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.pagination[data-v-b4431942]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;flex-shrink:0}.page-btn[data-v-b4431942]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.page-btn[data-v-b4431942]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-b4431942]{color:#666}.total-count[data-v-b4431942]{color:#888;font-size:14px}.modal-overlay[data-v-b4431942]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-b4431942]{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header[data-v-b4431942]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.modal-header h3[data-v-b4431942]{margin:0}.close-btn[data-v-b4431942]{background:none;border:none;font-size:20px;cursor:pointer;color:#999}.close-btn[data-v-b4431942]:hover{color:#666}.family-form[data-v-b4431942]{padding:20px}.form-row[data-v-b4431942]{display:flex;gap:20px;margin-bottom:15px}.form-group[data-v-b4431942]{flex:1}.form-group label[data-v-b4431942]{display:block;margin-bottom:5px;font-size:14px;color:#333}.form-input[data-v-b4431942],.form-textarea[data-v-b4431942]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-textarea[data-v-b4431942]{resize:vertical}.detail-body[data-v-b4431942]{padding:20px}.detail-row[data-v-b4431942]{display:flex;padding:10px 0;border-bottom:1px solid #eee}.detail-label[data-v-b4431942]{font-weight:600;color:#666;min-width:100px}.modal-footer[data-v-b4431942]{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding:20px;border-top:1px solid #eee}.cancel-btn[data-v-b4431942],.confirm-btn[data-v-b4431942]{padding:10px 20px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.cancel-btn[data-v-b4431942]:hover,.confirm-btn[data-v-b4431942]:hover{background:#f5f5f5}.submit-btn[data-v-b4431942]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.submit-btn[data-v-b4431942]:hover{background:#0069d9}.notification-toast[data-v-b4431942]{position:fixed;top:20px;right:20px;padding:15px 25px;background:#d4edda;color:#155724;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:2000}.notification-toast.error[data-v-b4431942]{background:#f8d7da;color:#721c24}.material-list-container[data-v-697a6b1d]{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff;border-radius:8px;padding:20px;overflow:hidden}.material-header[data-v-697a6b1d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.material-header h1[data-v-697a6b1d]{margin:0;color:#333}.add-btn[data-v-697a6b1d]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.add-btn[data-v-697a6b1d]:hover{background:#0069d9}.search-bar[data-v-697a6b1d]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:center;flex-shrink:0}.search-input[data-v-697a6b1d]{min-width:200px}.search-input[data-v-697a6b1d],.search-select[data-v-697a6b1d]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-select[data-v-697a6b1d]{min-width:120px}.search-btn[data-v-697a6b1d]{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.search-btn[data-v-697a6b1d]:hover{background:#218838}.material-table-container[data-v-697a6b1d]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);flex:1;min-height:0;overflow-y:auto}.material-table[data-v-697a6b1d]{width:100%;border-collapse:collapse}.material-table td[data-v-697a6b1d],.material-table th[data-v-697a6b1d]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.material-table th[data-v-697a6b1d]{background:#f8f9fa;font-weight:600;color:#4a5568;position:sticky;top:0;z-index:1}.material-table tbody tr[data-v-697a6b1d]:hover{background:#f7fafc}.category-badge[data-v-697a6b1d]{padding:4px 10px;background:#e7f3ff;color:#0c63e4;border-radius:4px;font-size:12px}.low-stock[data-v-697a6b1d]{color:#dc3545;font-weight:600}.warning-icon[data-v-697a6b1d]{margin-left:5px}.status-badge[data-v-697a6b1d]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-active[data-v-697a6b1d]{background:#d4edda;color:#155724}.status-inactive[data-v-697a6b1d]{background:#f8d7da;color:#721c24}.delete-btn[data-v-697a6b1d],.detail-btn[data-v-697a6b1d],.edit-btn[data-v-697a6b1d],.status-btn[data-v-697a6b1d]{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:all .3s}.detail-btn[data-v-697a6b1d]{background:#17a2b8;color:#fff}.detail-btn[data-v-697a6b1d]:hover{background:#138496}.edit-btn[data-v-697a6b1d]{background:#ffc107;color:#333}.edit-btn[data-v-697a6b1d]:hover{background:#e0a800}.status-btn[data-v-697a6b1d]{background:#28a745;color:#fff}.status-btn[data-v-697a6b1d]:hover{background:#218838}.status-btn.status-off[data-v-697a6b1d]{background:#dc3545}.status-btn.status-off[data-v-697a6b1d]:hover{background:#c82333}.delete-btn[data-v-697a6b1d]{background:#dc3545;color:#fff}.delete-btn[data-v-697a6b1d]:hover{background:#c82333}.empty-state[data-v-697a6b1d]{text-align:center;padding:60px 20px}.empty-icon[data-v-697a6b1d]{font-size:48px;margin-bottom:15px}.empty-state p[data-v-697a6b1d]{color:#666;margin-bottom:20px}.empty-add-btn[data-v-697a6b1d]{padding:10px 25px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.pagination[data-v-697a6b1d]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;flex-shrink:0}.page-btn[data-v-697a6b1d]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.page-btn[data-v-697a6b1d]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-697a6b1d]{color:#666}.total-count[data-v-697a6b1d]{color:#888;font-size:14px}.notification-toast[data-v-697a6b1d]{position:fixed;top:20px;right:20px;padding:15px 25px;background:#d4edda;color:#155724;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:2000}.notification-toast.error[data-v-697a6b1d]{background:#f8d7da;color:#721c24}.material-image[data-v-697a6b1d]{width:60px;height:60px;box-radius:4px}.meal-form[data-v-587a9ab8]{max-width:800px;margin:0 auto;background:#fff;border-radius:8px;padding:30px}.form-section[data-v-587a9ab8]{margin-bottom:25px;padding-bottom:25px;border-bottom:1px solid #eee}.form-section[data-v-587a9ab8]:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header[data-v-587a9ab8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.form-section h3[data-v-587a9ab8]{margin:0 0 15px 0;color:#333;font-size:16px;border-left:4px solid #007bff;padding-left:10px}.form-group[data-v-587a9ab8]{margin-bottom:15px}.form-group label[data-v-587a9ab8]{display:block;margin-bottom:5px;color:#666;font-size:14px}.form-input[data-v-587a9ab8]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-587a9ab8]:focus{outline:none;border-color:#007bff}.form-row[data-v-587a9ab8]{display:flex;gap:20px}.form-row .form-group[data-v-587a9ab8]{flex:1}.checkbox-group[data-v-587a9ab8]{display:flex;align-items:center}.checkbox-label[data-v-587a9ab8]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#666}.checkbox-input[data-v-587a9ab8]{width:18px;height:18px}.form-actions[data-v-587a9ab8]{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.back-btn[data-v-587a9ab8]{padding:6px 12px;background:#ffc107;color:#333;border:none;border-radius:4px;cursor:pointer;transition:all .3s;font-size:14px}.back-btn[data-v-587a9ab8]:hover{background:#e0a800}.cancel-btn[data-v-587a9ab8]{padding:10px 20px;background:#f0f0f0;color:#666;border:none;border-radius:4px;cursor:pointer;transition:all .3s}.cancel-btn[data-v-587a9ab8]:hover{background:#e0e0e0}.submit-btn[data-v-587a9ab8]{padding:10px 30px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s}.submit-btn[data-v-587a9ab8]:hover:not(:disabled){background:#0069d9}.submit-btn[data-v-587a9ab8]:disabled{background:#ccc;cursor:not-allowed}.image-upload-container[data-v-587a9ab8]{width:100%}.upload-area[data-v-587a9ab8]{border:2px dashed #ddd;border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s;background:#fafafa}.upload-area.drag-over[data-v-587a9ab8],.upload-area[data-v-587a9ab8]:hover{border-color:#007bff;background:#f0f7ff}.upload-icon[data-v-587a9ab8]{font-size:48px;margin-bottom:10px}.upload-area p[data-v-587a9ab8]{margin:5px 0;color:#666;font-size:14px}.upload-hint[data-v-587a9ab8]{font-size:12px!important;color:#999!important}.preview-area[data-v-587a9ab8]{position:relative;border-radius:8px;overflow:hidden}.preview-image[data-v-587a9ab8]{width:100%;height:auto;-o-object-fit:contain;object-fit:contain}.remove-image-btn[data-v-587a9ab8]{position:absolute;top:10px;right:10px;padding:5px 10px;background:rgba(0,0,0,.6);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.remove-image-btn[data-v-587a9ab8]:hover{background:rgba(0,0,0,.8)}.file-input[data-v-587a9ab8]{display:none}.file-upload-container[data-v-587a9ab8]{width:100%}.file-upload-area[data-v-587a9ab8]{border:2px dashed #007bff;border-radius:8px;padding:30px 20px;text-align:center;cursor:pointer;transition:all .3s;background:#f8fafc}.file-upload-area[data-v-587a9ab8]:hover{border-color:#0056b3;background:#e3f2fd;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,123,255,.2)}.file-upload-area[data-v-587a9ab8]:focus{outline:none;border-color:#0056b3;box-shadow:0 0 0 3px rgba(0,123,255,.2)}.file-upload-icon[data-v-587a9ab8]{font-size:40px;margin-bottom:10px}.file-upload-area p[data-v-587a9ab8]{margin:5px 0;color:#666;font-size:14px}.file-upload-hint[data-v-587a9ab8]{font-size:12px!important;color:#999!important}.file-preview-area[data-v-587a9ab8]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f0f7ff;border:1px solid #b3d7ff;border-radius:8px}.file-icon[data-v-587a9ab8]{font-size:24px}.file-name[data-v-587a9ab8]{flex:1;color:#333;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file-btn[data-v-587a9ab8]{padding:6px 12px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.remove-file-btn[data-v-587a9ab8]:hover{background:#c82333}.material-detail-container[data-v-0ee3cc38]{height:100%;display:flex;flex-direction:column;overflow:hidden}.detail-header[data-v-0ee3cc38]{display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #eee;flex-shrink:0}.back-btn[data-v-0ee3cc38]{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.back-btn[data-v-0ee3cc38]:hover{background:#5a6268}.detail-header h1[data-v-0ee3cc38]{margin:0;color:#333}.detail-content[data-v-0ee3cc38]{flex:1;overflow-y:auto;padding:20px;background:#f5f5f5}.main-info[data-v-0ee3cc38]{display:flex;gap:30px;background:#fff;padding:25px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.image-section[data-v-0ee3cc38]{flex-shrink:0}.material-detail-image[data-v-0ee3cc38]{width:250px;height:250px;-o-object-fit:cover;object-fit:cover;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.basic-info[data-v-0ee3cc38]{flex:1;display:flex;flex-direction:column}.material-name[data-v-0ee3cc38]{margin:0 0 15px 0;color:#333;font-size:24px}.tags[data-v-0ee3cc38]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.tag[data-v-0ee3cc38]{padding:4px 12px;border-radius:20px;font-size:12px;color:#fff}.cuisine-tag[data-v-0ee3cc38]{background:#17a2b8}.sort-tag[data-v-0ee3cc38]{background:#28a745}.allergen-badge[data-v-0ee3cc38],.status-badge[data-v-0ee3cc38]{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;margin-right:10px;margin-bottom:10px}.allergen-badge[data-v-0ee3cc38]{background:#fff3cd;color:#856404}.status-active[data-v-0ee3cc38]{background:#d4edda;color:#155724}.status-inactive[data-v-0ee3cc38]{background:#f8d7da;color:#721c24}.detail-section[data-v-0ee3cc38]{background:#fff;padding:20px;border-radius:8px;margin-bottom:15px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.detail-section h3[data-v-0ee3cc38]{margin:0 0 15px 0;color:#333;font-size:16px;border-bottom:2px solid #007bff;padding-bottom:8px}.description[data-v-0ee3cc38],.time[data-v-0ee3cc38]{color:#555;line-height:1.8;margin:0;font-size:14px}.action-section[data-v-0ee3cc38]{display:flex;justify-content:center;gap:20px;padding-top:20px;border-top:1px solid #eee;margin-top:15px}.edit-btn[data-v-0ee3cc38]{padding:12px 30px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.edit-btn[data-v-0ee3cc38]:hover{background:#0069d9}.delete-btn[data-v-0ee3cc38]{padding:12px 30px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.delete-btn[data-v-0ee3cc38]:hover{background:#c82333}.loading-state[data-v-0ee3cc38]{text-align:center;padding:100px 0}.loading-icon[data-v-0ee3cc38]{font-size:48px;margin-bottom:20px}.loading-state p[data-v-0ee3cc38]{color:#666;font-size:16px}.meal-form[data-v-65497bf0]{max-width:800px;margin:0 auto;background:#fff;border-radius:8px;padding:30px}.form-section[data-v-65497bf0]{margin-bottom:25px;padding-bottom:25px;border-bottom:1px solid #eee}.form-section[data-v-65497bf0]:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header[data-v-65497bf0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.header-actions[data-v-65497bf0]{display:flex;gap:5px}.form-section h3[data-v-65497bf0]{margin:0 0 15px 0;color:#333;font-size:16px;border-left:4px solid #007bff;padding-left:10px}.form-group[data-v-65497bf0]{margin-bottom:15px}.form-group label[data-v-65497bf0]{display:block;margin-bottom:5px;color:#666;font-size:14px}.form-input[data-v-65497bf0]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-65497bf0]:focus{outline:none;border-color:#007bff}.form-row[data-v-65497bf0]{display:flex;gap:20px}.form-row .form-group[data-v-65497bf0]{flex:1}.checkbox-group[data-v-65497bf0]{display:flex;align-items:center}.checkbox-label[data-v-65497bf0]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#666}.checkbox-input[data-v-65497bf0]{width:18px;height:18px}.form-actions[data-v-65497bf0]{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.back-btn[data-v-65497bf0]{padding:6px 12px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s;font-size:14px}.back-btn[data-v-65497bf0]:hover{background:#5a6268}.refresh-btn[data-v-65497bf0]{padding:6px 12px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s;font-size:14px}.refresh-btn[data-v-65497bf0]:hover{background:#0069d9}.cancel-btn[data-v-65497bf0]{padding:10px 20px;background:#f0f0f0;color:#666;border:none;border-radius:4px;cursor:pointer;transition:all .3s}.cancel-btn[data-v-65497bf0]:hover{background:#e0e0e0}.submit-btn[data-v-65497bf0]{padding:10px 30px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s}.submit-btn[data-v-65497bf0]:hover:not(:disabled){background:#0069d9}.submit-btn[data-v-65497bf0]:disabled{background:#ccc;cursor:not-allowed}.image-upload-container[data-v-65497bf0]{width:100%}.upload-area[data-v-65497bf0]{border:2px dashed #ddd;border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s;background:#fafafa}.upload-area.drag-over[data-v-65497bf0],.upload-area[data-v-65497bf0]:hover{border-color:#007bff;background:#f0f7ff}.upload-icon[data-v-65497bf0]{font-size:48px;margin-bottom:10px}.upload-area p[data-v-65497bf0]{margin:5px 0;color:#666;font-size:14px}.upload-hint[data-v-65497bf0]{font-size:12px!important;color:#999!important}.preview-area[data-v-65497bf0]{position:relative;border-radius:8px;overflow:hidden}.preview-image[data-v-65497bf0]{width:100%;height:auto;-o-object-fit:contain;object-fit:contain}.remove-image-btn[data-v-65497bf0]{position:absolute;top:10px;right:10px;padding:5px 10px;background:rgba(0,0,0,.6);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.remove-image-btn[data-v-65497bf0]:hover{background:rgba(0,0,0,.8)}.file-input[data-v-65497bf0]{display:none}.order-report-container[data-v-d92e8a72]{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff;border-radius:8px;padding:20px;overflow:hidden}.search-bar[data-v-d92e8a72]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:center;flex-shrink:0}.search-input[data-v-d92e8a72]{min-width:200px}.date-input[data-v-d92e8a72],.search-input[data-v-d92e8a72]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.date-separator[data-v-d92e8a72]{color:#666}.search-select[data-v-d92e8a72]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:120px}.search-btn[data-v-d92e8a72]{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.search-btn[data-v-d92e8a72]:hover{background:#218838}.export-btn[data-v-d92e8a72]{padding:10px 20px;background:#17a2b8;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.export-btn[data-v-d92e8a72]:hover{background:#138496}.stats-cards[data-v-d92e8a72]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;flex-shrink:0}.stat-card[data-v-d92e8a72]{flex:1;min-width:150px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;padding:20px;text-align:center;color:#fff}.stat-value[data-v-d92e8a72]{font-size:28px;font-weight:700}.stat-label[data-v-d92e8a72]{font-size:14px;opacity:.9;margin-top:5px}.report-table-container[data-v-d92e8a72]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);flex:1;min-height:0;overflow-y:auto}.report-table[data-v-d92e8a72]{width:100%;border-collapse:collapse}.report-table td[data-v-d92e8a72],.report-table th[data-v-d92e8a72]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.report-table th[data-v-d92e8a72]{background:#f8f9fa;font-weight:600;color:#4a5568;position:sticky;top:0;z-index:1}.report-table tbody tr[data-v-d92e8a72]:hover{background:#f7fafc}.order-no[data-v-d92e8a72]{font-family:monospace;font-weight:500;color:#2d3748}.order-items[data-v-d92e8a72]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-amount[data-v-d92e8a72]{font-weight:600;color:#e74c3c}.status-badge[data-v-d92e8a72]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-pending[data-v-d92e8a72]{background:#fff3cd;color:#856404}.status-confirmed[data-v-d92e8a72]{background:#e7f3ff;color:#0c63e4}.status-completed[data-v-d92e8a72]{background:#d4edda;color:#155724}.status-cancelled[data-v-d92e8a72]{background:#f8d7da;color:#721c24}.complete-btn[data-v-d92e8a72],.confirm-btn[data-v-d92e8a72],.detail-btn[data-v-d92e8a72]{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:5px;transition:all .3s}.detail-btn[data-v-d92e8a72]{background:#17a2b8;color:#fff}.detail-btn[data-v-d92e8a72]:hover{background:#138496}.confirm-btn[data-v-d92e8a72]{background:#007bff;color:#fff}.confirm-btn[data-v-d92e8a72]:hover{background:#0069d9}.complete-btn[data-v-d92e8a72]{background:#28a745;color:#fff}.complete-btn[data-v-d92e8a72]:hover{background:#218838}.empty-state[data-v-d92e8a72]{text-align:center;padding:60px 20px}.empty-icon[data-v-d92e8a72]{font-size:48px;margin-bottom:15px}.empty-state p[data-v-d92e8a72]{color:#666}.pagination[data-v-d92e8a72]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;flex-shrink:0}.page-btn[data-v-d92e8a72]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.page-btn[data-v-d92e8a72]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-d92e8a72]{color:#666}.total-count[data-v-d92e8a72]{color:#888;font-size:14px}.notification-toast[data-v-d92e8a72]{position:fixed;top:20px;right:20px;padding:15px 25px;background:#d4edda;color:#155724;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:2000}.notification-toast.error[data-v-d92e8a72]{background:#f8d7da;color:#721c24}.family-inventory-container[data-v-b5618d96]{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff;border-radius:8px;padding:20px;overflow:hidden}.search-bar[data-v-b5618d96]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:center;flex-shrink:0}.search-input[data-v-b5618d96]{min-width:200px}.search-input[data-v-b5618d96],.search-select[data-v-b5618d96]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-select[data-v-b5618d96]{min-width:120px}.search-btn[data-v-b5618d96]{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.search-btn[data-v-b5618d96]:hover{background:#218838}.add-btn[data-v-b5618d96]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.add-btn[data-v-b5618d96]:hover{background:#0069d9}.stats-cards[data-v-b5618d96]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;flex-shrink:0}.stat-card[data-v-b5618d96]{flex:1;min-width:150px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;padding:20px;text-align:center;color:#fff}.stat-card.warning[data-v-b5618d96]{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card.danger[data-v-b5618d96]{background:linear-gradient(135deg,#fa709a,#fee140)}.stat-value[data-v-b5618d96]{font-size:28px;font-weight:700}.stat-label[data-v-b5618d96]{font-size:14px;opacity:.9;margin-top:5px}.inventory-table-container[data-v-b5618d96]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);flex:1;min-height:0;overflow-y:auto}.inventory-table[data-v-b5618d96]{width:100%;border-collapse:collapse}.inventory-table td[data-v-b5618d96],.inventory-table th[data-v-b5618d96]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.inventory-table th[data-v-b5618d96]{background:#f8f9fa;font-weight:600;color:#4a5568;position:sticky;top:0;z-index:1}.inventory-table tbody tr[data-v-b5618d96]:hover{background:#f7fafc}.family-name[data-v-b5618d96],.item-name[data-v-b5618d96]{font-weight:500;color:#2d3748}.expired-date[data-v-b5618d96]{color:#dc3545;font-weight:500}.category-badge[data-v-b5618d96]{padding:4px 10px;border-radius:4px;font-size:12px}.category-vegetable[data-v-b5618d96]{background:#d4edda;color:#155724}.category-meat[data-v-b5618d96]{background:#f8d7da;color:#721c24}.category-seafood[data-v-b5618d96]{background:#e7f3ff;color:#0c63e4}.category-grain[data-v-b5618d96]{background:#fff3cd;color:#856404}.category-seasoning[data-v-b5618d96]{background:#f3e8ff;color:#6b21a8}.status-badge[data-v-b5618d96]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-normal[data-v-b5618d96]{background:#d4edda;color:#155724}.status-low[data-v-b5618d96]{background:#fff3cd;color:#856404}.status-expired[data-v-b5618d96]{background:#f8d7da;color:#721c24}.delete-btn[data-v-b5618d96],.detail-btn[data-v-b5618d96],.edit-btn[data-v-b5618d96]{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:5px;transition:all .3s}.detail-btn[data-v-b5618d96]{background:#17a2b8;color:#fff}.detail-btn[data-v-b5618d96]:hover{background:#138496}.edit-btn[data-v-b5618d96]{background:#ffc107;color:#333}.edit-btn[data-v-b5618d96]:hover{background:#e0a800}.delete-btn[data-v-b5618d96]{background:#dc3545;color:#fff}.delete-btn[data-v-b5618d96]:hover{background:#c82333}.empty-state[data-v-b5618d96]{text-align:center;padding:60px 20px}.empty-icon[data-v-b5618d96]{font-size:48px;margin-bottom:15px}.empty-state p[data-v-b5618d96]{color:#666}.pagination[data-v-b5618d96]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;flex-shrink:0}.page-btn[data-v-b5618d96]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.page-btn[data-v-b5618d96]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-b5618d96]{color:#666}.total-count[data-v-b5618d96]{color:#888;font-size:14px}.notification-toast[data-v-b5618d96]{position:fixed;top:20px;right:20px;padding:15px 25px;background:#d4edda;color:#155724;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:2000}.notification-toast.error[data-v-b5618d96]{background:#f8d7da;color:#721c24}.dict-list-container[data-v-70816f11]{display:flex;flex-direction:column;height:100%;min-height:0;background:#f7fafc;padding:20px;overflow:hidden}.dict-header[data-v-70816f11]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0;gap:20px}.add-btn[data-v-70816f11]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;flex-shrink:0}.add-btn[data-v-70816f11]:hover{background:#0069d9}.search-bar[data-v-70816f11]{display:flex;gap:15px;align-items:center;flex:1}.search-input[data-v-70816f11]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:250px}.search-btn[data-v-70816f11]{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.search-btn[data-v-70816f11]:hover{background:#218838}.dict-table-container[data-v-70816f11]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);flex:1;min-height:0;overflow-y:auto}.dict-table[data-v-70816f11]{width:100%;border-collapse:collapse}.dict-table td[data-v-70816f11],.dict-table th[data-v-70816f11]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.dict-table th[data-v-70816f11]{background:#f8f9fa;font-weight:600;color:#4a5568;position:sticky;top:0;z-index:1}.dict-table tbody tr[data-v-70816f11]:hover{background:#f7fafc}.ellipsis-cell[data-v-70816f11]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.status-badge[data-v-70816f11]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-active[data-v-70816f11]{background:#d4edda;color:#155724}.status-inactive[data-v-70816f11]{background:#f8d7da;color:#721c24}.delete-btn[data-v-70816f11],.edit-btn[data-v-70816f11]{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:5px;transition:all .3s}.edit-btn[data-v-70816f11]{background:#ffc107;color:#333}.edit-btn[data-v-70816f11]:hover{background:#e0a800}.delete-btn[data-v-70816f11]{background:#dc3545;color:#fff}.delete-btn[data-v-70816f11]:hover{background:#c82333}.empty-state[data-v-70816f11]{text-align:center;padding:60px 20px}.empty-icon[data-v-70816f11]{font-size:48px;margin-bottom:15px}.empty-state p[data-v-70816f11]{color:#666;margin-bottom:20px}.empty-add-btn[data-v-70816f11]{padding:10px 25px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.pagination[data-v-70816f11]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;flex-shrink:0}.page-btn[data-v-70816f11]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.page-btn[data-v-70816f11]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-70816f11]{color:#666}.total-count[data-v-70816f11]{color:#888;font-size:14px}.modal-overlay[data-v-70816f11]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-70816f11]{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header[data-v-70816f11]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.modal-header h3[data-v-70816f11]{margin:0}.close-btn[data-v-70816f11]{background:none;border:none;font-size:20px;cursor:pointer;color:#999}.close-btn[data-v-70816f11]:hover{color:#666}.dict-form[data-v-70816f11]{padding:20px}.form-row[data-v-70816f11]{display:flex;gap:20px;margin-bottom:15px}.form-group[data-v-70816f11]{flex:1}.form-group label[data-v-70816f11]{display:block;margin-bottom:5px;font-size:14px;color:#333}.form-input[data-v-70816f11],.form-textarea[data-v-70816f11]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-textarea[data-v-70816f11]{resize:vertical}.modal-footer[data-v-70816f11]{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.cancel-btn[data-v-70816f11]{padding:10px 20px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.cancel-btn[data-v-70816f11]:hover{background:#f5f5f5}.submit-btn[data-v-70816f11]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.submit-btn[data-v-70816f11]:hover{background:#0069d9}.notification[data-v-70816f11]{position:fixed;top:20px;right:20px;padding:15px 25px;background:#d4edda;color:#155724;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:2000}.notification.error[data-v-70816f11]{background:#f8d7da;color:#721c24}.notification-manager-container[data-v-0ea12f14]{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff;border-radius:8px;padding:20px;overflow:hidden}.manager-header[data-v-0ea12f14]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.manager-header h1[data-v-0ea12f14]{margin:0;color:#333}.add-btn[data-v-0ea12f14]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.add-btn[data-v-0ea12f14]:hover{background:#0069d9}.search-bar[data-v-0ea12f14]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:center;flex-shrink:0}.search-input[data-v-0ea12f14]{min-width:200px}.filter-select[data-v-0ea12f14],.search-input[data-v-0ea12f14]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.filter-select[data-v-0ea12f14]{min-width:120px}.search-btn[data-v-0ea12f14]{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.search-btn[data-v-0ea12f14]:hover{background:#218838}.notification-table-container[data-v-0ea12f14]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);flex:1;min-height:0;overflow-y:auto}.notification-table[data-v-0ea12f14]{width:100%;border-collapse:collapse}.notification-table td[data-v-0ea12f14],.notification-table th[data-v-0ea12f14]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.notification-table th[data-v-0ea12f14]{background:#f8f9fa;font-weight:600;color:#4a5568;position:sticky;top:0;z-index:1}.notification-table tbody tr[data-v-0ea12f14]:hover{background:#f7fafc}.content-cell[data-v-0ea12f14]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-badge[data-v-0ea12f14]{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500}.type-system[data-v-0ea12f14]{background:#17a2b8;color:#fff}.type-warning[data-v-0ea12f14]{background:#ffc107;color:#333}.type-info[data-v-0ea12f14]{background:#007bff;color:#fff}.type-success[data-v-0ea12f14]{background:#28a745;color:#fff}.status-badge[data-v-0ea12f14]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-active[data-v-0ea12f14]{background:#d4edda;color:#155724}.status-inactive[data-v-0ea12f14]{background:#f8d7da;color:#721c24}.delete-btn[data-v-0ea12f14],.edit-btn[data-v-0ea12f14],.status-btn[data-v-0ea12f14]{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:5px;transition:all .3s}.edit-btn[data-v-0ea12f14]{background:#ffc107;color:#333}.edit-btn[data-v-0ea12f14]:hover{background:#e0a800}.status-btn[data-v-0ea12f14]{background:#28a745;color:#fff}.status-btn[data-v-0ea12f14]:hover{background:#218838}.status-btn.status-off[data-v-0ea12f14]{background:#dc3545}.status-btn.status-off[data-v-0ea12f14]:hover{background:#c82333}.delete-btn[data-v-0ea12f14]{background:#dc3545;color:#fff}.delete-btn[data-v-0ea12f14]:hover{background:#c82333}.empty-state[data-v-0ea12f14]{text-align:center;padding:60px 20px}.empty-icon[data-v-0ea12f14]{font-size:48px;margin-bottom:15px}.empty-state p[data-v-0ea12f14]{color:#666;margin-bottom:20px}.empty-add-btn[data-v-0ea12f14]{padding:10px 25px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.pagination[data-v-0ea12f14]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;flex-shrink:0}.page-btn[data-v-0ea12f14]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.page-btn[data-v-0ea12f14]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-0ea12f14]{color:#666}.total-count[data-v-0ea12f14]{color:#888;font-size:14px}.modal-overlay[data-v-0ea12f14]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-0ea12f14]{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header[data-v-0ea12f14]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.modal-header h3[data-v-0ea12f14]{margin:0}.close-btn[data-v-0ea12f14]{background:none;border:none;font-size:20px;cursor:pointer;color:#999}.close-btn[data-v-0ea12f14]:hover{color:#666}.notification-form[data-v-0ea12f14]{padding:20px}.form-group[data-v-0ea12f14]{margin-bottom:15px}.form-group label[data-v-0ea12f14]{display:block;margin-bottom:5px;font-size:14px;color:#333}.form-input[data-v-0ea12f14],.form-textarea[data-v-0ea12f14]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-textarea[data-v-0ea12f14]{resize:vertical}.modal-footer[data-v-0ea12f14]{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.cancel-btn[data-v-0ea12f14]{padding:10px 20px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.cancel-btn[data-v-0ea12f14]:hover{background:#f5f5f5}.submit-btn[data-v-0ea12f14]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.submit-btn[data-v-0ea12f14]:hover{background:#0069d9}.notification-toast[data-v-0ea12f14]{position:fixed;top:20px;right:20px;padding:15px 25px;background:#d4edda;color:#155724;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:2000}.notification-toast.error[data-v-0ea12f14]{background:#f8d7da;color:#721c24}.comment-manager-container[data-v-10492b64]{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff;border-radius:8px;padding:20px;overflow:hidden}.search-bar[data-v-10492b64]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:center;flex-shrink:0}.search-input[data-v-10492b64]{min-width:200px}.search-input[data-v-10492b64],.search-select[data-v-10492b64]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-select[data-v-10492b64]{min-width:120px}.search-btn[data-v-10492b64]{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.search-btn[data-v-10492b64]:hover{background:#218838}.comment-table-container[data-v-10492b64]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);flex:1;min-height:0;overflow-y:auto}.comment-table[data-v-10492b64]{width:100%;border-collapse:collapse}.comment-table td[data-v-10492b64],.comment-table th[data-v-10492b64]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.comment-table th[data-v-10492b64]{background:#f8f9fa;font-weight:600;color:#4a5568;position:sticky;top:0;z-index:1}.comment-table tbody tr[data-v-10492b64]:hover{background:#f7fafc}.comment-content[data-v-10492b64]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-badge[data-v-10492b64]{padding:4px 10px;border-radius:4px;font-size:12px}.type-comment[data-v-10492b64]{background:#e7f3ff;color:#0c63e4}.type-feedback[data-v-10492b64]{background:#fff3cd;color:#856404}.status-badge[data-v-10492b64]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-pending[data-v-10492b64]{background:#fff3cd;color:#856404}.status-processed[data-v-10492b64]{background:#d4edda;color:#155724}.delete-btn[data-v-10492b64],.detail-btn[data-v-10492b64],.process-btn[data-v-10492b64]{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:5px;transition:all .3s}.detail-btn[data-v-10492b64]{background:#17a2b8;color:#fff}.detail-btn[data-v-10492b64]:hover{background:#138496}.process-btn[data-v-10492b64]{background:#28a745;color:#fff}.process-btn[data-v-10492b64]:hover{background:#218838}.delete-btn[data-v-10492b64]{background:#dc3545;color:#fff}.delete-btn[data-v-10492b64]:hover{background:#c82333}.empty-state[data-v-10492b64]{text-align:center;padding:60px 20px}.empty-icon[data-v-10492b64]{font-size:48px;margin-bottom:15px}.empty-state p[data-v-10492b64]{color:#666}.pagination[data-v-10492b64]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;flex-shrink:0}.page-btn[data-v-10492b64]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.page-btn[data-v-10492b64]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-10492b64]{color:#666}.total-count[data-v-10492b64]{color:#888;font-size:14px}.notification-toast[data-v-10492b64]{position:fixed;top:20px;right:20px;padding:15px 25px;background:#d4edda;color:#155724;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:2000}.notification-toast.error[data-v-10492b64]{background:#f8d7da;color:#721c24}.food-science-container[data-v-118e39de]{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff;border-radius:8px;padding:20px;overflow:hidden}.search-bar[data-v-118e39de]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:center;flex-shrink:0}.search-input[data-v-118e39de]{min-width:200px}.search-input[data-v-118e39de],.search-select[data-v-118e39de]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-select[data-v-118e39de]{min-width:120px}.search-btn[data-v-118e39de]{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.search-btn[data-v-118e39de]:hover{background:#218838}.add-btn[data-v-118e39de]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.add-btn[data-v-118e39de]:hover{background:#0069d9}.science-table-container[data-v-118e39de]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);flex:1;min-height:0;overflow-y:auto}.science-table[data-v-118e39de]{width:100%;border-collapse:collapse}.science-table td[data-v-118e39de],.science-table th[data-v-118e39de]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.science-table th[data-v-118e39de]{background:#f8f9fa;font-weight:600;color:#4a5568;position:sticky;top:0;z-index:1}.science-table tbody tr[data-v-118e39de]:hover{background:#f7fafc}.science-title[data-v-118e39de]{font-weight:500;color:#2d3748}.science-intro[data-v-118e39de]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-badge[data-v-118e39de]{padding:4px 10px;border-radius:4px;font-size:12px}.category-cuisine[data-v-118e39de]{background:#e7f3ff;color:#0c63e4}.category-nutrition[data-v-118e39de]{background:#d4edda;color:#155724}.category-recipe[data-v-118e39de]{background:#fff3cd;color:#856404}.category-history[data-v-118e39de]{background:#f3e8ff;color:#6b21a8}.status-badge[data-v-118e39de]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-published[data-v-118e39de]{background:#d4edda;color:#155724}.status-draft[data-v-118e39de]{background:#fff3cd;color:#856404}.delete-btn[data-v-118e39de],.detail-btn[data-v-118e39de],.edit-btn[data-v-118e39de]{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:5px;transition:all .3s}.detail-btn[data-v-118e39de]{background:#17a2b8;color:#fff}.detail-btn[data-v-118e39de]:hover{background:#138496}.edit-btn[data-v-118e39de]{background:#ffc107;color:#333}.edit-btn[data-v-118e39de]:hover{background:#e0a800}.delete-btn[data-v-118e39de]{background:#dc3545;color:#fff}.delete-btn[data-v-118e39de]:hover{background:#c82333}.empty-state[data-v-118e39de]{text-align:center;padding:60px 20px}.empty-icon[data-v-118e39de]{font-size:48px;margin-bottom:15px}.empty-state p[data-v-118e39de]{color:#666}.pagination[data-v-118e39de]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;flex-shrink:0}.page-btn[data-v-118e39de]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.page-btn[data-v-118e39de]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-118e39de]{color:#666}.total-count[data-v-118e39de]{color:#888;font-size:14px}.notification-toast[data-v-118e39de]{position:fixed;top:20px;right:20px;padding:15px 25px;background:#d4edda;color:#155724;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:2000}.notification-toast.error[data-v-118e39de]{background:#f8d7da;color:#721c24}.ingredient-manage-container[data-v-5e718d74]{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff;border-radius:8px;padding:20px;overflow:hidden}.search-bar[data-v-5e718d74]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:center;flex-shrink:0}.search-input[data-v-5e718d74]{min-width:200px}.search-input[data-v-5e718d74],.search-select[data-v-5e718d74]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-select[data-v-5e718d74]{min-width:120px}.search-btn[data-v-5e718d74]{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.search-btn[data-v-5e718d74]:hover{background:#218838}.add-btn[data-v-5e718d74]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.add-btn[data-v-5e718d74]:hover{background:#0069d9}.ingredient-table-container[data-v-5e718d74]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);flex:1;min-height:0;overflow-y:auto}.ingredient-table[data-v-5e718d74]{width:100%;border-collapse:collapse}.ingredient-table td[data-v-5e718d74],.ingredient-table th[data-v-5e718d74]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.ingredient-table th[data-v-5e718d74]{background:#f8f9fa;font-weight:600;color:#4a5568;position:sticky;top:0;z-index:1}.ingredient-table tbody tr[data-v-5e718d74]:hover{background:#f7fafc}.ingredient-name[data-v-5e718d74]{font-weight:500;color:#2d3748}.ingredient-effect[data-v-5e718d74]{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-badge[data-v-5e718d74]{padding:4px 10px;border-radius:4px;font-size:12px}.category-vegetable[data-v-5e718d74]{background:#d4edda;color:#155724}.category-meat[data-v-5e718d74]{background:#f8d7da;color:#721c24}.category-seafood[data-v-5e718d74]{background:#e7f3ff;color:#0c63e4}.category-grain[data-v-5e718d74]{background:#fff3cd;color:#856404}.category-seasoning[data-v-5e718d74]{background:#f3e8ff;color:#6b21a8}.nutrition-tag[data-v-5e718d74]{display:inline-block;padding:3px 8px;background:#e2e8f0;color:#4a5568;border-radius:3px;font-size:11px;margin-right:4px}.delete-btn[data-v-5e718d74],.detail-btn[data-v-5e718d74],.edit-btn[data-v-5e718d74]{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:5px;transition:all .3s}.detail-btn[data-v-5e718d74]{background:#17a2b8;color:#fff}.detail-btn[data-v-5e718d74]:hover{background:#138496}.edit-btn[data-v-5e718d74]{background:#ffc107;color:#333}.edit-btn[data-v-5e718d74]:hover{background:#e0a800}.delete-btn[data-v-5e718d74]{background:#dc3545;color:#fff}.delete-btn[data-v-5e718d74]:hover{background:#c82333}.empty-state[data-v-5e718d74]{text-align:center;padding:60px 20px}.empty-icon[data-v-5e718d74]{font-size:48px;margin-bottom:15px}.empty-state p[data-v-5e718d74]{color:#666}.pagination[data-v-5e718d74]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;flex-shrink:0}.page-btn[data-v-5e718d74]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.page-btn[data-v-5e718d74]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-5e718d74]{color:#666}.total-count[data-v-5e718d74]{color:#888;font-size:14px}.notification-toast[data-v-5e718d74]{position:fixed;top:20px;right:20px;padding:15px 25px;background:#d4edda;color:#155724;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:2000}.notification-toast.error[data-v-5e718d74]{background:#f8d7da;color:#721c24}.activity-manager-container[data-v-46b5c3f9]{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff;border-radius:8px;padding:20px;overflow:hidden}.search-bar[data-v-46b5c3f9]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:center;flex-shrink:0}.search-input[data-v-46b5c3f9]{min-width:200px}.search-input[data-v-46b5c3f9],.search-select[data-v-46b5c3f9]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-select[data-v-46b5c3f9]{min-width:120px}.search-btn[data-v-46b5c3f9]{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.search-btn[data-v-46b5c3f9]:hover{background:#218838}.add-btn[data-v-46b5c3f9]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.add-btn[data-v-46b5c3f9]:hover{background:#0069d9}.stats-cards[data-v-46b5c3f9]{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;flex-shrink:0}.stat-card[data-v-46b5c3f9]{flex:1;min-width:150px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;padding:20px;text-align:center;color:#fff}.stat-card.active[data-v-46b5c3f9]{background:linear-gradient(135deg,#11998e,#38ef7d)}.stat-value[data-v-46b5c3f9]{font-size:28px;font-weight:700}.stat-label[data-v-46b5c3f9]{font-size:14px;opacity:.9;margin-top:5px}.activity-table-container[data-v-46b5c3f9]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);flex:1;min-height:0;overflow-y:auto}.activity-table[data-v-46b5c3f9]{width:100%;border-collapse:collapse}.activity-table td[data-v-46b5c3f9],.activity-table th[data-v-46b5c3f9]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.activity-table th[data-v-46b5c3f9]{background:#f8f9fa;font-weight:600;color:#4a5568;position:sticky;top:0;z-index:1}.activity-table tbody tr[data-v-46b5c3f9]:hover{background:#f7fafc}.activity-name[data-v-46b5c3f9]{font-weight:500;color:#2d3748}.activity-revenue[data-v-46b5c3f9]{font-weight:600;color:#e74c3c}.type-badge[data-v-46b5c3f9]{padding:4px 10px;border-radius:4px;font-size:12px}.type-discount[data-v-46b5c3f9]{background:#e7f3ff;color:#0c63e4}.type-gift[data-v-46b5c3f9]{background:#f3e8ff;color:#6b21a8}.type-coupon[data-v-46b5c3f9]{background:#fff3cd;color:#856404}.type-points[data-v-46b5c3f9]{background:#d4edda;color:#155724}.status-badge[data-v-46b5c3f9]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-draft[data-v-46b5c3f9]{background:#e2e8f0;color:#4a5568}.status-active[data-v-46b5c3f9]{background:#d4edda;color:#155724}.status-ended[data-v-46b5c3f9]{background:#f8d7da;color:#721c24}.delete-btn[data-v-46b5c3f9],.detail-btn[data-v-46b5c3f9],.edit-btn[data-v-46b5c3f9],.end-btn[data-v-46b5c3f9]{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:5px;transition:all .3s}.detail-btn[data-v-46b5c3f9]{background:#17a2b8;color:#fff}.detail-btn[data-v-46b5c3f9]:hover{background:#138496}.edit-btn[data-v-46b5c3f9]{background:#ffc107;color:#333}.edit-btn[data-v-46b5c3f9]:hover{background:#e0a800}.end-btn[data-v-46b5c3f9]{background:#6c757d;color:#fff}.end-btn[data-v-46b5c3f9]:hover{background:#5a6268}.delete-btn[data-v-46b5c3f9]{background:#dc3545;color:#fff}.delete-btn[data-v-46b5c3f9]:hover{background:#c82333}.empty-state[data-v-46b5c3f9]{text-align:center;padding:60px 20px}.empty-icon[data-v-46b5c3f9]{font-size:48px;margin-bottom:15px}.empty-state p[data-v-46b5c3f9]{color:#666}.pagination[data-v-46b5c3f9]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;flex-shrink:0}.page-btn[data-v-46b5c3f9]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.page-btn[data-v-46b5c3f9]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-46b5c3f9]{color:#666}.total-count[data-v-46b5c3f9]{color:#888;font-size:14px}.notification-toast[data-v-46b5c3f9]{position:fixed;top:20px;right:20px;padding:15px 25px;background:#d4edda;color:#155724;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:2000}.notification-toast.error[data-v-46b5c3f9]{background:#f8d7da;color:#721c24}.admin-container[data-v-8caf83fa]{display:flex;flex-direction:column;height:100vh}.top-header[data-v-8caf83fa]{display:flex;justify-content:space-between;align-items:center;background:#2d3748;color:#fff;padding:0 30px;height:60px}.logo-section h1[data-v-8caf83fa]{margin:0;font-size:18px}.user-section[data-v-8caf83fa]{display:flex;align-items:center;gap:15px}.admin-info[data-v-8caf83fa]{color:#a0aec0}.logout-btn[data-v-8caf83fa],.nav-btn[data-v-8caf83fa]{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:13px}.nav-btn[data-v-8caf83fa]{background:#4a5568;color:#fff}.logout-btn[data-v-8caf83fa]{background:#dc2626;color:#fff}.main-layout[data-v-8caf83fa]{display:flex;flex:1;overflow:hidden}.sidebar[data-v-8caf83fa]{width:200px;background:#4a5568;overflow-y:auto}.content-area[data-v-8caf83fa]{flex:1;background:#f7fafc;padding:0;display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-8caf83fa]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.content-scroll[data-v-8caf83fa]{flex:1;overflow-y:auto}.content-header[data-v-8caf83fa]{display:flex;justify-content:flex-end;margin-bottom:15px}.export-btn[data-v-8caf83fa]{padding:8px 16px;background:#3182ce;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.export-btn[data-v-8caf83fa]:hover{background:#2b6cb0}.breadcrumb[data-v-8caf83fa]{color:#4a5568;font-size:14px}.breadcrumb span[data-v-8caf83fa]{cursor:pointer}.breadcrumb span[data-v-8caf83fa]:hover{color:#2b6cb0}.separator[data-v-8caf83fa]{margin:0 8px;color:#cbd5e0}.search-bar[data-v-8caf83fa]{display:flex;gap:15px;margin-bottom:20px;align-items:flex-end;flex-wrap:wrap}.search-item[data-v-8caf83fa]{display:flex;flex-direction:column}.search-item label[data-v-8caf83fa]{font-size:12px;color:#666;margin-bottom:5px}.search-input[data-v-8caf83fa]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;min-width:150px}.search-btn[data-v-8caf83fa]{padding:8px 20px;background:#3182ce;color:#fff;border:none;border-radius:4px;cursor:pointer;height:36px}.action-bar[data-v-8caf83fa]{display:flex;gap:10px;margin-bottom:20px}.add-btn[data-v-8caf83fa]{background:#38a169}.add-btn[data-v-8caf83fa],.delete-btn[data-v-8caf83fa]{padding:10px 20px;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.delete-btn[data-v-8caf83fa]{background:#e53e3e}.table-container[data-v-8caf83fa]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);max-height:calc(100vh - 320px);overflow-y:auto}.data-table[data-v-8caf83fa]{width:100%;border-collapse:collapse}.data-table td[data-v-8caf83fa],.data-table th[data-v-8caf83fa]{padding:12px 15px;text-align:left;border-bottom:1px solid #e2e8f0}.data-table th[data-v-8caf83fa]{background:#edf2f7;font-weight:600;color:#4a5568}.data-table tbody tr[data-v-8caf83fa]:hover{background:#f7fafc}.delete-btn-small[data-v-8caf83fa],.detail-btn[data-v-8caf83fa],.edit-btn[data-v-8caf83fa]{padding:5px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:8px}.detail-btn[data-v-8caf83fa]{background:#3182ce;color:#fff}.edit-btn[data-v-8caf83fa]{background:#ed8936;color:#fff}.delete-btn-small[data-v-8caf83fa]{background:#e53e3e;color:#fff}.pagination[data-v-8caf83fa]{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:20px;padding:15px}.page-btn[data-v-8caf83fa]{padding:8px 16px;background:#3182ce;color:#fff;border:none;border-radius:4px;cursor:pointer}.page-btn[data-v-8caf83fa]:disabled{background:#cbd5e0;cursor:not-allowed}.page-info[data-v-8caf83fa]{color:#4a5568}.total-count[data-v-8caf83fa]{color:#718096;font-size:14px}.modal-overlay[data-v-8caf83fa]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-8caf83fa]{background:#fff;border-radius:8px;width:500px;max-height:80vh;overflow-y:auto}.modal-header[data-v-8caf83fa]{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee}.modal-header h3[data-v-8caf83fa]{margin:0}.close-btn[data-v-8caf83fa]{background:none;border:none;font-size:20px;cursor:pointer;color:#666}.modal-body[data-v-8caf83fa]{padding:20px}.detail-row[data-v-8caf83fa]{margin-bottom:15px}.detail-label[data-v-8caf83fa]{font-weight:600;color:#4a5568;display:inline-block;width:80px}.form-row[data-v-8caf83fa]{display:flex;gap:15px;margin-bottom:15px}.form-group[data-v-8caf83fa]{flex:1}.form-group label[data-v-8caf83fa]{display:block;margin-bottom:5px;font-size:14px;color:#666}.form-input[data-v-8caf83fa]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.modal-footer[data-v-8caf83fa]{padding:15px 20px;border-top:1px solid #eee;text-align:right}.confirm-btn[data-v-8caf83fa],.submit-btn[data-v-8caf83fa]{padding:8px 20px;background:#3182ce;color:#fff;border:none;border-radius:4px;cursor:pointer}.cancel-btn[data-v-8caf83fa]{padding:8px 20px;background:#f0f0f0;color:#666;border:none;border-radius:4px;cursor:pointer;margin-right:10px}.notification[data-v-8caf83fa]{position:fixed;top:80px;right:20px;background:#48bb78;color:#fff;padding:15px 25px;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.2);z-index:1000}.notification.error[data-v-8caf83fa]{background:#e53e3e}.meal-form-container[data-v-8caf83fa]{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.1);flex:1;overflow-y:auto}.family-list-wrapper[data-v-8caf83fa],.user-list-wrapper[data-v-8caf83fa]{flex:1;overflow:hidden}.material-list-wrapper[data-v-8caf83fa]{flex:1;overflow:hidden;display:flex;flex-direction:column;height:100%}.meal-detail-wrapper[data-v-8caf83fa]{flex:1;overflow:hidden}.dict-container[data-v-8caf83fa]{flex:1;overflow:hidden;display:flex;flex-direction:column;height:100%}.notification-manager-wrapper[data-v-8caf83fa]{flex:1;overflow:hidden}.activity-manager-wrapper[data-v-8caf83fa],.comment-manager-wrapper[data-v-8caf83fa],.family-inventory-wrapper[data-v-8caf83fa],.order-report-wrapper[data-v-8caf83fa],.science-manager-wrapper[data-v-8caf83fa]{flex:1;overflow:hidden;display:flex;flex-direction:column;height:100%}@media (max-width:768px){.sidebar[data-v-8caf83fa]{width:160px}.menu-header span[data-v-8caf83fa]:nth-child(2),.menu-item span[data-v-8caf83fa]:last-child{display:none}.search-bar[data-v-8caf83fa]{flex-direction:column;align-items:stretch}.search-input[data-v-8caf83fa]{min-width:100%}.table-container[data-v-8caf83fa]{overflow-x:auto}.data-table td[data-v-8caf83fa],.data-table th[data-v-8caf83fa]{padding:8px 6px;font-size:12px}.form-row[data-v-8caf83fa]{flex-direction:column}}.login-container[data-v-d5fea508]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card[data-v-d5fea508]{background:#fff;border-radius:12px;padding:40px;width:100%;max-width:400px;box-shadow:0 10px 40px rgba(0,0,0,.2)}.login-header[data-v-d5fea508]{text-align:center;margin-bottom:30px}.logo[data-v-d5fea508]{font-size:64px;margin-bottom:15px}.login-header h1[data-v-d5fea508]{margin:0 0 10px 0;color:#2d3748;font-size:24px}.login-header p[data-v-d5fea508]{margin:0;color:#718096;font-size:14px}.form-group[data-v-d5fea508],.login-form[data-v-d5fea508]{margin-bottom:20px}.form-group label[data-v-d5fea508]{display:block;margin-bottom:8px;color:#4a5568;font-weight:500}.form-input[data-v-d5fea508]{width:100%;padding:12px 15px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .3s;box-sizing:border-box}.form-input[data-v-d5fea508]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.captcha-row[data-v-d5fea508]{display:flex;gap:10px}.captcha-input[data-v-d5fea508]{flex:1}.captcha-image[data-v-d5fea508]{padding:12px 15px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:16px;font-weight:700;letter-spacing:2px;color:#667eea;cursor:pointer;min-width:100px;text-align:center}.captcha-image[data-v-d5fea508]:hover{background:#edf2f7}.checkbox-label[data-v-d5fea508]{display:flex;align-items:center;cursor:pointer}.checkbox-label input[data-v-d5fea508]{margin-right:8px}.login-btn[data-v-d5fea508]{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s}.login-btn[data-v-d5fea508]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px rgba(102,126,234,.4)}.login-btn[data-v-d5fea508]:disabled{opacity:.7;cursor:not-allowed}.login-footer[data-v-d5fea508]{text-align:center;color:#718096;font-size:14px}.register-link[data-v-d5fea508]{color:#667eea;text-decoration:none;font-weight:500}.register-link[data-v-d5fea508]:hover{text-decoration:underline}.error-message[data-v-d5fea508]{margin-top:15px;padding:12px;background:#fff5f5;color:#c53030;border-radius:8px;text-align:center;font-size:14px}.register-container[data-v-2c357100]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.register-card[data-v-2c357100]{background:#fff;border-radius:12px;padding:40px;width:100%;max-width:450px;box-shadow:0 10px 40px rgba(0,0,0,.2)}.register-header[data-v-2c357100]{text-align:center;margin-bottom:30px}.logo[data-v-2c357100]{font-size:64px;margin-bottom:15px}.register-header h1[data-v-2c357100]{margin:0 0 10px 0;color:#2d3748;font-size:24px}.register-header p[data-v-2c357100]{margin:0;color:#718096;font-size:14px}.register-form[data-v-2c357100]{margin-bottom:20px}.form-group[data-v-2c357100]{margin-bottom:15px}.form-group label[data-v-2c357100]{display:block;margin-bottom:8px;color:#4a5568;font-weight:500}.form-input[data-v-2c357100]{width:100%;padding:12px 15px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .3s;box-sizing:border-box}.form-input[data-v-2c357100]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.captcha-row[data-v-2c357100]{display:flex;gap:10px}.captcha-input[data-v-2c357100]{flex:1}.send-code-btn[data-v-2c357100]{padding:12px 20px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;color:#667eea;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s;white-space:nowrap}.send-code-btn[data-v-2c357100]:hover:not(:disabled){background:#edf2f7}.send-code-btn[data-v-2c357100]:disabled{opacity:.5;cursor:not-allowed}.checkbox-label[data-v-2c357100]{display:flex;align-items:center;cursor:pointer;flex-wrap:wrap;font-size:14px}.checkbox-label input[data-v-2c357100]{margin-right:8px}.agreement-link[data-v-2c357100]{color:#667eea;text-decoration:none;margin:0 2px}.agreement-link[data-v-2c357100]:hover{text-decoration:underline}.register-btn[data-v-2c357100]{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s}.register-btn[data-v-2c357100]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px rgba(102,126,234,.4)}.register-btn[data-v-2c357100]:disabled{opacity:.7;cursor:not-allowed}.register-footer[data-v-2c357100]{text-align:center;color:#718096;font-size:14px}.login-link[data-v-2c357100]{color:#667eea;text-decoration:none;font-weight:500}.login-link[data-v-2c357100]:hover{text-decoration:underline}.error-message[data-v-2c357100]{background:#fff5f5;color:#c53030}.error-message[data-v-2c357100],.success-message[data-v-2c357100]{margin-top:15px;padding:12px;border-radius:8px;text-align:center;font-size:14px}.success-message[data-v-2c357100]{background:#f0fff4;color:#276749}.meal-display-container[data-v-5319a6ac]{max-width:1600px;margin:0 auto;padding:30px;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);height:100vh;overflow-y:auto}.header[data-v-5319a6ac]{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding:25px 30px;background:linear-gradient(135deg,#fff,#fafafa);border-radius:16px;box-shadow:0 4px 15px rgba(0,0,0,.06)}.header-left[data-v-5319a6ac]{display:flex;align-items:center;gap:15px}.header-left h1[data-v-5319a6ac]{font-size:30px;color:#2c3e50;margin:0;font-weight:700}.result-count[data-v-5319a6ac]{font-size:14px;color:#999;background:#f0f0f0;padding:5px 15px;border-radius:15px}.header-right[data-v-5319a6ac]{display:flex;align-items:center;gap:15px}.sort-select[data-v-5319a6ac]{padding:10px 15px;border:1px solid #ddd;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.search-wrapper[data-v-5319a6ac]{position:relative}.search-icon[data-v-5319a6ac]{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:14px}.search-input[data-v-5319a6ac]{width:280px;padding:12px 20px 12px 45px;border:2px solid #e0e0e0;border-radius:25px;font-size:14px;transition:all .3s ease;background:#fff}.search-input[data-v-5319a6ac]:focus{outline:none;border-color:#409eff;box-shadow:0 0 0 4px rgba(64,158,255,.1)}.category-filters[data-v-5319a6ac]{display:flex;gap:35px;margin-bottom:25px;padding:25px 30px;background:#fff;border-radius:16px;box-shadow:0 4px 15px rgba(0,0,0,.06);flex-wrap:wrap;align-items:flex-end}.filter-section[data-v-5319a6ac]{flex:1;min-width:220px}.filter-section h3[data-v-5319a6ac]{font-size:14px;color:#555;margin-bottom:12px;font-weight:600;display:flex;align-items:center;gap:5px}.filter-tags[data-v-5319a6ac]{display:flex;flex-wrap:wrap;gap:10px}.filter-tag[data-v-5319a6ac]{display:flex;align-items:center;padding:8px 18px;background:#f5f7fa;border-radius:25px;cursor:pointer;transition:all .3s ease;font-size:13px;border:1px solid transparent}.filter-tag[data-v-5319a6ac]:hover{background:#eef2f7}.filter-tag.active[data-v-5319a6ac]{background:linear-gradient(135deg,#409eff,#66b1ff);color:#fff;border-color:#409eff}.filter-tag input[type=checkbox][data-v-5319a6ac]{display:none}.clear-filters[data-v-5319a6ac]{padding:10px 25px;background:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:25px;font-size:13px;cursor:pointer;transition:all .3s ease;align-self:flex-end}.clear-filters[data-v-5319a6ac]:hover{background:#e0e0e0;border-color:#ccc}.loading-state[data-v-5319a6ac]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px}.loading-spinner[data-v-5319a6ac]{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;animation:spin-5319a6ac 1s linear infinite}@keyframes spin-5319a6ac{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-state p[data-v-5319a6ac]{margin-top:20px;color:#999}.meal-grid[data-v-5319a6ac]{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:25px}.meal-card[data-v-5319a6ac]{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.06);cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.meal-card[data-v-5319a6ac]:hover{transform:translateY(-8px);box-shadow:0 12px 30px rgba(0,0,0,.12)}.meal-image-wrapper[data-v-5319a6ac]{position:relative;width:100%;height:200px;overflow:hidden}.meal-image[data-v-5319a6ac]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.meal-card:hover .meal-image[data-v-5319a6ac]{transform:scale(1.08)}.meal-badge[data-v-5319a6ac]{position:absolute;top:15px;left:15px;padding:5px 12px;background:rgba(255,87,34,.9);color:#fff;border-radius:12px;font-size:12px;font-weight:600}.meal-info[data-v-5319a6ac]{padding:22px}.meal-name[data-v-5319a6ac]{font-size:19px;color:#2c3e50;margin:0 0 12px 0;font-weight:700;line-height:1.3}.meal-tags[data-v-5319a6ac]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tag[data-v-5319a6ac]{padding:4px 12px;border-radius:15px;font-size:12px;font-weight:500}.cuisine-tag[data-v-5319a6ac]{background:linear-gradient(135deg,#e6f7ff,#bae7ff);color:#1890ff}.category-tag[data-v-5319a6ac]{background:linear-gradient(135deg,#f6ffed,#d9f7be);color:#52c41a}.spicy-tag[data-v-5319a6ac]{background:linear-gradient(135deg,#fff7e6,#ffe5b4);color:#fa8c16}.hot-tag[data-v-5319a6ac]{background:linear-gradient(135deg,#fff1f0,#ffccc7);color:#ff4d4f}.meal-description[data-v-5319a6ac]{font-size:13px;color:#888;margin:0 0 15px 0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meal-footer[data-v-5319a6ac]{display:flex;justify-content:space-between;align-items:center}.price-section[data-v-5319a6ac]{display:flex;align-items:baseline;gap:8px}.meal-price[data-v-5319a6ac]{font-size:22px;color:#ff5722;font-weight:700}.original-price[data-v-5319a6ac]{font-size:14px;color:#bbb;text-decoration:line-through}.order-btn[data-v-5319a6ac]{padding:9px 22px;background:linear-gradient(135deg,#409eff,#66b1ff);color:#fff;border:none;border-radius:25px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.order-btn[data-v-5319a6ac]:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(64,158,255,.3)}.order-btn.large[data-v-5319a6ac]{padding:14px 35px;font-size:16px;border-radius:35px}.empty-state[data-v-5319a6ac]{text-align:center;padding:80px;background:#fff;border-radius:16px;margin-top:30px}.empty-icon[data-v-5319a6ac]{font-size:80px;margin-bottom:20px}.empty-state p[data-v-5319a6ac]{font-size:18px;color:#999;margin:0 0 25px 0}.empty-action-btn[data-v-5319a6ac]{padding:12px 30px;background:#409eff;color:#fff;border:none;border-radius:25px;font-size:14px;cursor:pointer}.back-top-btn[data-v-5319a6ac]{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:#409eff;color:#fff;border:none;border-radius:50%;font-size:18px;cursor:pointer;box-shadow:0 4px 12px rgba(64,158,255,.3);transition:all .3s ease;z-index:100}.back-top-btn[data-v-5319a6ac]:hover{transform:translateY(-3px);box-shadow:0 6px 15px rgba(64,158,255,.4)}.detail-modal[data-v-5319a6ac]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn-5319a6ac .3s ease}@keyframes fadeIn-5319a6ac{0%{opacity:0}to{opacity:1}}.detail-content[data-v-5319a6ac]{background:#fff;border-radius:20px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp-5319a6ac .3s ease}@keyframes slideUp-5319a6ac{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.close-btn[data-v-5319a6ac]{position:fixed;top:20px;right:20px;width:40px;height:40px;border:none;background:rgba(0,0,0,.5);color:#fff;border-radius:50%;font-size:20px;cursor:pointer;transition:all .3s ease;z-index:10}.close-btn[data-v-5319a6ac]:hover{background:rgba(0,0,0,.7)}.detail-header[data-v-5319a6ac]{display:flex;gap:25px;padding:30px;border-bottom:1px solid #f0f0f0}.detail-image-wrapper[data-v-5319a6ac]{flex-shrink:0;width:200px;height:150px;overflow:hidden;border-radius:12px}.detail-image[data-v-5319a6ac]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.detail-basic[data-v-5319a6ac]{flex:1;display:flex;flex-direction:column;justify-content:center}.detail-basic h2[data-v-5319a6ac]{font-size:26px;color:#2c3e50;margin:0 0 12px 0;font-weight:700}.detail-tags[data-v-5319a6ac]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.detail-price-row[data-v-5319a6ac]{display:flex;align-items:baseline;gap:10px}.detail-price[data-v-5319a6ac]{font-size:36px;color:#ff5722;font-weight:700}.detail-original-price[data-v-5319a6ac]{font-size:18px;color:#bbb;text-decoration:line-through}.detail-body[data-v-5319a6ac]{padding:30px}.detail-section[data-v-5319a6ac]{margin-bottom:25px}.detail-section[data-v-5319a6ac]:last-child{margin-bottom:0}.detail-section h4[data-v-5319a6ac]{font-size:15px;color:#333;margin:0 0 12px 0;font-weight:600}.detail-section p[data-v-5319a6ac]{font-size:14px;color:#666;margin:0;line-height:1.7;background:#f9f9f9;padding:15px;border-radius:8px}.detail-footer[data-v-5319a6ac]{padding:25px 30px;border-top:1px solid #f0f0f0;background:#fafafa;display:flex;align-items:center;justify-content:space-between}.quantity-selector[data-v-5319a6ac]{display:flex;align-items:center;background:#fff;border-radius:25px;padding:5px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.qty-btn[data-v-5319a6ac]{width:36px;height:36px;border:none;background:#f0f0f0;border-radius:50%;font-size:18px;cursor:pointer;transition:all .3s ease}.qty-btn[data-v-5319a6ac]:hover{background:#e0e0e0}.qty-value[data-v-5319a6ac]{min-width:40px;text-align:center;font-size:16px;font-weight:600;color:#333}.detail-actions[data-v-5319a6ac]{display:flex;gap:15px}.collect-btn[data-v-5319a6ac]{padding:12px 25px;background:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:25px;font-size:14px;cursor:pointer;transition:all .3s ease}.collect-btn[data-v-5319a6ac]:hover{background:#f0f0f0}.collect-btn.collected[data-v-5319a6ac]{background:linear-gradient(135deg,#fff1f0,#ffe5b4);color:#ff4d4f;border-color:#ffccc7}.cart-toast[data-v-5319a6ac]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:15px 30px;border-radius:25px;font-size:14px;z-index:2000;opacity:0;transition:opacity .3s ease}.cart-toast.show[data-v-5319a6ac]{opacity:1}@media (max-width:768px){.meal-display-container[data-v-5319a6ac]{padding:15px}.header[data-v-5319a6ac]{flex-direction:column;gap:15px;padding:20px}.header-left[data-v-5319a6ac],.header-right[data-v-5319a6ac]{width:100%;justify-content:center}.search-input[data-v-5319a6ac]{width:100%}.category-filters[data-v-5319a6ac]{flex-direction:column;gap:20px}.detail-header[data-v-5319a6ac]{flex-direction:column}.detail-image-wrapper[data-v-5319a6ac]{width:100%;height:200px}}