/* Isolated knowledge-governance workspace; all operational states originate in the BFF. */
.kg-workspace { --kg-ink:#24364b; --kg-muted:#708198; --kg-line:#e3e9f1; --kg-blue:#2463d4; color:var(--kg-ink); max-width:1600px; margin:0 auto; font-size:13px; }
.kg-workspace *, .kg-workspace *::before, .kg-workspace *::after { box-sizing:border-box; }
.kg-workspace button, .kg-workspace input, .kg-workspace select, .kg-workspace textarea { font:inherit; }
.kg-workspace button:disabled { cursor:wait; opacity:.55; }
.kg-workspace button[aria-disabled="true"] { color:#8791a0; background:#f7f8fa; border-color:#e4e8ed; }
.kg-workspace h1, .kg-workspace h2, .kg-workspace h3, .kg-workspace h4, .kg-workspace p { margin-top:0; }
.kg-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.kg-heading h1 { font-size:25px; letter-spacing:-.5px; line-height:1.5; margin:5px 0 6px; color:#182d49; }
.kg-heading p { color:var(--kg-muted); font-size:13px; margin-bottom:0; max-width:760px; }
.kg-eyebrow { font-size:10px; letter-spacing:.14em; font-weight:700; color:#6080a7; }
.kg-button { display:inline-flex; justify-content:center; align-items:center; min-height:33px; padding:6px 12px; border:1px solid #dce4ee; border-radius:6px; background:#fff; color:#355475; line-height:1.4; text-align:center; gap:5px; flex-shrink:0; cursor:pointer; font-size:12px; transition:background .12s, border-color .12s; }
.kg-button:hover { background:#f0f5fd; border-color:#a9c4ec; }
.kg-button.primary { background:var(--kg-blue); border-color:var(--kg-blue); color:#fff; }
.kg-button.primary:hover { background:#1b55be; }
.kg-button-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.kg-identity { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px; border:1px solid var(--kg-line); border-radius:8px; background:white; }
.kg-identity>div, .kg-identity-controls { display:flex; align-items:center; gap:11px; }
.kg-identity-avatar { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#eaf1ff; color:#2563cc; font-size:15px; font-weight:700; flex-shrink:0; }
.kg-identity strong { display:block; font-size:13px; }
.kg-identity small { display:block; color:var(--kg-muted); font-size:11px; margin-top:3px; }
.kg-inline-label { display:flex; align-items:center; gap:7px; color:var(--kg-muted); font-size:11px; }
.kg-inline-label select { max-width:230px; }
.kg-workspace select, .kg-workspace input:not([type="checkbox"]):not([type="file"]), .kg-workspace textarea { border:1px solid #dbe3ed; border-radius:5px; background:#fff; color:#29415b; padding:8px 10px; min-width:0; }
.kg-workspace textarea { line-height:1.7; resize:vertical; }
.kg-workspace input:focus, .kg-workspace textarea:focus, .kg-workspace select:focus { outline:2px solid #d9e7ff; outline-offset:0; border-color:#90b5ed; }
.kg-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:16px 0 22px; background:#fff; border:1px solid var(--kg-line); border-radius:8px; }
.kg-metrics>div { padding:17px 20px; position:relative; }
.kg-metrics>div+div::before { content:""; position:absolute; top:22px; bottom:22px; left:0; width:1px; background:var(--kg-line); }
.kg-metrics span { color:#667b92; font-size:11px; }
.kg-metrics strong { display:block; font-size:28px; font-weight:650; letter-spacing:-.5px; line-height:1.3; margin:5px 0; }
.kg-metrics strong small { font-size:11px; color:#8492a4; margin-left:7px; font-weight:400; }
.kg-metrics em { font-size:10px; color:#8896a7; font-style:normal; }
.kg-tabs { display:flex; gap:6px; margin-bottom:20px; border-bottom:1px solid #dce5ef; overflow-x:auto; }
.kg-tabs button { display:flex; align-items:center; gap:9px; white-space:nowrap; padding:11px 17px 14px; border:0; border-bottom:2px solid transparent; background:transparent; color:#738397; font-weight:600; }
.kg-tabs button span { font-size:10px; letter-spacing:.03em; opacity:.6; }
.kg-tabs button.active { border-color:var(--kg-blue); color:var(--kg-blue); }
.kg-layout { display:grid; grid-template-columns:255px minmax(0,1fr); gap:18px; align-items:start; }
.kg-library-list { display:flex; flex-direction:column; gap:9px; position:sticky; top:85px; }
.kg-library { width:100%; display:flex; align-items:flex-start; gap:11px; padding:15px 12px; border:1px solid var(--kg-line); border-radius:7px; background:white; text-align:left; }
.kg-library.selected { border-color:#9cbcf0; background:#f3f7ff; box-shadow:inset 3px 0 0 #3675dc; }
.kg-library-number { font-size:11px; font-weight:700; line-height:26px; width:28px; text-align:center; background:#eef3f9; color:#6c8bae; border-radius:5px; flex-shrink:0; }
.kg-library.selected .kg-library-number { background:#e1ebff; color:#2c67cd; }
.kg-library strong { display:block; font-size:12px; color:#2f4764; }
.kg-library small { display:block; font-size:10px; color:#7c8fa5; margin-top:5px; line-height:1.6; }
.kg-library em { display:inline-block; font-size:10px; font-style:normal; color:#6a83a1; margin-top:6px; }
.kg-sidebar-note { padding:13px 15px; margin-top:4px; border-left:2px solid #b9cbe2; color:#698098; }
.kg-sidebar-note strong { font-size:11px; }
.kg-sidebar-note p { font-size:11px; margin:6px 0 0; line-height:1.8; }
.kg-main-stack { display:flex; flex-direction:column; gap:16px; min-width:0; }
.kg-card { background:white; border:1px solid var(--kg-line); border-radius:8px; padding:20px; min-width:0; }
.kg-card h2 { font-size:15px; line-height:1.5; margin-bottom:0; color:#243e5d; font-weight:650; }
.kg-card h3 { font-size:13px; }
.kg-card h4 { font-size:12px; color:#55708f; margin:17px 0 9px; }
.kg-section-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:15px; }
.kg-section-heading p { font-size:11px; margin:5px 0 0; line-height:1.8; color:var(--kg-muted); }
.kg-library-summary>p { font-size:12px; line-height:1.9; color:#687f97; margin-bottom:17px; }
.kg-library-summary h2 { font-size:18px; margin-top:4px; }
.kg-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 22px; margin:0 0 16px; }
.kg-meta>div { min-width:0; }
.kg-meta dt { font-size:10px; color:#8998aa; margin-bottom:5px; }
.kg-meta dd { margin:0; font-size:11px; color:#46607c; overflow-wrap:anywhere; line-height:1.65; }
.kg-permissions { display:flex; flex-wrap:wrap; gap:6px; padding-top:13px; border-top:1px solid #edf1f6; }
.kg-permissions span { display:inline-block; padding:4px 7px; border-radius:4px; font-size:10px; }
.kg-permissions .allowed { color:#227b60; background:#edf8f2; }
.kg-permissions .denied { color:#8f99a6; background:#f3f5f7; }
.kg-badge { display:inline-flex; align-items:center; vertical-align:middle; white-space:nowrap; padding:3px 7px; border-radius:4px; background:#f0f3f8; color:#72829a; font-size:10px; font-weight:500; line-height:1.6; }
.kg-status-ready, .kg-status-completed, .kg-status-published, .kg-status-approved, .kg-status-active, .kg-status-confirmed { background:#eaf6ef; color:#288263; }
.kg-status-draft, .kg-status-pending, .kg-status-review, .kg-status-awaiting-confirmation { background:#fff5e5; color:#b17a27; }
.kg-status-blocked, .kg-status-needs-information, .kg-status-stale, .kg-status-rejected, .kg-status-returned { background:#fff0eb; color:#b66f43; }
.kg-status-revoked, .kg-status-retired, .kg-status-expired { background:#f1f2f5; color:#8b92a0; }
.kg-table-wrap { overflow:auto; width:100%; }
.kg-table { width:100%; border-collapse:collapse; font-size:11px; text-align:left; }
.kg-table th { background:#f6f8fb; color:#8290a1; font-size:10px; font-weight:500; padding:10px 11px; border-bottom:1px solid #e8eef5; white-space:nowrap; }
.kg-table td { padding:13px 11px; vertical-align:top; border-bottom:1px solid #edf1f6; color:#61758d; line-height:1.7; overflow-wrap:anywhere; }
.kg-table tr:last-child td { border-bottom:0; }
.kg-table tr.selected td { background:#f8fbff; }
.kg-table td:first-child { min-width:170px; }
.kg-table td strong { display:block; font-weight:550; color:#334f6d; font-size:12px; }
.kg-table td small { display:block; font-size:10px; margin-top:5px; color:#8492a4; }
.kg-table .kg-button-row { margin-top:0; flex-wrap:nowrap; }
.kg-table .kg-button { min-height:27px; padding:4px 8px; font-size:10px; }
.kg-source { color:#3478c8; text-decoration:none; overflow-wrap:anywhere; }
.kg-source:hover { text-decoration:underline; }
.kg-muted { color:var(--kg-muted); font-size:11px; }
.kg-block { display:block; }
.kg-empty { min-height:135px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:22px; color:#8a9bae; }
.kg-empty-mark { font-size:30px; font-weight:300; color:#a5bbd6; margin-bottom:7px; }
.kg-empty strong { font-size:12px; color:#6f86a0; font-weight:500; }
.kg-empty p { font-size:11px; max-width:430px; margin:8px 0 0; line-height:1.8; }
.kg-notice { padding:11px 13px; margin:13px 0; border:1px solid #e0eaf7; border-radius:5px; background:#f6f9ff; font-size:11px; color:#6d86a5; line-height:1.8; }
.kg-notice.amber { background:#fffbf2; border-color:#f4e6c9; color:#aa8040; }
.kg-error { display:flex; align-items:flex-start; gap:12px; margin:0 0 16px; padding:13px 16px; border:1px solid #f0ceca; background:#fff6f4; border-radius:7px; color:#b9584c; font-size:12px; }
.kg-error strong { flex-shrink:0; }
.kg-error span { flex:1; overflow-wrap:anywhere; }
.kg-error .kg-button { min-height:25px; padding:3px 7px; font-size:10px; }
.kg-busy { position:sticky; top:74px; z-index:10; background:#eaf2ff; color:#3b70b2; border:1px solid #bbd4f7; padding:9px 16px; border-radius:5px; margin-bottom:13px; box-shadow:0 3px 12px #132f5110; }
.kg-field { display:flex; flex-direction:column; gap:7px; margin-bottom:14px; font-size:11px; }
.kg-field>span { color:#71859c; }
.kg-field input, .kg-field textarea, .kg-field select { width:100%; }
.kg-check { display:flex; align-items:center; gap:7px; color:#71869e; font-size:11px; cursor:pointer; }
.kg-check input { accent-color:var(--kg-blue); }
.kg-upload { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; border:1px dashed #c9d9ef; background:#f8fbff; border-radius:6px; padding:16px; margin-bottom:18px; }
.kg-upload label { cursor:pointer; }
.kg-upload strong { display:block; font-size:12px; color:#41658f; }
.kg-upload small { display:block; margin-top:5px; font-size:10px; color:#8a9bb0; }
.kg-upload input { font-size:11px; max-width:250px; }
.kg-document-meta { color:#8b98a9; font-size:11px; }
.kg-document-content { font:11px/1.95 "PingFang SC", "Microsoft YaHei", sans-serif; color:#576d86; white-space:pre-wrap; overflow-wrap:anywhere; max-height:480px; overflow:auto; padding:17px 19px; margin:12px 0 0; border:1px solid #e8edf5; border-radius:5px; background:#fafbfd; }
.kg-disclosure { margin-top:18px; border-top:1px solid #e9eef5; padding-top:14px; }
.kg-disclosure summary { color:#5e7999; font-size:12px; cursor:pointer; }
.kg-disclosure>p { font-size:11px; line-height:1.9; padding:8px 10px; background:#f8fafc; margin:8px 0; }
.kg-chunks { display:grid; gap:9px; margin-top:12px; max-height:600px; overflow:auto; }
.kg-chunks article { border:1px solid #e6edf5; border-radius:5px; padding:12px 14px; background:#fbfcfe; }
.kg-chunks span { font-size:9px; color:#8b9eb6; letter-spacing:.03em; overflow-wrap:anywhere; }
.kg-chunks p { margin:7px 0 0; color:#60758f; font-size:11px; line-height:1.9; white-space:pre-wrap; }
.kg-result-label { font-size:11px; color:#6f87a2; padding:10px 0; margin-top:9px; border-top:1px solid #edf2f7; }
.kg-evidence-list { display:grid; gap:11px; }
.kg-evidence { padding:15px; border:1px solid #e2ebf6; border-radius:6px; background:#fbfcfe; }
.kg-evidence>div { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.kg-evidence-number { display:grid; place-items:center; height:21px; width:21px; font-size:10px; border-radius:4px; background:#e7f0ff; color:#5a83bc; }
.kg-evidence strong { font-size:12px; color:#37587e; }
.kg-evidence small { color:#8395aa; font-size:10px; }
.kg-evidence p, .kg-node-evidence p { color:#637b95; font-size:11px; white-space:pre-wrap; line-height:1.9; margin:12px 0; }
.kg-evidence footer, .kg-node-evidence footer { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:10px; }
.kg-graph { border:1px solid #e6edf5; border-radius:7px; background-color:#fafcff; background-image:radial-gradient(#d7e3f2 .7px, transparent .7px); background-size:16px 16px; margin-bottom:14px; }
.kg-graph svg { display:block; width:100%; max-height:430px; }
.kg-graph>small { display:block; color:#90a1b5; padding:8px 13px; font-size:10px; }
.kg-form-inline { display:flex; gap:15px; align-items:center; }
.kg-form-inline .kg-field { min-width:145px; }
.kg-form-inline>div { padding-top:8px; }
.kg-request-list { display:grid; gap:10px; }
.kg-request-list article { padding:13px 15px; border:1px solid #e6ecf4; border-radius:6px; background:#fcfdff; }
.kg-request-list .kg-section-heading { margin-bottom:7px; }
.kg-request-list strong { font-size:12px; }
.kg-request-list p { color:#6e849e; font-size:11px; margin-bottom:7px; }
.kg-subheading { border-top:1px solid #edf1f6; padding-top:18px; margin:18px 0 12px; font-weight:600; color:#607994; }
.kg-run-layout { display:grid; grid-template-columns:minmax(0,1fr) 265px; gap:17px; align-items:start; }
.kg-incident-question { border-left:3px solid #83ade4; background:#f7faff; padding:11px 13px; color:#486991; font-size:12px; line-height:1.9; }
.kg-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:12px 0; }
.kg-facts>div { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:7px; border:1px solid #e6edf5; border-radius:5px; padding:11px 12px; }
.kg-facts>div>span:first-child { display:block; width:100%; color:#8a9aad; font-size:10px; }
.kg-facts strong { font-size:11px; color:#56728f; font-weight:550; }
.kg-scene-libraries { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:15px 0; }
.kg-scene-libraries>span:first-child { font-size:10px; color:#8193aa; margin-right:3px; }
.kg-dag { display:flex; gap:9px; align-items:center; overflow:auto; padding:15px 0; }
.kg-dag-level { flex:1; min-width:125px; display:flex; flex-direction:column; gap:8px; }
.kg-dag-stage { font-size:9px; color:#9aabbd; padding-left:2px; }
.kg-dag-node { min-height:85px; padding:11px 10px; border:1px solid #dce8f6; border-radius:6px; background:#f7faff; }
.kg-dag-node.completed { border-color:#c8e1d5; background:#f3faf6; }
.kg-dag-node.blocked { border-color:#eddac3; background:#fffbf5; }
.kg-dag-node strong { display:block; font-size:11px; color:#426082; line-height:1.7; }
.kg-dag-node small { display:block; margin:4px 0 0; font-size:9px; color:#8397b0; }
.kg-dag-node p { font-size:9px; color:#8e9db0; line-height:1.8; margin:7px 0 0; }
.kg-dag-arrow { color:#a4bddb; font-size:17px; flex-shrink:0; }
.kg-node-results { display:grid; gap:9px; margin-top:18px; }
.kg-agent-result { border:1px solid #e3ebf5; border-radius:6px; overflow:hidden; }
.kg-agent-result>summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; background:#f9fbfe; cursor:pointer; }
.kg-agent-result>summary>span { display:flex; align-items:center; gap:9px; }
.kg-agent-result>summary strong { font-size:12px; color:#416385; }
.kg-agent-order { color:#8da6c2; font-size:10px; }
.kg-agent-body { padding:16px; }
.kg-input { padding:11px 13px; border-radius:5px; background:#f5f8fd; margin-bottom:8px; }
.kg-input strong { font-size:10px; color:#5c82ae; }
.kg-input p { font-size:11px; color:#69839e; white-space:pre-wrap; margin:7px 0 0; line-height:1.8; }
.kg-agent-output, .kg-summary pre { font:11px/1.95 "PingFang SC", "Microsoft YaHei", sans-serif; color:#527291; white-space:pre-wrap; overflow-wrap:anywhere; margin:0; }
.kg-node-evidence { border:1px solid #e5edf7; border-radius:5px; padding:12px; margin-bottom:8px; background:#fcfdff; }
.kg-node-evidence strong { color:#5b7b9e; font-size:11px; }
.kg-node-evidence strong small { font-size:10px; color:#8fa0b4; font-weight:400; }
.kg-summary { background:#f1f6fe; border:1px solid #dce8f7; border-radius:6px; padding:17px; margin-top:18px; }
.kg-summary h3 { color:#38618e; margin:7px 0 10px; }
.kg-timeline { list-style:none; margin:14px 0 0; padding:0; display:grid; gap:9px; }
.kg-timeline li { display:grid; grid-template-columns:135px 125px minmax(0,1fr); gap:12px; font-size:10px; color:#8a9bb0; padding-bottom:9px; border-bottom:1px solid #eff3f8; }
.kg-timeline strong { font-weight:500; color:#6a88aa; overflow-wrap:anywhere; }
.kg-run-history { display:grid; gap:9px; }
.kg-run-history>button { text-align:left; padding:12px; border:1px solid #e1eaf5; border-radius:6px; background:#fafcfe; }
.kg-run-history>button.selected { border-color:#9ebbe8; background:#f3f7fe; }
.kg-run-history strong { display:block; font-size:11px; line-height:1.8; color:#527394; margin-bottom:7px; }
.kg-run-history small { display:block; color:#91a0b3; font-size:9px; margin-top:7px; }
.kg-explainer h3 { font-size:12px; color:#4d7096; }
.kg-explainer p { color:#8495aa; font-size:11px; line-height:1.9; }
.kg-explainer a { font-size:11px; }
.kg-footnote { color:#9aa8ba; font-size:10px; line-height:1.9; margin:12px 0 0; }
.kg-boundaries { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.kg-boundaries article { border:1px solid #e4ebf4; border-radius:6px; padding:15px; background:#fbfcfe; }
.kg-boundaries span { font-size:10px; color:#99aec7; letter-spacing:.08em; }
.kg-boundaries h3 { color:#5c7b9f; margin:8px 0; font-size:12px; }
.kg-boundaries p { margin:0; color:#8396ad; font-size:11px; line-height:1.9; }
.kg-code-cell { font-family:ui-monospace, monospace; font-size:10px; max-width:220px; }
@media (min-width:1550px) { .kg-layout { grid-template-columns:285px minmax(0,1fr); } .kg-library { padding:17px 15px; } .kg-card { padding:23px; } .kg-run-layout { grid-template-columns:minmax(0,1fr) 300px; } }
@media (max-width:1150px) { .kg-heading { align-items:flex-start; } .kg-heading h1 { font-size:22px; } .kg-heading>.kg-button { max-width:160px; } .kg-identity { align-items:flex-start; flex-direction:column; } .kg-identity-controls { flex-wrap:wrap; } .kg-layout { grid-template-columns:210px minmax(0,1fr); gap:12px; } .kg-library { padding:12px 10px; gap:8px; } .kg-library-number { display:none; } .kg-card { padding:16px; } .kg-run-layout { grid-template-columns:minmax(0,1fr); } .kg-run-layout>aside { display:grid; grid-template-columns:1fr 1fr; } .kg-boundaries { grid-template-columns:repeat(2,minmax(0,1fr)); } .kg-tabs button { padding-left:11px; padding-right:11px; } }
@media (max-width:760px) { .kg-heading { flex-direction:column; gap:12px; } .kg-heading>.kg-button { max-width:none; } .kg-heading h1 { font-size:21px; } .kg-heading p { font-size:12px; } .kg-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .kg-metrics>div { padding:13px; } .kg-metrics>div:nth-child(3)::before { display:none; } .kg-metrics>div:nth-child(n+3) { border-top:1px solid var(--kg-line); } .kg-metrics strong { font-size:25px; } .kg-layout { grid-template-columns:minmax(0,1fr); } .kg-library-list { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; } .kg-library { min-height:91px; } .kg-sidebar-note { display:none; } .kg-card { padding:14px; } .kg-meta { gap:10px; } .kg-facts { grid-template-columns:minmax(0,1fr); } .kg-boundaries { grid-template-columns:minmax(0,1fr); } .kg-run-layout>aside { display:flex; } .kg-identity-controls { width:100%; } .kg-inline-label { flex-wrap:wrap; } .kg-inline-label select { max-width:200px; } .kg-error { flex-wrap:wrap; } .kg-error span { min-width:70%; } .kg-timeline li { grid-template-columns:1fr; gap:3px; } .kg-tabs { gap:0; } .kg-tabs button { padding-left:11px; padding-right:11px; font-size:12px; } .kg-tabs button span { display:none; } .kg-graph svg { min-height:230px; } }
.kg-node-graph-evidence { display:grid; gap:9px; }
.kg-node-graph-evidence article { padding:12px; border:1px solid #dddff3; border-radius:5px; background:#faf9fe; }
.kg-node-graph-evidence strong { font-size:11px; color:#686090; }
.kg-node-graph-evidence strong span { font-size:10px; color:#9b93b5; font-weight:400; }
.kg-node-graph-evidence p { font-size:11px; color:#8b84a2; margin:9px 0; line-height:1.8; }
.kg-node-graph-evidence footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:9px; font-size:10px; color:#9c97b0; }
.kg-library-summary>p.kg-permission-note { margin:10px 0 0; font-size:10px; line-height:1.8; color:#8a9aaf; }
