*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--primary-color: #1677ff;--success-color: #52c41a;--warning-color: #faad14;--error-color: #ff4d4f;--info-color: #1677ff;--text-color: rgba(0, 0, 0, .88);--text-color-secondary: rgba(0, 0, 0, .65);--text-color-tertiary: rgba(0, 0, 0, .45);--bg-color: #f5f5f5;--bg-color-white: #ffffff;--border-color: #d9d9d9;--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-md: 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);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--transition: all .3s cubic-bezier(.645, .045, .355, 1)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background-color:#00000040}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.ant-card{border-radius:var(--radius-md)!important;border:none!important;box-shadow:var(--shadow-sm)!important;transition:var(--transition)!important}.ant-card:hover{box-shadow:var(--shadow-md)!important;transform:translateY(-2px)}.ant-btn{border-radius:var(--radius-sm)!important;font-weight:500!important;transition:var(--transition)!important}.ant-btn-primary{box-shadow:0 2px #0591ff1a!important}.ant-btn-primary:hover{box-shadow:0 4px 8px #0591ff40!important;transform:translateY(-1px)}.ant-table{border-radius:var(--radius-md)!important;overflow:hidden}.ant-table-thead>tr>th{background:linear-gradient(180deg,#fafafa,#f5f5f5)!important;font-weight:600!important;color:var(--text-color)!important;border-bottom:1px solid #f0f0f0!important}.ant-table-tbody>tr{transition:var(--transition)!important}.ant-table-tbody>tr:hover>td{background:#f0f7ff!important}.ant-table-tbody>tr>td{border-bottom:1px solid #f5f5f5!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker{border-radius:var(--radius-sm)!important;transition:var(--transition)!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector{box-shadow:0 0 0 2px #1677ff1a!important}.ant-modal{border-radius:var(--radius-lg)!important;overflow:hidden}.ant-modal-content{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important}.ant-modal-header{border-bottom:1px solid #f0f0f0!important;padding:20px 24px!important}.ant-modal-body{padding:24px!important}.ant-modal-footer{border-top:1px solid #f0f0f0!important;padding:16px 24px!important}.ant-tag{border-radius:4px!important;padding:2px 8px!important;font-size:12px!important;line-height:20px!important;border:none!important}.ant-statistic-title{color:var(--text-color-secondary)!important;font-size:14px!important;margin-bottom:8px!important}.ant-statistic-content{color:var(--text-color)!important;font-weight:600!important}.ant-menu-dark{background:linear-gradient(180deg,#001529,#002140)!important}.ant-menu-dark .ant-menu-item{border-radius:var(--radius-sm)!important;margin:4px 8px!important;transition:var(--transition)!important}.ant-menu-dark .ant-menu-item:hover{background:#ffffff14!important}.ant-menu-dark .ant-menu-item-selected{background:var(--primary-color)!important;box-shadow:0 2px 8px #1677ff4d!important}.ant-pagination{margin-top:24px!important}.ant-pagination-item{border-radius:var(--radius-sm)!important;transition:var(--transition)!important}.ant-pagination-item:hover{border-color:var(--primary-color)!important;transform:translateY(-1px)}.ant-pagination-item-active{background:var(--primary-color)!important;border-color:var(--primary-color)!important;box-shadow:0 2px #0591ff1a!important}.ant-upload{transition:var(--transition)!important}.ant-upload:hover{transform:translateY(-1px)}.ant-empty{padding:40px 0!important}.ant-empty-description{color:var(--text-color-tertiary)!important}@media (max-width: 768px){.ant-card{margin-bottom:16px!important}.ant-table{font-size:14px!important}.ant-modal{margin:16px!important}}.fade-in{animation:fadeIn .3s ease-out}.slide-in-left{animation:slideInLeft .3s ease-out}.slide-in-right{animation:slideInRight .3s ease-out}pre{background:linear-gradient(135deg,#1e1e1e,#2d2d2d)!important;color:#d4d4d4!important;padding:20px!important;border-radius:var(--radius-md)!important;overflow:auto!important;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace!important;font-size:13px!important;line-height:1.6!important;box-shadow:var(--shadow-md)!important}code{background:#f5f5f5!important;padding:2px 6px!important;border-radius:4px!important;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace!important;font-size:.9em!important;color:#d4380d!important}.page-transition-enter{opacity:0;transform:translateY(10px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:all .3s ease-out}.page-transition-exit{opacity:1;transform:translateY(0)}.page-transition-exit-active{opacity:0;transform:translateY(-10px);transition:all .2s ease-in}.glass-effect{background:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.gradient-text{background:linear-gradient(135deg,var(--primary-color) 0%,#722ed1 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-hover{transition:var(--transition)}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.img-loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:pulse 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}
