/*
  workspace-bento-kalender.css — Zusatz-Gestaltung des Bereichs „Kalender" in der Bento-Ansicht (Logik: workspace-bento-kalender.js).

  Kurzbeschreibung (für Laien): Ralph, 24.10.2026. Der Bereich nutzt die gemeinsame Bereichs-Vorlage
  (workspace-bento-seite.css) mit eigenem Inhalt (BENTO-REGELN, Ralph 24.10.2026). Keine Kennzahl-Leiste und keine
  Werkzeug-Leiste: links eine Spalte aus kleinen Kacheln (blaue Kopfkarte · Woche | Monat | Jahr | Liste mit kleinem
  Outlook-Hinweis · Blättern · Kalender-Auswahl als Pillen), angelegt wird über gestrichelte „+"-Kacheln wie auf Home.
  Monat: Raster Mo–So mit einer Kachel je Tag, Termine als kleine farbige Balken (Handy: Punkte), „+n" bei vielen.
  Jahr: 12 Mini-Monate als Kacheln, Tage mit Terminen getönt nach Anzahl (4 Spalten, schmaler 3, Handy 2 bzw. 1).
  Woche: Tages-Spalten als weiße Karten, Termine darin als kleine Kacheln mit Farbkante links (eigene blau, Outlook
  türkis, „belegt" grau). Liste: gleich große Kacheln je Termin. Ein Termin öffnet groß (Zurück/Esc, Vorlage);
  auf dem Handy ein Tag mit Tages-Pillen. Nie seitlich scrollen. Greift nur im Kalender
  (#bsBereich[data-bereich="kalender"]).
*/

#bsBereich[data-bereich="kalender"] { --bk-eigen: var(--marke-nav-blau); --bk-ol: var(--marke-tuerkis-tief); --bk-belegt: var(--marke-text-3); }

/* Keine Kennzahl-Leiste, keine Werkzeug-Leiste der Vorlage (ihr Plus wird von „+ Termin" ausgelöst) */
:root.bs-offen #bsBereich[data-bereich="kalender"] { grid-template-rows: minmax(0, 1fr); }
#bsBereich[data-bereich="kalender"] .bs-kopf, #bsBereich[data-bereich="kalender"] .bs-werkzeug, #bsBereich[data-bereich="kalender"] .bs-pillen { display: none; }

#bsBereich[data-bereich="kalender"] .bs-liste { overflow: hidden; }
/* Platz über der ersten Reihe fürs Anheben (Regel 9): die Liste reicht 12 px in den Rand der Vorlage, die Kacheln bleiben stehen */
:root.bs-offen #bsBereich[data-bereich="kalender"] .bs-liste-karte { overflow: visible; }
:root.bs-offen #bsBereich[data-bereich="kalender"] .bs-liste { margin-top: -12px; padding-top: 12px; }
#bsBereich[data-bereich="kalender"] .bk { height: 100%; min-height: 0; }
#bsBereich[data-bereich="kalender"] .bk-karte { background: var(--bs-karte); border-radius: var(--bs-r); box-shadow: var(--wbs-schatten); height: 100%; }

/* ── Steuer-Kacheln: je Umschalter/Filter eine eigene kleine Kachel (Woche | Liste · Blättern · Kalender-Auswahl) ── */
#bsBereich[data-bereich="kalender"] .bk-steuer { display: flex; flex-direction: column; gap: var(--bs-luft); min-width: 0; }
#bsBereich[data-bereich="kalender"] .bk-s { display: flex; flex-direction: column; justify-content: center; gap: 10px; min-width: 0; box-sizing: border-box; padding: 14px;
  background: var(--bs-karte); border-radius: var(--bs-r); box-shadow: var(--wbs-schatten); transition: box-shadow .25s, transform .25s; }
/* Regel 10: Steuer-Kacheln heben sich wie die Kacheln der Startseite (.wb-k:hover) */
#bsBereich[data-bereich="kalender"] .bk-s:hover { box-shadow: var(--wb-schatten-hover, 0 10px 26px rgba(15, 23, 42, .10)); transform: translateY(-3px); }
#bsBereich[data-bereich="kalender"] .bk-um, #bsBereich[data-bereich="kalender"] .bk-wer { display: flex; flex-wrap: wrap; gap: 2px; padding: 3px; border-radius: var(--marke-r-pill); background: var(--bs-grund); }
#bsBereich[data-bereich="kalender"] .bk-um button, #bsBereich[data-bereich="kalender"] .bk-wer button { flex: 1 1 auto; border: 0; background: transparent; border-radius: var(--marke-r-pill);
  padding: 7px 10px; font: 600 12px var(--marke-schrift); color: var(--bs-leise); cursor: pointer; white-space: nowrap; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
#bsBereich[data-bereich="kalender"] .bk-um button:hover, #bsBereich[data-bereich="kalender"] .bk-wer button:hover { background: var(--marke-feld); color: var(--bs-text); }
#bsBereich[data-bereich="kalender"] .bk-um button.an, #bsBereich[data-bereich="kalender"] .bk-wer button.an { background: var(--bs-dunkel); color: #fff; }
#bsBereich[data-bereich="kalender"] .bk-blaettern { display: flex; align-items: center; gap: 6px; }
#bsBereich[data-bereich="kalender"] .bk-rund { width: 36px; height: 36px; border-radius: 50%; border: 0; background: var(--bs-grund); color: var(--bs-text); cursor: pointer;
  display: flex; align-items: center; justify-content: center; flex: none; transition: background .2s; }
