:root{--color-primary:#1677ff;--color-primary-hover:#4096ff;--color-bg-page:#f0f2f5;--color-bg-card:#fff;--color-text-primary:#1a1a1a;--color-text-secondary:#8c8c8c;--color-border:#e8e8e8;--color-border-light:#f0f0f0;--color-success:#52c41a;--color-warning:#faad14;--color-error:#ff4d4f;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--sidebar-width:240px;--sidebar-collapsed-width:56px;--transition-fast:.2s ease;--transition-normal:.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg-page);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.page-content{padding:var(--spacing-lg)}.page-header{margin-bottom:var(--spacing-lg)}.page-header h1,.page-header h2{margin:0}.dashboard-card{transition:box-shadow var(--transition-normal), transform var(--transition-normal)}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d}.dashboard-stat-value{font-size:28px;font-weight:700;line-height:1.2}.login-container{background:linear-gradient(135deg,#2c2c2c 0%,#1a1a1a 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.login-card{border-radius:var(--radius-lg);width:400px;animation:.5s login-fade-in}.login-logo{text-align:center;margin-bottom:var(--spacing-lg)}.login-logo img{width:56px;height:56px;margin-bottom:var(--spacing-sm)}.login-footer{bottom:var(--spacing-lg);text-align:center;color:#ffffff59;font-size:12px;position:absolute}.login-footer a{color:#ffffff59;text-decoration:none}.login-footer a:hover{color:#fff9}@keyframes login-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ant-card-hoverable{transition:box-shadow var(--transition-normal), transform var(--transition-normal)!important}.ant-card-hoverable:hover{transform:translateY(-2px)}.ant-table-wrapper .ant-table-thead>tr>th{font-size:13px;font-weight:600}.ant-pro-sider.ant-layout-sider-dark .ant-menu-item-selected{font-weight:500}.ant-pro-top-nav-bar{border-bottom:1px solid var(--color-border-light)}
