:root{--brand: #0fb991;--brand-dark: #0a9c7a;--brand-deep: #077a5f;--brand-soft: #e7f8f1;--chart-lo: #c7d2fe;--chart-hi: #6366f1;--chart-today: #818cf8;--chart-track: #f5f5f5;--chart-skel: #fafafa;--funnel-a: #0fb991;--funnel-b: #6ee7c7;--up: #389e0d;--down: #cf1322;--flat: #8c8c8c;--note-fg: #b45309;--note-bg: #fff7ed;--panel-line: #f0f0f0;--ink: #1f2937;--act: #4338ca}body.t-gray{--funnel-a: #6366f1;--funnel-b: #4338ca;--up: #166534;--down: #991b1b;--flat: #8a8a92;--note-fg: #b45309;--note-bg: #fff7ed;--panel-line: #e3e3e7;--ink: #3f3f46;--act: #4338ca;background:#e9e9ec;color:#55555c}html,body,#root{height:100%;margin:0}body{background:#f5f7fa;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Roboto,Helvetica,Arial,sans-serif}.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:16px;padding:0 24px!important;background:linear-gradient(120deg,var(--brand-deep) 0%,var(--brand-dark) 55%,var(--brand) 100%)!important;box-shadow:0 4px 18px #077a5f38}.app-logo{display:flex;align-items:center;gap:12px;margin-right:8px;white-space:nowrap}.app-logo .mark{width:40px;height:40px;border-radius:11px;background:#fff3;color:#fff;font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center}.app-logo .name{color:#fff;font-weight:700;font-size:18px;letter-spacing:.5px}.app-logo .name .sub{font-weight:400;font-size:12px;opacity:.75;margin-left:8px}.app-header .ant-menu{flex:1;min-width:320px}.app-content{max-width:1400px;margin:0 auto;width:100%}.app-content .ant-card{border-radius:14px;border:1px solid #eef1f4;transition:box-shadow .2s ease,transform .2s ease}.app-content .ant-card-hoverable:hover{box-shadow:0 10px 28px #0f22331f;transform:translateY(-2px)}.ant-table-wrapper .ant-table{border-radius:12px;overflow:hidden}.ant-empty-description{color:#9ca3af}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d7dde5;border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#b9c2cf;background-clip:content-box}body.t-gray .app-header{background:#3f3f46!important;box-shadow:none;border-bottom:1px solid #27272a;height:48px;line-height:48px;padding:0 16px!important}body.t-gray .app-logo .mark{width:30px;height:30px;border-radius:6px;font-size:15px;background:#ffffff24}body.t-gray .app-logo .name{font-size:15px;font-weight:600;letter-spacing:0}body.t-gray .app-content .ant-card{border:1px solid #c9c9cf;border-radius:8px;box-shadow:none;transition:none}body.t-gray .app-content .ant-card-hoverable:hover{box-shadow:none;transform:none;background:#f7f7f8}body.t-gray .ant-card-head{border-bottom:1px solid #c9c9cf;min-height:42px}body.t-gray .ant-card-head-title,body.t-gray h1,body.t-gray h2,body.t-gray h3,body.t-gray h4,body.t-gray h5{color:#3f3f46}body.t-gray .ant-statistic-content{font-variant-numeric:tabular-nums;font-weight:700;color:#3f3f46}body.t-gray .ant-statistic-title{color:#8a8a92;font-size:12px}body.t-gray .ant-table-wrapper .ant-table{border:1px solid #c9c9cf;border-radius:8px}body.t-gray .ant-table-tbody>tr>td{border-bottom:1px solid #e3e3e7;font-variant-numeric:tabular-nums}body.t-gray .ant-divider{border-color:var(--panel-line)}body.t-gray .ant-alert-info{background:#f4f4f6;border:1px solid #c9c9cf;border-radius:6px;color:#55555c}body.t-gray .ant-alert-warning{background:var(--note-bg);border:1px solid #fed7aa;border-radius:6px;color:var(--note-fg)}body.t-gray .ant-alert-message{color:inherit}body.t-gray .ant-tag{border-radius:10px;font-variant-numeric:tabular-nums}body.t-gray .ant-tag-green{background:#dcfce7;border-color:#86efac;color:#166534}body.t-gray .ant-tag-gold,body.t-gray .ant-tag-orange{background:#fef9c3;border-color:#fde047;color:#854d0e}body.t-gray .ant-tag-red{background:#fee2e2;border-color:#fca5a5;color:#991b1b}body.t-gray .ant-tag-blue,body.t-gray .ant-tag-geekblue,body.t-gray .ant-tag-purple{background:#e0e7ff;border-color:#c7d2fe;color:#3730a3}body.t-gray .ant-progress .ant-progress-bg,body.t-gray .ant-progress-status-success .ant-progress-bg,body.t-gray .ant-progress-status-active .ant-progress-bg{background:#4338ca}body.t-gray .ant-progress-status-success .anticon,body.t-gray .ant-progress .ant-progress-text{color:#4338ca}body.t-gray .ant-progress-status-exception .ant-progress-bg{background:#991b1b}body.t-gray .ant-progress-status-exception .anticon{color:#991b1b}body.t-gray .ant-progress-inner{background:#e3e3e7}body.t-gray ::-webkit-scrollbar-thumb{background:#c9c9cf;background-clip:content-box}body.t-gray .ant-popover-inner,body.t-gray .ant-tooltip-inner{border-radius:6px}.ant-table-tbody>tr.audit-sel-row>td{background:#fffbeb}body.t-gray .ant-table-tbody>tr.audit-sel-row>td{background:#fffbeb}
