  :root {
    --ink:#3b3b3b; --muted:#77716a; --line:#e4dfd8; --bg:#f5f2ee; --card:#fff;
    --red:#d12f39; --orange:#ef7d22; --yellow:#fbc926; --brown:#6b5b3e; --good:#1f7a3f; --bad:#c62828;
    --wood:#d9bf98; --wood-dark:#b89668; --back:#e9dcc6; --r:12px;
  }
  * { box-sizing:border-box; }
  [hidden] { display:none !important; }
  body { margin:0; font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--ink); background:var(--bg); }
  /* Kopfzeile und Grundelemente wie in der Schnellkalkulation */
  .top { background:#fff; border-bottom:3px solid var(--red); display:flex; align-items:center; gap:18px; padding:8px 20px; flex-wrap:wrap; position:sticky; top:0; z-index:20; }
  .top .logo { height:64px; display:block; }
  .kopf-datum { display:grid; line-height:1.3; font-size:14px; color:var(--muted); white-space:nowrap; padding-left:16px; border-left:1px solid var(--line); }   /* Größen wie in der Kalkulation */
  .kopf-datum b { color:var(--ink); font-size:17px; }
  @media (max-width:900px) { .kopf-datum { font-size:12px; padding-left:10px; } .kopf-datum b { font-size:14px; } }
  .datenstand-fuss { max-width:1280px; margin:0 auto; padding:4px 16px 26px; font-size:12px; color:var(--muted); text-align:center; }
  .top-title { font-weight:700; color:var(--brown); letter-spacing:.02em; }
  .top-title small { display:block; font-weight:400; font-size:12px; color:var(--muted); letter-spacing:0; margin-top:2px; }
  nav { display:flex; gap:4px; margin-left:auto; }
  nav button { background:none; border:0; padding:8px 14px; border-radius:8px; font:inherit; cursor:pointer; color:var(--muted); }
  nav button.an { background:var(--ink); color:#fff; }
  #tabs .tab-status { padding:8px 14px; border-radius:8px; color:var(--muted); text-decoration:none; white-space:nowrap; font:inherit; display:inline-flex; align-items:center; } #tabs .tab-status:hover { background:#f3efeb; color:var(--ink); }
  #tabs.innen .tab-status { display:none; }
  /* Gruppen: ohne Login flach (nur öffentliche Reiter), mit Login als aufklappbare Menüs */
  #tabs .tkopf { display:none; } #tabs .tmenue { display:contents; } #tabs .tgruppe { display:contents; }
  #tabs.innen .tgruppe { display:block; } #tabs.innen .tgruppe[hidden] { display:none; }
  #tabs.innen .tkopf { display:inline-flex; gap:6px; align-items:center; }
  #tabs .pfeil { font-size:11px; transition:transform .15s; } #tabs .tgruppe.auf .pfeil { transform:rotate(180deg); }
  #tabs.innen .tgruppe.aktiv .tkopf { background:var(--ink); color:#fff; }
  #tabs.innen .tmenue { display:none; position:fixed; z-index:60; background:#fff; border:1px solid var(--line); border-radius:12px;
    box-shadow:0 12px 30px #0002; padding:6px; min-width:220px; flex-direction:column; gap:2px; }
  #tabs.innen .tgruppe.auf .tmenue { display:flex; }
  #tabs.innen .tmenue button { text-align:left; color:var(--ink); padding:10px 14px; display:flex; justify-content:space-between; gap:10px; }
  #tabs.innen .tmenue button:hover { background:#f3efeb; } #tabs.innen .tmenue button.an { background:var(--ink); color:#fff; }
  nav .zahl { background:var(--red); color:#fff; border-radius:9px; padding:0 6px; font-size:12px; margin-left:4px; }
  main { max-width:1320px; margin:0 auto; padding:18px 16px 40px; }
  .page-title { font-size:clamp(24px,3.4vw,38px); font-weight:900; letter-spacing:-.01em; margin:4px 0 16px; line-height:1.1; }
  .titel-zusatz { display:block; font-size:15px; font-weight:400; color:var(--muted); letter-spacing:0; margin-top:6px; }
  .page-title::after { content:""; display:block; width:84px; height:5px; margin-top:10px; border-radius:3px; background:linear-gradient(90deg,var(--red),var(--orange),var(--yellow)); }
  .card { background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:18px; margin-bottom:16px; }
  .leiste { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:14px; }
  .leiste input { flex:1 1 220px; padding:9px 12px; border:1px solid var(--line); border-radius:10px; font:inherit; background:#fff; }
  .chip { border:1px solid var(--line); background:#fff; border-radius:20px; padding:6px 12px; font:inherit; font-size:13px; cursor:pointer; }
  .chip.an { background:var(--ink); color:#fff; border-color:var(--ink); }
  .btn { background:var(--red); color:#fff; border:0; border-radius:8px; padding:10px 16px; font:inherit; font-weight:600; cursor:pointer; text-decoration:none; white-space:nowrap; display:inline-block; }
  .btn:hover { filter:brightness(.95); }
  .btn.sec { background:#fff; color:var(--ink); border:1px solid var(--line); }
  .btn.small { padding:6px 12px; font-size:13px; }
  .btn[disabled] { opacity:.5; cursor:default; filter:none; }
  .hinweis { font-size:12px; color:var(--muted); }
  footer { max-width:1280px; margin:0 auto; padding:20px 16px 30px; display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }

  /* Schrank (Kundenansicht) */
  .schrank { background:var(--wood); padding:10px; border-radius:6px; box-shadow:inset 0 0 0 2px var(--wood-dark), 0 10px 24px #0002;
    display:grid; grid-template-columns:repeat(var(--spalten),1fr); gap:8px; }
  .feld { background:linear-gradient(var(--back),#f3ebde); border-radius:3px; padding:12px 10px 0; position:relative;
    box-shadow:inset 0 6px 10px -6px #0004; display:flex; flex-direction:column; border:0; font:inherit; text-align:left; color:inherit; min-height:60px; }
  button.feld { cursor:pointer; }
  button.feld:hover .heft:last-child { transform:translateY(-4px) rotate(-1deg); }
  .feld.aus { opacity:.25; pointer-events:none; }
  .stapel { position:relative; flex:1; display:grid; }
  .heft { grid-area:1/1; background:#fff; aspect-ratio:3/4; border-radius:2px; box-shadow:0 3px 8px #0003; display:flex; flex-direction:column;
    align-items:center; justify-content:center; padding:8px; transition:transform .15s; overflow:hidden; }
  .heft.hinten { transform:translate(5px,-5px); filter:brightness(.93); }
  .heft img { max-width:85%; max-height:38%; object-fit:contain; }
  .heft .name { font-weight:700; font-size:14px; text-align:center; }
  .heft .titel { font-size:11px; color:var(--muted); text-align:center; margin-top:8px; line-height:1.25; }
  .heft.eigen { border-top:5px solid var(--red); }
  .acryl { height:14px; margin:0 -10px; background:linear-gradient(#ffffffaa,#ffffff55); border-top:1px solid #fff; border-bottom:3px solid var(--wood-dark); }
  .anzahl { position:absolute; top:4px; right:4px; z-index:2; background:var(--ink); color:#fff; font-size:10px; border-radius:9px; padding:1px 6px; }
  .nr { position:absolute; top:3px; left:5px; font-size:10px; color:#8a7553; }
  .leer { grid-column:1/-1; text-align:center; padding:30px; color:#5c4a2f; }

  /* Aushang: das Blatt vorne im Fach – Deckblätter der Prospekte, 1 bis 6 Plätze */
  .aushang { aspect-ratio:210/297; min-height:0; overflow:hidden; background:#fff; display:grid; gap:3%; padding:4%; border-radius:2px; box-shadow:0 3px 8px #0003; transition:transform .15s; }   /* min-height:0: Seitenverhältnis bleibt, auch bei 6 Kacheln */
  .aushang.l1 { grid-template:1fr / 1fr; }
  .aushang.l2 { grid-template:repeat(2,1fr) / 1fr; }
  .aushang.l3 { grid-template:repeat(3,1fr) / 1fr; }
  .aushang.l4 { grid-template:repeat(2,1fr) / repeat(2,1fr); }
  .aushang.l5 { grid-template:repeat(3,1fr) / repeat(2,1fr); } .aushang.l5 > :first-child { grid-column:span 2; }
  .aushang.l6 { grid-template:repeat(3,1fr) / repeat(2,1fr); }
  .zelle { position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-height:0; }
  .suche-wrap { position:relative; display:inline-flex; flex:1; min-width:0; } .suche-wrap > input { flex:1; width:100%; padding-right:34px; }
  /* Suchfeld mit ✕ in Leisten: der Rahmen bekommt die Breite, das Feld füllt ihn (sonst ragt es unter das nächste Auswahlfeld) */
  .leiste > .suche-wrap { flex:1 1 240px; min-width:200px; max-width:360px; } .leiste > .suche-wrap > input { min-width:0 !important; max-width:none !important; box-sizing:border-box; }
  .suche-x { position:absolute; right:6px; top:50%; transform:translateY(-50%); width:24px; height:24px; border:0; border-radius:50%; background:#e8e1d9; color:#5c4a2f; cursor:pointer; font-size:12px; line-height:1; }
  .suche-x:hover { background:var(--red); color:#fff; } .suche-x[hidden] { display:none; }
  input[type=search]::-webkit-search-cancel-button { display:none; }
  .layout-wahl { display:grid; gap:10px; border:1px solid var(--line); border-radius:10px; padding:14px 16px; background:#faf7f4; margin:14px 16px 0; }
  .fach-hinweis { margin:12px 16px 0; } .ah-wahl { display:inline-flex; gap:6px; align-items:center; font-size:14px; margin-top:6px; } .ah-wahl input { width:auto; }
  .layout-optionen { display:flex; gap:12px; flex-wrap:wrap; }
  .fs-fotos { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:10px 0; } @media (max-width:520px) { .fs-fotos { grid-template-columns:1fr; } }
  .fs-foto { display:grid; gap:6px; justify-items:center; text-align:center; padding:12px; border:2px dashed var(--line); border-radius:12px; cursor:pointer; background:#faf8f5; }
  .fs-foto input { display:none; } .fs-foto img { max-width:100%; max-height:160px; border-radius:8px; } .fs-mini { height:44px; border-radius:4px; margin-right:4px; vertical-align:middle; }
  .er-inhalt { padding:6px 26px 26px; } .er-inhalt .btns { margin-top:14px; gap:10px; } .er-inhalt input { width:100%; box-sizing:border-box; }
  .pw-feld { position:relative; display:block; flex:1 1 200px; min-width:0; } .pw-feld input { width:100%; box-sizing:border-box; padding-right:116px !important; margin-top:0 !important; margin-bottom:0 !important; } label > .pw-feld { margin-top:4px; }
  .pw-auge { position:absolute; right:5px; top:50%; transform:translateY(-50%); height:32px; margin:0; padding:0 9px; display:flex; align-items:center; gap:5px; border:1px solid var(--line); background:#f8f5f1; color:var(--ink); border-radius:8px; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
  .pw-auge:hover { background:#f1ece5; } .pw-auge .strich { display:none; } .pw-auge[aria-pressed="true"] .strich { display:inline; }
  .feld-inhalt { position:absolute; left:10px; right:10px; bottom:17px; z-index:1; font-size:10px; line-height:1.3; color:#4a3b2c; background:#fffffff2; padding:2px 4px; border-top:1px solid #e8dfd2;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:center; pointer-events:none; } .feld-inhalt .knapp { color:#c2410c; font-weight:700; }
  .layout-opt span small { display:block; font-size:11px; color:var(--muted); max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .layout-opt { all:unset; cursor:pointer; display:grid; gap:4px; justify-items:center; font-size:12px; padding:6px; border-radius:8px; border:2px solid transparent; }
  .layout-opt .aushang { width:120px; box-shadow:0 2px 6px #0002; pointer-events:none; } .layout-opt:hover { background:#fff; } .layout-opt.an { border-color:var(--red); background:#fff; }
  .zelle.zelle-weiss { background:#fff; }
  .zelle.frei { background:repeating-linear-gradient(45deg,#f6f2ec,#f6f2ec 6px,#fff 6px,#fff 12px); }
  .zelle .lg { max-width:80%; max-height:40%; object-fit:contain; }
  .zelle .name { font-weight:700; font-size:clamp(9px,1vw,14px); }
  .zelle .titel { font-size:clamp(7px,.75vw,11px); color:var(--muted); margin-top:4px; line-height:1.2; }
  .zelle .deck { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#fff; } .zelle .deck.ganz { object-fit:contain; }
  button.feld:hover .aushang { transform:translateY(-4px) rotate(-1deg); }

  /* Kaminöfen */
  .ofen-teile { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:0 0 10px; padding:8px 10px; background:#fff; border:1px solid var(--line); border-radius:12px; }
  .ofen-teile .chip .hinweis { font-size:11px; } .ofen-teile .chip.an .hinweis { color:#ddd; }
  #ofenHst { padding:9px 10px; border:1px solid var(--line); border-radius:10px; font:inherit; background:#fff; }
  .ofen-raster { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px; }
  .ofen-filter { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:flex-end; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:12px 14px; margin-bottom:12px; }
  .ofen-filter label { display:flex; flex-direction:column; font-size:12px; color:var(--muted); gap:3px; }
  .ofen-filter select { padding:7px 8px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:14px; background:#fff; color:var(--ink); min-width:130px; }
  .ofen-filter label.haken { flex-direction:row; align-items:center; gap:6px; font-size:14px; color:var(--ink); padding-bottom:7px; }
  .ofen-filter label.haken input { accent-color:var(--red); width:16px; height:16px; }
  .ah-filter { min-width:200px; } .ah-filter span { color:var(--ink); font-weight:600; } .ah-filter input { width:100%; accent-color:var(--red); }
  #adressen a:not([class]), #vorgaenge a:not([class]) { color:inherit; text-decoration:underline; text-decoration-color:#e63741; text-underline-offset:3px; text-decoration-thickness:1.5px; } #adressen a:not([class]):hover, #vorgaenge a:not([class]):hover { color:#e63741; }
  .akte-liste { list-style:none; margin:6px 0 14px; padding:0; display:grid; gap:8px; } .akte-m { display:flex; gap:10px; align-items:flex-start; justify-content:space-between; background:#faf7f4; border-radius:10px; padding:8px 10px; } .akte-m > span { min-width:0; word-break:break-word; } .akte-m .btn { flex-shrink:0; } .akte-text { font-size:13px; margin:4px 0; max-height:200px; overflow:auto; white-space:normal; }
  @media (max-width:600px) { .akte-m { flex-wrap:wrap; } }
  .status.bestellt { background:#e8f0fb; color:#1f4f8f; font-size:12px; } .bestell-log { background:#fbf7f1; border:1px solid #ecdcc4; border-radius:12px; padding:8px 12px; margin:0 0 12px; } .bestell-log ul { list-style:none; margin:8px 0 0; padding:0; display:grid; gap:6px; }
  .mb-raster { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; margin-bottom:14px; } .mb-karte { margin:0; min-width:0; } .mb-karte h3 { margin:0 0 8px; font-size:16px; }
  .mb-karte dl { display:grid; grid-template-columns:auto 1fr; gap:4px 12px; margin:0; font-size:14px; } .mb-karte dt { color:var(--muted); } .mb-karte dd { margin:0; font-weight:600; word-break:break-word; }
  fieldset.mb-karte { display:grid; gap:8px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:#fff; } fieldset.mb-karte legend { font-weight:700; padding:0 6px; }
  .mb-feld { display:grid; gap:2px; font-size:13px; color:var(--muted); } .mb-feld input, .mb-feld textarea { padding:7px 9px; border:1px solid var(--line); border-radius:8px; font:inherit; color:var(--ink); width:100%; box-sizing:border-box; }
  .mb-jahr { border:1px solid var(--line); border-radius:10px; margin:0 0 8px; background:#fff; } .mb-jahr summary { cursor:pointer; padding:8px 12px; } .mb-monate { padding:0 12px 8px; }
  .mb-monat { display:flex; gap:10px; align-items:baseline; padding:5px 0; border-top:1px solid var(--line); flex-wrap:wrap; } .mb-mname { width:78px; flex:0 0 78px; font-weight:600; } .mb-chips { display:flex; flex-wrap:wrap; gap:6px; }
  .mb-chip { display:inline-flex; gap:4px; align-items:center; padding:2px 8px; border-radius:999px; background:#f1ede8; font-size:13px; } .mb-chip.haupt { background:#fde8e8; font-weight:700; } .mb-chip a { text-decoration:none; color:inherit; } .mb-x { border:0; background:none; cursor:pointer; color:#999; padding:0 2px; } .mb-x:hover { color:#c62828; }
  .mb-zug { display:flex; flex-wrap:wrap; gap:6px; align-items:center; } .mb-verk { display:inline-flex; gap:4px; } .mb-verk select { max-width:170px; padding:4px 6px; } .mb-pille.ok { background:#e6f4ea; color:#1f5e33; }
  .mb-breit { grid-column:1 / -1; } .mb-m.gelesen { border-color:#2e7d32; box-shadow:inset 0 0 0 1px #2e7d32; background:#f1f8f2; }
  .mb-nachweis { display:flex; flex-wrap:wrap; gap:6px 18px; align-items:baseline; background:#f7f7f8; border-radius:10px; padding:8px 12px; font-size:14px; margin:4px 0 6px; } .mb-breit .mb-x { display:none; } .mb-breit.mb-loeschen .mb-x { display:inline; }
  .mb-art .mb-zeile { flex-wrap:nowrap; align-items:flex-start; } .mb-art .mb-j { flex:0 0 44px; padding-top:6px; } .mb-art .mb-mon { flex:1; min-width:0; }
  .mb-art h4 { margin:12px 0 4px; font-size:14px; } .mb-art:first-child h4 { margin-top:2px; } .mb-pille { font-size:11px; font-weight:700; border-radius:10px; padding:1px 8px; background:#fde8d8; color:#b4500e; }
  .mb-zeile { display:flex; gap:10px; align-items:center; padding:5px 0; border-bottom:1px solid var(--line); flex-wrap:wrap; } .mb-j { width:44px; font-weight:700; color:var(--muted); } .mb-mon { display:flex; flex-wrap:wrap; gap:5px; }
  .mb-mw { display:inline-flex; align-items:center; } .mb-m { display:inline-block; min-width:46px; text-align:center; padding:6px 8px; border:1px solid var(--line); border-radius:8px; background:#fff; color:inherit; text-decoration:none; font-size:13px; font-weight:600; } .mb-m:hover { background:#f3f3f4; border-color:#bbb; }
  .mb-stamm { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:10px 16px; } .mb-stamm small { display:block; color:var(--muted); font-size:12px; } .mb-stamm b { font-size:15px; }
  .mb-det { border-top:1px solid var(--line); padding:8px 0; } .mb-det summary { cursor:pointer; font-size:14px; }
  .mb-tab tfoot .mb-summe td { border-top:1px solid var(--line); padding-top:6px; }
  .mb-tab td.r, .mb-tab th.r { text-align:right; white-space:nowrap; } .mb-tab tbody tr { cursor:pointer; } .mb-tab tbody tr:hover { background:#f6f2ee; } .mb-ueber { color:#1f7a3f; } .mb-unter { color:#c62828; }
  .vorschau-streifen { position:sticky; top:0; z-index:90; background:#ffe14d; color:#3b3b3b; text-align:center; padding:7px 12px; font-size:14px; border-bottom:2px solid #d9b800; } .vorschau-streifen button { margin-left:8px; font:inherit; font-size:13px; padding:3px 10px; border-radius:8px; border:1px solid #b89a00; background:#fff; cursor:pointer; }
  header.top.vorschau-kopf { border-bottom:3px solid #ffd21a; } header.top.vorschau-kopf #kontoKnopf { background:#fff3b0; border-color:#d9b800; }
  .ansicht-als { display:flex; flex-direction:column; border-top:1px solid var(--line); margin-top:4px; padding-top:4px; } .ansicht-als[hidden] { display:none; } .aa-kopf { font-size:12px; color:var(--muted); padding:4px 12px; } .ansicht-als button.an { background:#fff3b0; font-weight:700; }
  header.top:not(.angemeldet) .ansicht-als { display:none; }
  .vg-tabelle table { font-size:13.5px; } .vg-tabelle th { white-space:nowrap; } .vg-tabelle th.sortierbar { cursor:pointer; user-select:none; } .vg-tabelle th[data-pfeil]::after { content:attr(data-pfeil); margin-left:4px; color:var(--red); }
  .vg-tabelle tbody tr { cursor:pointer; } .vg-tabelle tbody tr:hover { background:#f6f2ee; } .vg-tabelle td { vertical-align:top; } .vg-t-nr { font-family:ui-monospace,Consolas,monospace; white-space:nowrap; } .vg-t-kunde { font-weight:600; } .vg-t-wert, .vg-t-angelegt, .vg-t-geaendert, .vg-t-lieferung { white-space:nowrap; } .vg-neu-zeile td:first-child { box-shadow:inset 3px 0 0 var(--red); }
  .vg-ansicht .chip { padding:6px 10px; }
  .vid-neu { background:#fbf7f1; border:1px solid #ecdcc4; border-radius:12px; padding:10px 12px; margin:8px 0 14px; } .vid-neu .vid-zeile { align-items:center; } .vid-neu-knoepfe { display:flex; gap:6px; flex-shrink:0; } .vid-neu select { max-width:100%; }
  @media (max-width:600px) { .vid-neu .vid-zeile { flex-wrap:wrap; } }
  .ofen-preis { font-weight:700; color:var(--red); margin-top:2px; } .ofen-netto { font-weight:400; font-size:.85em; color:var(--muted,#666); white-space:nowrap; }
  .preis-stufe { display:inline-block; padding:3px 11px; border-radius:20px; background:var(--sf, #888); color:var(--st, #fff); font-weight:700; font-size:13px; white-space:nowrap; }
  .stufen-box { margin:8px 0; padding:10px 12px; border-radius:10px; background:#faf8f5; border:1px solid var(--line); border-left:7px solid var(--sf, #888); } .stufen-box p { margin:4px 0 0; }
  .stufen-legende { grid-column:1 / -1; padding:2px 2px 10px; font-size:13px; }
  .stufen-legende .hinweis { display:block; margin-bottom:5px; }
  .stufen-skala { display:flex; gap:2px; border-radius:10px; overflow:hidden; }
  .stufen-skala span { flex:1 1 0; min-width:0; text-align:center; padding:6px 2px; background:var(--sf); color:var(--st, #fff); font-weight:700; font-size:12px; white-space:nowrap; }
  .ofen-preishinweis { margin:6px 0 10px; padding:8px 12px; border-radius:10px; background:#f4f1ec; border:1px solid var(--line); font-size:14px; }
  .ofen-sonderhinweis { grid-column:1 / -1; margin:0 0 10px; padding:9px 12px; border-radius:10px; background:#eef3fa; border:1px solid #c5d5ea; border-left:6px solid #2f69bd; font-size:14px; }
  .foerder-band { position:absolute; left:8px; bottom:8px; background:#2e7d32; color:#fff; font-size:12px; font-weight:700; padding:3px 9px; border-radius:20px; box-shadow:0 1px 4px rgba(0,0,0,.25); }
  .foerder-box { margin:8px 0; padding:8px 12px; border-radius:10px; background:#eaf5ea; border:1px solid #b9dcb9; font-size:14px; } .foerder-box p { margin:4px 0 0; }
  .ofen-bild { position:relative; } .aktion-band { position:absolute; left:8px; top:8px; background:var(--red); color:#fff; font-size:12px; font-weight:700; padding:3px 8px; border-radius:20px; box-shadow:0 1px 4px rgba(0,0,0,.2); }
  .aktion-box { border:2px solid var(--red); background:#fff5f2; border-radius:10px; padding:10px 12px; margin:10px 0; } .aktion-box p { margin:4px 0; font-size:14px; } .aktion-haken { color:var(--red); font-weight:600; }
  .ofen-uvp { font-size:24px; font-weight:800; margin:12px 0 0; } .ofen-uvp small { font-size:13px; font-weight:400; color:var(--muted); }
  @media print { .ofenblatt .ob-preis { margin-left:auto; text-align:right; font-size:20pt; font-weight:800; color:#e63741; } .ofenblatt .ob-preis small { display:block; font-size:8pt; font-weight:400; color:#666; } }
  .ofen-karte { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:0; overflow:hidden; text-align:left; font:inherit; color:inherit; cursor:pointer; display:flex; flex-direction:column; transition:box-shadow .15s, transform .15s; }
  .ofen-karte:hover { box-shadow:0 8px 20px #0002; transform:translateY(-2px); }
  .ofen-bild { aspect-ratio:1; background:#fff; display:flex; align-items:center; justify-content:center; padding:10px; border-bottom:1px solid var(--line); }
  .ofen-bild img { max-width:100%; max-height:100%; object-fit:contain; }
  .ofen-text { padding:10px 12px 12px; display:flex; flex-direction:column; gap:2px; }
  .ofen-text b { font-size:15px; }
  .ofen-daten { font-size:13px; color:var(--brown); font-weight:600; }
  dialog.breit { width:min(1000px,calc(100vw - 32px)); }
  .ofen-detail { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:20px; padding:16px; }
  .ofen-gross { width:100%; max-height:420px; object-fit:contain; background:#fff; }
  .bild-gespiegelt { margin:2px 0 6px; font-size:11.5px; color:var(--muted); text-align:right; }
  .ofen-links select { display:block; width:100%; margin-top:4px; padding:8px; border:1px solid var(--line); border-radius:8px; font:inherit; }
  .ofen-rechts h3 { font-size:14px; text-transform:uppercase; letter-spacing:.04em; margin:16px 0 6px; }
  .ofen-rechts h3:first-child { margin-top:0; }
  table.tech { width:100%; border-collapse:collapse; box-shadow:none; font-size:14px; }
  table.tech th { background:none; color:var(--muted); font-weight:400; font-size:13px; width:55%; }
  table.tech th, table.tech td { padding:5px 8px; border-bottom:1px solid var(--line); }
  .klein { font-size:14px; margin:4px 0; }
  .doks { margin:0; padding-left:18px; font-size:14px; } .doks a { color:var(--ink); }
  @media (max-width:760px) { .ofen-detail { grid-template-columns:1fr; } .ofen-raster { grid-template-columns:repeat(2,1fr); gap:10px; } }
  @media print {
    .ofenblatt { width:210mm; min-height:297mm; padding:12mm 14mm; font:10.5pt/1.4 system-ui,"Segoe UI",Arial,sans-serif; color:#222; }
    .ofenblatt header { display:flex; gap:10mm; align-items:center; border-bottom:2pt solid #e63741; padding-bottom:4mm; margin-bottom:5mm; }
    .ofenblatt header img { height:18mm; }
    .ofenblatt header h1 { font-size:22pt; margin:0; } .ofenblatt header span { color:#666; }
    .ofenblatt .ob-mitte { display:grid; grid-template-columns:70mm 1fr; gap:8mm; align-items:start; }
    .ofenblatt .ob-mitte img { width:70mm; max-height:100mm; object-fit:contain; }
    .ofenblatt table.tech { font-size:9.5pt; } .ofenblatt table.tech th { font-size:9pt; }
    .ofenblatt h3 { font-size:11pt; margin:6mm 0 1mm; color:#6b5b3e; text-transform:uppercase; letter-spacing:.04em; }
    .ofenblatt p { margin:0 0 2mm; }
    .ofenblatt footer { display:block; max-width:none; margin:8mm 0 0; padding:3mm 0 0; padding-top:3mm; border-top:1px solid #ccc; font-size:8pt; color:#777; }
  }

  .weitere-titel { font-size:22px; margin:28px 0 4px; } .weitere-titel small { font-size:13px; font-weight:400; }
  .weitere-gruppe h3 { font-size:14px; text-transform:uppercase; letter-spacing:.04em; color:var(--brown); margin:18px 0 8px; }
  .weitere-raster { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:12px; }
  .weitere-karte { display:flex; flex-direction:column; gap:3px; font-size:13px; }
  .weitere-deck { display:flex; align-items:center; justify-content:center; aspect-ratio:3/4; background:#fff; border:1px solid var(--line); border-radius:6px; overflow:hidden; box-shadow:0 2px 6px #0001; }
  .weitere-deck[href]:hover { box-shadow:0 6px 16px #0002; transform:translateY(-2px); }
  .weitere-deck img { width:100%; height:100%; object-fit:contain; }
  .weitere-karte .btn { align-self:flex-start; margin-top:4px; }
  .jahr { display:inline-block; border-radius:10px; padding:1px 8px; font-size:12px; font-weight:700; }
  .jahr.akt { background:#e3f3e7; color:var(--good); } .jahr.vor { background:#fff3d6; color:#8a6100; } .jahr.alt { background:#fde5e5; color:var(--bad); }
  .geb-karte { display:flex; gap:14px; align-items:center; background:linear-gradient(90deg,#fff6e6,#fff); border:1px solid #f3d49b; border-left:5px solid var(--yellow); border-radius:var(--r); padding:14px 18px; margin-bottom:16px; font-size:30px; }
  .geb-karte div { display:flex; flex-direction:column; font-size:15px; } .geb-karte b { font-size:20px; }
  .team-raster { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:10px; }
  .team-privat { background:#fff7ec; border:1px solid #f1d6b0; border-radius:8px; padding:6px 9px; font-size:13px; line-height:1.55; }
  .team-betrieb { display:flex; align-items:center; gap:12px; margin:18px 0 10px; font-size:17px; } .team-betrieb img { height:38px; width:auto; max-width:150px; object-fit:contain; border-radius:6px; background:#fff; }
  .team-karte .team-logo { height:30px; width:auto; max-width:140px; object-fit:contain; align-self:flex-start; margin-bottom:4px; }
  .dk-tab input, .dk-tab select { width:100%; min-width:90px; box-sizing:border-box; padding:6px 8px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:14px; }
  .dk-tab td { vertical-align:top; padding:4px; } .dk-tab .dk-betrag { min-width:90px; text-align:right; }
  .dk-summe { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:10px; margin-bottom:14px; } .dk-summe div { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:10px 14px; }
  .dk-summe b { display:block; font-size:20px; }
  .team-karte { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:12px 14px; display:flex; flex-direction:column; gap:3px; font-size:14px; }
  .team-karte.als-naechstes { border-color:var(--yellow); box-shadow:0 0 0 2px #fbc92655; }
  .vg-anrede-titel { display:flex; gap:4px; } .vg-anrede-titel select { min-width:0; flex:1 1 0; }
  .team-reiter { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; } .team-reiter .chip .hinweis { font-size:12px; }
  .team-form { margin-bottom:14px; } .team-form-felder { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; }
  .team-form-felder label { display:flex; flex-direction:column; gap:4px; font-size:13px; } .team-form-felder input { width:100%; box-sizing:border-box; padding:8px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; }
  .team-form-felder .breit { grid-column:1 / -1; }
  .team-karte a { color:var(--ink); } .team-karte .geb { color:var(--brown); font-size:13px; margin-top:4px; }
  table.team-edit input { width:100%; min-width:90px; padding:5px 6px; border:1px solid var(--line); border-radius:6px; font:inherit; font-size:13px; }
  .kopf-konto { order:3; flex:none; position:relative; }
  #kontoKnopf { display:none; } .kopf-konto .konto-menue { display:flex; gap:6px; }
  .konto-menue button { font:inherit; font-size:14px; border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:10px; padding:7px 12px; cursor:pointer; white-space:nowrap; text-align:left; }
  .konto-menue button:hover { background:#f3efeb; } .konto-menue button.an { background:var(--ink); color:#fff; } .konto-menue button[hidden] { display:none; }
  /* angemeldet: ein Knopf mit dem Namen, Einstellungen und Abmelden darunter */
  header.top.angemeldet #kontoKnopf { display:inline-flex; align-items:center; gap:4px; }
  header.top.angemeldet .konto-menue { display:none; position:absolute; right:0; top:calc(100% + 6px); z-index:70; flex-direction:column; gap:0; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 8px 24px #0002; padding:6px; min-width:190px; }
  header.top.angemeldet .konto-menue.auf { display:flex; }
  header.top.angemeldet .konto-menue button { border:0; border-radius:8px; padding:10px 12px; }
  @media (max-width:760px) {
    .kopf-konto { order:2; margin-left:auto; }
    nav { order:3; }
  }
  /* Rückmeldungen (Feedback-Knopf unten rechts, Dialog, Feed) */
  .fb-btn { position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); z-index:30; display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font:600 13px/1 inherit; font-family:inherit; padding:5px 14px 5px 5px; box-shadow:0 4px 16px rgba(0,0,0,.18); cursor:pointer; }
  .fb-btn:hover { border-color:var(--ink); } .fb-ico { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#fff6dc; border:1px solid #f0dc9a; font-size:18px; line-height:1; }
  .fb-btn[hidden] { display:none; } .fb-zahl { background:var(--red); color:#fff; border-radius:999px; font-size:11px; padding:2px 6px; margin-left:2px; }
  @media (max-width:640px) { .fb-btn { right:10px; bottom:calc(14px + env(safe-area-inset-bottom)); padding:4px 11px 4px 4px; } }
  @media print { .fb-btn { display:none !important; } }
  .fb-dlg { width:min(640px, calc(100vw - 24px)); } .fb-tabs { margin-bottom:10px; }
  .fb-arten { display:flex; gap:6px; flex-wrap:wrap; margin:4px 0 10px; } .fb-arten button { border:1px solid var(--line); background:#fff; border-radius:999px; padding:7px 14px; font:inherit; font-size:13.5px; cursor:pointer; color:var(--ink); } .fb-arten button.an { background:var(--ink); border-color:var(--ink); color:#fff; }
  #fbText { width:100%; box-sizing:border-box; padding:9px 12px; border:1px solid var(--line); border-radius:10px; font:inherit; } .fb-zeile { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:8px 0 4px; } #fbMic.an { background:var(--red); color:#fff; border-color:var(--red); }
  .fb-anhaenge { display:flex; gap:8px; flex-wrap:wrap; margin:6px 0; } .fb-anhang { position:relative; } .fb-anhang img { height:64px; border-radius:6px; border:1px solid var(--line); display:block; }
  .fb-anhang button { position:absolute; top:-6px; right:-6px; width:20px; height:20px; border-radius:50%; border:0; background:#3b3b3b; color:#fff; font-size:12px; cursor:pointer; line-height:1; }
  .fb-e { border:1px solid var(--line); border-radius:10px; padding:10px 12px; margin:8px 0; background:#fff; } .fb-e.erledigt { opacity:.65; }
  .fb-kopf { display:flex; gap:8px; align-items:center; flex-wrap:wrap; font-size:13px; margin-bottom:6px; } .fb-kopf .fb-status { margin-left:auto; font-size:12px; color:var(--muted); }
  .fb-badge { border-radius:999px; padding:2px 9px; font-size:12px; font-weight:600; } .fb-fehler { background:#fde8e8; color:#a12; border:1px solid #f3c2c2; } .fb-vorschlag { background:#fff6dc; color:#7a5a00; border:1px solid #f0dc9a; } .fb-frage { background:#e7f0fb; color:#1d4e89; border:1px solid #c3d6ee; }
  .fb-text { line-height:1.45; } .fb-ctx { margin-top:4px; } .fb-bild { display:block; max-height:160px; max-width:100%; margin-top:8px; border:1px solid var(--line); border-radius:6px; } .fb-antwort { margin-top:8px; padding:8px 10px; background:#f4efe7; border-radius:8px; font-size:13.5px; }
  #fbToast { position:fixed; left:50%; bottom:calc(70px + env(safe-area-inset-bottom)); transform:translate(-50%, 20px); background:var(--ink); color:#fff; padding:10px 16px; border-radius:10px; font-size:14px; opacity:0; pointer-events:none; transition:.25s; z-index:80; max-width:90vw; } #fbToast.an { opacity:1; transform:translate(-50%, 0); }
  .nav-pfeile { position:fixed; left:12px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:35; display:flex; gap:2px; background:rgba(255,255,255,.96);
    border:1px solid var(--line); border-radius:999px; box-shadow:0 4px 18px rgba(0,0,0,.18); padding:3px; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
  .nav-pfeile button { width:46px; height:42px; border:0; background:none; border-radius:999px; font-size:30px; line-height:1; color:var(--ink); cursor:pointer; padding:0 0 4px; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
  .nav-pfeile button:active { background:#f1ebe2; } .nav-pfeile button:disabled { color:#cfc7bb; }
  @media print { .nav-pfeile { display:none !important; } }
  /* Handbuch */
  .hb-kapitel h3 { font-size:16px; margin:0 0 8px; color:var(--brown); }
  .hb-kapitel ol, .hb-kapitel ul { margin:6px 0; padding-left:22px; } .hb-kapitel li { margin:3px 0; }
  .hb-kapitel p { margin:6px 0; }
  .wichtig { background:#fdf0f0; border-left:4px solid var(--red); padding:8px 10px; border-radius:6px; font-weight:600; }
  mark.pruefen { background:#fff3d6; color:#8a6100; border-radius:4px; padding:0 4px; }
  .hb-edit input, .hb-edit textarea { display:block; width:100%; padding:8px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; margin-bottom:8px; }
  .hb-edit input { font-weight:700; }
  @media print {
    .hb-druck { padding:12mm 14mm; font:10.5pt/1.45 system-ui,"Segoe UI",Arial,sans-serif; color:#222; }
    .hb-druck header { display:flex; gap:8mm; align-items:center; border-bottom:2pt solid #e63741; padding-bottom:3mm; margin-bottom:5mm; }
    .hb-druck header img { height:14mm; } .hb-druck h1 { font-size:18pt; margin:0; } .hb-druck header span { color:#777; font-size:9pt; }
    .hb-druck section { break-inside:avoid; margin-bottom:4mm; } .hb-druck h2 { font-size:12pt; color:#6b5b3e; margin:0 0 1.5mm; }
    .hb-druck ol, .hb-druck ul { margin:1mm 0; padding-left:6mm; } .hb-druck p { margin:1mm 0; }
    .hb-unterschrift { margin-top:8mm !important; padding-top:3mm; border-top:1pt solid #ccc; }
    .hb-us-zeilen { display:flex; gap:8mm; margin-top:14mm; } .hb-us-zeilen div { flex:1; font-size:8.5pt; color:#666; } .hb-us-zeilen span { display:block; border-bottom:0.8pt solid #333; margin-bottom:1.5mm; height:0; }
  }
  .hb-bestaetigen { border:2px solid var(--red); background:#fffaf6; } .hb-bestaetigen p { margin:0 0 10px; }
  .hb-bestaetigt { background:#f1f8f1; border:1px solid #b9dcb9; color:#2e6b2e; }
  .hb-l-rahmen { overflow-x:auto; } table.hb-leser { border-collapse:collapse; font-size:14px; min-width:100%; }
  table.hb-leser th, table.hb-leser td { border-bottom:1px solid var(--line); padding:6px 8px; text-align:left; white-space:nowrap; }
  .hb-l-ok { color:#2e6b2e; } .hb-l-alt { color:#a05a00; } .hb-l-offen { color:#aaa; }
  .hb-videos { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
  .hb-video { display:flex; align-items:center; gap:8px; border:1px solid var(--line); background:#fff; border-radius:10px; padding:8px 12px; font:inherit; font-size:14px; cursor:pointer; color:var(--ink); }
  .hb-video:hover { border-color:var(--red); }
  .hb-video .play { display:inline-flex; width:28px; height:28px; border-radius:50%; background:var(--red); color:#fff; align-items:center; justify-content:center; font-size:12px; padding-left:2px; }
  .hb-video-edit { display:flex; align-items:center; gap:6px; } .hb-video-edit input { margin:0 !important; width:auto !important; min-width:160px; }
  video.hb-player { display:block; width:100%; max-height:70vh; background:#000; }
  /* Aufgaben */
  .aufgabe { display:flex; gap:12px; background:#fff; border:1px solid var(--line); border-left:5px solid #c9c2b8; border-radius:var(--r); padding:12px 14px; margin-bottom:10px; }
  .aufgabe.p1 { border-left-color:var(--red); } .aufgabe.p2 { border-left-color:var(--orange); } .aufgabe.p4 { border-left-color:#7aa7d6; }
  .aufgabe.erledigt { opacity:.6; } .aufgabe.erledigt .aufg-kopf b { text-decoration:line-through; }
  .haken-gross input { width:26px; height:26px; accent-color:var(--good); margin-top:2px; cursor:pointer; }
  .aufg-inhalt { flex:1; min-width:0; } .aufg-inhalt p { margin:4px 0; font-size:14px; }
  .aufg-text { margin:4px 0; font-size:14px; line-height:1.45; overflow-wrap:anywhere; } .aufg-text ul, .aufg-text ol { margin:2px 0 4px; padding-left:20px; }
  .aufg-text .aufg-h { display:block; margin-top:6px; font-size:14.5px; } .aufg-text a { color:inherit; }
  .aufg-text details { margin-top:6px; background:var(--bg); border-radius:8px; padding:6px 10px; } .aufg-text summary { cursor:pointer; font-weight:600; font-size:13px; }
  .fmt-leiste { display:flex; gap:4px; flex-wrap:wrap; align-items:center; margin:-4px 0 4px; } .fmt-leiste button { padding:3px 9px; font-size:12.5px; }
  .aufg-kopf { display:flex; flex-wrap:wrap; gap:8px; align-items:center; } .aufg-kopf b { font-size:16px; }
  .prio { font-size:11px; font-weight:700; border-radius:10px; padding:1px 8px; text-transform:uppercase; letter-spacing:.03em; }
  .prio.p1 { background:#fde5e5; color:var(--bad); } .prio.p2 { background:#fff0e0; color:#a5550c; } .prio.p3 { background:#f0ede8; color:var(--muted); } .prio.p4 { background:#e8f0f8; color:#3a6a99; }
  .ueberfaellig { color:var(--bad); font-weight:700; }
  .aufg-fotos { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0; } .aufg-fotos img { width:76px; height:76px; object-fit:cover; border-radius:8px; border:1px solid var(--line); cursor:zoom-in; }
  .foto-x { position:relative; } .foto-x button { position:absolute; top:-6px; right:-6px; width:22px; height:22px; border-radius:50%; border:0; background:var(--ink); color:#fff; cursor:pointer; line-height:1; }
  img.aufg-gross { display:block; width:100%; max-height:75vh; object-fit:contain; background:#000; }
  #aufgForm textarea { display:block; width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; margin-top:4px; }
  .schnell .schnell-zeile { display:flex; gap:8px; margin-top:6px; }
  .schnell textarea { flex:1; padding:9px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; resize:vertical; }
  .mikro { font-size:22px; padding:6px 14px; } .mikro.nimmt-auf { background:var(--red); color:#fff; border-color:var(--red); animation:puls 1s infinite; }
  @keyframes puls { 50% { opacity:.6; } }
  /* Start */
  .start-raster { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; align-items:start; }
  .start-schnell { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
  #startInhalt.start-raster { display:block; }
  .start-layout { display:grid; grid-template-columns:minmax(0, 1.7fr) minmax(0, 1fr); gap:14px; align-items:start; } .start-layout.einspaltig { grid-template-columns:minmax(0, 1fr); }
  .start-spalte { display:flex; flex-direction:column; gap:14px; min-width:0; } .start-spalte .kachel { margin:0; }
  @media (max-width:900px) { .start-layout { grid-template-columns:minmax(0, 1fr); } }
  .wetter-kompakt h3 { font-size:15px; } .wetter-kompakt .wetter-woche { gap:3px; } .wetter-kompakt .wetter-tag { padding:5px 1px; font-size:11.5px; } .wetter-kompakt .wetter-ico { font-size:19px; } .wetter-kompakt > p.hinweis { font-size:11.5px; margin:4px 0 0; }
  @media (max-width:900px) { .wetter-kompakt .wetter-tag { font-size:13px; } .wetter-kompakt .wetter-ico { font-size:24px; } }
  .kachel h3 { margin:0 0 8px; font-size:15px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
  .kachel.breit2 { grid-column:span 2; } @media (max-width:760px) { .kachel.breit2 { grid-column:auto; } }
  .kachel .gross { font-size:20px; font-weight:700; margin:4px 0 2px; } .warn-text { color:var(--bad); } .ok-text { color:var(--good); }
  .zahl-gross { background:var(--ink); color:#fff; border-radius:12px; padding:0 9px; font-size:13px; }
  .kurzliste { list-style:none; margin:6px 0; padding:0; } .kurzliste li { padding:6px 0; border-bottom:1px solid var(--line); font-size:14px; }
  .kurzliste li:last-child { border-bottom:0; }
  .haken-zeile { display:flex; gap:10px; align-items:flex-start; cursor:pointer; flex:1; } .haken-zeile input { width:22px; height:22px; accent-color:var(--good); flex:none; margin-top:1px; }
  .kurzliste li { display:flex; gap:8px; align-items:center; } .kurzliste li.weg { opacity:.35; text-decoration:line-through; }
  .schnellzugriff { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:8px; } .schnellzugriff .btn { text-align:left; }
  .gelesen-ja { font-size:12px; color:var(--good); } .gelesen-nein { font-size:12px; color:var(--bad); font-weight:600; }
  .status-arbeit { font-size:11px; font-weight:700; background:#e3f3e7; color:var(--good); border-radius:10px; padding:1px 8px; }
  .ue-tab td, .ue-tab th { font-size:14px; } .ue-person { margin:16px 0 6px; font-size:15px; display:flex; gap:8px; align-items:center; }
  /* Downloads */
  .ofen-ki { display:grid; gap:8px; margin-bottom:12px; } #ofenMikro.an { background:var(--red); color:#fff; } #ofenKiInfo { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
  /* Ablage neben dem Schrank (intern) */
  .schrank-bereich.mit-ablage { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:16px; align-items:start; }
  .ablage:empty { display:none; }
  .schrank-bereich.mit-ablage .ablage { position:sticky; top:76px; max-height:calc(100vh - 92px); display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:0 6px 18px #0001; overflow:hidden; }
  .ablage.drueber { outline:3px dashed var(--red); outline-offset:2px; }
  .ablage-kopf { padding:10px 12px; border-bottom:1px solid var(--line); background:#faf7f4; }
  .ablage-auf { all:unset; cursor:pointer; display:flex; gap:6px; align-items:baseline; width:100%; } .ablage-pfeil { margin-left:auto; transition:transform .15s; }
  .ablage.zu .ablage-pfeil { transform:rotate(-90deg); } .ablage.zu .ablage-innen { display:none; }
  @media (min-width:901px) {
    .schrank-bereich.mit-ablage.ablage-zu { grid-template-columns:minmax(0,1fr) 46px; }
    .schrank-bereich.ablage-zu .ablage-kopf { padding:12px 0; border:0; height:100%; }
    .schrank-bereich.ablage-zu .ablage-auf { writing-mode:vertical-rl; flex-direction:row; align-items:center; justify-content:flex-start; gap:8px; width:auto; margin:0 auto; font-size:14px; }
    .schrank-bereich.ablage-zu .ablage-auf .hinweis { display:none; }
    .schrank-bereich.ablage-zu .ablage-pfeil { margin:0; transform:rotate(90deg); }
  }
  .ablage-zu-knopf { margin-left:6px; font-size:12px; color:var(--muted); }
  .ablage-innen { display:flex; flex-direction:column; gap:8px; padding:10px 12px; min-height:0; flex:1; }
  .ablage-innen input, .ablage-innen select { width:100%; box-sizing:border-box; }
  .ablage-liste { overflow:auto; display:flex; flex-direction:column; gap:6px; min-height:0; flex:1; margin:0 -4px; padding:0 4px; }
  .ablage-k { display:flex; gap:10px; align-items:center; padding:6px; border:1px solid var(--line); border-radius:8px; background:#fff; cursor:grab; position:relative; }
  .ablage-k:hover { border-color:var(--red); } .ablage-k.gewaehlt { border-color:var(--red); box-shadow:0 0 0 2px var(--red); background:#fff5f5; } .ablage-k.ziehen { opacity:.4; }
  .ablage-deck { flex:none; width:44px; aspect-ratio:210/297; border:1px solid var(--line); border-radius:3px; overflow:hidden; display:flex; align-items:center; justify-content:center; background:#f5f2ef; }
  .ablage-deck img { width:100%; height:100%; object-fit:contain; background:#fff; }
  .ablage-t { display:flex; flex-direction:column; min-width:0; font-size:13px; line-height:1.25; } .ablage-t b { font-size:13px; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .ablage-t small { color:var(--muted); font-size:11px; }
  .ablage-bearb { margin-left:auto; border:0; background:none; cursor:pointer; color:var(--muted); font-size:15px; padding:4px; } .ablage-bearb:hover { color:var(--red); }
  .ablage-wahl { background:#fff5f5; border:1px solid var(--red); border-radius:8px; padding:8px; font-size:13px; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
  .ablage-tipp { font-size:11.5px; margin:0; }
  #regal.zielmodus .feld { outline:2px dashed var(--red); outline-offset:-3px; cursor:copy; }
  @media (max-width:900px) {
    .schrank-bereich.mit-ablage { display:block; }
    .schrank-bereich.mit-ablage .ablage { position:fixed; left:8px; right:8px; bottom:8px; top:auto; max-height:46vh; z-index:40; box-shadow:0 -6px 24px #0003; }
    .schrank-bereich.mit-ablage { padding-bottom:56px; }
  }
  /* Bildmittelpunkt beim Bearbeiten */
  .fokus-wahl { display:grid; gap:8px; border:1px solid var(--line); border-radius:10px; padding:10px; }
  .fokus-bild { position:relative; width:180px; cursor:crosshair; border:1px solid var(--line); } .fokus-bild img { width:100%; display:block; }
  .fokus-punkt { position:absolute; width:22px; height:22px; margin:-11px 0 0 -11px; border-radius:50%; border:3px solid #fff; background:var(--red); box-shadow:0 0 0 2px var(--red), 0 2px 6px #0006; pointer-events:none; }
  .fokus-vorschau { display:flex; gap:10px; align-items:center; font-size:13px; color:var(--muted); }
  .fv { border:1px solid var(--line); overflow:hidden; background:#fff; } .fv img { width:100%; height:100%; display:block; object-fit:cover; }
  .fv.quer { width:150px; height:106px; } .fv.hoch { width:75px; height:106px; }
  /* Fach-Ansicht mit Vorschau */
  dialog:has(.fach-liste) { width:min(760px,calc(100vw - 32px)); }
  .fach-k.prosp { flex-wrap:nowrap; padding:10px; } .fach-k .fach-deck img { width:100%; height:100%; object-fit:contain; background:#fff; }
  .fach-k .fach-hst img { width:auto; height:22px; max-width:90px; }
  .fach-liste { display:grid; gap:12px; } .fach-k { display:flex; gap:14px; align-items:flex-start; border:1px solid var(--line); border-radius:10px; padding:10px; background:#fff; }
  .fach-k[draggable=true] { cursor:grab; } .fach-k.ziehen { opacity:.4; }
  .fach-k.drueber-oben { box-shadow:0 -4px 0 var(--red); } .fach-k.drueber-unten { box-shadow:0 4px 0 var(--red); }
  .fach-griff { display:flex; flex-direction:column; align-items:center; gap:4px; color:var(--muted); font-size:20px; line-height:1; padding-top:4px; }
  .fach-griff span { font-size:12px; font-weight:700; color:var(--ink); }
  .fach-griff button { border:1px solid var(--line); background:#fff; border-radius:6px; width:28px; height:26px; cursor:pointer; font-size:14px; }
  .fach-deck { flex:none; width:150px; aspect-ratio:210/297; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:#f5f2ef; display:flex; align-items:center; justify-content:center; box-shadow:0 3px 10px #0002; transition:transform .15s; }
  .fach-deck:hover { transform:scale(1.03); } .fach-deck img { width:100%; height:100%; object-fit:contain; background:#fff; }
  .fach-info { display:flex; flex-direction:column; gap:5px; min-width:0; flex:1; }
  .fach-hst { display:flex; gap:8px; align-items:center; font-size:13px; color:var(--muted); } .fach-hst img { height:22px; max-width:90px; object-fit:contain; }
  .fach-titel { font-size:17px; }
  @media (max-width:600px) { .fach-deck { width:96px; } }
  /* Kundenkarte (Angebots-Board) */
  dialog:has(.kd-form) { width:min(820px,calc(100vw - 24px)); }
  .kd-form { padding:6px 22px 22px; display:grid; gap:18px; font-size:15px; }
  .kd-form section { border:1px solid var(--line); border-radius:12px; padding:14px 16px 16px; background:#fcfbfa; }
  .kd-form h3 { margin:0 0 12px; font-size:15px; letter-spacing:.01em; }
  .kd-raster { display:grid; grid-template-columns:repeat(3,1fr); gap:12px 14px; }
  .kd-f { display:grid; gap:5px; } .kd-f.breit { grid-column:span 2; } .kd-f.kd-voll { grid-column:1 / -1; }
  .kd-f > span { font-size:12px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
  .kd-f input, .kd-f select, .kd-f textarea { font:inherit; font-size:15px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:#fff; width:100%; box-sizing:border-box; }
  .kd-f input:focus, .kd-f select:focus, .kd-f textarea:focus { outline:2px solid var(--red); outline-offset:-1px; border-color:transparent; }
  .kd-dateien { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:10px; margin-bottom:10px; }
  .kd-datei { position:relative; display:grid; gap:4px; } .kd-datei a { display:block; aspect-ratio:1; border-radius:8px; overflow:hidden; border:1px solid var(--line); background:#fff; }
  .kd-datei img { width:100%; height:100%; object-fit:cover; } .kd-pdf { display:flex; height:100%; align-items:center; justify-content:center; background:var(--red); color:#fff; font-weight:800; }
  .kd-weg { position:absolute; top:4px; right:4px; width:24px; height:24px; border-radius:50%; border:0; background:#000a; color:#fff; cursor:pointer; }
  .kd-hoch { margin-right:8px; }
  .kd-bearb { display:flex; gap:14px; align-items:end; flex-wrap:wrap; } .kd-bearb .kd-f { min-width:240px; }
  .kd-oefen { grid-column:1 / -1; display:grid; gap:8px; } .kd-ofen { display:grid; grid-template-columns:1fr 2fr 1fr 28px; gap:10px; align-items:end; position:relative; }
  .kd-ofen .kd-weg { position:static; align-self:end; margin-bottom:8px; } .kd-ofenplus { grid-column:1 / -1; justify-self:start; }
  @media (max-width:700px) { .kd-ofen { grid-template-columns:1fr 1fr; } } .kd-knoepfe { display:flex; gap:10px; }
  .board-art { font-size:12px; font-weight:600; color:var(--ink); }
  .board.board-uebersicht { display:block; } .board-ue-titel { margin:16px 0 6px; } .board-ue tr.klickbar { cursor:pointer; } .board-ue tr.klickbar:hover td { background:#f7f3ef; }
  @media (max-width:700px) { .kd-raster { grid-template-columns:1fr 1fr; } .kd-form { padding:6px 12px 16px; } }
  /* Angebots-Board */
  .board-karte { margin-top:14px; } .board-kopf { display:flex; gap:10px; align-items:center; flex-wrap:wrap; } .board-kopf h3 { margin:0; flex:1; }
  .board { display:grid; grid-template-columns:repeat(5,minmax(200px,1fr)); gap:10px; overflow-x:auto; padding:10px 0 4px; }
  .board-spalte { background:#f3efeb; border-radius:10px; padding:8px; min-height:120px; display:flex; flex-direction:column; gap:8px; }
  .board-spalte.drueber { outline:2px dashed var(--red); }
  .board-titel { font-size:13px; font-weight:700; display:flex; justify-content:space-between; align-items:center; padding:2px 4px; }
  .board-k { background:#fff; border:1px solid var(--line); border-radius:8px; padding:8px 10px; display:flex; flex-direction:column; gap:3px; cursor:grab; box-shadow:0 1px 2px #0001; }
  .board-k:hover { border-color:var(--red); } .board-k.ziehen { opacity:.4; } .board-k.ueber { border-left:4px solid var(--bad); }
  .board-notiz { font-size:12.5px; color:var(--muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .board-fuss { display:flex; gap:8px; font-size:12px; align-items:center; } .board-pfeile { margin-left:auto; display:flex; gap:4px; }
  .board-pfeile button { border:1px solid var(--line); background:#fff; border-radius:6px; width:26px; height:24px; cursor:pointer; font-size:15px; line-height:1; }
  @media (max-width:760px) { .board { grid-template-columns:repeat(5,78vw); scroll-snap-type:x mandatory; } .board-spalte { scroll-snap-align:start; } }
  /* Schornsteinfeger */
  .ssf-felder { display:grid; grid-template-columns:120px 1fr 2fr 110px; gap:10px; } .ssf-felder label { display:grid; gap:4px; font-size:13px; font-weight:600; color:var(--muted); min-width:0; }
  .ssf-felder input, #ssfText, .ssf-gebiet input { width:100%; min-width:0; box-sizing:border-box; padding:9px 12px; border:1px solid var(--line); border-radius:10px; font:inherit; font-weight:400; color:var(--ink); background:#fff; }
  .ssf-felder input:focus, #ssfText:focus, .ssf-gebiet input:focus { outline:none; border-color:var(--red); box-shadow:0 0 0 3px rgba(230,55,65,.12); }
  .ssf-suche .btns { margin-top:12px; } #ssfLive .card, #ssfErgebnis .card { margin-top:12px; } .ssf-karte .tab th { text-align:left; padding:5px 14px 5px 0; color:var(--muted); font-weight:500; white-space:nowrap; } .ssf-karte .tab td { padding:5px 0; overflow-wrap:anywhere; }
  @media (max-width:760px) { .ssf-felder { grid-template-columns:1fr 2fr; } }
  .ssf-suche { display:grid; gap:10px; } .ssf-raster { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:14px; margin-top:12px; }
  .ssf-karte { display:grid; gap:6px; } .ssf-karte.alt { border-color:#f39200; } .ssf-kopf { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
  .ssf-kontakt { display:flex; flex-wrap:wrap; gap:6px; } .ssf-filter input { flex:1 1 260px; min-width:0; padding:9px 12px; border:1px solid var(--line); border-radius:10px; font:inherit; } #ssfErgebnis .ssf-karte { margin-bottom:10px; }
  .ssf-gebiet { display:grid; grid-template-columns:80px 1fr 1.4fr 110px auto; gap:6px; margin-bottom:6px; }
  @media (max-width:760px) { .ssf-gebiet { grid-template-columns:1fr 1fr; } }
  .cc-zeile { cursor:pointer; } .cc-zeile:hover b { text-decoration:underline; } .cc-hinweis { background:#f6f8f4; border-radius:10px; padding:8px 12px; } .cc-schritte { margin:10px 0; padding-left:20px; font-size:14px; } .cc-schritte li { margin:4px 0; }
  .ssf-live-aus { border:1px dashed #e9b98a; background:#fffaf3; } .ssf-live-aus p { margin:6px 0; }
  .ssf-live-liste { display:grid; gap:8px; margin-top:8px; } .ssf-live-z { text-align:left; border:1px solid var(--line); border-radius:10px; background:#fff; padding:10px 12px; cursor:pointer; font:inherit; color:inherit; }
  .ssf-live-z:hover { border-color:var(--red); } .ssf-live-z.passt { border-color:#7cc38a; background:#f3faf4; } .ssf-live-z small { color:var(--muted); line-height:1.5; }
  .ssf-behoerden summary { cursor:pointer; } .ssf-behoerden table td { padding:6px 10px 6px 0; font-size:14px; }
  /* Fachregeln */
  .fr-frage { display:grid; gap:10px; } .fr-eingabe { display:flex; gap:8px; } .fr-eingabe input { flex:1; font-size:17px; padding:12px 14px; }
  #frMikro.an { background:var(--red); color:#fff; }
  .fr-treffer { list-style:none; margin:0; padding:0; } .fr-treffer li { padding:10px 0; border-bottom:1px solid var(--line); }
  .fr-treffer a { color:var(--ink); text-decoration:none; } .fr-treffer a:hover b { color:var(--red); }
  .fr-ausschnitt { font-size:13.5px; color:var(--muted); line-height:1.45; } .fr-ausschnitt mark { background:#ffe6a8; color:var(--ink); padding:0 1px; }
  .fr-antwort .fr-text { font-size:15.5px; line-height:1.55; } .fr-antwort h4 { margin:16px 0 4px; }
  /* News */
  .news-liste { display:grid; gap:14px; max-width:880px; } .news-k h3 { margin:6px 0; font-size:18px; } .news-k p { margin:0 0 8px; line-height:1.5; }
  .news-kopf { display:flex; gap:10px; align-items:center; } .news-kopf img { height:24px; max-width:110px; object-fit:contain; }
  #pdfFenster { width:min(1100px, 94vw); height:90vh; max-width:none; max-height:none; padding:0; border:0; border-radius:14px; overflow:hidden; display:none; flex-direction:column; }
  #pdfFenster[open] { display:flex; } #pdfFenster.gross { width:100vw; height:100vh; border-radius:0; }
  #pdfFenster .pf-kopf { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 12px; border-bottom:1px solid var(--line); background:#faf8f6; }
  #pdfFenster .pf-kopf b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } #pdfFenster .pf-knoepfe { display:flex; gap:6px; align-items:center; flex-shrink:0; }
  #pdfFenster .zu { position:static; } #pdfFenster iframe { flex:1; width:100%; border:0; background:#525659; }
  #pdfFenster #pfSeiten { flex:1; overflow:auto; background:#525659; padding:8px; -webkit-overflow-scrolling:touch; }
  #pdfFenster .pf-seite { margin:0 auto 8px; background:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 4px #0006; }
  #pdfFenster .pf-seite canvas { display:block; }
  #pdfFenster::backdrop { background:#000a; }
  #undoLeiste { position:fixed; left:50%; bottom:22px; transform:translate(-50%,140%); background:#2f3033; color:#fff; border-radius:12px; padding:10px 14px; display:flex; gap:14px; align-items:center; box-shadow:0 8px 24px #0005; z-index:9999; transition:transform .25s; font-size:14px; max-width:calc(100vw - 24px); }
  #undoLeiste.an { transform:translate(-50%,0); } #undoLeiste button { border:0; background:#ffd36b; color:#222; font-weight:700; border-radius:8px; padding:6px 12px; cursor:pointer; white-space:nowrap; }
  .aufg-link { all:unset; cursor:pointer; flex:1; } .aufg-link:hover { text-decoration:underline; } .haken-zeile .aufg-link { display:inline; }
  .aufg-blink { animation:aufg-blink 1.1s 2; } @keyframes aufg-blink { 0%,100% { box-shadow:none; } 50% { box-shadow:0 0 0 4px #f39200; } }
  .wv-knoepfe { display:flex; gap:6px; flex-wrap:wrap; align-items:center; margin-top:-4px; } .wv-knoepfe .chip { font-size:12px; padding:3px 9px; }
  .team-zug { white-space:nowrap; } .team-zug .btn { padding:4px 8px; margin-right:2px; }
  .er-an { display:grid; gap:6px; margin:12px 0; } .er-an input { width:100%; box-sizing:border-box; padding:10px 12px; font:inherit; border:1px solid var(--line); border-radius:10px; } .er-vorschlag { display:flex; flex-wrap:wrap; gap:6px; }
  .privat-zeile { display:flex; gap:8px; align-items:baseline; flex-wrap:wrap; margin:4px 0 8px; } .privat-zeile input { width:auto; }
  .fz-sicht { display:flex; flex-wrap:wrap; gap:6px 14px; } .fz-sicht input { width:auto; }
  .bestell-liste input.menge { width:64px; padding:3px 6px; font:inherit; font-size:13px; border:1px solid var(--line); border-radius:6px; }
  .ck-senden { margin-top:16px; position:relative; } .ck-liste { display:flex; flex-wrap:wrap; gap:6px 12px; margin:8px 0; } .ck-datei { background:#f3f1ec; border-radius:8px; padding:3px 8px; font-size:14px; }
  .ck-ok { display:flex; gap:8px; align-items:flex-start; margin:10px 0; font-size:14px; } .ck-ok input { width:auto; margin-top:3px; }
  /* Aufgaben-Leiste: Knöpfe, Chips, Auswahl und Suche einheitlich hoch */
  #aufgaben .leiste { align-items:center; }
  /* Aufgaben-Leiste: oben Ansicht (Segmente) + Neue Aufgabe, darunter Suche und Filter – alles gleich hoch (40 px) */
  .aufg-leiste { background:#fff; border:1px solid var(--line); border-radius:14px; padding:10px; display:grid; gap:8px; margin-bottom:14px; }
  .al-zeile { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
  .al-zeile #aufgNeu { margin-left:auto; height:40px; box-sizing:border-box; display:inline-flex; align-items:center; padding-top:0; padding-bottom:0; }
  .seg { display:inline-flex; flex-wrap:wrap; gap:2px; background:#f1eee9; border-radius:11px; padding:3px; }
  .seg .chip { border:0; background:transparent; border-radius:8px; height:34px; padding:0 12px; font-size:14px; color:var(--ink); display:inline-flex; align-items:center; white-space:nowrap; }
  .seg .chip:hover { background:#ffffffb0; }
  .seg .chip.an { background:#fff; color:var(--ink); font-weight:600; box-shadow:0 1px 3px #0000002e; }
  .al-zeile > #afSpaeter { height:40px; border-radius:10px; font-size:14px; }
  .al-zeile > #afSpaeter.an { background:#5b4b8a; border-color:#5b4b8a; color:#fff; }
  .al-filter .aufg-suche { flex:1 1 240px; max-width:none; min-width:180px; height:40px; box-sizing:border-box; }
  .al-filter .leiste-wahl { height:40px; box-sizing:border-box; padding:0 10px; }
  @media (max-width:640px) { .al-zeile #aufgNeu { margin-left:0; } .seg .chip { padding:0 9px; font-size:13px; } }
  .einst-nav { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:12px; } .einst-nav a { text-decoration:none; }
  #einstellungen .card { margin-bottom:14px; scroll-margin-top:80px; } .einst-tab input { width:100%; min-width:200px; }
  #einstKnopf.an { background:var(--red); color:#fff; border-color:var(--red); }
  /* „Zu erledigen“: Bereiche als leicht getönte Felder, jeder mit eigener Farbkante */
  .ze-gruppe { background:#f7f5f2; border-radius:10px; padding:8px 10px 6px; border-left:4px solid #cfc6bb; }
  .ze-gruppe + .ze-gruppe { margin-top:10px; }
  .ze-unter { display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; margin-top:8px; padding-top:8px; border-top:1px dashed #d8cfc4; } .ze-unter .btns { display:flex; gap:6px; }
  .ze-hm { padding-left:14px; }
  .ze-gruppe h4 { margin:0 0 4px; font-size:13px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
  .ze-gruppe .kurzliste li { border-bottom-color:#e9e4dd; } .ze-gruppe .kurzliste li:last-child { border-bottom:0; }
  .ze-gruppe[data-gr="auf"] { background:#f6f4f1; border-left-color:#e63741; }
  .ze-gruppe[data-gr="ang"] { background:#f3f6f9; border-left-color:#5b8db8; }
  .ze-gruppe[data-gr="ein"] { background:#f3f8f3; border-left-color:#4f9a5e; }
  .ze-gruppe[data-gr="erin"] { background:#faf7ef; border-left-color:#d4a72c; }
  .mitsehen { display:flex; flex-wrap:wrap; gap:4px 14px; align-items:baseline; margin:-4px 0 8px 26px; font-size:14px; } .mitsehen input { width:auto; }
  /* Vorgänge / Lieferstatus */
  .vg-liste { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px; }
  .vg-karte { text-align:left; display:flex; flex-direction:column; gap:6px; padding:14px; border:1px solid var(--line); border-radius:12px; background:#fff; cursor:pointer; font:inherit; transition:transform .15s, box-shadow .15s; }
  .vg-karte:hover { transform:translateY(-2px); box-shadow:0 6px 18px #0001; }
  .vg-balken { height:6px; background:#eee; border-radius:4px; overflow:hidden; } .vg-balken i { display:block; height:100%; background:linear-gradient(90deg,#f0a35e,var(--red)); border-radius:4px; animation:vgWachsen .9s ease-out; }
  @keyframes vgWachsen { from { width:0; } }
  .vg-typ { font-size:20px; line-height:1; vertical-align:-2px; }
  .vg-typwahl { display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; margin:0 0 10px; padding:8px 10px; background:#faf7f4; border-radius:10px; }
  .vg-typ-opt { display:inline-flex; gap:4px; align-items:center; font-size:14px; padding:3px 8px; border:1px solid var(--line); border-radius:999px; background:#fff; cursor:pointer; }
  .vg-typ-opt input { width:auto; margin:0; } .vg-typ-opt:has(input:checked) { border-color:var(--red); background:#fff1f1; }
  .vg-typfilter { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:0 0 10px; }
  .vg-pos input { width:100%; min-width:110px; padding:5px 6px; border:1px solid var(--line); border-radius:6px; font:inherit; font-size:14px; }
  .vg-pos td { padding:3px; } .vg-pos .vg-pos-neu input { min-width:280px; } .vg-mailinfo { background:#f3f7ff; border-radius:8px; padding:6px 10px; }
  .vg-ofen { border:1px dashed var(--line); border-radius:10px; padding:10px 12px; margin:10px 0; display:grid; gap:8px; }
  .vg-ofen input[type=search] { padding:8px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; }
  .vg-ofen-karte { display:flex; gap:10px; align-items:center; } .vg-ofen-karte img { width:64px; height:64px; object-fit:cover; border-radius:8px; }
  .vg-treffer { display:grid; gap:4px; } .vg-treffer-z { display:flex; gap:8px; align-items:center; text-align:left; border:1px solid var(--line); background:#fff; border-radius:8px; padding:4px 8px; cursor:pointer; font:inherit; }
  .vg-treffer-z img { width:40px; height:40px; object-fit:cover; border-radius:6px; } .vg-videos { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
  .vg-pos-add { display:flex; gap:8px; flex-wrap:wrap; } .vg-pos-add input { flex:1 1 260px; } .vg-pos-schnell { display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
  .vg-vorschau { border:0; background:var(--red); color:#fff; border-radius:50%; width:22px; height:22px; font-size:10px; cursor:pointer; margin-left:4px; flex:none; }
  .vg-video-gross { aspect-ratio:16/9; background:#000; } .vg-video-gross iframe { width:100%; height:100%; border:0; display:block; }
  .vg-personen { display:grid; grid-template-columns:minmax(200px,280px) 1fr; gap:12px; margin:0 0 10px; align-items:start; } .vg-kontakte { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
  @media (max-width:640px) { .vg-personen { grid-template-columns:1fr; } }
  .vg-pos-liste { display:grid; gap:10px; margin-bottom:10px; }
  .vg-aus-tab { display:none !important; }
  .vg-doppelt { background:#fff6e6; border-left:4px solid #e6a100; border-radius:8px; padding:6px 10px; margin:8px 0 0; font-size:13px; } .warn-chip { background:#fff6e6; border-color:#e6a100; }
  .vg-code { font-family:ui-monospace,Consolas,monospace; font-size:12px; background:#f1eee9; border-radius:6px; padding:2px 6px; margin-right:6px; color:#5a5248; }
  .vg-datum { margin-left:auto; font-size:12px; color:var(--muted); font-weight:400; } .vg-kopf { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
  .vg-geschenk { background:#eef8ec; border-radius:8px; padding:6px 10px; font-size:13px; margin:0; } .vg-geschenk.warn { background:#fff6e6; }
  .vg-geld { font-size:12px; font-weight:600; color:#b45309; background:#fff6e6; border-radius:999px; padding:2px 8px; } .vg-geld.ok { color:#2e7d32; background:#eaf6ec; }
  .vg-gruppen { display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(380px,1fr)); margin:6px 0 12px; }
  .vg-gruppe { border:1px solid var(--line); border-radius:12px; padding:8px 14px 12px; margin:0; background:#fff; min-width:0; display:grid; gap:8px; align-content:start; }
  .vg-gruppe legend { font-weight:700; padding:0 6px; } .vg-gruppe .idoc-reihe { margin:0; } .vg-intern { background:#fbf9f6; }
  .vg-zeile { display:flex; flex-wrap:wrap; gap:6px; align-items:center; } .vg-lbl { font-size:13px; color:var(--muted); min-width:130px; }
  .vg-optionen-liste { display:grid; gap:4px; }
  .vg-gruppe .idoc-reihe { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:8px 12px; }
  .vg-gruppe .idoc-feld { display:grid; gap:3px; font-size:13px; color:var(--muted); margin:0; grid-template-rows:1fr auto; }   /* Eingabefelder einer Reihe unten bündig, auch bei zweizeiliger Beschriftung */
  .vg-gruppe .idoc-feld input, .vg-gruppe .idoc-feld select, .vg-gruppe .idoc-feld textarea { width:100%; box-sizing:border-box; padding:7px 9px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:14px; color:var(--ink); background:#fff; }
  @media (max-width:640px) { .vg-gruppen { grid-template-columns:1fr; } }
  details.vg-pos-karte { padding:0; overflow:hidden; } .vg-pos-sum { display:flex; gap:10px; align-items:center; flex-wrap:wrap; padding:10px 12px; cursor:pointer; list-style:none; }
  .vg-pos-sum::-webkit-details-marker { display:none; } details.vg-pos-karte[open] > .vg-pos-sum { border-bottom:1px solid var(--line); background:#faf7f3; }
  .vg-pos-titel { min-width:220px; } .vg-pos-sum .vg-pos-zeile { flex:1; margin:0; min-width:240px; } .vg-pos-auf { color:var(--muted); font-size:15px; }
  details.vg-pos-karte > .vg-pos-kopf { display:grid; grid-template-columns:2fr 1.4fr; gap:10px; padding:10px 12px 0; margin:0; }
  .vg-pos-schritte { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:10px 12px 0; }
  .vg-pos-schritte fieldset { border:1px solid var(--line); border-radius:10px; padding:4px 10px 10px; margin:0; display:grid; gap:6px; align-content:start; min-width:0; }
  .vg-pos-schritte legend { font-size:13px; font-weight:700; padding:0 4px; }
  .vg-pos-kopf label, .vg-pos-schritte label, .vg-pos-notiz { display:grid; gap:3px; font-size:13px; color:var(--muted); }
  details.vg-pos-karte input:not([type=checkbox]), details.vg-pos-karte select { width:100%; box-sizing:border-box; padding:6px 8px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:14px; color:var(--ink); background:#fff; }
  .vg-akte-hilfe { margin:8px 0 12px; padding:8px 14px; background:#f3f7fd; border:1px solid #cfe0f5; border-radius:12px; font-size:14px; } .vg-akte-hilfe summary { cursor:pointer; } .vg-akte-hilfe ol { margin:8px 0 6px; padding-left:20px; } .vg-akte-hilfe li { margin:3px 0; }
  .vg-akte-warn { margin:6px 0 2px; padding:6px 10px; background:#fff6e5; border:1px solid #f3d49b; border-radius:8px; }
  .vg-treffer-sym { width:44px; text-align:center; font-size:22px; flex:0 0 44px; } .vg-treffer-h { background:#faf7f2; } .vg-treffer-frei { border-top:1px dashed var(--line); }
  #vgOfenTreffer { max-height:420px; overflow:auto; }
  fieldset.vg-gruppe { min-width:0; grid-template-columns:minmax(0,1fr); } fieldset.vg-gruppe > * { min-width:0; } .vg-ssf-vorschlag { overflow-wrap:anywhere; min-width:0; max-width:100%; box-sizing:border-box; }
  .vg-ssf-vorschlag { margin:6px 0 10px; padding:8px 12px; background:#f6f8f4; border:1px dashed #cfd9cc; border-radius:10px; font-size:14px; line-height:1.9; } .vg-ssf-vorschlag:empty { display:none; }
  .vg-ausbl { font-size:12.5px; color:var(--muted); background:none; border:0; cursor:pointer; padding:4px 6px; } .vg-ausbl:hover { color:var(--red); } .vg-ausgebl { margin-top:10px; } .vg-ausgebl .chip { margin:2px 4px 2px 0; }
  .vg-am { height:12px; width:auto; vertical-align:-1px; } .vg-herkunft { white-space:nowrap; }
  .vg-herkunft-wahl .vg-chips { display:flex; flex-wrap:wrap; gap:6px; } .vg-hk { display:inline-flex; cursor:pointer; margin:0; } .vg-hk input { position:absolute; opacity:0; width:1px; height:1px; }
  .vg-hk span { border:1px solid var(--line); border-radius:999px; padding:5px 11px; font-size:13.5px; background:#fff; color:var(--ink); display:inline-flex; align-items:center; gap:5px; } .vg-hk input:checked + span { background:var(--ink); color:#fff; border-color:var(--ink); } .vg-hk input:checked + span .vg-am { filter:invert(1); } .vg-hk input:focus-visible + span { outline:2px solid var(--red); }
  .vg-herkunft-wahl .pflicht { color:var(--red); } .vg-hk-tipp { font-weight:400; font-size:12px; } .vg-herkunft-wahl.fehlt { outline:2px solid var(--red); outline-offset:4px; border-radius:10px; } .vg-herkunft-wahl.fehlt::after { content:'Bitte auswählen, wie der Kunde zu uns kam.'; display:block; color:var(--red); font-size:13px; margin-top:4px; }
  .vg-zusatz { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:2px 0 10px; } .vg-zusatz .chip.an { background:var(--ink); color:#fff; border-color:var(--ink); }
  /* Kunde: Anrede | Vorname | Nachname · Kd.-Nr. | Telefon | E-Mail · Straße | PLZ | Ort */
  .vg-gruppe .vg-kunde-raster { grid-template-columns:repeat(6, minmax(0, 1fr)); }
  .vg-kunde-raster > :nth-child(1) { grid-column:span 1; } .vg-kunde-raster > :nth-child(2) { grid-column:span 2; } .vg-kunde-raster > :nth-child(3) { grid-column:span 3; }
  .vg-kunde-raster > :nth-child(4), .vg-kunde-raster > :nth-child(5), .vg-kunde-raster > :nth-child(6) { grid-column:span 2; }
  .vg-kunde-raster > :nth-child(7) { grid-column:span 3; } .vg-kunde-raster > :nth-child(8) { grid-column:span 1; } .vg-kunde-raster > :nth-child(9) { grid-column:span 2; }
  @media (max-width:640px) { .vg-gruppe .vg-kunde-raster { grid-template-columns:1fr 1fr; } .vg-kunde-raster > * { grid-column:auto !important; } }
  fieldset.vg-gruppe { container-type:inline-size; }   /* schmaler Bereich (z. B. drei Spalten nebeneinander): Kundendaten zweispaltig */
  @container (max-width:560px) { .vg-gruppe .vg-kunde-raster { grid-template-columns:1fr 1fr; } .vg-kunde-raster > * { grid-column:auto !important; } .vg-kunde-raster > :nth-child(7) { grid-column:span 2 !important; } }
  .vg-aus-raster { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px 18px; margin-top:8px; } .vg-aus-gruppe { display:grid; gap:4px; align-content:start; } .vg-aus-gruppe b { font-size:13px; color:var(--muted); margin-bottom:2px; }
  .vg-sdok { cursor:pointer; } .vg-sdateien { margin:6px 0 2px; font-size:13.5px; line-height:1.8; }
  .vg-montage-kopf { margin:8px 0 0; padding:7px 12px; background:#fff6ec; border:1px solid #f0d3b0; border-radius:10px; font-size:14px; }
  .vg-montage .vg-optionen { display:flex; flex-wrap:wrap; gap:4px 14px; }
  .vg-dat { position:relative; display:block; } .vg-dat input { padding-right:30px !important; }
  .vg-dat-x { position:absolute; right:4px; top:50%; transform:translateY(-50%); width:24px; height:24px; border:0; border-radius:50%; background:#eee; color:#555; font-size:16px; line-height:1; cursor:pointer; padding:0; }
  .vg-dat-x:hover { background:var(--red); color:#fff; } .vg-dat input:placeholder-shown + .vg-dat-x, .vg-dat input[value=""] + .vg-dat-x { opacity:.5; }
  .vg-pos-fuss { display:flex; gap:12px; align-items:end; flex-wrap:wrap; padding:10px 12px 12px; } .vg-pos-notiz { flex:1 1 260px; }
  @media (max-width:760px) { .vg-pos-schritte, details.vg-pos-karte > .vg-pos-kopf { grid-template-columns:1fr; } }
  .vg-kopfkarte .vg-kopfzeile { display:flex; gap:12px; align-items:baseline; flex-wrap:wrap; } .vg-kopfkarte h2 { margin:0; font-size:22px; }
  .vg-kopf-stand { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:10px 0 8px; } .vg-kopf-stand .vg-balken { flex:0 0 160px; }
  .vg-kopfkarte .btns { margin-top:10px; }
  .diktat { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:6px 0 4px; } .diktat-hinweis { flex-basis:100%; } .diktat-hinweis[hidden] { display:none; }
  .diktat-knopf.an { background:var(--red); color:#fff; border-color:var(--red); }
  .vg-adrnotiz textarea { width:100%; box-sizing:border-box; } .vg-gesp { display:block; margin-top:8px; } .vg-gesp .vg-lbl { display:block; margin-bottom:4px; } .vg-gesp .btn { margin-top:6px; }
  #vgGespListe { margin-top:8px; }
  .vg-nummern, .adr-nummern { margin-top:8px; } .vg-nummer-z, .adr-nummer-z { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:8px; align-items:center; margin-bottom:6px; }
  .vg-nummer-z input, .adr-nummer-z input { width:100%; box-sizing:border-box; padding:9px 10px; border:1px solid var(--line); border-radius:10px; font:inherit; background:#fff; }
  .vg-ekpruef { margin:6px 0 2px; } .vg-ekpruef .hinweis { display:block; } .ok-text { color:#1f8a3c; }
  .vg-ausf { margin:8px 0; padding:8px 10px; border:1px dashed var(--line); border-radius:10px; background:#fffdfa; } .vg-ausf-kat { display:block; margin:6px 0; } .vg-ausf-kat select { max-width:100%; }
  .vg-ausf-raster { display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:8px 12px; margin-top:6px; } .vg-ausf-raster label { display:flex; flex-direction:column; gap:3px; font-size:13px; color:var(--muted); }
  .vg-ausf-raster input, .vg-ausf-raster select { padding:8px 9px; border:1px solid var(--line); border-radius:9px; font:inherit; font-size:15px; background:#fff; color:var(--ink); }
  .vg-treffer-art b { font-variant-numeric:tabular-nums; }
  .vg-t-edit { width:100%; min-width:92px; box-sizing:border-box; padding:5px 7px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:13.5px; background:#fff; }
  .vg-t-edit.fz-ok { border-color:#1f8a3c; box-shadow:0 0 0 2px #1f8a3c33; }
  .ofen-teilen { position:relative; display:inline-block; } .ofen-teilen > summary { list-style:none; cursor:pointer; } .ofen-teilen > summary::-webkit-details-marker { display:none; }
  .ofen-teilen-liste { position:absolute; left:0; bottom:calc(100% + 6px); z-index:20; display:flex; flex-direction:column; min-width:230px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.2); padding:6px; }
  .ofen-teilen.unten .ofen-teilen-liste { bottom:auto; top:calc(100% + 6px); z-index:30; } .schrank-teilen { margin:-4px 0 12px; }
  .ofen-teilen-liste > button, .ofen-teilen-liste > a { text-align:left; border:0; background:none; font:inherit; color:inherit; text-decoration:none; padding:9px 11px; border-radius:8px; cursor:pointer; }
  .ofen-teilen-liste > button:hover, .ofen-teilen-liste > a:hover { background:#f6f1eb; } .ofen-teilen-liste .hinweis { padding:4px 11px 6px; font-size:12px; }
  .vg-adr-vorschlag { grid-column:1 / -1; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,.14); padding:6px; margin:2px 0 8px; display:flex; flex-direction:column; gap:2px; }
  .vg-adr-vorschlag > .hinweis { padding:2px 8px; }
  .vg-adr-vorschlag button { text-align:left; background:none; border:0; font:inherit; padding:8px 10px; border-radius:8px; cursor:pointer; color:inherit; }
  .vg-adr-vorschlag button:hover, .vg-adr-vorschlag button:focus { background:#f6f1eb; }
  .vg-baustelle { margin-top:10px; } #vgBsFelder { margin-top:8px; } #vgBsFelder[hidden] { display:none; } #vgBsFelder input { width:100%; }
  .vg-menues { display:flex; flex-wrap:wrap; gap:8px; } .vg-menue { position:relative; } .vg-menue > summary { list-style:none; cursor:pointer; user-select:none; } .vg-menue > summary::-webkit-details-marker { display:none; }
  .vg-menue-liste { position:absolute; z-index:30; top:calc(100% + 6px); left:0; min-width:290px; max-width:min(380px, calc(100vw - 32px)); background:#fff; border:1px solid var(--line, #e4dfd8); border-radius:12px; box-shadow:0 8px 28px #0002; padding:6px; display:flex; flex-direction:column; }
  .vg-menue-liste > a, .vg-menue-liste > button { display:flex; flex-direction:column; gap:2px; text-align:left; padding:9px 11px; border-radius:9px; border:0; background:none; font:inherit; color:inherit; text-decoration:none; cursor:pointer; }
  .vg-menue-liste > a:hover, .vg-menue-liste > button:hover { background:#f6f1eb; } .vg-menue-liste span { font-size:12.5px; color:#77716a; font-weight:400; }
  @media (max-width:600px) { .vg-menue { position:static; } .vg-menues { position:relative; } .vg-menue-liste { left:0; right:0; min-width:0; max-width:none; } }
  .vg-tabs { display:flex; flex-wrap:wrap; gap:2px; background:#f1eee9; border-radius:12px; padding:4px; margin:0 0 12px; }
  .vg-tabs button { border:0; background:transparent; border-radius:9px; padding:9px 14px; font:inherit; font-size:15px; cursor:pointer; color:var(--ink); white-space:nowrap; }
  .vg-tabs button:hover { background:#ffffffb0; } .vg-tabs button.an { background:#fff; font-weight:700; box-shadow:0 1px 3px #0000002e; }
  @media (max-width:640px) { .vg-tabs button { padding:8px 10px; font-size:14px; } }
  .vg-chips { display:inline-flex; flex-wrap:wrap; gap:6px; } .vg-chip { display:inline-flex; align-items:center; gap:4px; font-size:14px; padding:3px 4px 3px 10px; border:1px solid var(--red); background:#fff1f1; border-radius:999px; }
  .vg-chip-x { border:0; background:none; cursor:pointer; font-size:16px; line-height:1; color:var(--muted); padding:0 4px; } .vg-chip-x:hover { color:var(--red); }
  .vg-chipwahl { padding:5px 8px; border:1px dashed var(--line); border-radius:999px; font:inherit; font-size:14px; background:#fff; color:var(--muted); width:auto; }
  .vg-kontakte { align-items:center; } details.vg-ofen > summary { cursor:pointer; } details.vg-ofen[open] > summary { margin-bottom:6px; }
  .vg-best-karte h3 { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .vg-pos-bei { color:var(--muted); font-size:14px; } .vg-pos-lief { flex:1 1 180px; font-size:15px; padding:6px 8px; border:1px solid var(--line); border-radius:8px; }
  .vg-pos-zeile { font-size:13px; margin:-2px 0 8px; color:var(--ink); } .vg-pos-warn { color:#b45309; font-weight:600; }
  .vg-pos-felder select { padding:6px 8px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:14px; background:#fff; }
  .vg-best { display:flex; flex-wrap:wrap; gap:4px 12px; font-size:12px; color:var(--muted); border-top:1px dashed var(--line); padding-top:6px; }
  .vg-pos-karte { border:1px solid var(--line); border-radius:10px; padding:10px 12px; background:#fffdfb; }
  .vg-pos-kopf { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:8px; } .vg-pos-stand { font-size:20px; }
  .vg-pos-artikel { flex:1 1 200px; font-weight:700; font-size:16px; padding:6px 8px; border:1px solid var(--line); border-radius:8px; }
  .vg-pos-felder { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:8px 12px; }
  .vg-pos-felder label { display:grid; gap:3px; font-size:13px; color:var(--muted); } .vg-pos-felder label.breit { grid-column:1/-1; }
  .vg-pos-felder input { padding:6px 8px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:14px; color:var(--ink); }
  .vg-mail-rahmen { width:100%; height:70vh; border:0; background:#f5f2ee; }
  .vg-stand { font-weight:600; font-size:14px; }
  .vg-check { display:inline-flex; gap:6px; align-items:center; font-size:14px; } .vg-check input { width:auto; }
  .vg-frei { margin-left:auto; font-weight:600; }
  .vg-optionen { display:flex; flex-wrap:wrap; gap:6px 18px; margin:8px 0; }
  .vg-aus summary { cursor:pointer; color:var(--muted); font-size:14px; margin:6px 0; }
  .vg-strahl { list-style:none; margin:0; padding:0 0 0 6px; position:relative; }
  .vg-strahl li { display:flex; gap:14px; position:relative; padding:0 0 16px; opacity:0; animation:vgEin .45s ease-out forwards; animation-delay:calc(var(--i) * 60ms); }
  .vg-strahl li::before { content:''; position:absolute; left:15px; top:32px; bottom:0; width:3px; background:#e5e1da; }
  .vg-strahl li.fertig::before { background:var(--red); } .vg-strahl li:last-child::before { display:none; }
  .vg-punkt { flex:none; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; font-weight:700; font-size:14px; background:#eee; color:#888; z-index:1; }
  .vg-strahl li.fertig .vg-punkt { background:var(--red); color:#fff; }
  .vg-strahl li.jetzt .vg-punkt { background:#fff; color:var(--red); border:3px solid var(--red); animation:vgPuls 1.8s infinite; }
  .vg-strahl li.offen .vg-text b { color:#999; font-weight:500; }
  @keyframes vgEin { from { opacity:0; transform:translateX(-8px); } to { opacity:1; transform:none; } }
  @keyframes vgPuls { 0%,100% { box-shadow:0 0 0 0 #e6374155; } 50% { box-shadow:0 0 0 8px #e6374100; } }
  .vg-text { flex:1; min-width:0; padding-top:5px; } .vg-felder { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
  .vg-felder input { flex:1 1 180px; padding:6px 8px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:14px; }
  .vg-hier { color:var(--red); font-weight:700; font-size:14px; align-self:center; }
  .vg-neu-notiz { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:10px; } .vg-neu-notiz input:not([type]) { flex:1 1 260px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; }
  .kurzliste li.vg-kundenachricht { background:#fff6ec; border-left:4px solid var(--red, #e63741); border-radius:8px; padding:8px 12px; } .vg-msg { white-space:pre-wrap; }
  .vg-dateien { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
  .vg-datei { display:flex; flex-direction:column; gap:4px; font-size:13px; position:relative; } .vg-datei img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; }
  .vg-datei .link-x { position:absolute; top:2px; right:2px; background:#fff; border-radius:50%; } .vg-pdf { display:block; padding:18px 8px; background:#f3f1ec; border-radius:8px; text-align:center; }
  .ofen-anschluss { background:#fff6ec; border-radius:8px; padding:8px 10px; font-size:14px; margin:8px 0; }
  .partner-videos { display:grid; gap:6px; margin:8px 0; } .partner-videos > div { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:6px; }
  .pv { display:flex; gap:6px; align-items:center; text-align:left; border:1px solid var(--line); background:#faf7f4; border-radius:8px; padding:6px 8px; font:inherit; font-size:13px; cursor:pointer; line-height:1.25; }
  .pv:hover { background:#fff; border-color:var(--red); } .pv-play { flex:none; width:24px; height:24px; border-radius:50%; background:var(--red); color:#fff; display:grid; place-items:center; font-size:11px; }
  .pv.an { grid-column:1/-1; aspect-ratio:16/9; padding:0; border:0; background:#000; } .pv.an iframe { width:100%; height:100%; border:0; border-radius:8px; } .hinweis.klein { font-size:11px; }
  .vid-gruppe { margin:14px 0; } .vid-gruppe h4 { margin:0 0 6px; border-bottom:1px solid var(--line); padding-bottom:4px; }
  .vid-liste { display:grid; gap:6px; } .vid-zeile { display:flex; gap:12px; align-items:center; padding:6px; border-radius:10px; background:#faf7f4; }
  .vid-zeile.gesperrt { opacity:.45; background:#f3e9e9; } .vid-zeile.gesperrt .vid-text b { text-decoration:line-through; }
  .vid-bild { position:relative; flex:none; width:140px; aspect-ratio:16/9; border:0; padding:0; border-radius:8px; overflow:hidden; cursor:pointer; background:#222; }
  .vid-bild img { width:100%; height:100%; object-fit:cover; display:block; } .vid-bild span { position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:22px; text-shadow:0 1px 6px #000; }
  .vid-text { flex:1; min-width:0; display:grid; gap:2px; font-size:14px; } .vid-zweck { font-size:13px; }
  @media (max-width:640px) { .vid-zeile { flex-wrap:wrap; } .vid-bild { width:100%; } }
  .vg-video-gross { aspect-ratio:16/9; background:#000; } .vg-video-gross iframe { width:100%; height:100%; border:0; display:block; }
  .vg-mail-vorlagen { display:flex; gap:6px; flex-wrap:wrap; margin:6px 0 10px; } .vg-mail-eintrag summary { cursor:pointer; } .vg-mail-eintrag p { margin:6px 0 0 18px; white-space:normal; color:var(--ink); }
  .vg-vv-box { background:#fdf0f1; border-left:4px solid #e63741; border-radius:8px; padding:8px 10px; margin:0 0 10px; font-size:14px; }
  .vg-vv-liste { margin:6px 0; padding-left:18px; } .vg-vv { display:flex; gap:8px; align-items:center; padding:3px 0; } .vg-vv.aus { opacity:.45; text-decoration:line-through; }
  .vg-vv-art { flex:none; } .vg-vv-text { flex:1; min-width:0; } .vg-vv-box .link { border:0; background:none; color:var(--red); cursor:pointer; font:inherit; padding:0; text-decoration:underline; }
  .vg-standvideo { background:#fdf0f1; border-left:4px solid #e63741; border-radius:8px; padding:6px 10px; margin:0 0 8px; font-size:14px; }
  .vg-standvideo button { border:0; background:none; color:var(--red); font:inherit; font-weight:600; cursor:pointer; padding:0; text-align:left; }
  .vg-vq { font-size:11px; font-weight:700; color:#fff; background:#6b5b3e; border-radius:4px; padding:1px 5px; } .vg-dauer { font-size:12px; color:var(--muted); white-space:nowrap; } .vg-dauer.kurz { color:#c2410c; }
  .vid-kurz { color:#c2410c; } #videos .card { padding:16px; }
  .partner-videos .pv-mehr { display:none; } .partner-videos.offen .pv-mehr { display:block; } .pv-alle { justify-self:start; }
  .pv-hoch { position:absolute; top:-6px; left:-6px; z-index:2; width:20px; height:20px; border-radius:50%; border:0; background:#3b3b3b; color:#fff; font-size:9px; cursor:pointer; opacity:.75; } .pv-hoch:hover { opacity:1; background:#5b8db8; }
  .pv-liste > .pv-wrap:first-child .pv-hoch { display:none; } .pv-wrap[draggable=true] { cursor:grab; } .pv-wrap.zieht { opacity:.35; }
  .pv-wrap { position:relative; display:block; } .pv-wrap.spielt { grid-column:1/-1; } .pv-wrap > .pv { width:100%; height:100%; }
  .pv-weg { position:absolute; top:-6px; right:-6px; z-index:2; width:20px; height:20px; border-radius:50%; border:0; background:#3b3b3b; color:#fff; font-size:10px; cursor:pointer; opacity:.75; } .pv-weg:hover { opacity:1; background:var(--red); }
  .pv.an { position:relative; } .pv-zu { position:absolute; top:6px; right:6px; z-index:2; width:28px; height:28px; border-radius:50%; border:0; background:#000a; color:#fff; cursor:pointer; }
  /* Kerstens Kamine TV */
  dialog.video-fenster { width:min(900px,calc(100vw - 24px)); padding:0; background:none; box-shadow:none; overflow:visible; border:0; }
  dialog.video-fenster::backdrop { background:radial-gradient(circle at 50% 40%, #2a1a10cc, #000d); }
  dialog.video-fenster[open] .tv { animation:tvAn .45s cubic-bezier(.2,1.4,.4,1); }
  @keyframes tvAn { from { transform:scale(.6) translateY(30px); opacity:0; } to { transform:none; opacity:1; } }
  .tv { position:relative; } .tv-gehaeuse { background:linear-gradient(160deg,#3a3633,#1b1918); border-radius:22px; padding:14px 14px 0; box-shadow:0 30px 70px #000a, inset 0 1px 0 #ffffff22; }
  .tv-bild { aspect-ratio:16/9; background:#000; border-radius:10px; overflow:hidden; box-shadow:inset 0 0 0 2px #000, 0 0 30px #e6374122; }
  .tv-bild iframe, .tv-bild video { width:100%; height:100%; border:0; display:block; background:#000; } .tv-bild iframe[hidden] { display:none; }
  .tv-leiste { display:flex; align-items:center; gap:10px; padding:9px 6px 11px; color:#d9d3cc; font-size:13px; }
  .tv-leiste img { height:22px; border-radius:4px; background:#fff; padding:2px 4px; } .tv-name { margin:0 8px 0 -4px; color:#e63741; font-weight:800; font-size:17px; letter-spacing:.04em; white-space:nowrap; }
  .tv-teile { white-space:nowrap; font-size:12px; } .tv-teile button { margin-left:6px; border:0; border-radius:6px; background:#d12f39; color:#fff; font:inherit; font-weight:600; padding:3px 8px; cursor:pointer; }
  .tv-titel { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; opacity:.75; }
  .tv-lampe { width:8px; height:8px; border-radius:50%; background:#e63741; box-shadow:0 0 8px #e63741; animation:tvLampe 1.6s ease-in-out infinite; }
  @keyframes tvLampe { 50% { opacity:.35; } }
  .tv-fuss { width:26%; height:16px; margin:0 auto; background:linear-gradient(#2a2725,#141312); clip-path:polygon(18% 0,82% 0,100% 100%,0 100%); border-radius:0 0 6px 6px; }
  .tv-zu { position:absolute; top:-14px; right:-14px; z-index:2; width:36px; height:36px; border-radius:50%; background:#fff; color:#3b3b3b; box-shadow:0 4px 14px #0006; font-size:22px; line-height:1; }
  @media (max-width:600px) { .tv-gehaeuse { padding:8px 8px 0; border-radius:14px; } .tv-titel { display:none; } .tv-zu { top:-10px; right:-6px; } }
  .aufg-suche { min-width:200px; flex:1 1 220px; max-width:320px; padding:9px 12px; border:1px solid var(--line); border-radius:10px; font:inherit; }
  .leiste .leiste-wahl { flex:0 0 auto; min-width:0; }   /* Auswahlfelder nicht zusammenquetschen – lieber umbrechen */
  /* Haken in Leisten nicht wie Textfelder breitziehen (sonst rutscht „fertige zeigen“ auseinander) */
  .leiste input[type=checkbox], .leiste input[type=radio] { flex:none; width:18px; height:18px; padding:0; margin:0; }
  .leiste .vg-check { flex:none; white-space:nowrap; }
  .vg-leiste .aufg-suche { box-sizing:border-box; flex:1 1 240px; max-width:340px; min-width:180px; }
  .vg-leiste .leiste-wahl { max-width:250px; }
  .ideen { list-style:none; margin:4px 0; padding:0; } .ideen li { display:flex; gap:6px; align-items:flex-start; padding:6px 0; border-bottom:1px solid var(--line); font-size:14px; }
  .ideen label { display:flex; gap:8px; align-items:flex-start; flex:1; cursor:pointer; margin:0; } .ideen li.ok b { text-decoration:line-through; color:#999; }
  .ideen-neu { display:flex; gap:6px; margin-top:8px; } .ideen-neu input { flex:1; min-width:0; padding:6px 8px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:14px; }

.cl{margin:8px 0;padding:8px 10px;border:1px solid #e8e3dd;border-radius:10px;background:#fcfbfa}
.cl-kopf{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#555;margin-bottom:4px}
.cl-zahl{font-weight:600;color:#888}.cl-balken{flex:1;height:6px;background:#eee;border-radius:4px;overflow:hidden;max-width:180px}
.cl-balken i{display:block;height:100%;background:linear-gradient(90deg,#1f9d55,#4ade80);transition:width .45s cubic-bezier(.2,.8,.3,1.2)}
.cl-fertig{border-color:#1f9d55;background:#effaf3;animation:cl-puls .6s}
@keyframes cl-puls{0%{transform:scale(1)}40%{transform:scale(1.02)}100%{transform:scale(1)}}
.cl-punkt{display:flex;gap:8px;align-items:flex-start;padding:4px 0;font-size:14px;cursor:pointer;margin:0;color:inherit}
.cl-punkt input{width:18px;height:18px;margin-top:1px;flex:none;accent-color:#1f9d55;cursor:pointer}
.cl-punkt span{position:relative;transition:color .3s}
.cl-punkt span::after{content:'';position:absolute;left:0;top:52%;height:2px;width:0;background:#1f9d55;border-radius:2px;transition:width .35s ease}
.cl-punkt.ok span{color:#999}.cl-punkt.ok span::after{width:100%}
.cl-punkt.ok input{animation:cl-hop .35s}
@keyframes cl-hop{0%{transform:scale(1)}50%{transform:scale(1.45)}100%{transform:scale(1)}}
.cl-mini{font-size:11.5px;font-weight:600;color:#1f7a3f;background:#e8f6ee;border-radius:8px;padding:0 6px;margin-left:4px;white-space:nowrap}
.cl-edit{border:1px dashed #ddd;border-radius:10px;padding:8px 10px}
.cl-edit .cl-titel{font-size:13px;font-weight:700;color:#555}
.cl-zeile{display:flex;gap:6px;align-items:center;margin:4px 0}.cl-zeile input[type=text]{flex:1;padding:5px 8px;font-size:14px}
.cl-zeile input[type=checkbox]{width:18px;height:18px;flex:none}
.cl-x{border:0;background:none;color:#c62828;font-size:18px;cursor:pointer;padding:0 4px}
.konfetti-teil{position:fixed;z-index:99999;pointer-events:none;border-radius:2px}


.fzg-suche{display:flex;gap:6px;align-items:center;flex:1;min-width:260px;max-width:520px}
.fzg-suche input{flex:1;padding:6px 10px;border:2px solid #c62828;border-radius:8px;font:inherit;font-size:14px}
.fzg-ziel{padding:8px 14px;font-size:13px;background:#fff7e6;border-bottom:1px solid #eee}
.fzg-rang{display:flex;gap:8px;align-items:baseline}.fzg-rang span:first-child{color:#999;font-weight:700}.fzg-dauer{margin-left:auto;font-weight:700;font-size:16px;color:#1f7a3f}
.fzg-erster{background:#effaf3}.fzg-gewaehlt{outline:2px solid #2563eb;outline-offset:-2px}
.fzg-tel{font-weight:600;text-decoration:none;margin-left:4px}
.fzg-ziel-marke{background:#111;color:#fff;font:700 12px/1.2 system-ui,sans-serif;padding:4px 8px;border-radius:12px;white-space:nowrap;transform:translate(-50%,-100%);box-shadow:0 1px 4px #0008}
.fz-info{display:grid;grid-template-columns:auto 1fr 1fr;gap:4px 6px;align-items:center;margin:4px 0;padding:6px 0;border-bottom:1px solid #eee;font-size:13px}
.fz-info input[type=text],.fz-info input[type=tel]{padding:4px 6px;font-size:13px;width:100%;min-width:0}
.fz-info .fz-name{grid-column:2/4;color:#777;font-size:12px}
.fz-ok{outline:2px solid #1f9d55}
.fz-zielklein{display:flex;gap:6px;margin-top:8px}.fz-zielklein input{flex:1;min-width:0}


.fzg-tag-kopf{display:flex;gap:8px;align-items:center;padding:10px 14px;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff;z-index:1}
.fzg-tag-kopf b{flex:1}.fzg-tag-kopf input{width:auto;padding:4px 6px;border:1px solid #ccc;border-radius:6px;font:inherit;font-size:13px}
.fzg-kzs{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:10px 14px}
.fzg-kz{background:#f6f4f2;border-radius:8px;padding:7px 9px;display:flex;flex-direction:column}.fzg-kz b{font-size:16px}.fzg-kz span{color:#777;font-size:12px}
.fzg-zw{padding:8px 14px 4px;font-weight:700;font-size:13px;color:#555;border-top:1px solid #eee}
.fzg-jetzt{background:#fde7c4;color:#9a5b00;border-radius:8px;padding:0 6px;font-size:12px}
.fzg-rand{opacity:.6}
.fzg-warn{color:#c2410c;font-weight:600}
.fzg-tagbtn{border:0;background:none;color:#2563eb;cursor:pointer;font:inherit;font-size:12.5px;padding:0;text-decoration:underline}


#fzGross{width:96vw;height:92vh;max-width:none;max-height:none;padding:0;border:0;border-radius:14px;overflow:hidden;display:none;flex-direction:column}
#fzGross[open]{display:flex} #fzGross::backdrop{background:#000a}
.fzg-kopf{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid #ddd;background:#faf8f6}
.fzg-stand{color:#777;font-size:13px}.fzg-knoepfe{margin-left:auto;display:flex;gap:6px;align-items:center}
.fzg-btn{border:1px solid #ccc;background:#fff;border-radius:8px;padding:5px 10px;font:inherit;font-size:13px;cursor:pointer}.fzg-btn.an{background:#333;color:#fff;border-color:#333}
.fzg-zu{border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:#777}
.fzg-innen{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0}
.fzg-karte{height:100%;min-height:300px}
.fzg-liste{overflow:auto;border-left:1px solid #ddd;background:#fff}
.fzg-fz{padding:10px 14px;border-bottom:1px solid #eee;cursor:pointer;font-size:14px}.fzg-fz:hover{background:#f6f2ee}
.fzg-adr{font-weight:600;margin:3px 0}.fzg-grau{color:#777;font-size:12.5px}.fzg-fehler{color:#c62828;padding:10px 14px}
.fzg-marke{background:#c62828;color:#fff;font:600 12px/1.2 system-ui,sans-serif;padding:3px 7px;border-radius:12px;white-space:nowrap;box-shadow:0 1px 4px #0006;border:2px solid #fff;transform:translate(-50%,-50%)}
.fzg-marke.an{background:#1f9d55}
@media (max-width:760px){#fzGross{width:100vw;height:100dvh;border-radius:0}.fzg-innen{grid-template-columns:1fr;grid-template-rows:60% 40%}.fzg-liste{border-left:0;border-top:1px solid #ddd}}

  .fz-karte { height:240px; border-radius:10px; overflow:hidden; margin:6px 0 8px; background:#eef0f2; z-index:0; } .fz-token { display:flex; gap:6px; } .fz-token input { flex:1; }
  .fz-liste li { cursor:pointer; } .fz-punkt { display:inline-block; width:9px; height:9px; border-radius:50%; background:#e63741; margin-right:6px; } .fz-punkt.an { background:#1f9d55; }
  .pl-schnell input { width:100%; margin-top:6px; } .pl-treffer { list-style:none; padding:0; margin:8px 0 0; max-height:420px; overflow:auto; }
  .pl-treffer li a { display:block; padding:7px 9px; border-bottom:1px solid var(--line); color:inherit; text-decoration:none; font-size:14px; } .pl-treffer li a:hover { background:#f6f2ee; }
  .pl-treffer mark { background:#ffe28a; } tr.pl-alt td { opacity:.65; }
  @media (max-width:700px) { #pdfFenster { width:100vw; height:100dvh; max-height:100dvh; border-radius:0; } #pdfFenster .pf-kopf { padding:6px 8px; } #pdfFenster .pf-kopf b { font-size:14px; } #pfGross { display:none; } }
  .wetter-woche { display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); gap:6px; margin:6px 0; }
  .wetter-tag { display:flex; flex-direction:column; align-items:center; gap:2px; padding:8px 4px; border-radius:10px; background:#faf8f6; text-align:center; font-size:13px; }
  .wetter-tag.heute { background:#fff1ec; outline:2px solid var(--red); } .wetter-tag.we b:first-child { color:var(--red); } .wetter-ico { font-size:26px; line-height:1.2; }
  @media (max-width:700px) { .wetter-woche { grid-template-columns:repeat(4, minmax(0, 1fr)); } }
  .kachel.cc-offen { border:2px solid var(--red); } .kurzliste li.cc-erl { opacity:.55; }
  tr.hst-zeile td { background:#f3efeb; padding-top:10px; } tr.vorgemerkt td { background:#fff8e6; }
  .bestell-liste { margin:4px 0 0; padding-left:18px; font-size:13px; } .link-x { border:0; background:none; color:var(--red); cursor:pointer; font-size:15px; padding:0 4px; }
  th.sortierbar { cursor:pointer; user-select:none; white-space:nowrap; } th.sortierbar:hover { color:var(--red); } th.sortierbar::after { content:attr(data-pfeil); margin-left:4px; font-size:11px; }
  .aufg-ort .wdh { background:#e8f1ff; } .aufg-ort { display:flex; gap:6px; flex-wrap:wrap; margin:4px 0; } .aufg-ort span { background:#f3efeb; border-radius:20px; padding:2px 9px; font-size:12.5px; }
  .news-k.neu { border-left:4px solid var(--red); } .news-k.entwurf { border:2px dashed #f39200; background:#fffaf2; }
  .entwurf-leiste { display:flex; gap:10px; align-items:center; flex-wrap:wrap; font-size:13px; color:#a35f00; font-weight:600; margin-bottom:6px; } .news-k.wichtig { border:2px solid var(--red); background:#fff7f7; }
  /* Neuerungen */
  .neu-liste { display:grid; gap:14px; max-width:820px; } .neu-tag h3 { margin:0 0 8px; font-size:17px; }
  .neu-datum { font-size:12px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
  .neu-tag ul { margin:0; padding-left:20px; } .neu-tag li { margin:5px 0; line-height:1.45; }
  .neu-tag.ungelesen { border-left:4px solid var(--red); }
  .neu-quelle { display:inline-block; margin-left:8px; padding:1px 8px; border-radius:999px; background:#f3efeb; color:#5b4a3a; font-size:12px; font-weight:700; vertical-align:2px; }   /* Neuerungen der Kalkulation in derselben Liste (24.10.2026) */
  .neu-tag li b { color:var(--ink); } .neu-tag li.gross { list-style:none; margin-left:-20px; background:#fff4e8; border-left:3px solid #f39200; border-radius:6px; padding:7px 10px; font-size:15px; }
  .neu-tag .stern { color:#f39200; }
  .neu-marke { background:var(--red); color:#fff; font-size:11px; border-radius:10px; padding:1px 8px; vertical-align:2px; }
  /* Schrank: Drag & Drop für Mitarbeiter */
  #regal [data-karte] { cursor:grab; } #regal [data-karte]:hover { outline:2px solid var(--red); outline-offset:-2px; }
  #regal .feld.drueber, #weitere.drueber { outline:3px dashed var(--red); outline-offset:3px; }
  #regal [data-karte].ziehen, .weitere-karte.ziehen { opacity:.4; } .weitere-karte[draggable=true] { cursor:grab; }
  /* Bildergalerie */
  .galerie-raster { columns:4 260px; column-gap:12px; margin-top:12px; }
  .galerie-bild { all:unset; cursor:zoom-in; display:block; break-inside:avoid; margin-bottom:12px; border-radius:10px; overflow:hidden; background:#eee; position:relative; }
  .galerie-bild img { width:100%; height:auto; display:block; transition:transform .25s; } .galerie-bild:hover img { transform:scale(1.03); }
  .galerie-bild span { position:absolute; left:0; right:0; bottom:0; padding:18px 10px 8px; font-size:12.5px; color:#fff; background:linear-gradient(transparent,#000a); opacity:0; transition:opacity .2s; }
  .galerie-bild:hover span, .galerie-bild:focus-visible span { opacity:1; }
  .galerie-box { position:fixed; inset:0; z-index:200; background:#111e; display:flex; align-items:center; justify-content:center; }
  .galerie-box[hidden] { display:none; } body.box-offen { overflow:hidden; }
  .galerie-box figure { margin:0; max-width:92vw; max-height:90vh; display:flex; flex-direction:column; align-items:center; gap:10px; }
  .galerie-box img { max-width:92vw; max-height:82vh; object-fit:contain; border-radius:6px; box-shadow:0 10px 40px #000a; }
  .galerie-box figcaption { color:#eee; font-size:14px; text-align:center; }
  .gb-zu { position:absolute; top:12px; right:16px; font-size:34px; background:none; border:0; color:#fff; cursor:pointer; }
  .gb-pfeil { position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; border:0; background:#fff2; color:#fff; font-size:32px; cursor:pointer; }
  .gb-pfeil:hover { background:#fff4; } .gb-zurueck { left:14px; } .gb-vor { right:14px; }
  @media (max-width:600px) { .gb-pfeil { width:40px; height:40px; font-size:24px; } .galerie-raster { columns:2 150px; } }
  /* Partnerbetriebe */
  .partner-raster { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; margin-top:14px; }
  .partner-karte { background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column; }
  .partner-karte:hover { box-shadow:0 6px 16px #0001; }
  .partner-bild { display:block; aspect-ratio:16/10; background:#f2efec; overflow:hidden; border-bottom:1px solid var(--line); }
  .partner-bild img { width:100%; height:100%; object-fit:cover; object-position:top; display:block; transition:transform .3s; }
  .partner-bild:hover img { transform:scale(1.03); } .partner-bild.ohne img { display:none; }
  .partner-inhalt { padding:12px 14px 14px; display:flex; flex-direction:column; gap:8px; flex:1; }
  .partner-inhalt p { margin:0; font-size:14px; line-height:1.45; }
  .partner-text { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; cursor:pointer; } .partner-text.auf { display:block; }
  .partner-kopf { display:flex; gap:10px; align-items:center; } .partner-kopf b { display:block; font-size:16px; }
  .partner-kopf .hinweis { display:flex; gap:6px; align-items:center; }
  .partner-logo { height:30px; max-width:96px; object-fit:contain; flex:none; }
  .fahne { width:18px; height:12px; flex:none; border-radius:2px; box-shadow:0 0 0 1px #0002; vertical-align:-1px; }
  .fakten { display:flex; flex-wrap:wrap; gap:6px; margin:0; } .fakten div { background:#f5f2ef; border-radius:8px; padding:4px 8px; }
  .fakten dt { font-size:10px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); } .fakten dd { margin:0; font-size:13px; font-weight:700; }
  .partner-fuss { margin-top:auto; display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
  .sozial { width:32px; height:32px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; }
  .sozial svg { width:18px; height:18px; fill:currentColor; }
  .sozial.instagram { background:linear-gradient(45deg,#f09433,#dc2743 50%,#bc1888); } .sozial.facebook { background:#1877f2; } .sozial.youtube { background:#f00; }
  .partner-zwischen { margin:34px 0 0; font-size:20px; }
  #partnerLaender { display:flex; flex-wrap:wrap; gap:6px; } #partnerLaender .chip { display:inline-flex; gap:6px; align-items:center; }
  .dok-ausfuellen { display:flex; gap:14px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin-bottom:14px; } .dok-ausfuellen b, .dok-ausfuellen .hinweis { display:block; }
  .dl-raster { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:14px; margin-top:12px; }
  .dl-karte2 { display:flex; gap:14px; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:12px; }
  .dl-karte2:hover { box-shadow:0 6px 16px #0001; }
  .dl-vorschau { flex:none; width:110px; aspect-ratio:210/297; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:#f5f2ef; display:flex; align-items:center; justify-content:center; box-shadow:0 3px 8px #0002; }
  .dl-vorschau img { width:100%; height:100%; object-fit:cover; object-position:top; display:block; }
  .dl-text { display:flex; flex-direction:column; gap:4px; min-width:0; } .dl-text .btns { margin-top:auto; padding-top:6px; display:flex; flex-wrap:wrap; gap:6px; }
  .dl-liste { display:grid; gap:10px; max-width:760px; }
  .dl-karte { display:flex; gap:14px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:14px 16px; color:var(--ink); text-decoration:none; }
  .dl-karte:hover { box-shadow:0 6px 16px #0001; border-color:var(--red); }
  .dl-karte b { display:block; } .dl-karte .hinweis { display:block; margin-top:2px; }
  .dl-symbol { flex:none; width:44px; height:54px; border-radius:6px; background:var(--red); color:#fff; font-weight:800; font-size:12px; display:flex; align-items:flex-end; justify-content:center; padding-bottom:8px; }

  /* Interne Dokumente – Formular */
  .idoc-kopf { display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; }
  .idoc-reihe { display:flex; flex-wrap:wrap; gap:10px; margin-left:auto; }
  .idoc-raster { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
  .idoc-raster .card.breit { grid-column:1 / -1; }
  .idoc-raster .card.markieren { border-color:var(--orange); }
  #intern h3 { font-size:14px; text-transform:uppercase; letter-spacing:.04em; margin:0 0 8px; }
  #intern h3 small { text-transform:none; letter-spacing:0; font-weight:400; }
  .idoc-feld { display:block; font-size:12px; color:var(--muted); margin:6px 0; }
  .idoc-feld input, #intern textarea { display:block; width:100%; padding:8px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; color:var(--ink); background:#fff; margin-top:3px; }
  #intern textarea { resize:vertical; background:repeating-linear-gradient(#fff 0 27px, #eee8df 27px 28px); line-height:28px; padding-top:0; }
  .idoc-l { display:block; font-size:12px; color:var(--muted); margin:8px 0 3px; }
  .idoc-wahl, .idoc-haken { display:flex; flex-wrap:wrap; gap:4px 14px; font-size:14px; }
  .idoc-haken { display:grid; grid-template-columns:repeat(var(--sp),minmax(0,1fr)); margin:4px 0; }
  .idoc-wahl label, .idoc-haken label { display:flex; gap:6px; align-items:center; cursor:pointer; padding:3px 0; }
  .idoc-wahl input, .idoc-haken input, .db-ablage input { accent-color:var(--red); width:17px; height:17px; }
  .idoc-info { font-size:12px; color:var(--muted); background:var(--bg); border-radius:8px; padding:8px 10px; margin:8px 0 0; }
  .db-bild { aspect-ratio:4/3; border:1px dashed var(--line); border-radius:8px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#faf8f5; }
  .db-bild img { width:100%; height:100%; object-fit:contain; }
  .db-ablage { width:auto; box-shadow:none; font-size:14px; } .db-ablage th, .db-ablage td { padding:4px 10px; } .db-ablage .mm { accent-color:var(--orange); }
  canvas.skizze.unterschrift { max-width:520px; display:block; background:#fff; border-style:dashed; }
  canvas.skizze { width:100%; height:auto; border:1px solid var(--line); border-radius:8px; touch-action:none; cursor:crosshair; background:#fff; }
  @media (max-width:760px) { .idoc-raster { grid-template-columns:1fr; } .idoc-haken { grid-template-columns:1fr 1fr; } }

  /* Interne Dokumente – „Als Blatt“ */
  .idoc-modus { margin-top:-4px; }
  .blatt-rahmen { overflow-x:auto; padding:6px 0 10px; }
  .blatt-seite { position:relative; width:min(100%, 900px); min-width:620px; margin:0 auto; background:#fff center / 100% 100% no-repeat; box-shadow:0 6px 24px #0003; }
  .blatt-seite.a5 { width:min(100%, 640px); min-width:440px; }
  .bf-text { position:absolute; border:0; background:rgba(239,125,34,.07); border-bottom:1px solid transparent; padding:0 3px; font:inherit; color:#1a3d8f; font-weight:600; outline:none; }
  .bf-text:hover { background:rgba(239,125,34,.15); } .bf-text:focus { background:rgba(239,125,34,.2); border-bottom-color:var(--orange); }
  .bf-kreuz { position:absolute; border:0; background:rgba(239,125,34,.12); cursor:pointer; padding:0; display:flex; align-items:center; justify-content:center; }
  .bf-kreuz:hover { background:rgba(239,125,34,.3); }
  .bf-kreuz.an::after { content:"✕"; color:#1a3d8f; font-weight:800; font-size:clamp(9px, 1.6vw, 15px); line-height:1; }
  .bf-bild { position:absolute; display:flex; align-items:center; justify-content:center; cursor:pointer; background:rgba(239,125,34,.06); color:var(--muted); font-size:13px; overflow:hidden; }
  .bf-bild img { width:100%; height:100%; object-fit:contain; background:#fff; }
  .bf-zeichnen { position:absolute; touch-action:none; cursor:crosshair; }
  @media print {
    .blatt-druck { position:relative; background:#fff center / 100% 100% no-repeat; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    .blatt-druck.a5 { page:a5; }
    .bd-text { position:absolute; display:flex; align-items:flex-end; padding:0 .6mm .3mm; color:#1a3d8f; font-weight:600; font-family:"Segoe UI",Arial,sans-serif; white-space:nowrap; overflow:hidden; line-height:1; }
    .bd-kreuz { position:absolute; display:flex; align-items:center; justify-content:center; color:#1a3d8f; font-weight:800; line-height:1; }
    .bd-bild { position:absolute; object-fit:contain; }
  }

  /* Interne Dokumente – Druck */
  @media print {
    @page a5 { size:A5 portrait; margin:0; }
    .idoc-blatt { width:210mm; min-height:296mm; padding:9mm 12mm; font:9pt/1.35 system-ui,"Segoe UI",Arial,sans-serif; color:#222; display:flex; flex-direction:column; }
    .idoc-blatt.a5 { page:a5; width:148mm; min-height:0; height:209mm; overflow:hidden; padding:7mm 9mm; font-size:8pt; }
    .idoc-blatt.a5 header { flex-wrap:wrap; } .idoc-blatt.a5 .di-kopf { display:block; order:3; width:100%; }
    .idoc-blatt.a5 .di-zeile { min-height:5.2mm; } .idoc-blatt.a5 .di-raster h2 { margin-top:1mm; }
    .idoc-blatt table { width:auto; box-shadow:none; background:none; border-radius:0; overflow:visible; }
    .idoc-blatt th, .idoc-blatt td { padding:.2mm 4mm .2mm 0; border:0; background:none; font-size:8.5pt; }
    .idoc-blatt header { display:flex; align-items:flex-start; gap:6mm; border-bottom:1.5pt solid #e63741; padding-bottom:3mm; margin-bottom:3mm; }
    .idoc-blatt header h1 { font-size:20pt; margin:0; line-height:1.1; } .idoc-blatt.a5 header h1 { font-size:14pt; }
    .idoc-blatt header span { color:#555; }
    .idoc-blatt header img { height:16mm; } .idoc-blatt.a5 header img { height:11mm; }
    .di-logos { margin-left:auto; display:flex; gap:5mm; align-items:center; }
    .di-unterschrift { flex:1; height:13mm; border-bottom:.6pt solid #333; display:flex; align-items:flex-end; } .di-unterschrift img { max-height:13mm; max-width:80mm; }
    .di-info.gross { font-size:9pt; color:#222; font-weight:600; border:.5pt solid #bbb; padding:2mm 3mm; margin:1mm 0 2mm; }
    .di-kopf { min-width:55mm; }
    .di-raster { display:grid; grid-template-columns:1fr 1fr; gap:1mm 7mm; flex:1; align-content:start; }
    .idoc-blatt.a5 .di-raster { grid-template-columns:1fr; gap:1.5mm; }
    .di-raster section { break-inside:avoid; } .di-raster section.breit { grid-column:1 / -1; }
    .di-raster h2 { font-size:8.5pt; text-transform:uppercase; letter-spacing:.05em; color:#6b5b3e; margin:1.5mm 0 1mm; border-bottom:.5pt solid #ccc; }
    .di-raster h2 small { text-transform:none; letter-spacing:0; color:#888; font-weight:400; }
    .di-raster section.markieren h2 { color:#e63741; }
    .di-zeile { display:flex; gap:2mm; align-items:flex-end; min-height:6mm; }
    .di-l { color:#555; white-space:nowrap; } .di-zeile .di-l { white-space:normal; max-width:48%; }
    .di-w { flex:1; border-bottom:.5pt solid #999; min-height:4.5mm; padding:0 1mm; font-weight:600; }
    .di-wahl { display:flex; flex-wrap:wrap; gap:1mm 4mm; margin-left:auto; }
    .di-haken { display:grid; grid-template-columns:repeat(var(--sp),1fr); gap:.8mm 4mm; margin:1mm 0; }
    .kx { display:inline-flex; width:3.2mm; height:3.2mm; border:.6pt solid #333; align-items:center; justify-content:center; font-size:7pt; line-height:1; vertical-align:-.5mm; font-weight:700; }
    .mm .kx { border-color:#e63741; }
    .di-info { font-size:7pt; color:#555; margin:1mm 0; }
    .di-linien { min-height:calc(var(--z) * 6mm); background-image:linear-gradient(to bottom, transparent 5.7mm, #bbb 5.7mm); background-size:100% 6mm; line-height:6mm; white-space:pre-wrap; font-weight:600; }
    .di-bild { height:48mm; border:.5pt solid #bbb; display:flex; align-items:center; justify-content:center; } .di-bild img { max-width:100%; max-height:100%; }
    .di-skizze { height:85mm; border:.5pt solid #bbb; background-image:linear-gradient(#e3ddd4 .3pt, transparent .3pt), linear-gradient(90deg, #e3ddd4 .3pt, transparent .3pt); background-size:5mm 5mm; }
    .di-skizze img { width:100%; height:100%; object-fit:contain; }
    .di-ablage { border-collapse:collapse; } .di-ablage th { font-size:7pt; color:#888; font-weight:400; text-align:left; } .di-ablage td { padding:.4mm 2mm .4mm 0; }
    .idoc-blatt footer { display:block; max-width:none; margin:auto 0 0; padding:2mm 0 0; padding-top:2mm; border-top:.5pt solid #ccc; font-size:7pt; color:#888; }
  }

  /* Druck: ein A4-Aushang je Feld */
  #druck { display:none; }
  @media print {
    @page { size:A4 portrait; margin:0; }
    body { background:#fff; }
    body > *:not(#druck) { display:none !important; }
    #druck { display:block; }
    .blatt { width:210mm; height:297mm; padding:8mm; page-break-after:always; break-after:page; position:relative; display:flex; flex-direction:column; gap:3mm; }
    .blatt .aushang { width:100%; flex:1; min-height:0; height:auto; aspect-ratio:auto; box-shadow:none; padding:0; gap:5mm; }
    .blatt-inhalt { flex:none; display:flex; flex-wrap:wrap; gap:1mm 6mm; align-items:baseline; font:11pt/1.3 system-ui,"Segoe UI",Arial,sans-serif; color:#333; border-top:.6pt solid #ccc; padding-top:2mm; }
    .blatt-inhalt em { font-style:normal; font-weight:700; color:#e63741; margin-right:2mm; } .blatt-inhalt i { color:#888; font-style:normal; }
    .blatt .zelle.frei { background:none; }
    .blatt .feldnr { position:absolute; right:3mm; bottom:2mm; font-size:7pt; color:#999; }
    /* Prospekt-Verzeichnis: eigener Druck auf DIN A3 hoch, Ränder auf jeder Seite über @page (wird beim Drucken gesetzt):
       oben/unten/rechts 15 mm, links 25 mm Heftrand zum Lochen */
    /* Seitenrand im Blatt selbst (@page margin:0) – so druckt der Browser keine Kopf-/Fußzeile mit Adresse, Datum und Seitenzahl */
    .verz-blatt { width:auto; padding:15mm 15mm 12mm 25mm; box-sizing:border-box; min-height:418mm; display:flex; flex-direction:column; font:10pt/1.25 system-ui,"Segoe UI",Arial,sans-serif; color:#222; }
    .verz-blatt header { display:flex; gap:6mm; align-items:center; border-bottom:2pt solid #e63741; padding-bottom:3mm; margin-bottom:4mm; }
    .verz-blatt header img { height:15mm; } .verz-blatt header h1 { font-size:22pt; margin:0; } .verz-blatt header span { color:#555; font-size:10pt; }
    .verz-legende { display:flex; gap:8mm; align-items:flex-start; border:.8pt solid #ccc; border-radius:2.5mm; padding:3mm 4mm; margin-bottom:5mm; break-inside:avoid; }
    .verz-legende h2 { font-size:13pt; margin:0 0 2mm; } .verz-legende p { margin:0 0 2mm; } .verz-legende .klein { color:#666; font-size:8.5pt; }
    .verz-schema { border-collapse:collapse; margin-left:auto; width:auto; box-shadow:none; }
    .verz-schema th, .verz-schema td { border:.6pt solid #999; width:9mm; height:5.6mm; text-align:center; font-size:8.5pt; padding:0; background:#fff; }
    .verz-schema th { border:0; color:#e63741; font-weight:700; } .verz-schema td.leer-fach { color:#bbb; background:#f4f4f4; }
    .verz-liste { columns:4; column-gap:7mm; }
    .verz-fuss { margin-top:auto; padding-top:4mm; border-top:.6pt solid #ccc; font-size:8.5pt; color:#666; display:flex; justify-content:space-between; }
    .verz-h { break-inside:avoid; margin-bottom:2.4mm; } .verz-h > b { display:block; font-size:11pt; border-bottom:.5pt solid #ddd; margin-bottom:.6mm; }
    .verz-z { display:flex; gap:2mm; align-items:baseline; } .verz-z span { flex:1; min-width:0; }   /* lange Titel umbrechen statt abschneiden */
    .verz-z i { color:#888; font-style:normal; flex:none; } .verz-z b { color:#e63741; min-width:8mm; text-align:right; flex:none; }
    .zelle .name { font-size:20pt; } .zelle .titel { font-size:12pt; }
  }

  /* Fach geöffnet */
  dialog { border:0; border-radius:var(--r); padding:0; width:min(560px,calc(100vw - 32px)); box-shadow:0 20px 50px #0005; }
  dialog::backdrop { background:#0006; }
  .dk { display:flex; align-items:center; gap:12px; padding:14px 16px; border-bottom:1px solid var(--line); }
  .dk h2 { margin:0; font-size:17px; flex:1; }
  .zu { border:0; background:none; font-size:24px; cursor:pointer; color:var(--muted); }
  .liste { padding:8px 16px 16px; }
  .prosp { display:flex; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); flex-wrap:wrap; }
  .prosp:last-child { border-bottom:0; }
  .prosp img { width:70px; height:28px; object-fit:contain; }
  .prosp .t { flex:1 1 180px; }
  .prosp .t b { display:block; }
  .prosp .t span { font-size:12px; color:var(--muted); }
  .leiste-wahl { padding:9px 10px; border:1px solid var(--line); border-radius:10px; font:inherit; background:#fff; }
  .pl-raster { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:14px; } .pl-karte { display:grid; gap:8px; align-content:start; }
  /* Orte zur PLZ als schwebende Auswahl unter dem Feld – verschiebt nichts mehr (vorher sprang das Formular) */
  .plz-bezug { position:relative; }
  .plz-orte { position:absolute; left:0; top:calc(100% - 2px); z-index:40; display:flex; flex-wrap:wrap; gap:5px; align-items:center; padding:7px 9px; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 6px 18px rgba(0,0,0,.18); min-width:180px; max-width:min(340px, 92vw); }
  .plz-orte .chip { font-size:13px; padding:4px 10px; cursor:pointer; }
  .pl-kopf { display:flex; align-items:center; gap:10px; min-height:34px; } .pl-kopf img { height:30px; max-width:110px; object-fit:contain; } .pl-kopf b { flex:1; font-size:16px; } .pl-kopf .jahr { margin-left:auto; }
  .pl-kopf b.nur-vorleser { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; } .pl-kopf:has(b.nur-vorleser) img { height:34px; max-width:170px; }
  .pl-initial { width:34px; height:34px; border-radius:8px; background:#f1ebe2; display:grid; place-items:center; font-weight:800; color:var(--muted); }
  .pl-listen { list-style:none; margin:0; padding:0; } .pl-listen li { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:6px 0; border-top:1px solid var(--line); font-size:14px; } .pl-listen li.pl-alt { opacity:.6; }
  .pl-leiste .seg { display:inline-flex; gap:6px; }
  #preisKopf th[data-psort] { cursor:pointer; user-select:none; white-space:nowrap; }
  #preisKopf th[data-psort]::after { content:attr(data-pfeil); margin-left:4px; color:var(--red); }
  #prKopf th[data-prsort] { cursor:pointer; user-select:none; white-space:nowrap; }
  #prKopf th[data-prsort]:hover { color:var(--ink); }
  #prKopf th[data-prsort]::after { content:attr(data-pfeil); margin-left:4px; color:var(--red); }
  .feld-hinzu { border-top:1px solid var(--line); padding:12px 16px 16px; background:#faf8f5; }
  .feld-hinzu .reihe { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; align-items:center; }
  .feld-hinzu select { flex:1 1 240px; padding:7px 8px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:14px; background:#fff; }
  .feld.leer-admin { cursor:pointer; } .feld.leer-admin .stapel { align-items:center; justify-content:center; display:flex; min-height:60px; }
  .feld.leer-admin .plus { font-size:28px; color:#a8916c; } .feld.leer-admin:hover .plus { color:var(--red); }
  .inventur { flex-basis:100%; display:flex; flex-wrap:wrap; align-items:center; gap:10px; background:var(--bg); border-radius:8px; padding:8px 10px; font-size:13px; }
  .inventur.niedrig { background:#fdf0f0; border-left:4px solid var(--red); }
  .inventur label { display:flex; align-items:center; gap:6px; }
  .inventur input { width:52px; text-align:center; padding:4px; border:1px solid var(--line); border-radius:6px; font:inherit; }

  /* Einrichten (Drag & Drop) */
  .raster-rahmen { overflow-x:auto; padding-bottom:6px; }
  .raster { display:grid; grid-template-columns:28px repeat(var(--spalten),minmax(120px,1fr)); gap:6px; min-width:1100px; }
  .kopfz { font-size:12px; color:var(--muted); text-align:center; align-self:center; font-weight:600; }
  .ziel { background:#fff; border:1px solid var(--line); border-radius:8px; padding:4px; min-height:96px; display:flex; flex-direction:column; gap:3px; }
  .ziel .fn { font-size:10px; color:var(--muted); display:flex; justify-content:space-between; align-items:center; gap:4px; }
  .ziel .fn select { font-size:10px; padding:1px 2px; border:1px solid var(--line); border-radius:4px; background:#fff; }
  .ziel .fn .druck { border:0; background:none; cursor:pointer; font-size:13px; padding:0 2px; }
  .platz { border:1px dashed var(--line); border-radius:5px; font-size:10px; color:#b5aca2; padding:3px 6px; }
  .ziel.drueber, .ablage.drueber { outline:2px dashed var(--red); outline-offset:-2px; background:#fff6f6; }
  .ziel.voll .fn b { color:var(--bad); }
  .karte { background:var(--bg); border:1px solid var(--line); border-left:3px solid var(--wood-dark); border-radius:5px; padding:3px 6px; font-size:11px; line-height:1.25; cursor:grab; user-select:none; }
  .karte b { display:block; font-size:11px; }
  .karte.gewaehlt { border-color:var(--red); background:#fff0f0; }
  .karte.ziehen { opacity:.4; }
  .ablage { margin-top:16px; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:12px; }
  .ablage h3 { margin:0 0 8px; font-size:14px; }
  .ablage .karten { display:flex; flex-wrap:wrap; gap:6px; min-height:40px; }
  .ablage .karte { width:150px; }

  /* Bestand */
  .tabelle { overflow-x:auto; }
  table { width:100%; border-collapse:collapse; background:#fff; border-radius:var(--r); overflow:hidden; box-shadow:0 1px 3px #0001; }
  th, td { padding:9px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; }
  th { font-size:12px; color:var(--muted); font-weight:600; background:#faf8f5; }
  tr.niedrig td { background:#fdf0f0; }
  .zaehler { display:inline-flex; align-items:center; gap:4px; }
  .zaehler button { width:28px; height:28px; border:1px solid var(--line); background:#fff; border-radius:6px; cursor:pointer; font-size:16px; }
  .zaehler input, td input.min { width:52px; text-align:center; padding:4px; border:1px solid var(--line); border-radius:6px; font:inherit; }
  .status { font-size:12px; font-weight:600; }
  .status.ok { color:var(--good); } .status.nein { color:var(--bad); }
  .bestell { background:#fff; border:1px solid var(--line); border-left:4px solid var(--red); border-radius:var(--r); padding:14px 16px; margin-bottom:16px; }
  .bestell h3 { margin:0 0 8px; font-size:15px; }
  .bestell .reihe { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:6px 0; border-top:1px solid var(--line); flex-wrap:wrap; }
  .bestell input { padding:6px 8px; border:1px solid var(--line); border-radius:6px; font:inherit; font-size:13px; min-width:200px; }

  #loginForm label { display:block; font-size:12px; color:var(--muted); margin:10px 0 0; }
  #loginForm input { width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; margin-top:4px; }
  #loginForm .btn { width:100%; margin-top:8px; }
  #loginForm label.merken { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--ink); margin-top:12px; cursor:pointer; }
  #loginForm label.merken input { width:auto; margin:0; accent-color:var(--red); }
  .fehler { color:var(--bad); font-size:14px; min-height:1em; }
  .pdfzelle { white-space:nowrap; font-size:13px; }
  .pdfzelle a { color:var(--good); font-weight:600; margin-right:6px; }
  .hoch { cursor:pointer; }
  .formular label { display:block; font-size:12px; color:var(--muted); margin:10px 0 0; }
  .formular input:not([type=checkbox]), .formular select { display:block; width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; color:var(--ink); margin-top:4px; background:#fff; }
  .formular .zweier { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .formular .neuHst, .formular .hstDaten { background:var(--bg); border-radius:8px; padding:2px 10px 10px; margin-top:10px; }
  .formular label.merken { display:flex; align-items:center; gap:8px; color:var(--ink); font-size:14px; }
  .btns { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
  dialog { max-height:calc(100vh - 32px); overflow:auto; }
  @media (max-width:760px) {
    .schrank { grid-template-columns:repeat(2,1fr); }
    .schrank .feld.frei { display:none; }
    .top { padding:8px 12px; gap:10px; }
    .top .logo { height:46px; }
    .kopf-datum { font-size:11px; padding-left:8px; min-width:0; } .kopf-datum b { font-size:12.5px; }
    /* Reiter als wischbare Leiste – die Seite selbst bleibt so breit wie der Bildschirm */
    nav { margin-left:0; width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; flex-wrap:nowrap; }
    nav::-webkit-scrollbar { display:none; }
    nav { -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent); mask-image:linear-gradient(90deg,#000 88%,transparent); }
    nav button { flex:none; white-space:nowrap; padding:8px 12px; }
    /* angemeldet: Reiter als gleichmäßiges 3er-Raster statt wild verteilter Knöpfe (iPhone, Inhaber 08.10.2026) */
    #tabs.innen { overflow:visible; -webkit-mask-image:none; mask-image:none; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:4px; }
    #tabs.innen > button, #tabs.innen .tkopf { padding:8px 6px; font-size:14px; gap:4px; justify-content:center; width:100%; border-radius:10px; background:#f6f2ee; }
    #tabs.innen > button.an, #tabs.innen .tgruppe.aktiv .tkopf { background:var(--ink); color:#fff; }
    #tabs.innen .tgruppe { min-width:0; } #tabs.innen .tkopf .pfeil { display:none; }
    .top { max-width:100vw; position:static; gap:8px 10px; }   /* Kopf scrollt mit – sonst bedeckt er auf dem Handy den halben Bildschirm */
    .top .logo { height:30px; } .top { flex-wrap:wrap; gap:8px 6px; padding:8px 10px; } .kopf-datum { padding-left:7px; flex:0 1 auto; overflow:hidden; font-size:10px; } .kopf-datum b { font-size:11px; }
    .kopf-konto { order:2; margin-left:auto; } #kontoKnopf, #login { padding:6px 8px; font-size:12.5px; }
    body { padding-bottom:calc(64px + env(safe-area-inset-bottom)); }   /* Platz für die Pfeile unten links und den Ideen-Knopf */
  }
