@charset "UTF-8";.survey-user-data-page{padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014}.survey-user-data-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.survey-user-data-page .page-header h1{margin:0;font-size:24px;color:#333}.survey-user-data-page .statistics-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:24px}.survey-user-data-page .statistics-cards .ant-card{box-shadow:0 2px 8px #0000000a;transition:all .3s}.survey-user-data-page .statistics-cards .ant-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.survey-user-data-page .statistics-cards .ant-card .ant-statistic-title{font-size:14px;color:#666}.survey-user-data-page .statistics-cards .ant-card .ant-statistic-content{color:#1890ff;font-weight:500}.survey-user-data-page .table-actions{margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.survey-user-data-page .ant-tabs-nav{margin-bottom:20px}.menu{position:fixed;left:0;top:0;display:flex;flex-direction:column;width:250px;height:100vh;background-color:#11bc5e;color:#fff;z-index:50;transition:all .3s ease-in-out;box-shadow:2px 0 10px #0000001a;overflow-x:hidden}.menu:after{content:none}.menu .menu-header{padding:20px;text-align:center;border-bottom:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;transition:all .3s ease}.menu .menu-header .menu-logo{width:90px;height:auto;margin-bottom:10px;transition:all .3s ease}.menu .menu-header h2{margin:0;font-size:20px;font-weight:700;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu .menu-items{list-style:none;padding:0;margin:0;flex:1;overflow-y:auto;overflow-x:hidden}.menu .menu-items::-webkit-scrollbar{width:5px}.menu .menu-items::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.menu .menu-items li{transition:all .3s ease;position:relative;overflow:hidden}.menu .menu-items li:before,.menu .menu-items li:after{content:none}.menu .menu-items li a{display:flex;padding:16px 20px;color:#fff;text-decoration:none;transition:all .3s ease;align-items:center;white-space:nowrap}.menu .menu-items li a .icon{margin-right:15px;font-size:21px;transition:all .3s ease;min-width:21px}.menu .menu-items li a .text_menu{margin-top:-2px;transition:opacity .3s ease}.menu .menu-items li a:hover{background-color:#ffffff1a;padding-left:25px}.menu .menu-items li.active{background-color:#fff3;position:relative;font-weight:500}.menu .menu-items li.active a{font-weight:700}.menu .menu-items li.active a .icon{transform:scale(1.2)}.menu .menu-items li.has-submenu .menu-item-with-submenu{display:flex;padding:16px 20px;color:#fff;text-decoration:none;transition:all .3s ease;align-items:center;white-space:nowrap;cursor:pointer}.menu .menu-items li.has-submenu .menu-item-with-submenu .icon{margin-right:15px;font-size:21px;transition:all .3s ease;min-width:21px}.menu .menu-items li.has-submenu .menu-item-with-submenu .text_menu{margin-top:-2px;transition:opacity .3s ease;flex-grow:1}.menu .menu-items li.has-submenu .menu-item-with-submenu .submenu-arrow{transition:transform .3s ease;font-size:20px}.menu .menu-items li.has-submenu .menu-item-with-submenu .submenu-arrow.expanded{transform:rotate(180deg)}.menu .menu-items li.has-submenu .menu-item-with-submenu:hover{background-color:#ffffff1a;padding-left:25px}.menu .menu-items li.has-submenu .submenu{list-style:none;padding-left:0;margin:0;max-height:0;overflow:hidden;transition:max-height .3s ease-out;background-color:#0000001a}.menu .menu-items li.has-submenu .submenu.expanded{max-height:300px;transition:max-height .3s ease-in}.menu .menu-items li.has-submenu .submenu li a{padding:20px 20px 20px 56px;font-size:14px;display:flex;align-items:center}.menu .menu-items li.has-submenu .submenu li a .submenu-icon{margin-right:10px;font-size:16px;min-width:16px;display:flex;align-items:center;justify-content:center}.menu .menu-items li.has-submenu .submenu li a:hover{padding-left:60px}.menu .menu-items li.has-submenu .submenu li.active{background-color:#ffffff26}.menu .menu-items li.has-submenu .submenu li.active a .submenu-icon{transform:scale(1.1)}.menu .menu-footer{padding:20px;border-top:1px solid rgba(255,255,255,.1);margin-top:auto;transition:all .3s ease}.menu .menu-footer .system-info{display:flex;flex-direction:column;align-items:center;transition:all .3s ease}.menu .menu-footer .system-info p{color:#fffc;margin-bottom:10px;font-size:12px;text-align:center;transition:all .3s ease}.menu .menu-footer .system-info .info-button{display:flex;align-items:center;justify-content:center;padding:8px 16px;background-color:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;cursor:pointer;transition:all .3s;font-size:13px;overflow:hidden}.menu .menu-footer .system-info .info-button .icon{margin-right:8px;transition:all .3s ease}.menu .menu-footer .system-info .info-button:hover{background-color:#ffffff1a;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.menu .system-detail h3{text-align:center;margin-bottom:20px;color:#35a55e}.menu .system-detail .info-section{margin-bottom:20px}.menu .system-detail .info-section h4{margin-bottom:10px;color:#333;border-bottom:1px solid #eee;padding-bottom:5px}.menu .system-detail .info-section p{margin-bottom:5px}.layout-container{margin-left:250px;transition:margin-left .3s ease-in-out;width:calc(100% - 250px)}.floating-border{position:absolute;right:0;width:4px;height:60px;background-color:#fff;transition:all .3s ease;opacity:0;box-shadow:0 0 8px #ffffffb3;pointer-events:none;z-index:60}.menu .floating-border{animation:glowing 1.5s infinite alternate;opacity:1}@keyframes glowing{0%{box-shadow:0 0 5px #ffffffb3}to{box-shadow:0 0 15px #fff}}.header{width:calc(100% - 20px);position:fixed;top:0;right:0;display:flex;justify-content:space-between;align-items:center;height:60px;background-color:#fff;box-shadow:0 2px 5px #0000001a;z-index:49;padding:0 20px 0 250px}.header .logo-container{height:100%;display:flex;align-items:center}.header .logo-container .header-logo{height:80%;max-width:100%;object-fit:contain;margin-right:10px}.header .logo-container .menu-header{text-align:center}.header .logo-container .menu-header h2{color:#000;font-size:19px;font-weight:700;letter-spacing:1px;text-shadow:0px 1px 2px rgba(0,0,0,.1);margin:0 40px}.header .header-right{display:flex;align-items:center;gap:20px;margin-left:auto}.header .admin-badge{display:flex;align-items:center;padding:5px 10px;border:2px solid #b30000;border-radius:4px;color:#b30000}.header .admin-badge .admin-icon{font-size:20px;margin-right:5px}.header .admin-badge .admin-text{font-weight:700;font-size:14px}.header .user-info{display:flex;align-items:center;gap:15px}.header .user-info .user-greeting{font-weight:500;color:#333;white-space:nowrap}.header .user-info .avatar-container{width:40px;height:40px;border-radius:50%;overflow:visible;position:relative;cursor:pointer}.header .user-info .avatar-container .user-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%;transition:transform .2s}.header .user-info .avatar-container .user-avatar:hover{transform:scale(1.05)}.header .user-info .avatar-container .user-popup{position:absolute;top:calc(100% + 10px);right:0;width:180px;background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #00000026;overflow:hidden;z-index:1000;animation:popupFadeIn .2s ease-out}.header .user-info .avatar-container .user-popup .popup-item{display:flex;align-items:center;padding:12px 16px;transition:background-color .2s;cursor:pointer}.header .user-info .avatar-container .user-popup .popup-item .popup-icon{margin-right:10px;font-size:18px;color:#666}.header .user-info .avatar-container .user-popup .popup-item span{color:#333}.header .user-info .avatar-container .user-popup .popup-item:hover{background-color:#f5f5f5}.header .user-info .avatar-container .user-popup .popup-item.logout{border-top:1px solid #eee}.header .user-info .avatar-container .user-popup .popup-item.logout .popup-icon{color:#d84242}.header .user-info .avatar-container .user-popup .popup-item.logout:hover{background-color:#fff1f1}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.header{margin-left:0;width:100%}.header .user-greeting{display:none}}.dish-detail-modal .modal-title{font-weight:700;font-size:18px}.dish-detail-modal .ant-modal-body{padding:24px;overflow-y:auto}.dish-detail-modal .dish-detail-content{padding:0 10px}.dish-detail-modal .dish-detail-content .dish-image-container{position:relative;margin-bottom:20px;width:100%;border-radius:8px;overflow:hidden}.dish-detail-modal .dish-detail-content .dish-image-container .dish-image{width:100%;height:300px;object-fit:cover;border-radius:8px}.dish-detail-modal .dish-detail-content .dish-image-container .category-tag{position:absolute;top:12px;right:12px;font-weight:500}.dish-detail-modal .dish-detail-content .dish-header{margin-bottom:24px}.dish-detail-modal .dish-detail-content .dish-header .dish-description{font-size:16px;color:#666}.dish-detail-modal .dish-detail-content .dish-info-table{margin-top:16px}.dish-detail-modal .dish-detail-content .dish-info-table .ant-descriptions-item-label{font-weight:500}.dish-detail-modal .dish-detail-content .section-title{font-weight:600;font-size:16px}.dish-detail-modal .dish-detail-content .ingredient-item{display:flex;align-items:center;width:100%}.dish-detail-modal .dish-detail-content .ingredient-item .check-icon{color:#52c41a;margin-right:8px}.dish-detail-modal .dish-detail-content .ingredient-item .ingredient-name{flex:1}.dish-detail-modal .dish-detail-content .ingredient-item .ingredient-amount{font-weight:500;color:#666}.dish-detail-modal .dish-detail-content .cooking-steps .ant-steps-item{padding-bottom:12px}.dish-detail-modal .dish-detail-content .cooking-steps .ant-steps-item .ant-steps-item-description{margin-top:8px;margin-bottom:16px}.dish-form .ant-card{margin-bottom:16px}.dish-form .ant-form-item-label{font-weight:500}.dish-form .ant-divider-inner-text{font-weight:600}.dish-form .ingredient-tags{max-height:200px;overflow-y:auto;margin-bottom:16px}.dish-form .ingredient-tags .ant-tag{margin:4px;cursor:pointer;transition:all .3s}.dish-form .ingredient-tags .ant-tag:hover{transform:scale(1.05)}.dish-form .ingredient-list{max-height:300px;overflow-y:auto}.dish-form .cooking-step{margin-bottom:16px}.dish-form .cooking-step .ant-card-head-title{font-weight:600}.dish-form .nutrition-section{margin-top:24px}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#0000007a;z-index:9999}.loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-gif{width:220px;height:auto}.loading-text{color:#fff;font-weight:700;margin-top:16px;font-size:18px}.ingredient-form .ant-card{margin-bottom:16px}.ingredient-form .common-uses{max-height:200px;overflow-y:auto;margin-bottom:16px}.ingredient-form .common-uses .ant-btn{margin:4px;border-radius:20px;transition:all .3s}.ingredient-form .common-uses .ant-btn:hover{background:#fafafa;transform:scale(1.05)}.ingredient-form .ingredient-list{max-height:300px;overflow-y:auto}.ingredient-form .nutrition-section{margin-top:24px}.ingredient-form .nutrition-section .ant-form-item-label{font-weight:600}.ingredient-detail-modal .ant-modal-body{padding:24px;overflow-y:auto}.ingredient-detail-modal .ant-card{margin-bottom:16px}.users-container{display:flex}.users-container .content-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.users-container .content-area .content{flex:1;padding:20px;overflow-y:auto;background-color:#f5f5f5}.users-container .content-area .content .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.users-container .content-area .content .page-header h1{color:#333;margin:0;font-size:28px}.users-container .content-area .content .search-section{margin-bottom:20px}.users-container .content-area .content .search-section .search-input{width:300px;padding:10px;border:1px solid #ddd;border-radius:8px;font-size:14px}.users-container .content-area .content .search-section .search-input:focus{outline:none;border-color:#4361ee}.users-container .content-area .content .users-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.users-container .content-area .content .users-table-container .loading{padding:40px;text-align:center;color:#666}.users-container .content-area .content .users-table-container .users-table{width:100%;border-collapse:collapse}.users-container .content-area .content .users-table-container .users-table th,.users-container .content-area .content .users-table-container .users-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.users-container .content-area .content .users-table-container .users-table th{background-color:#f8f9fa;font-weight:600;color:#333}.users-container .content-area .content .users-table-container .users-table .status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.users-container .content-area .content .users-table-container .users-table .status-badge.active{background-color:#d4edda;color:#155724}.users-container .content-area .content .users-table-container .users-table .status-badge.inactive{background-color:#f8d7da;color:#721c24}.users-container .content-area .content .users-table-container .users-table .btn-actions .lock-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #dc354533}.users-container .content-area .content .users-table-container .users-table .btn-actions .lock-btn .lock-icon{font-size:14px}.users-container .content-area .content .users-table-container .users-table .btn-actions .lock-btn:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#a71e2a);transform:translateY(-1px);box-shadow:0 4px 8px #dc35454d}.users-container .content-area .content .users-table-container .users-table .btn-actions .lock-btn:active:not(:disabled){transform:translateY(0)}.users-container .content-area .content .users-table-container .users-table .btn-actions .lock-btn:disabled{background:linear-gradient(135deg,#6c757d,#5a6268);cursor:not-allowed;transform:none;box-shadow:0 2px 4px #6c757d33;opacity:.7}.users-container .content-area .content .users-table-container .users-table .admin-icon{color:#dc2626;font-size:18px;margin-left:4px}.users-container .content-area .content .users-table-container .pagination{display:flex;justify-content:center;align-items:center;padding:20px;gap:10px}.users-container .content-area .content .users-table-container .pagination .pagination-btn{padding:8px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer}.users-container .content-area .content .users-table-container .pagination .pagination-btn:hover:not(:disabled){background-color:#f8f9fa}.users-container .content-area .content .users-table-container .pagination .pagination-btn:disabled{color:#ccc;cursor:not-allowed}.users-container .content-area .content .users-table-container .pagination .pagination-numbers{display:flex;gap:5px}.users-container .content-area .content .users-table-container .pagination .pagination-numbers .pagination-number{padding:8px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer}.users-container .content-area .content .users-table-container .pagination .pagination-numbers .pagination-number:hover{background-color:#f8f9fa}.users-container .content-area .content .users-table-container .pagination .pagination-numbers .pagination-number.active{background-color:#4361ee;color:#fff;border-color:#4361ee}.users-container .content-area .content .users-table-container .pagination-info{text-align:center;padding:10px 20px;color:#666;font-size:14px;border-top:1px solid #eee}.btn-actions-del .lock-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #dc354533}.btn-actions-del .lock-btn .lock-icon{font-size:14px}.btn-actions-del .lock-btn:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#a71e2a);transform:translateY(-1px);box-shadow:0 4px 8px #dc35454d}.btn-actions-del .lock-btn:active:not(:disabled){transform:translateY(0)}.btn-actions-del .lock-btn:disabled{background:linear-gradient(135deg,#6c757d,#5a6268);cursor:not-allowed;transform:none;box-shadow:0 2px 4px #6c757d33;opacity:.7}.btn-actions-del .unlock-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #28a74533}.btn-actions-del .unlock-btn .lock-icon{font-size:14px}.btn-actions-del .unlock-btn:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1e7e34);transform:translateY(-1px);box-shadow:0 4px 8px #28a7454d}.btn-actions-del .unlock-btn:active:not(:disabled){transform:translateY(0)}.btn-actions-del .unlock-btn:disabled{background:linear-gradient(135deg,#6c757d,#5a6268);cursor:not-allowed;transform:none;box-shadow:0 2px 4px #6c757d33;opacity:.7}.dishes-container{display:flex;height:100vh}.dishes-container .content-area{flex:1;background:#f5f5f5;padding:20px}.dishes-container .content-area .content{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.dishes-container .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dishes-container .page-header h1{font-size:24px;color:#333}.dishes-container .page-header .action-buttons{display:flex;gap:12px}.dishes-container .page-header .action-buttons .import-button{background:#1890ff;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px}.dishes-container .page-header .action-buttons .import-button:hover{background:#40a9ff}.dishes-container .page-header .action-buttons .add-button{background:#52c41a;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-weight:500}.dishes-container .page-header .action-buttons .add-button:hover{background:#73d13d}.dishes-container .dishes-filter{display:flex;justify-content:space-between;margin-bottom:24px;gap:16px}.dishes-container .dishes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.dishes-container .dishes-grid .dish-card{border:1px solid #ddd;border-radius:8px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;position:relative}.dishes-container .dishes-grid .dish-card .dish-image{position:relative;height:200px}.dishes-container .dishes-grid .dish-card .dish-image img{width:100%;height:100%;object-fit:cover}.dishes-container .dishes-grid .dish-card .dish-image .category-badge{position:absolute;top:12px;right:12px;padding:4px 8px;border-radius:4px;font-size:12px;background:#4caf50;color:#fff}.dishes-container .dishes-grid .dish-card .dish-content{padding:16px}.dishes-container .dishes-grid .dish-card .dish-content h3{margin:0 0 8px;font-size:18px;color:#333}.dishes-container .dishes-grid .dish-card .dish-content .description{color:#666;font-size:14px;margin-bottom:12px;line-height:1.4}.dishes-container .dishes-grid .dish-card .dish-content .dish-info{display:flex;justify-content:space-between;align-items:center}.dishes-container .dishes-grid .dish-card .dish-content .dish-info .ingredients-count,.dishes-container .dishes-grid .dish-card .dish-content .dish-info .cooking-time{color:#666;font-size:13px;background:#f5f5f5;padding:4px 8px;border-radius:4px}.dishes-container .dishes-grid .dish-card .btn-actions{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:space-between;align-items:center;padding:0 20px;opacity:0;transition:opacity .3s ease;z-index:10}.dishes-container .dishes-grid .dish-card .btn-actions button{width:40px;height:40px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:18px;transition:transform .2s;z-index:15}.dishes-container .dishes-grid .dish-card .btn-actions button:hover{transform:scale(1.1)}.dishes-container .dishes-grid .dish-card .btn-actions .delete-btn{position:absolute;bottom:12px;left:12px;width:32px;height:32px;background-color:#f44336d9;border:none;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:transform .2s,background-color .2s}.dishes-container .dishes-grid .dish-card .btn-actions .delete-btn:hover{background-color:#f44336;transform:scale(1.1)}.dishes-container .dishes-grid .dish-card .btn-actions .view-detail-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease;z-index:5}.dishes-container .dishes-grid .dish-card .btn-actions .view-detail-overlay .view-detail-btn{background-color:#1890ff;width:40px;height:40px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;transform:translate(-50px);transition:transform .3s ease}.dishes-container .dishes-grid .dish-card .btn-actions .view-detail-overlay .view-detail-btn:hover{background-color:#40a9ff}.dishes-container .dishes-grid .dish-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000001a}.dishes-container .loading{text-align:center;padding:40px;font-size:18px;color:#666}.dishes-container .dishes-table-container{margin-bottom:20px;overflow-x:auto}.dishes-container .dishes-table-container .dishes-table,.dishes-container .dishes-table-container .dishes-table table{width:100%;border-collapse:separate;border-spacing:0}.dishes-container .dishes-table-container .dishes-table table th,.dishes-container .dishes-table-container .dishes-table table td{padding:12px;border-bottom:1px solid #f0f0f0;text-align:left}.dishes-container .dishes-table-container .dishes-table table th{background-color:#fafafa;font-weight:500;color:#333;position:sticky;top:0;z-index:10}.dishes-container .dishes-table-container .dishes-table table .text-center{text-align:center}.dishes-container .dishes-table-container .dishes-table table .dish-row{cursor:pointer;transition:all .3s ease}.dishes-container .dishes-table-container .dishes-table table .dish-row:hover{background-color:#f5f5f5;transform:translateY(-2px);box-shadow:0 2px 8px #00000017}.dishes-container .dishes-table-container .dishes-table table .dish-row td{vertical-align:middle}.dishes-container .dishes-table-container .dishes-table table .dish-row .dish-image-cell{width:80px}.dishes-container .dishes-table-container .dishes-table table .dish-row .dish-image-cell .dish-thumbnail{width:50px;height:50px;object-fit:cover;border-radius:4px;border:1px solid #eee}.dishes-container .dishes-table-container .dishes-table table .dish-row .dish-name{font-weight:500;color:#1890ff}.dishes-container .dishes-table-container .dishes-table table .dish-row .dish-description{font-size:12px;color:#888;margin-top:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dishes-container .dishes-table-container .dishes-table table .dish-row .category-badge{display:inline-block;padding:2px 8px;border-radius:2px;background-color:#e6f7ff;border:1px solid #91d5ff;color:#1890ff;font-size:12px}.dishes-container .dishes-table-container .empty-state{padding:40px;text-align:center}@media (max-width: 768px){.dishes-container .dishes-table-container .dishes-table table th,.dishes-container .dishes-table-container .dishes-table table td{padding:8px;font-size:14px}.dishes-container .dishes-table-container .dishes-table table .dish-description{display:none}.dishes-container .page-header{flex-direction:column;gap:12px;align-items:flex-start}.dishes-container .page-header .action-buttons{width:100%}}.mealCategories-container{display:flex;width:100%;height:100vh}.mealCategories-container .content-area{flex:1;background:#f5f5f5;padding:20px}.mealCategories-container .content-area .content{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.mealCategories-container .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.mealCategories-container .page-header h1{font-size:24px;color:#333}.mealCategories-container .page-header .action-buttons{display:flex;gap:12px}.mealCategories-container .page-header .action-buttons .import-button{background:#1890ff;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px}.mealCategories-container .page-header .action-buttons .import-button:hover{background:#40a9ff}.mealCategories-container .page-header .action-buttons .add-button{background:#52c41a;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-weight:500}.mealCategories-container .page-header .action-buttons .add-button:hover{background:#73d13d}.mealCategories-container .container-filter{display:flex;justify-content:space-between;margin-bottom:24px;gap:16px}.mealCategories-container .container-filter .search-bar{display:flex;gap:8px;flex:1}.mealCategories-container .container-filter .search-bar input{flex:1;max-width:300px;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}.mealCategories-container .container-filter .search-bar input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.mealCategories-container .container-filter .search-bar button{padding:8px 16px;background:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:4px}.mealCategories-container .container-filter .search-bar button:hover{background:#40a9ff}.mealCategories-container .container-filter .filters select{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;min-width:150px}.mealCategories-container .container-filter .filters select:focus{outline:none;border-color:#1890ff}.mealCategories-container .mealCategories-grid-container .mealCategories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.mealCategories-container .mealCategories-grid-container .mealCategories-grid .mealCategory-card{border:1px solid #ddd;border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s;cursor:pointer}.mealCategories-container .mealCategories-grid-container .mealCategories-grid .mealCategory-card:hover{transform:translateY(-4px);box-shadow:0 4px 8px #0000001a}.mealCategories-container .mealCategories-grid-container .mealCategories-grid .mealCategory-card .mealCategory-keyword{padding:12px;background:#f8f9fa;border-bottom:1px solid #eee}.mealCategories-container .mealCategories-grid-container .mealCategories-grid .mealCategory-card .mealCategory-keyword .category-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;background:#4caf50;color:#fff;font-weight:500}.mealCategories-container .mealCategories-grid-container .mealCategories-grid .mealCategory-card .mealCategory-content{padding:16px}.mealCategories-container .mealCategories-grid-container .mealCategories-grid .mealCategory-card .mealCategory-content h3{margin:0 0 8px;font-size:18px;color:#333;font-weight:600}.mealCategories-container .mealCategories-grid-container .mealCategories-grid .mealCategory-card .mealCategory-content .description{color:#666;font-size:14px;line-height:1.4;margin:0}.mealCategories-container .mealCategories-grid-container .empty-state{text-align:center;padding:40px;color:#999}.mealCategories-container .pagination-container{margin-top:24px;display:flex;justify-content:center}.mealCategories-container .loading{text-align:center;padding:40px;font-size:18px;color:#666}@media (max-width: 768px){.mealCategories-container .container-filter{flex-direction:column}.mealCategories-container .container-filter .search-bar input{max-width:none}.mealCategories-container .mealCategories-grid-container .mealCategories-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.mealCategories-container .page-header{flex-direction:column;gap:12px;align-items:flex-start}.mealCategories-container .page-header .action-buttons{width:100%}.mealCategories-container .page-header .action-buttons .import-button,.mealCategories-container .page-header .action-buttons .add-button{flex:1;justify-content:center}}.ingredients-container{display:flex}.ingredients-container .content-area{flex:1;background:#f5f5f5;padding:20px}.ingredients-container .content-area .content{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.ingredients-container .content-area .content .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.ingredients-container .content-area .content .page-header h1{font-size:24px;color:#333}.ingredients-container .content-area .content .page-header .action-buttons{display:flex;gap:12px}.ingredients-container .content-area .content .page-header .action-buttons .import-button,.ingredients-container .content-area .content .page-header .action-buttons .add-button{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:8px}.ingredients-container .content-area .content .page-header .action-buttons .import-button{background:#f0f0f0;color:#666}.ingredients-container .content-area .content .page-header .action-buttons .import-button:hover{background:#e0e0e0}.ingredients-container .content-area .content .page-header .action-buttons .add-button{background:#1890ff;color:#fff}.ingredients-container .content-area .content .page-header .action-buttons .add-button:hover{background:#40a9ff}.ingredients-container .content-area .content .container-filter{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.ingredients-container .content-area .content .container-filter .search-bar{display:flex;flex:1;max-width:400px}.ingredients-container .content-area .content .container-filter .search-bar input{flex:1;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px 0 0 6px;outline:none}.ingredients-container .content-area .content .container-filter .search-bar input:focus{border-color:#1890ff}.ingredients-container .content-area .content .container-filter .search-bar button{padding:8px 16px;border:1px solid #1890ff;border-left:none;background:#1890ff;color:#fff;border-radius:0 6px 6px 0;cursor:pointer;display:flex;align-items:center;gap:4px}.ingredients-container .content-area .content .container-filter .search-bar button:hover{background:#40a9ff}.ingredients-container .content-area .content .container-filter .filters{display:flex;gap:12px}.ingredients-container .content-area .content .container-filter .filters select{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;outline:none;min-width:150px}.ingredients-container .content-area .content .container-filter .filters select:focus{border-color:#1890ff}.ingredients-container .content-area .content .ingredients-list-container{margin-top:20px}.ingredients-container .content-area .content .ingredients-list{border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;background:#fff}.ingredients-container .content-area .content .ingredients-list .ingredients-list-header{display:grid;grid-template-columns:80px 2fr 1.5fr 1fr 2.5fr 2fr;gap:16px;padding:16px;background:#fafafa;border-bottom:1px solid #e8e8e8;font-weight:600;color:#333;font-size:14px}.ingredients-container .content-area .content .ingredients-list .ingredients-list-header>div{display:flex;align-items:center}.ingredients-container .content-area .content .ingredients-list .ingredient-row{display:grid;grid-template-columns:80px 2fr 1.5fr 1fr 2.5fr 2fr;gap:16px;padding:16px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s ease}.ingredients-container .content-area .content .ingredients-list .ingredient-row:hover{background-color:#f8f9fa}.ingredients-container .content-area .content .ingredients-list .ingredient-row:last-child{border-bottom:none}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-image{display:flex;align-items:center}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-image img{width:60px;height:60px;object-fit:cover;border-radius:6px;border:1px solid #e8e8e8}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-name{display:flex;align-items:center}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-name h3{margin:0;font-size:16px;color:#333;font-weight:500;line-height:1.4}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-category{display:flex;align-items:center}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-category .category-badge{padding:6px 12px;border-radius:16px;font-size:12px;background:#e6f7ff;color:#1890ff;border:1px solid #b5e7ff;white-space:nowrap}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-amount{display:flex;align-items:center;font-size:14px;color:#666;font-weight:500}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-description{display:flex;align-items:center}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-description p{margin:0;color:#666;font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-uses{display:flex;align-items:center}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-uses .uses-container{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-uses .uses-container .use-tag{font-size:12px;background:#f5f5f5;color:#666;padding:4px 8px;border-radius:12px;white-space:nowrap}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-uses .uses-container .use-more{font-size:12px;color:#999;font-style:italic}.ingredients-container .content-area .content .ingredients-list .ingredient-row .row-uses .no-uses{font-size:12px;color:#ccc;font-style:italic}.ingredients-container .content-area .content .empty-state{text-align:center;padding:60px 20px;color:#999}.ingredients-container .content-area .content .pagination-container{margin-top:20px;text-align:center}.ingredients-container .content-area .content .loading{text-align:center;padding:40px;font-size:18px;color:#666}.products-container{display:flex;width:100%;height:100vh}.products-container .content-area{flex:1;background:#f5f5f5;padding:20px}.products-container .content-area .content{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.products-container .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.products-container .page-header h1{font-size:24px;color:#333}.products-container .products-filter{display:flex;justify-content:space-between;margin-bottom:24px;gap:16px}.products-container .products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.products-container .products-grid .product-card{border:1px solid #ddd;border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s}.products-container .products-grid .product-card:hover{transform:translateY(-4px);box-shadow:0 4px 8px #0000001a}.products-container .products-grid .product-card .product-image{position:relative;height:200px}.products-container .products-grid .product-card .product-image img{width:100%;height:100%;object-fit:cover}.products-container .products-grid .product-card .product-image .stock-badge{position:absolute;top:12px;right:12px;padding:4px 8px;border-radius:4px;font-size:12px;background:#4caf50;color:#fff}.products-container .products-grid .product-card .product-image .stock-badge.low{background:#f44336}.products-container .products-grid .product-card .product-content{padding:16px}.products-container .products-grid .product-card .product-content h3{margin:0 0 8px;font-size:18px;color:#333}.products-container .products-grid .product-card .product-content .description{color:#666;font-size:14px;margin-bottom:12px;line-height:1.4}.products-container .products-grid .product-card .product-content .product-info{display:flex;justify-content:space-between;align-items:center}.products-container .products-grid .product-card .product-content .product-info .category{color:#666;font-size:13px;background:#f5f5f5;padding:4px 8px;border-radius:4px}.products-container .products-grid .product-card .product-content .product-info .price{font-weight:700;color:#2196f3}.products-container .loading{text-align:center;padding:40px;font-size:18px;color:#666}.home-container{display:flex}.home-container .content-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.home-container .content-area .content{flex:1;padding:20px;overflow-y:auto;background-color:#f5f5f5}.home-container .content-area .content h1{color:#333;margin-bottom:20px;font-size:28px}.home-container .content-area .content h2{color:#444;margin:25px 0 15px;font-size:22px}.home-container .content-area .content .stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.home-container .content-area .content .stats-container .stat-card{background-color:#fff;border-radius:0 12px 12px 0;padding:20px;box-shadow:0 5px 15px #0000000d;display:flex;align-items:center;transition:all .3s ease;border-left:6px solid var(--card-color, #35A55E)}.home-container .content-area .content .stats-container .stat-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.home-container .content-area .content .stats-container .stat-card .stat-icon{font-size:32px;margin-right:16px;color:var(--card-color, #35A55E)}.home-container .content-area .content .stats-container .stat-card .stat-content h3{margin:0 0 5px;color:#666;font-size:16px;font-weight:500}.home-container .content-area .content .stats-container .stat-card .stat-content .stat-value{font-size:26px;font-weight:700;color:#333;margin:0}.home-container .content-area .content .services-section .services-grid{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:.8rem}.home-container .content-area .content .services-section .services-grid .service-card{display:flex;justify-content:space-between;align-items:center;padding:.8rem;border-bottom:1px solid #eee}.home-container .content-area .content .services-section .services-grid .service-card:last-child{border-bottom:none}.home-container .content-area .content .services-section .services-grid .service-card h3{margin:0;font-size:16px;color:#333}.home-container .content-area .content .services-section .services-grid .service-card .service-status{display:flex;align-items:center;gap:.5rem}.home-container .content-area .content .services-section .services-grid .service-card .service-status .status-dot{width:10px;height:10px;border-radius:50%}.home-container .content-area .content .services-section .services-grid .service-card .service-status .status-dot.running{background:#22c55e;animation:blink 1.5s infinite}.home-container .content-area .content .services-section .services-grid .service-card .service-status .status-dot.stopped{background:#ef4444}.home-container .content-area .content .services-section .services-grid .service-card .service-status .status-dot.checking{background:#fbbf24;animation:pulse 1s infinite}.home-container .content-area .content .services-section .services-grid .service-card .service-status .status-text{font-size:14px;color:#666}.home-container .content-area .content .logs-section .logs-table{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.home-container .content-area .content .logs-section .logs-table table{width:100%;border-collapse:collapse}.home-container .content-area .content .logs-section .logs-table table th,.home-container .content-area .content .logs-section .logs-table table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.home-container .content-area .content .logs-section .logs-table .log-row.error td{color:#dc2626}.home-container .content-area .content .logs-section .logs-table .log-row.warning td{color:#d97706}.home-container .content-area .content .logs-section .logs-table .log-row.info td{color:#0284c7}@keyframes blink{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.login-container{display:flex;height:100vh;background-color:#f5f5f5}.login-container .login-left{flex:1;display:flex;align-items:center;justify-content:center;background-color:#35a55e;color:#fff;padding:20px}.login-container .login-left .intro-content{max-width:500px;text-align:center}.login-container .login-left .intro-content .thesis-title{font-size:32px;font-weight:700;margin-bottom:20px;letter-spacing:1px}.login-container .login-left .intro-content .project-title{font-size:22px;font-weight:600;margin-bottom:40px}.login-container .login-left .intro-content .authors{margin-top:40px;font-size:18px}.login-container .login-left .intro-content .authors p{margin-bottom:10px}.login-container .login-left .intro-content .authors p:first-child{font-weight:600;margin-bottom:15px}.login-container .login-right{flex:1;display:flex;justify-content:center;align-items:center;padding:20px}.login-container .login-right .login-form{width:400px;padding:30px;background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #0000001a;transition:all .3s ease}.login-container .login-right .login-form:hover{box-shadow:0 15px 30px #00000026}.login-container .login-right .login-form .logo-container{text-align:center;margin-bottom:20px}.login-container .login-right .login-form .logo-container .logo{width:120px;height:auto}.login-container .login-right .login-form h2{text-align:center;color:#333;margin-bottom:30px;font-size:24px}.login-container .login-right .login-form .form-group{margin-bottom:20px}.login-container .login-right .login-form .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#555}.login-container .login-right .login-form .form-group input{width:100%;padding:8px 16px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .3s}.login-container .login-right .login-form .form-group input:focus{border-color:#35a55e;outline:none}.login-container .login-right .login-form .login-button{width:100%;padding:8px 16px;background-color:#35a55e;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s}.login-container .login-right .login-form .login-button:disabled{background-color:#a0a0a0;cursor:not-allowed}@media (max-width: 768px){.login-container{flex-direction:column}.login-container .login-left,.login-container .login-right{flex:none}.login-container .login-left{padding:40px 20px}}.diet-type-page{display:flex}.diet-type-page .diet-type-content-area{flex:1;background:#f5f5f5;padding:20px}.diet-type-page .diet-type-content-area .diet-type-content{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-header h1{font-size:24px;color:#333;margin:0}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-header .diet-type-action-buttons{display:flex;gap:12px}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-header .diet-type-action-buttons .diet-type-import-button,.diet-type-page .diet-type-content-area .diet-type-content .diet-type-header .diet-type-action-buttons .diet-type-add-button{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:8px}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-header .diet-type-action-buttons .diet-type-import-button{background:#f0f0f0;color:#666}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-header .diet-type-action-buttons .diet-type-import-button:hover{background:#e0e0e0}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-header .diet-type-action-buttons .diet-type-add-button{background:#1890ff;color:#fff}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-header .diet-type-action-buttons .diet-type-add-button:hover{background:#40a9ff}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-filter-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-filter-container .diet-type-search-bar{display:flex;flex:1;max-width:400px}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-filter-container .diet-type-search-bar input{flex:1;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px 0 0 6px;outline:none}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-filter-container .diet-type-search-bar input:focus{border-color:#1890ff}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-filter-container .diet-type-search-bar button{padding:8px 16px;border:1px solid #1890ff;border-left:none;background:#1890ff;color:#fff;border-radius:0 6px 6px 0;cursor:pointer;display:flex;align-items:center;gap:4px}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-filter-container .diet-type-search-bar button:hover{background:#40a9ff}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-filter-container .diet-type-filters select{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;outline:none;min-width:150px}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-filter-container .diet-type-filters select:focus{border-color:#1890ff}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-grid-container{margin-top:20px}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-grid .diet-type-card{border:1px solid #ddd;border-radius:8px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;background:#fff}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-grid .diet-type-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000001a}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-grid .diet-type-card .diet-type-image{position:relative;height:200px}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-grid .diet-type-card .diet-type-image img{width:100%;height:100%;object-fit:cover}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-grid .diet-type-card .diet-type-image .diet-type-badge{position:absolute;top:12px;right:12px;padding:4px 8px;border-radius:4px;font-size:12px;background:#52c41a;color:#fff;font-weight:500}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-grid .diet-type-card .diet-type-content-card{padding:16px}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-grid .diet-type-card .diet-type-content-card h3{margin:0 0 8px;font-size:18px;color:#333;font-weight:600}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-grid .diet-type-card .diet-type-content-card .diet-type-description{color:#666;font-size:14px;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-loading{text-align:center;padding:60px 20px}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-loading .ant-spin{font-size:24px}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-empty-state{text-align:center;padding:60px 20px;color:#999}.diet-type-page .diet-type-content-area .diet-type-content .diet-type-pagination{margin-top:24px;text-align:center}@media (max-width: 1200px){.diet-type-page .diet-type-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.diet-type-page .diet-type-grid{grid-template-columns:1fr}.diet-type-page .diet-type-content-area{padding:10px}.diet-type-page .diet-type-filter-container{flex-direction:column;align-items:stretch}.diet-type-page .diet-type-filter-container .diet-type-search-bar{max-width:none}}.diet-type-page .image-preview-container{position:relative;width:100%;height:100%;overflow:hidden}.diet-type-page .image-preview-container .image-preview{width:100%;height:100%;object-fit:cover}.diet-type-page .image-preview-container .image-preview-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;opacity:0;transition:opacity .3s}.diet-type-page .image-preview-container .image-preview-overlay:hover{opacity:1}.diet-type-page .form-actions{display:flex;justify-content:flex-end;margin-top:24px;gap:12px}.diet-type-page .diet-type-detail .detail-row{display:flex;margin-bottom:24px}.diet-type-page .diet-type-detail .detail-row .detail-image{width:200px;height:200px;margin-right:24px}.diet-type-page .diet-type-detail .detail-row .detail-image img{width:100%;height:100%;object-fit:cover;border-radius:8px}.diet-type-page .diet-type-detail .detail-row .detail-image .no-image{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#f5f5f5;border-radius:8px;color:#999}.diet-type-page .diet-type-detail .detail-row .detail-info{flex:1}.diet-type-page .diet-type-detail .detail-row .detail-info h2{margin-top:0;margin-bottom:16px;color:#1890ff}.diet-type-page .diet-type-detail .detail-row .detail-info .detail-keyword{color:#666}.diet-type-page .diet-type-detail .detail-section{margin-bottom:24px}.diet-type-page .diet-type-detail .detail-section h3{font-size:16px;margin-bottom:8px;color:#333}.diet-type-page .diet-type-detail .detail-section p{margin:0;white-space:pre-line}.ingredientCategories-container{display:flex}.ingredientCategories-container .content-area{flex:1;background:#f5f5f5;padding:20px}.ingredientCategories-container .content-area .content{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.ingredientCategories-container .content-area .content .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.ingredientCategories-container .content-area .content .page-header h1{font-size:24px;color:#333}.ingredientCategories-container .content-area .content .page-header .action-buttons{display:flex;gap:12px}.ingredientCategories-container .ingredientCategories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.ingredientCategories-container .ingredientCategories-grid .ingredientCategory-card{border:1px solid #ddd;border-radius:8px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;position:relative}.ingredientCategories-container .ingredientCategories-grid .ingredientCategory-card .ingredientCategory-keyword{position:relative}.ingredientCategories-container .ingredientCategories-grid .ingredientCategory-card .ingredientCategory-keyword .category-badge{position:absolute;top:16px;right:16px;padding:4px 8px;border-radius:4px;font-size:12px;background:#4caf50;color:#fff}.ingredientCategories-container .ingredientCategories-grid .ingredientCategory-card .ingredientCategory-content{padding:16px}.ingredientCategories-container .ingredientCategories-grid .ingredientCategory-card .ingredientCategory-content h3{margin:0 0 8px;font-size:18px;color:#333}.ingredientCategories-container .ingredientCategories-grid .ingredientCategory-card .ingredientCategory-content .description{color:#666;font-size:14px;margin-bottom:12px;line-height:1.4}.ingredientCategories-container .ingredientCategories-grid .ingredientCategory-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000001a}.ingredientCategories-container .loading{text-align:center;padding:40px;font-size:18px;color:#666}.survey-page{padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014}.survey-page .survey-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.survey-page .survey-header h1{margin:0;font-size:24px;color:#333}.survey-page .survey-header .survey-actions{display:flex;align-items:center}.survey-page .status-tag{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;display:inline-block}.survey-page .status-tag.status-active{background-color:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}.survey-page .status-tag.status-draft{background-color:#f9f0ff;color:#722ed1;border:1px solid #d3adf7}.survey-page .status-tag.status-completed{background-color:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.survey-page .status-tag.status-inactive{background-color:#f5f5f5;color:#8c8c8c;border:1px solid #d9d9d9}.survey-page .draggable-table .ant-table-cell{vertical-align:middle}.survey-page .draggable-table tr.drop-over-downward td{border-bottom:2px dashed #1890ff}.survey-page .draggable-table tr.drop-over-upward td{border-top:2px dashed #1890ff}.survey-page .draggable-table .drag-visible{color:#999;cursor:move}.survey-page .ant-table-wrapper{margin-top:16px}.survey-page .ant-table-thead>tr>th{background-color:#f7f9fc;color:#333;font-weight:600}.survey-page .ant-btn-primary{background-color:#1890ff;border-color:#1890ff}.survey-page .ant-btn-primary:hover,.survey-page .ant-btn-primary:focus{background-color:#40a9ff;border-color:#40a9ff}.survey-page .ant-input-search .ant-btn{height:32px}.survey-detail-modal .ant-modal-header{border-bottom:1px solid #f0f0f0;padding:16px 24px}.survey-detail-modal .ant-modal-body{max-height:75vh;overflow-y:auto;padding:24px}.survey-detail-modal .ant-form-item-label>label{font-weight:500}.survey-detail-modal .ant-modal-footer{display:flex;justify-content:space-between;padding:16px 24px;border-top:1px solid #f0f0f0}.survey-detail-modal .ant-modal-footer .ant-btn-dangerous{margin-right:auto}.survey-detail-modal .question-info-section{padding-right:20px}.survey-detail-modal .question-info-section h3{font-size:16px;font-weight:600;margin-bottom:20px;color:#333;padding-bottom:10px;border-bottom:1px dashed #e8e8e8}.survey-detail-modal .question-value-container{position:relative;padding-left:24px}.survey-detail-modal .question-value-container .divider-vertical{position:absolute;left:0;top:0;height:100%;border-left:1px solid #f0f0f0}.survey-detail-modal .question-value-container .question-value-section h3{font-size:16px;font-weight:600;margin-bottom:20px;color:#333;padding-bottom:10px;border-bottom:1px dashed #e8e8e8}.survey-detail-modal .question-value-container .question-value-section .hint{color:#8c8c8c;font-size:12px;margin-bottom:16px}.survey-detail-modal .question-value-container .question-value-section .option-item{display:flex;align-items:center;margin-bottom:12px}.survey-detail-modal .question-value-container .question-value-section .ant-form-item{margin-bottom:16px}.survey-detail-modal .question-value-container .question-value-section .ant-radio-group{width:100%;display:flex;flex-direction:column}.survey-detail-modal .question-value-container .question-value-section .ant-radio-group .ant-radio-wrapper{margin:6px 0;padding:4px 8px;border-radius:4px;transition:all .2s}.survey-detail-modal .question-value-container .question-value-section .ant-radio-group .ant-radio-wrapper:hover{background-color:#f5f5f5}*{box-sizing:border-box;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body{margin:0;padding:0}.import-button{background:#1890ff;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px}.import-button:hover{background:#40a9ff}.add-button{background:#52c41a;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-weight:500}.add-button:hover{background:#73d13d}.search-bar{display:flex;gap:8px;flex:1}.search-bar input{flex:1;padding:8px 16px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-bar button{padding:8px 16px;background:#45a050;color:#fff;border:none;border-radius:4px;cursor:pointer}.search-bar button:hover{background:#4caf49}.container-filter{display:flex;justify-content:space-between;margin-bottom:24px;gap:16px}.filters{display:flex;gap:12px}.filters select{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:14px;min-width:150px}.filters select:focus{outline:none;border-color:#35a55e}.filters select:hover{border-color:#35a55e}.filters select option{padding:6px 12px}.btn-actions{display:flex;gap:8px;padding:16px}.btn-actions button{flex:1;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .3s}.btn-actions button.view-btn{background:#2196f3;color:#fff}.btn-actions button.view-btn:hover{background:#1976d2}.btn-actions button.edit-btn{background:#ffc107;color:#000}.btn-actions button.edit-btn:hover{background:#ffa000}.btn-actions button.delete-btn{background:#f44336;color:#fff}.btn-actions button.delete-btn:hover{background:#d32f2f}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.form-actions button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .3s}.form-actions button.save-btn{background:#4caf50;color:#fff}.form-actions button.save-btn:hover{background:#45a049}.form-actions button.cancel-btn{background:#f44336;color:#fff}.form-actions button.cancel-btn:hover{background:#d32f2f}.pagination-container{display:flex;justify-content:flex-end;margin-top:12px}.pagination-container .ant-pagination{font-size:14px}.app-container{display:flex;min-height:100vh}.layout-container{flex:1;margin-left:250px;transition:margin-left .3s ease}.layout-container .content{padding:60px 0 0;min-height:calc(100vh - 60px)}@media (max-width: 768px){.layout-container{margin-left:0}}.container_layout{display:flex}.container_layout .content_area{width:100%;min-height:calc(100vh - 70px)}.container_layout .main_content{padding-top:60px;padding-left:250px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#35a55e}.form-group textarea{resize:vertical;min-height:80px}