#bsBereich[data-bereich="kalender"] .bk-rund:hover { background: var(--marke-feld); }
#bsBereich[data-bereich="kalender"] .bk-rund svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
#bsBereich[data-bereich="kalender"] .bk-heute { flex: 1; height: 36px; border: 0; border-radius: var(--marke-r-pill); background: var(--bs-grund); color: var(--bs-text);
  font: 600 13px var(--marke-schrift); cursor: pointer; }
#bsBereich[data-bereich="kalender"] .bk-heute:hover { background: var(--marke-feld); }
#bsBereich[data-bereich="kalender"] .bk-heute[aria-pressed="true"] { background: var(--bs-dunkel); color: #fff; }
#bsBereich[data-bereich="kalender"] .bk-zeitraum { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
#bsBereich[data-bereich="kalender"] .bk-zeitraum b { font-size: 20px; font-weight: 700; letter-spacing: -.01em; }
#bsBereich[data-bereich="kalender"] .bk-zeitraum span { font-size: 12px; color: var(--bs-leise); font-variant-numeric: tabular-nums; }
#bsBereich[data-bereich="kalender"] .bk-hinweise p { margin: 0 0 4px; font-size: 12px; line-height: 1.4; color: var(--bs-leise); }
/* „Outlook verbunden" nur als kleiner Hinweis */
#bsBereich[data-bereich="kalender"] .bk-ol { display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; font: 500 12px var(--marke-schrift);
  color: var(--bs-leise); text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#bsBereich[data-bereich="kalender"] .bk-ol i { width: 8px; height: 8px; border-radius: 50%; flex: none; background: var(--bk-belegt); }
#bsBereich[data-bereich="kalender"] .bk-ol.an i { background: var(--marke-ok); }
#bsBereich[data-bereich="kalender"] button.bk-ol { cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
#bsBereich[data-bereich="kalender"] button.bk-ol:hover { color: var(--bs-text); }
/* „+"-Kachel wie auf Home (gestrichelt, durchsichtig) */
#bsBereich[data-bereich="kalender"] .bk-plus { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 100%; box-sizing: border-box;
  border: 2px dashed var(--marke-linie-stark); border-radius: var(--bs-r); background: transparent; color: var(--bs-leise); font: 600 13px var(--marke-schrift); cursor: pointer;
  transition: background .2s, color .2s; }
#bsBereich[data-bereich="kalender"] .bk-plus:hover { background: var(--bs-karte); color: var(--bs-text); }
#bsBereich[data-bereich="kalender"] .bk-plus:focus-visible { outline: 2px solid var(--marke-akzent); outline-offset: 2px; }
#bsBereich[data-bereich="kalender"] .bk-plus svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
#bsBereich[data-bereich="kalender"] .bk-plus.klein { flex: none; min-height: 40px; border-radius: var(--marke-r-l); }
#bsBereich[data-bereich="kalender"] .bk-plus.klein svg { width: 18px; height: 18px; }
#bsBereich[data-bereich="kalender"] .bk-tage { display: none; }

/* ── Woche: Steuer-Kachel links, daneben die Tages-Spalten als weiße Karten ── */
#bsBereich[data-bereich="kalender"] .bk-woche { display: grid; grid-template-columns: minmax(200px, 236px) repeat(var(--bk-tage, 7), minmax(0, 1fr)); gap: var(--bs-luft); height: 100%; min-height: 0; }
#bsBereich[data-bereich="kalender"] .bk-tag { display: flex; flex-direction: column; min-width: 0; min-height: 0; background: var(--bs-karte); border-radius: var(--bs-r);
  box-shadow: var(--wbs-schatten); overflow: hidden; }
#bsBereich[data-bereich="kalender"] .bk-tag-kopf { display: flex; align-items: baseline; gap: 6px; padding: 14px 14px 8px; flex: none; }
#bsBereich[data-bereich="kalender"] .bk-tag-kopf span { font-size: 12px; font-weight: 500; color: var(--bs-leise); }
#bsBereich[data-bereich="kalender"] .bk-tag-kopf b { font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
#bsBereich[data-bereich="kalender"] .bk-tag-kopf em, #bsBereich[data-bereich="kalender"] .bk-k-tag em { margin-left: auto; font-style: normal; font-size: 11px; font-weight: 600;
  padding: 2px 8px; border-radius: var(--marke-r-pill); background: var(--bs-dunkel); color: #fff; }
#bsBereich[data-bereich="kalender"] .bk-tag.heute { box-shadow: 0 0 0 2px var(--bs-dunkel); }
#bsBereich[data-bereich="kalender"] .bk-tag-liste { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; display: flex; flex-direction: column; gap: 6px; padding: 0 8px 10px; }
#bsBereich[data-bereich="kalender"] .bk-frei { font-size: 12px; color: var(--bs-leise); padding: 4px 6px; }

/* Termin-Kachel (Woche: klein in der Tages-Spalte; Liste: groß als eigene Bento-Kachel) — Farbkante links */
#bsBereich[data-bereich="kalender"] .bk-t, #bsBereich[data-bereich="kalender"] .bk-k { --bk-kante: var(--bk-eigen); display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
  width: 100%; min-width: 0; box-sizing: border-box; text-align: left; border: 0; color: var(--bs-text); cursor: pointer; font-family: var(--marke-schrift);
  transition: box-shadow .2s, transform .2s, background .2s; }
