:root{--ink: #101828;--ink-2: #344054;--muted: #5a6472;--faint: #8a93a0;--hairline: #e4e7ec;--hairline-soft: #eef0f4;--canvas: #f4f5f7;--surface: #ffffff;--primary: #2563eb;--primary-ink: #1d4ed8;--danger: #d92d20;--warning: #b54708;--success: #067647;--pad-x: 20px;--pad-y: 18px;--gap-section: 20px;--radius-lg: 10px;--radius: 8px;--radius-sm: 6px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--canvas);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}.tnum,.ant-statistic-content-value,.ant-table-cell .num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}::selection{background:#2563eb29;color:var(--ink)}*{scrollbar-width:thin;scrollbar-color:#c9ced6 transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#ccd1d9;border:3px solid transparent;border-radius:8px;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#aeb5c0;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.shell{display:grid;grid-template-columns:216px 1fr;min-height:100%}.sider{background:#111827;color:#c7cdd6;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:baseline;gap:8px;padding:22px 20px 18px}.brand-mark{font-size:17px;font-weight:650;letter-spacing:-.01em;color:#fff}.brand-sub{font-size:12px;color:#7d8794;letter-spacing:.02em}.nav{padding:6px 10px;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:var(--radius-sm);color:#b6bec9;font-size:13.5px;text-decoration:none;transition:background .16s ease,color .16s ease}.nav-item svg{font-size:15px;opacity:.85}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item[data-active=true]{background:#2563eb2e;color:#fff;font-weight:560}.sider-foot{margin-top:auto;padding:14px 20px 18px;font-size:12px;color:#6b7684;line-height:1.6}.main{min-width:0;display:flex;flex-direction:column}.topbar{height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px;background:#ffffffe0;-webkit-backdrop-filter:saturate(140%) blur(6px);backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid var(--hairline);position:sticky;top:0;z-index:20}.topbar-title{font-size:14px;font-weight:560;color:var(--ink)}.topbar-sub{font-size:12.5px;color:var(--muted);margin-left:10px;font-weight:400}.content{padding:24px 28px 48px;display:flex;flex-direction:column;gap:var(--gap-section);width:100%}.section{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);overflow:hidden;min-width:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:15px var(--pad-x);border-bottom:1px solid var(--hairline-soft)}.section-title{font-size:14px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px}.section-hint{font-size:12.5px;color:var(--muted);font-weight:400}.section-body{padding:var(--pad-y) var(--pad-x)}.section-body.flush{padding:0}.metric-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);overflow:hidden}.metric{padding:var(--pad-y) var(--pad-x);border-right:1px solid var(--hairline-soft);min-width:0}.metric:last-child{border-right:none}.metric-label{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-value{margin-top:6px;font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}.metric-value small{font-size:12.5px;font-weight:400;color:var(--muted);margin-left:4px;letter-spacing:0}.metric-value[data-tone=danger]{color:var(--danger)}.metric-foot{margin-top:4px;font-size:12px;color:var(--faint);line-height:1.5;white-space:normal;word-break:keep-all;overflow-wrap:normal}.cols{display:grid;gap:var(--gap-section);align-items:stretch}.section{display:flex;flex-direction:column}.section-body{flex:1 1 auto}.cols-7-5{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.cols-5-7{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}@media(max-width:1180px){.cols-7-5,.cols-5-7{grid-template-columns:minmax(0,1fr)}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{border-bottom:1px solid var(--hairline-soft)}.metric:nth-child(3n){border-right:none}.metric:nth-last-child(-n+3){border-bottom:none}}.menu-btn,.sider-mask{display:none}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.sider{position:fixed;top:0;bottom:0;left:0;width:248px;height:auto;z-index:60;transform:translate(-100%);transition:transform .2s cubic-bezier(.16,1,.3,1);will-change:transform}.sider[data-open=true]{transform:none}.sider-mask{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#10182870;border:0;padding:0}.menu-btn{display:inline-flex}.topbar{padding:0 16px}.topbar-sub{display:none}.content{padding:16px 16px 40px}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:14px 16px;border-right:1px solid var(--hairline-soft);border-bottom:1px solid var(--hairline-soft)}.metric:nth-child(2n){border-right:none}.metric:nth-last-child(-n+2){border-bottom:none}.metric-value{font-size:21px}.section-head{padding:13px 16px}.section-body{padding:16px}.detail-name{font-size:18px}.detail-head{gap:12px}.filters{padding:12px 16px!important}.filters>.ant-input-search,.filters>.ant-select,.filters>.ant-picker{flex:1 1 150px;width:auto!important}.ant-drawer-content-wrapper{max-width:92vw}}@media(max-width:640px){.section-hint{display:none}.topbar-user{max-width:96px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-foot{display:none}.metric{padding:12px 14px}.content,.cols{gap:14px}}.who{display:flex;flex-direction:column;gap:2px;min-width:0}.who-name{font-weight:560;color:var(--ink);display:flex;align-items:center;gap:6px}.who-meta{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.who>.ant-tag{align-self:flex-start;margin-inline-end:0}.ellipsis{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.muted{color:var(--muted)}.faint{color:var(--faint)}.bar{height:4px;border-radius:2px;background:#eceef2;overflow:hidden;min-width:60px}.bar>i{display:block;height:100%;background:var(--primary);border-radius:2px}.bar[data-tone=warn]>i{background:#dc8a1c}.bar[data-tone=done]>i{background:var(--success)}#root>.ant-app{min-height:100%}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--canvas);padding:24px}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--hairline);border-radius:12px;padding:28px 28px 24px;box-shadow:0 1px 2px #1018280a,0 12px 32px -12px #1018281f}.login-brand{font-size:19px;font-weight:650;letter-spacing:-.01em}.login-sub{margin-top:4px;font-size:13px;color:var(--muted)}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.detail-name{font-size:20px;font-weight:620;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.detail-meta{margin-top:6px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.stack{display:flex;flex-direction:column;gap:12px}.kv{display:flex;flex-direction:column}.kv-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-height:46px;padding:12px 0;border-bottom:1px solid var(--hairline-soft)}.kv-row:first-child{padding-top:2px}.kv-row:last-child{border-bottom:none;padding-bottom:2px}.kv-label{color:var(--muted);font-size:13px;display:flex;align-items:baseline;gap:8px;min-width:0}.kv-hint{color:var(--faint);font-size:12px}.kv-value{font-size:20px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.kv-value small{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:3px}.progress-row{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-bottom:1px solid var(--hairline-soft)}.progress-row:first-child{padding-top:2px}.progress-row:last-child{border-bottom:none;padding-bottom:2px}.progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.progress-title{font-size:13px;color:var(--ink-2);display:flex;align-items:baseline;gap:8px}.progress-meta{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.package-row{display:flex;flex-direction:column;gap:10px;padding:16px 0;border-bottom:1px solid var(--hairline-soft)}.package-row:first-child{padding-top:2px}.package-row:last-child{border-bottom:none;padding-bottom:2px}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filters>.ant-input-search,.filters>.ant-select,.filters>.ant-picker{flex:0 1 auto;min-width:0}.spacer{flex:1}.ant-table-thead>tr>th{font-weight:560!important;color:var(--ink-2)!important;background:#fafbfc!important}.ant-table-tbody>tr>td{color:var(--ink-2)}.ant-table-row{cursor:default}.ant-tabs-tab{font-size:13.5px}.empty-note{padding:28px 8px;text-align:center;color:var(--muted);font-size:13px;line-height:1.7}.empty-note strong{color:var(--ink-2);font-weight:560}@media(min-width:1181px){.pair-fixed{height:420px}.pair-fixed>.section{height:100%;min-height:0}.pair-fixed>.section>.section-body{display:flex;flex-direction:column;min-height:0;overflow:hidden}}.filter-seg{background:#eef0f4;padding:2px;border-radius:8px}.filter-seg .ant-segmented-item-selected{background:#fff;box-shadow:0 1px 2px #1018281f}
