:root{--primary: #2456d6;--primary-hover: #1c45b0;--primary-light: #eef3fe;--bg-page: #f5f6f8;--bg-surface: #ffffff;--bg-hover: #f0f1f3;--border: #e6e8eb;--border-strong: #d5d9de;--text-primary: #1a1d21;--text-secondary: #5f6672;--text-tertiary: #9aa1ab;--success: #1a7f37;--success-bg: #e9f6ec;--warning: #b7791f;--warning-bg: #fdf4e3;--danger: #cf222e;--danger-bg: #fdebec;--radius: 8px;--radius-sm: 6px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 1px 3px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .04)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif;color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.6}#root{min-height:100vh}.num{font-variant-numeric:tabular-nums}.page-container{padding:20px 24px 32px}.ant-card{border-radius:var(--radius)!important;border:1px solid var(--border)!important;box-shadow:0 1px 2px #1018280d,0 2px 8px #1018280a!important;transition:box-shadow .2s ease}.ant-card:hover{box-shadow:0 2px 4px #1018280f,0 4px 14px #1018280f!important}.ant-card .ant-card-head{border-bottom:1px solid var(--border)}.ant-table{border-radius:var(--radius)}.ant-table-thead>tr>th{background:#fafbfc!important;color:var(--text-secondary)!important;font-weight:500!important;border-bottom:1px solid var(--border)!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--border)!important}.ant-table-tbody>tr:hover>td{background:#fafbfc!important}.ant-btn-primary{box-shadow:none!important}.ant-btn{border-radius:var(--radius-sm)}.ant-tag{border-radius:4px;border:none;font-weight:500}.ant-modal-content{border-radius:12px!important}.status-tag-active{background:var(--success-bg);color:var(--success)}.status-tag-closed{background:var(--bg-hover);color:var(--text-secondary)}.status-tag-pending{background:var(--warning-bg);color:var(--warning)}.text-over{color:var(--danger);font-weight:500}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.page-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.page-subtitle{font-size:13px;color:var(--text-tertiary);margin-top:2px}@media (max-width: 768px){.page-container{padding:12px 12px 24px}.ant-modal-content{max-height:90vh;overflow-y:auto}.ant-table{font-size:13px}}