#bsBereich[data-bereich="kalender"] .bk-t { padding: 8px 10px 8px 12px; border-radius: var(--marke-r-l); background: var(--bs-weich); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bk-kante) 40%, transparent); }
#bsBereich[data-bereich="kalender"] .ol { --bk-kante: var(--bk-ol); }
#bsBereich[data-bereich="kalender"] .belegt { --bk-kante: var(--bk-belegt); }
#bsBereich[data-bereich="kalender"] .bk-t.frei, #bsBereich[data-bereich="kalender"] .bk-k.frei { opacity: .7; }
#bsBereich[data-bereich="kalender"] .bk-t:hover { background: color-mix(in srgb, var(--bs-text) 8%, var(--bs-karte)); transform: translateY(-1px); }
#bsBereich[data-bereich="kalender"] .bk-t:focus-visible, #bsBereich[data-bereich="kalender"] .bk-k:focus-visible { outline: 2px solid var(--marke-akzent); outline-offset: 1px; }
#bsBereich[data-bereich="kalender"] .bk-t.an { background: var(--bs-karte); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bk-kante) 40%, transparent), 0 0 0 2px var(--bs-dunkel); }
#bsBereich[data-bereich="kalender"] .bk-t-zeit { font-size: 11px; color: var(--bs-leise); font-variant-numeric: tabular-nums; white-space: nowrap; }
#bsBereich[data-bereich="kalender"] .bk-t-titel { font-size: 13px; font-weight: 600; line-height: 1.3; max-width: 100%; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
#bsBereich[data-bereich="kalender"] .bk-t-ort { font-size: 12px; color: var(--bs-leise); max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ── Liste: gleich große Kacheln, nach Datum; vorne die Steuer-Kacheln, hinten die „+"-Kachel ── */
#bsBereich[data-bereich="kalender"] .bk-ansicht-liste { overflow-y: auto; overflow-x: hidden; }
/* Platz über der ersten Reihe, damit das Anheben beim Überfahren nicht abgeschnitten wird (BENTO-REGELN 9) */
#bsBereich[data-bereich="kalender"] .bk-kacheln { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); grid-auto-rows: 156px; gap: var(--bs-luft);
  padding: 6px 2px 12px; }
#bsBereich[data-bereich="kalender"] .bk-k { height: 100%; padding: 14px 16px 14px 18px; overflow: hidden; border-radius: var(--bs-r); background: var(--bs-karte);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bk-kante) 40%, transparent), var(--wbs-schatten); }
#bsBereich[data-bereich="kalender"] .bk-k:hover { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bk-kante) 40%, transparent), var(--wb-schatten-hover, 0 10px 26px rgba(15, 23, 42, .10)); transform: translateY(-3px); }
#bsBereich[data-bereich="kalender"] .bk-k.an { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bk-kante) 40%, transparent), 0 0 0 2px var(--bs-dunkel); }
#bsBereich[data-bereich="kalender"] .bk-k-tag { display: flex; align-items: center; gap: 6px; width: 100%; font-size: 12px; font-weight: 600; color: var(--bs-leise); margin-bottom: 2px; }
#bsBereich[data-bereich="kalender"] .bk-k .bk-t-zeit { font-size: 12px; }
#bsBereich[data-bereich="kalender"] .bk-k .bk-t-titel { font-size: 14px; }
#bsBereich[data-bereich="kalender"] .bk-k-fuss { margin-top: auto; padding-top: 4px; }
#bsBereich[data-bereich="kalender"] .bk-k-leer { cursor: default; justify-content: center; align-items: center; text-align: center; font-size: 13px; color: var(--bs-leise); box-shadow: var(--wbs-schatten); }
#bsBereich[data-bereich="kalender"] .bk-k-leer:hover { transform: none; box-shadow: var(--wbs-schatten); }

/* Kennzeichen der Herkunft */
#bsBereich[data-bereich="kalender"] .bk-q { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: var(--marke-r-pill); font-size: 11px; font-weight: 600;
  white-space: nowrap; background: color-mix(in srgb, var(--bk-belegt) 16%, var(--bs-karte)); color: var(--bs-leise); }
#bsBereich[data-bereich="kalender"] .bk-q.ol { background: color-mix(in srgb, var(--bk-ol) 16%, var(--bs-karte)); color: color-mix(in srgb, var(--bk-ol) 75%, var(--bs-text)); }
#bsBereich[data-bereich="kalender"] .bk-q.eigen { background: color-mix(in srgb, var(--bk-eigen) 14%, var(--bs-karte)); color: color-mix(in srgb, var(--bk-eigen) 75%, var(--bs-text)); }
#bsBereich[data-bereich="kalender"] .bk-t .bk-q { margin-top: 4px; height: 18px; padding: 0 6px; }

