.page-loading{display:grid;min-height:240px;place-items:center;align-content:center;gap:12px;padding:40px 16px}:root{--color-primary: #1677ff;--color-primary-hover: #4096ff;--color-primary-active: #0958d9;--color-primary-bg: #e6f4ff;--color-primary-border: #91caff;--color-primary-soft: var(--color-primary-bg);--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #1677ff;--color-accent: #6366f1;--color-text-primary: #1f2937;--color-text-secondary: #4b5563;--color-text-tertiary: #6b7280;--color-text-disabled: #9ca3af;--color-border: #d9e0e8;--color-border-secondary: #eef1f5;--color-border-soft: var(--color-border-secondary);--color-bg-container: #ffffff;--color-bg-layout: #f5f7fa;--color-background-subtle: #f8fafc;--color-panel: rgba(255, 255, 255, .92);--color-panel-strong: #ffffff;--spacing-xxs: 4px;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-sm: 0 4px 12px rgba(15, 23, 42, .06);--shadow-card: var(--shadow-sm);--shadow-md: 0 12px 28px rgba(15, 23, 42, .08);--shadow-lg: 0 20px 48px rgba(15, 23, 42, .14);--shadow-focus: 0 0 0 3px rgba(22, 119, 255, .12);--scrollbar-size: 8px;--scrollbar-native-width: thin;--scrollbar-radius: 8px;--scrollbar-thumb: #aab4c3;--scrollbar-thumb-hover: #7c8798;--scrollbar-track: #eef1f5;--detail-label-width: 150px}:root[data-theme=dark]{--color-primary-bg: color-mix(in srgb, var(--color-primary) 18%, #171b22);--color-primary-border: color-mix(in srgb, var(--color-primary) 48%, #343b46);--color-primary-soft: var(--color-primary-bg);--color-text-primary: #f3f6fa;--color-text-secondary: #cbd2dc;--color-text-tertiary: #9aa4b2;--color-text-disabled: #6f7986;--color-border: #343b46;--color-border-secondary: #272d36;--color-border-soft: var(--color-border-secondary);--color-bg-container: #171b22;--color-bg-layout: #101318;--color-background-subtle: #1d222a;--color-panel: rgba(23, 27, 34, .94);--color-panel-strong: #171b22;--shadow-sm: 0 4px 12px rgba(0, 0, 0, .2);--shadow-md: 0 12px 28px rgba(0, 0, 0, .28);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .36)}*{box-sizing:border-box}@supports not selector(::-webkit-scrollbar){*{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:var(--scrollbar-native-width)}:root[data-scrollbar-visibility=hover] *{scrollbar-color:transparent transparent}:root[data-scrollbar-visibility=hover] *:hover{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.ant-table-wrapper .ant-table-body,.ant-table-wrapper .ant-table-body-inner,.ant-table-wrapper .ant-table-content,.ant-table-wrapper .ant-table-container,.ant-table-wrapper .ant-table-header,.ant-table-wrapper .ant-table-tbody-virtual-holder{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:var(--scrollbar-native-width)}:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-body,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-body-inner,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-content,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-container,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-header,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-tbody-virtual-holder{scrollbar-color:transparent transparent}:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-body,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-body-inner,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-content,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-container,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-header,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-tbody-virtual-holder{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}}@supports selector(::-webkit-scrollbar){.ant-table-wrapper .ant-table-body,.ant-table-wrapper .ant-table-body-inner,.ant-table-wrapper .ant-table-content,.ant-table-wrapper .ant-table-container,.ant-table-wrapper .ant-table-header,.ant-table-wrapper .ant-table-tbody-virtual-holder{scrollbar-color:auto;scrollbar-width:auto}}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-track{border-radius:var(--scrollbar-radius);background-color:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{border-radius:var(--scrollbar-radius);background-color:var(--scrollbar-thumb)}*::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}*::-webkit-scrollbar-corner{background-color:var(--scrollbar-track)}.ant-table-wrapper .ant-table-body::-webkit-scrollbar,.ant-table-wrapper .ant-table-body-inner::-webkit-scrollbar,.ant-table-wrapper .ant-table-content::-webkit-scrollbar,.ant-table-wrapper .ant-table-container::-webkit-scrollbar,.ant-table-wrapper .ant-table-header::-webkit-scrollbar,.ant-table-wrapper .ant-table-tbody-virtual-holder::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}.ant-table-wrapper .ant-table-body::-webkit-scrollbar-track,.ant-table-wrapper .ant-table-body-inner::-webkit-scrollbar-track,.ant-table-wrapper .ant-table-content::-webkit-scrollbar-track,.ant-table-wrapper .ant-table-container::-webkit-scrollbar-track,.ant-table-wrapper .ant-table-header::-webkit-scrollbar-track,.ant-table-wrapper .ant-table-tbody-virtual-holder::-webkit-scrollbar-track,.ant-table-wrapper .ant-table-sticky-scroll{border-radius:var(--scrollbar-radius);background-color:var(--scrollbar-track)!important}.ant-table-wrapper .ant-table-body::-webkit-scrollbar-thumb,.ant-table-wrapper .ant-table-body-inner::-webkit-scrollbar-thumb,.ant-table-wrapper .ant-table-content::-webkit-scrollbar-thumb,.ant-table-wrapper .ant-table-container::-webkit-scrollbar-thumb,.ant-table-wrapper .ant-table-header::-webkit-scrollbar-thumb,.ant-table-wrapper .ant-table-tbody-virtual-holder::-webkit-scrollbar-thumb,.ant-table-wrapper .ant-table-sticky-scroll-bar{border-radius:var(--scrollbar-radius);background-color:var(--scrollbar-thumb)!important}.ant-table-wrapper .ant-table-sticky-scroll{height:var(--scrollbar-size)!important}.ant-table-wrapper .ant-table-sticky-scroll-bar{height:100%!important;transition:background-color .18s ease}.ant-table-wrapper .ant-table-body::-webkit-scrollbar-thumb:hover,.ant-table-wrapper .ant-table-body-inner::-webkit-scrollbar-thumb:hover,.ant-table-wrapper .ant-table-content::-webkit-scrollbar-thumb:hover,.ant-table-wrapper .ant-table-container::-webkit-scrollbar-thumb:hover,.ant-table-wrapper .ant-table-header::-webkit-scrollbar-thumb:hover,.ant-table-wrapper .ant-table-tbody-virtual-holder::-webkit-scrollbar-thumb:hover,.ant-table-wrapper .ant-table-sticky-scroll-bar:hover{background-color:var(--scrollbar-thumb-hover)!important}:root[data-scrollbar-visibility=hover] *::-webkit-scrollbar-track,:root[data-scrollbar-visibility=hover] *::-webkit-scrollbar-thumb{background-color:transparent}:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-sticky-scroll,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-sticky-scroll-bar{background-color:transparent!important}:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-body::-webkit-scrollbar-track,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-body-inner::-webkit-scrollbar-track,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-content::-webkit-scrollbar-track,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-container::-webkit-scrollbar-track,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-header::-webkit-scrollbar-track,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-tbody-virtual-holder::-webkit-scrollbar-track,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-body::-webkit-scrollbar-thumb,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-body-inner::-webkit-scrollbar-thumb,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-content::-webkit-scrollbar-thumb,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-container::-webkit-scrollbar-thumb,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-header::-webkit-scrollbar-thumb,:root[data-scrollbar-visibility=hover] .ant-table-wrapper .ant-table-tbody-virtual-holder::-webkit-scrollbar-thumb{background-color:transparent!important}:root[data-scrollbar-visibility=hover] *:hover::-webkit-scrollbar-track{background-color:var(--scrollbar-track)}:root[data-scrollbar-visibility=hover] *:hover::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb)}:root[data-scrollbar-visibility=hover] *:hover::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-sticky-scroll{background-color:var(--scrollbar-track)!important}:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-sticky-scroll-bar{background-color:var(--scrollbar-thumb)!important}:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-sticky-scroll-bar:hover{background-color:var(--scrollbar-thumb-hover)!important}:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-body::-webkit-scrollbar-track,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-body-inner::-webkit-scrollbar-track,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-content::-webkit-scrollbar-track,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-container::-webkit-scrollbar-track,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-header::-webkit-scrollbar-track,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-tbody-virtual-holder::-webkit-scrollbar-track{background-color:var(--scrollbar-track)!important}:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-body::-webkit-scrollbar-thumb,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-body-inner::-webkit-scrollbar-thumb,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-content::-webkit-scrollbar-thumb,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-container::-webkit-scrollbar-thumb,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-header::-webkit-scrollbar-thumb,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-tbody-virtual-holder::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb)!important}:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-body::-webkit-scrollbar-thumb:hover,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-body-inner::-webkit-scrollbar-thumb:hover,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-content::-webkit-scrollbar-thumb:hover,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-container::-webkit-scrollbar-thumb:hover,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-header::-webkit-scrollbar-thumb:hover,:root[data-scrollbar-visibility=hover] .ant-table-wrapper:hover .ant-table-tbody-virtual-holder::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)!important}body{margin:0;min-width:320px;background:var(--color-bg-layout);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,PingFang SC,Microsoft YaHei,sans-serif}a{color:inherit}img,.ant-image,.ant-image-img,.ant-avatar,.ant-avatar img,.ant-upload-list-item-thumbnail,.ant-upload-list-item-thumbnail img{background:transparent!important;background-color:transparent!important}.ant-avatar{color:var(--color-primary)}button,[role=button]{cursor:pointer;touch-action:manipulation}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skip-link{position:fixed;left:12px;top:-48px;z-index:1000;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;padding:8px 12px;transition:top .15s ease-out}.skip-link:focus{top:12px}.ant-card{border-color:var(--color-border-secondary);border-radius:var(--radius-lg);background:var(--color-bg-container);box-shadow:var(--shadow-sm)}.ant-card-head{border-color:var(--color-border-secondary)}.ant-descriptions-bordered>.ant-descriptions-view>table{table-layout:fixed}.ant-descriptions-bordered .ant-descriptions-item-label{width:var(--detail-label-width);min-width:var(--detail-label-width);max-width:var(--detail-label-width);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-descriptions-bordered .ant-descriptions-item-content{min-width:0;overflow-wrap:anywhere;word-break:break-word}.ant-table-wrapper .ant-table{border-radius:var(--radius-lg);overflow:hidden}.ant-table-wrapper .ant-table-content{overflow-x:auto}.ant-table-thead>tr>th{font-size:12px;font-weight:600}.ant-table-wrapper .ant-table-thead>tr>th,.ant-table-wrapper .ant-table-tbody>tr>td{white-space:nowrap}.ant-table-wrapper .ant-table-tbody>tr.ant-table-expanded-row>td{white-space:normal}.ant-table-wrapper .ant-table-cell .ant-space{flex-wrap:nowrap!important}.ant-table-wrapper .ant-table-cell .ant-space-item,.ant-table-wrapper .ant-table-cell .ant-btn,.ant-table-wrapper .ant-table-cell .ant-typography,.ant-table-wrapper .ant-table-cell a{white-space:nowrap}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>.ant-table-cell-fix-left,.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>.ant-table-cell-fix-right{background:var(--color-bg-container)!important}.ant-btn{transition:border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out,color .18s ease-out}.ant-btn-primary{box-shadow:0 8px 18px #1677ff29}.ant-btn-primary:hover{box-shadow:0 12px 28px #1677ff33}.ant-input,.ant-input-affix-wrapper,.ant-select-selector{border-color:var(--color-border)}.ant-input:focus,.ant-input-affix-wrapper-focused{box-shadow:var(--shadow-focus)}.ant-tag{border-radius:var(--radius-pill);margin-inline-end:0px!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.delete-confirmation-list{border:1px solid var(--ant-color-border-secondary, #e5e7eb);border-radius:8px;background:var(--ant-color-fill-alter, #fafafa)}
