/* Pflegemaske ld-gama – httpdocs/assets/verwaltung.css (Rahmen: Menü links/oben, Kopfzeile, Vorschau; darunter die Bereiche) */
@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;src:url(schriften/inter-latin.woff2) format("woff2")}
:root{--bg:#f5f4f0;--card:#fff;--ink:#1a1a1e;--ink2:#5f5e66;--ink3:#6e6d75;--line:#e8e6e0;--line2:#dad7d0;--fein:#f0eee9;--flaeche:#f1f0ec;
  --dark:#1a1a1e;--akzent:#0f6b5c;--akzent2:#0a4f44;--akzent-hell:#e3f1ee;--ok:#12805f;--warn:#8a5a00;--warn-hell:#fdf1dc;--fehler:#b42318;--fehler-hell:#fdecea;
  --r:16px;--r2:10px;--schatten:0 12px 32px rgba(26,26,30,.12);--sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--akzent)}
a:hover{color:var(--akzent2)}
a[href^="tel:"]{white-space:nowrap}
h1{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.25;margin:4px 0 8px}
h2{font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0 0 12px}
.lead{color:var(--ink2);max-width:72ch;margin:0 0 20px}
.hint{color:var(--ink2);font-size:13px;margin:12px 0 0}
code{background:var(--flaeche);padding:1px 6px;border-radius:5px;font-size:13px}
.ico{flex:none}
:focus-visible{outline:2px solid var(--akzent);outline-offset:2px}

