.zm-app-layout{height:100vh;min-width:1100px}.zm-main{display:flex;flex-direction:column;height:100%;min-width:0}.zm-sider{background:#021B33!important;border-right:1px solid rgba(255,255,255,.08)}.zm-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%;min-height:0}.zm-domain-nav{display:flex;flex-wrap:nowrap;align-items:stretch;flex:0 1 auto;min-width:0;margin-left:18px;background:transparent!important;border-bottom:none!important}.zm-domain-nav>.ant-menu-item{flex:none;height:100%;padding:0 14px!important;font-size:14px;letter-spacing:1px;color:#b8c9db!important;top:0!important;line-height:46px!important;border-bottom:2px solid transparent!important}.zm-domain-nav .ant-menu-item .ant-menu-title-content{display:inline-flex;align-items:center;gap:6px}.zm-domain-nav .ant-menu-item-selected{color:#fff!important;border-bottom:2px solid var(--zm-cyan, #13c2c2)!important}.zm-domain-nav .ant-menu-item:hover{color:#fff!important}.zm-logo-inheader{height:48px;border-bottom:none;padding:0 10px 0 8px;gap:7px;flex:0 0 auto}.zm-logo-inheader .zm-logo-mark{width:24px;height:24px}.zm-logo-inheader .zm-logo-title{font-size:14px}.zm-logo{height:48px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;cursor:pointer;flex:0 0 auto}.zm-logo-mark{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;border-radius:4px;background:#0B71BB;color:#fff}.zm-logo-mark svg{display:block}.zm-logo-text{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap;overflow:hidden}.zm-logo-title{font-size:14px;font-weight:600;letter-spacing:1px;color:#fff}.zm-logo-sub{font-size:10px;color:#9fb3c8;letter-spacing:2px;text-transform:uppercase;font-family:var(--zm-font-mono)}.ant-layout-sider .ant-menu{background:transparent!important;padding:6px 6px 10px!important;border-inline-end:none!important;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}.ant-layout-sider .ant-menu-item,.ant-layout-sider .ant-menu-submenu>.ant-menu-submenu-title{margin:2px!important;width:calc(100% - 4px)!important;border-radius:4px!important}.ant-layout-sider .ant-menu-item .ant-menu-item-icon,.ant-layout-sider .ant-menu-submenu-title .ant-menu-item-icon{font-size:14px}.ant-layout-sider .ant-menu-submenu .ant-menu-item{padding-left:34px!important}.ant-layout-sider .ant-menu-sub .ant-menu-item{padding-left:38px!important}.ant-layout-sider .ant-menu-item-selected:after{display:none}.ant-layout-sider .ant-menu-submenu-arrow{font-size:10px!important}.ant-layout-sider .ant-menu::-webkit-scrollbar{width:4px}.ant-layout-sider .ant-menu::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:4px}.ant-layout-sider .ant-menu-title-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ant-layout-sider .ant-menu-submenu-title,.ant-layout-sider .ant-menu-item{align-items:center!important}.zm-header{background:#021B33!important;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;padding:0 16px!important;height:48px!important;line-height:normal!important;flex:0 0 auto}.zm-header .ant-btn{color:#dce7f2}.zm-header-title{font-size:14px;font-weight:600;letter-spacing:1px;color:#fff;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex-shrink:1}.zm-header-left{display:flex;align-items:center;gap:14px}.zm-header .ant-space{flex-wrap:nowrap;justify-content:flex-end;align-items:center;flex:1;min-width:0;overflow:hidden}.zm-user-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:4px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#dce7f2!important;font-family:var(--zm-font-mono);font-size:12px;max-width:300px;min-width:0;height:26px;line-height:18px;overflow:hidden}.zm-user-chip>.ant-tag{white-space:nowrap;flex-shrink:0}.zm-user-chip-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.zm-version{color:#9fb3c8;font-family:var(--zm-font-mono);font-size:11px;white-space:nowrap}@media (max-width: 1200px){.zm-version{display:none}}.zm-content{margin:12px 16px!important;padding:0!important;min-height:0;flex:1 1 auto;background:transparent!important;border:none;border-radius:0!important;box-shadow:none;overflow-x:auto;overflow-y:auto}.zm-page{display:flex;flex-direction:column;min-height:100%}.zm-page .ant-breadcrumb{margin-bottom:8px;font-size:12px}.zm-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.zm-page-header-main{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}.zm-page-title{margin:0;font-size:16px;font-weight:600;color:var(--zm-text)}.zm-page-subtitle{font-size:12px;color:var(--zm-text-dim)}.zm-page-extra{display:flex;align-items:center;gap:8px;flex-shrink:0}.zm-page-body{flex:1 1 auto;min-height:0}.zm-row-action{padding:2px 6px!important;height:22px!important;font-size:12px!important}.logcenter-pane{padding-top:4px}.login-container,.register-container{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(900px 500px at 20% 0%,rgba(11,113,187,.18),transparent 60%),#021B33}.login-content,.register-content{position:relative;z-index:2;width:100%;max-width:400px}.login-card,.register-card{border-radius:4px!important;padding:32px 28px!important;background:#ffffff!important;border:1px solid #EBEEF5!important;box-shadow:0 8px 32px #021b3347!important}.zm-auth-brand{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:28px;text-align:center}.zm-auth-mark{width:56px;height:56px;display:grid;place-items:center;border-radius:8px;margin-bottom:6px;background:#0B71BB;color:#fff}.zm-auth-name{font-size:24px;font-weight:700;letter-spacing:3px;color:#021b33}.zm-auth-tag{font-family:var(--zm-font-mono);font-size:11px;letter-spacing:3px;color:#8c8c8c;text-transform:uppercase}.login-title,.register-title{display:none}.login-subtitle,.register-subtitle{color:#8c8c8c!important;font-size:13px!important;letter-spacing:1px}.login-button,.register-button,.verify-button{height:40px!important;border-radius:4px!important;font-size:14px!important;font-weight:600!important;margin-top:8px}.login-footer,.register-footer{margin-top:22px;text-align:center;padding-top:16px;border-top:1px solid #EBEEF5}.login-footer a,.register-footer a{color:var(--zm-blue)}.ant-form-item{margin-bottom:18px}@media (max-width: 480px){.login-card,.register-card{padding:24px 18px!important}.zm-auth-name{font-size:20px}}.zm-dashboard-header{margin-bottom:18px}.zm-dashboard-header h2{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--zm-text)}.zm-kpi-card{height:100%}.zm-kpi-card .ant-card-body{padding:20px 22px}.zm-kpi-card .ant-statistic-title{color:var(--zm-text-dim)!important;font-size:13px;margin-bottom:8px}.zm-kpi-card .ant-statistic-content{font-weight:400}.zm-kpi-sub{margin-top:10px;padding-top:10px;border-top:1px solid var(--zm-border);font-size:12px;color:var(--zm-text-dim)}.zm-kpi-sub b{font-weight:700}.zm-panel-card .ant-card-head-title{font-size:15px;font-weight:600}.zm-recent-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto;padding-right:4px}.zm-recent-item{padding:10px 12px;border-radius:4px;background:var(--zm-surface-2);border:1px solid var(--zm-border);transition:border-color .2s ease,background .2s ease}.zm-recent-item:hover{border-color:var(--zm-border-strong);background:var(--zm-surface-hover)}.zm-recent-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.zm-recent-time{font-size:12px;color:var(--zm-text-dim);white-space:nowrap;font-family:var(--zm-font-mono)}.zm-recent-content{font-size:13px;line-height:1.6;color:var(--zm-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.zm-kpi-tile .ant-card-body{padding:12px 14px}.zm-kpi-tile .ant-statistic-title{color:var(--zm-text-dim)!important;font-size:12px;margin-bottom:2px;line-height:1.5}.zm-kpi-tile .ant-statistic-content{font-size:22px;line-height:1.25;font-weight:600}.zm-kpi-tile .zm-kpi-sub{margin-top:4px;padding-top:0;border-top:none;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.investigation-workspace{--iw-border:#dce3eb;--iw-muted:#526275;--iw-accent:#175cd3;max-width:1480px;margin:0 auto;padding:24px;color:#18293d}.investigation-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.investigation-heading h1{font-size:26px;margin:4px 0 8px}.investigation-heading p{margin:0;color:var(--iw-muted)}.investigation-eyebrow{font-size:12px;letter-spacing:.08em;color:var(--iw-muted)}.investigation-search{background:#fff;border:1px solid var(--iw-border);border-radius:8px;padding:24px}.investigation-search>label{display:block;font-weight:600;font-size:16px;margin-bottom:12px}.investigation-search-line{display:flex;gap:12px}.investigation-search-scope{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.investigation-search-scope>span:last-child,.investigation-search small,.investigation-caption{font-size:12px;color:var(--iw-muted)}.investigation-search .ant-collapse-header{padding-left:0!important}.investigation-start{padding:64px 24px;text-align:center;color:var(--iw-muted)}.investigation-start>.anticon{font-size:28px;color:var(--iw-accent)}.investigation-start h2,.investigation-select-hint h2{font-size:18px;color:#18293d}.investigation-columns{display:grid;grid-template-columns:minmax(300px,36%) minmax(0,1fr);margin-top:24px;border:1px solid var(--iw-border);border-radius:8px;background:white;overflow:hidden}.investigation-candidates{border-right:1px solid var(--iw-border);padding:20px;min-width:0}.investigation-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.investigation-section-title h2{font-size:17px;margin:0}.investigation-section-title span,.investigation-section-title small{font-size:12px;color:var(--iw-muted)}.investigation-scope{font-size:12px;line-height:1.7;color:var(--iw-muted);overflow-wrap:anywhere}.investigation-candidate-list{max-height:680px;overflow:auto;margin:16px -8px}.investigation-candidate{display:block;text-align:left;width:100%;padding:16px 12px;background:#fff;border:0;border-bottom:1px solid var(--iw-border);cursor:pointer;color:inherit;font:inherit}.investigation-candidate:hover{background:#f5f8fc}.investigation-candidate.is-selected{background:#eef5ff;box-shadow:inset 3px 0 var(--iw-accent)}.investigation-candidate:focus-visible{outline:2px solid var(--iw-accent);outline-offset:-2px}.investigation-candidate>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.investigation-candidate time,.investigation-candidate footer{font-size:12px;color:var(--iw-muted)}.investigation-candidate footer{margin-top:12px}.investigation-detail{padding:28px;min-width:0}.investigation-select-hint{padding:80px 12px;color:var(--iw-muted);text-align:center}.investigation-verdict{padding:20px 0;border-bottom:1px solid var(--iw-border)}.investigation-verdict p{font-size:16px;line-height:1.8;margin-bottom:0;overflow-wrap:anywhere}.investigation-facts{display:flex;gap:24px;flex-wrap:wrap;margin:20px 0 28px}.investigation-facts dt{font-size:12px;color:var(--iw-muted);margin-bottom:6px}.investigation-facts dd{margin:0;overflow-wrap:anywhere}.investigation-detail h3{font-size:15px;margin-top:24px}.investigation-evidence{background:#f8fafc;border:1px solid var(--iw-border);padding:16px;margin:12px 0 20px;max-height:360px;overflow:auto}.investigation-json{max-height:400px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.investigation-phases{padding-left:20px;line-height:1.7}.investigation-resolution{border-top:1px solid var(--iw-border);margin-top:28px;padding-top:4px}.investigation-resolution p{color:var(--iw-muted);line-height:1.7}.investigation-back{display:none}@media (max-width:900px){.investigation-workspace{padding:16px}.investigation-columns{grid-template-columns:1fr}.investigation-detail{display:block;padding:12px}.investigation-columns.has-selection .investigation-candidates{display:none}.investigation-columns.has-selection .investigation-detail{display:block}.investigation-back{display:inline-flex;margin-bottom:20px}.investigation-heading{align-items:flex-start;flex-direction:column}.investigation-search{padding:16px}.investigation-search-line{flex-wrap:wrap}.investigation-search-line>.ant-input-affix-wrapper{flex:1;min-width:180px}.investigation-candidates{border-right:0}}.investigation-records{margin-top:24px;background:white;border:1px solid #dce3eb;border-radius:8px}.investigation-search-line{flex-wrap:wrap;align-items:center}.investigation-search-line>.ant-input-affix-wrapper{flex:1;min-width:200px}.investigation-search-line>.ant-select{min-width:150px}.investigation-advanced{margin:18px 0;padding:16px;background:#f8fafc;border-radius:6px}.investigation-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-bottom:16px}.investigation-filter-grid label{display:block;margin-bottom:6px}.investigation-filter-grid .ant-select{width:100%}.investigation-filter-grid small{display:block}.investigation-filter-summary{margin:14px 0}.investigation-filter-summary button{border:0;background:transparent;cursor:pointer;color:inherit}.ant-drawer .investigation-detail{--iw-border:#dce3eb;--iw-muted:#526275;--iw-accent:#175cd3;display:block}.investigation-candidate{overflow-wrap:anywhere}.investigation-candidate>div:first-child{flex-wrap:wrap;gap:8px}@media (max-width:600px){.investigation-workspace{padding:8px}.investigation-filter-grid{grid-template-columns:minmax(0,1fr)}.investigation-advanced{padding:10px}.investigation-search-line>.ant-select{flex:1;min-width:120px}.investigation-detail{padding:0}.investigation-facts{gap:12px}.investigation-back{display:none}}.report-stat-bar{display:flex;gap:12px;flex-wrap:wrap}.report-chart-card .ant-card-body{height:300px}.report-tables{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}.report-tables>.ant-card{flex:1 1 420px;min-width:0}.print-only{display:none}@page{margin:12mm}@media print{body *{visibility:hidden}.report-print,.report-print *{visibility:visible}.report-print{position:absolute;left:0;top:0;width:100%}.print-only{display:block;margin-bottom:12px}.print-only h2{margin:0 0 4px;font-size:18px}.print-only .print-meta{color:#555;font-size:12px}.no-print{display:none!important}.report-print .ant-card{box-shadow:none;border:1px solid #999;break-inside:avoid;page-break-inside:avoid;margin-bottom:12px}.report-print .ant-table-cell{border-bottom:1px solid #bbb}}:root{--zm-bg: #F0F2F5;--zm-bg-2: #E8EBF0;--zm-panel: #FFFFFF;--zm-panel-solid: #FFFFFF;--zm-surface: #FAFAFA;--zm-surface-2: #F5F5F5;--zm-surface-hover: #F5F9FD;--zm-table-fixed-bg: #FFFFFF;--zm-table-header-bg: #F5F5F5;--zm-table-hover-bg: #F5F9FD;--zm-border: #D9D9D9;--zm-border-strong: #0B71BB;--zm-text: #333333;--zm-text-dim: #666666;--zm-text-placeholder: #BFBFBF;--zm-glow: none;--zm-shadow: none;--zm-font-mono: "JetBrains Mono", "Fira Code", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--zm-cyan: #0B71BB;--zm-cyan-soft: #2E8FD0;--zm-blue: #0B71BB;--zm-magenta: #C2619A;--zm-violet: #9254DE;--zm-green: #52C41A;--zm-amber: #FA8C16;--zm-red: #F5222D;color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;background-color:var(--zm-bg);color:var(--zm-text);font-family:PingFang SC,Microsoft YaHei,Hiragino Sans GB,Helvetica,Arial,sans-serif;font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code,pre,.zm-mono{font-family:var(--zm-font-mono)}a{color:var(--zm-blue);cursor:pointer}a:hover{color:#2e8fd0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#C4C4C4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#A0A0A0}.ant-table-thead>tr>th{font-weight:600!important}.ant-table-thead>tr>th.ant-table-cell-fix-left,.ant-table-thead>tr>th.ant-table-cell-fix-right{background:var(--zm-table-header-bg)!important}.ant-table-tbody>tr>td.ant-table-cell-fix-left,.ant-table-tbody>tr>td.ant-table-cell-fix-right{background:var(--zm-table-fixed-bg)!important}.ant-table-tbody>tr:hover>td.ant-table-cell-fix-left,.ant-table-tbody>tr:hover>td.ant-table-cell-fix-right,.ant-table-cell-fix-left.ant-table-cell-row-hover,.ant-table-cell-fix-right.ant-table-cell-row-hover{background:var(--zm-table-hover-bg)!important}.ant-modal{top:20px;padding-bottom:20px;max-width:calc(100vw - 32px)}.ant-modal-body{max-height:calc(100vh - 200px);overflow-y:auto;overflow-x:hidden;word-break:break-word}.ant-modal-confirm .ant-modal-body{padding:24px!important}.ant-modal-confirm-btns{margin-top:20px!important}h1,h2,h3,h4{color:var(--zm-text)}.logcenter-pane .ant-table-cell{padding-left:4px!important;padding-right:4px!important}.logcenter-pane .ant-table-thead>tr>th{white-space:nowrap}.logcenter-pane .ant-table-tbody>tr>td{padding-top:3px!important;padding-bottom:3px!important}.logcenter-pane .ant-table-thead>tr>th{padding-top:5px!important;padding-bottom:5px!important}h2{font-size:16px;font-weight:600}@keyframes zm-pulse{0%,to{opacity:1}50%{opacity:.45}}.zm-pulse{animation:zm-pulse 2s ease-in-out infinite}.ant-card-body,.ant-modal-body{overflow-wrap:break-word}.ant-table-wrapper{max-width:100%;overflow-x:auto}.ant-descriptions,.ant-form,.ant-row{max-width:100%}.zm-statusbar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:28px;padding:0 16px;background:#021B33;color:#9fb3c8;font-size:11px;flex-shrink:0;-webkit-user-select:none;user-select:none;border-top:1px solid rgba(255,255,255,.08);white-space:nowrap;overflow:hidden}.zm-statusbar-seg{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.zm-statusbar-sep{color:#9fb3c866}.zm-statusbar-num{color:#dce7f2;font-family:var(--zm-font-mono);font-weight:600}.zm-statusbar-num.is-danger{color:#ff7875}.zm-statusbar-services{gap:14px}.zm-statusbar-svc{display:inline-flex;align-items:center;gap:5px;cursor:default}.zm-statusbar-dot{width:6px;height:6px;border-radius:50%;flex:0 0 auto;background:#9FB3C8}.zm-statusbar-svc.is-ok .zm-statusbar-dot{background:#52C41A}.zm-statusbar-svc.is-down .zm-statusbar-dot{background:#F5222D;animation:zm-pulse 1.2s infinite}.zm-statusbar-svc.is-unknown .zm-statusbar-dot{background:#FA8C16}@media (max-width: 1280px){.zm-statusbar{gap:10px}}
