.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-title: 18px;--fs-section: 14px;--fs-node-title: 13px;--fs-body: 13px;--fs-sub: 11px;--fs-badge: 10px;--fs-mono: 11px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--bg-0: #0b0d13;--bg-1: #11141c;--bg-2: #161a22;--bg-3: #1b2030;--bg-hover: #1d2331;--accent: #AB986A;--accent-strong: #bda884;--accent-tint: rgba(171, 152, 106, .14);--accent-border: rgba(171, 152, 106, .45);--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .16);--border-faint: rgba(255, 255, 255, .06);--color-border-tertiary: var(--border-faint);--text: #d9dfec;--text-muted: rgba(217, 223, 236, .62);--text-faint: rgba(217, 223, 236, .42);--role-pre: #7a89a8;--role-pre-bg: rgba(122, 137, 168, .06);--role-planner: #4eb19a;--role-planner-bg: rgba(78, 177, 154, .07);--role-gate: #b58358;--role-gate-bg: rgba(181, 131, 88, .07);--role-executor: #c47888;--role-executor-bg: rgba(196, 120, 136, .07);--role-naive: #d36262;--role-naive-bg: rgba(211, 98, 98, .07);--status-complete: #7fc8a0;--status-processing: #7aa7e8;--status-flagged: #d8b878;--status-blocked: #d68888;--status-skipped: #6c7693;--layer-spotlighting: #6a8fd6;--layer-pii: #7ab3c4;--layer-instruction: #957bc4;--layer-planner: var(--role-planner);--layer-hitl: var(--role-gate);--layer-executor: var(--role-executor);--layer-naive: var(--role-naive)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:1.5;color:var(--text);background:var(--bg-0);font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:var(--fw-semibold)}button,input,textarea,select{font-family:inherit}pre,code{font-family:var(--font-mono)}.app{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-4);background:var(--bg-2);border-bottom:1px solid var(--border)}.brand{font-size:var(--fs-title);font-weight:var(--fw-semibold);letter-spacing:-.01em}.topbar nav a{color:var(--text-muted);margin-left:var(--sp-4);text-decoration:none;font-size:var(--fs-body);font-weight:var(--fw-medium)}.topbar nav a:hover{color:var(--text)}.topbar nav a.active{color:var(--text);border-bottom:1px solid var(--accent);padding-bottom:2px}.nav-section-label{display:inline-flex;align-items:center;font-size:9px;font-family:var(--font-mono);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--border);border-radius:3px;padding:2px 5px;margin-left:var(--sp-4);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;line-height:1;flex-shrink:0}.nav-sep{display:inline-block;width:1px;height:16px;background:var(--border);margin-left:var(--sp-4);vertical-align:middle;flex-shrink:0;align-self:center}.deploy-divider{display:inline-block;width:1.5px;height:10px;background:var(--accent);border-radius:1px;flex-shrink:0}.deploy-commit{color:var(--text-muted)}.topbar-deploy-badge{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sub);font-family:var(--font-mono);color:var(--text);background:var(--bg-3);border:1px solid var(--border);border-radius:20px;padding:3px 10px;white-space:nowrap;letter-spacing:.02em;margin-left:var(--sp-5)}main{flex:1;overflow:hidden}.split{display:grid;grid-template-columns:minmax(360px,1fr) minmax(420px,1fr);height:100%}.split.trace-expanded{grid-template-columns:1fr}.pane{overflow:auto;border-right:1px solid var(--border)}.pane:last-child{border-right:none}.chat-pane,.trace-pane{padding:var(--sp-3)}.unified-console{display:flex;height:100%}.console-left{flex:none;overflow:auto;padding:var(--sp-3)}.console-divider{flex:none;width:4px;position:relative;cursor:col-resize}.console-divider:before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:1px;background:var(--color-border-tertiary)}.console-right{flex:1;overflow:hidden;padding:var(--sp-3);display:flex;flex-direction:column;min-width:380px}.unified-console.trace-expanded .console-right{min-width:0}.console-brand-head{align-items:center}.brand-dot{width:9px;height:9px;border-radius:50%;background:var(--status-processing);flex:none;box-shadow:0 0 0 3px #7aa7e82e}.console-title{font-size:var(--fs-body);font-weight:var(--fw-semibold);letter-spacing:.01em;color:var(--text);flex:1}.console-brand-head .head-actions{display:flex;align-items:center;gap:var(--sp-3);margin-left:auto}.panel-label{font-size:var(--fs-body);font-weight:var(--fw-semibold);letter-spacing:.01em;color:var(--text);flex:1}.placeholder{color:var(--text-faint);font-style:italic;font-size:var(--fs-body)}.section-h,.chat-head h2,.trace-header h2,.admin h2{font-size:var(--fs-section);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.btn{background:var(--bg-3);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:0 var(--sp-3);height:32px;font-size:var(--fs-body);font-weight:var(--fw-medium);cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-2);transition:background .12s ease,border-color .12s ease}.btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-send{background:var(--accent);border-color:var(--accent);color:#fff}.btn-send:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn-danger{background:#5a2230;border-color:#8a3346;color:#f3d6dc}.btn-danger:hover:not(:disabled){background:#6b2a3a;border-color:#a33e54}.report-menu-wrap{position:relative;display:inline-block}.report-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:4px;box-shadow:0 6px 18px #00000059;min-width:180px;overflow:hidden}.report-menu-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);padding:8px 12px;font-size:var(--fs-body);cursor:pointer}.report-menu-item:hover{background:var(--bg-hover)}.retention-table th:nth-child(2){width:120px}.retention-table .retention-days-input{width:80px}.retention-note{margin:2px 0 0;color:var(--warn, #d8a657)}.retention-store{margin:2px 0 0;opacity:.7;font-size:11px}.btn-approve{background:#1f4d34;border-color:#2f7a4a;color:#d8eede}.btn-approve:hover:not(:disabled){background:#25593c}.btn-reject{background:#5a2929;border-color:#a14040;color:#fbd6d6}.btn-reject:hover:not(:disabled){background:#6a2f2f}.btn-modify{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-link{background:transparent;color:var(--text-faint);border:none;cursor:pointer;font-size:var(--fs-sub);text-decoration:none;padding:0;font-weight:var(--fw-medium)}.btn-link:hover:not(:disabled){color:var(--text);text-decoration:underline}.btn-link:disabled{opacity:.4;cursor:not-allowed}input[type=text],input[type=number],input[type=password],input:not([type]),select,textarea{background:var(--bg-0);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:0 var(--sp-3);height:36px;font-size:var(--fs-body);font-weight:var(--fw-regular)}textarea{padding:var(--sp-2) var(--sp-3);height:auto;line-height:1.45;resize:vertical}input:focus,select:focus,textarea:focus{outline:1px solid var(--border-strong);border-color:var(--border-strong)}label{font-size:var(--fs-sub);color:var(--text-muted);font-weight:var(--fw-medium)}.engine-badge{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:lowercase;padding:2px 7px;border-radius:999px;white-space:nowrap;line-height:1}.engine-local{background:#7fc8a01a;color:var(--status-complete);border:1px solid rgba(127,200,160,.25)}.engine-cloud{background:#7aa7e81a;color:var(--status-processing);border:1px solid rgba(122,167,232,.28)}.engine-planner{background:#4eb19a1f;color:#4eb19a;border:1px solid rgba(78,177,154,.32)}.engine-executor{background:#c478881f;color:#c47888;border:1px solid rgba(196,120,136,.32)}.engine-region{opacity:.85;text-transform:none;letter-spacing:0}.chat{display:flex;flex-direction:column;height:100%;gap:var(--sp-2)}.chat-head{display:flex;align-items:center;gap:var(--sp-3)}.chat-head h2{flex:1}.scenario-selector,.customer-id-row{display:flex;gap:var(--sp-2);align-items:center}.scenario-selector label,.customer-id-row label{min-width:80px}.scenario-selector select,.customer-id-row input{flex:1;height:32px}.scenario-selector-wrapper{display:flex;flex-direction:column;gap:var(--sp-2)}.domain-selector{display:flex}.domain-btn{flex:1;height:28px;font-family:var(--font-sans);font-size:var(--fs-sub);font-weight:var(--fw-medium);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid var(--border);background:var(--bg-3);color:var(--text-muted);transition:background .12s,color .12s,border-color .12s}.domain-btn:first-child{border-radius:4px 0 0 4px}.domain-btn:last-child{border-radius:0 4px 4px 0}.domain-btn+.domain-btn{border-left:none}.domain-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.domain-btn.active{background:var(--accent-tint);border-color:var(--accent-border);color:var(--accent-strong);font-weight:var(--fw-semibold)}.domain-btn:disabled{opacity:.4;cursor:not-allowed}.scenario-selector.sectioned{align-items:flex-start}.scenario-selector.sectioned label{padding-top:8px}.scenario-selector.sectioned .dropdown{position:relative;flex:1}.dropdown-trigger{width:100%;height:32px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:0 var(--sp-3);background:var(--bg-3);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:var(--fs-body);font-weight:var(--fw-regular);cursor:pointer}.dropdown-trigger:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-hover)}.dropdown-trigger:disabled{opacity:.4;cursor:not-allowed}.dropdown-trigger .dropdown-placeholder{color:var(--text-faint)}.dropdown-trigger svg{color:var(--text-muted);flex-shrink:0}.dropdown-menu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:360px;overflow-y:auto;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 8px 24px #00000073;padding:var(--sp-1) 0}.dropdown-group+.dropdown-group{border-top:1px solid var(--border-faint)}.dropdown-section-header{font-size:var(--fs-sub);font-weight:var(--fw-regular);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:6px var(--sp-3) 2px;-webkit-user-select:none;user-select:none}.dropdown-option{width:100%;text-align:left;display:flex;flex-direction:column;gap:1px;padding:6px var(--sp-3);background:none;border:none;cursor:pointer}.dropdown-option:hover,.dropdown-option.selected{background:var(--bg-hover)}.dropdown-option-label{font-size:var(--fs-body);color:var(--text)}.dropdown-option-meta{font-size:var(--fs-sub);color:var(--text-faint)}.scenario-flagged-note{margin-top:var(--sp-1);font-size:var(--fs-sub);line-height:1.45;color:var(--text-muted)}.channel-pill{font-size:var(--fs-sub);color:var(--text-muted);padding:2px 8px;border:1px solid var(--border);border-radius:999px;white-space:nowrap}.transparency-notice{display:flex;align-items:flex-start;gap:6px;font-size:11px;line-height:1.45;padding:6px 10px;background:#7aa7e814;border:1px solid rgba(122,167,232,.22);color:var(--text-faint);border-radius:4px}.transparency-notice-icon{display:inline-flex;align-items:center;color:#7aa7e8f2;flex-shrink:0;padding-top:1px}.btn-link.request-human{color:var(--accent)}.btn-link.request-human:hover:not(:disabled){color:var(--text)}.messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);background:var(--bg-0);border:1px solid var(--border);border-radius:6px}.msg{padding:var(--sp-3);border-radius:4px;background:var(--bg-1);border-left:2px solid var(--border)}.msg-role{font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);margin-bottom:4px}.msg-body{white-space:pre-wrap;line-height:1.5;font-size:var(--fs-body)}.msg-customer{border-left-color:var(--layer-spotlighting)}.msg-customer .msg-role{color:#6a8fd6d9}.msg-agent{border-left-color:var(--status-complete)}.msg-agent .msg-role{color:#7fc8a0d9}.msg-system{border-left-color:var(--role-gate);background:var(--bg-2);font-style:italic}.msg-system .msg-role{color:#b58358d9}.composer{display:flex;gap:var(--sp-2)}.composer textarea{flex:1;min-height:64px;font-size:var(--fs-body)}.composer .btn-send{align-self:flex-end;height:32px}.error{color:var(--status-blocked);font-size:var(--fs-sub);padding:var(--sp-2) var(--sp-3);background:#d6888812;border:1px solid rgba(214,136,136,.18);border-radius:4px}.hitl-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);background:var(--bg-1);border:1px solid var(--border);border-radius:6px}.hitl-badge-row{display:flex;gap:var(--sp-2);flex-wrap:wrap}.hitl-badge{display:inline-flex;align-items:center;font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:#7aa7e81a;color:var(--status-processing);border:1px solid rgba(122,167,232,.25);line-height:1.4}.hitl-badge-warn{background:#d8b8781a;color:var(--status-flagged);border-color:#d8b87847}.brief-section{display:flex;flex-direction:column;gap:4px}.brief-section h4{font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}.brief-section p{margin:0;line-height:1.5;font-size:var(--fs-body)}.recommendation-headline{font-weight:var(--fw-semibold)}.recommendation-detail{color:var(--text-muted)}.risk-ok{display:flex;align-items:center;gap:var(--sp-2);background:#7fc8a00f;border-left:2px solid var(--status-complete);padding:var(--sp-2) var(--sp-3);border-radius:4px;font-size:var(--fs-body)}.risk-ok .risk-dot.ok{color:var(--status-complete);font-size:8px}.risk-block{padding:var(--sp-2) var(--sp-3);border-radius:4px;border-left:2px solid}.risk-block.severity-warn{background:#d8b8780f;border-left-color:var(--status-flagged)}.risk-block.severity-danger{background:#d688880f;border-left-color:var(--status-blocked)}.risk-header{font-size:var(--fs-sub);font-weight:var(--fw-semibold);letter-spacing:.03em;text-transform:uppercase;margin-bottom:4px}.risk-block.severity-warn .risk-header{color:var(--status-flagged)}.risk-block.severity-danger .risk-header{color:var(--status-blocked)}.risk-list{margin:0;padding-left:var(--sp-4);display:flex;flex-direction:column;gap:2px}.risk-item{font-size:var(--fs-body);color:var(--text-muted)}.risk-item.severity-danger{color:#d68888eb}.risk-item.severity-warn{color:#d8b878eb}.pii-notice p{color:var(--text-muted);font-size:var(--fs-body)}.pii-pill{display:inline-flex;align-items:center;background:#7ab3c41a;color:var(--layer-pii);border:1px solid rgba(122,179,196,.28);padding:1px 7px;border-radius:999px;font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:uppercase}.hitl-actions{display:flex;gap:var(--sp-2);margin-top:4px}.hitl-disclosure{align-self:flex-start;background:transparent;color:var(--text-faint);border:none;padding:0;cursor:pointer;font-size:var(--fs-sub);font-weight:var(--fw-medium)}.hitl-disclosure:hover{color:var(--text-muted)}.hitl-plan-json{background:var(--bg-0);color:var(--text-muted);padding:var(--sp-2) var(--sp-3);border-radius:4px;border:1px solid var(--border-faint);max-height:260px;overflow:auto;font-size:var(--fs-sub);margin:0}.trace{display:flex;flex-direction:column;height:100%;gap:var(--sp-2)}.trace-header{display:flex;align-items:center;gap:var(--sp-3)}.trace-header h2{flex:1}.trace-tabs{display:flex;gap:2px}.tab{background:var(--bg-3);color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:0 var(--sp-3);height:28px;cursor:pointer;font-size:var(--fs-body);font-weight:var(--fw-regular);letter-spacing:.02em}.tab:hover{background:var(--bg-hover);color:var(--text)}.tab.active{background:var(--accent-tint);color:var(--text);border-color:var(--accent-border)}.trace-status{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--fs-badge);padding:2px 8px;border-radius:999px;background:var(--bg-3);color:var(--text-muted);letter-spacing:.04em}.trace-status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex:none}.trace-status[data-status=open]{background:#7fc8a01a;color:var(--status-complete)}.trace-status[data-status=open] .trace-status-dot{background:var(--status-complete)}.trace-status[data-status=closed],.trace-status[data-status=error],.trace-status[data-status=lost],.trace-status[data-status=reconnecting],.trace-status[data-status=connecting]{background:#d688881a;color:var(--status-blocked)}.trace-status[data-status=closed] .trace-status-dot,.trace-status[data-status=error] .trace-status-dot,.trace-status[data-status=reconnecting] .trace-status-dot,.trace-status[data-status=connecting] .trace-status-dot{background:var(--status-blocked);animation:trace-status-pulse 1.2s ease-in-out infinite}.trace-status[data-status=lost] .trace-status-dot{background:var(--status-blocked)}.trace-reload-btn{margin-left:6px;background:transparent;border:1px solid rgba(214,136,136,.4);color:var(--status-blocked);border-radius:4px;padding:1px 6px;font-size:var(--fs-sub);cursor:pointer}.trace-reload-btn:hover{background:#d6888824}@keyframes trace-status-pulse{0%,to{opacity:1}50%{opacity:.3}}.trace-expand-btn{background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;height:28px;padding:0 var(--sp-2);font-size:var(--fs-sub);font-weight:var(--fw-medium);cursor:pointer}.trace-expand-btn:hover{background:var(--bg-hover);color:var(--text)}.trace-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;background:var(--bg-0);border:1px solid var(--border);border-radius:6px;padding:4px}.trace-row{display:flex;flex-direction:column;padding:6px var(--sp-3);border-left:2px solid transparent;cursor:pointer;transition:background .12s ease;min-height:32px}.trace-row:nth-child(2n){background:#ffffff05}.trace-row:hover{background:var(--bg-hover)}.trace-row.is-selected{background:#ab986a1a}.trace-row-head{display:flex;align-items:center;gap:var(--sp-3)}.trace-time{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-faint)}.trace-layer{font-weight:var(--fw-semibold);font-size:var(--fs-body);letter-spacing:.01em}.trace-outcome{font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:4px}.outcome-pass{color:var(--status-complete)}.outcome-fail{color:var(--status-blocked)}.outcome-flagged{color:var(--status-flagged)}.outcome-skipped{color:var(--status-skipped)}.outcome-unknown{color:var(--text-faint)}.trace-off{font-size:var(--fs-badge);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--status-blocked);padding:1px 6px;border:1px solid rgba(214,136,136,.3);border-radius:4px}.trace-latency{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-faint)}.trace-action{color:var(--text-muted);font-size:var(--fs-sub);margin-top:2px}.trace-meta{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--bg-1);border-radius:4px;font-size:var(--fs-sub);color:var(--text-muted);max-height:140px;overflow:auto}.process-view{flex:1;overflow-y:auto;background:var(--bg-0);border:1px solid var(--border);border-radius:6px;padding:var(--sp-3) var(--sp-2)}.process-timeline{list-style:none;margin:0;padding:0 0 0 var(--sp-2);position:relative}.process-timeline:before{content:"";position:absolute;left:13px;top:8px;bottom:8px;width:1px;background:#ffffff1a}.process-step{position:relative;display:flex;gap:var(--sp-3);padding:6px var(--sp-3) 6px var(--sp-5);margin:0 0 4px;border-left:2px solid transparent;border-radius:4px;cursor:pointer;transition:background .12s ease}.process-step:hover{background:var(--bg-hover)}.process-step.is-selected{background:#ab986a1a}.process-step.severity-warn{border-left-color:var(--status-flagged)}.process-step.severity-danger{border-left-color:var(--status-blocked)}.process-step.is-active{background:#7aa7e80f;border-left-color:var(--status-processing);animation:pulse-active 1.8s ease-in-out infinite}@keyframes pulse-active{0%,to{box-shadow:inset 0 0 #7aa7e800}50%{box-shadow:inset 0 0 0 1px #7aa7e82e}}.step-icon{position:absolute;left:6px;top:8px;width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--bg-0);font-size:11px;line-height:1}.step-icon.pending{color:var(--text-faint)}.step-icon.in-progress{color:var(--status-processing);animation:pulse-icon 1.4s ease-in-out infinite}.step-icon.active{color:var(--status-processing)}.step-icon.complete{color:var(--status-complete)}.step-icon.flagged{color:var(--status-blocked)}@keyframes pulse-icon{0%,to{opacity:.5}50%{opacity:1}}.step-body{flex:1;display:flex;flex-direction:column;gap:2px}.step-head{display:flex;gap:var(--sp-2);align-items:center}.step-label{font-weight:var(--fw-semibold);font-size:var(--fs-body);color:var(--text)}.process-step.severity-warn .step-label{color:var(--status-flagged)}.process-step.severity-danger .step-label{color:var(--status-blocked)}.step-time{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-faint)}.step-detail{color:var(--text-muted);font-size:var(--fs-sub);line-height:1.45}.process-boundary{list-style:none;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-5);margin:2px 0}.boundary-line{flex:1;height:1px;border-top:1px dashed rgba(216,184,120,.55)}.boundary-label{display:flex;flex-direction:column;align-items:center;min-width:180px}.boundary-title{font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--status-flagged)}.boundary-detail{font-size:var(--fs-sub);color:var(--text-faint);text-align:center;line-height:1.4;margin-top:2px}.trace-graph{flex:1;background:var(--bg-0);border:1px solid var(--border);border-radius:6px;min-height:400px}.trace-graph-vertical{position:relative}.trace-graph-vertical .react-flow__node{cursor:pointer}.trace-graph-vertical .react-flow__attribution{display:none}.trace-graph-vertical .react-flow__controls{background:#0d1119d9;border:1px solid var(--border);border-radius:4px}.trace-graph-vertical .react-flow__controls button{background:transparent;color:var(--text);border-bottom:1px solid var(--border)}.trace-graph-vertical .react-flow__controls button:hover{background:var(--bg-hover)}.trace-graph-vertical .react-flow__edge-path{stroke-linecap:round}.trace-graph-vertical .react-flow__handle{width:5px;height:5px;border:none;opacity:.6}.graph-node{background:var(--bg-1);border:1px solid var(--border);border-radius:6px;padding:var(--sp-3) var(--sp-4);color:var(--text);font-size:var(--fs-body);display:flex;flex-direction:column;gap:4px;position:relative;transition:border-color .15s ease,background .15s ease}.graph-node .gn-row{display:flex;align-items:center;gap:var(--sp-2)}.graph-node .gn-row-head{justify-content:space-between}.graph-node .gn-title{font-size:var(--fs-node-title);font-weight:var(--fw-semibold);letter-spacing:.005em}.graph-node .gn-sub{font-size:var(--fs-sub);color:var(--text-muted);line-height:1.4}.graph-node .gn-row-foot{justify-content:space-between;margin-top:2px}.graph-node .gn-role-label{font-size:var(--fs-badge);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.graph-node .gn-pill{font-size:var(--fs-badge);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.05em;padding:0;color:var(--text-faint);background:transparent}.pill-processing{color:var(--status-processing)}.pill-complete{color:var(--status-complete)}.pill-flagged{color:var(--status-flagged)}.pill-blocked{color:var(--status-blocked)}.pill-skipped{color:var(--status-skipped)}.gn-role-preprocessor{background:var(--bg-1);border-color:var(--border)}.gn-role-planner{background:var(--role-planner-bg);border-color:#4eb19a99}.gn-role-planner .gn-title{color:#b9e4d6}.gn-role-gate{background:var(--role-gate-bg);border-color:#b583588c}.gn-role-gate .gn-title{color:#e6c89a}.gn-role-executor{background:var(--role-executor-bg);border-color:#c478888c}.gn-role-executor .gn-title{color:#efc4ce}.gn-state-idle{opacity:.78}.gn-state-processing{border-color:#7aa7e8d9}.gn-state-complete{border-color:#7fc8a08c}.gn-state-flagged{border-color:#d8b878a6}.gn-state-blocked{border-color:#d68888a6}.gn-state-skipped{opacity:.5;border-style:dashed}.gn-selected{outline:1px solid var(--accent);outline-offset:2px}.graph-boundary{display:flex;align-items:center;gap:var(--sp-2);height:100%;padding:0 var(--sp-1)}.graph-boundary .boundary-rule{flex:1;height:0;border-top:1px dashed rgba(216,184,120,.55)}.graph-boundary .boundary-label{display:inline-flex;align-items:center;padding:2px 10px;background:#d8b8780f;border:1px dashed rgba(216,184,120,.5);border-radius:3px;white-space:nowrap}.graph-boundary .boundary-title{font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--status-flagged);line-height:1.4}.trace-graph-expanded{min-height:75vh}.trace-graph-expanded .graph-node .gn-title{font-size:14px}.trace-graph-expanded .graph-node .gn-sub{font-size:12px}.admin{padding:var(--sp-4);max-width:980px;margin:0 auto;overflow-y:auto;height:100%}.admin h2{margin:0 0 var(--sp-4)}.admin-section{background:var(--bg-1);border:1px solid var(--border);border-radius:6px;padding:var(--sp-4);margin-bottom:var(--sp-3)}.admin-section header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2)}.admin-section header h3{margin:0;flex:1;font-size:var(--fs-section);font-weight:var(--fw-semibold);letter-spacing:.01em}.hint{color:var(--text-muted);font-size:var(--fs-sub);margin:2px 0 var(--sp-3)}.toggle-row{display:flex;gap:var(--sp-2);align-items:center;padding:4px 0;cursor:pointer;font-size:var(--fs-body)}.toggle-row input[type=checkbox]{width:14px;height:14px;cursor:pointer}.field-row{display:flex;gap:var(--sp-3);align-items:center;margin:var(--sp-2) 0}.field-row.vertical{flex-direction:column;align-items:stretch}.field-row label{min-width:120px}.field-row input,.field-row select,.field-row textarea{flex:1;height:36px;font-size:var(--fs-body)}.field-row textarea{height:auto;min-height:100px}.model-block{background:var(--bg-0);border:1px solid var(--border);border-radius:4px;padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2)}.model-block h4{margin:0 0 var(--sp-2);font-size:var(--fs-sub);font-weight:var(--fw-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.deployment-mode{margin-bottom:var(--sp-3)}.deployment-mode h4{margin:0 0 var(--sp-1);font-size:var(--fs-sub);font-weight:var(--fw-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.deployment-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-2)}.deployment-preset{position:relative;display:flex;flex-direction:column;gap:4px;text-align:left;padding:var(--sp-2) var(--sp-3);background:var(--bg-0);border:1px solid var(--border);border-radius:6px;cursor:pointer;height:auto;transition:border-color .15s,background .15s}.deployment-preset:hover{border-color:var(--border-strong)}.deployment-preset.is-active{border-color:var(--status-complete);background:#7fc8a014}.deployment-preset-title{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text)}.deployment-preset-tag{font-size:var(--fs-badge);text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:999px;background:#7fc8a026;color:var(--status-complete);border:1px solid rgba(127,200,160,.3)}.deployment-preset-desc{font-size:var(--fs-sub);color:var(--text-muted);line-height:1.4}.deployment-preset-note{font-size:var(--fs-sub);color:var(--status-processing);font-family:var(--font-mono)}.deployment-preset.is-disabled,.deployment-preset[disabled]{opacity:.45;cursor:not-allowed;border-color:var(--border);background:var(--bg-0)}.deployment-preset.is-disabled:hover,.deployment-preset[disabled]:hover{border-color:var(--border)}.deployment-preset.is-disabled .deployment-preset-note,.deployment-preset[disabled] .deployment-preset-note{color:var(--text-muted)}.deployment-preset.is-restricted{opacity:.48;cursor:not-allowed;border-color:#d6888866;background:var(--bg-0)}.deployment-preset.is-restricted:hover{border-color:#d68888a6}.deployment-preset.is-restricted .deployment-preset-note{color:var(--text-muted)}.deployment-preset-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;background:var(--bg-1, #1a1d2e);color:var(--text);font-size:var(--fs-sub);padding:4px 10px;border-radius:4px;border:1px solid var(--border-strong);pointer-events:none;z-index:20}.deployment-preset.is-restricted:hover .deployment-preset-tooltip{display:block}.field-fixed{font-size:var(--fs-body);color:var(--text-muted);padding:2px 0;font-style:italic}.api-key-status{font-size:var(--fs-sub);font-family:var(--font-mono);display:inline-flex;align-items:center}.api-key-status.is-set{color:var(--status-complete)}.api-key-status.is-missing{color:var(--status-blocked)}.kb-table{width:100%;border-collapse:collapse;margin-top:var(--sp-2);font-size:var(--fs-body)}.kb-table th,.kb-table td{padding:6px var(--sp-3);text-align:left;border-bottom:1px solid var(--border-faint)}.kb-table th{color:var(--text-faint);font-weight:var(--fw-medium);font-size:var(--fs-badge);letter-spacing:.05em;text-transform:uppercase}.step-lock{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--layer-pii);opacity:.75}.step-lock-closing{color:var(--status-flagged)}.step-lock-opening{color:var(--status-complete)}.process-step.in-sanitised-zone{background:#7ab3c40a;position:relative}.process-step.in-sanitised-zone:after{content:"";position:absolute;left:13px;top:0;bottom:0;width:1px;background:#7ab3c466}.process-step.pii-boundary-enter,.process-step.pii-boundary-exit{background:#7ab3c412}.process-step.pii-boundary-enter .step-label,.process-step.pii-boundary-exit .step-label{color:var(--layer-pii)}.trace-lock{display:inline-flex;align-items:center;color:var(--layer-pii);opacity:.7;margin-right:2px}.graph-zone{width:100%;height:100%;background:#7ab3c40d;border:1px dashed rgba(122,179,196,.35);border-radius:8px;position:relative;pointer-events:none}.graph-zone-label{position:absolute;top:-10px;left:12px;display:inline-flex;align-items:center;gap:4px;background:var(--bg-0);color:var(--layer-pii);font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border:1px solid rgba(122,179,196,.35);border-radius:999px;line-height:1.4}.gn-head-meta{display:inline-flex;align-items:center;gap:6px}.gn-lock{display:inline-flex;align-items:center;color:var(--layer-pii);opacity:.75}.gn-pii-tag{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:uppercase;padding:1px 7px;border-radius:999px;line-height:1.4}.gn-pii-tag.mask{background:#d8b8781a;color:var(--status-flagged);border:1px solid rgba(216,184,120,.35)}.gn-pii-tag.unmask{background:#7fc8a01a;color:var(--status-complete);border:1px solid rgba(127,200,160,.35)}.gn-role-pii{background:#7ab3c40f;border-color:#7ab3c48c}.gn-role-pii .gn-title{color:#c6dde6}.recommendation-note{display:flex;align-items:flex-start;gap:6px;margin-top:4px;padding:6px 10px;background:#7ab3c40f;border-left:2px solid rgba(122,179,196,.5);border-radius:3px;font-size:var(--fs-sub);color:var(--text-muted);line-height:1.45}.rec-note-icon{display:inline-flex;align-items:center;color:var(--layer-pii);margin-top:2px}.hitl-tech{display:flex;flex-direction:column;gap:var(--sp-2)}.hitl-tech-section{display:flex;flex-direction:column;gap:4px}.hitl-tech-label{font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}.msg-footer{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:var(--fs-badge);letter-spacing:.03em;color:var(--text-faint)}.msg-footer-icon{display:inline-flex;align-items:center;color:var(--status-complete);opacity:.7}.admin-warning{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-3);background:#d8b87814;border:1px solid rgba(216,184,120,.4);border-radius:4px;font-size:var(--fs-body);color:var(--status-flagged);line-height:1.45}.admin-warning strong{color:var(--status-flagged);font-weight:var(--fw-semibold)}.admin-warning-icon{display:inline-flex;align-items:center;color:var(--status-flagged);margin-top:1px}.thinking-block{margin-top:8px;background:var(--bg-0);border:1px solid var(--border);border-radius:4px;overflow:hidden}.thinking-block.is-streaming{border-color:#7aa7e873}.thinking-banner{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#7ab3c40f;border-bottom:1px solid var(--border);font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:uppercase;color:var(--layer-pii)}.thinking-banner-icon{display:inline-flex;align-items:center;color:var(--layer-pii)}.thinking-pulse{margin-left:auto;color:var(--status-processing);animation:pulse-icon 1.4s ease-in-out infinite}.thinking-toggle{margin-left:auto;background:transparent;border:none;color:var(--text-faint);cursor:pointer;font-size:var(--fs-badge);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.04em;padding:0}.thinking-toggle:hover{color:var(--text-muted)}.thinking-scroll{max-height:300px;overflow-y:auto;padding:8px 10px}.thinking-text{margin:0;font-family:var(--font-mono);font-size:var(--fs-sub);line-height:1.55;color:var(--text-muted);white-space:pre-wrap;word-break:break-word}.trace-row.is-thinking{background:#7aa7e80a}.trace-row.is-thinking .trace-outcome{color:var(--status-processing);animation:pulse-icon 1.4s ease-in-out infinite}.trace-thinking{margin:6px 0 0;padding:6px 8px;background:var(--bg-0);border:1px solid var(--border-faint);border-radius:3px;font-family:var(--font-mono);font-size:var(--fs-sub);line-height:1.5;color:var(--text-muted);white-space:pre-wrap;word-break:break-word;max-height:110px;overflow:auto}.gn-thinking-preview{font-family:var(--font-mono);font-size:var(--fs-badge);color:var(--text-muted);background:#7aa7e80f;border:1px solid rgba(122,167,232,.18);border-radius:3px;padding:3px 6px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}@keyframes pulse-border{0%,to{box-shadow:0 0 #7aa7e800}50%{box-shadow:0 0 0 3px #7aa7e82e}}.graph-node.gn-streaming{animation:pulse-border 1.6s ease-in-out infinite;border-color:#7aa7e8bf}.analytics{padding:var(--sp-4);max-width:1280px;margin:0 auto;overflow-y:auto;height:100%}.analytics-header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.analytics-header h2{flex:1;font-size:var(--fs-section);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.period-toggle{display:flex;gap:2px}.analytics-section{margin-bottom:var(--sp-5)}.analytics-section .section-h{font-size:var(--fs-section);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 var(--sp-3)}.metric-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-3)}.metric-card{background:var(--bg-1);border:1px solid var(--border);border-radius:6px;padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:4px}.metric-label{font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}.metric-value{font-size:24px;font-weight:var(--fw-semibold);color:var(--text);letter-spacing:-.01em}.metric-hint{font-size:var(--fs-sub);color:var(--text-muted)}.chart-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:var(--sp-3)}.chart-card{background:var(--bg-1);border:1px solid var(--border);border-radius:6px;padding:var(--sp-3);min-width:0}.chart-card h3{font-size:var(--fs-sub);font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--sp-2)}.pattern-table-wrap,.alert-history{background:var(--bg-1);border:1px solid var(--border);border-radius:6px;overflow:auto}.pattern-table-empty,.alert-history-empty{background:var(--bg-1);border:1px solid var(--border);border-radius:6px;padding:var(--sp-4);color:var(--text-faint);font-style:italic;font-size:var(--fs-body)}.pattern-table,.alert-table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.pattern-table th,.pattern-table td,.alert-table th,.alert-table td{text-align:left;padding:8px var(--sp-3);border-bottom:1px solid var(--border-faint)}.pattern-table th,.alert-table th{font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);background:var(--bg-2)}.pattern-flags{color:var(--text);font-family:var(--font-mono);font-size:var(--fs-sub)}.pattern-label-cell{line-height:1.3}.pattern-label{color:var(--text);font-weight:600}.pattern-flags-sub{margin-top:2px;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-tiny, 11px)}.pattern-category{font-size:var(--fs-badge);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.04em}.pattern-adversarial .pattern-category{color:var(--status-blocked)}.pattern-borderline .pattern-category{color:var(--status-flagged)}.pattern-legitimate .pattern-category{color:var(--status-complete)}.pattern-count{font-family:var(--font-mono)}.trend-arrow{font-size:14px;font-weight:var(--fw-semibold)}.trend-up{color:var(--status-blocked)}.trend-down{color:var(--status-complete)}.trend-stable{color:var(--text-faint)}.alert-row.severity-critical .alert-message{color:var(--status-blocked)}.alert-row.severity-warning .alert-message{color:var(--status-flagged)}.alert-row.severity-info .alert-message{color:var(--status-processing)}.severity-badge{font-size:var(--fs-badge);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.04em;padding:1px 7px;border-radius:999px}.severity-badge.severity-critical{background:#d688881f;color:var(--status-blocked);border:1px solid rgba(214,136,136,.3)}.severity-badge.severity-warning{background:#d8b8781f;color:var(--status-flagged);border:1px solid rgba(216,184,120,.3)}.severity-badge.severity-info{background:#7aa7e81f;color:var(--status-processing);border:1px solid rgba(122,167,232,.3)}.audit{padding:var(--sp-4);max-width:1280px;margin:0 auto;overflow-y:auto;height:100%}.audit-header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3)}.audit-header h2{flex:1;font-size:var(--fs-section);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.audit-filters{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3);padding:var(--sp-3);background:var(--bg-1);border:1px solid var(--border);border-radius:6px}.audit-filters .field-row{margin:0;flex:1;min-width:180px}.audit-filters input,.audit-filters select{height:28px}.audit-table-wrap{background:var(--bg-1);border:1px solid var(--border);border-radius:6px;overflow:auto}.audit-table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.audit-table th,.audit-table td{text-align:left;padding:8px var(--sp-3);border-bottom:1px solid var(--border-faint)}.audit-table th{font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);background:var(--bg-2)}.audit-row{cursor:pointer}.audit-row:hover{background:var(--bg-hover)}.audit-row.expanded{background:#ab986a0f}.audit-time{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-faint);white-space:nowrap}.audit-event{font-family:var(--font-mono);font-size:var(--fs-sub);color:var(--text)}.audit-detail-row td{background:var(--bg-0);padding:var(--sp-3)}.audit-detail{font-family:var(--font-mono);font-size:var(--fs-sub);color:var(--text-muted);white-space:pre-wrap;margin:0}.audit-reveal{display:inline-flex;align-items:center;gap:4px;background:var(--bg-3);color:var(--text);border:1px solid var(--border-strong);border-radius:4px;padding:4px 10px;font-size:var(--fs-sub);cursor:pointer;margin-top:var(--sp-2)}.audit-reveal:hover{background:var(--bg-hover)}.audit-revealed-banner{display:flex;align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:#d8b87814;border:1px solid rgba(216,184,120,.3);border-radius:4px;font-size:var(--fs-sub);color:var(--status-flagged)}.pii-map{margin-top:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-sub)}.pii-map-row{display:flex;gap:var(--sp-2);padding:2px 0}.pii-map-token{color:var(--layer-pii);min-width:120px}.pii-map-value{color:var(--text)}.crosslink-back{margin:var(--sp-2) 0 var(--sp-3);font-size:var(--fs-sub)}.crosslink-back a{color:var(--text-dim);text-decoration:none}.crosslink-back a:hover{color:var(--text)}.filter-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);background:#6a8fd614;border:1px solid rgba(106,143,214,.3);border-radius:4px;font-size:var(--fs-sub);color:var(--text)}.filter-banner-count{color:var(--text-dim)}.filter-banner-clear{background:transparent;color:var(--text-dim);border:1px solid var(--border-strong);border-radius:3px;padding:2px 8px;font-size:var(--fs-sub);cursor:pointer}.filter-banner-clear:hover{background:var(--bg-hover);color:var(--text)}.include-live-toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sub);color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.include-live-toggle input{margin:0;cursor:pointer}.include-live-toggle:hover{color:var(--text)}.mute-indicator{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:4px 10px;background:#d688881a;border:1px solid rgba(214,136,136,.4);border-radius:4px;font-size:var(--fs-sub);color:var(--status-fail, #d68888);text-decoration:none;letter-spacing:.04em;text-transform:uppercase}.mute-indicator:hover{background:#d688882e;color:var(--status-fail, #d68888)}.mute-indicator svg{display:block}.mute-card{margin:var(--sp-2) 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:4px;border:1px solid var(--border);background:var(--bg-2)}.mute-card.muted{border-color:#d6888866;background:#d688880f}.forensic{padding:var(--sp-3) var(--sp-4);max-width:1100px;margin:0 auto}.forensic-header{margin-bottom:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-3)}.forensic-header-actions{flex-shrink:0}.forensic-header h2{margin:0 0 6px;font-weight:600}.forensic-sub{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.forensic-flags{margin-top:var(--sp-2);display:flex;gap:6px;flex-wrap:wrap}.risk-flag-chip{font-family:var(--font-mono);font-size:var(--fs-tiny, 11px);padding:2px 8px;border-radius:3px;background:var(--bg-2);border:1px solid var(--border);color:var(--text-dim)}.forensic-id{margin-top:var(--sp-2);font-size:var(--fs-sub);color:var(--text-dim)}.forensic-id code{font-family:var(--font-mono)}.forensic-section{margin-top:var(--sp-4)}.forensic-outcome{display:inline-block;padding:2px 8px;font-size:var(--fs-tiny, 11px);font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:3px;background:var(--bg-2);border:1px solid var(--border)}.forensic-outcome-rejected{background:#d688881f;border-color:#d6888866;color:#d68888}.forensic-outcome-completed{background:#7fc8a01f;border-color:#7fc8a066;color:#7fc8a0}.forensic-outcome-in_progress{background:#d8b8781f;border-color:#d8b87866;color:#d8b878}.forensic-conversation{display:flex;flex-direction:column;gap:var(--sp-3)}.forensic-block-h{font-size:var(--fs-sub);color:var(--text-dim);margin-bottom:6px}.forensic-text{background:var(--bg-2);border:1px solid var(--border);border-radius:4px;padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-sub);white-space:pre-wrap;word-wrap:break-word;color:var(--text);margin:0}.forensic-hitl{padding:var(--sp-2) var(--sp-3);border-radius:4px;border:1px solid var(--border);background:var(--bg-2)}.forensic-hitl.rejected{border-color:#d6888866;background:#d688880f}.forensic-hitl.approved{border-color:#7fc8a066;background:#7fc8a00f}.forensic-hitl.auto-approved{border-color:#e6b25a73;background:#e6b25a14}.hitl-badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border-radius:3px;vertical-align:middle;margin-left:6px}.hitl-badge-auto{color:#7a5410;background:#e6b25a38;border:1px solid rgba(230,178,90,.55)}.forensic-hitl-row{display:flex;align-items:baseline;gap:var(--sp-2);margin-bottom:4px}.forensic-hitl-note{font-size:var(--fs-sub);color:var(--text-dim);margin-bottom:var(--sp-2)}.forensic-timeline{position:relative;padding-left:18px}.forensic-timeline:before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:1px;background:var(--border-strong)}.timeline-event{position:relative;margin-bottom:var(--sp-2)}.timeline-dot{position:absolute;left:-18px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--bg-3);border:2px solid var(--border-strong)}.timeline-layer-spotlighting .timeline-dot{border-color:var(--layer-spotlight, #6a8fd6)}.timeline-layer-pii_redaction .timeline-dot{border-color:var(--layer-pii, #7ab3c4)}.timeline-layer-instruction_hierarchy .timeline-dot{border-color:#957bc4}.timeline-layer-planner .timeline-dot{border-color:#d8b878}.timeline-layer-hitl .timeline-dot{border-color:#d68888}.timeline-layer-executor .timeline-dot{border-color:#7fc8a0}.timeline-event-row{cursor:pointer;padding:6px 8px;border-radius:3px}.timeline-event-row:hover{background:var(--bg-hover)}.timeline-event-head{display:flex;gap:var(--sp-2);align-items:baseline;font-size:var(--fs-sub)}.timeline-layer{font-weight:600;color:var(--text)}.timeline-action{color:var(--text);font-family:var(--font-mono);font-size:var(--fs-tiny, 11px)}.timeline-outcome{margin-left:auto;font-size:var(--fs-tiny, 11px);text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.timeline-outcome-pass{color:#7fc8a0}.timeline-outcome-fail{color:#d68888}.timeline-outcome-flagged{color:#d8b878}.timeline-outcome-skipped{color:var(--text-dim)}.timeline-event-meta{font-size:var(--fs-tiny, 11px);color:var(--text-dim);margin-top:2px}.timeline-toggle{margin-left:8px}.timeline-meta-pre{margin:6px 0 0 8px;background:var(--bg-2);border:1px solid var(--border);border-radius:3px;padding:8px 10px;font-family:var(--font-mono);font-size:var(--fs-tiny, 11px);color:var(--text-dim);max-height:320px;overflow:auto}.pattern-link a{color:var(--layer-spotlight);text-decoration:none;font-size:var(--fs-sub);white-space:nowrap}.pattern-link a:hover{text-decoration:underline}.pattern-link-disabled{color:var(--text-dim)}.audit-detail-actions{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-2)}.audit-trends-link{color:var(--layer-spotlight);text-decoration:none;font-size:var(--fs-sub)}.audit-trends-link:hover{text-decoration:underline}.alert-banner{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border);font-size:var(--fs-body)}.alert-banner.severity-critical{background:#d688881a;border-bottom-color:#d688884d;color:var(--status-blocked)}.alert-banner.severity-warning{background:#d8b8781a;border-bottom-color:#d8b8784d;color:var(--status-flagged)}.alert-banner.severity-info{background:#7aa7e81a;border-bottom-color:#7aa7e84d;color:var(--status-processing)}.alert-banner-icon{font-size:14px}.alert-banner-msg{flex:1}.alert-banner-time{font-family:var(--font-mono);font-size:var(--fs-badge);color:var(--text-faint)}.alert-banner-dismiss{background:transparent;border:1px solid currentColor;border-radius:4px;color:inherit;font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;cursor:pointer}.alert-banner-dismiss:hover{background:#ffffff0a}.compliance{padding:var(--sp-4);max-width:1280px;margin:0 auto;overflow-y:auto;height:100%}.compliance-header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.compliance-header h2{flex:1;font-size:var(--fs-section);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.compliance-header-actions{display:flex;gap:var(--sp-2)}.compliance-header .hint{font-size:var(--fs-sub);color:var(--text-faint);font-family:var(--font-mono)}.compliance-scorecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}.pdf-policy-header{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.pdf-policy-periods{margin-left:auto;display:flex;gap:4px}.btn-sm{padding:2px 10px;font-size:var(--fs-badge)}.pdf-policy-periods .btn.is-active{background:var(--accent, #2563eb);color:#fff;border-color:var(--accent, #2563eb)}.pdf-policy-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3);margin-top:var(--sp-3)}.pdf-policy-card{background:var(--bg-1);border:1px solid var(--border);border-radius:6px;padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:4px}.pdf-policy-num{font-size:1.6rem;font-weight:var(--fw-medium)}.pdf-policy-lab{font-size:var(--fs-badge);color:var(--text-2, #64748b)}.compliance-score{background:var(--bg-1);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:6px;padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:6px}.compliance-score-active{border-left-color:var(--status-complete)}.compliance-score-partial{border-left-color:var(--status-flagged)}.compliance-score-inactive{border-left-color:var(--status-blocked)}.compliance-score-label{font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}.compliance-score-value{font-size:18px;font-weight:var(--fw-semibold);color:var(--text)}.compliance-score-bar{height:6px;background:var(--bg-3);border-radius:3px;overflow:hidden}.compliance-score-bar-fill{height:100%;transition:width .3s ease}.compliance-score-bar-active{background:var(--status-complete)}.compliance-score-bar-partial{background:var(--status-flagged)}.compliance-score-bar-inactive{background:var(--status-blocked)}.compliance-score-pct{font-size:var(--fs-sub);color:var(--text-muted);font-family:var(--font-mono)}.compliance-section{margin-bottom:var(--sp-5)}.compliance-section-header{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:var(--sp-3)}.compliance-section-header .section-h{flex:1;margin:0}.compliance-chevron{display:inline-block;color:var(--text-faint);font-size:11px;transition:transform .15s ease}.compliance-chevron.open{transform:rotate(90deg)}.compliance-section-score{font-size:var(--fs-sub);color:var(--text-muted);font-family:var(--font-mono)}.compliance-table-wrap{background:var(--bg-1);border:1px solid var(--border);border-radius:6px;overflow:hidden}.compliance-table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.compliance-table th,.compliance-table td{text-align:left;padding:10px var(--sp-3);border-bottom:1px solid var(--border-faint)}.compliance-table th{font-size:var(--fs-badge);font-weight:var(--fw-medium);letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);background:var(--bg-2)}.compliance-table .col-article{width:110px;font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-muted)}.compliance-table .col-feature{color:var(--text-muted)}.compliance-table .col-status{width:110px}.compliance-row{cursor:pointer}.compliance-row:hover{background:var(--bg-hover)}.compliance-row.expanded{background:#ab986a0f}.compliance-detail-row td{background:var(--bg-2);border-bottom:1px solid var(--border);padding:var(--sp-3) var(--sp-4)}.compliance-detail{display:flex;flex-direction:column;gap:var(--sp-2)}.compliance-detail-explanation{color:var(--text);line-height:1.5;font-size:var(--fs-body)}.compliance-detail-checked{color:var(--text-muted);font-size:var(--fs-sub);line-height:1.5}.compliance-detail-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-medium)}.compliance-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.compliance-dot-active{background:var(--status-complete);box-shadow:0 0 6px #7fc8a073}.compliance-dot-partial{background:var(--status-flagged);box-shadow:0 0 6px #d8b87873}.compliance-dot-inactive{background:var(--status-blocked);box-shadow:0 0 6px #d6888873}.compliance-status{display:inline-flex;align-items:center;font-size:var(--fs-badge);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.04em}.compliance-status-active{color:var(--status-complete)}.compliance-status-partial{color:var(--status-flagged)}.compliance-status-inactive{color:var(--status-blocked)}.deployment-banner{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2);border-radius:6px;background:var(--bg-1);border:1px solid var(--border);font-size:var(--fs-sub)}.deployment-banner.is-sovereign{background:#7fc8a014;border-color:#7fc8a04d}.deployment-banner-flag{margin-right:6px}.deployment-banner-mode{color:var(--text)}.deployment-banner-tag{font-size:var(--fs-badge);text-transform:uppercase;letter-spacing:.04em;padding:1px 7px;border-radius:999px;background:#7fc8a026;color:var(--status-complete);border:1px solid rgba(127,200,160,.32)}.deployment-banner-models{margin-left:auto;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-mono)}.hitl-mode-banner{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2);border-radius:6px;font-size:var(--fs-sub);border:1px solid var(--border);background:var(--bg-1)}.hitl-mode-dot{width:8px;height:8px;border-radius:999px;flex:0 0 auto}.hitl-mode-ok{background:#7fc8a014;border-color:#7fc8a04d}.hitl-mode-ok .hitl-mode-dot{background:var(--status-complete);box-shadow:0 0 6px var(--status-complete)}.hitl-mode-warn{background:#e6b25a14;border-color:#e6b25a59}.hitl-mode-warn .hitl-mode-dot{background:#e6b25a;box-shadow:0 0 6px #e6b25ab3}.hitl-mode-note{margin-left:auto;color:var(--text-muted);font-size:var(--fs-mono)}.compliance-meta-grid{background:var(--bg-1);border:1px solid var(--border);border-radius:6px;padding:var(--sp-3);display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-2) var(--sp-4)}.compliance-meta-row{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-sub);padding:4px 0;border-bottom:1px solid var(--border-faint)}.compliance-meta-key{color:var(--text-faint);text-transform:capitalize;letter-spacing:.02em}.compliance-meta-val{color:var(--text);font-family:var(--font-mono);font-size:var(--fs-mono);text-align:right;word-break:break-word}.agent-status-table{width:100%;border-collapse:collapse;font-size:.82rem;margin-top:.5rem}.agent-status-table th,.agent-status-table td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));vertical-align:middle}.agent-status-table th{font-weight:var(--fw-semibold, 600);color:var(--status-skipped);text-transform:uppercase;font-size:.68rem;letter-spacing:.04em}.agent-status-table .mono,td.mono{font-family:var(--mono, ui-monospace, monospace);font-size:.78rem}.agent-pill{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.72rem;font-weight:var(--fw-semibold, 600);background:#7aa7e81f;color:var(--status-processing);border:1px solid rgba(122,167,232,.3)}.status-pill{display:inline-block;padding:.05rem .45rem;border-radius:999px;font-size:.72rem}.status-pill.status-flagged{background:#d8b8781f;color:var(--status-flagged);border:1px solid rgba(216,184,120,.3)}.status-pill.status-ok{color:var(--status-skipped)}.layer-breakdown{color:var(--status-skipped);font-size:.74rem}.threat-pill{display:inline-block;padding:.05rem .45rem;border-radius:999px;font-size:.72rem;font-weight:var(--fw-semibold, 600)}.threat-pill.threat-normal{color:var(--status-skipped);border:1px solid rgba(150,150,150,.25)}.threat-pill.threat-elevated{background:#d8b8781f;color:var(--status-flagged);border:1px solid rgba(216,184,120,.3)}.threat-pill.threat-high{background:#d6888824;color:var(--status-blocked);border:1px solid rgba(214,136,136,.35)}.threat-escalated-at{color:var(--status-skipped);font-size:.72rem}.dir-indicator{font-weight:var(--fw-semibold, 600)}.dir-indicator.dir-up{color:var(--status-blocked)}.dir-indicator.dir-down{color:var(--status-complete, #2e7d32)}.dir-indicator.dir-none{color:var(--status-skipped)}.mode-badge{display:inline-block;padding:.05rem .45rem;border-radius:999px;font-size:.72rem;font-weight:var(--fw-semibold, 600);border:1px solid rgba(150,150,150,.25)}.mode-badge.mode-autonomous{background:#78aad81f;color:var(--status-complete, #2e7d32);border-color:#78aad84d}.mode-badge.mode-supervised{background:#d8b8781f;color:var(--status-flagged);border-color:#d8b8784d}.conf-pill{display:inline-block;padding:.05rem .45rem;border-radius:999px;font-size:.72rem;font-weight:var(--fw-semibold, 600);border:1px solid rgba(150,150,150,.25)}.conf-pill.conf-high{color:var(--status-complete, #2e7d32);border-color:#78aa7859}.conf-pill.conf-mid{color:var(--status-flagged);border-color:#d8b87859}.conf-pill.conf-low{color:var(--status-blocked);border-color:#d6888859}.sem-filter-tabs{display:flex;gap:.35rem;margin:.4rem 0;flex-wrap:wrap}.sem-tab-active{outline:2px solid var(--accent, #6aa0d8);font-weight:var(--fw-semibold, 600)}.proposed-rule-box{padding:.6rem .75rem;border-radius:6px;background:#78aad81a;border:1px solid rgba(120,170,216,.3);font-weight:var(--fw-semibold, 600)}.anomaly-box{margin-top:.75rem;padding:.6rem .75rem;border-radius:6px;background:#d688881f;border:1px solid rgba(214,136,136,.4);color:var(--status-blocked)}.agent-links a{color:var(--status-processing);text-decoration:none;font-size:.76rem}.agent-links a:hover{text-decoration:underline}.agent-console{padding:1rem 1.25rem;overflow-y:auto}.agent-console h2{margin-top:0}.agent-field{display:block;margin:.6rem 0}.agent-field span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--status-skipped);margin-bottom:.2rem}.agent-field input,.agent-field textarea{width:100%;box-sizing:border-box;padding:.45rem .6rem;background:var(--panel, rgba(255,255,255,.03));color:inherit;border:1px solid var(--border, rgba(255,255,255,.12));border-radius:6px;font-family:inherit;font-size:.85rem}.agent-field textarea{resize:vertical;font-family:var(--mono, ui-monospace, monospace)}.agent-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.4rem}.btn-secondary{background:transparent}.session-note{margin-top:.4rem}.session-note .mono{font-family:var(--mono, ui-monospace, monospace);color:var(--text, inherit)}.agent-result{margin-top:1rem}.agent-reply{padding:.7rem .9rem;border-radius:8px;line-height:1.5;background:#7fc8a00f;border:1px solid rgba(127,200,160,.25)}.agent-summary{list-style:none;padding:0;margin:.8rem 0 0;font-size:.82rem}.agent-summary li{padding:.15rem 0;color:var(--status-skipped)}.agent-summary strong,.agent-summary .mono{color:var(--text, inherit)}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-muted);font-size:var(--fs-body)}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-0);padding:var(--sp-4)}.login-card{width:100%;max-width:360px;background:var(--bg-1);border:1px solid var(--border);border-radius:12px;padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3)}.login-logo{align-self:center;height:40px;width:auto;margin-bottom:var(--sp-2)}.login-sub{font-size:var(--fs-sub);color:var(--text-muted);margin-bottom:var(--sp-2)}.login-field{display:flex;flex-direction:column;gap:var(--sp-1)}.login-field span{font-size:var(--fs-sub);color:var(--text-muted)}.login-field input{background:var(--bg-3);border:1px solid var(--border);border-radius:6px;padding:10px 12px;color:var(--text);font-size:var(--fs-body);font-family:var(--font-sans)}.login-field input:focus{outline:none;border-color:var(--accent)}.login-error{font-size:var(--fs-sub);color:var(--status-blocked);background:#d688881a;border:1px solid rgba(214,136,136,.3);border-radius:6px;padding:8px 10px}.login-submit{margin-top:var(--sp-2);background:var(--accent);color:#fff;border:none;border-radius:6px;padding:10px 12px;font-size:var(--fs-body);font-weight:var(--fw-semibold);cursor:pointer}.login-submit:disabled{opacity:.6;cursor:default}.login-hint{font-size:var(--fs-sub);color:var(--text-faint);text-align:center}.login-hint.linklike{background:none;border:none;cursor:pointer;padding:0;margin-top:var(--sp-1)}.login-hint.linklike:hover{color:var(--text-muted);text-decoration:underline}.login-deploy-badge{align-self:center;display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sub);font-family:var(--font-mono);color:var(--text);background:var(--bg-3);border:1px solid var(--border);border-radius:20px;padding:4px 12px;white-space:nowrap;letter-spacing:.02em}.user-menu{display:flex;align-items:center;gap:var(--sp-3);margin-left:auto}.user-identity{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.user-email{font-size:var(--fs-sub);color:var(--text)}.user-role{font-size:var(--fs-badge);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.logout-btn{background:var(--bg-3);border:1px solid var(--border);color:var(--text-muted);border-radius:6px;padding:6px 12px;font-size:var(--fs-sub);cursor:pointer}.logout-btn:hover{color:var(--text);border-color:var(--border-strong)}.map-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-2)}.map-topbar-text{min-width:0}.map-title{margin:0;font-size:var(--fs-title);font-weight:var(--fw-medium);color:var(--text)}.map-subtitle{margin:var(--sp-1) 0 0;font-size:var(--fs-sub);color:var(--text-muted);max-width:64ch;line-height:1.5}.map-actions{display:flex;gap:var(--sp-2);flex-shrink:0}.map-btn-primary{background:var(--role-planner);border-color:var(--role-planner);color:var(--bg-0);font-weight:var(--fw-semibold)}.map-btn-primary:hover:not(:disabled){background:var(--role-planner);border-color:var(--role-planner);filter:brightness(1.08)}.map-btn-ghost{background:transparent}.map-btn-ghost:hover:not(:disabled){background:var(--bg-2)}.map-reg{margin-top:20px}.map-reg:first-of-type{margin-top:var(--sp-3)}.map-reg-divider{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:var(--fw-medium);color:var(--text-muted);padding:var(--sp-2) 0}.map-article{margin:0}.map-article-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);height:36px;padding-left:var(--sp-3);border-left:3px solid var(--role-planner);border-bottom:1px solid var(--border-faint)}.map-article-heading{display:flex;align-items:baseline;gap:var(--sp-3);min-width:0}.map-article-artnum{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:var(--fw-semibold);color:var(--text-muted);white-space:nowrap}.map-article-arttitle{font-size:14px;font-weight:var(--fw-regular);color:var(--text)}.map-article-count{flex-shrink:0;font-size:12px;color:var(--text-muted);white-space:nowrap}.map-req-row{display:flex;align-items:center;gap:var(--sp-4);min-height:40px;padding:var(--sp-2) 0 var(--sp-2) var(--sp-4)}.map-req-row.alt{background:#ffffff05}.map-req-main{flex:55 1 0;min-width:0;line-height:1.45}.map-req-text{font-size:13px;font-weight:var(--fw-regular);color:var(--text)}.map-req-feature{font-size:12px;color:var(--text-muted)}.map-req-status{flex:12 1 0;display:flex}.map-req-meta{flex:33 1 0;display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:2px}.map-req-metaline{display:flex;align-items:center;gap:var(--sp-2)}.map-req-version{font-size:11px;color:var(--text-muted)}.map-req-date{font-size:11px;color:var(--text-faint)}.map-req-sep{color:var(--text-faint);font-size:12px}.map-linkbtn{background:none;border:none;padding:0;cursor:pointer;font-size:12px;color:var(--role-planner)}.map-linkbtn:hover{text-decoration:underline}.map-req-delete{font-size:11px;color:var(--text-muted)}.map-req-delete:hover{color:var(--status-blocked);text-decoration:underline}.map-req-empty{padding:var(--sp-2) 0 var(--sp-2) var(--sp-4);font-size:var(--fs-sub)}.map-status-badge{display:inline-flex;align-items:center;font-size:var(--fs-badge);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:999px;border:1px solid currentColor;white-space:nowrap}.map-status-badge.status-complete{color:var(--status-complete);background:#7fc8a01f}.map-status-badge.status-flagged{color:var(--status-flagged);background:#d8b8781f}.map-status-badge.status-blocked{color:var(--status-blocked);background:#d688881f}.map-table{width:100%;border-collapse:collapse;font-size:var(--fs-sub)}.map-table th{text-align:left;color:var(--text-faint);font-weight:var(--fw-medium);padding:4px 8px;border-bottom:1px solid var(--border-faint)}.map-table td{padding:6px 8px;border-bottom:1px solid var(--border-faint);vertical-align:top;color:var(--text)}.map-dim{color:var(--text-faint)}.map-row-actions{white-space:nowrap;text-align:right}.map-badge{font-size:var(--fs-badge);text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;border-radius:4px;border:1px solid currentColor}.map-badge.status-complete{color:var(--status-complete)}.map-badge.status-flagged{color:var(--status-flagged)}.map-badge.status-blocked{color:var(--status-blocked)}.linkbtn{background:none;border:none;color:var(--status-processing);cursor:pointer;font-size:var(--fs-sub);padding:0 4px}.linkbtn:hover{text-decoration:underline}.linkbtn.danger{color:var(--status-blocked)}.map-history-row td{background:var(--bg-2)}.map-history{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3);margin-bottom:var(--sp-4);background:var(--bg-2);border-radius:6px}.map-hist-item{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sub)}.map-hist-item.current{font-weight:var(--fw-medium)}.map-hist-v{color:var(--text-faint);min-width:26px}.map-hist-text{flex:1;color:var(--text-muted)}.map-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:flex-end;z-index:50}.map-drawer{width:420px;max-width:90vw;height:100%;background:var(--bg-1);border-left:1px solid var(--border);padding:var(--sp-5);overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-3)}.map-drawer h4{margin:0;color:var(--text)}.map-drawer-article{font-size:var(--fs-sub);color:var(--text-muted)}.map-drawer-actions{display:flex;gap:var(--sp-2);justify-content:flex-end;margin-top:var(--sp-3)}.btn.ghost{background:var(--bg-3)}.user-mgmt>header{display:flex;align-items:center;justify-content:space-between}.user-table select{background:var(--bg-3);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:2px 6px;font-size:var(--fs-sub)}.onetime-banner{background:#7fc8a014;border:1px solid rgba(127,200,160,.3);border-radius:6px;padding:8px 12px;margin:var(--sp-2) 0;font-size:var(--fs-sub);color:var(--text)}.onetime-banner code{color:var(--status-complete);font-family:var(--font-mono)}.email-ingestion-table{width:100%}.email-ingestion-table tr.clickable-row{cursor:pointer}.email-ingestion-table tr.clickable-row:hover{background:var(--bg-hover)}.email-pager{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-2)}.email-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000080;display:flex;justify-content:flex-end}.email-drawer{width:min(640px,92vw);height:100%;overflow-y:auto;background:var(--bg-1);border-left:1px solid var(--border-strong);padding:var(--sp-4);box-shadow:-8px 0 24px #00000059}.email-drawer>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-3)}.email-drawer h4{margin:0}.email-drawer h5{margin:var(--sp-4) 0 var(--sp-2);color:var(--text-muted);font-size:var(--fs-sub);text-transform:uppercase;letter-spacing:.04em}.email-meta{display:grid;gap:4px;font-size:var(--fs-sub)}.email-body{white-space:pre-wrap;word-break:break-word;background:var(--bg-0);border:1px solid var(--border-faint);border-radius:6px;padding:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-sub);color:var(--text)}.defence-events{list-style:none;padding:0;margin:0;display:grid;gap:6px}.defence-events li{font-size:var(--fs-sub)}.defence-events code{color:var(--text-muted)}.attachment-panel{border:1px solid var(--border-faint);border-radius:6px;padding:var(--sp-3);margin-bottom:var(--sp-3);background:var(--bg-2)}.attachment-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.doc-type-badge{font-size:.72rem;padding:.05rem .5rem;border-radius:999px;background:var(--bg-3);border:1px solid var(--border);color:var(--text-muted)}.email-summary{font-size:var(--fs-sub);color:var(--text);margin:var(--sp-2) 0}.pii-table{width:100%;margin-top:var(--sp-2)}.pii-table code{color:var(--status-flagged);font-family:var(--font-mono)}.risk-flags{font-size:var(--fs-sub);color:var(--status-flagged);margin-top:var(--sp-2)}.pipeline-timeline{flex:1;overflow-y:auto;display:flex;flex-direction:column;background:var(--bg-0);border:1px solid var(--border);border-radius:6px;padding:var(--sp-3)}.pipeline-timeline.empty{justify-content:flex-start}.pipeline-stages{list-style:none;margin:0;padding:0;position:relative;flex:1}.pipeline-stages:before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:1px;background:var(--border);z-index:0}.pipeline-stage-wrap{position:relative}.pipeline-stage{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-2) 0}.stage-icon{position:relative;z-index:1;width:24px;height:24px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-2);color:var(--text-muted);box-shadow:0 0 0 3px var(--bg-0)}.stage-icon.done{background:#7fc8a029;color:var(--status-complete)}.stage-icon.active{background:#d8b8782e;color:var(--status-flagged)}.stage-icon.blocked{background:#d688882e;color:var(--status-blocked)}.stage-icon.pending{background:var(--bg-2);color:var(--text-faint)}.stage-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.stage-icon.active .stage-dot{animation:trace-status-pulse 1.2s ease-in-out infinite}.stage-body{flex:1;min-width:0}.stage-head{display:flex;align-items:center;gap:var(--sp-2)}.stage-name{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text)}.stage-time{margin-left:auto;font-size:var(--fs-sub);color:var(--text-faint);font-family:var(--font-mono);white-space:nowrap}.stage-detail{font-size:var(--fs-sub);color:var(--text-muted);margin-top:1px;line-height:1.45}.pipeline-stage .engine-badge{font-size:var(--fs-sub)}.pipeline-stage .engine-executor{background:#4eb19a1f;color:#4eb19a;border:1px solid rgba(78,177,154,.32)}.pipeline-stage.severity-warn .stage-detail{color:var(--status-flagged)}.pipeline-stage.severity-danger .stage-detail{color:var(--status-blocked)}.pipeline-stage.state-pending{opacity:.35}.security-boundary{display:flex;align-items:center;gap:var(--sp-2);margin:var(--sp-2) 0 var(--sp-2) 0;position:relative;z-index:1}.security-boundary .boundary-rule{flex:1;height:1px;background:var(--border)}.security-boundary .boundary-text{font-size:var(--fs-sub);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}.compliance-pills-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border-faint)}.compliance-pill{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sub);padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-2);color:var(--text-faint)}.compliance-pill .pill-dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint)}.compliance-pill.on{color:var(--status-complete);border-color:#7fc8a059}.compliance-pill.on .pill-dot{background:var(--status-complete)}.compliance-pill.bad{color:var(--status-blocked);border-color:#d6888859}.compliance-pill.bad .pill-dot{background:var(--status-blocked)}.compliance-pill.export{margin-left:auto;cursor:pointer;color:var(--text);background:var(--bg-3)}.compliance-pill.export:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.compliance-pill.export:disabled{opacity:.4;cursor:not-allowed}.hitl-card .hitl-badge{font-size:var(--fs-sub)}.hitl-badge.amber{background:#d8b8781f;color:var(--status-flagged);border-color:#d8b87852}.hitl-badge.red{background:#d688881f;color:var(--status-blocked);border-color:#d6888852}.hitl-summary{font-size:var(--fs-body);line-height:1.5;color:var(--text)}.hitl-risk{font-size:var(--fs-body);color:var(--text-muted);line-height:1.5}.hitl-risk-head{color:var(--status-blocked);font-weight:var(--fw-medium);margin-bottom:2px}.hitl-risk-list{margin:0;padding-left:var(--sp-4);display:flex;flex-direction:column;gap:2px}.hitl-risk-list li.severity-danger{color:#d68888eb}.hitl-risk-list li.severity-warn{color:#d8b878eb}.hitl-footnote{display:flex;align-items:center;gap:6px;font-size:var(--fs-sub);color:var(--text-faint);line-height:1.4}.hitl-footnote-icon{display:inline-flex;color:var(--layer-pii);flex:none}.hitl-modify-note{width:100%;font-size:var(--fs-body);background:var(--bg-0);border:1px solid var(--border);border-radius:4px;padding:var(--sp-2);color:var(--text);resize:vertical}.auto-approved-badge{font-size:var(--fs-sub);font-weight:var(--fw-medium);letter-spacing:.06em;padding:2px 9px;border-radius:999px;background:#d8b87824;color:var(--status-flagged);border:1px solid rgba(216,184,120,.34);white-space:nowrap}.governance{padding:var(--sp-4);max-width:1100px;margin:0 auto}.governance-header h2{margin:0 0 var(--sp-1)}.governance-sub{color:var(--text-muted);font-size:var(--fs-body);margin:0 0 var(--sp-3)}.governance-tabs{margin-bottom:var(--sp-3)}.governance-placeholder{color:var(--text-muted)}.gov-table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.gov-table th,.gov-table td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:top}.gov-table th{color:var(--text-muted);font-weight:var(--fw-regular)}.gov-table tbody tr{cursor:pointer}.gov-table tbody tr:hover{background:var(--bg-hover)}.gov-row-pending{border-left:3px solid var(--status-flagged)}.gov-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:var(--fs-badge);letter-spacing:.03em;border:1px solid var(--border);background:var(--bg-3);color:var(--text-muted)}.gov-badge-active{background:#78b88a29;color:var(--status-pass);border-color:#78b88a57}.gov-badge-pending{background:#d8b87824;color:var(--status-flagged);border-color:#d8b87857}.gov-badge-inactive{background:var(--bg-3);color:var(--text-muted)}.gov-badge-rejected,.gov-badge-superseded{background:#d070701f;color:var(--status-fail);border-color:#d070704d}.gov-drawer{margin-top:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:6px;background:var(--bg-2)}.gov-drawer h3{margin:0 0 var(--sp-2)}.gov-prompt-text{white-space:pre-wrap;font-family:var(--font-mono);font-size:var(--fs-badge);background:var(--bg-1);border:1px solid var(--border);border-radius:4px;padding:var(--sp-2);max-height:320px;overflow:auto}.gov-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin:var(--sp-2) 0}.gov-toolbar{display:flex;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-2);flex-wrap:wrap}.gov-valid{color:var(--status-pass)}.gov-invalid{color:var(--status-fail)}.gov-workspace{display:flex;gap:var(--sp-3)}.gov-workspace-list{flex:0 0 220px}.gov-workspace-list button{display:block;width:100%;text-align:left;padding:6px 10px;background:var(--bg-3);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;margin-bottom:4px;font-size:var(--fs-body)}.gov-workspace-list button.active{background:var(--accent-tint);border-color:var(--accent-border)}.gov-workspace-main{flex:1;min-width:0}.gov-editor{width:100%;min-height:200px;font-family:var(--font-mono);font-size:var(--fs-badge);background:var(--bg-1);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:var(--sp-2)}.gov-error{color:var(--status-fail);font-size:var(--fs-body);margin:var(--sp-2) 0}.status-table{width:100%;border-collapse:collapse;font-size:.82rem;margin-top:.5rem}.status-table th,.status-table td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));vertical-align:middle}.status-table th{font-weight:var(--fw-semibold, 600);color:var(--status-skipped);text-transform:uppercase;font-size:.68rem;letter-spacing:.04em}.status-dot{display:inline-block;width:9px;height:9px;border-radius:999px;margin-right:.45rem;vertical-align:middle;background:var(--status-skipped)}.status-dot-healthy{background:var(--status-complete)}.status-dot-degraded{background:var(--status-flagged)}.status-dot-unreachable{background:var(--status-blocked)}.status-label{text-transform:capitalize}.status-ms{font-family:var(--mono, ui-monospace, monospace);font-size:.78rem;color:var(--status-skipped)}.status-detail{color:var(--text-dim, #9aa3b8);font-size:.78rem}.risk-tier-current{margin-bottom:12px}.risk-tier-current-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.risk-tier-q{margin:14px 0;padding-bottom:12px;border-bottom:1px solid var(--border, #2a3142)}.risk-tier-question{font-size:.9rem;margin:0 0 8px;color:var(--text, #e6e9f0)}.risk-tier-answers{display:flex;gap:8px}.risk-tier-recommend{margin-top:14px;padding:12px;background:var(--surface-2, #1a2030);border-radius:6px}.trust-boundary-panel .tb-page-header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2)}.trust-boundary-panel .tb-page-header h2{margin:0;flex:1}.tb-ws-status{display:flex;align-items:center;gap:6px;font-size:var(--fs-sub);padding:3px 8px;border-radius:4px;border:1px solid transparent}.tb-ws-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.tb-ws-status-open{background:#7fc8a01a;color:var(--status-complete);border-color:#7fc8a040}.tb-ws-status-open .tb-ws-dot{background:var(--status-complete)}.tb-ws-status-connecting{background:#7aa7e81a;color:var(--status-processing);border-color:#7aa7e840}.tb-ws-status-connecting .tb-ws-dot{background:var(--status-processing);animation:trace-status-pulse 1.2s ease-in-out infinite}.tb-ws-status-reconnecting{background:#d8b8781a;color:var(--status-flagged);border-color:#d8b87840}.tb-ws-status-reconnecting .tb-ws-dot{background:var(--status-flagged);animation:trace-status-pulse 1.2s ease-in-out infinite}.tb-diagram-section{overflow:visible}.tb-diagram{display:grid;grid-template-columns:1fr 80px 1.4fr 80px 1fr;grid-template-rows:auto 44px auto;column-gap:0;row-gap:0;align-items:stretch;margin-bottom:var(--sp-3)}.tb-zone{padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-2);min-width:0}.tb-zone-public_edge{border-color:#d8b87859}.tb-zone-sanitised_zone{border-color:#7aa7e859}.tb-zone-sovereign_perimeter{border-color:#a78bfa59}.tb-zone-external_party{border-style:dashed;border-color:#f9731659;opacity:.6;justify-self:center;width:100%}.tb-zone-title{font-size:var(--fs-sub);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--sp-2);display:flex;align-items:center;gap:var(--sp-2)}.tb-zone-public_edge .tb-zone-title{color:var(--status-flagged)}.tb-zone-sanitised_zone .tb-zone-title{color:var(--status-processing)}.tb-zone-sovereign_perimeter .tb-zone-title{color:#a78bfa}.tb-zone-external_party .tb-zone-title{color:#f97316}.tb-zone-reserved-badge{font-size:9px;font-weight:var(--fw-semibold);letter-spacing:.04em;color:#f97316;background:#f973161f;border:1px solid rgba(249,115,22,.3);border-radius:3px;padding:1px 4px;line-height:1.4;text-transform:none}.tb-zone-contents{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.tb-zone-contents li{font-size:var(--fs-sub);color:var(--text-muted);padding-left:10px;position:relative}.tb-zone-contents li:before{content:"·";position:absolute;left:0;color:var(--text-faint)}.tb-connector{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:var(--sp-2) 0}.tb-connector-track{position:relative;width:100%;height:24px;display:flex;align-items:center}.tb-connector-line{position:absolute;left:8px;right:8px;height:2px;background:var(--border-strong);border-radius:1px}.tb-arrowhead{position:absolute;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent}.tb-arrowhead-right{right:4px;border-left:7px solid var(--border-strong)}.tb-arrowhead-left{left:4px;border-right:7px solid var(--border-strong)}.tb-connector-counts{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:5px}.tb-connector-counts-label{font-size:9px;color:var(--text-faint);letter-spacing:.04em;line-height:1;margin-bottom:1px}.tb-count-chip{display:flex;align-items:center;gap:3px;font-size:10px;font-variant-numeric:tabular-nums;line-height:1}.tb-count-chip-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.tb-count-chip-zero{font-size:10px;color:var(--text-faint);opacity:.5;line-height:1}.tb-connector-v{display:flex;justify-content:center;align-items:flex-start;padding-top:2px}.tb-connector-v-track{position:relative;width:24px;height:40px;display:flex;justify-content:center}.tb-connector-v-line{position:absolute;top:0;bottom:8px;left:50%;transform:translate(-50%);width:2px;background:repeating-linear-gradient(to bottom,var(--border-strong) 0px,var(--border-strong) 4px,transparent 4px,transparent 8px);border-radius:1px;opacity:.55}.tb-arrowhead-down{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid var(--border-strong);opacity:.55}.tb-pulse{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--tb-pulse-color, var(--status-complete));box-shadow:0 0 6px 2px var(--tb-pulse-color, var(--status-complete));top:50%;margin-top:-5px;pointer-events:none}.tb-pulse.tb-pulse-right{animation:tb-cross-right .9s ease-in forwards}.tb-pulse.tb-pulse-left{animation:tb-cross-left .9s ease-in forwards}@keyframes tb-cross-right{0%{left:8px;opacity:1}80%{opacity:.9}to{left:calc(100% - 18px);opacity:0}}@keyframes tb-cross-left{0%{left:calc(100% - 18px);opacity:1}80%{opacity:.9}to{left:8px;opacity:0}}.tb-legend{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-2)}.tb-legend-item{display:flex;align-items:center;gap:6px;font-size:var(--fs-sub);color:var(--text-muted)}.tb-legend-item-reserved{opacity:.55}.tb-legend-reserved-note{font-size:9px;color:var(--text-faint);margin-left:2px}.tb-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tb-log-empty{color:var(--text-faint);font-size:var(--fs-sub);font-style:italic;padding:var(--sp-3) 0}.tb-log-count{font-size:var(--fs-sub);color:var(--text-faint);margin-left:auto}.tb-log{font-size:var(--fs-sub)}.tb-log-header,.tb-log-row{display:grid;grid-template-columns:100px 160px 180px 1fr 80px;gap:var(--sp-2);padding:4px 0;border-bottom:1px solid var(--border-faint);align-items:center}.tb-log-header{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-weight:var(--fw-semibold);border-bottom-color:var(--border)}.tb-log-rows{max-height:320px;overflow-y:auto}.tb-log-row:last-child{border-bottom:none}.tb-log-col-time{color:var(--text-faint);font-variant-numeric:tabular-nums}.tb-log-col-zones{color:var(--text-muted)}.tb-log-col-detail{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-log-col-session{color:var(--text-faint);font-family:monospace}