/* Rahmen: Menü + Inhalt */
.vrahmen{display:flex;min-height:100vh}
.vside{position:sticky;top:0;height:100vh;flex:0 0 256px;display:flex;flex-direction:column;gap:2px;padding:14px 12px;background:#fbfaf7;border-right:1px solid var(--line);overflow-y:auto;z-index:30}
.vside-kopf{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 12px}
.vbrand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;letter-spacing:-.01em}
.vbrand:hover{color:var(--ink)}
.vlogo{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--akzent);color:#fff;font-weight:700;flex:none}
img.vlogo{display:block;background:none;border-radius:0}
.vbrand .vlogo{display:none}
.vmarke{display:block;height:54px;width:auto;max-width:100%}
.eingeklappt .vbrand .vmarke{display:none}
.eingeklappt .vbrand .vlogo{display:block}
.dock-oben .vmarke{height:40px}
.vside-zu{display:none}
.vbetrieb{display:flex;align-items:center;gap:10px;padding:8px 10px;margin:0 0 14px;border:1px solid #e4e2dc;border-radius:var(--r2);background:#fff;color:var(--ink);text-decoration:none}
.vbetrieb:hover{border-color:var(--line2);color:var(--ink)}
.vbetrieb .vtext{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.3}
.vbetrieb b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vbetrieb small{font-size:12px;color:var(--ink3)}
.vbetrieb-zeichen{width:28px;height:28px;border-radius:50%;background:var(--dark);color:#fff;display:grid;place-items:center;font-weight:600;font-size:12px;flex:none}
.vnav{display:flex;flex-direction:column;gap:2px}
.vnav-verwaltung{margin-top:16px}
.vgruppe{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);padding:6px 10px}
.vreiter{display:flex;align-items:center;gap:2px}
.vreiter a{display:flex;align-items:center;gap:10px;flex:1;min-width:0;height:38px;padding:0 10px;border-radius:9px;color:#3d3c43;text-decoration:none;font-weight:500;font-size:14px}
.vreiter a .ico{color:var(--ink3)}
.vreiter a:hover{background:#f1f0eb;color:var(--ink)}
.vreiter.aktiv a{background:#ecebe5;color:var(--ink);font-weight:600}
.vreiter.aktiv a .ico{color:var(--akzent)}
.vreiter .vtext{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vreiter.ist-aus:not(.aktiv){display:none}
.vreiter-knoepfe{display:none}
.vreiter-knoepfe button{width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--ink2);cursor:pointer;display:grid;place-items:center;padding:0}
.vreiter-knoepfe button:hover{background:#ecebe5}
.vreiter-knoepfe [data-auge][aria-pressed=false]{color:#b5b2aa}
body.anpassen .vreiter-knoepfe{display:flex}
body.anpassen .vreiter.ist-aus{display:flex}
body.anpassen .vreiter.ist-aus a{opacity:.45}
.vanpassen-hinweis{font-size:12px;color:var(--akzent2);background:var(--akzent-hell);border-radius:8px;padding:8px 10px;margin:0 0 8px}
.vside-fuss{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.vfuss-form{margin:0}
.vfuss-knopf{display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:var(--ink2);cursor:pointer;font:500 13px var(--sans);text-decoration:none}
.vfuss-knopf:hover,.vfuss-knopf.aktiv{background:#f1f0eb;color:var(--ink)}
.vhaupt{flex:1;min-width:0;display:flex;flex-direction:column}

/* eingeklappt: nur Symbole */
.eingeklappt .vside{flex-basis:72px;padding:14px 10px}
.eingeklappt .vside .vtext,.eingeklappt .vbetrieb>.ico,.eingeklappt .vgruppe{display:none}
.eingeklappt .vbetrieb{justify-content:center;padding:8px 0}
.eingeklappt .vside-kopf{justify-content:center}
.eingeklappt .vreiter a,.eingeklappt .vfuss-knopf{justify-content:center;padding:0}

/* Menü oben */
.dock-oben .vrahmen{flex-direction:column}
.dock-oben .vside{position:sticky;top:0;height:auto;flex:none;flex-direction:row;align-items:center;gap:12px;padding:8px 20px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}
.dock-oben .vside-kopf{padding:0}
.dock-oben .vbetrieb{margin:0;padding:5px 10px}
.dock-oben .vbetrieb small,.dock-oben .vgruppe,.dock-oben .vanpassen-hinweis,.dock-oben .vreiter-knoepfe,.dock-oben [data-anpassen]{display:none}
.dock-oben .vnav{flex-direction:row;overflow-x:auto;flex:1;min-width:0;scrollbar-width:thin}
.dock-oben .vnav-verwaltung{margin:0;flex:none;border-left:1px solid var(--line);padding-left:8px}
.dock-oben .vreiter a{height:34px;padding:0 11px}
.dock-oben .vreiter a .ico{display:none}
.dock-oben .vside-fuss{margin:0;padding:0;border:0;flex-direction:row}
.dock-oben .vside-fuss .vtext,.dock-oben .vfuss-form{display:none}
.dock-oben .vkopf{top:51px}

/* Kopfzeile */
.vkopf{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:12px 28px;background:rgba(245,244,240,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);flex-wrap:wrap}
.vmenu{display:none;width:38px;height:38px;border:1px solid #e4e2dc;border-radius:var(--r2);background:#fff;color:var(--ink);cursor:pointer;place-items:center;padding:0}
.vpfad{display:flex;align-items:center;gap:8px;flex:1;min-width:160px;color:var(--ink3);font-size:13px}
.vpfad b{color:var(--ink);font-weight:500}
.vtrenner{color:#c9c6be}
.vstatus{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:500;white-space:nowrap}
.vstatus-kurz{display:none}
.vstatus .punkt{width:7px;height:7px;border-radius:50%;background:currentColor}
.vstatus-live{background:var(--akzent-hell);color:var(--akzent2)}
.vstatus-live .punkt{background:#12a07f}
.vstatus-entwurf{background:var(--warn-hell);color:var(--warn)}
.vstatus-aus{background:var(--flaeche);color:var(--ink2)}
.vkopf-link.wartet,a.wartet{opacity:.45;cursor:progress}
.vkopf-link{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border-radius:var(--r2);text-decoration:none;font-weight:500;font-size:14px}
.vkopf-knopf{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid #e4e2dc;border-radius:var(--r2);background:#fff;color:var(--ink);cursor:pointer;font:500 14px var(--sans);list-style:none}
.vkopf-knopf:hover{border-color:var(--line2)}
.vkopf-knopf.nur-symbol{width:36px;padding:0;justify-content:center}
.vkopf-knopf[aria-pressed=true]{background:var(--dark);border-color:var(--dark);color:#fff}
.vpop{position:relative}
.vpop>summary{list-style:none;cursor:pointer}
.vpop>summary::-webkit-details-marker{display:none}
.vpop-inhalt{position:absolute;right:0;top:44px;z-index:40;width:270px;background:#fff;border:1px solid #e4e2dc;border-radius:14px;box-shadow:var(--schatten);padding:14px;display:flex;flex-direction:column;gap:10px}
.vpop-inhalt small{color:var(--ink3);font-size:12px}
.vpop-inhalt form{margin:0}
.vpop-zeile{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;margin:0;border:0;border-radius:8px;background:transparent;color:var(--ink);text-decoration:none;font:500 14px var(--sans);cursor:pointer;text-align:left}
.vpop-zeile:hover{background:var(--flaeche);color:var(--ink)}
.vpop-fuss{display:flex;justify-content:flex-end;gap:8px}
.js .vpop-fuss [data-ohne-js]{display:none}
.vkonto-name{display:flex;flex-direction:column;padding:2px 10px 8px;border-bottom:1px solid var(--fein);line-height:1.35}
.vkonto-name small{word-break:break-all}
.vavatar{width:36px;height:36px;border-radius:50%;background:var(--dark);color:#fff;font-weight:600;font-size:12px;display:grid;place-items:center}
.vsegment{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;background:var(--flaeche);padding:4px;border-radius:var(--r2);border:0;margin:0}
.vpop-gruppe{display:flex;flex-direction:column;gap:6px}
.vpop-label{font-size:12px;color:var(--ink3)}
.vsegment label{margin:0;flex-direction:row;justify-content:center;font-weight:500;color:var(--ink2);cursor:pointer;position:relative}
.vsegment label input{position:absolute;opacity:0;pointer-events:none}
.vsegment label span{display:block;width:100%;text-align:center;padding:5px 0;border-radius:7px}
.vsegment label:has(input:checked) span{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.vsegment label:has(input:focus-visible) span{outline:2px solid var(--akzent)}
.vsegment.klein{display:inline-grid;padding:3px}
.vsegment.klein button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--ink2);cursor:pointer;font:500 13px var(--sans)}
.vsegment.klein button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.vschalter{flex-direction:row;align-items:center;justify-content:space-between;margin:0;font-weight:500;color:var(--ink);font-size:14px;cursor:pointer}
.vschalter input[type=checkbox]{appearance:none;width:36px;height:20px;border-radius:999px;background:#d6d3cc;position:relative;cursor:pointer;border:0;padding:0;flex:none;transition:background .15s}
.vschalter input[type=checkbox]::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}
.vschalter input[type=checkbox]:checked{background:var(--akzent)}
.vschalter input[type=checkbox]:checked::after{left:18px}

/* Inhalt + Vorschau daneben */
.vinhalt{display:flex;align-items:flex-start;flex:1;min-width:0}
.vmain{flex:1;min-width:0;max-width:1180px;margin:0 auto;padding:28px 28px 120px}
.vvorschau{position:sticky;top:61px;flex:0 0 440px;height:calc(100vh - 61px);display:flex;flex-direction:column;gap:10px;padding:12px;background:#ecebe5;border-left:1px solid var(--line)}
.vvorschau[hidden]{display:none}
.vvorschau-leiste{display:flex;align-items:center;gap:6px}
.vvorschau-titel{flex:1;font-weight:600;font-size:13px}
.vvorschau-titel small{display:block;font-weight:400;color:var(--ink3);font-size:12px}
.vvorschau-buehne{flex:1;min-height:0;display:flex;justify-content:center;align-items:flex-start;overflow:auto}
.vvorschau iframe{display:block;border:0;background:#fff}
.vvorschau.handy iframe{width:375px;max-width:100%;height:100%;border:9px solid var(--dark);border-radius:30px;box-shadow:0 12px 30px rgba(26,26,30,.18)}
.vvorschau.pc .vvorschau-buehne{display:block}
.vvorschau.pc iframe{width:1280px;height:calc((100vh - 140px) / var(--zoom,.32));transform:scale(var(--zoom,.32));transform-origin:0 0;border:1px solid var(--line2);border-radius:6px}
@media (max-width:1180px){.vvorschau,[data-vorschau-schalter]{display:none!important}}
.dock-oben .vvorschau{top:112px;height:calc(100vh - 112px)}

/* Anmeldung (ohne Menü) */
.nologin .vmain{max-width:none}

/* Karten, Kacheln */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:0 0 16px}
.card.narrow{max-width:520px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:16px 0 20px}
.tile-form{margin:0}
.tile{display:flex;flex-direction:column;gap:4px;width:100%;height:100%;text-align:left;font:inherit;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;text-decoration:none;color:var(--ink)}
.tile:hover{border-color:var(--ink2)}
.tile b{font-size:18px}
.tile span{color:var(--ink2);font-size:14px}
dl.daten{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 12px}
dl.daten dt{color:var(--ink2)}
dl.daten dd{margin:0}
.tile.img{padding:0;overflow:hidden}
.tile.img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.tile.img b,.tile.img span{padding:0 14px}
.tile.img span{padding-bottom:14px}

/* Formulare */
label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600;color:var(--ink2);margin:0 0 12px}
input,select,textarea{font:16px/1.4 var(--sans);color:var(--ink);background:#fff;border:1px solid #c9c5bc;border-radius:8px;padding:9px 11px;width:100%;min-width:0;max-width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--akzent);border-color:var(--akzent)}
input[type=time]{width:auto;min-width:110px}
input[type=file]{padding:7px;background:#f8f7f4}
input.short{width:90px}
.kuerzel-fest{display:inline-block;padding:0 13px;font-size:16px}
label,.grid2>*,.grid3>*,.grid4>*{min-width:0}
textarea{resize:vertical}
.chk{flex-direction:row;align-items:center;gap:8px;font-weight:500;color:var(--ink)}
.chk input{width:20px;height:20px;flex:none}
.chk.del{color:#8c2f21}
.chk.small{font-size:13px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin-bottom:4px}
.f2 .lbl{grid-column:1/-1;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:4px}
.f2 small{grid-column:1/-1;color:var(--ink2);margin:-8px 0 10px}
.f2 label{position:relative}
.flag{position:absolute;right:8px;top:8px;font-size:11px;font-weight:700;color:#8b9096;pointer-events:none}
label:has(>.flag)>input,label:has(>.flag)>textarea{padding-right:34px}
.pw-feld{position:relative;display:block}
.pw-feld input{padding-right:44px}
.pw-auge{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:6px;background:none;color:var(--ink3);cursor:pointer}
.pw-auge:hover{color:var(--ink)}
.pw-auge:focus-visible{outline:2px solid var(--akzent)}
.pw-auge[aria-pressed=false] .pw-strich{display:none}
.grid2,.grid3,.grid4{display:grid;gap:0 14px}
.grid2{grid-template-columns:1fr 1fr}
.grid3{grid-template-columns:repeat(3,1fr)}
.grid4{grid-template-columns:repeat(4,1fr);align-items:end}
fieldset{border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:0 0 14px;background:#fff}
legend{font-weight:700;padding:0 6px}
.badge{display:inline-block;background:#fff3cd;color:#6b5200;border-radius:6px;padding:1px 7px;font-size:12px;font-weight:600}

/* Knöpfe */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--akzent);color:#fff;border:0;border-radius:999px;padding:12px 24px;font:600 16px/1 var(--sans);cursor:pointer;text-decoration:none}
.btn:hover{background:var(--akzent2)}
.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}
.btn.ghost:hover{background:#f1efea}
.save{position:sticky;bottom:0;z-index:10;background:linear-gradient(transparent,var(--bg) 30%);padding:24px 0 16px;display:flex;justify-content:flex-end;gap:10px}
.save .btn{min-width:180px;box-shadow:0 6px 20px rgba(0,0,0,.15)}
.dirty .save .btn{background:var(--ok)}

/* Tabellen */
table.zeiten,table.list{width:100%;border-collapse:collapse;margin-bottom:16px}
table.zeiten th,table.zeiten td,table.list th,table.list td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
table.zeiten thead th,table.list thead th{font-size:13px;color:var(--ink2)}
table.zeiten .tz-l{display:none}
table.list td label{margin:0}

/* Speisekarte */
.items .item{padding:12px 14px}
.itop{display:flex;gap:10px;align-items:end}
.itop label{margin:0}
.itop .nr{width:80px}
.itop .grow{flex:1}
.itop .pr{width:120px}
.item details{margin:8px 0 6px}
.item summary{cursor:pointer;color:var(--ink2);font-size:14px;padding:4px 0}
.item summary .kz{font-family:ui-monospace,monospace;font-size:12px;color:#8b9096;margin-left:6px}
.item details[open] summary{margin-bottom:10px}
.item .grid2:last-child{margin-top:4px}
.item .grid2:last-child label{margin:0}
.is-aus{opacity:.6;background:#f6f5f2}
.legend-help ul{list-style:none;padding:0;margin:0;font-size:14px;color:var(--ink2)}
.legend-help summary{cursor:pointer;font-weight:700}
/* Allergene vorschlagen */
.vorschlag-start .hint.fehler{color:#8c2f21;font-weight:600}
.vorschlag{margin:6px 0 10px;padding:8px 12px;border-left:4px solid #c9a227;background:#fffbea;border-radius:6px;font-size:14px;color:var(--ink2)}
.vorschlag>div{margin:3px 0}
.vorschlag .vkopf{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--ink);font-weight:600}
.vorschlag code{font-size:14px;background:#fff;border:1px solid var(--line);border-radius:4px;padding:1px 6px}
.vorschlag .sicherheit{font-weight:400;font-size:13px}
.vorschlag .s-niedrig,.vorschlag .unsicher{color:#8c2f21}
.vorschlag .gleich{color:var(--ok)}
/* Englisch ergänzen (Uebersetzung) */
.uebersetzen-start .hint.fehler,.hint.fehler{color:#8c2f21;font-weight:600}
.uebersetzen-start .chk.klein{display:inline-flex;margin-left:12px;font-size:14px}
.uebersetzt{background:#fffbea!important;border-color:#c9a227!important}
.btn.klein{padding:5px 12px;font-size:13px}

/* Fotos */
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:16px}
.thumb{border:1px solid var(--line);border-radius:10px;padding:10px;background:#faf9f7}
.thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;margin-bottom:8px}
.thumb label{margin-bottom:8px}
/* Bilder der Website (Bildplätze) */
a.thumb.bildplatz{display:flex;flex-direction:column;gap:2px;color:var(--ink);text-decoration:none}
a.thumb.bildplatz:hover{border-color:var(--akzent)}
.bildplatz small{color:var(--ink2)}
.bildplatz small.bildplatz-eigen{color:var(--ok);font-weight:600}
.bildplatz-leer{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#eee;border-radius:6px;margin-bottom:8px;color:var(--ink2)}
.fokus-wahl{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start}
.fokus-gesamt{position:relative;line-height:0}
.fokus-gesamt img{width:100%;height:auto;cursor:crosshair;border-radius:6px}
.fokus-punkt{position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px rgba(0,0,0,.6);pointer-events:none}
.fokus-ausschnitt img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block}
.fokus-ausschnitt small{display:block;color:var(--ink2);margin-top:6px}
.bildplatz-standard{max-width:240px;border-radius:6px}
@media (max-width:640px){.fokus-wahl{grid-template-columns:1fr}}
.upload{border:2px dashed #c9c5bc;border-radius:var(--r);padding:16px;background:#f8f7f4}
.preview{display:flex;flex-wrap:wrap;gap:8px}
.preview img{width:110px;height:82px;object-fit:cover;border-radius:6px}

/* Meldungen */
.msg{padding:12px 16px;border-radius:10px;margin:0 0 16px;font-weight:600}
.msg.ok{background:#e3f3ea;color:#145236}
.msg.err{background:#fde4e0;color:#8c2f21}
.msg.warn{background:#fff3cd;color:#6b5200}

/* Zwei-Faktor */
.schritte{padding-left:20px;text-align:left}
.schritte li{margin:0 0 10px}
.qr{display:block;width:220px;max-width:100%;height:auto;margin:10px auto;border:1px solid var(--line);border-radius:8px}
.geheimnis{display:block;margin:8px 0;padding:10px;font-size:17px;letter-spacing:.06em;word-break:break-all;user-select:all}

/* Anmeldung */
.nologin .vmain{display:grid;place-items:center;min-height:100vh;padding:16px}
.login{width:100%;max-width:380px;text-align:center}
.login.breit{max-width:520px}
.login label{text-align:left}
.login .btn{width:100%;margin-top:6px}
.login-marke{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;margin:0 0 4px}

@media (max-width:760px){
  .f2,.grid2,.grid3{grid-template-columns:1fr}
  .grid4{grid-template-columns:1fr 1fr}
  .itop{flex-wrap:wrap}
  .itop .grow{flex-basis:100%;order:-1}
  .itop .nr,.itop .pr{flex:1}
  table.zeiten,table.zeiten tbody,table.zeiten tr{display:block}
  table.zeiten td{display:flex;align-items:center;gap:6px;padding:4px 0}
  table.zeiten td input[type=time]{flex:1;min-width:0}
  table.zeiten thead{display:none}
  table.zeiten .tz-l{display:inline;font-size:13px;color:var(--ink2);white-space:nowrap}
  table.zeiten th[scope=row]{display:block;padding-top:14px}
  table.list thead{display:none}
  table.list,table.list tbody{display:block}
  table.list tr{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 16px;border-bottom:1px solid var(--fein);padding:10px 0}
  table.list td,table.list tbody th{border:0;padding:2px 0;min-width:0;overflow-wrap:anywhere}
  table.list td:empty{display:none}
  table.list td:has(input:not([type=checkbox]):not([type=radio]):not(.short),select,textarea,.res-knoepfe,.res-mehr){flex:1 1 100%}
  table.list td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:500;color:var(--ink3);line-height:1.4}
  h1{font-size:24px}
}
/* Meilenstein 3: Auftragsstatus in der Übersicht */
table.auftraege{margin-top:16px;font-size:14px}
.status-offen,.status-laeuft{color:#6b5200;font-weight:600}
.status-fertig{color:#145236;font-weight:600}
.status-fehler{color:#8c2f21;font-weight:600}
.vorschau-bild{display:block;max-width:160px;height:auto;border:1px solid var(--line);border-radius:8px;margin-bottom:6px}
.pdf-kasten{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#faf9f7;margin-bottom:8px;font-size:14px;line-height:1.4}
.pdf-kasten img{width:72px;height:auto;border:1px solid var(--line);border-radius:4px;flex:none}
.pdf-kasten small{color:var(--ink2)}
.pdf-symbol{display:grid;place-items:center;width:56px;height:72px;flex:none;border-radius:4px;background:#fde4e0;color:#8c2f21;font-weight:700;font-size:13px}
/* Meilenstein 4: Gestaltung (Logos, Farben, Druckvorlagen) */
.logo-vorschau{display:flex;align-items:center;justify-content:center;min-height:90px;padding:10px;margin:4px 0 6px;border:1px solid var(--line);border-radius:10px;
  background:repeating-conic-gradient(#f1efeb 0% 25%,#fff 0% 50%) 50%/16px 16px}
.logo-vorschau img{max-width:100%;max-height:110px;width:auto;height:auto}
.logo-vorschau.klein img{max-height:48px}
.farben input[type=color]{width:100%;height:44px;padding:2px;cursor:pointer}
.vorlagen{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:14px}
.vorlage{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:start;border:1px solid var(--line);border-radius:10px;padding:8px;cursor:pointer;background:#fff;margin:0}
.vorlage input{margin-top:4px}
.vorlage span{grid-column:2;color:var(--ink2);font-size:12px;line-height:1.35;font-weight:400}
.vorlage:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 2px rgba(0,0,0,.08)}
/* Gestaltung: Live-Vorschau neben dem Formular, Stil-Bilder, Stand der Druck-PDFs */
@media (min-width:1100px){
  .vmain:has(.mit-vorschau){max-width:1480px}
  .mit-vorschau{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px;align-items:start}
  .druckvorschau{position:sticky;top:12px}
}
.druckvorschau{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:16px}
.druckvorschau h2{margin-top:0}
.druckvorschau .seiten{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:120px}
.druckvorschau .seiten img{width:100%;height:auto;border:1px solid var(--line);box-shadow:0 2px 8px rgba(0,0,0,.08);background:#fff}
.druckvorschau.laedt .seiten{opacity:.5;transition:opacity .2s}
.vorlage .stil{grid-column:1 / -1;display:flex;gap:6px;margin-top:6px}
.vorlage .stil img{width:calc(50% - 3px);height:auto;border:1px solid var(--line)}
.druckstatus{border-left:4px solid var(--ok);background:#eef6f1;padding:8px 12px;border-radius:6px;font-size:14px}
.druckstatus.laeuft{border-color:#c99a00;background:#fbf5e3}
.druckstatus.neu{border-color:var(--ok);background:#e3f4ea;font-weight:600}

/* Hilfe (/hilfe): Kapitel links, Text rechts; am Handy untereinander */
.hilfe{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}
.hilfe-inhalt{position:sticky;top:70px;font-size:14px}
.hilfe-inhalt h2 a{color:inherit;text-decoration:none}
.hilfe-inhalt ol{margin:0;padding-left:20px}
.hilfe-inhalt li{margin:4px 0}
.hilfe-inhalt a[aria-current]{font-weight:600;color:var(--ink)}
.hilfe-text{max-width:80ch;min-width:0;overflow-wrap:break-word}
.hilfe-text code{overflow-wrap:anywhere}
.hilfe-text h2{margin-top:28px}
.hilfe-text h3{font-size:17px;margin:20px 0 8px}
.hilfe-text li{margin:3px 0}
.hilfe-text pre{background:#eceae5;padding:10px 12px;border-radius:8px;overflow-x:auto}
.hilfe-text pre code{background:none;padding:0}
.hilfe-text .tabelle{overflow-x:auto;margin:0 0 16px}
.hilfe-text table{border-collapse:collapse;font-size:14px}
.hilfe-text th,.hilfe-text td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.hilfe-text thead th{color:var(--ink2)}
.hilfe-liste{columns:2;column-gap:24px}
.hilfe-pdf{margin:14px 0 0;font-size:13px;line-height:1.6}
/* Kontext-Hilfe: Fragezeichen in der Kopfzeile, Hinweise aus der Anleitung unter Feldern (Hilfe::feld) */
.vhilfe{color:var(--ink2);text-decoration:none}
.feldhilfe{display:block;font-size:13px;font-weight:400;line-height:1.45;color:var(--ink2);margin:-6px 0 12px;max-width:72ch}
label .feldhilfe,.f2 .feldhilfe{margin:0}
.f2 .feldhilfe{grid-column:1/-1;margin:-8px 0 10px}
.feldhilfe a{white-space:nowrap}
.itop+.feldhilfe,.chk+.feldhilfe{margin:4px 0 12px}
.btn+.feldhilfe{margin:6px 0 0}
@media (max-width:760px){
  .hilfe{grid-template-columns:minmax(0,1fr)}
  .hilfe-inhalt{position:static}
  .hilfe-liste{columns:1}
}
/* Gestaltung: Hintergrund-Muster */
.motive{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-bottom:6px}
.motiv{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--line);border-radius:10px;padding:8px 6px;cursor:pointer;background:#fff;font-size:13px;text-align:center}
.motiv input{position:absolute;opacity:0;pointer-events:none}
.motiv-bild{width:100%;max-width:84px;height:auto;aspect-ratio:210/297;border:1px solid var(--line);background:#fff}
.motiv:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 2px rgba(0,0,0,.12)}
.motiv:has(input:focus-visible){outline:3px solid var(--akzent);outline-offset:2px}
.motiv{position:relative}
.motive{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px}
.motiv{padding:5px 4px;gap:2px;font-size:12px;line-height:1.2;margin:0;font-weight:500}
.motiv b{font-weight:600}
.motiv-bild{max-width:72px}
.motiv:has(input[type=radio]:checked){border-color:var(--ink);box-shadow:0 0 0 2px rgba(0,0,0,.12)}
.motiv:has(input[type=checkbox]:checked):not(:has(input[type=radio]:checked)){border-color:var(--line);box-shadow:none}
.motiv-eigen > label:first-child{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0;font-weight:500;cursor:pointer}
.motiv .weg,.gen-bilder-liste .weg{flex-direction:row;align-items:center;gap:3px;margin:0;font-size:11px;font-weight:500;color:#8c2f21;cursor:pointer}
.motiv .weg input{position:static;opacity:1;pointer-events:auto;width:13px;height:13px}
.motiv:has(.weg input:checked){opacity:.5}
.generator{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:8px 0;background:#fff}
.generator summary{cursor:pointer;font-weight:600;font-size:14px}
.generator-raster{display:grid;grid-template-columns:84px 1fr;gap:10px;margin-top:8px;align-items:start}
.generator-links{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.generator-links .btn{padding:5px 6px;font-size:12px;min-height:0}
.symbole{display:flex;flex-wrap:wrap;gap:3px;margin:0 0 8px}
.symbol{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0;padding:0;border:1px solid var(--line);border-radius:6px;cursor:pointer;color:#b3a48f;background:#fff}
.symbol svg{width:26px;height:26px}
.symbol input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.symbol:has(input:checked){border-color:var(--ink);background:#f3ede2;color:var(--ink)}
.symbol:has(input:focus-visible){outline:3px solid var(--akzent);outline-offset:1px}
.symbol.eigen{border-style:dashed}
.gen-optionen{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:0 8px}
.gen-optionen label{margin:0 0 6px;font-size:12px;gap:2px}
.gen-optionen select,.gen-optionen input{padding:5px 6px;font-size:13px;min-height:0}
.gen-bilder label{margin:0 0 4px;font-size:12px}
.gen-bilder-liste{display:flex;flex-wrap:wrap;gap:4px 10px}
.gen-bilder-liste svg{width:24px;height:24px;flex:none;color:var(--ink)}
.gen-bilder-liste .weg input{width:15px;height:15px;flex:none}
.gen-bild{display:inline-flex;align-items:center;gap:6px}
.gen-bilder-liste .an{color:var(--ink)}
.gen-bild:has(input[name$="[weg]"]:checked){opacity:.5}
.generator .hint{font-size:12px;margin:6px 0 0}
@media (max-width:600px){.generator-raster{grid-template-columns:1fr}.generator-links{flex-direction:row;align-items:center}.generator-links .motiv{width:84px}}
/* QR-Code */
.qr-karte{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start}
.qr-bild svg{width:200px;height:200px;display:block}
@media (max-width:760px){.qr-karte{grid-template-columns:1fr}}
/* Mittagstisch */
.mt-gericht{border-top:1px dashed var(--line);padding-top:10px;margin-top:10px}
.mt-heute{border-color:var(--akzent);box-shadow:0 0 0 2px rgba(31,111,120,.15)}
/* Meilenstein 5: Benutzer, Mandanten, Zugänge, Protokoll */
.einmal-link{border-left:4px solid #c9a227;background:#fffbea}
.kopieren{display:flex;gap:8px;align-items:center}
.kopieren input{flex:1;font-family:ui-monospace,monospace;font-size:13px}
form.zeile{display:flex;gap:6px;align-items:center;margin:0}
form.zeile select{width:auto}
td.aktionen form{display:inline-block;margin:0 4px 4px 0}
.btn.gefahr{color:#8c2f21;border-color:#8c2f21}
table.list.klein{font-size:14px}
table.protokoll td{vertical-align:top}
table.protokoll .details{color:var(--ink2);font-size:13px;word-break:break-word;max-width:420px}
.filter{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:0 0 12px}
.filter label{margin:0}
.filter select{width:auto}
.seiten-nav{display:flex;gap:12px;align-items:center;margin-top:8px}
.bausteine{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 14px;margin-bottom:12px}
pre.ausgabe{background:#1f2a30;color:#e6edf0;padding:12px;border-radius:8px;overflow:auto;max-height:420px;font-size:13px;white-space:pre-wrap;word-break:break-all}

/* ===== Neues Erscheinungsbild 2026-10 (überschreibt die Grundformen oben) ===== */
.linkbtn{background:none;border:0;padding:8px 0;margin-top:8px;color:var(--akzent);font:500 14px var(--sans);cursor:pointer;text-decoration:underline}
.card{border-radius:var(--r);border-color:var(--line);padding:22px;box-shadow:0 1px 2px rgba(26,26,30,.03)}
fieldset{border-color:var(--line);border-radius:var(--r);padding:18px}
legend{font-weight:600;font-size:14px}
label{font-size:13px;font-weight:500;color:var(--ink2)}
input,select,textarea{font:15px/1.4 var(--sans);border:1px solid var(--line2);border-radius:var(--r2);padding:9px 12px;transition:border-color .15s,box-shadow .15s}
input:hover,select:hover,textarea:hover{border-color:#c4c1b9}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--akzent);box-shadow:0 0 0 3px rgba(15,107,92,.16)}
input[type=checkbox],input[type=radio]{accent-color:var(--akzent)}
input[type=file]{background:var(--flaeche)}
.btn{border-radius:var(--r2);padding:11px 18px;font:600 14px/1 var(--sans);gap:8px;transition:background .15s,border-color .15s}
.btn.ghost{border:1px solid var(--line2);color:var(--ink)}
.btn.ghost:hover{background:var(--flaeche);border-color:#c4c1b9}
.btn.klein{padding:7px 12px;font-size:13px}
.btn.gefahr{color:var(--fehler);border-color:#f0c2bd}
.save{background:linear-gradient(transparent,var(--bg) 35%)}
.save .btn{min-width:170px;box-shadow:0 8px 24px rgba(15,107,92,.25)}
.badge{background:var(--flaeche);color:var(--ink2);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}
.badge.gold{background:#fff3cd;color:#6b5200}
.msg{border-radius:12px;font-weight:500;padding:12px 16px}
.msg.ok{background:var(--akzent-hell);color:var(--akzent2)}
.msg.err{background:var(--fehler-hell);color:var(--fehler)}
.msg.warn{background:var(--warn-hell);color:var(--warn)}
.als-leiste{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}
table.zeiten th,table.zeiten td,table.list th,table.list td{border-bottom-color:var(--fein);padding:10px 8px}
table.zeiten thead th,table.list thead th{font-size:12px;font-weight:500;color:var(--ink3)}
.tiles{gap:14px}
.tile{border-radius:var(--r);border-color:var(--line);padding:18px;gap:6px;transition:border-color .15s,box-shadow .15s}
.tile:hover{border-color:var(--line2);box-shadow:0 6px 18px rgba(26,26,30,.06)}
.tile b{font-size:16px;font-weight:600}
.tile span{font-size:13px}
.tile .ico{color:var(--akzent);margin-bottom:4px}
.thumb{border-radius:12px;background:#fff}
.upload{border-radius:var(--r);background:#fff}
.login{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 12px 40px rgba(26,26,30,.06)}
.login-marke .vlogo{width:36px;height:36px}

/* Seitenkopf mit Aktion rechts */
.seitenkopf{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 20px}
.seitenkopf h1{margin:0}
.seitenkopf .lead{margin:4px 0 0}

/* Übersicht */
.kennzahlen{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0 0 20px}
.kennzahl{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:4px}
.kennzahl .k-titel{color:var(--ink2);font-size:13px}
.kennzahl .k-wert{color:var(--ink);font-size:21px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.kennzahl .k-text{color:var(--ink2);font-size:13px}
.kennzahl form{margin:8px 0 0}
.kennzahl.dunkel{background:var(--dark);border-color:var(--dark);color:#fff}
.kennzahl.dunkel .k-titel,.kennzahl.dunkel .k-text{color:#c8c6ce}
.punkt-gruen,.punkt-gelb,.punkt-grau{width:9px;height:9px;border-radius:50%;display:inline-block}
.punkt-gruen{background:#12a07f}.punkt-gelb{background:#d98e04}.punkt-grau{background:#b5b2aa}
.zweispaltig{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;align-items:start}

/* Personen-Listen (Zugänge, Benutzer) */
.personen{width:100%;border-collapse:collapse}
.personen th{text-align:left;font-size:12px;font-weight:500;color:var(--ink3);padding:12px 16px;border-bottom:1px solid var(--fein)}
.personen td{padding:14px 16px;border-top:1px solid #f5f3ef;vertical-align:middle}
.personen tr:first-child td{border-top:0}
.liste-karte{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:visible}
.person{display:flex;align-items:center;gap:12px;min-width:0}
.person-bild{width:36px;height:36px;min-width:36px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-weight:600;font-size:12px;background:var(--akzent)}
.person-bild.f1{background:#7a5c2e}.person-bild.f2{background:#3a5a8c}.person-bild.f3{background:#8e1b2c}.person-bild.f4{background:#5b4a8a}
.person-text{display:flex;flex-direction:column;min-width:0;line-height:1.35}
.person-text b{font-weight:600;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.person-text small{color:var(--ink2);font-size:13px;overflow:hidden;text-overflow:ellipsis}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:3px 10px;border-radius:999px;white-space:nowrap}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.chip.gut{background:var(--akzent-hell);color:var(--akzent2)}
.chip.mittel{background:var(--warn-hell);color:var(--warn)}
.chip.schlecht{background:var(--fehler-hell);color:var(--fehler)}
.rolle{display:flex;flex-direction:column;line-height:1.35}
.rolle small{color:var(--ink2);font-size:13px}
.leise{color:var(--ink2);font-size:13px}
.aktionen-zelle{text-align:right;width:56px}
.aktionen-menue{position:relative;display:inline-block;text-align:left}
.aktionen-menue>summary{list-style:none;width:36px;height:36px;border:1px solid #e4e2dc;border-radius:var(--r2);background:#fff;cursor:pointer;display:grid;place-items:center;color:var(--ink)}
.aktionen-menue>summary::-webkit-details-marker{display:none}
.aktionen-menue>summary:hover{border-color:var(--line2)}
.aktionen-menue[open]>summary{background:var(--flaeche)}
.menue-liste{position:absolute;right:0;top:42px;z-index:25;width:270px;background:#fff;border:1px solid #e4e2dc;border-radius:12px;box-shadow:var(--schatten);padding:6px;display:flex;flex-direction:column}
.menue-liste form{margin:0}
.menue-punkt{display:block;width:100%;text-align:left;padding:9px 10px;border:0;background:transparent;border-radius:8px;cursor:pointer;color:var(--ink);font:500 14px var(--sans);list-style:none}
.menue-punkt:hover{background:var(--flaeche)}
.menue-punkt.gefahr{color:var(--fehler)}
.menue-trenner{height:1px;background:var(--fein);margin:4px 0}
.menue-liste details>summary::-webkit-details-marker{display:none}
.menue-unterform{padding:6px 10px 10px;display:flex;flex-direction:column;gap:8px}
.menue-unterform label{margin:0}
.suchzeile{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 14px}
.suchzeile input{max-width:360px}

/* Handy: Menü als Schublade */
@media (max-width:900px){
  .vrahmen,.dock-oben .vrahmen{flex-direction:column}
  .vside,.dock-oben .vside,.eingeklappt .vside{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);height:100vh;flex-direction:column;align-items:stretch;padding:14px 12px;border-right:1px solid var(--line);border-bottom:0;transform:translateX(-105%);transition:transform .2s;box-shadow:var(--schatten);overflow-y:auto}
  .vside.offen{transform:none}
  .eingeklappt .vside .vtext,.dock-oben .vside .vtext,.dock-oben .vgruppe,.eingeklappt .vgruppe{display:inline}
  .vside .vbetrieb .vtext{display:flex}
  .eingeklappt .vbrand .vmarke{display:block}
  .eingeklappt .vbrand .vlogo{display:none}
  .dock-oben .vbetrieb small{display:block}
  .vansicht{display:none}
  .vside .vbetrieb>.ico{display:revert}
  .dock-oben .vnav,.dock-oben .vside-fuss{flex-direction:column;overflow:visible}
  .dock-oben .vnav-verwaltung{border:0;padding:0;margin-top:16px}
  .dock-oben .vreiter a .ico{display:revert}
  .eingeklappt .vreiter a,.eingeklappt .vfuss-knopf{justify-content:flex-start;padding:0 10px}
  .eingeklappt .vbetrieb{justify-content:flex-start;padding:8px 10px}
  .vside-zu{display:grid;place-items:center;width:34px;height:34px;border:0;background:transparent;color:var(--ink2);cursor:pointer}
  .vfuss-form,[data-anpassen]{display:none!important}
  .vmenu{display:grid}
  .vkopf,.dock-oben .vkopf{top:0;padding:10px 16px}
  .vkopf-link span,.vkopf-knopf span{display:none}
  .vstatus{height:30px;font-size:12px}
  .vmain{padding:20px 16px 120px}
  .personen thead{display:none}
  .personen tr{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:14px 16px;border-top:1px solid #f5f3ef}
  .personen td{border:0;padding:0}
  .personen td.aktionen-zelle{grid-row:1;grid-column:2}
}
/* Schmale Handys: Kopfzeile einzeilig (nur Seitentitel, kurzer Stand), weniger Innenabstand */
@media (max-width:600px){
  .vkopf,.dock-oben .vkopf{flex-wrap:nowrap;gap:6px;padding:10px 12px}
  .vpfad{min-width:0}
  .vpfad-betrieb,.vpfad .vtrenner{display:none}
  .vpfad b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:14px}
  .vstatus{padding:0 10px}
  .vstatus-lang{display:none}
  .vstatus-kurz{display:inline}
  .vkopf-link{padding:0 6px}
  .vpop-inhalt{width:min(270px,calc(100vw - 24px))}
  .vmain{padding:18px 12px 120px}
  .card{padding:16px}
  fieldset{padding:14px 12px}
  .seitenkopf{margin-bottom:16px}
  .save .btn{min-width:0;flex:1;max-width:320px}
}
@media (max-width:400px){
  .vstatus{width:30px;padding:0;justify-content:center}
  .vstatus-kurz{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
body.menue-offen::after{content:"";position:fixed;inset:0;background:rgba(26,26,30,.3);z-index:25}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Übersicht → Module an/aus (Inhaber) */
.module{list-style:none;margin:8px 0 0;padding:0}
.module li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.module li:first-child{border-top:0}
.modul-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.module form{margin:0;flex:none}
.schalter{display:inline-flex;align-items:center;gap:10px;min-width:92px;padding:6px 14px 6px 6px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink-2,#666);font:inherit;font-weight:600;cursor:pointer}
.schalter span{position:relative;width:38px;height:22px;border-radius:999px;background:#c9ccd1;transition:background .15s}
.schalter span::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.schalter.an{color:var(--ink)}
.schalter.an span{background:#2e8b57}
.schalter.an span::after{left:19px}
.schalter:hover{border-color:currentColor}

/* Pflege Startseite: Aufbau (Reihenfolge und Sichtbarkeit der Blöcke) */
.aufbau{list-style:none;margin:10px 0 0;padding:0}
.aufbau li{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;padding:8px 0;border-top:1px solid var(--line)}
.aufbau li:first-child{border-top:0}
.aufbau .chk{flex:1 1 220px;margin:0}
.aufbau small{color:var(--ink2);font-size:12px;flex:1 1 200px}
.aufbau-fest{color:var(--ink2)}
.aufbau-fest .aufbau-name{flex:1 1 220px;padding-left:28px;font-weight:500}
.aufbau-knoepfe{display:flex;gap:4px;margin-left:auto}
.aufbau-knoepfe .btn{width:38px;height:38px;padding:0;display:grid;place-items:center}
.aufbau li:has(input[type=checkbox]:not(:checked):not(:disabled)) .aufbau-name{opacity:.5;text-decoration:line-through}
.aufbau li.bewegt{background:#f6f5f0;transition:background .6s}
.baustein-gruppe .unterhaken{display:flex;flex-direction:column;border-left:2px solid var(--line2);margin:2px 0 6px 8px;padding-left:14px}
.baustein-gruppe ~ .chk{align-self:start}
/* Benutzer: neues Passwort für Service-Zugänge (aufklappbar) */
.pw-neu summary{list-style:none;cursor:pointer}.pw-neu summary::-webkit-details-marker{display:none}
.pw-neu[open]{display:block;background:#faf9f7;border:1px solid var(--line);border-radius:10px;padding:10px;margin:6px 0}
.pw-neu form{margin-top:8px}
