:root {
  --ink: #132238;
  --ink-2: #24364f;
  --muted: #6d7a8c;
  --line: #dce3ea;
  --line-soft: #e9eef3;
  --canvas: #f3f5f7;
  --card: #ffffff;
  --nav: #10243b;
  --nav-2: #18324f;
  --blue: #2367a6;
  --blue-soft: #eaf3fb;
  --cyan: #1d93a8;
  --orange: #d56335;
  --orange-soft: #fff0e9;
  --amber: #c48827;
  --green: #2f8b66;
  --green-soft: #e7f5ef;
  --red: #bf483e;
  --red-soft: #fdeceb;
  --shadow: 0 10px 35px rgba(20, 38, 60, .08);
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body { margin: 0; font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif; color: var(--ink); background: var(--canvas); font-size: 14px; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(35,103,166,.22); outline-offset: 2px; }
.svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 244px minmax(0,1fr); }
.sidebar { background: linear-gradient(180deg, #10243b 0%, #0e2136 100%); color: #dbe6f0; display: flex; flex-direction: column; min-height: 100vh; position: sticky; top: 0; align-self: start; height: 100vh; z-index: 30; }
.brand { height: 72px; display: flex; align-items: center; gap: 12px; padding: 0 22px; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-mark { width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.24); border-radius: 8px; display: grid; grid-template-columns: repeat(3,1fr); align-items: end; padding: 7px; gap: 3px; }
.brand-mark span { display: block; background: #59bdd0; border-radius: 1px 1px 0 0; }
.brand-mark span:nth-child(1) { height: 9px; }.brand-mark span:nth-child(2) { height: 17px; }.brand-mark span:nth-child(3) { height: 13px; background: #e07b50; }
.brand strong { display: block; color: #fff; font-size: 16px; letter-spacing: .05em; }
.brand small { display: block; font-size: 8px; letter-spacing: .15em; opacity: .52; margin-top: 2px; }
.side-case { margin: 16px 16px 12px; padding: 13px 14px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; position: relative; overflow: hidden; }
.side-case::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: #df7144; }
.eyebrow { color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.side-case .eyebrow { color: #78bfd1; display:block; margin-bottom: 7px; }
.side-case strong { display:block; color:#fff; font-size:12px; line-height:1.55; }
.side-case > span:last-child { display:block; font: 10px/1.4 ui-monospace, Consolas, monospace; color:#93a9bd; margin-top:5px; }
.nav-list { flex: 1; overflow-y: auto; padding: 2px 10px 16px; scrollbar-width: thin; }
.nav-group { padding: 15px 12px 7px; color: #607c96; font-size: 10px; letter-spacing: .12em; }
.nav-item { width: 100%; border: 0; background: transparent; color: #9fb2c5; display: flex; align-items: center; gap: 11px; padding: 10px 12px; border-radius: 6px; cursor: pointer; text-align: left; margin: 2px 0; transition: .18s ease; }
.nav-item svg { width: 17px; height: 17px; }
.nav-item span { flex: 1; }
.nav-item b { min-width: 19px; height: 18px; padding: 0 5px; border-radius: 9px; display: grid; place-items: center; font-size: 10px; font-weight: 600; background: rgba(255,255,255,.12); }
.nav-item b.risk { background: rgba(220,103,61,.2); color: #f2a07d; }.nav-item b.blue { background: rgba(64,139,202,.22); color:#7fc0ef; }
.nav-item:hover { color:#fff; background:rgba(255,255,255,.05); transform: translateX(1px); }
.nav-item.active { background: linear-gradient(90deg, rgba(42,112,166,.34), rgba(42,112,166,.16)); color: #fff; box-shadow: inset 3px 0 #4eabc1; }
.side-footer { margin: auto 0 0; min-height: 66px; padding: 14px 20px; border-top: 1px solid rgba(255,255,255,.07); display:flex; gap:10px; align-items:center; }
.system-dot { width:9px; height:9px; background:#50b88b; border-radius:50%; box-shadow:0 0 0 4px rgba(80,184,139,.12); }
.side-footer strong,.side-footer small{display:block}.side-footer strong{font-size:11px;color:#d6e2ec}.side-footer small{font-size:9px;color:#6f8aa1;margin-top:3px}

.workspace { min-width: 0; }
.topbar { height: 64px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 28px; position:sticky; top:0; z-index:20; backdrop-filter: blur(12px); }
.top-left{display:flex;align-items:center;gap:10px}.topbar .menu-toggle{display:none}
.breadcrumb { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; }.breadcrumb svg{width:13px;height:13px}.breadcrumb strong{color:var(--ink);font-weight:600}
.top-actions { display:flex; align-items:center; gap:12px; }
.global-search { height:36px; width:282px; border:1px solid var(--line); background:#f8fafb; border-radius:6px; display:flex; align-items:center; padding:0 10px; color:#8b98a8; }
.global-search svg{width:15px;height:15px}.global-search input{border:0;background:transparent;outline:none;flex:1;min-width:0;padding:0 8px;color:var(--ink);font-size:12px}.global-search kbd{font-size:9px;border:1px solid var(--line);border-radius:3px;padding:2px 5px;background:#fff;color:#8793a1}
.icon-btn { width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:6px;display:grid;place-items:center;cursor:pointer;position:relative; }
.icon-btn:hover{background:#f4f7f9}.notification i{position:absolute;width:6px;height:6px;background:var(--orange);border-radius:50%;right:7px;top:6px;box-shadow:0 0 0 2px #fff}.user-chip{display:flex;align-items:center;gap:9px;padding-left:4px}.user-chip>span{width:32px;height:32px;border-radius:7px;display:grid;place-items:center;background:var(--nav);color:#fff;font-size:12px}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:11px}.user-chip small{font-size:9px;color:var(--muted);margin-top:2px}

main { padding: 24px 28px 40px; min-height: calc(100vh - 64px); }
.page-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:20px; }
.page-head h1 { margin: 3px 0 5px; font-size: 22px; letter-spacing:-.02em; }.page-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.head-actions{display:flex;gap:9px;align-items:center}
.btn { height:36px; border-radius:5px; padding:0 14px; border:1px solid transparent; display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-weight:600;font-size:12px;white-space:nowrap; }
.btn svg{width:14px;height:14px}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.primary:hover{background:#1c588f}.btn.secondary{background:#fff;border-color:var(--line);color:var(--ink-2)}.btn.secondary:hover{background:#f7f9fa}.btn.ghost{background:transparent;color:var(--blue)}.btn.danger{background:var(--orange-soft);color:var(--orange);border-color:#f1c7b5}.btn.small{height:30px;padding:0 10px;font-size:11px}
.date-chip,.context-chip { border:1px solid var(--line);background:#fff;border-radius:5px;height:36px;padding:0 12px;display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.context-chip strong{color:var(--ink)}

.stat-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px; }
.stat-card { background:var(--card);border:1px solid var(--line);border-radius:7px;padding:16px 17px;position:relative;overflow:hidden;min-height:116px; }
.stat-card::after{content:"";position:absolute;right:-26px;top:-38px;width:96px;height:96px;border:18px solid var(--blue-soft);border-radius:50%;opacity:.6}.stat-card.risk::after{border-color:var(--orange-soft)}.stat-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.stat-icon{width:28px;height:28px;border-radius:5px;background:var(--blue-soft);display:grid;place-items:center;color:var(--blue);position:relative;z-index:1}.stat-card.risk .stat-icon{background:var(--orange-soft);color:var(--orange)}.stat-value{font-size:27px;font-weight:700;margin:10px 0 5px;letter-spacing:-.04em}.stat-value small{font-size:12px;font-weight:500;color:var(--muted);margin-left:4px}.trend{font-size:10px;color:var(--green)}.trend.warn{color:var(--orange)}
.grid-2 { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.85fr);gap:16px;margin-bottom:16px; }.grid-even{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.panel { background:#fff;border:1px solid var(--line);border-radius:7px;min-width:0; }.panel-head{min-height:54px;padding:13px 16px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2{font-size:14px;margin:0}.panel-head p{font-size:10px;color:var(--muted);margin:3px 0 0}.panel-body{padding:16px}.panel-link{border:0;background:none;color:var(--blue);font-size:11px;cursor:pointer}.legend{display:flex;gap:13px;color:var(--muted);font-size:10px}.legend span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--blue);margin-right:5px}.legend span:nth-child(2)::before{background:var(--orange)}
.chart-wrap{height:228px;position:relative;display:flex;align-items:end;gap:14px;padding:22px 8px 22px 38px;border-bottom:1px solid var(--line-soft);background:linear-gradient(#fff 24%,#edf1f5 25%,#fff 26%,#fff 49%,#edf1f5 50%,#fff 51%,#fff 74%,#edf1f5 75%,#fff 76%)}
.chart-wrap::before{content:"120\A 80\A 40\A 0";white-space:pre;position:absolute;left:4px;top:8px;height:175px;display:flex;line-height:54px;color:#94a0ae;font:9px/54px ui-monospace,monospace}.bar-group{flex:1;height:100%;display:flex;align-items:end;justify-content:center;gap:4px;position:relative}.bar-group i{display:block;width:12px;background:linear-gradient(#4787bd,#2a69a2);border-radius:3px 3px 0 0;min-height:8px}.bar-group i.risk{background:linear-gradient(#e5855f,#cf5b31)}.bar-group span{position:absolute;bottom:-18px;font-size:9px;color:var(--muted);white-space:nowrap}
.alert-list{display:flex;flex-direction:column}.alert-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line-soft);cursor:pointer}.alert-row:last-child{border:0}.alert-row:hover .alert-title{color:var(--blue)}.risk-score{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--orange-soft);color:var(--orange);font-size:11px;font-weight:700}.risk-score.mid{background:#fff7e5;color:#b67b1e}.alert-title{font-size:11px;font-weight:600;line-height:1.5}.alert-meta{font-size:9px;color:var(--muted);margin-top:3px}.time{font:9px ui-monospace,monospace;color:#8b97a6;margin-top:3px}
.pipeline{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));align-items:center;gap:0;padding:18px 10px;overflow-x:auto}.pipe-step{text-align:center;position:relative}.pipe-step:not(:last-child)::after{content:"";position:absolute;top:16px;left:62%;width:76%;height:1px;background:#cfd8e1}.pipe-dot{position:relative;z-index:1;width:34px;height:34px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);border:4px solid #fff;box-shadow:0 0 0 1px #cce6d9}.pipe-step.active .pipe-dot{background:var(--blue-soft);color:var(--blue);box-shadow:0 0 0 1px #c5dced}.pipe-step.warn .pipe-dot{background:var(--orange-soft);color:var(--orange);box-shadow:0 0 0 1px #f3c8b7}.pipe-step strong{display:block;font-size:10px}.pipe-step small{display:block;color:var(--muted);font-size:8px;margin-top:3px}

.toolbar { background:#fff;border:1px solid var(--line);border-radius:7px;padding:10px 12px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.toolbar-group{display:flex;align-items:center;gap:8px;min-width:0}.field{height:34px;border:1px solid var(--line);background:#fff;border-radius:5px;padding:0 10px;color:var(--ink);font-size:11px;min-width:130px}.field.search{width:260px;padding-left:32px}.search-field{position:relative}.search-field svg{position:absolute;left:10px;top:9px;width:14px;height:14px;color:var(--muted)}
.tabs{display:flex;gap:4px}.tab{border:0;background:transparent;padding:8px 11px;font-size:11px;color:var(--muted);cursor:pointer;border-radius:4px}.tab.active{background:var(--blue-soft);color:var(--blue);font-weight:600}.count{font:10px ui-monospace,monospace;background:#edf1f5;color:#647284;padding:2px 6px;border-radius:9px;margin-left:3px}
.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th{text-align:left;padding:11px 12px;background:#f7f9fb;color:#687688;font-size:10px;font-weight:600;border-bottom:1px solid var(--line)}.data-table td{padding:12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fafcfd}.mono{font-family:ui-monospace,Consolas,monospace;font-size:10px}.strong{font-weight:600}.subline{display:block;color:var(--muted);font-size:9px;margin-top:4px}.status{display:inline-flex;align-items:center;gap:5px;border-radius:11px;padding:3px 8px;font-size:9px;font-weight:600;background:var(--green-soft);color:var(--green)}.status::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status.running{background:var(--blue-soft);color:var(--blue)}.status.warn{background:#fff5df;color:#b1781d}.status.risk{background:var(--red-soft);color:var(--red)}.status.neutral{background:#eef1f4;color:#6f7b89}.score-bar{display:flex;align-items:center;gap:7px}.score-bar i{width:54px;height:4px;background:#e6ebef;border-radius:2px;overflow:hidden}.score-bar i::before{content:"";display:block;height:100%;width:var(--score);background:var(--green);border-radius:2px}.row-action{border:0;background:transparent;color:var(--blue);cursor:pointer;padding:4px}.row-action:hover{text-decoration:underline}
.source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.source-card{border:1px solid var(--line);border-radius:6px;padding:14px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;cursor:pointer}.source-card:hover{border-color:#9ebcd5;box-shadow:0 5px 18px rgba(28,76,113,.07)}.source-icon{width:38px;height:38px;border-radius:6px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:700}.source-card strong{display:block;font-size:11px}.source-card small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.quality{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted)}.mini-progress{width:94px;height:4px;background:#e8edf1;border-radius:4px}.mini-progress i{display:block;height:100%;width:var(--progress);background:var(--green);border-radius:4px}

.progress-cell{min-width:130px}.progress-line{height:5px;background:#e7ecf0;border-radius:4px;margin-top:5px;overflow:hidden}.progress-line i{display:block;height:100%;width:var(--progress);background:var(--blue);border-radius:4px}.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}
.task-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-bottom:14px}.task-summary>div{background:#fff;padding:13px 15px}.task-summary small{display:block;color:var(--muted);font-size:9px}.task-summary strong{display:block;font-size:17px;margin-top:6px}

.analysis-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}.case-list{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.case-filter{padding:11px;border-bottom:1px solid var(--line);display:flex;gap:6px}.case-item{padding:13px;border-bottom:1px solid var(--line-soft);cursor:pointer;border-left:3px solid transparent}.case-item:hover{background:#fafcfd}.case-item.active{background:#f0f6fb;border-left-color:var(--blue)}.case-item .top{display:flex;justify-content:space-between;gap:8px}.case-item strong{font-size:11px}.case-item p{font-size:10px;line-height:1.55;margin:7px 0;color:#4d5e70}.case-item .meta{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.risk-number{font:700 16px ui-monospace,monospace;color:var(--orange)}
.analysis-detail{min-width:0}.subject-banner{background:linear-gradient(100deg,#132c49,#1e4668);color:#fff;border-radius:7px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;overflow:hidden;position:relative}.subject-banner::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;border:28px solid rgba(255,255,255,.04);right:-50px;top:-70px}.subject-main{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.subject-avatar{width:44px;height:44px;border-radius:8px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:16px;font-weight:700}.subject-main h2{font-size:16px;margin:0}.subject-main p{margin:5px 0 0;color:#9fb6c9;font-size:10px}.subject-score{text-align:right;position:relative;z-index:1}.subject-score strong{font:700 30px ui-monospace,monospace;color:#f39a72}.subject-score small{display:block;color:#abc0d1;font-size:9px}.indicator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.indicator{border:1px solid var(--line);border-radius:6px;padding:12px}.indicator-head{display:flex;justify-content:space-between;gap:6px;font-size:10px}.indicator-head strong{font-size:11px}.indicator .meter{height:5px;background:#edf0f3;border-radius:5px;margin:10px 0 7px}.indicator .meter i{display:block;height:100%;width:var(--value);background:var(--orange);border-radius:5px}.indicator p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.timeline{position:relative;padding-left:18px}.timeline::before{content:"";position:absolute;left:4px;top:6px;bottom:5px;width:1px;background:#d7dfe6}.timeline-row{position:relative;padding:0 0 14px 14px}.timeline-row::before{content:"";position:absolute;left:-18px;top:4px;width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #edf4fa}.timeline-row.risk::before{background:var(--orange);box-shadow:0 0 0 4px var(--orange-soft)}.timeline-row time{font:9px ui-monospace,monospace;color:var(--muted)}.timeline-row strong{display:block;font-size:10px;margin:3px 0}.timeline-row p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}

.graph-workbench{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;min-height:calc(100vh - 168px)}
.graph-stage{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.graph-commandbar{padding:12px 14px;border-bottom:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:10px}
.graph-primary-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.graph-search{height:36px;min-width:280px;max-width:390px;flex:1;border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;background:#f8fafb;color:var(--muted)}
.graph-search svg{width:15px;height:15px;margin-left:10px}
.graph-search input{min-width:0;flex:1;border:0;background:transparent;outline:0;padding:0 8px;font-size:13px;color:var(--ink)}
.graph-search button{height:28px;margin-right:4px;padding:0 10px;border:0;border-radius:4px;background:var(--blue);color:#fff;font-size:12px;cursor:pointer}
.graph-switch{height:34px;padding:0 10px;border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.graph-switch input{position:absolute;opacity:0;pointer-events:none}
.graph-switch span{width:28px;height:16px;border-radius:9px;background:#cbd4dc;position:relative;transition:.18s}
.graph-switch span::after{content:"";position:absolute;width:12px;height:12px;top:2px;left:2px;background:#fff;border-radius:50%;transition:.18s;box-shadow:0 1px 3px rgba(20,40,60,.22)}
.graph-switch input:checked+span{background:var(--orange)}
.graph-switch input:checked+span::after{left:14px}
.graph-type-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.graph-filter{height:28px;padding:0 9px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted);display:flex;align-items:center;gap:6px;font-size:11px;cursor:pointer}
.graph-filter i{width:7px;height:7px;border-radius:50%;background:var(--type)}
.graph-filter.active{border-color:#9bbbd3;background:var(--blue-soft);color:var(--blue);font-weight:600}
.graph-filter:not(.active){opacity:.5}
.graph-view{position:relative;flex:1;min-height:610px;overflow:hidden;background-color:#f8fafb;background-image:radial-gradient(#d3dbe3 1px,transparent 1px);background-size:20px 20px}
#cyGraph{position:absolute;inset:0;z-index:1}
.graph-floating-tools{position:absolute;left:14px;top:14px;z-index:5;display:flex;flex-direction:column;gap:5px}
.graph-floating-tools .icon-btn{background:rgba(255,255,255,.96);box-shadow:0 4px 14px rgba(24,48,70,.08);font-size:16px;font-weight:600}
.graph-layout-picker{position:absolute;right:14px;top:14px;z-index:5;height:34px;display:flex;align-items:center;border:1px solid var(--line);border-radius:5px;background:rgba(255,255,255,.96);box-shadow:0 4px 14px rgba(24,48,70,.08);overflow:hidden}
.graph-layout-picker span{padding:0 8px;color:var(--muted);font-size:11px;border-right:1px solid var(--line)}
.graph-layout-picker select{height:100%;border:0;outline:0;background:transparent;padding:0 9px;color:var(--ink);font-size:12px}
.graph-summary{position:absolute;left:14px;bottom:14px;z-index:5;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:rgba(255,255,255,.95);box-shadow:0 4px 14px rgba(24,48,70,.08);font-size:11px;color:var(--muted)}
.graph-summary strong{color:var(--ink);font-size:13px}.graph-summary i{display:inline-block;width:1px;height:10px;background:var(--line);margin:0 7px;vertical-align:-1px}
.graph-legend{position:absolute;right:14px;bottom:14px;z-index:5;display:flex;gap:11px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:rgba(255,255,255,.95);box-shadow:0 4px 14px rgba(24,48,70,.08);font-size:10px;color:var(--muted)}
.graph-legend span{display:flex;align-items:center;gap:5px}.legend-line{width:20px;height:2px;background:#9aabb9}.legend-line.device{background:repeating-linear-gradient(90deg,#3c9aaa 0 5px,transparent 5px 8px)}.legend-line.fund{height:3px;background:#d6683c}
.entity-panel{display:flex;flex-direction:column;overflow:hidden;min-height:680px}
.entity-hero{padding:17px;background:linear-gradient(135deg,#f8fafc,#eef3f7);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:11px}
.entity-hero .avatar{width:46px;height:46px;border-radius:9px;background:var(--nav);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.entity-hero .avatar[data-type="account"]{background:#218795}.entity-hero .avatar[data-type="device"],.entity-hero .avatar[data-type="ip"]{background:#5c7187}.entity-hero .avatar[data-type="domain"]{background:#7365a5}.entity-hero .avatar[data-type="wallet"]{background:#d46b3e}.entity-hero .avatar[data-type="relation"]{background:#4f84ad}
.entity-hero h3{margin:0;font-size:16px}.entity-hero p{margin:4px 0 0;color:var(--muted);font-size:10px}.entity-hero .status{margin-left:auto;align-self:flex-start}
.inspector-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.inspector-tabs button{height:42px;border:0;border-bottom:2px solid transparent;background:#fff;color:var(--muted);font-size:11px;cursor:pointer}.inspector-tabs button.active{border-bottom-color:var(--blue);color:var(--blue);font-weight:600}.inspector-tabs b{font-size:9px;background:#edf1f5;border-radius:8px;padding:1px 5px}
.inspector-pane{display:none;flex:1;overflow:auto}.inspector-pane.active{display:block}
.kv-list{padding:8px 16px}.kv{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:11px}.kv span{color:var(--muted)}.kv strong{text-align:right;max-width:190px}
.relation-list{padding:9px 14px 16px}.relation{border-left:2px solid var(--blue);padding:7px 0 7px 10px;margin:8px 0}.relation strong{font-size:11px}.relation p{font-size:10px;color:var(--muted);margin:4px 0 0;line-height:1.5}
.graph-relation-row{width:100%;text-align:left;border-top:0;border-right:0;border-bottom:0;background:#fff;cursor:pointer}.graph-relation-row:hover{background:#f7fafc}.graph-relation-row>span{display:block;color:var(--blue);font-size:9px;margin-bottom:3px}
.graph-evidence-card{border:1px solid var(--line);border-radius:6px;padding:11px;margin-bottom:9px;background:#fafcfd}.graph-evidence-card span{color:var(--blue);font-size:10px;font-weight:600}.graph-evidence-card p{margin:6px 0 0;font-size:11px;line-height:1.6;color:#536477}
.graph-timeline{padding:16px}.graph-time-row{display:grid;grid-template-columns:50px 1fr;gap:10px;padding:0 0 15px 13px;border-left:1px solid #cad7e1;position:relative}.graph-time-row::before{content:"";position:absolute;left:-4px;top:3px;width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.graph-time-row time{font:11px ui-monospace,monospace;color:var(--blue)}.graph-time-row span{font-size:11px;line-height:1.5;color:var(--ink-2)}
.inspector-footer{padding:12px 14px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#fff}
.graph-stage.graph-fullscreen{position:fixed;inset:0;z-index:250;border-radius:0}.graph-fullscreen .graph-view{min-height:0}

.clue-board{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px}.path-card{background:#132c49;color:#fff;border-radius:7px;padding:18px;position:relative;overflow:hidden}.path-card h2{font-size:14px;margin:0 0 16px}.behavior-path{display:flex;align-items:center;justify-content:space-between;gap:5px}.path-step{flex:1;text-align:center;position:relative}.path-step:not(:last-child)::after{content:"";position:absolute;right:-24%;top:18px;width:48%;height:1px;background:#56718a}.path-step i{width:36px;height:36px;border-radius:50%;background:#234866;display:grid;place-items:center;margin:0 auto 8px;font-style:normal;font-size:11px;color:#8fd0dd;border:1px solid #47708e}.path-step.risk i{background:#70402e;color:#ffc2a7;border-color:#ad674c}.path-step strong{display:block;font-size:9px}.path-step small{display:block;font-size:8px;color:#8ca5b9;margin-top:3px}.evidence-card{border:1px solid var(--line);border-radius:6px;padding:12px;margin-bottom:9px;display:flex;gap:10px}.evidence-no{width:24px;height:24px;border-radius:4px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font:700 9px ui-monospace,monospace;flex:none}.evidence-card strong{font-size:10px}.evidence-card p{font-size:9px;color:var(--muted);line-height:1.55;margin:4px 0 0}.decision-box{background:#f7f9fb;border:1px solid var(--line);border-radius:7px;padding:15px}.decision-box textarea{width:100%;height:92px;resize:none;border:1px solid var(--line);border-radius:5px;padding:10px;line-height:1.6;font-size:10px;color:var(--ink);background:#fff}.decision-actions{display:flex;gap:8px;margin-top:10px}.risk-ring{width:116px;height:116px;border-radius:50%;background:conic-gradient(var(--orange) 0 92%,#e8edf1 92%);display:grid;place-items:center;margin:12px auto;position:relative}.risk-ring::before{content:"";position:absolute;width:84px;height:84px;background:#fff;border-radius:50%}.risk-ring div{position:relative;text-align:center}.risk-ring strong{display:block;font:700 25px ui-monospace,monospace;color:var(--orange)}.risk-ring small{font-size:9px;color:var(--muted)}

.knowledge-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.knowledge-stat{border:1px solid var(--line);border-radius:6px;background:#fff;padding:14px;display:flex;align-items:center;gap:11px}.knowledge-stat i{width:36px;height:36px;background:var(--blue-soft);color:var(--blue);border-radius:6px;display:grid;place-items:center;font-style:normal;font-weight:700}.knowledge-stat strong{display:block;font-size:18px}.knowledge-stat small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:13px;padding:5px 9px;background:#fff;font-size:9px;color:#536274}.tag b{margin-left:5px;color:var(--blue);font-weight:600}.doc-title{display:flex;align-items:center;gap:8px}.doc-type{width:28px;height:32px;border-radius:3px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font:700 8px ui-monospace,monospace}.doc-title strong{font-size:10px}.doc-title small{display:block;font-size:8px;color:var(--muted);margin-top:3px}

.rag-shell{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}.query-panel{position:sticky;top:88px}.query-box{padding:15px}.query-box label{display:block;font-size:10px;font-weight:600;margin-bottom:7px}.query-box textarea{width:100%;height:110px;border:1px solid var(--line);border-radius:5px;padding:10px;resize:none;line-height:1.6;font-size:11px}.select-stack{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.check-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}.check-chip{border:1px solid var(--line);border-radius:13px;padding:5px 8px;font-size:9px;cursor:pointer;background:#fff}.check-chip.active{border-color:#8fb5d3;background:var(--blue-soft);color:var(--blue)}.perf-note{margin-top:12px;padding:10px;background:var(--green-soft);border-radius:5px;color:#35765b;font-size:9px;line-height:1.5}.rag-results{display:flex;flex-direction:column;gap:10px}.result-summary{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:7px;padding:12px 14px;font-size:10px}.result-summary strong{font-size:13px}.metric-chips{display:flex;gap:7px}.metric-chip{border-radius:12px;padding:5px 8px;background:#f0f4f7;color:var(--muted);font-size:9px}.metric-chip.good{background:var(--green-soft);color:var(--green)}.rag-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:15px;display:grid;grid-template-columns:42px minmax(0,1fr) 88px;gap:12px;align-items:start}.rank{width:38px;height:38px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;font:700 14px ui-monospace,monospace;color:var(--blue)}.rag-card h3{font-size:12px;margin:0}.rag-card p{font-size:10px;color:#59697a;line-height:1.65;margin:7px 0}.result-meta{display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:8px}.similarity{text-align:right}.similarity strong{display:block;font:700 18px ui-monospace,monospace;color:var(--green)}.similarity small{font-size:8px;color:var(--muted)}.similarity .btn{margin-top:10px}

.empty-state{text-align:center;padding:50px 20px;color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;background:rgba(10,24,39,.52);z-index:90;display:grid;place-items:center;padding:20px;backdrop-filter:blur(3px)}.modal-backdrop[hidden]{display:none}.modal{width:min(680px,96vw);background:#fff;border-radius:9px;box-shadow:0 28px 80px rgba(8,24,40,.26);overflow:hidden}.modal>header{display:flex;justify-content:space-between;padding:20px 22px 14px;border-bottom:1px solid var(--line)}.modal h2{font-size:18px;margin:4px 0 0}.stepper{display:flex;align-items:center;padding:20px 70px 5px}.stepper span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#edf1f4;color:#728091;font:700 10px ui-monospace,monospace}.stepper span.active{background:var(--blue);color:#fff}.stepper i{flex:1;height:1px;background:var(--line)}.step-labels{display:flex;justify-content:space-between;padding:0 54px 14px;font-size:9px;color:var(--muted)}#modalBody{padding:16px 22px 20px;min-height:230px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-item label{display:block;font-size:10px;font-weight:600;margin-bottom:6px}.form-item .field{width:100%}.form-item.full{grid-column:1/-1}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.choice-card{border:1px solid var(--line);border-radius:6px;padding:12px;cursor:pointer}.choice-card.active{border-color:#80aaca;background:#f2f7fb}.choice-card strong{display:block;font-size:11px}.choice-card small{display:block;color:var(--muted);font-size:9px;margin-top:4px;line-height:1.45}.modal>footer{padding:13px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between}.modal>footer>div{display:flex;gap:8px}
.drawer{position:fixed;right:0;top:0;bottom:0;width:min(440px,92vw);background:#fff;z-index:102;box-shadow:-14px 0 50px rgba(12,31,50,.16);transform:translateX(102%);transition:.25s ease;overflow:auto}.drawer.open{transform:translateX(0)}.drawer>header{height:72px;padding:13px 16px 13px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;z-index:2}.drawer h2{font-size:15px;margin:4px 0 0}.drawer-mask{position:fixed;inset:0;background:rgba(11,25,40,.25);z-index:101}.drawer-mask[hidden]{display:none}#drawerContent{padding:18px}.drawer-section{margin-bottom:20px}.drawer-section h3{font-size:11px;margin:0 0 9px}.drawer-callout{padding:12px;border-left:3px solid var(--orange);background:var(--orange-soft);font-size:10px;line-height:1.6;color:#7b4733;border-radius:0 5px 5px 0}
.toast{position:fixed;right:22px;bottom:22px;z-index:120;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow);padding:12px 16px;display:flex;gap:10px;align-items:center;min-width:280px;transform:translateY(25px);opacity:0;pointer-events:none;transition:.25s ease}.toast.show{transform:translateY(0);opacity:1}.toast>span{width:28px;height:28px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center}.toast strong,.toast small{display:block}.toast strong{font-size:11px}.toast small{font-size:9px;color:var(--muted);margin-top:3px}

@media (max-width: 1180px) {
  .app-shell{grid-template-columns:208px minmax(0,1fr)}.sidebar{width:208px}.brand{padding:0 16px}.side-case{margin-left:10px;margin-right:10px}.stat-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.clue-board{grid-template-columns:1fr}.source-grid{grid-template-columns:repeat(2,1fr)}.rag-shell{grid-template-columns:280px 1fr}.global-search{width:220px}.graph-workbench{grid-template-columns:minmax(0,1fr) 300px}
}
@media (max-width: 860px) {
  .app-shell{display:block}.sidebar{position:fixed;left:-244px;width:244px;transition:.2s;display:flex;z-index:80}.sidebar.mobile-open{left:0;box-shadow:18px 0 45px rgba(10,25,40,.22)}.topbar .menu-toggle{display:grid}.topbar{padding:0 16px}.breadcrumb span,.global-search,.user-chip div{display:none}main{padding:18px 14px 30px}.stat-grid,.grid-even,.knowledge-stats,.task-summary{grid-template-columns:repeat(2,1fr)}.analysis-layout,.rag-shell,.graph-workbench{grid-template-columns:1fr}.query-panel{position:static}.graph-view{min-height:560px}.entity-panel{min-height:520px;max-height:none}.page-head{align-items:flex-start;flex-direction:column}.head-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.source-grid,.indicator-grid{grid-template-columns:1fr}.data-table{min-width:760px}.panel.table-panel{overflow:auto}.toolbar{align-items:flex-start;flex-direction:column}.toolbar-group{flex-wrap:wrap}.path-card{overflow:auto}.behavior-path{min-width:600px}
}
@media (max-width: 560px) {
  .stat-grid,.grid-even,.knowledge-stats,.task-summary,.form-grid{grid-template-columns:1fr}.head-actions{flex-wrap:wrap;justify-content:flex-start}.top-actions{gap:6px}.page-head{flex-direction:column}.metric-chips{display:none}.rag-card{grid-template-columns:34px 1fr}.similarity{grid-column:2}.choice-grid{grid-template-columns:1fr}.graph-primary-tools{align-items:stretch}.graph-search{min-width:100%;max-width:none}.graph-primary-tools>.field{flex:1}.graph-type-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.graph-filter{flex:none}.graph-view{min-height:520px}.graph-summary{left:8px;bottom:8px}.graph-legend{display:none}.graph-layout-picker{right:8px;top:8px}.graph-floating-tools{left:8px;top:8px}.inspector-footer{grid-template-columns:1fr}
}

@media (max-width: 560px) {
  .clue-board,.clue-board>*{min-width:0;max-width:100%}.path-card{width:100%;overflow:hidden}.behavior-path{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 8px}.path-step:not(:last-child)::after{display:none}
}

body { font-size: 16px; }
.brand strong { font-size: 18px; }
.brand small { font-size: 10px; }
.eyebrow, .nav-group { font-size: 12px; }
.side-case strong { font-size: 14px; }
.side-case > span:last-child { font-size: 12px; }
.nav-item { font-size: 14px; }
.nav-item b { font-size: 12px; }
.side-footer strong { font-size: 13px; }
.side-footer small { font-size: 11px; }
.breadcrumb, .global-search input { font-size: 14px; }
.global-search kbd, .user-chip small { font-size: 11px; }
.user-chip > span, .user-chip strong { font-size: 13px; }
.page-head h1 { font-size: 26px; }
.page-head p { font-size: 14px; }
.btn { height: 38px; font-size: 14px; }
.btn.small { height: 33px; font-size: 13px; }
.date-chip, .context-chip { height: 38px; font-size: 13px; }
.stat-top { font-size: 13px; }
.stat-value { font-size: 31px; }
.stat-value small { font-size: 14px; }
.trend { font-size: 12px; }
.panel-head h2, .path-card h2 { font-size: 16px; }
.panel-head p, .legend { font-size: 12px; }
.panel-link { font-size: 13px; }
.chart-wrap::before { font: 11px/54px ui-monospace, monospace; }
.bar-group span { font-size: 11px; }
.risk-score { font-size: 13px; }
.alert-title { font-size: 13px; }
.alert-meta, .time { font-size: 11px; }
.pipe-step strong { font-size: 12px; }
.pipe-step small { font-size: 10px; }
.field, .tab { font-size: 13px; }
.count { font-size: 12px; }
.data-table { font-size: 13px; }
.data-table th { font-size: 12px; }
.data-table td { padding-top: 14px; padding-bottom: 14px; }
.mono { font-size: 12px; }
.subline, .status, .progress-label { font-size: 11px; }
.source-card strong { font-size: 13px; }
.source-card small, .quality { font-size: 11px; }
.task-summary small { font-size: 11px; }
.task-summary strong { font-size: 21px; }
.case-item strong { font-size: 13px; }
.case-item p { font-size: 12px; }
.case-item .meta { font-size: 11px; }
.risk-number { font-size: 19px; }
.subject-avatar, .subject-main h2 { font-size: 18px; }
.subject-main p { font-size: 12px; }
.subject-score small { font-size: 11px; }
.indicator-head { font-size: 12px; }
.indicator-head strong { font-size: 13px; }
.indicator p { font-size: 11px; }
.timeline-row time { font-size: 11px; }
.timeline-row strong { font-size: 12px; }
.timeline-row p { font-size: 11px; }
.graph-legend { font-size: 11px; }
.entity-hero h3 { font-size: 18px; }
.entity-hero p { font-size: 11px; }
.kv { font-size: 12px; }
.relation strong { font-size: 12px; }
.relation p { font-size: 11px; }
.path-step i { font-size: 13px; }
.path-step strong { font-size: 11px; }
.path-step small { font-size: 10px; }
.evidence-no { font-size: 11px; }
.evidence-card strong { font-size: 12px; }
.evidence-card p { font-size: 11px; }
.decision-box textarea { font-size: 12px; }
.risk-ring small { font-size: 11px; }
.knowledge-stat strong { font-size: 22px; }
.knowledge-stat small, .tag { font-size: 11px; }
.doc-type { font-size: 10px; }
.doc-title strong { font-size: 12px; }
.doc-title small { font-size: 10px; }
.query-box label { font-size: 12px; }
.query-box textarea { font-size: 13px; }
.check-chip, .perf-note, .metric-chip { font-size: 11px; }
.result-summary { font-size: 12px; }
.result-summary strong { font-size: 15px; }
.rank { font-size: 16px; }
.rag-card { grid-template-columns: 46px minmax(0,1fr) 96px; }
.rag-card h3 { font-size: 14px; }
.rag-card p { font-size: 12px; }
.result-meta { font-size: 10px; }
.similarity small { font-size: 10px; }
.modal h2 { font-size: 21px; }
.stepper span, .form-item label { font-size: 12px; }
.step-labels, .choice-card small { font-size: 11px; }
.choice-card strong { font-size: 13px; }
.drawer h2 { font-size: 18px; }
.drawer-section h3, .toast strong { font-size: 13px; }
.drawer-callout { font-size: 12px; }
.toast small { font-size: 11px; }
.panel.table-panel { overflow-x: auto; }

/* Operational workbench and acceptance */
.ops-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:14px;margin-bottom:14px}.work-queue{display:flex;flex-direction:column}.work-item{display:grid;grid-template-columns:44px minmax(0,1fr) 86px 112px;gap:12px;align-items:center;padding:13px 16px;border:0;border-top:1px solid var(--line);background:#fff;text-align:left;color:var(--ink);cursor:pointer}.work-item:first-child{border-top:0}.work-item:hover{background:#f7fafc}.work-item div strong{display:block;font-size:13px}.work-item div p{margin:4px 0 0;font-size:11px;color:var(--muted);line-height:1.45}.work-mark{width:40px;height:28px;border-radius:5px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:11px;font-weight:700}.work-mark.risk{background:var(--orange-soft);color:var(--orange)}.work-mark.blue{background:var(--blue-soft);color:var(--blue)}.work-mark.amber{background:#fff5df;color:#a56b0d}.work-owner{font-size:11px;color:#526274}.due-chip{font-size:10px;color:#536476;background:#f0f4f7;border-radius:12px;padding:5px 8px;text-align:center}.due-chip.urgent{background:var(--orange-soft);color:var(--orange)}.acceptance-snapshot .panel-body{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:center}.coverage-ring{width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--green) 0 100%,#e8edf1 0);display:grid;place-items:center;position:relative}.coverage-ring::before{content:"";position:absolute;width:88px;height:88px;background:#fff;border-radius:50%}.coverage-ring>div{position:relative;text-align:center}.coverage-ring strong{font:700 20px ui-monospace,monospace;color:var(--green);display:block}.coverage-ring span{font-size:9px;color:var(--muted)}.coverage-list{display:grid;gap:12px}.coverage-list>div{display:grid;grid-template-columns:1fr auto;gap:5px;font-size:11px}.coverage-list strong{font-size:11px}.coverage-list i{grid-column:1/-1;height:5px;background:#e8edf1;border-radius:5px;position:relative;overflow:hidden}.coverage-list i::after{content:"";display:block;width:var(--coverage);height:100%;background:var(--green);border-radius:inherit}

.case-context-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:14px}.case-context-bar>div{background:#fff;padding:10px 12px}.case-context-bar span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.case-context-bar strong{font-size:11px}.panel-actions{display:flex;gap:7px;align-items:center}button.indicator{background:#fff;text-align:left;cursor:pointer;color:inherit}button.indicator:hover{border-color:#8fb5d3;box-shadow:0 4px 14px rgba(26,76,113,.08)}button.timeline-row{display:block;width:100%;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer}.trace-line{margin-top:12px;border-top:1px solid var(--line);padding-top:10px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:11px}.trace-line span{color:var(--muted)}.trace-line strong{font:11px ui-monospace,monospace;color:#506174;overflow-wrap:anywhere}.trace-line button{border:0;background:none;color:var(--blue);font-weight:600;cursor:pointer}

.workflow-panel{margin-bottom:14px;padding:16px}.clue-workflow{display:flex;align-items:center;margin-bottom:16px}.workflow-node{flex:1;display:flex;align-items:center;gap:8px;position:relative;color:#8996a4;font-size:11px;font-weight:600}.workflow-node:not(:last-child)::after{content:"";height:1px;background:#dce3e8;flex:1;margin-right:8px}.workflow-node i{width:26px;height:26px;border-radius:50%;background:#eef2f5;display:grid;place-items:center;font-style:normal;font:700 10px ui-monospace,monospace}.workflow-node.done,.workflow-node.active{color:var(--blue)}.workflow-node.done i{background:var(--green);color:#fff}.workflow-node.active i{background:var(--blue);color:#fff;box-shadow:0 0 0 4px var(--blue-soft)}.clue-assignment{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding-top:13px}.clue-assignment>div{padding:0 14px;border-left:1px solid var(--line)}.clue-assignment>div:first-child{border-left:0;padding-left:0}.clue-assignment span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.clue-assignment strong{font-size:12px}.clue-assignment small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.urgent-text{color:var(--orange)}button.evidence-card{width:100%;background:#fff;text-align:left;color:inherit;cursor:pointer;grid-template-columns:28px 1fr auto;align-items:start}button.evidence-card:hover{border-color:#8fb5d3;background:#fbfdff}.evidence-trace{display:block;margin-top:6px;color:#6b7b8b;font:9px ui-monospace,monospace;overflow-wrap:anywhere}.evidence-state{font-size:9px;color:var(--green);background:var(--green-soft);padding:4px 7px;border-radius:10px}.citation-list{display:grid;gap:8px}.citation-list>div{display:flex;gap:10px;border:1px solid var(--line);border-radius:6px;padding:10px}.citation-list>div>span{color:var(--blue);font:700 10px ui-monospace,monospace}.citation-list p{margin:0}.citation-list strong{font-size:11px;display:block}.citation-list small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.decision-actions{flex-wrap:wrap}.decision-actions .btn:disabled{opacity:.6;cursor:not-allowed}.handling-log{margin-top:14px}.compact-timeline{display:grid;gap:10px}.compact-timeline>div{display:grid;grid-template-columns:48px 1fr;gap:8px;align-items:center}.compact-timeline time{font:10px ui-monospace,monospace;color:var(--muted)}.compact-timeline p{margin:0;font-size:11px}

.tag-version{margin-top:16px;border-top:1px solid var(--line);padding-top:13px}.tag-version span,.tag-version small{display:block;font-size:10px;color:var(--muted)}.tag-version strong{display:block;font-size:12px;margin:4px 0}.advanced-rules{border:1px solid var(--line);border-radius:6px;padding:10px;margin:12px 0}.advanced-rules summary{cursor:pointer;font-size:11px;font-weight:700;color:#42556a}.rule-sliders{display:grid;gap:8px;margin-top:10px}.rule-sliders label{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}.rule-sliders label span,.rule-sliders label strong{font-size:10px}.rule-sliders input{grid-column:1/-1;width:100%;accent-color:var(--blue)}.rag-card-actions{display:flex;align-items:center;gap:12px;margin-top:8px}.rag-card-actions span{font-size:9px;color:var(--muted)}.rag-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.service-record{padding:12px 15px;display:grid;gap:9px}.service-record>div{display:grid;grid-template-columns:120px 1fr;gap:10px;font-size:11px;border-bottom:1px solid var(--line);padding-bottom:8px}.service-record>div:last-child{border-bottom:0}.service-record span{color:var(--muted)}.service-record strong{overflow-wrap:anywhere}.performance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:0 15px 15px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.performance-grid>div{background:#fff;padding:13px 10px;text-align:center}.performance-grid small{display:block;font-size:10px;color:var(--muted)}.performance-grid strong{display:block;font:700 15px ui-monospace,monospace;margin-top:4px}.performance-grid .good{background:var(--green-soft)}.performance-grid .good strong{color:var(--green)}

.acceptance-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.acceptance-kpis article{background:#fff;border:1px solid var(--line);border-radius:7px;padding:15px}.acceptance-kpis article>span{font-size:11px;color:var(--muted)}.acceptance-kpis strong{display:block;font:700 27px ui-monospace,monospace;margin:7px 0 2px}.acceptance-kpis strong small{font:600 11px "Microsoft YaHei",sans-serif;margin-left:4px;color:var(--muted)}.acceptance-kpis p{margin:0;font-size:10px;color:var(--muted)}.acceptance-kpis .positive{border-top:3px solid var(--orange)}.acceptance-flow-panel{margin-bottom:14px}.acceptance-flow{display:flex;padding:6px 15px 17px;overflow-x:auto}.acceptance-flow button{min-width:120px;flex:1;border:0;background:transparent;display:grid;justify-items:center;gap:5px;position:relative;cursor:pointer;color:var(--ink)}.acceptance-flow button:not(:last-child)::after{content:"";position:absolute;top:15px;left:62%;width:76%;height:1px;background:#cbd7e0}.acceptance-flow i{width:31px;height:31px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font:700 11px ui-monospace,monospace;position:relative;z-index:1}.acceptance-flow strong{font-size:11px}.acceptance-flow span{font-size:9px;color:var(--muted)}.acceptance-toolbar{margin-bottom:14px}.acceptance-legend{display:flex;gap:12px;font-size:10px;color:var(--muted)}.acceptance-legend span{display:flex;align-items:center;gap:5px}.acceptance-legend i{width:8px;height:8px;border-radius:50%;background:var(--green)}.acceptance-legend i.positive{background:var(--orange)}.acceptance-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.requirement-list{display:flex;flex-direction:column}.requirement-row{display:grid;grid-template-columns:94px minmax(260px,1fr) minmax(240px,.9fr) 72px;gap:13px;align-items:center;padding:14px 15px;border-top:1px solid var(--line)}.requirement-row:first-child{border-top:0}.requirement-id strong{display:block;font:700 13px ui-monospace,monospace;color:var(--blue)}.requirement-id span{font-size:9px;color:var(--muted);display:block;margin-top:4px}.requirement-main h3{font-size:12px;margin:0}.requirement-main p,.requirement-evidence p{font-size:10px;color:var(--muted);line-height:1.55;margin:5px 0}.requirement-main p b{display:inline-block;margin-right:6px;color:#52667a;font-size:9px}.requirement-main .requirement-deviation{color:#8d532c;background:var(--orange-soft);border-left:3px solid var(--orange);padding:5px 7px;border-radius:3px}.requirement-main .requirement-deviation b{color:var(--orange)}.requirement-main>div{font-size:10px}.requirement-main>div span{color:var(--muted);margin-right:6px}.requirement-evidence>div{display:flex;gap:6px}.primary-link{color:var(--blue)!important}.requirement-state{font-size:9px;background:var(--green-soft);color:var(--green);border-radius:12px;padding:5px 7px;text-align:center}.requirement-state.positive{background:var(--orange-soft);color:var(--orange)}.acceptance-layout>aside{display:grid;gap:14px}.receipt-meter{height:126px;margin:5px 16px 12px;position:relative;display:grid;place-items:center;overflow:hidden}.receipt-meter::before{content:"";width:210px;height:105px;border-radius:210px 210px 0 0;background:conic-gradient(from 270deg at 50% 100%,var(--green) 0 var(--value),#e9eef2 var(--value) 50%,transparent 50%);position:absolute;bottom:6px}.receipt-meter::after{content:"";width:158px;height:79px;border-radius:158px 158px 0 0;background:#fff;position:absolute;bottom:6px}.receipt-meter strong{position:absolute;z-index:1;bottom:19px;font:700 22px ui-monospace,monospace;color:var(--green)}.receipt-meter i{position:absolute;z-index:1;top:12px;font-size:9px;color:var(--muted);font-style:normal}.acceptance-receipt>.btn{margin:0 15px 15px;width:calc(100% - 30px)!important}.acceptance-note ol{margin:0;padding:0 20px 16px 38px}.acceptance-note li{font-size:11px;line-height:1.7;color:#536477;padding-left:3px}

/* Drawer business details */
.drawer-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--line);gap:1px}.drawer-summary>div{background:#fff;padding:11px}.drawer-summary span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.drawer-summary strong{font-size:11px}.mini-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.mini-flow>div{text-align:center}.mini-flow i{width:26px;height:26px;border-radius:50%;background:#eef2f5;color:#738194;display:grid;place-items:center;margin:auto;font:700 10px ui-monospace,monospace;font-style:normal}.mini-flow .done i{background:var(--green);color:#fff}.mini-flow .active i{background:var(--blue);color:#fff}.mini-flow span{font-size:9px;font-weight:600;display:block;margin-top:6px}.mini-flow small{font-size:8px;color:var(--muted)}.compare-table{border:1px solid var(--line);border-radius:6px;overflow:hidden}.compare-table>div{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.compare-table>div:first-child{border-top:0}.compare-table span,.compare-table code{padding:8px 9px;font-size:10px;overflow-wrap:anywhere}.compare-table code+code{border-left:1px solid var(--line);color:var(--green)}.compare-table .head{background:#f2f5f7;color:#546577;font-weight:700}.source-preview{background:#f7f9fb;border:1px solid var(--line);border-radius:6px;padding:11px}.source-preview span{font:9px ui-monospace,monospace;color:var(--blue)}.source-preview p{font-size:11px;line-height:1.65;margin:6px 0 0}.fusion-result{margin-top:8px;border-left:3px solid var(--green);padding:8px 10px;background:var(--green-soft)}.fusion-result strong,.fusion-result span,.fusion-result b{display:block;font-size:10px}.fusion-result span{margin:4px 0;color:#507260}.token-list{display:flex;gap:6px;flex-wrap:wrap}.token-list span{font:10px ui-monospace,monospace;padding:5px 8px;border-radius:12px;background:var(--blue-soft);color:var(--blue)}.stage-log{display:grid;gap:3px}.stage-log>div{display:grid;grid-template-columns:50px 1fr 1.4fr;gap:8px;align-items:center;padding:8px;border-left:3px solid #d8e0e6;background:#f8fafb;font-size:10px}.stage-log .done{border-color:var(--green)}.stage-log .active{border-color:var(--blue);background:var(--blue-soft)}.stage-log time{font:9px ui-monospace,monospace;color:var(--muted)}.drawer-actions{display:flex;gap:8px}.drawer-actions>*{flex:1}.template-head{display:flex;justify-content:space-between;align-items:flex-start}.template-head span{font-size:10px;color:var(--muted)}.template-head h3{font-size:17px;margin:4px 0}.template-head p{font-size:10px;color:var(--muted);margin:0}.rule-table{border:1px solid var(--line);border-radius:6px;overflow:hidden}.rule-table>div{display:grid;grid-template-columns:1.3fr 1fr 50px;gap:8px;padding:9px 10px;border-top:1px solid var(--line);font-size:10px}.rule-table>div:first-child{border-top:0}.rule-table .head{background:#f2f5f7;color:var(--muted);font-weight:700}.version-list{display:grid;gap:7px}.version-list>div{display:grid;grid-template-columns:50px 1fr 74px;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:10px}.version-list time{text-align:right;color:var(--muted)}.evidence-verdict{padding:12px;background:var(--green-soft);border-radius:6px}.evidence-verdict span,.evidence-verdict small{display:block;font-size:10px;color:#4c735f}.evidence-verdict strong{display:block;font-size:16px;color:var(--green);margin:4px 0}.trace-path{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.trace-path span{font:9px ui-monospace,monospace;background:#f1f5f8;border:1px solid var(--line);border-radius:4px;padding:5px}.trace-path i{font-style:normal;color:var(--muted)}.task-checklist{display:grid;gap:7px}.task-checklist>div{border:1px solid var(--line);border-radius:5px;padding:8px 9px;font-size:10px}.task-checklist>div::before{content:"○";margin-right:7px;color:var(--muted)}.task-checklist>div.done::before{content:"✓";color:var(--green)}.tag-tree{display:grid;gap:5px}.tag-tree>div{display:flex;justify-content:space-between;padding:8px 9px;background:#f6f8fa;border-radius:4px;font-size:10px}.tag-tree .level-2{margin-left:18px;background:#f1f6fa}.tag-tree .level-3{margin-left:36px;background:#fff;border:1px solid var(--line)}.document-excerpt{font-size:12px;line-height:1.8;color:#485a6c}.document-excerpt mark{display:block;background:#fff1d8;padding:8px 10px;border-radius:4px;color:#6f5528}.acceptance-steps{padding-left:22px;margin:0}.acceptance-steps li{font-size:11px;line-height:1.8}.report-meta{display:flex;flex-wrap:wrap;gap:6px}.report-meta span{font-size:9px;border-radius:12px;background:#f0f4f7;padding:5px 8px;color:var(--muted)}.report-section{font-size:11px;line-height:1.7}.report-section h3{margin-top:14px}.report-section p{color:#506174}.report-checks{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}.report-checks span{background:var(--green-soft);color:var(--green);border-radius:5px;padding:8px;font-size:10px}.search-summary{font-size:11px;color:var(--muted)}.global-results,.notification-list{display:grid;gap:8px}.global-results button,.notification-list button{display:grid;grid-template-columns:auto 1fr 18px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:6px;background:#fff;padding:11px;text-align:left;color:var(--ink);cursor:pointer}.global-results button:hover,.notification-list button:hover{border-color:#8fb5d3;background:#f8fbfd}.global-results button>span{font-size:9px;color:var(--blue);background:var(--blue-soft);padding:4px 6px;border-radius:10px}.global-results strong,.notification-list strong{display:block;font-size:11px}.global-results small,.notification-list p,.notification-list time{font-size:9px;color:var(--muted);margin:3px 0 0;display:block}.global-results svg{width:16px;height:16px;stroke:currentColor}.notification-list button{grid-template-columns:10px 1fr}.notice-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.notice-dot.risk{background:var(--orange)}.notice-dot.blue{background:var(--blue)}.notice-dot.amber{background:#d89a32}

@media (max-width:1180px){.ops-grid,.acceptance-layout{grid-template-columns:1fr}.acceptance-layout>aside{grid-template-columns:1fr 1fr}.work-item{grid-template-columns:44px minmax(0,1fr) 84px 108px}.requirement-row{grid-template-columns:82px minmax(240px,1fr) minmax(220px,.8fr) 68px}}
.tag-tree .muted{opacity:.62;text-decoration:none}.positive-preview{background:var(--orange-soft);border-color:#efc8b4;border-left:3px solid var(--orange)}
.evidence-directory{display:grid;gap:8px}.evidence-directory button{display:grid;grid-template-columns:38px 1fr 18px;gap:10px;align-items:center;width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;padding:11px;text-align:left;color:var(--ink);cursor:pointer}.evidence-directory button:hover{border-color:#8fb5d3;background:#f8fbfd}.evidence-directory button>span{font:700 10px ui-monospace,monospace;color:var(--blue);background:var(--blue-soft);padding:5px;border-radius:12px;text-align:center}.evidence-directory strong,.evidence-directory small{display:block}.evidence-directory strong{font-size:11px}.evidence-directory small{margin-top:4px;font:9px ui-monospace,monospace;color:var(--muted);overflow-wrap:anywhere}.evidence-directory svg{width:15px;height:15px}

@media (max-width:860px){.acceptance-kpis{grid-template-columns:repeat(2,1fr)}.acceptance-flow{min-width:780px}.acceptance-flow-panel{overflow:auto}.requirement-row{grid-template-columns:72px 1fr 72px}.requirement-evidence{grid-column:2/-1}.clue-assignment,.case-context-bar{grid-template-columns:repeat(2,1fr);gap:1px}.clue-assignment>div{padding:10px;border:1px solid var(--line);margin:-1px 0 0 -1px}.rag-support-grid{grid-template-columns:1fr}.work-item{grid-template-columns:40px 1fr auto}.work-owner{display:none}.acceptance-layout>aside{grid-template-columns:1fr}}
@media (max-width:560px){.ops-grid{grid-template-columns:1fr}.acceptance-snapshot .panel-body{grid-template-columns:1fr}.coverage-ring{margin:auto}.work-item{grid-template-columns:36px 1fr}.work-item .due-chip{grid-column:2;justify-self:start}.acceptance-kpis,.case-context-bar,.clue-assignment{grid-template-columns:1fr}.requirement-row{grid-template-columns:1fr}.requirement-id,.requirement-main,.requirement-evidence,.requirement-state{grid-column:1}.requirement-evidence{grid-row:auto}.requirement-state{justify-self:start}.performance-grid{grid-template-columns:repeat(2,1fr)}.service-record>div{grid-template-columns:1fr}.drawer-summary,.report-checks{grid-template-columns:1fr}.mini-flow{grid-template-columns:repeat(2,1fr)}.drawer-actions{flex-direction:column}}

html,body{overflow-x:hidden}

.drawer.wide{width:min(1040px,96vw)}
.mapping-set-panel{margin-bottom:14px}.mapping-example-panel{margin-bottom:14px}.mapping-example-body{display:grid;grid-template-columns:minmax(0,1fr) 116px minmax(0,1fr);gap:16px;align-items:stretch;padding:0 16px 16px}.mapping-example-record{border:1px solid var(--line);border-radius:6px;background:#f8fafb;overflow:hidden}.mapping-example-record>span{display:block;padding:8px 10px;border-bottom:1px solid var(--line);font-size:11px;font-weight:700;color:#5b6b7c}.mapping-example-record.result{border-color:#c8e1d4;background:#f5fbf8}.mapping-example-record pre{margin:0;padding:12px;min-height:168px;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.65 ui-monospace,Consolas,monospace;color:#405266}.mapping-example-flow{display:grid;place-content:center;text-align:center;color:var(--blue);gap:6px}.mapping-example-flow svg{width:24px;height:24px;margin:auto;stroke:currentColor}.mapping-example-flow strong{font-size:11px}.mapping-example-flow small{font-size:9px;color:var(--muted)}
.mapping-editor-steps{display:flex;align-items:center;gap:9px;padding:0 0 18px}.mapping-editor-steps span{font-size:10px;color:var(--muted);white-space:nowrap}.mapping-editor-steps span.active{color:var(--blue);font-weight:700}.mapping-editor-steps i{height:1px;flex:1;background:var(--line)}.mapping-editor-title,.mapping-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.mapping-editor-title h3,.mapping-preview-head h3{margin-bottom:3px}.mapping-editor-title p,.mapping-preview-head p{margin:0;color:var(--muted);font-size:10px}.mapping-editor-table{border:1px solid var(--line);border-radius:6px;overflow:auto;margin-top:10px}.mapping-editor-head,.mapping-editor-row{display:grid;grid-template-columns:1.05fr 1.1fr 1.05fr .82fr 1.28fr 1.1fr 62px 28px;gap:7px;align-items:center;min-width:960px}.mapping-editor-head{background:#f2f5f7;padding:8px 9px;color:#5d6d7e;font-size:9px;font-weight:700}.mapping-editor-row{padding:8px 9px;border-top:1px solid var(--line-soft)}.mapping-editor-row .field{width:100%;min-width:0;height:32px;padding:0 7px;font-size:10px}.required-check{font-size:9px;display:flex;align-items:center;gap:4px;white-space:nowrap}.mapping-row-delete{width:26px;height:26px;border:0;border-radius:4px;background:#f1f4f6;color:#778493;cursor:pointer;font-size:17px}.mapping-row-delete:hover{background:var(--red-soft);color:var(--red)}.mapping-preview-head{margin-bottom:9px}.mapping-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mapping-preview-grid>div{border:1px solid var(--line);border-radius:6px;background:#f8fafb;overflow:hidden}.mapping-preview-grid>div.result{border-color:#c8e1d4;background:#f5fbf8}.mapping-preview-grid span{display:block;padding:8px 10px;border-bottom:1px solid var(--line);font-size:10px;font-weight:700}.mapping-preview-grid pre{margin:0;padding:10px;height:164px;overflow:auto;white-space:pre-wrap;font:10px/1.6 ui-monospace,Consolas,monospace;color:#405266}
.ingest-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:18px}.ingest-steps span{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid var(--line);border-radius:5px;font-size:10px;color:var(--muted);background:#f8fafb}.ingest-steps span.active{border-color:#9ebed7;background:var(--blue-soft);color:var(--blue);font-weight:700}.ingest-steps b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e5ebf0;font:700 9px ui-monospace,monospace}.ingest-steps .active b{background:var(--blue);color:#fff}.ingest-method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ingest-method-grid button{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:6px;background:#fff;padding:11px;color:var(--ink);cursor:pointer}.ingest-method-grid button:hover{border-color:#9abbd4}.ingest-method-grid button.active{border-color:#77a6ca;background:#f1f7fb;box-shadow:0 0 0 1px #d4e5f1 inset}.ingest-method-grid button>span{grid-row:1/3;width:34px;height:34px;border-radius:5px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:700}.ingest-method-grid strong{font-size:11px}.ingest-method-grid small{font-size:9px;color:var(--muted);margin-top:3px}.source-config-panel{border:1px solid var(--line);border-radius:7px;padding:14px;background:#fbfcfd}.source-config-actions{display:flex;align-items:center;gap:8px;margin-top:12px}.source-config-actions>span{font-size:10px;color:var(--muted)}.code-field{height:70px!important;padding:8px 10px!important;resize:vertical;font:10px/1.5 ui-monospace,Consolas,monospace}.file-drop{min-height:114px;border:1px dashed #9eb9cf;border-radius:7px;background:#f5f9fc;display:grid;place-items:center;align-content:center;text-align:center;cursor:pointer;padding:14px}.file-drop:hover{border-color:var(--blue);background:#eff6fb}.file-drop>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;margin-bottom:6px}.file-drop svg{width:15px;height:15px;stroke:currentColor}.file-drop strong{font-size:12px}.file-drop small{font-size:9px;color:var(--muted);margin-top:4px}.file-options{margin-top:12px}.rule-set-summary{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:1px;margin-top:11px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--line)}.rule-set-summary>div,.rule-set-summary>button{background:#fff;padding:9px 10px}.rule-set-summary span,.rule-set-summary strong{display:block;font-size:10px}.rule-set-summary span{color:var(--muted);margin-bottom:3px}.ingest-preview-table{border:1px solid var(--line);border-radius:6px;overflow:auto}.ingest-preview-table>div{display:grid;grid-template-columns:1fr 1.2fr 1fr 1.2fr;min-width:660px;border-top:1px solid var(--line-soft)}.ingest-preview-table>div:first-child{border-top:0}.ingest-preview-table .head{background:#f2f5f7;color:#5d6d7e;font-weight:700}.ingest-preview-table span,.ingest-preview-table code{padding:8px 10px;font-size:10px;overflow-wrap:anywhere}.ingest-preview-table code:last-child{color:var(--green)}
@media (max-width:860px){.mapping-example-body{grid-template-columns:1fr}.mapping-example-flow{display:none}.ingest-method-grid{grid-template-columns:repeat(2,1fr)}.mapping-preview-grid{grid-template-columns:1fr}.rule-set-summary{grid-template-columns:1fr 1fr}.drawer.wide{width:96vw}}
@media (max-width:560px){.ingest-steps{grid-template-columns:1fr 1fr}.ingest-method-grid{grid-template-columns:1fr}.rule-set-summary{grid-template-columns:1fr}.source-config-actions{flex-wrap:wrap}}

.template-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-bottom:14px}.template-summary>div{background:#fff;padding:14px 16px}.template-summary small{display:block;color:var(--muted);font-size:10px}.template-summary strong{display:block;font:700 22px ui-monospace,Consolas,monospace;margin:5px 0}.template-summary span{font-size:10px;color:var(--muted)}.template-ledger{margin-bottom:14px}.template-ledger .data-table{min-width:1180px}.template-row-actions{display:flex;gap:3px;flex-wrap:wrap}.template-row-actions .row-action{font-size:10px}.template-practice{margin-bottom:14px}.template-flow{display:flex;align-items:center;padding:15px 18px;gap:10px;overflow:auto}.template-flow>div{flex:1;min-width:165px;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center}.template-flow b{grid-row:1/3;width:30px;height:30px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font:700 10px ui-monospace,monospace}.template-flow strong{font-size:11px}.template-flow span{font-size:9px;color:var(--muted);margin-top:3px}.template-flow>i{font-style:normal;color:#91a0ae}
.template-editor-nav{display:flex;align-items:center;gap:8px;padding-bottom:18px}.template-editor-nav span{font-size:10px;color:var(--blue);font-weight:700;white-space:nowrap}.template-editor-nav i{height:1px;flex:1;background:var(--line)}.feature-editor-title,.template-trial-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.feature-editor-title h3,.template-trial-head h3{margin-bottom:3px}.feature-editor-title p,.template-trial-head p{margin:0;font-size:10px;color:var(--muted)}.feature-editor-table{border:1px solid var(--line);border-radius:6px;overflow:auto;margin-top:10px}.feature-editor-head,.feature-editor-row{display:grid;grid-template-columns:1.2fr .75fr .9fr 1fr .56fr .62fr .58fr .68fr .5fr .65fr 86px 28px;gap:6px;align-items:center;min-width:1260px}.feature-editor-head{padding:8px 9px;background:#f2f5f7;color:#596a7a;font-size:9px;font-weight:700}.feature-editor-row{padding:8px 9px;border-top:1px solid var(--line-soft)}.feature-editor-row .field{width:100%;min-width:0;height:32px;padding:0 6px;font-size:10px}.feature-flags{display:grid;gap:2px}.feature-flags label{display:flex;gap:3px;align-items:center;font-size:9px;white-space:nowrap}.feature-row-delete{width:26px;height:26px;border:0;border-radius:4px;background:#f1f4f6;color:#778493;cursor:pointer;font-size:17px}.feature-row-delete:hover{background:var(--red-soft);color:var(--red)}.template-weight-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:10px}.template-weight-summary>div{background:#fff;padding:9px 10px}.template-weight-summary span,.template-weight-summary strong{display:block;font-size:10px}.template-weight-summary span{color:var(--muted);margin-bottom:3px}.template-weight-summary .good{color:var(--green)}.template-weight-summary .warn{color:var(--orange)}.preset-param-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.preset-param-grid .field{width:100%}.template-trial-head{margin-bottom:9px}.template-trial-table{border:1px solid var(--line);border-radius:6px;overflow:hidden}.template-trial-table>div>div,.template-trial-table>.head{display:grid;grid-template-columns:1.15fr .75fr 1.2fr 70px 68px;gap:8px;align-items:center;padding:8px 10px;border-top:1px solid var(--line-soft);font-size:10px}.template-trial-table>.head{border-top:0;background:#f2f5f7;color:#596a7a;font-size:9px;font-weight:700}.template-trial-table em{font-style:normal;text-align:center;border-radius:11px;padding:3px 7px}.template-trial-table em.hit{background:var(--green-soft);color:var(--green)}.template-trial-table em.miss{background:#eef1f4;color:var(--muted)}.template-trial-score{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:9px}.template-trial-score>div{background:#fff;padding:9px 10px}.template-trial-score span,.template-trial-score strong{display:block;font-size:10px}.template-trial-score span{color:var(--muted);margin-bottom:3px}.template-trial-score .risk-text{color:var(--orange)}.template-trial-score .trial-triggered{color:var(--red)}.template-trial-score .trial-muted{color:var(--muted)}.task-template-context{border-left:3px solid var(--blue);background:var(--blue-soft);padding:10px 12px;margin-bottom:13px}.task-template-context span,.task-template-context strong,.task-template-context small{display:block}.task-template-context span,.task-template-context small{font-size:9px;color:var(--muted)}.task-template-context strong{font-size:12px;margin:3px 0}.form-item label span{float:right;color:var(--muted);font-size:9px;font-weight:500}
@media (max-width:860px){.template-summary{grid-template-columns:repeat(2,1fr)}.preset-param-grid{grid-template-columns:repeat(2,1fr)}.template-flow{align-items:stretch}.template-flow>i{display:none}.template-trial-table{overflow:auto}.template-trial-table>div>div,.template-trial-table>.head{min-width:650px}}
@media (max-width:560px){.template-summary,.preset-param-grid,.template-weight-summary,.template-trial-score{grid-template-columns:1fr}.template-editor-nav{display:grid;grid-template-columns:1fr 1fr}.template-editor-nav i{display:none}.template-flow{display:grid;grid-template-columns:1fr}}

.knowledge-import-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:18px}.knowledge-import-steps span{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid var(--line);border-radius:5px;background:#f8fafb;color:var(--muted);font-size:10px}.knowledge-import-steps span.active{border-color:#9ebed7;background:var(--blue-soft);color:var(--blue);font-weight:700}.knowledge-import-steps b{width:22px;height:22px;border-radius:50%;background:#e5ebf0;display:grid;place-items:center;font:700 9px ui-monospace,monospace}.knowledge-import-steps .active b{background:var(--blue);color:#fff}.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.section-title-row h3{margin-bottom:3px}.section-title-row p{margin:0;color:var(--muted);font-size:10px}.knowledge-file-drop{min-height:116px;border:1px dashed #91b2ca;border-radius:7px;background:#f5f9fc;display:grid;place-items:center;align-content:center;text-align:center;padding:15px;cursor:pointer}.knowledge-file-drop:hover,.knowledge-file-drop.dragging{border-color:var(--blue);background:#edf6fc}.knowledge-file-drop>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;margin-bottom:7px}.knowledge-file-drop svg{width:16px;height:16px;stroke:currentColor}.knowledge-file-drop strong{font-size:12px}.knowledge-file-drop small{font-size:9px;color:var(--muted);margin-top:4px}.knowledge-file-list{display:grid;gap:6px;margin-top:9px}.empty-file{border:1px solid var(--line);border-radius:5px;padding:9px 10px;color:var(--muted);font-size:10px;text-align:center}.knowledge-file-item{display:grid;grid-template-columns:36px 1fr 26px;gap:9px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:8px 9px;background:#fff}.knowledge-file-item>span{width:34px;height:34px;border-radius:5px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font:700 8px ui-monospace,monospace}.knowledge-file-item strong,.knowledge-file-item small{display:block}.knowledge-file-item strong{font-size:10px}.knowledge-file-item small{font-size:9px;color:var(--muted);margin-top:3px}.knowledge-file-item button{border:0;background:#eef2f5;color:#667687;width:24px;height:24px;border-radius:4px;cursor:pointer;font-size:16px}.knowledge-summary{min-height:76px!important;padding:9px 10px!important;resize:vertical}.knowledge-parse-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}.knowledge-option-row{display:flex;gap:16px;flex-wrap:wrap;margin:11px 0}.knowledge-option-row label,.tag-scope-grid label{font-size:10px;color:#4e5f70;display:flex;align-items:center;gap:5px}.knowledge-parse-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}.knowledge-parse-preview>div{background:#fff;padding:9px 10px}.knowledge-parse-preview span,.knowledge-parse-preview strong{display:block;font-size:10px}.knowledge-parse-preview span{color:var(--muted);margin-bottom:3px}.knowledge-tag-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.knowledge-tag-picker label{display:grid;grid-template-columns:18px 1fr;grid-template-rows:auto auto;column-gap:6px;border:1px solid var(--line);border-radius:5px;padding:8px 9px;cursor:pointer}.knowledge-tag-picker label:has(input:checked){border-color:#8eb5d1;background:var(--blue-soft)}.knowledge-tag-picker input{grid-row:1/3}.knowledge-tag-picker span{font-size:10px;font-weight:700}.knowledge-tag-picker small{font-size:8px;color:var(--muted);margin-top:2px}.btn:disabled{opacity:.46;cursor:not-allowed}
.tag-manager-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-bottom:14px}.tag-manager-summary>div{background:#fff;padding:12px 13px}.tag-manager-summary span,.tag-manager-summary small,.tag-manager-summary strong{display:block}.tag-manager-summary span,.tag-manager-summary small{font-size:9px;color:var(--muted)}.tag-manager-summary strong{font:700 18px ui-monospace,Consolas,monospace;margin:4px 0}.tag-manager-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 150px auto;gap:8px;align-items:center;margin-bottom:10px}.tag-manager-table{border:1px solid var(--line);border-radius:7px;overflow:auto;margin-bottom:18px}.tag-manager-table>.head,.tag-manager-row{display:grid;grid-template-columns:1.2fr 1.45fr 1.15fr 60px 72px 128px;gap:9px;align-items:center;min-width:920px;padding:9px 10px}.tag-manager-table>.head{background:#f2f5f7;color:#596a7a;font-size:9px;font-weight:700}.tag-manager-row{border-top:1px solid var(--line-soft);font-size:10px}.tag-manager-row:hover{background:#fafcfd}.tag-name-cell{display:flex;align-items:center;gap:7px;padding-left:calc((var(--tag-level) - 1) * 18px)}.tag-name-cell>i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font:700 8px ui-monospace,monospace;font-style:normal}.tag-name-cell p{margin:0}.tag-name-cell strong,.tag-name-cell small{display:block}.tag-name-cell small{font:8px ui-monospace,Consolas,monospace;color:var(--muted);margin-top:2px}.tag-manager-row>span{font-size:9px;color:#536477;overflow-wrap:anywhere}.tag-manager-row>b{font-size:10px}.tag-row-actions{display:flex;gap:4px;flex-wrap:wrap}.tag-version-section{border-top:1px solid var(--line);padding-top:14px}.tag-editor-back{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.tag-editor-back>span{font-size:9px;color:var(--muted)}.tag-path-preview{border:1px solid #c9dce9;background:#f2f8fc;color:#315a78;border-radius:5px;padding:9px 10px;font-size:10px}.tag-scope-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.tag-scope-grid label{border:1px solid var(--line);border-radius:5px;padding:9px;background:#fff}.tag-scope-grid label:has(input:checked){border-color:#8eb5d1;background:var(--blue-soft)}
.knowledge-tag-filter{margin-bottom:8px}.knowledge-tag-picker{max-height:310px;overflow:auto;padding-right:3px}.knowledge-tag-picker .empty-state{grid-column:1/-1}
@media (max-width:860px){.knowledge-parse-grid{grid-template-columns:1fr 1fr}.knowledge-tag-picker{grid-template-columns:1fr}.tag-manager-summary{grid-template-columns:repeat(2,1fr)}.tag-manager-toolbar{grid-template-columns:1fr 150px}.tag-manager-toolbar .btn{grid-column:1/-1;justify-self:start}.tag-scope-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.knowledge-import-steps{grid-template-columns:1fr 1fr}.knowledge-parse-grid,.knowledge-parse-preview,.tag-manager-summary,.tag-manager-toolbar,.tag-scope-grid{grid-template-columns:1fr}.section-title-row,.tag-editor-back{flex-direction:column}.tag-manager-toolbar .btn{grid-column:auto;width:100%}}

/* Readability scale */
body{font-size:15px}
.nav-item{font-size:13px;min-height:42px}.nav-group{font-size:11px}.side-case strong{font-size:13px}.side-footer strong{font-size:12px}.side-footer small{font-size:10px}
.breadcrumb{font-size:13px}.global-search input{font-size:13px}.user-chip strong{font-size:12px}.user-chip small{font-size:10px}
.page-head h1{font-size:26px}.page-head p{font-size:14px}.eyebrow{font-size:11px}.date-chip,.context-chip{font-size:12px}
.btn{height:40px;font-size:13px}.btn.small{height:34px;font-size:12px}.field{height:38px;font-size:13px}.tab{font-size:13px}.count{font-size:11px}
.panel-head{min-height:62px}.panel-head h2{font-size:16px}.panel-head p{font-size:12px;line-height:1.5}.panel-link{font-size:13px}.legend{font-size:11px}
.data-table{font-size:13px}.data-table th{font-size:12px;padding:12px}.data-table td{padding:13px 12px}.mono{font-size:12px}.subline{font-size:11px;line-height:1.45}.status{font-size:11px}.row-action{font-size:12px;padding:6px}
.source-card strong,.alert-title,.case-item strong,.indicator-head strong,.evidence-card strong,.citation-list strong{font-size:13px}.source-card small,.alert-meta,.case-item .meta,.indicator p,.evidence-card p,.citation-list small{font-size:11px}.case-item p,.timeline-row strong,.timeline-row p{font-size:12px}

.drawer{width:min(500px,94vw)}.drawer>header{height:78px;padding-left:22px}.drawer h2{font-size:21px}.drawer>header .eyebrow{font-size:11px}#drawerContent{padding:22px;font-size:13px;line-height:1.55}.drawer-section{margin-bottom:24px}.drawer-section h3{font-size:15px;margin-bottom:11px}.drawer-callout{font-size:13px}.drawer .form-item label{font-size:13px}.drawer .field{font-size:13px}.drawer .btn{font-size:13px}.drawer .row-action{font-size:12px}.drawer textarea.field{line-height:1.6}
.drawer-summary>div{padding:13px}.drawer-summary span{font-size:12px}.drawer-summary strong{font-size:13px}.mini-flow i{width:30px;height:30px;font-size:11px}.mini-flow span{font-size:12px}.mini-flow small{font-size:11px}.compare-table span,.compare-table code{font-size:12px;padding:10px}.source-preview span{font-size:11px}.source-preview p{font-size:13px}.fusion-result strong,.fusion-result span,.fusion-result b{font-size:12px}.token-list span{font-size:12px}.stage-log>div{font-size:12px;padding:10px}.stage-log time{font-size:11px}.template-head span,.template-head p{font-size:12px}.rule-table>div,.version-list>div{font-size:12px}.version-list>div{grid-template-columns:64px 1fr 88px}.evidence-verdict span,.evidence-verdict small{font-size:12px}.trace-path span{font-size:11px}.task-checklist>div,.tag-tree>div{font-size:12px}.document-excerpt{font-size:13px}.acceptance-steps li{font-size:13px}.report-meta span{font-size:11px}.report-section{font-size:13px}.report-checks span{font-size:12px}.search-summary{font-size:13px}.global-results strong,.notification-list strong{font-size:13px}.global-results small,.notification-list p,.notification-list time{font-size:11px}.global-results button>span{font-size:11px}

.mapping-example-record>span,.mapping-example-flow strong{font-size:13px}.mapping-example-record pre{font-size:12px}.mapping-example-flow small{font-size:11px}.mapping-editor-steps span{font-size:12px}.mapping-editor-title p,.mapping-preview-head p{font-size:12px}.mapping-editor-head{font-size:11px}.mapping-editor-row .field{font-size:12px;height:36px}.mapping-editor-head,.mapping-editor-row{min-width:1080px}.required-check{font-size:11px}.mapping-preview-grid span,.mapping-preview-grid pre{font-size:12px}.mapping-preview-grid pre{line-height:1.7}
.ingest-steps span{font-size:12px}.ingest-steps b{font-size:11px}.ingest-method-grid strong{font-size:13px}.ingest-method-grid small{font-size:11px}.source-config-actions>span{font-size:12px}.code-field{font-size:12px;line-height:1.6}.file-drop strong{font-size:14px}.file-drop small{font-size:11px}.rule-set-summary span,.rule-set-summary strong{font-size:12px}.ingest-preview-table>div{min-width:720px}.ingest-preview-table span,.ingest-preview-table code{font-size:12px}

.template-summary small,.template-summary span{font-size:12px}.template-row-actions .row-action{font-size:12px}.template-flow strong{font-size:13px}.template-flow span{font-size:11px}.template-editor-nav span{font-size:12px}.feature-editor-title p,.template-trial-head p{font-size:12px}.feature-editor-head{font-size:11px}.feature-editor-row .field{font-size:12px;height:36px}.feature-editor-head,.feature-editor-row{min-width:1420px}.feature-flags label{font-size:11px}.template-weight-summary span,.template-weight-summary strong{font-size:12px}.template-trial-table>div>div,.template-trial-table>.head{font-size:12px}.template-trial-table>.head{font-size:11px}.template-trial-score span,.template-trial-score strong{font-size:12px}.task-template-context span,.task-template-context small{font-size:11px}.task-template-context strong{font-size:13px}.form-item label span{font-size:11px}

.knowledge-import-steps span{font-size:12px}.knowledge-import-steps b{font-size:11px}.section-title-row p{font-size:12px}.knowledge-file-drop strong{font-size:14px}.knowledge-file-drop small{font-size:11px}.empty-file{font-size:12px}.knowledge-file-item strong{font-size:12px}.knowledge-file-item small{font-size:11px}.knowledge-option-row label,.tag-scope-grid label{font-size:12px}.knowledge-parse-preview span,.knowledge-parse-preview strong{font-size:12px}.knowledge-tag-picker span{font-size:12px}.knowledge-tag-picker small{font-size:11px;line-height:1.4}
.tag-manager-summary span,.tag-manager-summary small{font-size:11px}.tag-manager-summary strong{font-size:20px}.tag-manager-table>.head{font-size:11px}.tag-manager-row{font-size:12px}.tag-manager-row>span{font-size:11px;line-height:1.45}.tag-manager-row>b{font-size:12px}.tag-name-cell>i{font-size:10px}.tag-name-cell small{font-size:10px}.tag-manager-table>.head,.tag-manager-row{grid-template-columns:1.2fr 1.45fr 1.15fr 64px 78px 148px;min-width:1040px;padding:11px 12px}.tag-editor-back>span{font-size:11px}.tag-path-preview{font-size:12px}

@media (max-width:860px){.page-head h1{font-size:23px}.page-head p{font-size:13px}.drawer{width:96vw}.template-trial-table>div>div,.template-trial-table>.head{min-width:720px}}
.tag-manager-table>.head,.tag-manager-row{grid-template-columns:1.15fr 1.35fr 1.05fr 58px 74px 138px;min-width:980px;padding:11px 10px}
