:root{--brand-primary: #722ED1;--brand-secondary: #9254DE;--color-success: #52c41a;--color-warning: #fa8c16;--color-error: #ff4d4f;--color-info: #1890ff;--bg-sidebar: #0d1b2a;--bg-layout: #f5f5f7;--bg-container: #ffffff;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--spacing-4xl: 40px;--spacing-5xl: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-layout)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.ant-layout-sider .ant-menu-dark .ant-menu-sub{background:#00000026!important}.ant-layout-sider .ant-menu-dark .ant-menu-item-selected{background:#722ed180!important;border-radius:var(--radius-md)}.ant-layout-sider .ant-menu-dark .ant-menu-item:hover{background:#722ed140!important;border-radius:var(--radius-md)}.ant-layout-sider .ant-menu-dark .ant-menu-submenu-title:hover{background:#ffffff0f!important;border-radius:var(--radius-md)}.ant-table-tbody>tr:hover>td{background:#faf5ff!important}.ant-card{transition:box-shadow var(--transition-base),transform var(--transition-base)}.ant-card:hover{box-shadow:var(--shadow-md)}.ant-tag{border-radius:var(--radius-sm)}.ant-btn-primary{border-radius:var(--radius-md)}.ant-modal-content{border-radius:var(--radius-xl)!important}.ant-table-thead>tr>th{background:#fafafa!important}.ant-btn{transition:all var(--transition-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes skeletonPulse{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-pulse{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200px 100%;animation:skeletonPulse 1.5s ease-in-out infinite}@keyframes statusPulse{0%{box-shadow:0 0 #52c41a66}70%{box-shadow:0 0 0 6px #52c41a00}to{box-shadow:0 0 #52c41a00}}.status-dot-online{width:8px;height:8px;border-radius:50%;background:var(--color-success);display:inline-block;animation:statusPulse 2s ease-in-out infinite}.page-fade-in{animation:fadeIn .3s ease forwards}.page-slide-up{animation:slideUp .35s ease forwards}.ant-modal-root:not(:has(.ant-modal-content)) .ant-modal-mask,.ant-modal-root:not(:has(.ant-modal-content)) .ant-modal-wrap{display:none!important}
