/* Neues Grundgerüst für den internen Bereich (Leiste links, Suche, Glocke) – nur aktiv mit body.gerust.
   Farben und Schrift kommen aus den vorhandenen Variablen der Seite (--ink, --line, --red …). */
:root { --g-sbw: 248px; --g-hover: #f3efeb; --g-scrim: rgba(43,38,33,.42); --g-schatten: 0 12px 30px rgba(0,0,0,.14); --g-gelb: #fdf1c4; --g-gelb-ink: #6f5300; }
#gLeiste, #gMobilKopf, #gMobilLeiste, #gScrim, #gSuche, #gMenue, #gTourRing, #gTourPop, #gTabs, #gWillkommen { display: none; }

body.gerust { padding-left: var(--g-sbw); }
body.gerust header.top { display: none !important; }
body.gerust.g-klein { --g-sbw: 72px; }
/* Volle Breite (Inhaber 13.10.2026, wie PlanCraft): der Inhalt geht mit, wenn das Fenster breiter gezogen wird – keine feste Höchstbreite mehr */
body.gerust main, body.gerust footer, body.gerust .datenstand-fuss { max-width: none; }
body.gerust main { padding-left: 28px; padding-right: 28px; }
/* … aber nur, wo es hilft: Lese- und Formularseiten behalten eine angenehme Lesebreite (mittig) */
body.gerust:is([data-ansicht="hilfe"], [data-ansicht="news"], [data-ansicht="magazine"], [data-ansicht="handbuch"], [data-ansicht="fachregeln"], [data-ansicht="neuerungen"],
  [data-ansicht="einstellungen"], [data-ansicht="meinbereich"], [data-ansicht="apps"], [data-ansicht="werbung"]) main { max-width: 1320px; }

/* Leiste */
body.gerust #gLeiste { display: flex; flex-direction: column; position: fixed; left: 0; top: 0; bottom: 0; width: var(--g-sbw); z-index: 40;
  background: #fff; border-right: 1px solid var(--line); overflow-y: auto; overscroll-behavior: contain; }
body.mit-vorschau.gerust #gLeiste { top: 38px; }
.g-kopf { padding: 14px 16px 10px; border-bottom: 3px solid var(--red); }
.g-kopf img { display: block; height: 44px; width: auto; max-width: 100%; }
.g-kopf .g-marke { display: none; width: 40px; height: 40px; border-radius: 10px; background: var(--ink); color: #fff; place-items: center; font-weight: 900; margin: 0 auto; }
.g-datum { font-size: 12.5px; color: var(--muted); margin-top: 8px; } .g-datum b { color: var(--ink); }
.g-apps { display: grid; grid-template-columns: 1fr auto; gap: 2px; background: var(--g-hover); border-radius: 10px; padding: 3px; margin: 12px 12px 4px; }
.g-apps a, .g-apps span { border-radius: 8px; padding: 6px 10px; font-size: 12.5px; font-weight: 700; color: var(--muted); text-align: center; text-decoration: none; }
.g-apps span { background: #fff; color: var(--ink); box-shadow: 0 1px 3px rgba(0,0,0,.14); }
.g-apps a:hover { color: var(--ink); }
.g-such { margin: 8px 12px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; color: var(--muted); background: #fff; font: inherit; font-size: 13.5px; cursor: pointer; text-align: left; }
.g-such svg { width: 17px; height: 17px; flex: none; }
.g-kbd { margin-left: auto; font-size: 11px; border: 1px solid var(--line); border-radius: 5px; padding: 0 5px; }
.g-nav { padding: 2px 10px 10px; display: grid; gap: 1px; }
.g-grp { font-size: 11px; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); font-weight: 700; padding: 12px 10px 4px; }
.g-ni { display: flex; align-items: center; gap: 11px; padding: 8px 10px; border-radius: 9px; border: 0; background: none; font: inherit; font-size: 14.5px; font-weight: 600; color: var(--ink); cursor: pointer; text-align: left; width: 100%; text-decoration: none; }
.g-ni:hover { background: var(--g-hover); }
.g-ni.an { background: var(--ink); color: #fff; }
.g-ni svg { width: 20px; height: 20px; flex: none; }
.g-ni .g-zahl { margin-left: auto; background: var(--red); color: #fff; border-radius: 9px; padding: 0 7px; font-size: 12px; font-weight: 700; }
.g-fuss { margin-top: auto; border-top: 1px solid var(--line); padding: 8px 10px 12px; display: grid; gap: 1px; }
body.g-klein .g-lbl, body.g-klein .g-grp, body.g-klein .g-datum, body.g-klein .g-apps, body.g-klein .g-kbd, body.g-klein .g-such span, body.g-klein .g-kopf img { display: none; }
body.g-klein .g-kopf { padding: 12px 8px; } body.g-klein .g-kopf .g-marke { display: grid; }
body.g-klein .g-ni, body.g-klein .g-such { justify-content: center; position: relative; }
body.g-klein .g-ni .g-zahl { position: absolute; top: 1px; right: 3px; font-size: 10px; padding: 0 4px; }
body.g-klein .g-klapp svg { transform: rotate(180deg); }

/* Reiter für zusammengefasste Bereiche (Verkauf, Prospekte) */
/* Reiterleiste (Verkauf, Prospekte): am PC umbrechen statt scrollen – kein Scrollbalken, der auftaucht und den Inhalt nach unten schiebt (Philipp 14.10.2026: „die Leiste springt“); auf dem Handy scrollt sie ohne Balken */
body.gerust #gTabs:not([hidden]) { display: flex; flex-wrap: wrap; gap: 2px; border-bottom: 1px solid var(--line); overflow: visible; margin: 0 0 14px; }
@media (max-width: 860px) {
  body.gerust #gTabs:not([hidden]) { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  body.gerust #gTabs::-webkit-scrollbar { display: none; }
}
#gTabs button { border: 0; background: none; padding: 9px 12px; font: inherit; font-weight: 700; color: var(--muted); border-bottom: 2px solid transparent; cursor: pointer; white-space: nowrap; }
#gTabs button.an { color: var(--ink); border-bottom-color: var(--ink); }
#gTabs .g-zahl { background: var(--red); color: #fff; border-radius: 9px; padding: 0 6px; font-size: 11.5px; margin-left: 4px; }

/* Kachelseite „Intern“ */
.g-kacheln { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; margin-bottom: 8px; }
.g-kachel { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; text-align: left; cursor: pointer; display: grid; gap: 3px; font: inherit; color: var(--ink); }
.g-kachel:hover { border-color: var(--ink); }
.g-kachel small { color: var(--muted); } .g-kachel .g-zahl { justify-self: start; background: var(--red); color: #fff; border-radius: 9px; padding: 0 7px; font-size: 12px; font-weight: 700; }
.g-h2 { font-size: 16px; font-weight: 800; margin: 22px 0 10px; }

/* Vorgangsmappe (Stufe 3): Kacheln oben, Verlauf dauerhaft rechts */
body.gerust #vgInhalt.g-mappe { display: grid; grid-template-columns: minmax(0, 1fr) clamp(350px, 24vw, 480px); column-gap: 16px; align-items: start; }
body.gerust #vgInhalt.g-mappe > * { grid-column: 1; min-width: 0; }
body.gerust #vgInhalt.g-mappe > .g-vg-verlauf { grid-column: 2; grid-row: 1 / span 60; position: sticky; top: 12px; max-height: calc(100vh - 24px); overflow: auto; margin: 0; }
body.gerust #vgInhalt.g-mappe > .g-vg-verlauf.vg-aus-tab { display: block !important; }
.g-vg-kacheln { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 0 0 14px; }
.g-vk { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; display: grid; gap: 4px; align-content: start; min-width: 0; }
.g-vk-l { font-size: 11px; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.g-vk small { color: var(--muted); font-size: 12.5px; overflow-wrap: anywhere; }
.g-vk b { overflow-wrap: anywhere; }
.g-vk-next { background: var(--ink); border-color: var(--ink); color: #fff; }
.g-vk-next .g-vk-l { color: var(--wood, #d9bf98); } .g-vk-next small { color: #ddd6cc; }
.g-vk-next .btn { justify-self: start; margin-top: 6px; }
.g-ring { --p: 0; width: 58px; height: 58px; border-radius: 50%; background: conic-gradient(var(--good, #1f7a3f) calc(var(--p) * 1%), #ece8e2 0); display: grid; place-items: center; }
.g-ring span { width: 44px; height: 44px; border-radius: 50%; background: #fff; display: grid; place-items: center; font-size: 12px; font-weight: 800; }
@media (max-width: 1180px) {
  body.gerust #vgInhalt.g-mappe { grid-template-columns: minmax(0, 1fr); }
  body.gerust #vgInhalt.g-mappe > .g-vg-verlauf { grid-column: 1; grid-row: auto; position: static; max-height: none; overflow: visible; margin-bottom: 16px; }
}
@media (max-width: 700px) { .g-vg-kacheln { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Anrufe: Zuordnung zu Adresse/Vorgang */
.g-tel-zu { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; margin: 8px 0 4px; padding: 8px 10px; background: #f6f3ee; border-radius: 9px; font-size: 14px; }
.g-tel-zu .g-link { font-size: 14px; }

/* Glocke */
.g-glocke-liste { display: grid; gap: 2px; }

/* Menü (Konto, Glocke) */
body.gerust #gMenue:not([hidden]) { display: flex; }
#gMenue { position: fixed; z-index: 80; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--g-schatten); padding: 6px; min-width: 230px; max-width: calc(100% - 16px); max-height: 70vh; overflow: auto; flex-direction: column; }
#gMenue button, #gMenue a { border: 0; background: none; text-align: left; padding: 9px 12px; border-radius: 8px; cursor: pointer; display: flex; gap: 8px; align-items: center; font: inherit; color: var(--ink); text-decoration: none; }
#gMenue button:hover, #gMenue a:hover { background: var(--g-hover); }
#gMenue .g-mh { font-size: 11px; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); font-weight: 700; padding: 6px 12px 2px; }
#gMenue hr { border: 0; border-top: 1px solid var(--line); margin: 4px 0; width: 100%; }
#gMenue .g-zahl { margin-left: auto; background: var(--red); color: #fff; border-radius: 9px; padding: 0 7px; font-size: 12px; font-weight: 700; }
#gMenue .g-leer { color: var(--muted); padding: 10px 12px; }
/* @Erwähnung im Verlauf */
#gErw { position: fixed; z-index: 85; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--g-schatten); padding: 4px; display: flex; flex-direction: column; min-width: 200px; max-width: calc(100% - 16px); }
#gErw[hidden] { display: none; }
#gErw button { border: 0; background: none; text-align: left; padding: 8px 10px; border-radius: 7px; cursor: pointer; font: inherit; color: var(--ink); }
#gErw button.an, #gErw button:hover { background: var(--g-hover); }
.g-erw-hinweis { margin: 6px 0 0; }

/* Suche (Strg+K) */
body.gerust #gSuche:not([hidden]) { display: grid; }
#gSuche { position: fixed; inset: 0; background: var(--g-scrim); z-index: 85; justify-items: center; align-items: start; padding: 8vh 16px 16px; overflow-y: auto; }
.g-s-box { background: #fff; border-radius: 14px; box-shadow: var(--g-schatten); width: min(640px, 100%); overflow: hidden; }
.g-s-in { display: flex; align-items: center; gap: 10px; padding: 10px 16px; border-bottom: 1px solid var(--line); }
.g-s-in svg { width: 20px; height: 20px; color: var(--muted); flex: none; }
.g-s-in input { border: 0; outline: 0; font: inherit; font-size: 17px; flex: 1; background: none; padding: 6px 0; min-width: 0; }
.g-s-tabs { display: flex; gap: 4px; padding: 8px 12px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.g-s-tabs button { border: 0; background: none; padding: 6px 10px; border-radius: 8px; font: inherit; font-weight: 700; color: var(--muted); cursor: pointer; white-space: nowrap; }
.g-s-tabs button.an { background: var(--ink); color: #fff; }
.g-s-liste { max-height: 54vh; overflow-y: auto; padding: 6px; }
.g-s-grp { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); padding: 10px 10px 4px; }
.g-s-it { display: grid; width: 100%; text-align: left; border: 0; background: none; border-radius: 9px; padding: 8px 10px; cursor: pointer; font: inherit; color: var(--ink); min-width: 0; }
.g-s-it small { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g-s-it.an, .g-s-it:hover { background: var(--g-hover); }
.g-s-fuss { display: flex; gap: 14px; flex-wrap: wrap; padding: 8px 14px; font-size: 12px; color: var(--muted); border-top: 1px solid var(--line); background: var(--bg); }
.g-s-leer { color: var(--muted); padding: 18px; text-align: center; }

/* Führung */
body.gerust #gTourRing:not([hidden]), body.gerust #gTourPop:not([hidden]) { display: block; }
#gTourRing { position: fixed; z-index: 88; border-radius: 12px; box-shadow: 0 0 0 3px var(--orange), 0 0 0 9999px var(--g-scrim); pointer-events: none; transition: all .18s; }
#gTourPop { position: fixed; z-index: 89; width: min(330px, calc(100% - 24px)); background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--g-schatten); padding: 14px 16px; }
#gTourPop p { margin: 6px 0 12px; font-size: 14px; }
.g-tp-fuss { display: flex; align-items: center; gap: 12px; } .g-tp-fuss .btn { margin-left: auto; }
.g-link { border: 0; background: none; color: var(--red); font: inherit; font-weight: 700; cursor: pointer; padding: 0; text-decoration: underline; text-underline-offset: 2px; }

/* Begrüßung beim ersten Mal */
body.gerust #gWillkommen:not([hidden]) { display: flex; }
#gWillkommen { gap: 12px; align-items: center; flex-wrap: wrap; background: var(--ink); color: #fff; border-radius: 12px; padding: 14px 18px; margin: 0 0 16px; }
#gWillkommen p { margin: 0; flex: 1 1 320px; }
#gWillkommen .btn.sec { background: transparent; color: #fff; border-color: rgba(255,255,255,.45); }

/* Handy */
@media (max-width: 860px) {
  body.gerust { padding-left: 0; padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
  body.gerust main { padding-left: 16px; padding-right: 16px; }
  body.gerust #gLeiste { width: min(300px, 86vw); transform: translateX(-105%); transition: transform .2s; box-shadow: var(--g-schatten); z-index: 70; }
  body.gerust.g-offen #gLeiste { transform: none; }
  body.gerust.g-offen #gScrim { display: block; position: fixed; inset: 0; background: var(--g-scrim); z-index: 69; }
  body.gerust.g-klein { --g-sbw: 248px; }
  body.gerust .g-klapp { display: none; }
  body.gerust #gMobilKopf { display: flex; position: sticky; top: 0; z-index: 30; background: #fff; border-bottom: 3px solid var(--red); align-items: center; gap: 8px; padding: 8px 10px; }
  #gMobilKopf img { height: 30px; width: auto; } #gMobilKopf b { flex: 1; min-width: 0; }
  #gMobilKopf button { width: 38px; height: 38px; border: 0; background: none; border-radius: 9px; display: grid; place-items: center; cursor: pointer; color: var(--ink); position: relative; }
  #gMobilKopf svg { width: 22px; height: 22px; }
  #gMobilKopf .g-zahl { position: absolute; top: 2px; right: 0; background: var(--red); color: #fff; border-radius: 9px; padding: 0 5px; font-size: 10.5px; font-weight: 700; }
  body.gerust #gMobilLeiste { display: grid; position: fixed; left: 0; right: 0; bottom: 0; z-index: 36; background: #fff; border-top: 1px solid var(--line); grid-template-columns: repeat(5, 1fr); padding-bottom: env(safe-area-inset-bottom); }
  #gMobilLeiste button { border: 0; background: none; display: grid; justify-items: center; gap: 2px; padding: 8px 2px 7px; font: inherit; font-size: 11px; font-weight: 700; color: var(--muted); cursor: pointer; min-width: 0; position: relative; }
  #gMobilLeiste svg { width: 22px; height: 22px; } #gMobilLeiste button.an { color: var(--ink); } #gMobilLeiste button.an svg { color: var(--red); }
  #gMobilLeiste .g-zahl { position: absolute; top: 3px; left: 54%; background: var(--red); color: #fff; border-radius: 9px; padding: 0 5px; font-size: 10.5px; }
  body.gerust .nav-pfeile { bottom: calc(76px + env(safe-area-inset-bottom)); }
  body.gerust .fb-btn { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}
@media print { #gLeiste, #gMobilKopf, #gMobilLeiste, #gTabs, #gWillkommen { display: none !important; } body.gerust { padding: 0 !important; } }
@media (prefers-reduced-motion: reduce) { #gLeiste, #gTourRing { transition: none !important; } }
/* Startseite anpassbar (Kacheln ein-/ausblenden, umsortieren) */
body.gerust .card.kachel.g-aus { display: none; }
body.gerust .g-start-an .card.kachel.g-aus { display: block; opacity: .45; }
.g-start-leiste { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; justify-content: space-between; background: var(--g-gelb); color: var(--g-gelb-ink); border-radius: 10px; padding: 9px 12px; margin: 0 0 12px; font-size: 14px; }
.g-kw { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: -4px 0 10px; padding: 6px 8px; background: #f6f3ee; border-radius: 9px; }
.g-kw-n { flex: 1 1 100%; font-size: 12px; font-weight: 700; letter-spacing: .04em; color: var(--muted); text-transform: uppercase; }
.g-kw button { border: 1px solid var(--line); background: #fff; border-radius: 8px; min-height: 36px; padding: 0 12px; cursor: pointer; font: inherit; font-size: 13px; color: var(--ink); }
.g-kw button:hover { background: var(--g-hover); }

/* Ruhiger Handy-Modus (14.10.2026): nichts ploppt von selbst auf; Erinnerungen auf der Startseite eingeklappt */
body.g-ruhig #telPops, body.g-ruhig #kaHinweis { display: none !important; }
#startInhalt.g-ruhig .ze-gruppe > h4 { display: flex; align-items: center; gap: 8px; cursor: pointer; min-height: 44px; margin: 0; -webkit-tap-highlight-color: transparent; }
#startInhalt.g-ruhig .ze-gruppe > h4::after { content: "\25BE"; margin-left: auto; color: var(--muted); font-size: 14px; }
#startInhalt.g-ruhig .ze-gruppe.g-zu > h4::after { content: "\25B8"; }
#startInhalt.g-ruhig .ze-gruppe.g-zu > ul { display: none; }
#startInhalt.g-ruhig .ze-gruppe + .ze-gruppe { border-top: 1px solid var(--line); }
/* Am Handy je Bereich eine eigene App: kein Umschalter zwischen Service, Kalk und 369 (14.10.2026) */
html.g-app-einzeln .g-apps { display: none !important; }

/* Handy (Prüfung 14.10.2026): Zurück/Vor-Pille sitzt in der Kopfzeile statt über den Eingabefeldern zu schweben, „Ideen & Fehler“ steht im Menü */
.g-ni.g-nur-handy { display: none; }
@media (max-width: 860px) {
  body.gerust #gMobilKopf .nav-pfeile { position: static; z-index: auto; box-shadow: none; border: 0; background: none; padding: 0; gap: 0; -webkit-backdrop-filter: none; backdrop-filter: none; flex: none; }
  body.gerust #gMobilKopf .nav-pfeile[hidden] { display: none; }
  #gMobilKopf .nav-pfeile button { font-size: 26px; padding: 0 0 3px; width: 40px; height: 38px; }
  #gMobilKopf:has(.nav-pfeile:not([hidden])) > img { display: none; }
  body.gerust .fb-btn { display: none !important; }
  .g-ni.g-nur-handy { display: flex; }
}
/* Tablet/Handy: Hinweiskarten (KI-Assistent, Kalk-Ablage) liegen über der unteren Leiste statt die Tasten „Anrufe“ und „Mehr“ zu verdecken (Prüfung 14.10.2026) */
@media (max-width: 860px) {
  body.gerust #telPops { bottom: calc(76px + env(safe-area-inset-bottom)); }
  body.gerust #kaHinweis { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}

/* Touchflächen Kollegen-Karten (Prüfung 14.10.2026): Telefon-, E-Mail- und „Als Kontakt speichern“-Links waren nur 17–19 px hoch (WCAG 2.5.8: mind. 24 px).
   Nur bei Touch-Bedienung; der Abstand zwischen den Zeilen bleibt, die Zeilen mit Link werden etwas höher. */
@media (pointer: coarse) {
  .team-karte > span > a, .team-karte > a.hinweis { display: inline-block; padding: 6px 0; }
  .team-karte > a.hinweis { align-self: flex-start; font-size: 14px; }
}

/* Lesbarkeit: Grautext-Ton (Prüfung 14.10.2026): --muted #77716a hatte auf Beige 4,3:1 (AA verlangt 4,5:1); dieser Ton hat 5,2:1. */
:root { --muted: #6a645d; }

/* Einstellungen: Themenbereiche mit Farben (wie KK-Kalkulation, 14.10.2026): Reiter in Gruppen, jede Karte als Kasten mit farbigem Rand */
#einstellungen{--gf:#6a4c93;--gf-hell:#f3effa;--gf-rand:#d8cdea}
#einstellungen[data-sg="einkauf"]{--gf:#1f5fa6;--gf-hell:#eef4fb;--gf-rand:#c4d8ee}
#einstellungen[data-sg="montage"]{--gf:#2f7d4f;--gf-hell:#edf6f0;--gf-rand:#c3dfcd}
.set-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.set-tabs.set-tabs-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.set-gruppe{--gf:#6a4c93;--gf-hell:#f3effa;--gf-rand:#d8cdea;border:1px solid var(--gf-rand);border-top:4px solid var(--gf);border-radius:12px;background:var(--gf-hell);padding:8px 10px 10px;min-width:0}
.set-gruppe.sg-einkauf{--gf:#1f5fa6;--gf-hell:#eef4fb;--gf-rand:#c4d8ee}
.set-gruppe.sg-montage{--gf:#2f7d4f;--gf-hell:#edf6f0;--gf-rand:#c3dfcd}
.set-gruppe-name{display:block;margin:0 0 7px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--gf)}
.set-gruppe-tabs{display:flex;flex-wrap:wrap;gap:5px}
.set-gruppe-tabs button{background:#fff;border:1px solid var(--gf-rand,#ddd);border-radius:8px;padding:7px 11px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;min-height:38px}
.set-gruppe-tabs button:hover{border-color:var(--gf)}
.set-gruppe-tabs button.active{background:var(--gf);border-color:var(--gf);color:#fff;font-weight:700}
#einstellungen .set-karte{border:1px solid var(--gf-rand);border-left:6px solid var(--gf);border-radius:12px}
#einstellungen .set-karte>h3:first-child{color:var(--gf);margin-top:0}
.set-aus{display:none !important}
@media (max-width:1100px){.set-tabs,.set-tabs.set-tabs-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.set-tabs,.set-tabs.set-tabs-3{grid-template-columns:1fr}.set-gruppe-tabs button{min-height:44px}#einstellungen .set-karte{border-left-width:5px}}/* Kalkulation im Portal (kalk-seite.js, 23.10.2026): iframe ohne Rand über die ganze Breite */
.g-seite.kalk-seite { padding:0; max-width:none; } .kalk-frame { display:block; width:100%; border:0; min-height:420px; background:#fff; }
/* Kalkulation nativ (kalk-seite.js, 24.10.2026): Unterpunkte im Menü, Ladeanzeige; die Maske selbst kommt aus kalkulation/modul.css (#kalkApp) */
.g-ni.g-unter { padding: 5px 10px 5px 41px; font-size: 13.5px; font-weight: 500; color: var(--muted); }
.g-ni.g-unter svg { display: none; }
.g-ni.g-unter.an { background: var(--g-hover); color: var(--ink); font-weight: 700; box-shadow: inset 3px 0 0 var(--red); }
body.g-klein .g-ni.g-unter { display: none; }
.kalk-laedt { display: flex; align-items: center; gap: 10px; padding: 32px 20px; color: var(--muted); font-weight: 600; }
.kalk-ring { width: 22px; height: 22px; border: 3px solid var(--g-hover); border-top-color: var(--red); border-radius: 50%; animation: kalkRing .8s linear infinite; }
@keyframes kalkRing { to { transform: rotate(360deg); } }
/* Unterpunkte überall links (24.10.2026): die Reiterleisten der Module bleiben im DOM (gerust.js bedient sie), sind in der neuen Ansicht aber unsichtbar */
body.gerust #gTabs, body.gerust .fp-toc, body.gerust .lg-tabs, body.gerust .zt-reiter, body.gerust .mw-reiter, body.gerust .ao-reiter, body.gerust #eingReiter, body.gerust #einstReiter { display: none !important; }
.g-unter-grp { padding: 8px 10px 2px 41px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
body.g-klein .g-unter-grp { display: none; }
body.gerust #gSeite-plantafel [data-pt-akt="mein"], body.gerust #gSeite-plantafel [data-pt-akt="tafel"] { display: none !important; }   /* Plantafel: Ansicht wählt man links (24.10.2026) */
/* Kachel „Reklamationen“ im Vorgang (24.10.2026) */
.g-vk-rk .g-rk-t { display: flex; align-items: center; gap: 6px; width: 100%; border: 0; background: none; padding: 2px 0; font: inherit; font-size: 12.5px; color: var(--ink); cursor: pointer; text-align: left; }
.g-vk-rk .g-rk-t:hover b { text-decoration: underline; }
.g-vk-rk .g-rk-t i { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.g-vk-rk .g-rk-t span { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.g-vk-rk .btn { margin-top: 6px; align-self: flex-start; }
/* Karte „E-Mails“ im Vorgang (mail-ki.js, 24.10.2026) */
.g-mails:not(:empty) { margin-bottom: 14px; }
