:root{--surface-app: #F7F8FA;--surface-panel: #FFFFFF;--surface-sidebar: #0A2240;--surface-rail: #F2F4F7;--surface-card: #FFFFFF;--surface-row-alt: #F7F8FA;--surface-input: #FFFFFF;--border-default: #DDE1E7;--border-strong: #B0B8C4;--border-sidebar: #0E2F5A;--accent-navy: #0A2240;--accent-blue: #1055C6;--accent-blue-light:#E8EFFC;--accent-blue-text: #0B3E9A;--ev-claim-bg: #FEF9EC;--ev-claim-border: #D4A017;--ev-claim-text: #7A5C00;--ev-infer-bg: #F0EDFB;--ev-infer-border: #7B61C4;--ev-infer-text: #4A2F9A;--ev-assume-bg: #F3F4F6;--ev-assume-border: #9CA3AF;--ev-assume-text: #4B5563;--ev-confirmed-bg: #EDFBF3;--ev-confirmed-border:#2D9A5A;--ev-confirmed-text:#1A5C36;--status-high: #B91C1C;--status-high-bg: #FEF2F2;--status-med: #9A6000;--status-med-bg: #FFFBEB;--status-low: #1A7F4B;--status-low-bg: #EDFBF3;--text-primary: #111827;--text-secondary: #4B5563;--text-muted: #9CA3AF;--text-on-sidebar: #CBD5E1;--text-on-sidebar-active: #FFFFFF;--text-on-sidebar-muted: #64748B;--text-accent: #1055C6;--text-number: #111827;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 40px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--transition: .12s ease;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 22px;--text-2xl: 30px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.7}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background:var(--surface-app);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}a{color:var(--text-accent);text-decoration:none}.app-shell{display:grid;grid-template-rows:48px 1fr 44px;grid-template-columns:220px 1fr 220px;height:100vh;overflow:hidden;background:var(--surface-app)}.top-bar{grid-column:1 / -1;background:var(--surface-panel);border-bottom:1px solid var(--border-default);display:flex;align-items:center;padding:0 var(--space-md);gap:var(--space-md);z-index:10}.left-nav{background:var(--surface-sidebar);border-right:1px solid var(--border-sidebar);overflow-y:auto;padding:var(--space-md) 0;display:flex;flex-direction:column}.main-canvas{overflow-y:auto;padding:var(--space-lg) var(--space-xl);background:var(--surface-panel);display:flex;flex-direction:column;gap:var(--space-lg)}.asset-rail{background:var(--surface-rail);border-left:1px solid var(--border-default);overflow-y:auto;padding:var(--space-md) var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm)}.evidence-bar{grid-column:1 / -1;background:var(--surface-app);border-top:1px solid var(--border-default);display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-md);overflow:hidden}.mode-select-canvas{grid-column:1 / -1;grid-row:2;display:flex;align-items:center;justify-content:center;background:var(--surface-app);padding:var(--space-xl)}.admin-canvas{grid-column:1 / -1;grid-row:2;overflow-y:auto;background:var(--surface-app);padding:var(--space-xl);display:flex;justify-content:center}.section-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin:0 0 var(--space-sm) 0}.stage-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;border:none;border-left:2px solid transparent;background:transparent;cursor:pointer;text-align:left;transition:background var(--transition)}.stage-nav-item:hover{background:#ffffff0d}.stage-nav-item.active{background:#ffffff14;border-left-color:var(--accent-blue)}.stage-number{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-on-sidebar-muted);min-width:16px;flex-shrink:0}.stage-nav-item.completed .stage-number{color:var(--ev-confirmed-text)}.stage-name{display:block;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-on-sidebar)}.stage-nav-item.active .stage-name{color:var(--text-on-sidebar-active)}.stage-time{display:block;font-size:var(--text-xs);color:var(--text-on-sidebar-muted);margin-top:1px}.evidence-tag{display:inline-block;font-size:10px;font-weight:var(--weight-medium);padding:2px 7px;border-radius:99px;border:1px solid;white-space:nowrap}.ev-claim{background:var(--ev-claim-bg);border-color:var(--ev-claim-border);color:var(--ev-claim-text)}.ev-infer{background:var(--ev-infer-bg);border-color:var(--ev-infer-border);color:var(--ev-infer-text)}.ev-assume{background:var(--ev-assume-bg);border-color:var(--ev-assume-border);color:var(--ev-assume-text)}.ev-confirmed{background:var(--ev-confirmed-bg);border-color:var(--ev-confirmed-border);color:var(--ev-confirmed-text)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th{text-align:left;font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-default);background:var(--surface-app);white-space:nowrap}.data-table td{padding:10px var(--space-md);border-bottom:1px solid var(--border-default);color:var(--text-primary);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--accent-blue-light)}.data-table td.numeric{font-family:var(--font-mono);font-size:var(--text-sm);text-align:right;white-space:nowrap}.hypothesis-card{background:var(--surface-card);border:1px solid var(--border-default);border-left:3px solid var(--accent-blue);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg)}.hypothesis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.hypothesis-label{font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.hypothesis-statement{font-size:var(--text-base);color:var(--text-primary);line-height:var(--leading-normal);margin-bottom:var(--space-md)}.hypothesis-number{font-family:var(--font-mono);font-weight:var(--weight-semibold);color:var(--accent-blue-text)}.hypothesis-inputs{background:var(--surface-app);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm)}.input-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-md);padding:5px 0;border-bottom:1px solid var(--border-default);font-size:var(--text-sm)}.input-row:last-child{border-bottom:none}.input-name{color:var(--text-secondary)}.input-value{font-family:var(--font-mono);color:var(--text-primary)}.input-value.editable{color:var(--accent-blue);cursor:pointer;text-decoration:underline dotted}.input-source{color:var(--text-muted);font-size:var(--text-xs)}.hypothesis-sensitivity{font-size:var(--text-sm);color:var(--text-muted);font-style:italic;margin:0}.agent-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-sm);transition:border-color var(--transition);cursor:pointer}.agent-card:hover{border-color:var(--accent-blue)}.agent-card-header{display:flex;gap:var(--space-xs);margin-bottom:var(--space-sm);flex-wrap:wrap}.agent-type-badge{font-size:10px;font-weight:var(--weight-medium);padding:2px 7px;border-radius:99px;background:var(--accent-blue-light);color:var(--accent-blue-text)}.demo-badge{font-size:10px;font-weight:var(--weight-medium);padding:2px 7px;border-radius:99px;background:var(--ev-confirmed-bg);color:var(--ev-confirmed-text)}.maturity-badge{font-size:10px;font-weight:var(--weight-medium);padding:2px 7px;border-radius:99px;background:var(--ev-assume-bg);color:var(--ev-assume-text)}.agent-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary);margin:0 0 4px;line-height:var(--leading-tight)}.agent-desc{font-size:var(--text-xs);color:var(--text-secondary);margin:0 0 var(--space-sm) 0;line-height:var(--leading-normal)}.agent-meta{display:flex;flex-direction:column;gap:2px;font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-sm)}.btn-primary{display:inline-flex;align-items:center;gap:var(--space-xs);padding:9px 18px;background:var(--accent-blue);color:#fff;font-size:var(--text-sm);font-weight:var(--weight-medium);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition)}.btn-primary:hover{background:#0b3e9a}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:var(--space-xs);padding:9px 18px;background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition),border-color var(--transition)}.btn-secondary:hover{background:var(--surface-app);border-color:var(--accent-blue)}.btn-generate{display:inline-flex;align-items:center;gap:var(--space-xs);padding:9px 18px;background:var(--accent-blue-light);color:var(--accent-blue-text);font-size:var(--text-sm);font-weight:var(--weight-medium);border:1px solid rgba(16,85,198,.3);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition)}.btn-generate:hover{background:var(--accent-blue);color:#fff}.btn-generate:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:5px 11px;font-size:var(--text-xs)}.heat-map-grid{display:grid;gap:1px;background:var(--border-default);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;font-size:var(--text-xs)}.heat-map-header-cell{background:var(--surface-app);padding:var(--space-sm);font-weight:var(--weight-medium);text-align:center;color:var(--text-secondary);writing-mode:vertical-lr;text-orientation:mixed;transform:rotate(180deg);min-height:80px;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-size:10px}.heat-map-row-label{background:var(--surface-app);padding:var(--space-sm) var(--space-md);font-weight:var(--weight-medium);color:var(--text-secondary);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px;font-size:var(--text-xs)}.heat-map-cell{background:var(--surface-panel);display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer;transition:opacity var(--transition);font-size:14px}.heat-map-cell:hover{opacity:.75}.heat-map-cell.available{background:var(--ev-confirmed-bg);color:var(--ev-confirmed-text)}.heat-map-cell.partial{background:var(--ev-claim-bg);color:var(--ev-claim-text)}.heat-map-cell.gap{background:var(--status-high-bg)}.heat-map-cell.irrelevant{background:var(--surface-app)}.score-bar-track{height:6px;background:var(--surface-app);border:1px solid var(--border-default);border-radius:99px;overflow:hidden;width:100%}.score-bar-fill{height:100%;background:var(--accent-blue);border-radius:99px;transition:width .4s ease}.mode-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);max-width:820px;width:100%}.mode-card{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.mode-card:hover{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-light)}.mode-card-title{font-size:var(--text-xl);font-weight:var(--weight-medium);color:var(--text-primary)}.mode-card-description{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed)}.mode-card-badge{display:inline-block;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:3px 10px;border-radius:99px;background:var(--accent-blue-light);color:var(--accent-blue-text);align-self:flex-start}.stage-dots{display:flex;gap:6px;align-items:center}.stage-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--transition);border:1px solid var(--border-strong);color:var(--text-muted);background:transparent}.stage-dot.completed{background:var(--accent-navy);color:#fff;border-color:var(--accent-navy)}.stage-dot.current{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.process-pipeline{display:flex;gap:0;overflow-x:auto;padding-bottom:var(--space-sm);align-items:stretch}.process-stage-card{min-width:150px;max-width:150px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-md) var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs);position:relative;cursor:pointer;transition:border-color var(--transition);margin-right:32px;flex-shrink:0}.process-stage-card:last-child{margin-right:0}.process-stage-card:after{content:"→";position:absolute;right:-22px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:16px}.process-stage-card:last-child:after{display:none}.process-stage-card:hover{border-color:var(--accent-blue)}.process-stage-card.high-pain{border-top:3px solid var(--status-high)}.process-stage-card.medium-pain{border-top:3px solid var(--status-med)}.process-stage-card.low-pain{border-top:3px solid var(--status-low)}.process-stage-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary);line-height:var(--leading-tight)}.process-stage-actor{font-size:var(--text-xs);color:var(--text-secondary)}.process-stage-systems{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.system-tag{font-size:9px;padding:1px 5px;background:var(--surface-app);border:1px solid var(--border-default);border-radius:3px;color:var(--text-muted)}.value-stream-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.vs-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);transition:border-color var(--transition),background var(--transition);cursor:pointer}.vs-card.hot{border-color:var(--accent-blue);border-left:3px solid var(--accent-blue);background:var(--accent-blue-light)}.vs-card.warm{border-color:var(--ev-claim-border)}.vs-card.cold{opacity:.6}.vs-card-title{font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--text-primary)}.vs-card-kpis{display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--text-xs);color:var(--text-secondary)}.vs-temperature-buttons{display:flex;gap:var(--space-xs);margin-top:auto}.temp-btn{flex:1;padding:5px;font-size:var(--text-xs);font-weight:var(--weight-medium);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.temp-btn:disabled{opacity:.4;cursor:not-allowed}.temp-btn.hot-active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.temp-btn.warm-active{background:var(--ev-claim-bg);color:var(--ev-claim-text);border-color:var(--ev-claim-border)}.temp-btn.cold-active{background:var(--ev-assume-bg);color:var(--ev-assume-text);border-color:var(--ev-assume-border)}.evidence-bar-label{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.evidence-items{display:flex;gap:var(--space-sm);overflow-x:auto;scrollbar-width:none}.evidence-items::-webkit-scrollbar{display:none}.evidence-item{display:flex;align-items:center;gap:6px;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:3px 10px;flex-shrink:0}.evidence-text{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.evidence-source{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.generation-status{display:inline-flex;align-items:center;gap:var(--space-sm);padding:9px 18px;font-size:var(--text-sm);color:var(--text-secondary)}.generation-spinner{width:14px;height:14px;border:2px solid var(--border-default);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.generation-message{font-style:italic;color:var(--text-muted)}.rail-header{padding:var(--space-sm) var(--space-sm) 0}.rail-context-note{font-size:var(--text-xs);color:var(--text-muted);font-style:italic;margin-top:2px}.shortlist-rank{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--accent-blue);text-align:center}.next-step-select{font-size:var(--text-xs);font-family:var(--font-sans);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:3px 6px;background:var(--surface-input);color:var(--text-primary);outline:none}.next-step-select:focus{border-color:var(--accent-blue)}.toast{position:fixed;bottom:60px;right:var(--space-lg);background:var(--accent-navy);color:#fff;font-size:var(--text-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);z-index:100;animation:fadeIn .15s ease;box-shadow:0 4px 12px #0003}body[data-projection=true]{font-size:18px}body[data-projection=true] .evidence-text,body[data-projection=true] .agent-meta,body[data-projection=true] .rail-context-note{display:none}.stage-content{animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.editable-value{font-family:var(--font-mono);color:var(--accent-blue);cursor:pointer;border-bottom:1px dotted var(--accent-blue);display:inline-block;padding:0 2px;transition:background var(--transition)}.editable-value:hover{background:var(--accent-blue-light)}.editable-input{font-family:var(--font-mono);font-size:inherit;color:var(--text-primary);border:1px solid var(--accent-blue);border-radius:var(--radius-sm);padding:1px 6px;outline:none;background:var(--surface-panel)}.capture-input{flex:1;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);background:var(--surface-panel);color:var(--text-primary);outline:none}.capture-input:focus{border-color:var(--accent-blue)}.capture-input::placeholder{color:var(--text-muted)}