/* ── Detail und Neu-Formular ── */
#bsBereich[data-bereich="kalender"] .bk-d-zeile { display: flex; flex-wrap: wrap; gap: 6px; margin: -4px 0 14px; }
#bsBereich[data-bereich="kalender"] .bk-d-zeile .bk-q { height: 24px; padding: 0 10px; font-size: 12px; }
#bsBereich[data-bereich="kalender"] .bs-d-meta th { width: 112px; }
#bsBereich[data-bereich="kalender"] .bk-form { display: grid; gap: 12px; margin-bottom: 12px; }
#bsBereich[data-bereich="kalender"] .bk-feld { display: grid; gap: 4px; min-width: 0; }
#bsBereich[data-bereich="kalender"] .bk-feld .a4h-field { width: 100%; box-sizing: border-box; min-width: 0; }
#bsBereich[data-bereich="kalender"] .bk-zwei { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
#bsBereich[data-bereich="kalender"] .bk-check { display: flex; align-items: center; gap: 6px; font-size: 13px; }
#bsBereich[data-bereich="kalender"] .bk-check input { accent-color: var(--marke-nav-blau); }
#bsBereich[data-bereich="kalender"] .bs-meldung .bs-box { margin: 12px 0; }
#bsBereich[data-bereich="kalender"] .bk-gefahr { color: var(--marke-gefahr); }

/* ── Kopfkarte in der Steuer-Spalte (Form/Farbe aus .bs-kopfkarte der Vorlage) und „+"-Kachel unter den Steuer-Kacheln ── */
#bsBereich[data-bereich="kalender"] .bk-steuer > .bk-kopfkarte { flex: none; min-height: 132px; padding: 18px 20px; }
#bsBereich[data-bereich="kalender"] .bk-steuer > .bk-kopfkarte h2 { font-size: clamp(22px, 2vw, 28px); }
#bsBereich[data-bereich="kalender"] .bk-steuer > .bk-kopfkarte p { font-size: 13px; line-height: 1.4; }
#bsBereich[data-bereich="kalender"] .bk-steuer > .bk-plus { flex: 1 1 auto; min-height: 72px; }
/* „Woche | Monat | Jahr | Liste": schmale Spalte → 2 × 2 Pillen, am Handy eine Reihe */
#bsBereich[data-bereich="kalender"] .bk-um { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: var(--bs-r-k); }
#bsBereich[data-bereich="kalender"] .bk-lade-kachel { display: flex; align-items: center; justify-content: center; min-height: 240px; background: var(--bs-karte);
  border-radius: var(--bs-r); box-shadow: var(--wbs-schatten); }

/* Exchange-Schalter-Kachel: Titel, Pillen (Aus | An bzw. je Postfach), kleiner Text, Meldung */
#bsBereich[data-bereich="kalender"] .bk-s-ex { justify-content: flex-start; gap: 8px; }
#bsBereich[data-bereich="kalender"] .bk-s-titel { font-size: 12px; font-weight: 500; color: var(--bs-leise); }
#bsBereich[data-bereich="kalender"] .bk-s-klein { font-size: 12px; line-height: 1.4; color: var(--bs-leise); overflow-wrap: anywhere; }
#bsBereich[data-bereich="kalender"] .bk-s-meldung { margin: 0; font-size: 12px; line-height: 1.4; color: var(--bs-text); }
#bsBereich[data-bereich="kalender"] .bk-s-meldung.rot { color: var(--marke-gefahr); }
#bsBereich[data-bereich="kalender"] .bk-wer button:disabled { opacity: .55; cursor: default; }

/* Monat/Jahr füllen die Höhe; reicht sie nicht (kleines Fenster), scrollt die Liste senkrecht statt Zellen abzuschneiden.
   Die Liste trägt die 12 px Hover-Luft oben (Vorlage), darum wird das Anheben der ersten Reihe nicht abgeschnitten. */
#bsBereich[data-bereich="kalender"] .bs-liste:has(> :is(.bk-ansicht-monat, .bk-ansicht-jahr)) { overflow-y: auto; overflow-x: hidden; }
#bsBereich[data-bereich="kalender"] :is(.bk-ansicht-monat, .bk-ansicht-jahr) { display: grid; height: auto; min-height: 100%; }
#bsBereich[data-bereich="kalender"] :is(.bk-ansicht-monat, .bk-ansicht-jahr) > :is(.bk-monat, .bk-jahr) { height: auto; }

/* ── Monat: Wochentage oben, eine Kachel je Tag ── */
#bsBereich[data-bereich="kalender"] :is(.bk-monat, .bk-jahr) { display: grid; grid-template-columns: minmax(200px, 236px) minmax(0, 1fr); gap: var(--bs-luft); height: 100%; min-height: 0; }
#bsBereich[data-bereich="kalender"] :is(.bk-monat, .bk-jahr) > .bk-steuer { min-height: 0; }
#bsBereich[data-bereich="kalender"] .bk-m-raster { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); grid-template-rows: auto repeat(var(--bk-wochen, 6), minmax(124px, 1fr));
  gap: 8px; min-width: 0; min-height: 0; }
#bsBereich[data-bereich="kalender"] .bk-m-wt { font-size: 12px; font-weight: 600; color: var(--bs-leise); padding: 0 10px; }
#bsBereich[data-bereich="kalender"] .bk-m-wt.we { opacity: .7; }
#bsBereich[data-bereich="kalender"] .bk-m-tag { display: flex; flex-direction: column; gap: 4px; min-width: 0; min-height: 0; overflow: hidden; box-sizing: border-box; padding: 8px;
  background: var(--bs-karte); border-radius: var(--bs-r-k); box-shadow: var(--wbs-schatten); cursor: pointer; outline: 0; transition: box-shadow .25s, transform .25s; }
