:root{--app-primary: #1677ff;--app-primary-bg: #e8f1ff;--app-bg: #f2f3f5;--app-card-radius: 4px;--app-card-border: #ebeff5;--app-card-shadow: 0 1px 2px rgba(15, 23, 42, .03);--app-border: #f0f0f0;--app-border-strong: #e5e6eb;--app-text-strong: #1d2129;--app-text: #4e5969;--app-text-secondary: #4e5969;--app-text-weak: #86909c;--app-section-gap: 24px;--app-hairline: #ebeff5;--app-head-bg: #f7f8fa;--app-row-hover: #f5f9ff;--app-notice-bg: #eaf3ff;--app-notice-border: #1677ff}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13px;color:var(--app-text-strong);background:var(--app-bg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0f172a2e;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#0f172a52}.page-card{margin:0}.page-card .ant-card{border-radius:var(--app-card-radius);border:1px solid var(--app-card-border);box-shadow:var(--app-card-shadow)}.page-card .ant-card>.ant-card-head{border-bottom:1px solid var(--app-border);padding:0 16px;min-height:46px}.page-card .ant-card>.ant-card-head .ant-card-head-title{padding:13px 0;font-size:14px;font-weight:600;color:var(--app-text-strong)}.page-card .ant-card>.ant-card-head .ant-card-extra{padding:10px 0}.page-card .ant-card .ant-card{box-shadow:none;border:1px solid var(--app-border)}.content:has(.page-flat){background:#fff;padding:0}.page-flat{background:#fff;min-height:100%;padding:8px 20px 24px}.page-flat>.ant-card{border:0;border-radius:0;box-shadow:none}.page-flat>.ant-card>.ant-card-head{border-bottom:0;padding:0;min-height:0;margin-bottom:8px}.page-flat>.ant-card>.ant-card-head .ant-card-head-title{padding:2px 0;font-size:16px;font-weight:600;color:var(--app-text-strong)}.page-flat>.ant-card>.ant-card-body{padding:0}.page-head{display:flex;align-items:center;gap:10px;min-height:38px;margin-bottom:12px}.page-head-title{font-size:16px;font-weight:600;color:var(--app-text-strong);letter-spacing:.2px}.page-head-actions{margin-left:auto;display:flex;align-items:center;gap:8px;white-space:nowrap}.section+.section{margin-top:var(--app-section-gap);padding-top:var(--app-section-gap);border-top:1px solid var(--app-hairline)}.section-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.section-title{font-size:13px;font-weight:600;color:var(--app-text-strong)}.section-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.page-card .ant-alert,.ant-alert{border-radius:var(--app-card-radius)}.ant-alert-info{background:var(--app-notice-bg);border:none;border-left:2px solid var(--app-notice-border);padding:7px 12px}.ant-alert-info .ant-alert-message,.ant-alert-info .ant-alert-description{color:var(--app-text);font-size:12px;line-height:1.7}.ant-alert-info .ant-alert-icon{color:var(--app-primary);font-size:14px}.ant-alert-warning{border:none;border-left:2px solid #ff9a2e;background:#fff7e8;padding:7px 12px}.ant-alert-warning .ant-alert-message,.ant-alert-warning .ant-alert-description{font-size:12px;line-height:1.7}.ant-alert-success,.ant-alert-error{border:none;border-left-width:2px;padding:7px 12px}.ant-alert-success .ant-alert-message,.ant-alert-error .ant-alert-message{font-size:12px}.table-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}.table-toolbar .ant-btn,.table-toolbar .ant-input-search .ant-btn{box-shadow:none}.table-toolbar .muted,.table-toolbar .toolbar-hint{color:var(--app-text-weak);font-size:12px}.toolbar-hint-right{margin-left:auto;color:var(--app-text-weak);font-size:12px}.page-card .ant-table{font-size:13px}.page-card .ant-table-thead>tr>th{background:var(--app-head-bg);font-size:12px;font-weight:600;color:var(--app-text);letter-spacing:.2px}.page-card .ant-table-thead>tr>th:before{display:none!important}.page-card .ant-table-tbody>tr>td{padding-top:9px;padding-bottom:9px;border-bottom:1px solid var(--app-border)}.page-card .ant-table-tbody>tr:hover>td{background:var(--app-row-hover)}.ant-table-tbody .ant-space{flex-wrap:nowrap}.ant-table-tbody .ant-space .ant-space-item>a,.ant-table-tbody .ant-space .ant-space-item>.ant-btn,.ant-table-tbody .ant-space .ant-space-item>span{white-space:nowrap}.ant-table-tbody .ant-table-cell a:not(.ant-btn){color:var(--app-primary);font-size:13px}.op-links{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}.op-links .ant-btn-link{padding:0;height:auto;font-size:13px}.page-card .ant-table-thead>tr>th:last-child,.page-card .ant-table-tbody>tr>td:last-child{white-space:nowrap}.cell-wrap-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.ant-table-cell .ant-typography{margin-bottom:0}.ant-table-placeholder .ant-empty{margin:32px 0}.page-card .ant-table-pagination.ant-pagination{margin:14px 0 0}.ant-form-item-label>label{font-weight:400;color:var(--app-text)}.ant-descriptions-bordered .ant-descriptions-item-label{font-weight:400;color:var(--app-text-secondary);background:var(--app-head-bg)}.ant-modal-header{margin-bottom:16px;border-bottom:1px solid var(--app-border)}.ant-modal-title{font-size:15px;font-weight:600}.ant-drawer-header{border-bottom:1px solid var(--app-border)}.ant-drawer-title{font-size:15px;font-weight:600}.ant-drawer-body{padding:16px}.stat-card{border:1px solid var(--app-card-border);border-radius:var(--app-card-radius);background:#fff;padding:14px 16px}.stat-card .stat-label{color:var(--app-text-weak);font-size:12px}.stat-card .stat-value{color:var(--app-text-strong);font-size:24px;font-weight:600;line-height:1.35}.stat-card .stat-extra{color:var(--app-text-weak);font-size:12px}.status-dot{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.status-dot:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--app-text-weak)}.status-dot.is-ok:before{background:#00a870}.status-dot.is-warn:before{background:#ff9a2e}.status-dot.is-info:before{background:#1677ff}.status-dot.is-error:before{background:#e34d59}.side-menu .ant-menu-item-selected{background:transparent!important;color:var(--app-primary);font-weight:500}.side-menu .ant-menu-item-selected:after{display:none!important}.side-menu .ant-menu-item-selected .anticon{color:var(--app-primary)}.side-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:var(--app-text-strong)}.kpi-box{padding:10px 14px;background:var(--app-head-bg);border-radius:var(--app-card-radius)}.table-empty{padding:26px 12px;text-align:center;font-size:13px;color:var(--app-text)}.table-empty .muted{margin-top:6px;font-size:12px}.cell-ellipsis{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.muted{color:var(--app-text-weak);font-size:12px}.text-secondary{color:var(--app-text)}.nowrap{white-space:nowrap}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector,.ant-input,.ant-input-affix-wrapper{font-size:13px}
