:root{--bg: #f4f7f5;--surface: #ffffff;--surface-muted: #f8faf9;--ink: #18231f;--muted: #6f7d78;--faint: #97a39e;--line: #e2e9e5;--line-strong: #d2ddd7;--primary: #2f7163;--primary-strong: #225a4d;--primary-soft: #e7f2ee;--accent: #bd7f35;--accent-soft: #fbf2e3;--success: #2f7d60;--success-soft: #e8f4ee;--warning: #9a6a20;--warning-soft: #fbf2e3;--danger: #b7463d;--danger-soft: #fbecea;--shadow: 0 1px 2px rgba(24, 35, 31, .04);font-family:IBM Plex Sans,Noto Sans SC,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-width:1180px;min-height:100%;margin:0}body{background:var(--bg)}button,input,textarea{font:inherit}code{font-family:Cascadia Mono,JetBrains Mono,Microsoft YaHei,monospace;font-size:11px;color:#5f7069}a{color:var(--primary)}.app-loading,.page-loading{display:grid;min-height:50vh;place-items:center}.ant-pro-layout{min-height:100vh;background:var(--bg)}.ant-pro-layout .ant-pro-sider{background:#fbfcfb!important;border-right:1px solid var(--line);box-shadow:none!important}.ant-pro-layout .ant-pro-sider-logo{height:64px!important;padding:0 18px!important;border-bottom:0}.ant-pro-layout .ant-pro-sider-logo>a{display:flex;align-items:center}.ant-pro-layout .ant-pro-sider-logo h1{font-size:15px!important;font-weight:650!important;color:var(--ink)!important;letter-spacing:0!important}.brand-mark{display:inline-grid;width:34px;height:34px;flex:0 0 34px;place-items:center;color:#fff;background:var(--primary);border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff29}.brand-mark.compact{width:30px;height:30px;flex-basis:30px}.brand-mark .anticon{font-size:17px}.brand-mark.compact .anticon{font-size:15px}.ant-pro-layout .ant-pro-sider-menu{padding:8px 12px 0}.ant-pro-layout .ant-menu{font-size:12px}.ant-pro-layout .ant-menu-item{height:36px;margin:2px 0;line-height:36px;border-radius:7px}.ant-pro-layout .ant-menu-item .anticon{font-size:15px}.ant-pro-layout .ant-pro-sider-links,.ant-pro-layout .ant-pro-sider-collapsed-button{display:none}.sider-footer{margin:10px 14px 14px}.service-state{display:flex;align-items:center;gap:8px;margin:0 6px 12px;font-size:10px;color:var(--muted)}.service-state i,.health-badge i{width:6px;height:6px;background:#43b883;border-radius:50%;box-shadow:0 0 0 3px #43b88324}.sider-user{display:flex;align-items:center;gap:9px;padding:12px 8px 2px;border-top:1px solid var(--line)}.sider-avatar{color:var(--primary)!important;background:var(--primary-soft)!important}.sider-user>div{min-width:0}.sider-user strong,.sider-user span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sider-user strong{font-size:11px;font-weight:600}.sider-user span{margin-top:2px;font-size:9px;color:var(--faint)}.admin-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;width:100%;height:58px;padding:0 28px;background:#ffffffeb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.admin-breadcrumb{font-size:12px}.env-tag{display:inline-flex;align-items:center;gap:6px;height:28px;margin:0;padding:0 9px;font-size:10px;color:var(--success);background:var(--success-soft);border-radius:6px}.env-tag i{width:5px;height:5px;background:currentColor;border-radius:50%}.header-icon-button{width:32px;height:32px;padding:0;color:var(--muted);border-radius:7px}.header-icon-button:hover{color:var(--ink)!important;background:var(--surface-muted)!important}.header-user{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 4px 0 2px;color:var(--ink);background:transparent;border:0;border-radius:7px;cursor:pointer}.header-user:hover{background:var(--surface-muted)}.header-user span{max-width:88px;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.header-user .ant-avatar{color:#fff;background:var(--primary)}.ant-pro-layout .ant-pro-layout-content{background:var(--bg)}.admin-shell-main{min-width:0;min-height:100vh;background:var(--bg)}.admin-content{width:100%;min-height:calc(100vh - 58px);padding:26px 30px 36px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.page-header h1{margin:0;font-size:22px;font-weight:650;line-height:1.3;color:var(--ink)}.page-header p{margin:5px 0 0;font-size:11px;color:var(--muted)}.page-actions{display:flex;align-items:center;gap:8px}.page-actions .ant-btn{height:32px;padding-inline:12px;font-size:11px;box-shadow:var(--shadow)}.page-actions .ant-segmented{height:32px;padding:3px;background:var(--surface);border:1px solid var(--line)}.page-actions .ant-segmented-item{min-height:24px;font-size:11px;line-height:24px}.metric-strip{position:relative;display:grid;gap:1px;min-height:121px;margin-bottom:16px;overflow:hidden;background:var(--line);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.metric-cell{min-width:0;padding:18px 20px 17px;background:var(--surface)}.metric-label{display:flex;align-items:center;gap:7px;margin-bottom:10px;font-size:11px;color:var(--muted)}.metric-label .anticon{font-size:14px;color:var(--faint)}.metric-number{display:flex;align-items:baseline;gap:6px}.metric-number strong{font-size:26px;font-weight:600;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.metric-number span{font-size:10px;color:var(--muted)}.metric-foot{display:flex;align-items:center;gap:5px;margin-top:10px;font-size:10px;color:var(--faint)}.metric-delta{display:inline-flex;align-items:center;gap:2px;color:var(--success);font-weight:600}.metric-delta.down{color:var(--danger)}.metric-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);background:#ffffffc7}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.82fr) minmax(288px,.8fr);gap:16px;margin-bottom:16px}.section-card{min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.section-head{display:flex;align-items:center;min-height:52px;padding:0 18px;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:baseline;gap:9px;min-width:0}.section-title strong{font-size:13px;font-weight:600;color:var(--ink)}.section-title span{font-size:10px;color:var(--faint)}.section-extra{display:flex;align-items:center;gap:8px;margin-left:auto}.section-extra .ant-tag{margin:0;font-size:10px;color:var(--muted);background:var(--surface-muted)}.section-body{min-width:0}.trend-panel .section-body{padding:17px 18px 12px}.trend-summary{display:flex;align-items:baseline;gap:7px;margin:0 0 8px 2px}.trend-summary strong{font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}.trend-summary>span{font-size:10px;color:var(--faint)}.trend-legend{display:flex;align-items:center;gap:13px;margin-left:auto;font-size:10px;color:var(--muted)}.trend-legend span{display:flex;align-items:center;gap:5px}.trend-legend i{width:7px;height:7px;background:var(--primary);border-radius:50%}.trend-legend .legend-secondary i{background:var(--accent)}.trend-chart{min-width:0}.trend-chart svg{display:block;width:100%;height:214px;overflow:visible}.chart-empty{display:grid;min-height:250px;place-content:center;gap:6px;color:var(--faint);text-align:center}.chart-empty strong{font-size:12px;font-weight:500;color:var(--muted)}.chart-empty span{font-size:10px}.chart-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4}.chart-axis{fill:var(--faint);font-family:IBM Plex Sans,Microsoft YaHei,sans-serif;font-size:9px}.chart-area{fill:#2f71631a}.chart-line{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.chart-line.primary{stroke:var(--primary)}.chart-line.secondary{stroke:var(--accent);stroke-width:1.7}.health-badge{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:500;color:var(--success)}.health-list{padding:10px 18px 4px}.health-list>div{display:flex;align-items:center;min-height:37px;font-size:11px;border-bottom:1px solid var(--line)}.health-list>div:last-child{border-bottom:0}.health-list span{display:flex;align-items:center;gap:8px;color:var(--muted)}.health-list span i{width:6px;height:6px;background:var(--success);border-radius:50%;box-shadow:0 0 0 3px var(--success-soft)}.health-list strong{margin-left:auto;font-family:Cascadia Mono,Microsoft YaHei,monospace;font-size:10px;font-weight:500}.health-list .warning-value{color:var(--warning)}.job-summary{margin:10px 18px 16px;padding:12px;background:var(--surface-muted);border:1px solid var(--line);border-radius:7px}.job-summary-head{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:10px;font-weight:600;color:var(--muted)}.job-summary-head a{margin-left:auto;font-size:9px;font-weight:400}.job-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.job-summary-grid span{display:grid;gap:2px;font-size:9px;color:var(--faint)}.job-summary-grid b{font-size:15px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.section-link{display:inline-flex;align-items:center;gap:4px;font-size:10px}.recent-users .ant-table-wrapper,.table-panel .ant-table-wrapper{min-width:0}.table-panel,.filter-panel{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.filter-panel{margin-bottom:16px;padding:16px 18px 0}.filter-panel .ant-form{display:flex;flex-wrap:wrap;align-items:center}.filter-panel .ant-form-item{margin-bottom:16px}.filter-panel .ant-input-affix-wrapper,.filter-panel .ant-input,.filter-panel .ant-select .ant-select-selector{min-width:160px;font-size:11px}.filter-result{margin-left:auto;margin-bottom:16px;font-size:10px;color:var(--faint)}.table-panel>.ant-table-wrapper,.table-panel>.ant-tabs{padding:0 0 2px}.table-panel .ant-table{font-size:11px}.table-panel .ant-table-thead>tr>th,.recent-users .ant-table-thead>tr>th{height:36px;padding:0 14px;font-size:10px;font-weight:600;color:var(--faint);background:var(--surface-muted)!important;border-bottom:1px solid var(--line)!important}.table-panel .ant-table-tbody>tr>td,.recent-users .ant-table-tbody>tr>td{height:52px;padding:8px 14px;border-bottom:1px solid var(--line)}.recent-users .ant-table-tbody>tr{cursor:pointer}.recent-users .ant-table-tbody>tr:hover>td,.table-panel .ant-table-tbody>tr:hover>td{background:#f8fbf9!important}.table-panel .ant-pagination{margin:14px 16px!important;font-size:10px}.content-tabs>.ant-tabs-nav{min-height:52px;margin:0;padding:0 18px;border-bottom:1px solid var(--line)}.content-tabs>.ant-tabs-content-holder{min-width:0}.tab-toolbar{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 16px;font-size:10px;color:var(--muted);border-bottom:1px solid var(--line)}.tab-toolbar .ant-btn{font-size:10px}.selection-count{margin-left:10px;color:var(--faint)}.tab-result{margin-left:auto;color:var(--faint)}.job-name-cell{display:grid;min-width:0;gap:2px}.job-name-cell strong{overflow:hidden;font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.job-name-cell code{overflow:hidden;font-size:9px;color:var(--faint);text-overflow:ellipsis;white-space:nowrap}.error-text{color:var(--danger)}.json-editor{font-family:Cascadia Mono,Microsoft YaHei,monospace;font-size:11px}.user-cell{display:flex;align-items:center;gap:9px;min-width:0}.user-avatar-small{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;font-size:10px;font-weight:600;color:var(--primary);background:var(--primary-soft);border-radius:50%}.user-cell-copy{display:grid;min-width:0;gap:2px}.user-cell-copy strong{overflow:hidden;font-size:11px;font-weight:500;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.user-cell-copy code{overflow:hidden;font-size:9px;color:var(--faint);text-overflow:ellipsis;white-space:nowrap}.muted-data{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.table-link{font-size:10px;color:var(--primary)}.status-tag.ant-tag{display:inline-flex;align-items:center;height:21px;margin:0;padding:0 7px;font-size:9px;font-weight:500;line-height:21px;border:0;border-radius:5px}.status-tag.success{color:var(--success);background:var(--success-soft)}.status-tag.warning{color:var(--warning);background:var(--warning-soft)}.status-tag.danger{color:var(--danger);background:var(--danger-soft)}.status-tag.accent{color:var(--primary);background:var(--primary-soft)}.status-tag.neutral{color:var(--muted);background:var(--surface-muted)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);gap:16px}.detail-grid .section-card:first-child{grid-row:span 2}.detail-grid .section-body{padding:18px}.detail-grid .ant-descriptions-item-label{width:112px;font-size:10px;color:var(--muted)}.detail-grid .ant-descriptions-item-content{font-size:11px;word-break:break-word}.detail-json{max-height:320px;margin:0;overflow:auto;font-size:10px;white-space:pre-wrap;word-break:break-word}.modal-context{margin:0 0 18px;font-size:12px;color:var(--muted)}.job-stat-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:16px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.job-stat-strip>div{display:grid;gap:6px;padding:17px 20px}.job-stat-strip>div+div{border-left:1px solid var(--line)}.job-stat-strip span{font-size:10px;color:var(--muted)}.job-stat-strip strong{font-size:23px;font-weight:600;font-variant-numeric:tabular-nums}.empty-panel{display:grid;min-height:360px;place-items:center}.login-page{display:grid;min-height:100vh;place-items:center;padding:42px;background:var(--bg)}.login-panel{width:min(100%,416px)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:36px}.login-brand>div{display:grid;gap:2px}.login-brand strong{font-size:17px;font-weight:650}.login-brand span{font-size:9px;color:var(--faint)}.login-heading{margin-bottom:24px}.login-heading h1{margin:0;font-size:24px;font-weight:600}.login-heading p{margin:7px 0 0;font-size:12px;color:var(--muted)}.demo-hint{margin-bottom:18px;padding:9px 11px;font-size:10px;color:var(--warning);background:var(--warning-soft);border:1px solid #f0e1c5;border-radius:6px}.login-panel .ant-alert{margin-bottom:16px}.login-panel .ant-form-item-label>label{font-size:11px;color:var(--muted)}.login-panel .ant-input-affix-wrapper{min-height:42px}.login-panel .ant-btn-lg{height:42px;margin-top:4px;font-size:12px}.login-panel footer{margin-top:24px;font-size:9px;color:var(--faint);text-align:center}@media(max-width:1280px){.ant-pro-layout .ant-pro-sider{width:220px!important;min-width:220px!important;max-width:220px!important}.admin-content{padding-right:22px;padding-left:22px}.dashboard-grid{grid-template-columns:minmax(0,1.6fr) 280px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