#bsBereich[data-bereich="kalender"] .bk-m-tag:hover { box-shadow: var(--wb-schatten-hover, 0 10px 26px rgba(15, 23, 42, .10)); transform: translateY(-3px); }
#bsBereich[data-bereich="kalender"] .bk-m-tag:focus-visible { box-shadow: 0 0 0 2px var(--bs-grund), 0 0 0 4px var(--marke-akzent); }
#bsBereich[data-bereich="kalender"] .bk-m-tag.fremd { background: color-mix(in srgb, var(--bs-karte) 50%, transparent); }
#bsBereich[data-bereich="kalender"] .bk-m-tag.fremd .bk-m-zahl { color: var(--bs-leise); font-weight: 500; }
#bsBereich[data-bereich="kalender"] .bk-m-tag.heute { box-shadow: 0 0 0 2px var(--bs-dunkel); }
#bsBereich[data-bereich="kalender"] .bk-m-zahl { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 26px; height: 26px; border-radius: 50%;
  font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
#bsBereich[data-bereich="kalender"] .bk-m-tag.heute .bk-m-zahl { background: var(--bs-dunkel); color: #fff; }
#bsBereich[data-bereich="kalender"] .bk-m-balken { display: flex; flex-direction: column; gap: 3px; min-width: 0; min-height: 0; }
#bsBereich[data-bereich="kalender"] .bk-m-b { --bk-kante: var(--bk-eigen); display: flex; align-items: center; gap: 4px; min-width: 0; height: 20px; flex: none; box-sizing: border-box;
  padding: 0 6px 0 8px; border: 0; border-radius: var(--marke-r-s, 6px); background: color-mix(in srgb, var(--bk-kante) 14%, var(--bs-karte)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bk-kante) 40%, transparent);
  color: var(--bs-text); font: 600 11px var(--marke-schrift); text-align: left; cursor: pointer; }
#bsBereich[data-bereich="kalender"] .bk-m-b.ol { --bk-kante: var(--bk-ol); }
#bsBereich[data-bereich="kalender"] .bk-m-b.belegt { --bk-kante: var(--bk-belegt); }
#bsBereich[data-bereich="kalender"] .bk-m-b.ganz { background: color-mix(in srgb, var(--bk-kante) 30%, var(--bs-karte)); }
#bsBereich[data-bereich="kalender"] .bk-m-b.frei { opacity: .7; }
#bsBereich[data-bereich="kalender"] .bk-m-b:hover { background: color-mix(in srgb, var(--bk-kante) 26%, var(--bs-karte)); }
#bsBereich[data-bereich="kalender"] .bk-m-b:focus-visible { outline: 2px solid var(--marke-akzent); outline-offset: 1px; }
#bsBereich[data-bereich="kalender"] .bk-m-b i { font-style: normal; font-weight: 500; color: var(--bs-leise); font-variant-numeric: tabular-nums; flex: none; }
#bsBereich[data-bereich="kalender"] .bk-m-b span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
#bsBereich[data-bereich="kalender"] .bk-m-mehr { font-size: 11px; font-weight: 600; color: var(--bs-leise); padding-left: 6px; }

/* ── Jahr: 12 Mini-Monate (4 × 3) ── */
#bsBereich[data-bereich="kalender"] .bk-j-raster { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(212px, 1fr)); gap: var(--bs-luft);
  min-width: 0; min-height: 0; }
#bsBereich[data-bereich="kalender"] .bk-j-monat { display: flex; flex-direction: column; gap: 6px; min-width: 0; min-height: 0; overflow: hidden; box-sizing: border-box; padding: 14px 16px;
  background: var(--bs-karte); border-radius: var(--bs-r); box-shadow: var(--wbs-schatten); cursor: pointer; outline: 0; transition: box-shadow .25s, transform .25s; }
#bsBereich[data-bereich="kalender"] .bk-j-monat:hover { box-shadow: var(--wb-schatten-hover, 0 10px 26px rgba(15, 23, 42, .10)); transform: translateY(-3px); }
#bsBereich[data-bereich="kalender"] .bk-j-monat:focus-visible { box-shadow: 0 0 0 2px var(--bs-grund), 0 0 0 4px var(--marke-akzent); }
#bsBereich[data-bereich="kalender"] .bk-j-monat.jetzt { box-shadow: 0 0 0 2px var(--bs-dunkel); }
#bsBereich[data-bereich="kalender"] .bk-j-kopf { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; flex: none; min-width: 0; }
#bsBereich[data-bereich="kalender"] .bk-j-kopf b { font-size: 15px; font-weight: 700; }
#bsBereich[data-bereich="kalender"] .bk-j-kopf small { font-size: 12px; color: var(--bs-leise); white-space: nowrap; }
#bsBereich[data-bereich="kalender"] .bk-j-tage { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); grid-auto-rows: minmax(0, 1fr); gap: 2px; flex: 1 1 auto; min-height: 0; }
#bsBereich[data-bereich="kalender"] .bk-j-wt { display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; color: var(--bs-leise); }
#bsBereich[data-bereich="kalender"] .bk-j-tag { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 16px; padding: 0; border: 0;
  border-radius: var(--marke-r-s, 6px); background: transparent; color: var(--bs-text); font: 500 11px var(--marke-schrift); font-variant-numeric: tabular-nums; cursor: pointer; }
