.responsive-container{width:100%;max-width:1600px;margin:0 auto;padding:0 16px}@media (max-width: 767px){.responsive-container{padding:0 8px}.hide-on-mobile{display:none!important}.ant-table{font-size:12px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:8px 4px}.ant-form-item{margin-bottom:16px}.ant-form-item-label{padding-bottom:4px}.ant-space{flex-wrap:wrap}.ant-btn{margin-bottom:8px}.ant-card{margin-bottom:12px}.ant-card-head,.ant-card-body{padding:12px}.ant-pagination{text-align:center}.ant-pagination-options{display:none}}@media (min-width: 768px) and (max-width: 991px){.hide-on-tablet{display:none!important}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:12px 8px}}@media (min-width: 992px){.hide-on-desktop{display:none!important}}.lazy-image{opacity:0;transition:opacity .3s ease-in-out}.lazy-image.loaded{opacity:1}.lazy-image-placeholder{background:#f0f0f0;display:flex;align-items:center;justify-content:center;min-height:100px}.image-container{position:relative;overflow:hidden;background:#f5f5f5}.image-container img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.image-container:hover img{transform:scale(1.05)}.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.optimized-scroll{will-change:transform;transform:translateZ(0)}.ant-table-fixed-left,.ant-table-fixed-right{box-shadow:0 0 8px #0000001a}.search-input-wrapper{position:relative}.search-input-wrapper .ant-input{padding-right:32px}.search-input-wrapper .search-icon{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#999}.filter-container{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}@media (max-width: 767px){.filter-container{flex-direction:column}.filter-container .ant-input,.filter-container .ant-select{width:100%!important}}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}@media (max-width: 767px){.action-buttons{flex-direction:column}.action-buttons .ant-btn{width:100%}}.stat-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.stat-card-title{font-size:14px;color:#666;margin-bottom:8px}.stat-card-value{font-size:28px;font-weight:700;color:#333}@media (max-width: 767px){.stat-card{padding:16px}.stat-card-value{font-size:24px}}@media (max-width: 767px){.ant-drawer-content-wrapper{width:100%!important}}@media (max-width: 767px){.ant-modal{max-width:calc(100vw - 16px)!important;margin:8px auto}.ant-modal-body{padding:16px}}.form-section{margin-bottom:24px}.form-section-title{font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.image-upload-preview{display:flex;flex-wrap:wrap;gap:8px}.image-upload-item{position:relative;width:100px;height:100px;border:1px solid #d9d9d9;border-radius:4px;overflow:hidden}.image-upload-item img{width:100%;height:100%;object-fit:cover}.image-upload-item .delete-btn{position:absolute;top:4px;right:4px;background:#00000080;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .3s}.image-upload-item:hover .delete-btn{opacity:1}.empty-state{text-align:center;padding:48px 0;color:#999}.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.3}.empty-state-text{font-size:14px}.tag-group{display:flex;flex-wrap:wrap;gap:8px}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.success{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-badge.warning{background:#fffbe6;color:#faad14;border:1px solid #ffe58f}.status-badge.error{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}.status-badge.info{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}.tooltip-content{max-width:300px;word-wrap:break-word}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#555}@media print{.no-print{display:none!important}.ant-table{page-break-inside:avoid}.ant-card{box-shadow:none;border:1px solid #d9d9d9}}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.text-ellipsis-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.ant-layout{min-height:100vh}.ant-layout-sider{box-shadow:2px 0 6px #0015291a}.ant-layout-header{box-shadow:0 1px 4px #00152914}.ant-menu-item-selected{background-color:#e6f7ff!important;border-radius:6px;margin:4px 8px;width:calc(100% - 16px)}.ant-menu-item-selected:after{display:none}.ant-menu-item{border-radius:6px;margin:4px 8px;width:calc(100% - 16px)}.ant-menu-item:hover{background-color:#f5f5f5}@media (max-width: 768px){.ant-layout-sider{position:fixed!important;height:100vh;z-index:999}.ant-layout-content{margin-left:0!important}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .3s}
