:root{--bg: #F7F9FD;--surface: #ffffff;--surface-2: #EBF0FB;--surface-3: #dfe7f7;--border: #e3eaf6;--border-strong: #cdd9ee;--text: #11324d;--text-secondary: #4f6276;--text-muted: #93a3b8;--accent: #FF6124;--accent-hover: #d6511e;--accent-soft: rgba(255, 97, 36, .1);--accent-border: rgba(255, 97, 36, .3);--green: #00b070;--green-text: #0a8f5b;--green-soft: rgba(0, 176, 112, .13);--amber: #e0920f;--amber-text: #b5740f;--amber-soft: rgba(224, 146, 15, .13);--red: #FF242A;--red-text: #d61f24;--red-soft: rgba(255, 36, 42, .1);--violet: #6c8fff;--violet-text: #3b73e8;--violet-soft: rgba(108, 143, 255, .13);--gray-text: #5f7186;--gray-soft: rgba(95, 113, 134, .12);--shadow-sm: 0 1px 2px rgba(17, 70, 110, .06);--shadow: 0 1px 3px rgba(17, 70, 110, .07), 0 8px 28px rgba(17, 70, 110, .07);--r-sm: 7px;--r: 10px;--r-lg: 16px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, "Helvetica Neue", Arial, sans-serif}[data-theme=dark]{--bg: #0b1c2e;--surface: #11283d;--surface-2: #16344c;--surface-3: #1f415c;--border: #1f415c;--border-strong: #2f5878;--text: #e9f0f8;--text-secondary: #9db3c9;--text-muted: #647d96;--accent: #FF7A45;--accent-hover: #ff9466;--accent-soft: rgba(255, 122, 69, .16);--accent-border: rgba(255, 122, 69, .42);--green: #1fc486;--green-text: #3fdd9c;--green-soft: rgba(31, 196, 134, .16);--amber: #f3b24c;--amber-text: #f3b24c;--amber-soft: rgba(243, 178, 76, .16);--red: #ff5c61;--red-text: #ff7a7e;--red-soft: rgba(255, 92, 97, .16);--violet: #8fb0ff;--violet-text: #a9c4ff;--violet-soft: rgba(143, 176, 255, .16);--gray-text: #9db3c9;--gray-soft: rgba(120, 140, 165, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow: 0 1px 3px rgba(0, 0, 0, .35), 0 8px 28px rgba(0, 0, 0, .3)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .2s ease,color .2s ease}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}h1,h2,h3{font-weight:650;letter-spacing:-.015em}::selection{background:var(--accent-soft)}.app-root{display:flex;flex-direction:column;height:100vh;overflow:hidden}.split{flex:1;display:flex;min-height:0}.top-bar{display:flex;align-items:center;gap:.5rem;height:56px;padding:0 1.5rem;flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border)}.logo{font-size:16px;font-weight:750;letter-spacing:-.03em;color:var(--text);margin-right:1rem}.logo span{background:linear-gradient(90deg,var(--accent),var(--accent-hover));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.gb-tabs{display:flex;align-items:stretch;height:100%;gap:.25rem}.gb-tab{position:relative;padding:0 1rem;height:100%;font-size:13.5px;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;transition:color .15s ease}.gb-tab:hover{color:var(--text-secondary)}.gb-tab.active{color:var(--text);border-bottom-color:var(--accent)}.top-bar-user{margin-left:auto;display:flex;align-items:center;gap:.85rem}.username{font-size:13px;color:var(--text-secondary);font-weight:500}.theme-toggle,.btn-logout{font-size:13px;color:var(--text-secondary);padding:.4rem .7rem;border:1px solid var(--border);border-radius:var(--r-sm);transition:all .15s ease;background:var(--surface)}.theme-toggle{width:36px;padding:.4rem 0}.theme-toggle:hover,.btn-logout:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.list-panel{width:380px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg);min-height:0}.list-controls{padding:.85rem 1rem 0;display:flex;flex-direction:column;gap:.5rem}.list-controls .sort-toggle{display:flex;gap:.4rem}.filter-bar{display:flex;gap:.5rem;padding:1rem 1.25rem;flex-shrink:0}.filter-chip{padding:.35rem .85rem;font-size:12.5px;font-weight:500;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:100px;transition:all .15s ease}.filter-chip:hover{border-color:var(--border-strong);color:var(--text)}.filter-chip.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-hover)}.tender-list{flex:1;overflow-y:auto;min-height:0;padding:0 .75rem .75rem}.tender-item{display:flex;align-items:flex-start;gap:.8rem;width:100%;text-align:left;padding:.95rem .85rem;border-radius:var(--r);margin-bottom:.3rem;border:1px solid transparent;transition:background .13s ease,border-color .13s ease,box-shadow .13s ease}.tender-item:hover{background:var(--surface);border-color:var(--border)}.tender-item.selected{background:var(--surface);border-color:var(--accent-border);box-shadow:var(--shadow-sm),0 0 0 1px var(--accent-border)}.tender-meta{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.tender-title{font-size:13.5px;font-weight:550;color:var(--text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tender-sub{font-size:11.5px;color:var(--text-muted)}.tender-summary{font-size:12.5px;color:var(--text-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tender-eck{font-size:11.5px;color:var(--text-muted);font-weight:550}.tender-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.15rem}.tender-chips .kw{font-size:10.5px}.triage{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.triage-head{display:flex;align-items:center;gap:1rem;padding:1.5rem 2rem .4rem;flex-wrap:wrap;flex-shrink:0}.triage-head h2{font-size:19px;font-weight:650}.triage-sub{font-size:12.5px;color:var(--text-muted);margin-top:.2rem}.triage-search{max-width:280px;margin-left:auto}.triage .sort-toggle{display:flex;gap:.4rem}.triage .filter-bar{padding:.4rem 2rem .6rem;flex-wrap:wrap}.triage .tender-list{padding:0 2rem 2rem;max-width:1080px}.triage .tender-item{gap:1rem;padding:1rem 1.1rem;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-lg);margin-bottom:.6rem}.triage .tender-item:hover{border-color:var(--accent-border);box-shadow:var(--shadow-sm)}.triage .tender-item.selected{border-color:var(--accent)}.tender-actions{display:flex;flex-direction:column;gap:.4rem;flex-shrink:0;align-self:center}.row-btn{padding:.4rem .8rem;font-size:12px;font-weight:600;border-radius:var(--r-sm);border:1px solid var(--green);background:var(--green);color:#fff;white-space:nowrap;cursor:pointer;transition:all .13s ease}.row-btn:hover{filter:brightness(1.05)}.row-btn.active{background:var(--green-soft);color:var(--green-text)}.row-btn.ghost{background:var(--surface-2);color:var(--text-secondary);border-color:var(--border-strong)}.row-btn.ghost.active{background:var(--red-soft);color:var(--red-text);border-color:var(--red)}.row-stage{font-size:11.5px;font-weight:700;padding:.3rem .7rem;border-radius:100px;white-space:nowrap;background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border);align-self:center}.row-stage.stage-in_bearbeitung{background:var(--amber-soft);color:var(--amber-text);border-color:transparent}.row-stage.stage-eingereicht{background:var(--green-soft);color:var(--green-text);border-color:transparent}.back-link{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:0 0 .3rem}.back-link:hover{color:var(--accent)}.cross-gb{margin:.2rem 0 .6rem;padding:.55rem .85rem;border-radius:var(--r-sm);font-size:13px;background:var(--amber-soft);color:var(--amber-text)}.cross-gb b{font-weight:700}.sidebar-tagline{font-size:10.5px;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:0 .75rem .6rem;margin-top:-.7rem}.sidebar-step{display:flex;align-items:center;gap:.55rem}.sidebar-step .step-no{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--surface-2);color:var(--text-muted);font-size:11px;font-weight:700;flex-shrink:0}.sidebar-step.active .step-no{background:var(--accent);color:#fff}.sidebar-step.disabled{cursor:default;opacity:.6}.score-badge{flex-shrink:0;min-width:42px;text-align:center;padding:.22rem .5rem;border-radius:100px;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.3}.score-high{background:var(--green-soft);color:var(--green-text)}.score-mid{background:var(--amber-soft);color:var(--amber-text)}.score-low{background:var(--gray-soft);color:var(--gray-text)}.detail-panel{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg)}.detail-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}.detail-header{padding:1.75rem 2rem 0;flex-shrink:0}.detail-header h1{font-size:22px;font-weight:650;line-height:1.3;color:var(--text);max-width:70ch}.detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin:.9rem 0 1.25rem}.meta-tag{font-size:11.5px;font-weight:550;letter-spacing:0;padding:.2rem .6rem;border-radius:100px;background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.meta-value{font-size:13px;font-weight:650;color:var(--text)}.meta-chip{font-size:12px;font-weight:550;padding:.25rem .65rem;border-radius:100px;background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border)}.meta-chip[data-status=neu]{background:var(--accent-soft);color:var(--accent-hover);border-color:var(--accent-border)}.meta-chip[data-status=gesehen]{background:var(--gray-soft);color:var(--gray-text);border-color:transparent}.meta-chip[data-status=relevant]{background:var(--green-soft);color:var(--green-text);border-color:transparent}.meta-chip[data-status=abgelehnt]{background:var(--red-soft);color:var(--red-text);border-color:transparent}.meta-chip[data-status=in_bearbeitung]{background:var(--amber-soft);color:var(--amber-text);border-color:transparent}.meta-chip[data-status=eingereicht]{background:var(--violet-soft);color:var(--violet-text);border-color:transparent}.source-link{font-size:12.5px;font-weight:550;margin-left:auto;white-space:nowrap}.tab-bar{display:flex;gap:.25rem;border-bottom:1px solid var(--border)}.tab{padding:.7rem 1.05rem;font-size:13.5px;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;transition:color .15s ease;margin-bottom:-1px}.tab:hover{color:var(--text-secondary)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.tab-content{flex:1;overflow-y:auto;padding:1.75rem 2rem;min-height:0}.kv{font-size:13.5px;color:var(--text-secondary);margin-bottom:.5rem}.kv b{color:var(--text);font-weight:600}.description{font-size:14px;color:var(--text-secondary);line-height:1.75;margin:1.1rem 0 1.5rem;padding:1.1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);white-space:pre-wrap}.comment-box{display:flex;flex-direction:column;gap:.7rem;max-width:660px}textarea{width:100%;min-height:84px;resize:vertical;padding:.8rem .95rem;font-family:inherit;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);transition:border-color .15s ease,box-shadow .15s ease}textarea::placeholder{color:var(--text-muted)}textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.comment-actions{display:flex}.ba-score{padding:1.15rem 1.25rem;margin-bottom:.9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.ba-score-row{display:flex;align-items:center;gap:1rem;font-size:13.5px}.ba-score-row>span:first-child{width:190px;flex-shrink:0;font-weight:550;color:var(--text)}.ba-score-row>span:last-child{width:44px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.ba-bar-track{flex:1;height:8px;background:var(--surface-3);border-radius:100px;overflow:hidden}.ba-bar-fill{height:100%;border-radius:100px;transition:width .45s cubic-bezier(.4,0,.2,1)}.ba-bar-fill.score-high{background:linear-gradient(90deg,var(--green),#2fd27e)}.ba-bar-fill.score-mid{background:linear-gradient(90deg,var(--amber),#f3b24c)}.ba-bar-fill.score-low{background:var(--text-muted)}.keywords{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.85rem}.kw{font-size:11.5px;font-weight:500;padding:.22rem .6rem;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent-hover)}.rationale{margin-top:.85rem;font-size:13px;line-height:1.65;color:var(--text-secondary);padding-top:.85rem;border-top:1px solid var(--border)}.audit-table{width:100%;border-collapse:collapse;font-size:12.5px}.audit-table tr{border-bottom:1px solid var(--border)}.audit-table tr:hover{background:var(--surface)}.audit-table td{padding:.65rem .8rem;color:var(--text-secondary);vertical-align:top}.audit-table td:first-child{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px}.audit-table td:nth-child(2){color:var(--text);font-weight:550}.detail-footer{display:flex;align-items:center;gap:.75rem;padding:1.1rem 2rem;flex-shrink:0;border-top:1px solid var(--border);background:var(--surface)}.btn-primary,.btn-secondary,.btn-ghost{padding:.6rem 1.2rem;border-radius:var(--r-sm);font-size:13.5px;font-weight:600;transition:all .15s ease;border:1px solid transparent}.btn-primary{background:var(--green);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-3)}.btn-primary.active{background:var(--green-soft);color:var(--green-text);border-color:var(--green);box-shadow:none}.btn-primary.active:hover{transform:none;filter:none;background:var(--green-soft)}.btn-secondary.active.danger{background:var(--red-soft);color:var(--red-text);border-color:var(--red)}.cockpit{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}.cockpit-head{padding:.5rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.cockpit-title-row{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.cockpit-title-row h1{font-size:15.5px;font-weight:650;line-height:1.25;color:var(--text);flex:1;min-width:0}.cockpit-title-row .source-link{margin-left:auto;white-space:nowrap;flex-shrink:0}.cockpit-source-line{display:inline;margin:0}.cockpit-sub{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.4rem}.cockpit-triage{display:flex;gap:.4rem;margin-left:auto}.cockpit-triage .btn-primary,.cockpit-triage .btn-secondary{padding:.3rem .7rem;font-size:12.5px}.cockpit-body{flex:1;display:flex;min-height:0}.cockpit-left{width:340px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;padding:1.1rem 1.1rem 2rem;display:flex;flex-direction:column;gap:1rem}.cockpit-right{flex:1;min-width:0;display:flex;flex-direction:column}.fit-badge{display:flex;align-items:baseline;gap:.5rem;padding:.7rem .9rem;border-radius:var(--r);border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface)}.fit-badge.score-high{border-left-color:var(--green)}.fit-badge.score-mid{border-left-color:var(--amber)}.fit-badge.score-low{border-left-color:var(--text-muted)}.fit-badge .fit-pct{font-size:16px;font-weight:700;color:var(--text)}.ai-score-btn{padding:.5rem .9rem;font-size:12.5px;font-weight:600;border-radius:var(--r-sm);border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-hover);cursor:pointer;width:100%}.ai-score-btn:hover:not(:disabled){background:var(--accent);color:#fff}.ai-score-btn:disabled{opacity:.6;cursor:default}.ai-score-note{font-size:12px;color:var(--text-secondary);line-height:1.5;background:var(--surface-2);border-radius:var(--r-sm);padding:.5rem .7rem}.fit-badge .fit-ba{font-size:12.5px;color:var(--text-secondary)}.fit-badges{display:flex;flex-direction:column;gap:.4rem}.fit-badge{flex-direction:column;align-items:flex-start;gap:.15rem}.score-mode-bar{display:flex;align-items:center;gap:.6rem;padding:0 2rem .5rem;flex-wrap:wrap}.score-mode-label{font-size:12.5px;color:var(--text-secondary);font-weight:600}.score-mode-hint{font-size:12px;color:var(--text-muted)}.score-mode-bar .row-btn{white-space:nowrap}.add-tender-bar{padding:0 2rem .6rem}.add-tender-toggle{cursor:pointer}.add-tender-panel{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:.7rem .9rem}.add-tender-row{display:flex;gap:.5rem;align-items:center}.add-tender-row .triage-search{flex:1}.add-tender-msg{font-size:12.5px;color:var(--red, #d33);margin:.4rem 0 0}.add-tender-results{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:320px;overflow-y:auto}.add-tender-results li{display:flex;align-items:center;gap:.6rem;padding:.45rem .5rem;border-radius:var(--r-sm);background:var(--surface-2)}.add-tender-info{display:flex;flex-direction:column;flex:1;min-width:0}.add-tender-title{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-tender-sub{font-size:11.5px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-gb-compact{display:inline-flex;align-items:center;gap:.4rem}.attach-gb-compact select{font-size:12.5px;padding:.4rem .5rem;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface)}.attach-gb-compact .row-btn{white-space:nowrap}.attach-gb-msg{display:block;color:var(--green);font-weight:600;font-size:12px;margin-top:.4rem}.reco-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .7rem;border-radius:var(--r-sm);margin-bottom:.7rem;border:1px solid var(--border);border-left:3px solid var(--text-muted)}.reco-label .reco-cap{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.reco-label .reco-verdict{font-size:14px;font-weight:700}.reco-label.reco-go{background:color-mix(in srgb,var(--green) 12%,transparent);border-left-color:var(--green)}.reco-label.reco-go .reco-verdict{color:var(--green)}.reco-label.reco-maybe{background:color-mix(in srgb,var(--amber) 14%,transparent);border-left-color:var(--amber)}.reco-label.reco-maybe .reco-verdict{color:var(--amber)}.reco-label.reco-nogo{background:color-mix(in srgb,var(--red, #d33) 12%,transparent);border-left-color:var(--red, #d33)}.reco-label.reco-nogo .reco-verdict{color:var(--red, #d33)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:.95rem 1rem}.card-title{display:flex;align-items:center;gap:.5rem;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.75rem}.card-count{margin-left:auto;font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft, var(--surface-2));border-radius:999px;padding:.1rem .5rem;text-transform:none}.kv-list{display:flex;flex-direction:column;gap:.5rem}.kv-row{display:flex;flex-direction:column;gap:.1rem}.kv-row dt{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.kv-row dd{font-size:13px;color:var(--text);margin:0}.kv-row dd.kv-open{color:var(--text-muted);font-style:italic}.kv-award{margin-top:.6rem}.kv-award-label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:.3rem}.checklist{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin:0;padding:0}.checklist li{display:flex;gap:.5rem;font-size:12.5px;line-height:1.45;color:var(--text);align-items:flex-start}.checklist li.done span{color:var(--text-muted);text-decoration:line-through}.check-toggle{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:15px;line-height:1.2;color:var(--accent);padding:0}.muted-hint{font-size:12.5px;color:var(--text-muted);line-height:1.5}.cockpit-right .tab-bar{padding:0 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.pane{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;min-height:0}.cockpit-right{overflow:hidden}.pane-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.docs-na{display:inline-flex;align-items:center;font-size:12.5px;color:var(--text-muted);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--r-sm);padding:.4rem .7rem}.pane-error{font-size:13px;color:var(--red-text);background:var(--red-soft);border-radius:var(--r-sm);padding:.6rem .85rem}.pane-info{font-size:13px;color:var(--amber-text);background:var(--amber-soft);border-radius:var(--r-sm);padding:.6rem .85rem}.pane-status{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:.55rem;margin-bottom:.5rem}.pane-status:before{content:"";width:13px;height:13px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.cpv-chips{display:flex;flex-wrap:wrap;gap:.3rem}.cpv-chip{font-size:11px;font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:.1rem .4rem}.empty-analysis{color:var(--text-muted);font-size:13.5px;line-height:1.6;max-width:60ch}.empty-analysis .muted-hint{margin-top:.6rem}.md-edit{width:100%;min-height:420px;padding:1rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;resize:vertical}.md{font-size:14px;line-height:1.65;color:var(--text);max-width:80ch}.md h1{font-size:20px}.md h2{font-size:16px;font-weight:700;margin:1.4rem 0 .6rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.md h3{font-size:14px;font-weight:700;margin:1rem 0 .4rem}.md p{margin:.5rem 0}.md ul,.md ol{margin:.5rem 0;padding-left:1.3rem}.md li{margin:.25rem 0}.md strong{font-weight:650;color:var(--text)}.md blockquote{margin:.5rem 0 1.1rem;padding:.85rem 1.05rem;border-left:4px solid var(--accent);background:var(--accent-soft, var(--amber-soft));border-radius:var(--r);color:var(--text);font-size:14px;line-height:1.55}.md blockquote p{margin:0}.md blockquote strong{color:var(--text)}.md h1:first-child,.md h2:first-child{margin-top:0}.md table{border-collapse:collapse;width:100%;margin:.8rem 0;font-size:12.5px}.md th,.md td{border:1px solid var(--border);padding:.4rem .6rem;text-align:left;vertical-align:top}.md th{background:var(--surface-2);font-weight:650}.md code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;background:var(--surface-2);padding:.1rem .3rem;border-radius:4px}.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--border);margin-left:auto}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:100px;border:3px solid var(--bg)}*::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}input[type=text],input:not([type]){width:100%;padding:.6rem .8rem;font-family:inherit;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);transition:border-color .15s ease,box-shadow .15s ease}input[type=text]:focus,input:not([type]):focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder{color:var(--text-muted)}.settings-view{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.settings-view>.tab-bar{padding:0 2rem;flex-shrink:0}.settings-panel{max-width:660px;padding:1.75rem 2rem}.settings-panel h3{font-size:16px;font-weight:650;margin-bottom:1.4rem;color:var(--text)}.settings-panel .kv{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}.settings-panel .kv label{font-size:12.5px;font-weight:600;color:var(--text-secondary)}.settings-panel .btn-primary,.settings-panel .btn-secondary{margin-top:.4rem}.sources-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.4rem}.source-item{display:flex;align-items:center;gap:.85rem;padding:.65rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r)}.source-name{font-weight:600;color:var(--text)}.source-tool{font-size:12px}.source-item .btn-secondary{margin-left:auto;padding:.35rem .8rem;font-size:12.5px}.text-muted{color:var(--text-muted)}.settings-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}.settings-hint{font-size:12.5px;color:var(--text);margin:1rem 0 0;padding:.7rem .9rem;background:var(--amber-soft);border:1px solid var(--border);border-radius:var(--r)}.workspace{flex:1;display:flex;flex-direction:column;min-width:0}.workspace-header{padding:1.25rem 1.75rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem}.workspace-toolbar{display:flex;gap:.6rem;padding:.85rem 1.75rem;border-bottom:1px solid var(--border);align-items:center;flex-wrap:wrap}.workspace-body{flex:1;display:flex;min-height:0}.workspace-editor{flex:1;margin:1.25rem 1.75rem;padding:1rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;resize:none;min-height:0}.ws-requirements{width:300px;flex-shrink:0;border-right:1px solid var(--border);padding:1.25rem;overflow-y:auto}.ws-requirements h3{font-size:14px;margin-bottom:.85rem}.ws-facts{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.1rem}.ws-fact{display:flex;flex-direction:column;gap:.1rem}.ws-fact dt{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.ws-fact dd{font-size:13px;color:var(--text);margin:0}.ws-checklist-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:.5rem}.ws-checklist{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin:0 0 1rem;padding:0}.ws-checklist li{font-size:13px;color:var(--text)}.ws-check{color:var(--accent);margin-right:.35rem}.ws-empty{font-size:12.5px;color:var(--text-muted);margin-bottom:1rem}.ws-hint{font-size:11.5px;color:var(--text-muted);font-style:italic}.facts{margin-bottom:1.1rem}.facts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem 1.25rem;margin-bottom:.85rem}.fact{display:flex;flex-direction:column;gap:.15rem}.fact-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.fact-value{font-size:13.5px;color:var(--text)}.facts-req{display:flex;flex-direction:column;gap:.45rem}.facts-award{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem;max-width:460px}.award{display:flex;flex-direction:column;gap:.4rem}.award-track{display:flex;height:22px;border-radius:999px;overflow:hidden;background:var(--surface-2)}.award-seg{display:flex;align-items:center;justify-content:center;min-width:0;transition:width .2s ease}.award-seg-label{font-size:11px;font-weight:700;color:#fff;white-space:nowrap;padding:0 .4rem}.award-legend{display:flex;flex-wrap:wrap;gap:.85rem;font-size:12px;color:var(--text-secondary)}.award-leg{display:inline-flex;align-items:center;gap:.3rem}.award-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:244px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1rem .75rem;gap:.25rem}.sidebar-logo{font-size:17px;font-weight:750;letter-spacing:-.03em;padding:.5rem .75rem 1rem}.sidebar-logo span{background:linear-gradient(90deg,var(--accent),var(--accent-hover));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sidebar-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:.75rem .75rem .35rem}.sidebar-item{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;padding:.55rem .75rem;border-radius:var(--r);font-size:13.5px;font-weight:500;color:var(--text-secondary);transition:background .13s,color .13s}.sidebar-item:hover{background:var(--surface-2);color:var(--text)}.sidebar-item.active{background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.sidebar-divider{height:1px;background:var(--border);margin:.6rem .5rem}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:.4rem;padding-top:.5rem}.sidebar-user{display:flex;align-items:center;gap:.5rem;margin-top:.4rem;padding:.55rem .75rem .2rem;border-top:1px solid var(--border);font-size:12.5px;color:var(--text-secondary)}.sb-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--accent-soft);color:var(--accent-hover);font-size:10px;font-weight:700;flex-shrink:0}.sb-user-name{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.overview{flex:1;min-height:0;padding:1.75rem 2rem;overflow-y:auto;max-width:1280px}.overview h2{font-size:19px;margin-bottom:1.25rem}.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:1.5rem}.kpi-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:.9rem 1.1rem;cursor:pointer;text-align:left;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.kpi-tile:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.kpi-icon{color:var(--text-muted);margin-bottom:.35rem}.kpi-num{font-size:28px;font-weight:700;color:var(--text);line-height:1.05}.kpi-label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-top:.2rem}.kpi-done .kpi-num{color:var(--green-text)}.kpi-done .kpi-icon{color:var(--green)}.kpi-urgent.is-hot{border-color:var(--red);background:var(--red-soft)}.kpi-urgent.is-hot .kpi-num{color:var(--red-text)}.kpi-urgent.is-hot .kpi-icon{color:var(--red)}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:1.5rem;align-items:start}.kanban-col{display:flex;flex-direction:column;min-width:0}.kanban-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.5rem .7rem;margin-bottom:.6rem;cursor:pointer;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);transition:border-color .12s ease}.kanban-head:hover{border-color:var(--accent)}.kh-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.kh-count{font-size:12px;font-weight:700;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:100px;padding:.05rem .5rem;min-width:1.5rem;text-align:center}.kanban-cards{display:flex;flex-direction:column;gap:.5rem}.kanban-empty{font-size:13px;color:var(--text-muted);text-align:center;padding:.9rem 0;margin:0}.kanban-card{display:flex;flex-direction:column;gap:.35rem;width:100%;cursor:pointer;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:.6rem .7rem;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.kanban-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.kc-top{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.kc-title{font-size:12.5px;font-weight:600;color:var(--text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kc-meta{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-more{display:flex;align-items:center;justify-content:center;gap:.3rem;cursor:pointer;background:transparent;border:1px dashed var(--border);border-radius:var(--r);padding:.45rem;font-size:11.5px;font-weight:600;color:var(--text-secondary)}.kanban-more:hover{border-color:var(--accent);color:var(--accent)}@media (max-width: 900px){.kpi-strip,.kanban{grid-template-columns:repeat(2,1fr)}}.stepper{display:flex;align-items:center;gap:0;margin:.75rem 0 .25rem;flex-wrap:wrap}.step{position:relative;display:flex;align-items:center;gap:.4rem;padding-right:1.4rem}.step-dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:700;background:var(--surface-2);color:var(--text-muted);border:1.5px solid var(--border-strong)}.step-label{font-size:12.5px;font-weight:600;color:var(--text-muted);white-space:nowrap}.step-line{width:1rem;height:2px;background:var(--border-strong);margin-left:.2rem}.step.done .step-dot{background:var(--green);color:#fff;border-color:var(--green)}.step.done .step-label{color:var(--text-secondary)}.step.current .step-dot{background:var(--accent);color:#fff;border-color:var(--accent)}.step.current .step-label{color:var(--text)}.stepper.rejected .step-dot{background:var(--surface-2);color:var(--text-muted);border-color:var(--border);opacity:.5}.stepper.rejected .step-label{opacity:.5}.step-rejected-badge{font-size:12px;font-weight:700;color:var(--red-text);background:var(--red-soft);border-radius:var(--r-sm);padding:.2rem .6rem}.fit-banner{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r);background:var(--bg);padding:.85rem 1rem;margin-bottom:1.1rem}.fit-banner.score-high{border-left-color:var(--green)}.fit-banner.score-mid{border-left-color:var(--amber)}.fit-banner.score-low{border-left-color:var(--text-muted)}.fit-head{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.fit-pct{font-size:16px;font-weight:700;color:var(--text)}.fit-ba{font-size:13px;color:var(--text-secondary)}.fit-kw{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.fit-rationale{margin-top:.55rem;font-size:12.5px;color:var(--text-muted)}.tender-title-row{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.reco-chip{font-size:10.5px;font-weight:700;padding:.08rem .45rem;border-radius:100px;white-space:nowrap;border:1px solid transparent}.reco-chip.reco-go{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green)}.reco-chip.reco-maybe{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber)}.reco-chip.reco-nogo{background:color-mix(in srgb,var(--red, #d33) 14%,transparent);color:var(--red, #d33)}.workspace{display:flex;flex-direction:column;gap:1.4rem}.ws-section{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:1rem 1.1rem}.ws-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.ws-head h3{font-size:14px;font-weight:650;color:var(--text);margin:0}.ws-count{font-size:11.5px;font-weight:700;color:var(--accent-hover, var(--accent));background:var(--accent-soft);border-radius:100px;padding:.08rem .5rem}.ws-empty{font-size:12.5px;color:var(--text-muted);margin:.2rem 0}.ws-loading,.ws-error{font-size:13px;color:var(--text-secondary);padding:1rem}.ws-error{color:var(--red, #d33)}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12.5px;padding:0}.ws-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.ws-item{border:1px solid var(--border);border-radius:var(--r-sm);padding:.5rem .65rem;background:var(--surface-2)}.ws-item.done{background:color-mix(in srgb,var(--green) 8%,transparent);border-color:color-mix(in srgb,var(--green) 30%,var(--border))}.ws-item-row{display:flex;align-items:flex-start;gap:.5rem}.ws-check{display:flex;align-items:flex-start;gap:.5rem;flex:1;cursor:pointer}.ws-check input{margin-top:.2rem}.ws-item-title{font-size:13px;color:var(--text);line-height:1.35}.ws-item.done .ws-item-title{color:var(--text-secondary)}.ws-expand{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:11px;white-space:nowrap;flex-shrink:0}.ws-detail{font-size:12.5px;color:var(--text-secondary);line-height:1.5;margin:.5rem 0 .4rem;padding-left:1.5rem}.ws-item-note,.ws-q-answer,.ws-notes{width:100%;box-sizing:border-box;font:inherit;font-size:12.5px;resize:vertical;border:1px solid var(--border);border-radius:var(--r-sm);padding:.45rem .55rem;background:var(--surface);color:var(--text)}.ws-item-note{margin-top:.4rem;min-height:2.2rem}.ws-q-add{display:flex;gap:.5rem;margin-bottom:.6rem}.ws-q-add input{flex:1;font:inherit;font-size:13px;border:1px solid var(--border);border-radius:var(--r-sm);padding:.45rem .6rem;background:var(--surface);color:var(--text)}.ws-q-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.ws-q{border:1px solid var(--border);border-radius:var(--r-sm);padding:.55rem .65rem;background:var(--surface-2)}.ws-q-top{display:flex;align-items:center;gap:.5rem}.ws-q-text{flex:1;font-size:13px;color:var(--text)}.ws-q-top select{font-size:12px;padding:.2rem .4rem;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface)}.ws-q-answer{margin-top:.45rem;min-height:2.2rem}.ws-notes{min-height:4.5rem;margin-bottom:.5rem}.sb-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:var(--surface-2);font-size:10.5px;font-weight:700;color:var(--text-muted);flex-shrink:0}.sidebar-item.active .sb-icon{background:var(--accent);color:#fff}.sidebar-collapse{align-self:flex-end;width:26px;height:26px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;margin-bottom:.2rem}.sidebar-collapse:hover{background:var(--surface-2);color:var(--text)}.sidebar{transition:width .15s ease}.sidebar.collapsed{width:60px;padding:1rem .4rem}.sidebar.collapsed .sb-label,.sidebar.collapsed .sidebar-tagline{display:none}.sidebar.collapsed .sidebar-collapse{align-self:center}.sidebar.collapsed .sidebar-logo{text-align:center;padding:.3rem 0 .6rem}.sidebar.collapsed .sidebar-label{text-align:center;font-size:8px;padding:.6rem 0 .25rem;letter-spacing:.04em}.sidebar.collapsed .sidebar-item{justify-content:center;padding:.5rem 0;gap:0}.sidebar.collapsed .sidebar-step{gap:0}.sidebar.collapsed .sidebar-user{flex-direction:column;gap:.3rem;padding:.25rem 0}.sidebar.collapsed .sidebar-divider{margin:.5rem .2rem}.mode-switch{display:flex;align-items:center;gap:.5rem;padding:.7rem 2rem .2rem;flex-wrap:wrap}.mode-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 1.05rem;border-radius:100px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer}.mode-btn:hover{background:var(--surface-2);color:var(--text)}.mode-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.mode-btn .mode-ico{font-size:13px}.mode-arrow{color:var(--text-muted);font-size:14px}.ws-pane-head{margin-bottom:.5rem}.ws-pane-head h2{font-size:16px;font-weight:650;color:var(--text);margin:0 0 .15rem}.ws-pane-sub{font-size:12.5px;color:var(--text-secondary);margin:0}.back-link,.source-link,.ai-score-btn,.mode-btn,.row-btn,.filter-chip,.btn-primary,.btn-secondary,.ai-note-toggle,.ws-expand,.link-btn,.add-tender-toggle,.reco-chip,.tender-actions .row-btn{display:inline-flex;align-items:center;gap:.38rem}.ai-score-btn,.cockpit-triage .btn-primary,.cockpit-triage .btn-secondary{justify-content:center}.back-link svg,.source-link svg,.row-btn svg,.filter-chip svg,.btn-primary svg,.btn-secondary svg,.mode-btn svg,.ai-score-btn svg,.ws-expand svg,.ai-note-toggle svg,.reco-chip svg,.add-tender-toggle svg{flex-shrink:0}.ai-note-wrap{margin-top:.1rem}.ai-note-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:600;padding:.25rem 0}.ai-note-toggle:hover{color:var(--text)}.portal-list{list-style:none;margin:.4rem 0 1rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.portal-item{display:grid;grid-template-columns:minmax(140px,200px) 1fr auto auto;align-items:center;gap:.9rem;padding:.6rem .85rem;border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}.portal-name{font-size:13.5px;font-weight:600;color:var(--text)}.portal-url{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.doc-access{font-size:11px;font-weight:600;padding:.18rem .55rem;border-radius:100px;white-space:nowrap;border:1px solid transparent}.doc-access.doc-open{background:color-mix(in srgb,var(--green) 13%,transparent);color:var(--green)}.doc-access.doc-login{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber)}.doc-access.doc-link{background:var(--surface-2);color:var(--text-secondary);border-color:var(--border)}.portal-item .btn-secondary{padding:.35rem .8rem;font-size:12.5px}@media (max-width: 720px){.portal-item{grid-template-columns:1fr auto}.portal-url,.doc-access{grid-column:1 / -1}}.portal-builtin{font-size:11px;font-weight:600;color:var(--text-muted);padding:.18rem .55rem;white-space:nowrap}.btc-badge{font-size:10.5px;font-weight:700;padding:.12rem .5rem;border-radius:100px;white-space:nowrap;flex-shrink:0}.btc-badge.btc-ok{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green)}.btc-badge.btc-mid{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber)}.btc-badge.btc-low{background:var(--surface-2);color:var(--text-secondary)}.ws-btc-hint{display:flex;align-items:center;gap:.35rem;font-size:12px;color:var(--accent-hover, var(--accent));margin:.35rem 0 0;padding-left:1.5rem}.ws-btc-hint svg{flex-shrink:0}.chat-panel{margin-top:1.25rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.7rem .95rem;background:var(--surface-2);border:none;cursor:pointer;font-size:13.5px;font-weight:650;color:var(--text)}.chat-head:hover{background:var(--surface-3)}.chat-head-title{display:inline-flex;align-items:center;gap:.5rem}.chat-body{display:flex;flex-direction:column}.chat-msgs{display:flex;flex-direction:column;gap:.5rem;padding:.85rem;max-height:360px;overflow-y:auto}.chat-empty{font-size:12.5px;color:var(--text-muted);line-height:1.5;margin:.2rem 0}.chat-msg{font-size:13px;line-height:1.5;padding:.5rem .75rem;border-radius:var(--r);max-width:85%;white-space:pre-wrap}.chat-user{align-self:flex-end;background:var(--accent-soft);color:var(--text);border:1px solid var(--accent-border)}.chat-assistant{align-self:flex-start;background:var(--bg);color:var(--text);border:1px solid var(--border)}.chat-typing{color:var(--text-muted);letter-spacing:.15em}.chat-input{display:flex;gap:.5rem;padding:.7rem .85rem;border-top:1px solid var(--border)}.chat-input input{flex:1;font-size:13px;padding:.5rem .7rem;border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);color:var(--text)}.chat-input input:focus{outline:none;border-color:var(--accent)}.chat-input button{display:inline-flex;align-items:center;justify-content:center;width:38px;background:var(--accent);color:#fff;border:none;border-radius:var(--r);cursor:pointer}.chat-input button:disabled{opacity:.45;cursor:default}.stage-switch{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:0;padding:.28rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.stage-current{display:inline-flex;align-items:center;gap:.4rem;font-size:12.5px;font-weight:650;color:var(--text)}.stage-go{display:inline-flex;align-items:center;gap:.4rem;font-size:12px;font-weight:600;background:var(--surface);color:var(--accent-hover, var(--accent));border:1px solid var(--accent-border);border-radius:var(--r);padding:.26rem .7rem;cursor:pointer}.stage-go:hover{background:var(--accent-soft)}.stepper.interactive .step{background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:.1rem 1.4rem .1rem 0;border-radius:var(--r-sm)}.stepper.interactive .step:hover .step-label{color:var(--accent)}.stepper.interactive .step:hover .step-dot{border-color:var(--accent)}.step.active-view .step-label{color:var(--accent);font-weight:700}.step.active-view .step-dot{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.chat-msg>div>:first-child{margin-top:0}.chat-msg p{margin:0 0 .45rem}.chat-msg p:last-child{margin-bottom:0}.chat-msg ul,.chat-msg ol{margin:.25rem 0 .5rem;padding-left:1.15rem}.chat-msg li{margin:.12rem 0}.chat-msg strong{font-weight:700}.chat-msg h1,.chat-msg h2,.chat-msg h3,.chat-msg h4{font-size:13.5px;font-weight:700;margin:.4rem 0 .2rem}.chat-msg code{background:var(--surface-2);border-radius:4px;padding:.05rem .3rem;font-size:12px}.chat-msg a{color:var(--accent)}