#bsBereich[data-bereich="kalender"] .bk-j-tag:hover { background: var(--bs-weich); }
#bsBereich[data-bereich="kalender"] .bk-j-tag:focus-visible { outline: 2px solid var(--marke-akzent); outline-offset: 0; }
#bsBereich[data-bereich="kalender"] .bk-j-tag.s1 { background: color-mix(in srgb, var(--bk-eigen) 18%, var(--bs-karte)); font-weight: 600; }
#bsBereich[data-bereich="kalender"] .bk-j-tag.s2 { background: color-mix(in srgb, var(--bk-eigen) 40%, var(--bs-karte)); font-weight: 700; }
#bsBereich[data-bereich="kalender"] .bk-j-tag.s3 { background: var(--bk-eigen); color: #fff; font-weight: 700; }
#bsBereich[data-bereich="kalender"] .bk-j-tag.heute { box-shadow: inset 0 0 0 2px var(--bs-dunkel); font-weight: 800; }
@media (max-width: 1500px) {
  #bsBereich[data-bereich="kalender"] .bk-j-raster { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(4, minmax(176px, 1fr)); }
}

/* Tag groß: Termine als Kacheln, am Ende „+" */
#bsBereich[data-bereich="kalender"] .bk-d-satz { margin: -4px 0 14px; }
#bsBereich[data-bereich="kalender"] .bk-tag-gross { padding: 0; grid-auto-rows: 140px; }

