:root{--ct-brand: #1d63c9;--ct-brand-ink: #154b9e;--ct-brand-soft: #eaf1fb;--ct-navy: #0e2a47;--ct-navy-2: #102a46;--ct-navy-3: #12314f;--ct-amber: #e07b14;--ct-amber-ink: #b4630c;--ct-safe: #1b9a5c;--ct-safe-ink: #14784a;--ct-danger: #cf3b34;--ct-fill: #b5327f;--ct-violet: #6d48c8;--ct-ink: #17233a;--ct-ink-2: #5a6779;--ct-ink-3: #8e9aab;--ct-line: #e4e9f0;--ct-line-2: #eef2f7;--ct-bg: #f2f5f9;--ct-panel: #ffffff;--ct-head: #f7f9fc;--ct-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--ct-mono: ui-monospace, "SFMono-Regular", "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--ct-header-h: 56px;--ct-sider-w: 216px;--ct-footer-h: 30px;--ct-r-card: 10px;--ct-r-ctrl: 6px;--ct-shadow-card: 0 1px 2px rgba(23, 35, 58, .04)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--ct-font);background:var(--ct-bg);color:var(--ct-ink);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border:2px solid transparent;background-clip:content-box;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#a9b7c9;background-clip:content-box}::selection{background:var(--ct-brand-soft);color:var(--ct-brand-ink)}:focus-visible{outline:2px solid var(--ct-brand);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.ct-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 28px),radial-gradient(120% 90% at 12% 0%,#1a4f96,#1a4f9600 58%),linear-gradient(140deg,#08203a,#0e2a47 42%,#133a68)}.ct-login-card{width:420px;max-width:100%;padding:34px 34px 26px;border-radius:14px;background:var(--ct-panel);box-shadow:0 1px #ffffff0f inset,0 24px 60px #0310206b}.ct-login-brand{display:flex;gap:14px;align-items:flex-start;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--ct-line)}.ct-mark{flex:none;width:42px;height:42px;border-radius:10px;background:linear-gradient(160deg,var(--ct-brand) 0%,var(--ct-brand-ink) 100%);display:flex;align-items:center;justify-content:center;color:#fff}.ct-login-names{min-width:0}.ct-login-company{margin:1px 0 6px;font-size:13px;line-height:1.45;color:var(--ct-ink-2);letter-spacing:.01em}.ct-login-system{margin:0;font-size:21px;line-height:1.3;font-weight:700;color:var(--ct-ink);letter-spacing:.02em}.ct-login-system em{font-style:normal;color:var(--ct-brand)}.ct-login-tagline{margin:8px 0 0;font-size:12px;color:var(--ct-ink-3);letter-spacing:.04em}.ct-login-hint{margin-top:16px;padding:10px 12px;border-radius:var(--ct-r-ctrl);background:var(--ct-head);border:1px solid var(--ct-line-2);color:var(--ct-ink-3);font-size:12px;line-height:1.75}.ct-login-foot{margin-top:14px;text-align:center;font-size:11px;color:var(--ct-ink-3);letter-spacing:.03em}.ct-layout{min-height:100vh}.ct-sider,.ct-sider .ant-layout-sider-children{background:var(--ct-navy)}.ct-logo{height:var(--ct-header-h);display:flex;align-items:center;gap:10px;padding:0 14px;color:#fff;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.07)}.ct-logo .ct-mark{width:26px;height:26px;border-radius:7px;background:linear-gradient(160deg,#2f79dd 0%,var(--ct-brand) 100%)}.ct-logo-text{min-width:0;line-height:1.25}.ct-logo-line1{display:block;font-size:14px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.ct-logo-line2{display:block;font-size:11px;color:#8fa6c2;letter-spacing:.06em;white-space:nowrap;margin-top:1px}.ct-logo-collapsed{justify-content:center;padding:0}.ct-sider .ant-menu{border-inline-end:none!important;padding-top:6px}.ct-sider .ant-menu-item{position:relative}.ct-sider .ant-menu-item:after{content:"";position:absolute;inset-inline-start:0;top:50%;width:3px;height:0;background:var(--ct-brand);transform:translateY(-50%);transition:height .18s ease;border:0!important;opacity:1!important}.ct-sider .ant-menu-item-selected:after{height:20px;transform:none;right:auto;bottom:auto}.ct-sider .ant-menu-inline .ant-menu-item:after{border-inline-end:none}.ct-sider-trigger{background:#0b2138!important;border-top:1px solid rgba(255,255,255,.07);color:#8fa6c2!important}.ct-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;background:var(--ct-panel);border-bottom:1px solid var(--ct-line)}.ct-header-title{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.ct-np-bar{flex:none;width:3px;height:16px;border-radius:2px;background:var(--ct-brand)}.ct-np-text{font-size:15px;font-weight:600;color:var(--ct-ink);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ct-np-rule{flex:1;height:1px;min-width:12px;background:linear-gradient(90deg,var(--ct-line) 0%,rgba(228,233,240,0) 100%)}.ct-header-right{display:flex;align-items:center;gap:14px;flex:none}.ct-user{cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:4px 6px;border-radius:var(--ct-r-ctrl)}.ct-user:hover{background:var(--ct-head)}.ct-user-name{font-size:13px;color:var(--ct-ink)}.ct-avatar{background:var(--ct-brand);font-size:13px}.ct-content{padding:20px}.ct-footer{height:var(--ct-footer-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;background:var(--ct-panel);border-top:1px solid var(--ct-line);font-size:12px;color:var(--ct-ink-3);letter-spacing:.02em}.ct-footer-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ct-footer-meta{flex:none;display:flex;align-items:center;gap:8px}.ct-footer-clock{font-family:var(--ct-mono);font-size:11.5px;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--ct-ink-3)}.ct-stat{border-radius:var(--ct-r-card);border-color:var(--ct-line);box-shadow:var(--ct-shadow-card);transition:border-color .16s ease}.ct-stat:hover{border-color:#cfdae8}.ct-stat-clickable:hover{border-color:var(--ct-brand)}.ct-stat-label{color:var(--ct-ink-2);font-size:12px;letter-spacing:.03em}.ct-stat-icon{display:inline-flex;font-size:16px;line-height:1;opacity:.9}.ct-stat-value{margin-top:6px;font-size:28px;font-weight:600;line-height:1.1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.ct-stat-sub{margin-top:4px;font-size:12px;color:var(--ct-ink-3)}.ct-kv{display:flex;padding:8px 0;border-bottom:1px dashed var(--ct-line-2);font-size:13px}.ct-kv-label{width:110px;flex:none;color:var(--ct-ink-2);letter-spacing:.02em}.ct-kv-value{flex:1;word-break:break-all;color:var(--ct-ink)}.ct-section-title{display:flex;align-items:center;gap:8px;margin:20px 0 10px;font-size:13px;font-weight:600;color:var(--ct-ink);letter-spacing:.03em;line-height:1.2}.ct-section-title:before{content:"";flex:none;width:3px;height:13px;border-radius:2px;background:var(--ct-brand)}.ct-section-title:after{content:"";flex:1;height:1px;background:var(--ct-line-2)}.ct-mono{font-family:var(--ct-mono);font-size:12.5px;letter-spacing:.01em}.ct-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.ct-green{color:var(--ct-safe)}.ct-gray{color:var(--ct-ink-3)}.ct-scan-result{border-radius:var(--ct-r-card)}.ant-card-head{border-bottom:1px solid var(--ct-line-2)}.ant-card-head-title{font-weight:600;letter-spacing:.01em}.ant-table-wrapper .ant-table{border-radius:var(--ct-r-card)}.ant-table-thead>tr>th{font-weight:600;font-size:12px;letter-spacing:.03em;border-bottom:1px solid var(--ct-line)!important}.ant-table-thead>tr>th:before{display:none!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--ct-line-2)}.ant-table-summary>tr>td{border-bottom:1px solid var(--ct-line)}.ant-drawer-title,.ant-modal-title{font-weight:600;letter-spacing:.01em}.ant-statistic-content{font-variant-numeric:tabular-nums}.ant-divider{border-color:var(--ct-line-2)}.ant-tag{border-radius:4px;font-variant-numeric:tabular-nums}
