:root{--color-primary: #1677FF;--color-primary-hover: #4096FF;--color-primary-active: #0958D9;--color-primary-bg: #E6F4FF;--color-primary-border: #91CAFF;--color-success: #52C41A;--color-success-bg: #F6FFED;--color-warning: #FAAD14;--color-warning-bg: #FFFBE6;--color-error: #FF4D4F;--color-error-bg: #FFF2F0;--color-info: #1677FF;--color-info-bg: #E6F4FF;--color-text-primary: #262626;--color-text-secondary: #8C8C8C;--color-text-tertiary: #BFBFBF;--color-text-disabled: #D9D9D9;--color-border: #E8E8E8;--color-border-secondary: #F0F0F0;--color-bg-base: #F5F5F5;--color-bg-white: #FFFFFF;--color-bg-container: #FFFFFF;--color-sidebar-bg: #0A2540;--color-sidebar-text: rgba(255, 255, 255, .65);--color-sidebar-text-active: #FFFFFF;--color-sidebar-item-hover: rgba(255, 255, 255, .08);--color-sidebar-item-active: #1677FF;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 24px;--font-size-3xl: 30px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 4px;--radius-base: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .03), 0 1px 6px -1px rgba(0, 0, 0, .02), 0 2px 4px 0 rgba(0, 0, 0, .02);--shadow-base: 0 1px 2px -2px rgba(0, 0, 0, .16), 0 3px 6px 0 rgba(0, 0, 0, .12), 0 5px 12px 4px rgba(0, 0, 0, .09);--shadow-lg: 0 6px 16px 0 rgba(0, 0, 0, .08), 0 3px 6px -4px rgba(0, 0, 0, .12), 0 9px 28px 8px rgba(0, 0, 0, .05);--sidebar-width: 220px;--sidebar-collapsed-width: 64px;--header-height: 56px;--content-max-width: 1440px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-base);line-height:1.5715;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--color-text-primary)}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.ant-layout{background:var(--color-bg-base)!important}.ant-card{border-radius:var(--radius-lg)!important}.ant-table-wrapper .ant-table-thead>tr>th{background:#fafafa!important;font-weight:600}.ant-btn-primary{box-shadow:none!important}.ant-tag{border-radius:var(--radius-sm)}.page-container{padding:var(--spacing-lg);max-width:var(--content-max-width);margin:0 auto}.card-grid{display:grid;gap:var(--spacing-base);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px}.app-layout{min-height:100vh}.app-content{margin-left:var(--sidebar-width);margin-top:var(--header-height);min-height:calc(100vh - var(--header-height));transition:margin-left .2s cubic-bezier(.645,.045,.355,1);background:var(--color-bg-base)}.app-content.collapsed{margin-left:var(--sidebar-collapsed-width)}.login-layout{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#0a2540,#1b3a5c,#1677ff)}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-base);margin-bottom:var(--spacing-lg)}@media (max-width: 1200px){.stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.stats-row{grid-template-columns:1fr}}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-base);margin-bottom:var(--spacing-lg)}@media (max-width: 992px){.two-column{grid-template-columns:1fr}}.filter-bar{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-base)}.filter-bar .ant-select,.filter-bar .ant-input-search,.filter-bar .ant-picker{width:200px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-base)}.toolbar-left,.toolbar-right{display:flex;gap:var(--spacing-sm);align-items:center}
