: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{margin-bottom:2rem}.header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;min-height:44px;display:flex}header h1{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:700}.header-tools{align-items:center;gap:.6rem;margin-left:auto;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}.main-nav{scrollbar-width:thin;min-height:calc(2.65rem + 2px);box-shadow:inset 0 -1px 0 var(--border);gap:.25rem;margin-top:1rem;display:flex;overflow-x:auto}.main-nav[data-fade=end]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),#0000)}.main-nav[data-fade=start]{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 2.5rem),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 2.5rem),#0000)}.main-nav[data-fade=both]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 2.5rem calc(100% - 2.5rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 2.5rem calc(100% - 2.5rem),#0000)}.nav-item{color:var(--text-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:none;padding:.55rem .9rem;font-weight:500}.nav-item:hover:not(:disabled){color:var(--text)}.nav-item.active{color:var(--accent);border-bottom-color:var(--accent)}.nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.stable-label{display:inline-grid}.stable-label>span{text-align:center;grid-area:1/1}.stable-label>.stable-label-off{visibility:hidden}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}@media (width<=1070px){.card-input:before{inset:-70px -1.5rem}}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,.branding input[type=text]{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,.branding input[type=text]: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}}.list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.list-head h2{margin:0}.list-head button{white-space:nowrap;flex-shrink:0}.data-table{border-collapse:collapse;width:100%;font-size:.95rem}@media (width<=480px){.data-table{display:block;overflow-x:auto}}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:.55rem .6rem}.data-table th{color:var(--text-muted);font-size:.85rem;font-weight:600}.data-table a{color:var(--accent);font-weight:500;text-decoration:none}.data-table a:hover{text-decoration:underline}.cell-actions{text-align:right;white-space:nowrap}.cell-actions .secondary{padding:.3rem .7rem;font-size:.85rem}.conflict-banner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.toggle-row{cursor:pointer;align-items:center;gap:.6rem;font-weight:500;display:flex}.auth-card{text-align:center;flex-direction:column;align-items:center;display:flex}.badge{vertical-align:middle;border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-draft{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--text)}.wi-create{gap:.6rem;margin-bottom:.75rem;display:flex}.wi-create input,.wi-search,.wi-editor input[type=text]{font:inherit;color:inherit;border:1px solid var(--border);background:var(--bg);border-radius:8px;width:100%;padding:.5rem .6rem}.wi-create input:focus,.wi-search:focus,.wi-editor input[type=text]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.wi-create button{white-space:nowrap}.wi-search{margin-bottom:1rem}.wi-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.wi-toolbar .hint{margin:0 auto 0 0}.wi-unsaved{color:#92400e;font-size:.9rem;font-weight:600}.wi-editor .dc-field{margin-bottom:.75rem}.wi-head{grid-template-columns:2fr 1fr 1fr}@media (width<=560px){.wi-head{grid-template-columns:1fr}.wi-create{flex-direction:column}}.wi-steps,.wi-steps-view{padding-left:0;list-style:none}.wi-steps-view{counter-reset:wi-step}.wi-step{border:1px solid var(--border);background:var(--bg);border-radius:10px;margin-bottom:.75rem;padding:.75rem}.wi-step:focus-within{border-color:var(--accent)}.wi-step-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.wi-step-actions{flex-wrap:wrap;gap:.4rem;display:flex}.wi-step-actions .secondary,.wi-dropzone .secondary{padding:.3rem .7rem;font-size:.85rem}.wi-dropzone{border:2px dashed var(--border);color:var(--text-muted);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.5rem;padding:.75rem;font-size:.9rem;display:flex}.wi-image-box{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.wi-step-image{object-fit:contain;border:1px solid var(--border);border-radius:6px;align-self:flex-start;max-width:100%;max-height:480px}.wi-meta div{grid-template-columns:10rem 1fr;gap:.5rem;margin-bottom:.4rem;display:grid}.wi-meta dt{color:var(--text-muted);font-weight:600}.wi-meta dd{white-space:pre-wrap;margin:0}.wi-steps-view li{counter-increment:wi-step;border-left:3px solid var(--accent);margin-bottom:1rem;padding:.25rem 0 .25rem .9rem}.wi-steps-view li:before{content:counter(wi-step) ".";font-weight:700}.wi-step-text{white-space:pre-wrap;margin:.25rem 0 .5rem}.modal-backdrop{z-index:50;background:#1118278c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{width:min(1100px,100%);max-height:calc(100vh - 2rem);margin:0;overflow:auto}.redact-stage{background:var(--bg-soft);border-radius:8px;justify-content:center;align-items:center;min-height:120px;padding:.5rem;display:flex}.redact-canvas{cursor:crosshair;touch-action:none;border:1px solid var(--border);max-width:100%;max-height:65vh}.redact-dialog .actions{flex-wrap:wrap;align-items:center}.redact-count{margin:0 auto 0 0}@media (width<=640px){.data-table{display:block;overflow-x:auto}}.badge-missing{background:var(--bg-soft);border:1px solid var(--border);color:var(--text-muted);font-weight:500}.missing-hint{color:var(--text-muted);margin:.3rem 0 .4rem}.missing-wis .missing-list{padding:0;list-style:none}.missing-list li{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem .75rem;padding:.35rem 0;display:flex}.missing-actions,.sop-wis-actions{flex-wrap:wrap;gap:.4rem;display:inline-flex}.missing-actions .secondary,.sop-wis-actions .secondary{padding:.25rem .65rem;font-size:.85rem}.sop-wis{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.4rem 0 0;font-size:.92rem;display:flex}.wi-chip{border:1px solid var(--border);background:var(--bg-soft);border-radius:999px;align-items:center;gap:.15rem;padding:.1rem .25rem .1rem .65rem;display:inline-flex}.wi-chip a{color:var(--accent);font-weight:500;text-decoration:none}.wi-chip a:hover{text-decoration:underline}.wi-chip-remove{color:var(--text-muted);background:0 0;border:none;padding:0 .35rem;font-size:1rem;line-height:1.2}.wi-chip-remove:hover:not(:disabled){color:#b91c1c}.sop-orphans{border-top:1px dashed var(--border);margin-top:1.5rem}.sop-orphans ul{padding:0;list-style:none}.sop-orphans li{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.sop-orphans li>.hint{margin:0}.sop-orphans .wi-chip{font-size:.92rem}.orphan-reassign{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;max-width:100%;padding:.3rem .5rem;font-size:.85rem}.orphan-reassign:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}@media (width<=560px){.sop-orphans li{flex-direction:column;align-items:flex-start;gap:.35rem;margin-bottom:.9rem}.orphan-reassign{width:100%}}.missing-wis>summary{cursor:pointer}.wi-picker{width:min(640px,100%)}.wi-picker-list{max-height:50vh;margin:.5rem 0 0;padding:0;list-style:none;overflow-y:auto}.wi-picker-list li+li{margin-top:.4rem}.wi-picker-list button{text-align:left;width:100%;color:var(--text);flex-direction:column;display:flex}.wi-picker-title{font-weight:600}.wi-picker-meta{color:var(--text-muted);font-size:.85rem}.wi-back{margin-bottom:1rem}.wi-usage{border-top:1px solid var(--border);margin-top:1.5rem}.wi-usage ul{padding-left:1.2rem}.wi-usage a{color:var(--accent);font-weight:500;text-decoration:none}.branding{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem}.branding-label{color:var(--text-muted);font-size:.85rem;font-weight:600}h2+.branding{border-top:0;margin-top:0;padding-top:0}.branding-logo-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.branding-logo-box{border:1px dashed var(--border);background:var(--bg);border-radius:8px;justify-content:center;align-items:center;width:220px;height:88px;display:flex;overflow:hidden}.branding-logo{max-width:100%;max-height:100%}.branding-logo-actions{flex-wrap:wrap;gap:.5rem;display:flex}.branding-actions{align-items:center}
