.blast-radius-graph{display:flex;flex-direction:column;gap:8px}.graph-toolbar{display:flex;align-items:center;gap:8px;align-self:flex-end}.graph-toolbar .btn-secondary{padding:4px 12px;font-size:var(--text-body-small);line-height:1}.graph-toolbar .chip{min-width:48px;text-align:center;font-family:var(--font-mono)}.graph-viewport{overflow:auto;max-height:480px;border:1px solid var(--border-subtle);border-radius:var(--radius-card)}:root[data-theme=dark]{--bg-page: #0b1220;--bg-surface: #111a2e;--bg-surface-raised: #17213a;--border-subtle: #1e2a44;--border-strong: #2c3a5c;--accent: #3b82f6;--accent-hover: #60a5fa;--accent-muted: #1d4e89;--accent-teal: #2dd4bf;--text-primary: #e6ebf5;--text-secondary: #94a3b8;--text-muted: #64748b;--risk-low: #34d399;--risk-low-bg: #0f2a22;--risk-medium: #fbbf24;--risk-medium-bg: #2e2410;--risk-high: #f87171;--risk-high-bg: #2e1414;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;--text-body-small: 13px;--text-body: 15px;--text-header: 18px;--text-title: 24px;--radius-card: 10px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-body);line-height:1.5}code,.mono{font-family:var(--font-mono)}h1,h2,h3,p{margin:0}button,input{font-family:inherit;font-size:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent-teal);outline-offset:2px}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:20px}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:var(--text-body);font-weight:600;transition:background-color .15s ease}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:8px;padding:10px 20px;font-size:var(--text-body)}.btn-secondary:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent-teal)}.chip{background:var(--bg-surface-raised);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:999px;padding:6px 14px;font-size:var(--text-body-small);transition:color .15s ease,border-color .15s ease}.chip:hover{color:var(--text-primary);border-color:var(--border-strong)}.screen-enter{animation:screen-fade-in .18s ease-out}@keyframes screen-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.risk-badge-block{display:flex;flex-direction:column;gap:8px}.risk-pill{display:inline-flex;align-items:center;align-self:flex-start;padding:4px 14px;border-radius:999px;font-weight:600;font-size:var(--text-body-small)}.risk-pill.risk-low{background:var(--risk-low-bg);color:var(--risk-low)}.risk-pill.risk-medium{background:var(--risk-medium-bg);color:var(--risk-medium)}.risk-pill.risk-high{background:var(--risk-high-bg);color:var(--risk-high)}.risk-reasons{margin:0;padding-left:20px;color:var(--text-secondary);font-size:var(--text-body-small)}.risk-reasons li+li{margin-top:4px}.app-shell{display:grid;grid-template-rows:auto 1fr;height:100vh;min-height:0}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 24px;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle)}.app-brand{display:flex;align-items:center;gap:12px}.logo-mark{flex:0 0 auto}.app-brand-text{display:flex;flex-direction:column;line-height:1.1}.app-brand-text h1{font-size:var(--text-header);font-weight:700}.app-tagline{font-size:11px;color:var(--text-muted)}.step-indicator ol{display:flex;gap:8px;list-style:none;margin:0;padding:0}.step-indicator .step button{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid transparent;border-radius:999px;padding:6px 14px;color:var(--text-secondary);font-size:var(--text-body-small);font-weight:500}.step-indicator .step button:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-strong)}.step-indicator .step-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--bg-surface-raised);color:var(--text-muted);font-size:11px;font-weight:700}.step-indicator .step-active button{color:var(--accent-teal);border-color:var(--accent-teal);font-weight:600}.step-indicator .step-active .step-num{background:var(--accent-teal);color:var(--bg-page)}.step-indicator .step-disabled button{opacity:.4;cursor:not-allowed}.app-body{display:grid;grid-template-columns:320px 1fr 340px;min-height:0;overflow:hidden}.app-main{overflow-y:auto;padding:28px 32px 64px;display:flex;flex-direction:column;gap:20px}@media (max-width: 1100px){.app-body{grid-template-columns:320px 1fr}.execution-log-pane{display:none}}@media (max-width: 720px){.app-body{grid-template-columns:1fr}.asset-tree-pane{display:none}}.asset-tree-pane{background:var(--bg-surface);border-right:1px solid var(--border-subtle);height:100%;overflow-y:auto;padding:16px 8px 32px;display:flex;flex-direction:column;gap:8px}.asset-tree-search{display:flex;gap:6px;padding:0 8px 8px}.asset-tree-search input{flex:1;min-width:0;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);padding:8px 10px}.asset-tree-search .btn-secondary{padding:8px 12px}.tree-root,.tree-assets,.tree-columns,.tree-doc-links{list-style:none;margin:0;padding:0}.tree-row{display:flex;align-items:center;gap:4px;border-radius:6px;padding-right:6px;min-height:30px}.tree-row:hover{background:var(--bg-surface-raised)}.tree-row-selected{background:var(--accent-muted)}.tree-row-updated{background:var(--risk-low-bg);box-shadow:inset 2px 0 0 var(--accent-teal)}.tree-caret,.tree-caret-spacer{width:18px;height:18px;flex:0 0 18px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);padding:0}.tree-caret span{display:inline-block;transition:transform .12s ease;font-size:11px}.tree-caret .tree-caret-open{transform:rotate(90deg)}.tree-icon{font-size:13px;flex:0 0 auto}.tree-label{background:transparent;border:none;color:var(--text-primary);text-align:left;padding:4px 2px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-body-small)}.tree-trailing{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px}.tree-count{color:var(--text-muted);font-size:11px;background:var(--bg-page);border-radius:999px;padding:1px 8px}.tree-badge{color:var(--bg-page);background:var(--accent-teal);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 7px}.tree-detail{padding-right:8px;padding-bottom:8px;display:flex;flex-direction:column;gap:8px}.tree-doc{border-left:2px solid var(--border-strong);padding:4px 0 4px 10px;margin-top:4px}.tree-doc-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.tree-doc-text{font-size:var(--text-body-small);color:var(--text-secondary)}.tree-doc-note{margin-top:6px;font-size:var(--text-body-small);color:var(--risk-low);background:var(--risk-low-bg);border-radius:6px;padding:6px 8px}.tree-doc-links{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}.tree-doc-links li{font-size:11px;color:var(--accent-hover);background:var(--bg-page);border-radius:6px;padding:2px 8px}.tree-columns{display:flex;flex-direction:column;gap:2px}.tree-column{display:flex;align-items:center;gap:8px;padding:2px 0;font-size:var(--text-body-small)}.tree-column-name{background:transparent;border:none;color:var(--text-primary);padding:2px 4px;border-radius:4px;font-size:var(--text-body-small)}.tree-column-name:hover{background:var(--accent-muted)}.tree-column-type{color:var(--text-muted);font-size:11px}.tree-term{color:var(--accent-teal);font-size:10px;border:1px solid var(--border-strong);border-radius:999px;padding:0 7px}.tree-use-btn{align-self:flex-start;padding:6px 12px;font-size:var(--text-body-small)}.tree-hint{color:var(--text-muted);font-size:var(--text-body-small);padding:4px 10px}.execution-log-pane{background:var(--bg-surface);border-left:1px solid var(--border-subtle);height:100%;min-height:0;display:flex;flex-direction:column}.execution-log-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--border-subtle);font-size:var(--text-body-small);font-weight:600;color:var(--text-primary)}.execution-log-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.execution-log-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.execution-log-status.is-live{color:var(--accent-teal)}.execution-log-status.is-live .execution-log-dot{background:var(--accent-teal);animation:execution-log-pulse 1.4s ease-in-out infinite}@keyframes execution-log-pulse{0%,to{opacity:1}50%{opacity:.35}}.execution-log-list{flex:1 1 auto;min-height:0;overflow-y:auto;list-style:none;margin:0;padding:8px;display:flex;flex-direction:column;gap:4px}.execution-log-empty{color:var(--text-muted);font-size:var(--text-body-small);padding:8px 4px}.execution-log-line{display:flex;align-items:baseline;gap:6px;padding:4px 6px;border-radius:6px;font-size:12px;line-height:1.4;border-left:2px solid var(--border-strong)}.execution-log-line.stage-write-back{border-left-color:var(--accent-teal);background:var(--bg-surface-raised)}.execution-log-time{flex:0 0 auto;color:var(--text-muted);font-size:11px}.execution-log-stage{flex:0 0 auto;color:var(--accent-hover);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.execution-log-message{color:var(--text-secondary);word-break:break-word}.screen-input{display:flex;flex-direction:column;gap:12px}.screen-input textarea{width:100%;resize:vertical;background:var(--bg-surface-raised);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);padding:12px}.text-secondary{color:var(--text-secondary);font-size:var(--text-body-small)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.parse-error{color:var(--risk-high);font-size:var(--text-body-small)}.screen-disambiguation{display:flex;flex-direction:column;gap:12px}.candidate-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.candidate-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg-surface-raised);border:1px solid var(--border-subtle);border-radius:8px;padding:12px 16px}.candidate-name{font-weight:600}.candidate-urn{font-size:var(--text-body-small)}.candidate-actions{display:flex;align-items:center;gap:12px}.screen-impact{display:flex;flex-direction:column;gap:20px}.screen-impact h2{font-size:var(--text-header)}.screen-action-plan{display:flex;flex-direction:column;gap:20px}.recommendation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.recommendation-action{font-weight:600;margin-bottom:2px}.screen-write-back{display:flex;flex-direction:column;gap:12px}.write-back-success,.write-back-failure{display:flex;flex-direction:column;gap:8px;border-radius:var(--radius-card);padding:16px}.write-back-success{color:var(--risk-low);background:var(--risk-low-bg);border:1px solid var(--risk-low)}.write-back-failure{color:var(--risk-high);background:var(--risk-high-bg);border:1px solid var(--risk-high)}.write-back-headline{font-size:var(--text-header);font-weight:700}.write-back-meta{font-size:var(--text-body-small)}.write-back-meta code{color:var(--accent-teal)}
