body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary:#0ea5e9;--primary-light:#38bdf8;--primary-dark:#0284c7;--primary-gradient:linear-gradient(135deg, #0ea5e9 0%, #38bdf8 100%);--primary-gradient-hover:linear-gradient(135deg, #0284c7 0%, #0ea5e9 100%);--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--bg-body:#f8fafc;--bg-sidebar:#f0f9ff;--bg-header:#fff;--bg-card:#fff;--bg-hover:#f0f9ff;--bg-active:#e0f2fe;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--text-white:#fff;--text-link:#0ea5e9;--status-success:#10b981;--status-warning:#f59e0b;--status-error:#ef4444;--status-info:#3b82f6;--border:#e2e8f0;--border-light:#f1f5f9;--border-focus:#0ea5e9;--shadow-sm:0 1px 2px 0 #00000008;--shadow:0 1px 3px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014;--shadow-lg:0 10px 40px #00000014;--shadow-glow:0 4px 15px #0ea5e94d;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-xl:20px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--transition:all .3s ease}*{box-sizing:border-box}body{background-color:var(--bg-body);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif}.page-enter{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0ea5e940;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0ea5e973}.ant-layout-sider{box-shadow:1px 0 #0000000a;background:var(--bg-sidebar)!important}.ant-menu-light{background:0 0!important}.ant-menu-light .ant-menu-item,.ant-menu-light .ant-menu-submenu-title{border-radius:0 10px 10px 0;height:44px;margin:4px 12px 4px 0;font-size:14px;font-weight:500;line-height:44px;transition:all .2s;position:relative;color:#475569!important;padding-left:20px!important}.ant-menu-light .ant-menu-item:hover,.ant-menu-light .ant-menu-submenu-title:hover{color:#0ea5e9!important;background:#e0f2fe!important}.ant-menu-light .ant-menu-item-selected{box-shadow:none;margin-right:12px;font-weight:600;color:#0284c7!important;background:#f0f9ff!important}.ant-menu-light .ant-menu-item-selected:before{content:"";background:linear-gradient(#0ea5e9,#0284c7);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.ant-menu-light .ant-menu-item-selected:hover{color:#0284c7!important;background:#e0f2fe!important}.ant-menu-light .ant-menu-sub{border-radius:0;background:0 0!important}.ant-menu-light .ant-menu-sub .ant-menu-item{border-radius:0 10px 10px 0;height:36px;margin-right:12px;font-size:13px;font-weight:400;line-height:36px;color:#64748b!important;padding-left:48px!important}.ant-menu-light .ant-menu-sub .ant-menu-item:hover{color:#0ea5e9!important;background:#e0f2fe!important}.ant-menu-light .ant-menu-sub .ant-menu-item-selected{margin-right:12px;font-weight:500;color:#0284c7!important;background:#f0f9ff!important}.ant-menu-light .ant-menu-sub .ant-menu-item-selected:before{content:"";background:linear-gradient(#0ea5e9,#0284c7);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}.ant-menu-light .ant-menu-sub .ant-menu-item-selected:hover{color:#0284c7!important;background:#e0f2fe!important}.ant-menu-light .ant-menu-item .anticon,.ant-menu-light .ant-menu-submenu-title .anticon{color:#94a3b8;font-size:18px;transition:all .2s}.ant-menu-light .ant-menu-item:hover .anticon,.ant-menu-light .ant-menu-submenu-title:hover .anticon{color:#0ea5e9}.ant-menu-light .ant-menu-item-selected .anticon{color:#0284c7!important}.ant-menu-light .ant-menu-submenu-arrow{color:#94a3b8!important}.ant-menu-light .ant-menu-submenu-open .ant-menu-submenu-arrow{color:#0ea5e9!important}.ant-card{border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:var(--transition);background:#fff}.ant-card:hover{box-shadow:var(--shadow-md);border-color:#e0f2fe}.ant-card-head{border-bottom:1px solid var(--border-light);min-height:56px;padding:16px 20px}.ant-card-head-title{color:var(--text-primary);font-size:15px;font-weight:600}.ant-card-body{padding:20px}.ant-card .ant-statistic-title{margin-bottom:6px;font-size:13px}.ant-card .ant-statistic-content{font-size:28px}.ant-btn{border-radius:var(--radius);height:36px;transition:var(--transition);padding:0 18px;font-weight:500}.ant-btn-primary{background:var(--primary-gradient);box-shadow:var(--shadow-glow);border:none}.ant-btn-primary:hover{background:var(--primary-gradient-hover);transform:translateY(-1px);box-shadow:0 6px 20px #0ea5e959}.ant-btn-primary:active{transform:translateY(0)}.ant-btn-default{border-color:var(--border);color:var(--text-secondary)}.ant-btn-default:hover{border-color:var(--primary);color:var(--primary)}.ant-table-wrapper{border-radius:var(--radius-lg)}.ant-table{font-size:14px}.ant-table-thead>tr>th{color:var(--text-secondary);border-bottom:1px solid var(--border);background:#f8fafc;padding:12px 16px;font-size:13px;font-weight:600}.ant-table-tbody>tr>td{border-bottom:1px solid var(--border-light);padding:12px 16px}.ant-table-tbody>tr:hover>td{background:#f8fafc}.ant-table-container{border-radius:var(--radius-lg);overflow:hidden}.ant-tag{border-radius:var(--radius-sm);border:none;padding:2px 10px;font-size:12px;font-weight:500;line-height:20px}.ant-input,.ant-input-number,.ant-select-selector{border-color:var(--border);transition:var(--transition);border-radius:var(--radius)!important}.ant-input:hover,.ant-input-number:hover,.ant-select-selector:hover{border-color:var(--primary)}.ant-input:focus,.ant-input-number:focus,.ant-select-focused .ant-select-selector{border-color:var(--primary)!important;box-shadow:0 0 0 2px #0ea5e91a!important}.ant-modal-content{border-radius:var(--radius-xl);box-shadow:0 20px 60px #0000001f}.ant-modal-header{border-bottom:1px solid var(--border-light);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:18px 24px}.ant-modal-title{font-size:16px;font-weight:600}.ant-modal-body{padding:24px}.ant-modal-footer{border-top:1px solid var(--border-light);padding:16px 24px}.ant-pagination-item{border-radius:var(--radius-sm);border-color:var(--border);transition:var(--transition)}.ant-pagination-item:hover{border-color:var(--primary)}.ant-pagination-item:hover a{color:var(--primary)}.ant-pagination-item-active{background:var(--primary-gradient);border:none}.ant-pagination-item-active a{color:#fff!important}.ant-tabs-tab{transition:var(--transition);padding:10px 18px;font-weight:500;border-radius:var(--radius) var(--radius) 0 0!important}.ant-tabs-tab-active{color:var(--primary)!important}.ant-descriptions-bordered .ant-descriptions-item-label{color:var(--text-secondary);background:#f8fafc;font-weight:500}.ant-descriptions-bordered .ant-descriptions-item-content{background:#fff}.ant-message-notice-content{border-radius:var(--radius);box-shadow:var(--shadow-lg)}.ant-empty{padding:40px 0}.ant-empty-description{color:var(--text-muted)}.ant-progress-bg{border-radius:4px;background:var(--primary-gradient)!important}.ant-dropdown-menu{border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.ant-dropdown-menu-item{transition:var(--transition);border-radius:6px;margin:2px 6px}.ant-dropdown-menu-item:hover{background:var(--bg-hover)}.ant-layout-header{border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff!important}.ant-layout{background:var(--bg-body)}@media (width<=768px){.ant-layout-content{padding:16px!important}.ant-card{border-radius:var(--radius);margin-bottom:12px}.ant-card-body{padding:16px}.ant-card .ant-statistic-content{font-size:24px}}
