:root{--accent:#1a56db;--accent-dark:#1547b8;--text:#1f2937;--text-muted:#6b7280;--border:#e5e7eb;--bg:#fff;--bg-soft:#f9fafb;--warn-bg:#fef9c3;--warn-border:#facc15;--error-bg:#fee2e2;--error-border:#f87171;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.55}*{box-sizing:border-box}body{background-color:#fbfcfd;background-image:radial-gradient(circle,#e2e8f0b3 1px,#0000 1.5px);background-size:24px 24px;min-height:100vh;margin:0}.app{max-width:960px;margin:0 auto;padding:2rem 1.5rem 4rem}header{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex}header h1{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:700}.header-actions{align-items:center;gap:.6rem;display:flex}.lang-select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;padding:.4rem .5rem;font-size:.9rem}header h1 .accent{color:var(--accent)}h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}h3{margin:1.5rem 0 .5rem;font-size:1.05rem;font-weight:600}.hint{color:var(--text-muted);margin:.25rem 0 1rem;font-size:.9rem}.card{background:var(--bg);border:1px solid var(--border);border-radius:10px;margin-bottom:1.5rem;padding:1.75rem;box-shadow:0 1px 3px #0f172a0a}.card-input{position:relative}.card-input:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#1a56db1c,#0000 72%);position:absolute;inset:-70px}textarea{width:100%;font:inherit;color:inherit;border:1px solid var(--border);resize:vertical;background:var(--bg);border-radius:8px;padding:.75rem}textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}@media (width<=560px){.actions-input{flex-wrap:wrap}.actions-input button{flex:40%}.actions-input button:last-child{flex:100%}}button,.button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.55rem 1.1rem;font-weight:500;text-decoration:none;display:inline-block}button.primary{background:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-dark)}button.secondary,.button.secondary{background:var(--bg);color:var(--accent);border-color:var(--border)}button.secondary:hover:not(:disabled),.button.secondary:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.recording{background:#dc2626;border-color:#dc2626;animation:1.2s ease-in-out infinite rec-pulse}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.7}}.verstanden{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;margin-bottom:1.5rem;padding:1rem 1.25rem}.verstanden p{margin:.5rem 0 0}.frage{margin-bottom:1.25rem}.frage label{margin-bottom:.15rem;font-weight:600;display:block}.annahmen-banner{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:10px;margin-bottom:1.5rem;padding:1rem 1.25rem}.annahmen-banner ul{margin:.5rem 0 0;padding-left:1.25rem}.error-banner{background:var(--error-bg);border:1px solid var(--error-border);border-radius:10px;margin-bottom:1.5rem;padding:1rem 1.25rem}.loading{color:var(--text-muted);align-items:center;gap:.6rem;margin-bottom:1.5rem;display:flex}.spinner{border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tabs{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.tab{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.template-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.template-card{text-align:left;border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.9rem 1rem;display:flex}.template-card:hover:not(:disabled){border-color:var(--accent);background:var(--bg-soft)}.template-titel{color:var(--text);font-weight:600}.template-beschreibung{color:var(--text-muted);font-size:.85rem;line-height:1.4}.completeness{border:1px solid var(--border);border-radius:10px;margin-bottom:1.5rem;padding:.85rem 1.1rem;font-size:.92rem}.completeness.ok{background:#ecfdf5;border-color:#6ee7b7}.completeness.info{background:var(--bg-soft)}.completeness.warn{background:#fff7ed;border-color:#fdba74}.completeness ul{margin:.4rem 0 0;padding-left:1.2rem}.completeness li{margin-bottom:.15rem}.completeness .hint-warn{color:#9a3412}.completeness .hint-info{color:var(--text-muted)}.downloads{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.downloads-label{color:var(--text-muted);margin-right:.25rem;font-size:.9rem}.download-error{color:#b91c1c;margin:-.75rem 0 1.5rem;font-size:.88rem}.result-actions{justify-content:flex-end;margin-bottom:1rem;display:flex}.readonly-banner{background:var(--bg-soft);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;margin-bottom:1.5rem;padding:.7rem 1.1rem;font-size:.9rem}.downloads .secondary{padding:.4rem .8rem;font-size:.9rem}.layout-controls{flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;display:flex}.segment{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.seg{background:var(--bg);color:var(--text-muted);border:none;border-radius:0;padding:.35rem .8rem;font-size:.9rem}.seg+.seg{border-left:1px solid var(--border)}.seg.active{background:var(--accent);color:#fff}.drawio-frame{border:1px solid var(--border);background:var(--bg);border-radius:8px;width:100%;height:65vh;min-height:420px}.sop table{border-collapse:collapse;width:100%;margin:.5rem 0 1rem}.sop th,.sop td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.5rem .75rem}.sop th{background:var(--bg-soft)}.sop-steuerkopf th[scope=row]{white-space:nowrap;width:38%}.sop-version{color:var(--text-muted);margin-top:-.25rem;font-size:.9rem}.sop-schritt{border-left:3px solid var(--accent);margin:1rem 0 1.25rem;padding-left:1rem}.sop-schritt h4{margin:0 0 .25rem}.sop-meta{color:var(--text-muted);margin:0 0 .5rem;font-size:.9rem}.korrektur h3{margin-top:0}footer{text-align:center;color:var(--text-muted);margin-top:3rem;font-size:.85rem}.doc-control h3{margin-top:0}.doc-control-summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:1.15rem;font-weight:600;list-style-position:inside}.doc-control[open] .doc-control-summary{margin-bottom:.75rem}.doc-control:not([open])>:not(summary){display:none}.dc-grid{grid-template-columns:repeat(2,1fr);gap:.75rem 1rem;display:grid}@media (width<=560px){.dc-grid{grid-template-columns:1fr}}.dc-field{flex-direction:column;gap:.2rem;display:flex}.dc-field label{color:var(--text-muted);font-size:.85rem;font-weight:600}.doc-control input,.doc-control select{font:inherit;color:inherit;border:1px solid var(--border);background:var(--bg);box-sizing:border-box;border-radius:8px;width:100%;padding:.5rem .6rem}.doc-control input:focus,.doc-control select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.dc-optional-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);margin:1.25rem 0 .5rem;font-size:.8rem;font-weight:600}.dc-history-title{margin:1.5rem 0 .5rem}.dc-history{flex-direction:column;gap:.4rem;display:flex}.dc-history-row{grid-template-columns:.8fr 1fr 1fr 2fr auto;align-items:center;gap:.4rem;display:grid}.dc-history-head{color:var(--text-muted);font-size:.8rem;font-weight:600}.dc-remove{padding:.4rem .7rem;font-size:.85rem}.dc-add{margin-top:.6rem}.dc-saved{color:var(--accent);align-self:center;font-weight:600}@media (width<=560px){.dc-history-head{display:none}.dc-history-row{grid-template-columns:1fr}}.sop-editor textarea,.sop-editor input[type=text]{width:100%}.sop-edit-row{border-left:3px solid #e5e7eb;margin-bottom:.75rem;padding-left:.75rem}.sop-link-row{grid-template-columns:1fr 2fr auto;gap:.5rem;margin-bottom:.5rem;display:grid}.sop-links-label{margin:.5rem 0 .25rem;font-size:.85rem;display:block}@media (width<=640px){.sop-link-row{grid-template-columns:1fr}}