/* Mittlere Breite: Steuer-Kachel über den Tages-Spalten */
@media (max-width: 1200px) {
  #bsBereich[data-bereich="kalender"] .bk-woche { grid-template-columns: repeat(var(--bk-tage, 7), minmax(0, 1fr)); grid-template-rows: auto minmax(0, 1fr); }
  #bsBereich[data-bereich="kalender"] .bk-woche > .bk-steuer { grid-column: 1 / -1; flex-direction: row; }
  #bsBereich[data-bereich="kalender"] .bk-woche > .bk-steuer .bk-s { flex: 1 1 0; }
  #bsBereich[data-bereich="kalender"] :is(.bk-monat, .bk-jahr) { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  #bsBereich[data-bereich="kalender"] :is(.bk-monat, .bk-jahr) > .bk-steuer { flex-direction: row; }
  #bsBereich[data-bereich="kalender"] :is(.bk-monat, .bk-jahr) > .bk-steuer > * { flex: 1 1 0; }
  #bsBereich[data-bereich="kalender"] .bk-steuer > .bk-kopfkarte { min-height: 0; }
  #bsBereich[data-bereich="kalender"] .bk-steuer > .bk-plus { min-height: 0; flex: 0 0 120px; }
  #bsBereich[data-bereich="kalender"] .bk-j-raster { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: 236px; }
  #bsBereich[data-bereich="kalender"] .bk-tag-kopf { padding: 12px 10px 6px; }
  #bsBereich[data-bereich="kalender"] .bk-tag-liste { padding: 0 6px 8px; }
}
/* Handy: Steuer-Kachel oben (mit Tages-Pillen), darunter ein Tag; Liste einspaltig */
@media (max-width: 900px) {
  #bsBereich[data-bereich="kalender"] .bs-liste { overflow-y: auto; }
  #bsBereich[data-bereich="kalender"] .bk { height: auto; min-height: 100%; }
  #bsBereich[data-bereich="kalender"] .bk-woche { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; height: auto; gap: 8px; }
  #bsBereich[data-bereich="kalender"] :is(.bk-woche, .bk-monat, .bk-jahr) > .bk-steuer { flex-direction: column; gap: 8px; }
  #bsBereich[data-bereich="kalender"] :is(.bk-monat, .bk-jahr) { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; height: auto; gap: 8px; }
  #bsBereich[data-bereich="kalender"] :is(.bk-monat, .bk-jahr) > .bk-steuer > * { flex: none; }
  #bsBereich[data-bereich="kalender"] .bk-steuer > .bk-kopfkarte { min-height: 0; padding: 16px 18px; border-radius: var(--bs-r-k); }
  #bsBereich[data-bereich="kalender"] .bk-steuer > .bk-kopfkarte h2 { font-size: 22px; }
  #bsBereich[data-bereich="kalender"] .bk-steuer > .bk-plus { min-height: 56px; border-radius: var(--bs-r-k); flex-direction: row; }
  #bsBereich[data-bereich="kalender"] .bk-steuer > .bk-plus svg { width: 20px; height: 20px; }
  /* Monat am Handy: Punkte statt Balken, kleinere Zellen */
  #bsBereich[data-bereich="kalender"] .bk-m-raster { grid-template-rows: auto; grid-auto-rows: 56px; gap: 4px; }
  #bsBereich[data-bereich="kalender"] .bk-m-tag { padding: 5px; gap: 3px; border-radius: 10px; align-items: center; }
  #bsBereich[data-bereich="kalender"] .bk-m-zahl { width: 22px; height: 22px; font-size: 12px; }
  #bsBereich[data-bereich="kalender"] .bk-m-balken { flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; gap: 3px; }
  #bsBereich[data-bereich="kalender"] .bk-m-b { width: 7px; height: 7px; flex: none; padding: 0; border-radius: 50%; background: var(--bk-kante); box-shadow: none; }
  #bsBereich[data-bereich="kalender"] .bk-m-b > * { display: none; }
  #bsBereich[data-bereich="kalender"] .bk-m-mehr { padding: 0; font-size: 10px; line-height: 1; }
  #bsBereich[data-bereich="kalender"] .bk-m-wt { padding: 0; text-align: center; }
  #bsBereich[data-bereich="kalender"] .bk-j-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; gap: 8px; }
  #bsBereich[data-bereich="kalender"] .bk-j-monat { border-radius: var(--bs-r-k); padding: 12px; }
  #bsBereich[data-bereich="kalender"] .bk-j-tage { grid-auto-rows: 26px; }
  #bsBereich[data-bereich="kalender"] .bk-tag-gross { grid-template-columns: minmax(0, 1fr); }
  #bsBereich[data-bereich="kalender"] .bk-s { border-radius: var(--bs-r-k); padding: 12px; gap: 8px; }
  #bsBereich[data-bereich="kalender"] .bk-s-um { flex-direction: column; align-items: stretch; }
  #bsBereich[data-bereich="kalender"] .bk-um { grid-template-columns: repeat(4, minmax(0, 1fr)); border-radius: var(--marke-r-pill); }
  #bsBereich[data-bereich="kalender"] .bk-zeitraum { flex-direction: row; align-items: baseline; gap: 8px; }
  #bsBereich[data-bereich="kalender"] .bk-zeitraum b { font-size: 15px; }
  #bsBereich[data-bereich="kalender"] .bk-tage { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 4px; }
  #bsBereich[data-bereich="kalender"] .bk-tage button { position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 6px 0 8px; border: 0;
    border-radius: var(--bs-r-k); background: var(--bs-grund); color: var(--bs-text); font-family: var(--marke-schrift); cursor: pointer; }
  #bsBereich[data-bereich="kalender"] .bk-tage button span { font-size: 11px; color: var(--bs-leise); }
  #bsBereich[data-bereich="kalender"] .bk-tage button b { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
  #bsBereich[data-bereich="kalender"] .bk-tage button i { position: absolute; bottom: 3px; width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .6; }
  #bsBereich[data-bereich="kalender"] .bk-tage button.heute { box-shadow: inset 0 0 0 2px var(--bs-dunkel); }
  #bsBereich[data-bereich="kalender"] .bk-tage button.an { background: var(--bs-dunkel); color: #fff; }
  #bsBereich[data-bereich="kalender"] .bk-tage button.an span { color: inherit; opacity: .8; }
  #bsBereich[data-bereich="kalender"] .bk-tag:not(.an) { display: none; }
  #bsBereich[data-bereich="kalender"] .bk-tag { border-radius: var(--bs-r-k); }
  #bsBereich[data-bereich="kalender"] .bk-tag.heute { box-shadow: var(--wbs-schatten); }
  #bsBereich[data-bereich="kalender"] .bk-tag-liste { overflow: visible; }
  #bsBereich[data-bereich="kalender"] .bk-ansicht-liste { overflow: visible; }
  #bsBereich[data-bereich="kalender"] .bk-kacheln { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; gap: 8px; }
  #bsBereich[data-bereich="kalender"] .bk-k { height: 132px; border-radius: var(--bs-r-k); }
  #bsBereich[data-bereich="kalender"] .bk-kacheln > .bk-plus { min-height: 72px; border-radius: var(--bs-r-k); }
  #bsBereich[data-bereich="kalender"] .bk-zwei { grid-template-columns: minmax(0, 1fr); }
  #bsBereich[data-bereich="kalender"] .bs-d-aktion { position: static; margin-top: 8px; }
  #bsBereich[data-bereich="kalender"] .bk-plus.klein { display: none; }   /* Handy: „+" einmal unter dem gewählten Tag */
  #bsBereich[data-bereich="kalender"] .bk-tag.an .bk-plus.klein { display: flex; }
}
@media (max-width: 600px) {
  #bsBereich[data-bereich="kalender"] .bk-j-raster { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  #bsBereich[data-bereich="kalender"] :is(.bk-t, .bk-k, .bk-m-tag, .bk-j-monat) { transition: none; }
  #bsBereich[data-bereich="kalender"] :is(.bk-t, .bk-k, .bk-m-tag, .bk-j-monat):hover { transform: none; }
}
/* Großes Formular: Felder nicht über die ganze Breite ziehen */
#bsBereich[data-bereich="kalender"] .bk-form { max-width: 640px; }

/* Menü offen: der Kalender liegt nur noch unter dem Menü — nichts davon darf an den Rändern der Menü-Karten hervorschauen
   (der dunkle Rahmen des heutigen Tages sah als „schwarze Kachel“ über der zweiten Menü-Karte heraus, Ralph 02.11.2026). */
:root.wb-menue-offen #bsBereich[data-bereich="kalender"] { visibility: hidden; }

/* ══ Menü-Modus (Beta, Ralph 02.11.2026 — „Seiten ohne Bento“) ══
   Schmale Leiste oben (Woche | Monat | Jahr, Blättern, Outlook, Suche, „+ Neuer Termin“), darunter die Termine nach Tagen als Liste
   und rechts der gewählte Termin. Bausteine .wss-* aus workspace-bento-schlicht.css; hier nur das Zusätzliche (.bk-m-*). */
