:root{--bg: #0f0f12;--surface: #18181c;--border: #2a2a30;--text: #e4e4e7;--text-muted: #a1a1aa;--accent: #7c3aed;--accent-hover: #8b5cf6;--user-bubble: #3b3b42;--assistant-bubble: #27272a;--thinking-bubble: #1f1f24;--error: #f87171;--radius: 10px;--font-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);overflow:hidden}#root{display:flex;flex-direction:column}.header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:var(--surface)}.header h1{margin:0;font-size:1.125rem;font-weight:600}.controls{display:flex;align-items:center;gap:.75rem}.main{flex:1 1 auto;min-height:0}.split-view{display:grid;grid-template-columns:minmax(420px,5fr) minmax(360px,4fr);gap:0;height:100%}.left-panel,.right-panel{height:100%;overflow:auto;padding:1.25rem}.left-panel{border-right:1px solid var(--border)}.btn{padding:.4rem .85rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;font-family:inherit;background:var(--surface);color:var(--text);transition:background .12s ease,border-color .12s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-secondary{background:transparent;border-color:var(--border)}.btn-secondary:not(:disabled):hover{border-color:var(--accent)}.mode-selector h2{font-size:.875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .6rem}.mode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;margin-bottom:1.25rem}.mode-card-wrapper{display:flex;flex-direction:column;gap:.35rem}.mode-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .9rem;color:var(--text);cursor:pointer;font-family:inherit}.mode-card:hover{border-color:var(--accent)}.mode-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.mode-title{font-weight:600;margin-bottom:.2rem}.mode-desc{font-size:.8rem;color:var(--text-muted)}.wizard-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.form-title{margin:0 0 .5rem;font-size:1rem}.form-description{color:var(--text-muted);margin:.25rem 0 .5rem;line-height:1.5}.inline-link{color:var(--accent)}.step-indicator{display:flex;align-items:center;margin-bottom:.85rem;gap:.25rem}.step-dot{width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.8rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.step-dot.active{color:var(--text);border-color:var(--accent)}.step-dot.current{background:var(--accent);color:#fff;border-color:var(--accent)}.step-dot.locked{cursor:not-allowed;opacity:.5}.step-dot:not(.locked):hover{border-color:var(--accent)}.step-line{display:inline-block;width:1.5rem;height:1px;background:var(--border)}.bafa-wizard{display:flex;flex-direction:column;gap:.5rem}.report-form{display:flex;flex-direction:column;gap:.7rem}.form-row{display:flex;flex-direction:column;gap:.25rem}.form-row-full{grid-column:1 / -1}.form-row label{font-size:.8rem;color:var(--text-muted)}.form-row input,.form-row select,.form-row textarea,.questionnaire-field{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.45rem .55rem;font-family:inherit;font-size:.9rem}.form-row input:focus,.form-row select:focus,.form-row textarea:focus,.questionnaire-field:focus{outline:none;border-color:var(--accent)}.form-row textarea{resize:vertical;min-height:2rem}.form-inline-group{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.form-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.field-hint{color:var(--text-muted);font-size:.75rem}.upload-area{display:flex;flex-direction:column;gap:.25rem;border:1px dashed var(--border);border-radius:6px;padding:.4rem .55rem;font-size:.78rem;color:var(--text-muted)}.upload-area input[type=file]{font-family:inherit;font-size:.78rem;color:var(--text)}.upload-hint{color:var(--text-muted)}.file-list{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.2rem}.file-list li{display:flex;justify-content:space-between;font-size:.78rem;padding:.2rem .4rem;border-radius:4px;background:var(--bg);border:1px solid var(--border)}.file-list .file-pending{color:var(--text-muted)}.file-list .file-done{color:#4ade80;border-color:#4ade8060}.file-list .file-error{color:var(--error);border-color:#f8717160}.file-name{font-weight:500;color:var(--text)}.file-status{font-variant-numeric:tabular-nums}.questionnaire-form{display:flex;flex-direction:column;gap:1rem}.questionnaire-section{display:flex;flex-direction:column;gap:.5rem}.questionnaire-section-title{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.questionnaire-json{font-family:var(--font-mono, ui-monospace, monospace);font-size:.78rem}.result-preview{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.85rem 1rem;min-height:18rem;line-height:1.55;font-size:.92rem;overflow:auto}.result-preview-editable:focus{outline:none;border-color:var(--accent)}.result-preview h1,.result-preview h2,.result-preview h3{margin:1rem 0 .5rem}.result-preview pre{background:var(--surface);border:1px solid var(--border);padding:.6rem .7rem;border-radius:4px;overflow-x:auto}.result-preview code{font-family:var(--font-mono, ui-monospace, monospace)}.result-preview-editable[data-placeholder]:empty:before{content:attr(data-placeholder);color:var(--text-muted)}.autosave-status{font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.autosave-status.saving{color:var(--accent)}.autosave-status.saved{color:#4ade80}.info-box{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.5rem .7rem;font-size:.82rem;color:var(--text);margin-bottom:.4rem}.link-button{background:none;border:none;color:var(--accent);font:inherit;padding:0;cursor:pointer;text-decoration:underline}.chat-section{display:flex;flex-direction:column;height:100%;gap:.75rem}.chat-header-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.verbose-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-muted)}.token-counter{display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.token-label{font-weight:600}.token-chip{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.15rem .4rem;white-space:nowrap}.token-chip b{color:var(--text);font-weight:600}.ws-status{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.ws-status-open{color:#4ade80}.ws-status-closed,.ws-status-connecting{color:var(--text-muted)}.messages{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:.5rem;padding-right:.25rem}.messages-empty{color:var(--text-muted);font-size:.875rem;margin:auto;text-align:center}.bubble{border-radius:var(--radius);padding:.6rem .75rem;white-space:pre-wrap;line-height:1.4;font-size:.9rem;border:1px solid transparent}.bubble-user{background:var(--user-bubble);align-self:flex-end;max-width:80%}.bubble-assistant{background:var(--assistant-bubble);align-self:flex-start;max-width:90%}.bubble-thinking{background:var(--thinking-bubble);color:var(--text-muted);font-size:.8rem}.bubble-system{background:transparent;color:var(--text-muted);font-size:.75rem;padding:.2rem 0}.bubble-error{background:transparent;border-color:var(--error);color:var(--error)}.bubble-streaming:after{content:"▋";opacity:.6;margin-left:.15rem}.input-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:end}.chat-input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.5rem .6rem;font-family:inherit;font-size:.9rem;resize:vertical;min-height:2.5rem}.chat-input:focus{outline:none;border-color:var(--accent)}.boot-screen{display:grid;place-items:center;height:100%;color:var(--text-muted);font-size:.9rem}.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0f12f5;display:grid;place-items:center;z-index:1000}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem 1.75rem 1.5rem;width:min(360px,90vw)}.login-title{margin:0 0 .25rem;font-size:1.1rem}.login-subtitle{color:var(--text-muted);font-size:.875rem;margin:0 0 1rem}.login-form{display:flex;flex-direction:column;gap:.75rem}.login-field{display:flex;flex-direction:column;gap:.25rem}.login-field label{font-size:.8rem;color:var(--text-muted)}.login-field input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.45rem .6rem;font-family:inherit;font-size:.95rem}.login-field input:focus{outline:none;border-color:var(--accent)}.login-error{color:var(--error);font-size:.8rem}.login-btn{margin-top:.25rem}.gestaltungsfelder-group{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem}.gestaltungsfeld-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;cursor:pointer;line-height:1.35}.gestaltungsfeld-item input[type=checkbox]{margin-top:.15rem;accent-color:var(--accent);flex-shrink:0}.tags-input-container{display:flex;flex-wrap:wrap;gap:.35rem;padding:.4rem .6rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;min-height:2.5rem;align-items:center}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--accent);color:#fff;border-radius:4px;padding:.15rem .45rem;font-size:.8125rem;white-space:nowrap}.tag-chip button{background:none;border:none;color:#fff;cursor:pointer;font-size:.75rem;padding:0;line-height:1;opacity:.8}.tag-chip button:hover{opacity:1}.tags-input{border:none;background:transparent;color:var(--text);font-size:.875rem;outline:none;flex:1;min-width:120px;font-family:inherit}.form-section{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden}.form-section-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.75rem 1rem;background:var(--surface);border:none;color:var(--text);font-family:inherit;font-size:.9375rem;font-weight:600;cursor:pointer;text-align:left;transition:background .15s}.form-section-header:hover{background:#1e1e24}.form-section-toggle{font-size:.75rem;opacity:.6;flex-shrink:0}.form-section-body{padding:.75rem 1rem 1rem;border-top:1px solid var(--border)}.form-section-body.hidden{display:none}.form-divider{border:none;border-top:1px solid var(--border);margin:1rem 0}.repeatable-block{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);padding:.75rem;margin-bottom:.75rem;background:#1a1a1e}.repeatable-block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.repeatable-block-header strong{font-size:.875rem;color:var(--text-muted)}.btn-remove-block{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.125rem;padding:0 .25rem;line-height:1;transition:color .15s}.btn-remove-block:hover{color:var(--error)}.btn-sm{padding:.35rem .7rem;font-size:.8125rem}.upload-status{display:block;margin-top:.35rem;font-size:.8125rem;color:var(--text-muted)}.model-picker{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;color:var(--text-muted)}.model-picker-label{color:var(--text-muted)}.model-picker select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.3rem .5rem;font-family:inherit;font-size:.8125rem}.model-picker select:focus{outline:none;border-color:var(--accent)}.import-view{display:flex;flex-direction:column;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.import-view-title{margin:0;font-size:1rem}.import-view .form-row input[type=url],.import-view .form-row textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.45rem .55rem;font-family:inherit;font-size:.9rem}.import-view .form-row textarea{resize:vertical;min-height:6rem}.import-view .form-row input[type=url]:focus,.import-view .form-row textarea:focus{outline:none;border-color:var(--accent)}.import-dropzone{border:1px dashed var(--border);border-radius:6px;padding:.9rem;text-align:center;color:var(--text-muted);cursor:pointer;transition:border-color .12s ease,background .12s ease;background:var(--bg)}.import-dropzone:hover,.import-dropzone:focus-visible{border-color:var(--accent);outline:none}.import-dropzone.dragover{border-color:var(--accent);background:var(--surface)}.import-dropzone p{margin:0}.import-dropzone-hint{margin-top:.25rem!important;font-size:.75rem;color:var(--text-muted)}.import-file-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.import-file-list li{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);font-size:.78rem}.import-file-list .file-name-import{flex:1 1 auto;color:var(--text)}.import-file-list .file-status-import{color:var(--text-muted);font-variant-numeric:tabular-nums}.import-file-list .file-done{border-color:#4ade8060}.import-file-list .file-error{color:var(--error);border-color:#f8717160}.remove-import-file{border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 .25rem}.remove-import-file:hover{color:var(--error)}.import-status{margin:0;font-size:.82rem;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.45rem .6rem}.import-view-actions{display:flex;justify-content:flex-end;gap:.5rem}.import-prefill-banner{background:var(--surface);border:1px solid var(--accent);border-radius:6px;padding:.5rem .7rem;font-size:.82rem;color:var(--text);margin-bottom:.4rem}@media(max-width:900px){.split-view{grid-template-columns:1fr}.left-panel{border-right:none;border-bottom:1px solid var(--border)}.token-counter .token-label,.model-picker-label{display:none}}
