@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Noto+Sans+SC:wght@400;500;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--font-body: "Plus Jakarta Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display: "Plus Jakarta Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--bg-base: #f5f7fb;--bg-frame: #eef2f7;--bg-panel: #ffffff;--bg-panel-muted: #f8fafc;--bg-panel-hover: #f3f4f6;--bg-spotlight: #111827;--bg-hover: #f8fafc;--text-primary: #111827;--text-secondary: #4b5563;--text-tertiary: #6b7280;--text-quaternary: #9ca3af;--border-primary: #e5e7eb;--border-secondary: #eef2f7;--border-hover: #cbd5e1;--brand-primary: #2563eb;--brand-secondary: #0f172a;--brand-info: #2563eb;--brand-success: #16a34a;--brand-danger: #dc2626;--radius-sm: 8px;--radius-base: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-sm: 0 2px 8px rgba(15, 23, 42, .04);--shadow-md: 0 8px 24px rgba(15, 23, 42, .06);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .08);--shadow-xl: 0 18px 40px rgba(15, 23, 42, .1);--shadow-focus: 0 0 0 3px rgba(37, 99, 235, .12);--transition-fast: .16s cubic-bezier(.2, 0, 0, 1);--transition-base: .24s cubic-bezier(.2, 0, 0, 1);--transition-slow: .32s cubic-bezier(.2, 0, 0, 1)}*{box-sizing:border-box}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--text-primary);background:radial-gradient(circle at top left,rgba(37,99,235,.06),transparent 24%),radial-gradient(circle at 82% 8%,rgba(59,130,246,.05),transparent 18%),linear-gradient(180deg,#f9fbff,#f5f7fb 42%,#f2f5fb);line-height:1.6;overflow-x:hidden;background-attachment:fixed}#root{min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}::selection{background:#2563eb1f;color:#111827}:focus-visible{outline:2px solid rgba(37,99,235,.4);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .36s var(--transition-base)}.glass-surface{background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.accent-text{background:linear-gradient(135deg,#2563eb,#3b82f6);-webkit-background-clip:text;background-clip:text;color:transparent}.ant-app,.ant-layout{background:transparent}.ant-layout{min-height:100vh}.ant-layout-sider{background:transparent!important}.ant-card{border:1px solid rgba(229,231,235,.96);background:var(--bg-panel);box-shadow:0 1px #ffffffe6 inset,0 10px 24px #0f172a0d;overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.ant-card:hover{border-color:#dbe3ef;box-shadow:0 1px #fffffff5 inset,0 14px 28px #0f172a0f}.ant-card .ant-card-head{border-bottom-color:var(--border-secondary);padding-inline:22px}.ant-card .ant-card-head-title{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}.ant-card .ant-card-body{padding:22px}.ant-table-wrapper{border-radius:var(--radius-lg);overflow:hidden}.ant-table-wrapper .ant-table-container{border-radius:inherit}.ant-table{background:transparent!important}.ant-table-thead>tr>th{background:#f8fafc!important;border-bottom-color:var(--border-secondary)!important;vertical-align:middle;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ant-table-tbody>tr>td{border-bottom-color:var(--border-secondary)!important;vertical-align:middle}.ant-table-tbody>tr:hover>td{background:#f8fbff!important}.ant-table-wrapper .ant-table-pagination.ant-pagination{margin:0!important;padding:18px 20px 20px}.ant-input-affix-wrapper,.ant-input,.ant-select-selector,.ant-picker,.ant-input-number,.ant-mentions{border-color:var(--border-primary)!important;background:#ffffffeb!important;box-shadow:inset 0 1px 2px #0f172a05;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-select:not(.ant-select-disabled):hover .ant-select-selector,.ant-picker:hover,.ant-input-number:hover,.ant-mentions:hover{border-color:#c9d7eb!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused,.ant-input-number-focused,.ant-mentions-focused{box-shadow:var(--shadow-focus)!important}.ant-input-number,.ant-picker,.ant-select-selector{min-height:40px}.ant-select-single .ant-select-selector,.ant-picker,.ant-input-number{display:flex;align-items:center}.ant-btn{font-weight:600;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.ant-btn:not(:disabled):hover{transform:translateY(-1px)}.ant-btn:not(.ant-btn-text):not(.ant-btn-link){box-shadow:0 1px #0f172a08}.ant-btn.ant-btn-default{border-color:#dbe3ef;background:#fffffff5}.ant-btn.ant-btn-primary{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:transparent;box-shadow:0 12px 24px #2563eb29}.ant-menu{background:transparent!important}.ant-breadcrumb-link,.ant-breadcrumb-separator{color:var(--text-tertiary)!important}.ant-tag{border:none}.ant-modal .ant-modal-content,.ant-drawer .ant-drawer-content{border:1px solid var(--border-primary);background:#fffffffa;box-shadow:var(--shadow-xl)}.ant-modal .ant-modal-header,.ant-drawer .ant-drawer-header{border-bottom-color:var(--border-secondary);background:transparent}.ant-modal .ant-modal-footer,.ant-drawer .ant-drawer-footer{border-top-color:var(--border-secondary)}.ant-modal .ant-modal-title,.ant-drawer .ant-drawer-title{font-weight:700;letter-spacing:-.02em}.ant-dropdown .ant-dropdown-menu,.ant-select-dropdown,.ant-picker-dropdown,.ant-tooltip .ant-tooltip-inner,.ant-popover .ant-popover-inner,.ant-popconfirm .ant-popover-inner{border:1px solid var(--border-primary);box-shadow:var(--shadow-md)}.ant-segmented{border:1px solid var(--border-secondary);background:#f8fafc}.ant-tabs .ant-tabs-nav{margin:0 0 20px!important}.ant-tabs .ant-tabs-nav:before{border-bottom:none!important}.ant-tabs .ant-tabs-nav-list{gap:4px;padding:6px;border:1px solid var(--border-primary);border-radius:14px;background:#ffffffb8;box-shadow:inset 0 1px #ffffffd9,0 6px 16px #0f172a0a}.ant-tabs .ant-tabs-tab{margin:0!important;padding:10px 14px!important;border-radius:10px;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.ant-tabs .ant-tabs-tab.ant-tabs-tab-active{background:#fff;box-shadow:0 8px 18px #0f172a0f}.ant-tabs .ant-tabs-tab-btn{font-weight:600}.ant-tabs .ant-tabs-ink-bar{display:none!important}.ant-progress-bg,.ant-progress-success-bg{border-radius:999px}.ant-statistic .ant-statistic-content{font-family:var(--font-display);letter-spacing:-.04em}.ant-descriptions.ant-descriptions-bordered .ant-descriptions-item-label,.ant-descriptions.ant-descriptions-bordered .ant-descriptions-item-content{border-color:var(--border-secondary)}.ant-empty-description{color:var(--text-tertiary)}.ant-empty{padding-block:8px}.ant-form-item-explain{font-size:12px}.ant-form-vertical .ant-form-item{margin-bottom:20px}.ant-form-item-label>label{font-weight:600}.ant-alert{border-radius:14px;border:1px solid var(--border-primary)}.ant-pagination .ant-pagination-item,.ant-pagination .ant-pagination-prev,.ant-pagination .ant-pagination-next,.ant-pagination .ant-pagination-jump-prev,.ant-pagination .ant-pagination-jump-next{border-radius:10px}.ant-pagination .ant-pagination-item-active{border-color:transparent;box-shadow:0 10px 18px #2563eb24}.ant-descriptions.ant-descriptions-bordered{overflow:hidden;border-radius:var(--radius-lg)}@media (max-width: 960px){.ant-layout-header{padding-inline:16px!important}.ant-card .ant-card-body{padding:18px}.ant-tabs .ant-tabs-nav-list{width:100%;overflow:auto}}