:root.wb-menue-modus #bsBereich[data-bereich="kalender"] .bs-detail { display: none !important; }
:root.wb-menue-modus #bsBereich[data-bereich="kalender"] .bs-liste-karte { background: transparent; box-shadow: none; padding: 0; visibility: visible !important; }
:root.wb-menue-modus #bsBereich[data-bereich="kalender"] .bs-liste { margin-top: 0; padding-top: 0; }
:root.wb-menue-modus #bsBereich[data-bereich="kalender"] .bk-m { gap: var(--marke-sp-3); }
.bk-m { display: flex; flex-direction: column; min-height: 0; height: 100%; padding: 0; box-sizing: border-box; font: 400 13px var(--marke-schrift); color: var(--wb-text); background: var(--bs-karte); border-radius: var(--bs-r, 16px); }
.bk-m-kopf, .bk-m-zusatz { padding: 0 24px; }
.bk-m-mitte { padding-left: 24px; }
.bk-m-kopf { flex-wrap: wrap; row-gap: var(--marke-sp-2); }
.bk-m-leiste { display: contents; }
.bk-m-kopf .wss-suche { flex: 1 1 160px; min-width: 140px; }
.bk-m .wss-suche svg { flex: none; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bk-m-gruppe { flex: none; display: inline-flex; gap: 2px; padding: 3px; border-radius: var(--marke-r-pill); background: var(--wb-weich); }
.bk-m-gruppe button, .bk-m-pille { border: 0; border-radius: var(--marke-r-pill); background: transparent; color: var(--wb-leise); padding: 6px 12px; font: 600 12px var(--marke-schrift); cursor: pointer; white-space: nowrap; }
.bk-m-pille { flex: none; background: var(--wb-weich); }
.bk-m-gruppe button:hover, .bk-m-pille:hover { color: var(--wb-text); }
.bk-m-gruppe button.an, .bk-m-pille.an { background: linear-gradient(135deg, var(--wbm-f, var(--marke-nav-blau)) 30%, color-mix(in srgb, var(--wbm-f, var(--marke-nav-blau)) 66%, var(--wb-verlauf-ziel, #fff))); color: #fff; }
.bk-m-nav { flex: none; display: inline-flex; align-items: center; gap: 6px; font: 400 12px var(--marke-schrift); color: var(--wb-leise); }
.bk-m-nav b { margin-left: 4px; color: var(--wb-text); font-weight: 700; font-size: 13px; }
.bk-m-rund { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 0; border-radius: 50%; background: var(--wb-weich); color: var(--wb-text); cursor: pointer; }
.bk-m-rund svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bk-m-ol { flex: none; font: 600 12px var(--marke-schrift); color: var(--marke-ok); }
.bk-m-kopf button:focus-visible, .bk-m-zusatz button:focus-visible { outline: 2px solid var(--marke-akzent); outline-offset: 2px; }
.bk-m-zusatz { display: flex; flex-wrap: wrap; align-items: center; gap: var(--marke-sp-2) var(--marke-sp-4); }
.bk-m-zusatz:empty { display: none; }
.bk-m-zusatz .bk-s { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0; background: none; box-shadow: none; transform: none; min-height: 0; animation: none; }
.bk-m-zusatz .bk-s:hover { box-shadow: none; transform: none; }
.bk-m-zusatz .bk-wer { display: inline-flex; gap: 2px; padding: 3px; border-radius: var(--marke-r-pill); background: var(--wb-weich); }
.bk-m-zusatz .bk-wer button { border: 0; border-radius: var(--marke-r-pill); background: transparent; color: var(--wb-leise); padding: 5px 10px; font: 600 12px var(--marke-schrift); cursor: pointer; }
.bk-m-zusatz .bk-wer button.an { background: linear-gradient(135deg, var(--wbm-f, var(--marke-nav-blau)) 30%, color-mix(in srgb, var(--wbm-f, var(--marke-nav-blau)) 66%, var(--wb-verlauf-ziel, #fff))); color: #fff; }
.bk-m-zusatz .bk-hinweise p, .bk-m-zusatz .bk-s-klein, .bk-m-zusatz .bk-s-titel { margin: 0; font: 400 12px var(--marke-schrift); color: var(--wb-leise); }
.bk-m-seite { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) var(--bsp-b, 224px); column-gap: 24px; }
.bk-m-mitte { min-width: 0; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; }
.bk-m-mitte > .wss-detail { flex: 1 1 auto; min-height: 0; border-left: 0; padding-left: 0; }
.bk-m-haupt { display: flex; }
.bk-m-seite > * { min-height: 0; }
.bk-m-haupt { min-width: 0; overflow-y: auto; scrollbar-width: thin; }
.bk-m-info { margin: 2px var(--marke-sp-2) 0; font: 400 12px var(--marke-schrift); color: var(--wb-leise); }
.bk-m-info:empty { display: none; }
@media (max-width: 900px) { .bk-m-seite { grid-template-columns: minmax(0, 1fr); } .bk-m-haupt { display: block; } }
:root.wb-menue-modus #bsBereich[data-bereich="kalender"] .bk-m .wss-detail .bs-d-aktion { position: static; background: transparent; box-shadow: none; border-top: 0; margin: 12px 0 0; padding: 0; }
