/* Modul Entwicklung (Demands) — entwicklung.js */
.ew{max-width:1180px}
/* Statusleiste: der Weg eines Demands als Zähler, zugleich Filter */
.ew-stufen{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:4px 0 14px}
.ew-stufe{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 13px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:inherit;color:var(--ink);cursor:pointer;text-align:left;position:relative;transition:border-color var(--dur-fast,.15s)}
.ew-stufe b{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}
.ew-stufe span{font-size:.76rem;color:var(--ink-soft);font-weight:600}
.ew-stufe::before{content:"";position:absolute;right:12px;top:14px;width:8px;height:8px;border-radius:3px;background:var(--ew-farbe,var(--ink-faint))}
.ew-stufe:hover{border-color:var(--ink-faint)}
.ew-stufe.on{border-color:var(--ew-farbe,var(--accent));box-shadow:0 0 0 1px var(--ew-farbe,var(--accent)) inset}
.ew-alle::before{display:none}
.ew-s-eingereicht,.ew-p-eingereicht{--ew-farbe:#7B8580}
.ew-s-angenommen,.ew-p-angenommen{--ew-farbe:#34597A}
.ew-s-entwicklung,.ew-p-entwicklung{--ew-farbe:#B0853A}
.ew-s-testing,.ew-p-testing{--ew-farbe:#6A55A0}
.ew-s-live,.ew-p-live{--ew-farbe:#1C7A4E}
.ew-s-abgelehnt,.ew-p-abgelehnt{--ew-farbe:#A8392D}
/* Status-Pillen: Fläche, keine Randlinie */
.ew-pill{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:3px;white-space:nowrap;background:color-mix(in srgb,var(--ew-farbe) 14%,var(--surface));color:color-mix(in srgb,var(--ew-farbe) 82%,var(--ink))}
.ew-pill::before{content:"";width:6px;height:6px;border-radius:3px;background:var(--ew-farbe)}
.ew-werkzeug{display:flex;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.ew-werkzeug input[type=search]{flex:1;min-width:200px;max-width:380px;font:inherit;font-size:.9rem;padding:.55em .8em;border:1.5px solid var(--field-line);border-radius:6px;background:var(--surface);color:var(--ink)}
.ew-meine{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;color:var(--ink-soft);cursor:pointer}
.ew-meine input{accent-color:var(--accent)}
/* Karten */
.ew-karten{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.ew-karte{display:flex;flex-direction:column;gap:7px;text-align:left;padding:15px 16px 13px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:inherit;color:var(--ink);cursor:pointer;min-height:150px;transition:border-color var(--dur-fast,.15s),box-shadow var(--dur-fast,.15s)}
.ew-karte:hover{border-color:var(--ink-faint);box-shadow:var(--shadow-sm)}
.ew-karte:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ew-k-kopf{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ew-nr{font-family:var(--font-num,ui-monospace,monospace);font-size:.78rem;font-weight:700;color:var(--ink-soft)}
.ew-k-titel{font-size:1rem;line-height:1.35;text-wrap:balance}
.ew-k-text{font-size:.85rem;color:var(--ink-soft);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ew-k-fuss{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:.76rem;color:var(--ink-faint)}
.ew-k-bilder{display:inline-flex;align-items:center;gap:4px}
.ew-leer{padding:36px 20px;text-align:center;color:var(--ink-soft);border:1px dashed var(--line);border-radius:6px;background:var(--surface)}
/* Dialog */
.modal-card.ew-modal{max-width:720px}
.ew-m-nr{font-family:var(--font-num,ui-monospace,monospace);font-size:.8em;opacity:.7;margin-right:6px}
.ew-weg{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);margin:0 0 16px;padding:0;counter-reset:w}
.ew-weg li{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.72rem;font-weight:600;color:var(--ink-faint);text-align:center}
.ew-weg li i{width:12px;height:12px;border-radius:3px;background:var(--surface);border:2px solid var(--line);position:relative;z-index:1}
.ew-weg li:not(:first-child)::before{content:"";position:absolute;top:5px;right:50%;width:100%;height:2px;background:var(--line)}
.ew-weg li.fertig i,.ew-weg li.jetzt i{background:var(--accent);border-color:var(--accent)}
.ew-weg li.fertig:not(:first-child)::before,.ew-weg li.jetzt:not(:first-child)::before{background:var(--accent)}
.ew-weg li.jetzt i{box-shadow:0 0 0 4px var(--accent-soft)}
.ew-weg li.fertig,.ew-weg li.jetzt{color:var(--ink)}
.ew-box{border-radius:6px;padding:11px 13px;margin-bottom:14px;font-size:.88rem;line-height:1.5}
.ew-box p{margin:3px 0 0;white-space:pre-wrap}
.ew-box-rot{background:color-mix(in srgb,#A8392D 10%,var(--surface));color:var(--ink)}
.ew-box-rot b{color:#A8392D}
.ew-box-gruen{background:color-mix(in srgb,#1C7A4E 10%,var(--surface));color:var(--ink)}
.ew-box-gruen b{color:#1C7A4E}
.ew-beschreibung{white-space:pre-wrap;font-size:.93rem;line-height:1.6;color:var(--ink)}
.ew-bilder{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:14px}
.ew-bild{display:block;border-radius:4px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--surface-2)}
.ew-bild img{width:100%;height:100%;object-fit:cover;display:block}
.ew-abschnitt{margin:18px 0 8px;font-size:.68rem;font-weight:700;color:var(--ink-soft)}
.ew-abschnitt span{text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink-faint);margin-left:4px}
.ew-verlauf{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.ew-verlauf li{display:grid;grid-template-columns:86px auto 1fr;gap:10px;align-items:start;font-size:.84rem}
.ew-v-dat{color:var(--ink-faint);font-variant-numeric:tabular-nums;padding-top:2px}
.ew-v-text{color:var(--ink-soft);line-height:1.45}
.ew-eigen{margin:16px 0 0;font-size:.8rem;color:var(--ink-faint)}
.ew-upload{border:1.5px dashed var(--line);border-radius:6px;padding:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--surface-2)}
.ew-upload.drag{border-color:var(--accent);background:var(--accent-soft)}
.ew-up-bilder{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.ew-up-bilder:empty{display:none}
.ew-up-bild{position:relative;width:92px;height:70px;border-radius:4px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.ew-up-bild img{width:100%;height:100%;object-fit:cover}
.ew-up-bild button{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:3px;border:none;background:rgba(20,38,31,.72);color:#fff;font-size:15px;line-height:1;cursor:pointer}
.ew-up-oder{font-size:.8rem;color:var(--ink-faint)}
.ew-hinweis{font-size:.8rem;color:var(--ink-soft);margin:12px 0 0;line-height:1.5}
.btn.btn-slim.ew-weiss{background:var(--surface);border:1px solid var(--line);color:var(--ink)}
.btn.btn-slim.ew-weiss:hover{border-color:var(--accent);color:var(--accent-dark)}
[data-theme="dark"] .btn.btn-slim.ew-weiss:hover{color:var(--accent)}
[data-theme="dark"] .ew-box-rot b{color:#E08A7E}
[data-theme="dark"] .ew-box-gruen b{color:#7CC8A0}
[data-theme="dark"] .ew-pill{color:color-mix(in srgb,var(--ew-farbe) 45%,#fff)}
@media (max-width:980px){.ew-stufen{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:560px){.ew-stufen{grid-template-columns:repeat(2,minmax(0,1fr))}.ew-weg li span{font-size:.62rem}.ew-verlauf li{grid-template-columns:70px 1fr}.ew-v-text{grid-column:1/-1}}
/* Admin: Liste mit aufklappbarem Detail */
.ew-a-liste{display:flex;flex-direction:column;gap:8px}
.ew-a-zeile{border:1px solid var(--line);border-radius:6px;background:var(--surface);overflow:hidden}
.ew-a-zeile.offen{border-color:var(--ink-faint)}
.ew-a-kopf{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,220px) auto 70px;gap:12px;align-items:center;width:100%;padding:12px 16px;border:none;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.ew-a-kopf b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ew-a-m{font-size:.84rem;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ew-a-d{font-size:.8rem;color:var(--ink-faint);text-align:right;font-variant-numeric:tabular-nums}
.ew-a-detail{padding:4px 16px 16px;border-top:1px solid var(--line)}
.ew-a-detail .ew-box:first-child,.ew-a-detail .ew-beschreibung:first-child{margin-top:12px}
.ew-a-akt{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.ew-a-knoepfe{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.ew-a-knoepfe select{font:inherit;font-size:.86rem;padding:.42em .6em;border:1.5px solid var(--field-line);border-radius:4px;background:var(--surface);color:var(--ink)}
.ew-a-knoepfe .btn-primary{margin-left:auto}
@media (max-width:760px){.ew-a-kopf{grid-template-columns:60px 1fr auto}.ew-a-m,.ew-a-d{display:none}}
/* Mandanten: Reiter Offen / Live / Abgelehnt und aufklappbare Liste, nach Status gruppiert */
.ew-reiter{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);margin:2px 0 14px}
.ew-reiter button{display:inline-flex;align-items:center;gap:7px;border:none;background:none;font:inherit;font-size:.88rem;font-weight:600;color:var(--ink-soft);padding:.5em 1em;border-radius:4px;cursor:pointer}
.ew-reiter button span{font-size:.74rem;font-weight:700;background:var(--surface);color:var(--ink-soft);border-radius:3px;padding:1px 7px;font-variant-numeric:tabular-nums}
.ew-reiter button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}
.ew-reiter button.on span{background:var(--accent-soft);color:var(--accent-dark)}
[data-theme="dark"] .ew-reiter button.on span{color:var(--accent)}
.ew-block+.ew-block{margin-top:18px}
.ew-gruppe{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;color:var(--ink-soft);margin:0 2px 8px}
.ew-gruppe i{width:8px;height:8px;border-radius:3px;background:var(--ew-farbe)}
.ew-gruppe span{letter-spacing:0;font-weight:600;color:var(--ink-faint)}
.ew-zeilen{display:flex;flex-direction:column;gap:6px}
.ew-zeile{border:1px solid var(--line);border-radius:6px;background:var(--surface);overflow:hidden;scroll-margin-top:80px}
.ew-zeile.auf{border-color:var(--ink-faint);box-shadow:var(--shadow-sm)}
.ew-z-kopf{display:grid;grid-template-columns:64px minmax(0,1fr) 44px 128px 84px 18px;gap:12px;align-items:center;width:100%;padding:12px 16px;border:none;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.ew-z-kopf:hover{background:var(--surface-row-hover,var(--surface-2))}
.ew-z-kopf:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ew-z-kopf .ew-pill{justify-self:start}
.ew-z-titel{display:flex;align-items:baseline;gap:10px;min-width:0}
.ew-z-titel b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.ew-z-titel small{flex:none;font-size:.72rem;font-weight:600;color:var(--accent-dark);background:var(--accent-soft);border-radius:3px;padding:1px 8px}
[data-theme="dark"] .ew-z-titel small{color:var(--accent)}
.ew-z-bilder{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--ink-faint)}
.ew-z-dat{font-size:.8rem;color:var(--ink-faint);text-align:right;font-variant-numeric:tabular-nums}
.ew-z-pfeil{color:var(--ink-faint);transition:transform var(--dur-fast,.15s)}
.ew-zeile.auf .ew-z-pfeil{transform:rotate(180deg)}
.ew-z-detail{padding:16px 16px 16px 92px;border-top:1px solid var(--line)}
.ew-z-akt{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.ew-z-akt [data-ew-zurueck]{margin-right:auto}
@media (max-width:760px){.ew-z-kopf{grid-template-columns:56px minmax(0,1fr) auto 18px}.ew-z-bilder,.ew-z-dat{display:none}.ew-z-detail{padding:14px}}
