/* ================================================================
   TEAM · Reiter „Redaktion“ (RED1, 2026-10-30; RED1b 2026-10-31: agroserv Magazin, Fotos, Bewertungen). Desktop-Design wie LandLord/Personal: grüne Werkzeugleiste
   (.tool-back-bar aus team.css/team-design.css), darunter Karten. Nur Admin. Schale #red-shell legt team.js (Modul RED) selbst an.
   ================================================================ */
#red-shell { flex: 1; display: flex; flex-direction: column; min-height: 0; background: var(--bg, #f6f5f1); color: var(--text, #1f2420); }
#red-shell > .tool-back-bar { flex-shrink: 0; height: var(--oben-h, 52px); background: var(--bar, var(--bar-tool, #1f3d2b)); color: #fff; gap: 6px; }
#red-shell .red-titel { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 650; color: #fff; white-space: nowrap; }
#red-shell .red-titel svg { width: 17px; height: 17px; }
#red-shell .red-reiter { display: flex; gap: 2px; margin-left: 18px; }
#red-shell .red-reiter button { height: 34px; padding: 0 13px; border: 0; border-radius: 9px; background: none; color: rgba(255, 255, 255, .78); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
#red-shell .red-reiter button:hover { background: rgba(255, 255, 255, .12); color: #fff; }
#red-shell .red-reiter button.on { background: rgba(255, 255, 255, .2); color: #fff; }
#red-shell .red-reiter button:focus-visible { outline: 2px solid rgba(255, 255, 255, .7); outline-offset: 1px; }
#red-shell .red-kosten { margin-left: auto; font-size: 12.5px; color: rgba(255, 255, 255, .82); white-space: nowrap; }
#red-shell .red-inhalt { flex: 1; overflow-y: auto; padding: 22px 26px 40px; }
.red-kopf { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin: 0 0 14px; flex-wrap: wrap; }
.red-kopf h2 { margin: 0; font-family: Georgia, "Bodoni Moda", serif; font-style: italic; font-size: 28px; }
.red-unter { margin: 4px 0 0; font-size: 13px; color: var(--text2, #5b625c); }
.red-knoepfe { display: flex; gap: 8px; flex-wrap: wrap; }
.red-btn { height: 34px; padding: 0 14px; border: 1px solid var(--border2, #d6d9d2); border-radius: var(--r-feld, 9px); background: var(--surface, #fff); color: var(--text, #1f2420);
  font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.red-btn:hover:not(:disabled) { border-color: var(--text3, #8a918b); }
.red-btn.primaer { background: var(--flora, #1e5631); border-color: var(--flora, #1e5631); color: #fff; }
.red-btn:disabled { opacity: .45; cursor: not-allowed; }
.red-link { border: 0; background: none; padding: 2px 6px; color: var(--flora, #1e5631); font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; border-radius: 6px; }
.red-link:hover { background: rgba(30, 86, 49, .08); }
.red-link.warn { color: #a3282b; }
.red-termine { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; margin: 0 0 16px; }
.red-termin { background: var(--surface, #fff); border: 1px solid var(--border, #e3e5df); border-radius: var(--r-karte, 12px); padding: 10px 12px; font-size: 12.5px; }
.red-termin b { display: block; font-size: 13.5px; margin-bottom: 3px; }
.red-karte { background: var(--surface, #fff); border: 1px solid var(--border, #e3e5df); border-radius: var(--r-karte, 12px); padding: 14px 16px; margin: 0 0 14px; overflow-x: auto; }
.red-karte h3 { margin: 0 0 10px; font-size: 14px; }
.red-tab { width: 100%; border-collapse: collapse; font-size: 13px; }
.red-tab th { text-align: left; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text2, #5b625c); border-bottom: 2px solid var(--border2, #d6d9d2); padding: 7px 8px; }
.red-tab td { border-bottom: 1px solid var(--border, #e3e5df); padding: 8px; vertical-align: top; }
.red-tab td small { display: block; color: var(--text2, #5b625c); font-size: 11.5px; margin-top: 2px; }
.red-tab .z { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.red-tab .nr { font-weight: 700; white-space: nowrap; }
.red-akt { white-space: nowrap; }
.red-leer { padding: 22px; text-align: center; color: var(--text2, #5b625c); }
.red-status { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 700; background: #eceee9; color: #4a524c; }
.red-status.ok { background: #e3f1e6; color: #1e5631; }
.red-status.laeuft { background: #e5eef8; color: #24527a; }
.red-status.warn { background: #fdf1d8; color: #7a4e00; }
.red-status.fehler { background: #fbe4e4; color: #a3282b; }
.red-fehler { color: #a3282b !important; }
.red-warn { color: #7a4e00 !important; }
.red-spalten { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 14px; align-items: start; }
@media (max-width: 1100px) { .red-spalten { grid-template-columns: 1fr; } }
.red-themen { list-style: none; margin: 0; padding: 0; font-size: 13px; }
.red-themen li { padding: 6px 0; border-top: 1px solid var(--border, #e3e5df); }
.red-thema { display: inline-block; margin: 2px 4px 2px 0; padding: 1px 7px; border-radius: 6px; background: #f1f3ee; }
.red-thema.geschrieben { background: #e3f1e6; } .red-thema.fehlt { background: #fbe4e4; }
.red-form label { display: block; margin: 0 0 10px; font-size: 12.5px; font-weight: 600; color: var(--text2, #5b625c); }
.red-form input:not([type=checkbox]), .red-form select, .red-form textarea { display: block; width: 100%; margin-top: 4px; padding: 7px 9px; border: 1px solid var(--border2, #d6d9d2);
  border-radius: var(--r-feld, 9px); font: inherit; font-size: 13px; color: var(--text, #1f2420); background: var(--surface, #fff); box-sizing: border-box; }
.red-form fieldset { border: 0; padding: 0; margin: 0 0 10px; }
.red-form legend { font-size: 12.5px; font-weight: 600; color: var(--text2, #5b625c); margin-bottom: 4px; }
.red-check { display: flex !important; align-items: center; gap: 6px; font-weight: 500 !important; color: var(--text, #1f2420) !important; }
.red-check.inline { display: inline-flex !important; margin-right: 12px !important; }
.red-check small { color: var(--text2, #5b625c); }
.red-wuensche { list-style: none; margin: 12px 0 0; padding: 0; font-size: 13px; }
.red-wuensche li { padding: 8px 0; border-top: 1px solid var(--border, #e3e5df); }
.red-wuensche small { display: block; color: var(--text2, #5b625c); font-size: 11.5px; }
.red-wstatus { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--text2, #5b625c); }
.red-folge { list-style: none; margin: 0; padding: 0; font-size: 13px; }
.red-folge li { padding: 7px 0; border-top: 1px solid var(--border, #e3e5df); line-height: 1.9; }
.red-block { display: inline-block; width: 22px; height: 22px; border-radius: 6px; color: #fff; text-align: center; line-height: 22px; font-weight: 800; margin-right: 6px; }
.red-rub { display: inline-block; padding: 0 7px; border-left: 4px solid #ccc; margin: 0 4px 0 0; background: #f6f7f4; line-height: 1.7; }
.red-rub.rot { font-style: italic; }
.red-kommt { max-width: 640px; margin: 40px auto; text-align: center; }
.red-kommt h2 { font-family: Georgia, serif; font-style: italic; }
.red-ov { position: fixed; inset: 0; z-index: 3000; background: rgba(20, 24, 21, .55); display: flex; align-items: stretch; justify-content: center; padding: 3vh 3vw; }
.red-ov-fenster { background: var(--surface, #fff); border-radius: 14px; display: flex; flex-direction: column; width: min(1320px, 100%); overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, .3); }
.red-ov-kopf { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--border, #e3e5df); }
.red-ov-kopf span { display: flex; gap: 8px; }
.red-ov-inhalt { flex: 1; min-height: 0; overflow: auto; }
.red-heft { display: block; width: 100%; height: 100%; min-height: 80vh; border: 0; background: #e4e8e2; }
.red-details { padding: 16px 20px 30px; font-size: 13px; }
.red-details h3 { margin: 18px 0 8px; font-size: 14px; }
.red-details h4 { margin: 10px 0 4px; font-size: 13px; }
.red-fkzeile { font-weight: 600; }
.red-fk { margin: 0; padding-left: 18px; }
.red-fk small { display: block; color: var(--text2, #5b625c); }
.red-fkerg { font-size: 11px; font-weight: 700; text-transform: uppercase; color: #7a4e00; }
.red-log tr.fehler td { color: #a3282b; } .red-log tr.warnung td { color: #7a4e00; } .red-log tr.abbruch td { color: #a3282b; }
.red-planliste { margin: 0; padding-left: 18px; }
/* 2026-10-30 (RED1): Sonderausgaben — Kennzeichnung im Archiv, Vorschläge der Planung, Formular */
#red-shell .red-tab tr.red-sonder td.nr{color:#2c5a3b}
#red-shell .red-spezial{display:inline-block;margin-top:2px;padding:1px 6px;border-radius:4px;background:#e7efe5;color:#2c5a3b;font-size:11px;font-weight:600}
#red-shell .red-vorschlaege li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
#red-shell .red-vorschlaege li small{flex-basis:100%}
.red-ov .red-sonder{max-width:640px;padding:16px 18px}
.red-ov .red-sonder input[type=radio]{display:inline-block;width:auto;margin:0 4px 0 0}
.red-ov .red-sonder input[name=termin]{width:auto}
.red-ov .red-sonder fieldset{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
/* 2026-10-30 (RED1): Drucken nur über das PDF (Bildschirm-Ansicht ist keine Druckvorlage) */
.red-ov .red-druckhinweis{font-size:12.5px;color:var(--text2,#5b625c);align-self:center}
#red-shell .red-link.red-pdf{font-weight:700}
/* RED1a 2026-10-31 (Martin: zwei Reiter hervorgehoben): aktiver Reiter eindeutig — weiß hinterlegt, dunkle Schrift; Hover/Fokus nie wie aktiv
   (nur hellere Schrift mit Unterstrich, Fokus über die Tastatur als Rahmen) */
#red-shell .red-reiter button:hover:not(.on) { background: none; color: #fff; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
#red-shell .red-reiter button.on, #red-shell .red-reiter button.on:hover { background: #fff; color: var(--bar, #1f3d2b); text-decoration: none; }
#red-shell .red-reiter button:focus:not(:focus-visible) { outline: none; }
/* RED1a 2026-10-31: schmale Fenster (Handy, 390 px) — Leiste ohne Schriftzug/Kosten, Reiter waagrecht wischbar, Tabellen scrollen in ihrer Karte */
@media (max-width: 760px) {
  #red-shell > .tool-back-bar { padding: 0 6px; gap: 2px; }
  #red-shell > .tool-back-bar .tool-back-btn > span, #red-shell > .tool-back-bar .tool-bar-div, #red-shell .red-titel, #red-shell .red-kosten { display: none; }
  #red-shell .red-reiter { margin-left: 2px; flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }
  #red-shell .red-reiter::-webkit-scrollbar { display: none; }
  #red-shell .red-reiter button { flex: none; padding: 0 10px; }
  #red-shell .red-inhalt { padding: 14px 12px 32px; }
  #red-shell .red-karte { overflow-x: auto; }
  #red-shell .red-kopf h2 { font-size: 23px; }
}
/* RED1b 2026-10-31: Fotos (Raster, auch am Handy), Bewertung je Artikel, „Was ankommt“, Flora-Chip, Presseportale */
.red-fotos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.red-foto { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; }
.red-foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; background: #e7ebe4; }
.red-foto small { display: block; color: var(--text2, #5b625c); margin-top: 2px; }
.red-foto.aus { opacity: .5; }
.red-foto-gross { width: 100%; max-height: 50vh; object-fit: contain; border-radius: 8px; }
.red-bewertung { list-style: none; margin: 0; padding: 0; }
.red-bewertung li { display: grid; grid-template-columns: 1fr auto auto minmax(140px, 220px); gap: 6px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--border, #e3e5df); }
.red-bewertung small { display: block; color: var(--text2, #5b625c); }
.red-daumen { border: 1px solid var(--border2, #d6d9d2); background: var(--surface, #fff); border-radius: 8px; height: 32px; min-width: 40px; cursor: pointer; font-size: 16px; }
.red-daumen.an { background: #e7efe5; border-color: #2c5a3b; }
.red-kommentar { height: 32px; border: 1px solid var(--border2, #d6d9d2); border-radius: 8px; padding: 0 8px; font: inherit; font-size: 12.5px; min-width: 0; }
.red-ankommt-liste { list-style: none; margin: 0 0 8px; padding: 0; font-size: 13px; }
.red-ankommt-liste li { display: flex; gap: 10px; padding: 3px 0; }
.red-ankommt-liste li b { flex: 1; font-weight: 600; }
.red-chip.flora { display: inline-block; padding: 0 6px; border-radius: 4px; background: #eef3e6; color: #2c5a3b; font-size: 11px; font-weight: 600; }
.red-presse table input, .red-presse table select { width: 100%; min-width: 80px; height: 30px; font: inherit; font-size: 12px; }
@media (max-width: 760px) {
  .red-bewertung li { grid-template-columns: 1fr auto auto; }
  .red-bewertung li .red-kommentar { grid-column: 1 / -1; }
  .red-fotos { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
}

/* ================================================================
   RED2 2026-10-31 · Redaktions-Dashboard (Entwurf red2_entwurf, von Martin abgenommen 31.10.2026) — Werte wie LandLord/Werkzeug-Rahmen (#app-shell):
   Grund #f5f5f3, Leiste #6b8470, Akzent #4e7a64, Karten 12 px, Felder 9 px, Systemschrift. Alles mit Vorsilbe r2- (keine Überschneidung mit team.css);
   Seitenfenster #red-dr, Rückfrage #red-frage und Menü #red-menue hängen an <body> und bekommen dieselben Farben.
   ================================================================ */
#red-shell, #red-dr, .r2-frage-ov, .r2-menue {
  --r2-bg: #f5f5f3; --r2-surface: #fff; --r2-surface2: #faf9f7; --r2-hover: #f0f0ed; --r2-border: #eaeae7; --r2-border2: #d8d8d4;
  --r2-text: #181816; --r2-text2: #64645e; --r2-text3: #8d8d86; --r2-accent: #4e7a64; --r2-accent-s: #e8f2ec; --r2-sage-d: #3a5c4a;
  --r2-warn: #9a6a12; --r2-warn-s: #fbf1dc; --r2-warn-r: #f0dcb0; --r2-alert: #b3261e; --r2-alert-s: #fbeaea; --r2-blau: #24527a; --r2-blau-s: #e5eef8;
  --r2-r-karte: 12px; --r2-r-feld: 9px; --r2-pop: 0 12px 32px rgba(24, 24, 22, .14), 0 2px 6px rgba(24, 24, 22, .06);
  --r2-font: -apple-system, 'Segoe UI', BlinkMacSystemFont, sans-serif;
}
#red-dr, .r2-frage-ov, .r2-menue { font-family: var(--r2-font); font-size: 13.5px; line-height: 1.4; color: var(--r2-text); -webkit-font-smoothing: antialiased; }
#red-dr *, .r2-frage-ov *, #red-shell .r2-seite * { box-sizing: border-box; }
#red-dr svg, .r2-frage-ov svg, #red-shell .r2-seite svg, #red-shell .r2-leiste-rechts svg { display: block; flex: none; }
/* Leiste: Titel als Knopf (zur Übersicht), rechts Kosten · Status · Einstellungen */
#red-shell .red-titel { border: 0; background: none; padding: 4px 8px; margin: 0; border-radius: 9px; font: inherit; font-size: 14.5px; font-weight: 650; color: #fff; cursor: pointer; }
#red-shell .red-titel:hover { background: rgba(255, 255, 255, .12); }
#red-shell .r2-leiste-rechts { margin-left: auto; display: flex; align-items: center; gap: 10px; }
#red-shell .r2-leiste-info { margin: 0; font-size: 12.5px; color: rgba(255, 255, 255, .8); white-space: nowrap; font-variant-numeric: tabular-nums; }
#red-shell .r2-leiste-info b { color: #fff; font-weight: 650; }
#red-shell .r2-leiste-status { display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 12px 0 10px; border-radius: 999px; background: rgba(255, 255, 255, .14); color: #fff; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
#red-shell .r2-leiste-status[hidden] { display: none; }
#red-shell .r2-leiste-status i { width: 8px; height: 8px; border-radius: 50%; background: #9fe0b8; box-shadow: 0 0 0 3px rgba(159, 224, 184, .25); }
#red-shell .r2-leiste-status.pause i { background: #f3c66b; box-shadow: 0 0 0 3px rgba(243, 198, 107, .28); }
#red-shell .r2-leiste-knopf { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 12px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 10px; background: transparent; color: #fff; font: inherit; font-size: 12.5px; font-weight: 600; white-space: nowrap; cursor: pointer; }
#red-shell .r2-leiste-knopf:hover { background: rgba(255, 255, 255, .12); }
#red-shell .r2-leiste-knopf svg { width: 15px; height: 15px; }
/* Seite */
#red-shell .r2-seite { max-width: 1240px; margin: 0 auto; padding: 0 6px 90px; color: var(--r2-text); font-family: var(--r2-font); font-size: 13.5px; line-height: 1.4; }
#red-shell .r2-seite.r2-breit { max-width: 1380px; }
#red-shell .r2-seite button, #red-dr button, .r2-frage-ov button, .r2-menue button, #red-dr input, #red-dr select, #red-dr textarea, #red-shell .r2-seite input, #red-shell .r2-seite select, .r2-frage-ov input, .r2-frage-ov textarea { font: inherit; color: inherit; }
#red-shell .r2-kopf { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 6px 0 20px; }
#red-shell .r2-kopf h1 { margin: 0; font-size: 22px; font-weight: 650; letter-spacing: -.01em; line-height: 1.2; }
#red-shell .r2-kopf p { margin: 4px 0 0; font-size: 13px; color: var(--r2-text2); }
#red-shell .r2-marke { font-weight: 650; color: var(--r2-text); }
#red-shell .r2-kopf-aktionen { display: flex; gap: 8px; flex-wrap: wrap; }
#red-shell .r2-unterkopf { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; }
#red-shell .r2-unterkopf h2 { margin: 0; font-size: 19px; font-weight: 650; }
#red-shell .r2-seite .red-kopf h2 { font-family: var(--r2-font); font-style: normal; font-size: 17px; font-weight: 650; }   /* Unterseiten: Kopf in der Schrift der Übersicht */
#red-shell .r2-abschnitt { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 26px 2px 10px; scroll-margin-top: 12px; }
#red-shell .r2-abschnitt h2 { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--r2-text3); }
.r2-textlink, #red-shell .r2-seite .r2-textlink, #red-dr .r2-textlink { border: 0; background: none; padding: 0; font-size: 12.5px; font-weight: 600; color: var(--r2-sage-d); cursor: pointer; text-decoration: none; }
.r2-textlink:hover { text-decoration: underline; }
/* Knöpfe */
.r2-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 34px; padding: 0 14px; border: 1px solid var(--r2-border2); border-radius: var(--r2-r-feld); background: var(--r2-surface); color: var(--r2-text) !important;
  font-size: 13px !important; font-weight: 500; line-height: 1.2; white-space: nowrap; text-decoration: none; cursor: pointer; transition: background .12s, border-color .12s, color .12s; }
.r2-btn svg { width: 15px; height: 15px; }
.r2-btn:hover { border-color: var(--r2-text3); }
.r2-btn.r2-primaer { background: var(--r2-accent); border-color: var(--r2-accent); color: #fff !important; font-weight: 600; }
.r2-btn.r2-primaer:hover { background: var(--r2-sage-d); border-color: var(--r2-sage-d); }
.r2-btn.r2-gefahr { background: var(--r2-alert); border-color: var(--r2-alert); color: #fff !important; font-weight: 600; }
.r2-btn.r2-ton { background: var(--r2-accent-s); border-color: transparent; color: var(--r2-sage-d) !important; font-weight: 600; }
.r2-btn.r2-ton:hover { background: var(--r2-accent); color: #fff !important; }
.r2-btn.r2-sm { min-height: 30px; padding: 0 11px; border-radius: 8px; font-size: 12.5px !important; }
.r2-btn.r2-sm svg { width: 14px; height: 14px; }
.r2-btn.r2-icon { width: 34px; padding: 0; }
.r2-btn.r2-sm.r2-icon { width: 30px; }
.r2-btn.r2-leise { border-color: transparent; background: none; color: var(--r2-text2) !important; }
.r2-btn.r2-leise:hover { background: var(--r2-hover); color: var(--r2-text) !important; }
.r2-btn:disabled { opacity: .45; cursor: not-allowed; }
.r2-btn:focus-visible, .r2-textlink:focus-visible, .r2-schalter:focus-visible { outline: 2px solid var(--r2-accent); outline-offset: 2px; }
/* Martin 31.10.: „Probeausgabe erzeugen“ sichtbar, aber schlicht (nicht grün) */
.r2-btn.r2-probe { font-weight: 600; }
/* Karten, Chips, Schalter */
.r2-karte { background: var(--r2-surface); border: 1px solid var(--r2-border); border-radius: var(--r2-r-karte); }
.r2-leer-karte { padding: 18px 20px; color: var(--r2-text2); }
.r2-chip { display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 9px; border-radius: 999px; white-space: nowrap; font-size: 11.5px; font-weight: 650; background: var(--r2-hover); color: var(--r2-text2); }
.r2-chip svg { width: 12px; height: 12px; }
.r2-chip.ok { background: var(--r2-accent-s); color: var(--r2-sage-d); }
.r2-chip.warn { background: var(--r2-warn-s); color: var(--r2-warn); }
.r2-chip.alert { background: var(--r2-alert-s); color: var(--r2-alert); }
.r2-chip.blau { background: var(--r2-blau-s); color: var(--r2-blau); }
.r2-chip.rand { background: var(--r2-surface); border: 1px solid var(--r2-border2); color: var(--r2-text2); font-weight: 550; }
.r2-chip.flora { background: #e6efe5; color: #1e5631; }
.r2-keim { width: 14px; height: 14px; border-radius: 50%; display: grid; place-items: center; background: #1e5631; color: #fff; }
.r2-keim svg { width: 9px; height: 9px; }
.r2-schalter { position: relative; flex: none; width: 42px; height: 24px; padding: 0; border-radius: 999px; border: 0; background: #cfcfc9; cursor: pointer; transition: background .15s; }
.r2-schalter::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .15s; }
.r2-schalter[aria-checked="true"] { background: var(--r2-accent); }
.r2-schalter[aria-checked="true"]::after { transform: translateX(18px); }
.r2-schalter.klein { width: 34px; height: 20px; }
.r2-schalter.klein::after { width: 14px; height: 14px; }
.r2-schalter.klein[aria-checked="true"]::after { transform: translateX(14px); }
.r2-schalter:disabled { opacity: .45; cursor: not-allowed; }
.r2-schalter-cb { -webkit-appearance: none; appearance: none; position: relative; flex: none; width: 42px; height: 24px; margin: 0; border-radius: 999px; background: #cfcfc9; cursor: pointer; transition: background .15s; }
.r2-schalter-cb::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .15s; }
.r2-schalter-cb:checked { background: var(--r2-accent); }
.r2-schalter-cb:checked::after { transform: translateX(18px); }
.r2-schalter-cb:focus-visible { outline: 2px solid var(--r2-accent); outline-offset: 2px; }
/* Nächste Ausgabe + Erscheinen */
#red-shell .r2-raster-oben { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: stretch; }
#red-shell .r2-held { padding: 22px 24px 20px; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; position: relative; overflow: hidden; }
#red-shell .r2-held::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--r2-accent); }
#red-shell .r2-held.pause::before { background: #d49a2a; }
#red-shell .r2-held-kopf { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
#red-shell .r2-augenbraue { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; color: var(--r2-text3); }
#red-shell .r2-held h2 { margin: 8px 0 0; font-size: 24px; font-weight: 700; letter-spacing: -.015em; line-height: 1.2; }
#red-shell .r2-held .r2-nr { color: var(--r2-sage-d); }
#red-shell .r2-held .r2-unter { margin: 5px 0 0; font-size: 13px; color: var(--r2-text2); }
#red-shell .r2-countdown { flex: none; min-width: 112px; padding: 10px 16px 11px; border-radius: 12px; background: var(--r2-accent-s); color: var(--r2-sage-d); text-align: center; }
#red-shell .r2-countdown b { display: block; font-size: 34px; font-weight: 750; line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
#red-shell .r2-countdown span { display: block; margin-top: 4px; font-size: 11.5px; font-weight: 600; }
#red-shell .r2-held-pause { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; background: var(--r2-warn-s); color: var(--r2-warn); font-size: 12.5px; font-weight: 600; }
#red-shell .r2-held-pause svg { width: 16px; height: 16px; }
#red-shell .r2-held.pause .r2-schritte, #red-shell .r2-held.pause .r2-countdown { opacity: .4; filter: grayscale(1); }
#red-shell .r2-held.pause.entsteht .r2-schritte, #red-shell .r2-held.pause.entsteht .r2-countdown { opacity: 1; filter: none; }   /* RED2 2026-11-01 (M6): begonnene Ausgabe läuft trotz Pause — Fortschritt nicht ausgrauen */
#red-shell .r2-schritte { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); }
#red-shell .r2-schritte li { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 2px; }
#red-shell .r2-schritte li::before { content: ''; position: absolute; top: 13px; left: calc(-50% + 16px); right: calc(50% + 16px); height: 2px; background: var(--r2-border2); }
#red-shell .r2-schritte li:first-child::before { display: none; }
#red-shell .r2-punkt { position: relative; z-index: 1; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; border: 2px solid var(--r2-border2); background: var(--r2-surface); color: var(--r2-text3); font-size: 12px; font-weight: 700; }
#red-shell .r2-punkt svg { width: 14px; height: 14px; }
#red-shell .r2-schritte b { margin-top: 7px; font-size: 12.5px; font-weight: 650; color: var(--r2-text2); }
#red-shell .r2-schritte small { margin-top: 2px; font-size: 11.5px; color: var(--r2-text3); font-variant-numeric: tabular-nums; white-space: nowrap; }
#red-shell .r2-schritte li.naechster .r2-punkt, #red-shell .r2-schritte li.laeuft .r2-punkt { border-color: var(--r2-accent); color: var(--r2-sage-d); box-shadow: 0 0 0 4px var(--r2-accent-s); }
#red-shell .r2-schritte li.laeuft .r2-punkt { border-color: var(--r2-blau); color: var(--r2-blau); box-shadow: 0 0 0 4px var(--r2-blau-s); }
#red-shell .r2-schritte li.fehler .r2-punkt { border-color: var(--r2-alert); color: var(--r2-alert); box-shadow: 0 0 0 4px var(--r2-alert-s); }
#red-shell .r2-schritte li.naechster b, #red-shell .r2-schritte li.laeuft b { color: var(--r2-text); }
#red-shell .r2-schritte li.naechster small { color: var(--r2-sage-d); font-weight: 600; }
#red-shell .r2-schritte li.fertig .r2-punkt { border-color: var(--r2-accent); background: var(--r2-accent); color: #fff; }
#red-shell .r2-schritte li.fertig::before, #red-shell .r2-schritte li.naechster::before, #red-shell .r2-schritte li.laeuft::before { background: var(--r2-accent); }
#red-shell .r2-schritte-handy { display: none; align-items: center; gap: 8px; margin-top: -6px; font-size: 12.5px; color: var(--r2-text2); }
#red-shell .r2-schritte-handy b { color: var(--r2-text); }
#red-shell .r2-schritte-handy svg { width: 15px; height: 15px; color: var(--r2-accent); }
#red-shell .r2-held-fuss { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--r2-border); }
#red-shell .r2-kosten { flex: 1 1 300px; max-width: 420px; }
#red-shell .r2-kosten-zeile { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; color: var(--r2-text2); }
#red-shell .r2-kosten-zeile b { font-size: 15px; color: var(--r2-text); font-variant-numeric: tabular-nums; }
#red-shell .r2-balken { position: relative; height: 8px; margin-top: 7px; border-radius: 999px; background: var(--r2-hover); overflow: hidden; }
#red-shell .r2-balken i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 999px; background: var(--r2-accent); }
#red-shell .r2-balken i.warn { background: #d49a2a; }
#red-shell .r2-kosten small { display: block; margin-top: 6px; font-size: 11.5px; color: var(--r2-text3); }
#red-shell .r2-held-aktionen { display: flex; gap: 8px; flex-wrap: wrap; }
#red-shell .r2-held-hinweis { display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin-top: -4px; border-radius: 10px; background: var(--r2-surface2); border: 1px solid var(--r2-border); font-size: 12.5px; color: var(--r2-text2); }
#red-shell .r2-held-hinweis svg { width: 16px; height: 16px; color: var(--r2-accent); }
#red-shell .r2-held-hinweis b { color: var(--r2-text); font-weight: 650; }
#red-shell .r2-held-hinweis .r2-textlink { margin-left: auto; white-space: nowrap; }
#red-shell .r2-erscheinen { padding: 18px 18px 14px; display: flex; flex-direction: column; }
#red-shell .r2-pause-zeile { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 10px; background: var(--r2-surface2); border: 1px solid var(--r2-border); }
#red-shell .r2-pause-zeile b { display: block; font-size: 14px; font-weight: 650; }
#red-shell .r2-pause-zeile small { display: block; margin-top: 2px; font-size: 12px; color: var(--r2-text2); }
#red-shell .r2-erscheinen > p { margin: 8px 2px 0; font-size: 12px; line-height: 1.45; color: var(--r2-text3); }
#red-shell .r2-erscheinen h3 { margin: 16px 2px 6px; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--r2-text3); }
#red-shell .r2-termine { list-style: none; margin: 0; padding: 0; }
#red-shell .r2-termine li { display: flex; align-items: center; gap: 12px; padding: 9px 2px; border-top: 1px solid var(--r2-border); }
#red-shell .r2-termine li:first-child { border-top: 0; }
#red-shell .r2-kal { flex: none; width: 40px; height: 42px; border-radius: 9px; border: 1px solid var(--r2-border2); background: var(--r2-surface); text-align: center; overflow: hidden; }
#red-shell .r2-kal span { display: block; height: 14px; font-size: 9.5px; font-weight: 700; line-height: 14px; letter-spacing: .05em; text-transform: uppercase; background: var(--r2-accent-s); color: var(--r2-sage-d); }
#red-shell .r2-kal b { display: block; font-size: 16px; font-weight: 700; line-height: 26px; font-variant-numeric: tabular-nums; }
#red-shell .r2-termin-text { flex: 1; min-width: 0; }
#red-shell .r2-termin-text b { display: block; font-size: 13px; font-weight: 650; }
#red-shell .r2-termin-text small { display: block; font-size: 11.5px; color: var(--r2-text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#red-shell .r2-termin-schalter { display: flex; align-items: center; gap: 7px; margin: 0; font-size: 11.5px; font-weight: 600; color: var(--r2-text2); cursor: pointer; }
#red-shell .r2-termine li.ausgesetzt .r2-kal, #red-shell .r2-termine li.ausgesetzt .r2-termin-text, #red-shell .r2-termine li.pausiert .r2-kal, #red-shell .r2-termine li.pausiert .r2-termin-text { opacity: .45; }
#red-shell .r2-termine li.ausgesetzt .r2-termin-text b { text-decoration: line-through; }
#red-shell .r2-termine li.ausgesetzt .r2-termin-schalter, #red-shell .r2-termine li.pausiert .r2-termin-schalter { color: var(--r2-warn); }
#red-shell .r2-termine li.entsteht .r2-termin-schalter { color: var(--r2-sage-d); }   /* RED2 2026-11-01 (M6): begonnene Ausgabe läuft trotz Pause zu Ende */
/* Kennzahlen */
#red-shell .r2-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
#red-shell .r2-kpi { padding: 14px 16px 13px; display: flex; gap: 12px; align-items: flex-start; min-width: 0; }
#red-shell .r2-kpi > div:last-child { min-width: 0; }
#red-shell .r2-kpi-ic { flex: none; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--r2-accent-s); color: var(--r2-sage-d); }
#red-shell .r2-kpi-ic svg { width: 17px; height: 17px; }
#red-shell .r2-kpi-wert { font-size: 21px; font-weight: 700; line-height: 1.15; font-variant-numeric: tabular-nums; }
#red-shell .r2-kpi-wert.leer { color: var(--r2-text3); }
#red-shell .r2-kpi-lbl { margin-top: 2px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--r2-text3); }
#red-shell .r2-kpi-sub { margin-top: 5px; font-size: 12px; color: var(--r2-text2); overflow-wrap: anywhere; }
#red-shell .r2-kpi-sub .r2-textlink { font-size: 12px; }
/* Letzte Hefte */
#red-shell .r2-heft { display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 22px; padding: 20px 22px 18px; margin-bottom: 12px; }
#red-shell .r2-titelbild { position: relative; width: 118px; aspect-ratio: 210 / 297; border-radius: 6px; overflow: hidden; background: linear-gradient(160deg, #3d6b4e 0%, #2c5a3b 60%, #1f4a30 100%); color: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .12), 0 6px 16px rgba(24, 24, 22, .12); display: flex; flex-direction: column; justify-content: space-between; padding: 9px 8px; }
#red-shell .r2-titelbild img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#red-shell .r2-titelbild.mit-bild::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .35) 0%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .55) 100%); }
#red-shell .r2-tb-name, #red-shell .r2-tb-titel { position: relative; z-index: 1; }
#red-shell .r2-tb-name { font-size: 11px; font-weight: 750; letter-spacing: -.01em; line-height: 1.1; }
#red-shell .r2-tb-titel { font-size: 9.5px; font-weight: 700; line-height: 1.2; }
#red-shell .r2-heft-haupt { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 16px; align-content: start; }
#red-shell .r2-mini-kpis, #red-shell .r2-heft-ablauf, #red-shell .r2-warnungen { grid-column: 1 / -1; }
#red-shell .r2-heft-chips { display: flex; gap: 6px; flex-wrap: wrap; }
#red-shell .r2-heft h3 { margin: 7px 0 0; font-size: 19px; font-weight: 700; letter-spacing: -.01em; }
#red-shell .r2-heft-meta { margin-top: 3px; font-size: 12.5px; color: var(--r2-text2); }
#red-shell .r2-rot { color: var(--r2-alert); }
#red-shell .r2-heft-aktionen { display: flex; gap: 6px; flex: none; align-self: start; }
#red-shell .r2-mini-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
#red-shell .r2-mini { padding: 9px 12px; border-radius: 10px; background: var(--r2-surface2); border: 1px solid var(--r2-border); min-width: 0; }
#red-shell .r2-mini-wert { display: flex; align-items: center; gap: 7px; font-size: 16px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; }
#red-shell .r2-mini-wert.leer { color: var(--r2-text3); }
#red-shell .r2-mini-wert small { font-size: 12px; font-weight: 500; color: var(--r2-text3); }
#red-shell .r2-mini-lbl { margin-top: 2px; font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--r2-text3); }
#red-shell .r2-mini .r2-balken { height: 5px; margin-top: 6px; }
#red-shell .r2-ampel { width: 10px; height: 10px; flex: none; border-radius: 50%; background: var(--r2-border2); }
#red-shell .r2-ampel.rot { background: #c8402f; box-shadow: 0 0 0 3px var(--r2-alert-s); }
#red-shell .r2-ampel.gelb { background: #d49a2a; box-shadow: 0 0 0 3px var(--r2-warn-s); }
#red-shell .r2-ampel.gruen { background: var(--r2-accent); box-shadow: 0 0 0 3px var(--r2-accent-s); }
#red-shell .r2-ablauf { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 4px; }
#red-shell .r2-ablauf span { display: block; height: 6px; border-radius: 3px; background: var(--r2-accent); }
#red-shell .r2-ablauf span.warn { background: #d49a2a; }
#red-shell .r2-ablauf span.alert { background: #c8402f; }
#red-shell .r2-ablauf span.offen { background: var(--r2-border2); }
#red-shell .r2-ablauf span.laeuft { background: var(--r2-blau); }
#red-shell .r2-ablauf-lbl { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 4px; margin-top: 5px; font-size: 11px; color: var(--r2-text3); }
#red-shell .r2-ablauf-lbl em { font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#red-shell .r2-ablauf-lbl em.warn { color: var(--r2-warn); font-weight: 650; }
#red-shell .r2-ablauf-lbl em.alert { color: var(--r2-alert); font-weight: 650; }
#red-shell .r2-warnungen { border-top: 1px solid var(--r2-border); padding-top: 12px; }
#red-shell .r2-warnungen.r2-ruhig { display: flex; align-items: center; gap: 10px; justify-content: space-between; }
#red-shell .r2-warnungen summary { list-style: none; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; cursor: pointer; }
#red-shell .r2-warnungen summary::-webkit-details-marker { display: none; }
#red-shell .r2-auf { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; font-weight: 600; color: var(--r2-sage-d); }
#red-shell .r2-auf svg { width: 14px; height: 14px; transition: transform .15s; }
#red-shell .r2-warnungen[open] .r2-auf svg { transform: rotate(180deg); }
#red-shell .r2-auf .zu-txt, #red-shell .r2-warnungen[open] .r2-auf .auf-txt { display: none; }
#red-shell .r2-warnungen[open] .r2-auf .zu-txt { display: inline; }
#red-shell .r2-befunde { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 9px 14px; margin: 12px 0 0; padding: 14px 16px; border-radius: 10px; background: var(--r2-surface2); border: 1px solid var(--r2-border); font-size: 12.5px; }
#red-shell .r2-befunde dt { font-weight: 650; color: var(--r2-text2); padding-top: 2px; }
#red-shell .r2-befunde dd { margin: 0; display: flex; flex-wrap: wrap; gap: 5px; align-items: center; color: var(--r2-text2); min-width: 0; }
#red-shell .r2-rub { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 6px; background: var(--r2-surface); border: 1px solid var(--r2-border2); font-size: 12px; font-weight: 550; color: var(--r2-text); white-space: nowrap; }
#red-shell .r2-rub.weg { text-decoration: line-through; color: var(--r2-text3); }
#red-shell .r2-zahl { font-variant-numeric: tabular-nums; }
#red-shell .r2-zahl b { color: var(--r2-text); }
#red-shell .r2-hinweisliste { margin: 0; padding-left: 16px; display: flex; flex-direction: column; gap: 3px; }
/* Themenwünsche + Fotos */
#red-shell .r2-raster-unten { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 16px; }
#red-shell .r2-karte-kopf { display: flex; align-items: center; gap: 8px; padding: 16px 18px 0; }
#red-shell .r2-karte-kopf h3 { margin: 0; font-size: 15px; font-weight: 650; }
#red-shell .r2-rechts { margin-left: auto; }
#red-shell .r2-wunsch-neu { display: flex; gap: 8px; padding: 14px 18px 4px; }
.r2-feld { height: 34px; padding: 0 11px; border: 1px solid var(--r2-border2); border-radius: var(--r2-r-feld); background: var(--r2-surface); font-size: 13px !important; color: var(--r2-text); outline: none; min-width: 0; }
.r2-feld::placeholder { color: var(--r2-text3); }
.r2-feld:focus { border-color: var(--r2-accent); box-shadow: 0 0 0 3px var(--r2-accent-s); }
.r2-feld:disabled { background: var(--r2-surface2); color: var(--r2-text3); }
textarea.r2-feld, .r2-feld-text { height: auto; padding: 8px 11px; resize: vertical; line-height: 1.4; width: 100%; }
select.r2-feld { padding-right: 30px; -webkit-appearance: none; appearance: none; background: var(--r2-surface) no-repeat right 10px center / 13px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364645e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
#red-shell .r2-wunsch-neu .r2-feld:first-child { flex: 1; }
#red-shell .r2-wuensche { list-style: none; margin: 0; padding: 6px 18px 10px; }
#red-shell .r2-wuensche li { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--r2-border); }
#red-shell .r2-wuensche li:first-child { border-top: 0; }
#red-shell .r2-wuensche li.r2-leer { color: var(--r2-text3); }
#red-shell .r2-wunsch-text { flex: 1; min-width: 0; }
#red-shell .r2-wunsch-text p { margin: 0; font-size: 13.5px; font-weight: 550; line-height: 1.35; overflow-wrap: anywhere; }
#red-shell .r2-wunsch-meta { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 6px; }
#red-shell .r2-karte-fuss { padding: 10px 18px 14px; border-top: 1px solid var(--r2-border); font-size: 12px; color: var(--r2-text3); display: flex; align-items: center; gap: 8px; }
#red-shell .r2-karte-fuss svg { width: 14px; height: 14px; }
#red-shell .r2-fotos-karte { display: flex; flex-direction: column; }
#red-shell .r2-fotos-karte .r2-karte-fuss { margin-top: auto; }
#red-shell .r2-ablage { margin: 14px 18px 0; padding: 22px 16px; border: 1.5px dashed var(--r2-border2); border-radius: 12px; background: var(--r2-surface2); display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; transition: border-color .12s, background .12s; }
#red-shell .r2-ablage.ueber { border-color: var(--r2-accent); background: var(--r2-accent-s); }
#red-shell .r2-ablage .r2-ic { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--r2-accent-s); color: var(--r2-sage-d); margin-bottom: 4px; }
#red-shell .r2-ablage .r2-ic svg { width: 24px; height: 24px; }
#red-shell .r2-ablage b { font-size: 14px; font-weight: 650; }
#red-shell .r2-ablage small { font-size: 12px; color: var(--r2-text2); }
#red-shell .r2-ablage .r2-btn { margin-top: 8px; }
#red-shell .r2-datei { position: relative; overflow: hidden; }
#red-shell .r2-datei input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
#red-shell .r2-ablage-status { font-size: 12px; color: var(--r2-text2); min-height: 16px; }
#red-shell .r2-regeln { list-style: none; margin: 0; padding: 12px 18px 14px; display: flex; flex-direction: column; gap: 8px; }
#red-shell .r2-regeln li { display: flex; gap: 9px; align-items: flex-start; font-size: 12.5px; color: var(--r2-text2); line-height: 1.4; }
#red-shell .r2-regeln li svg { width: 15px; height: 15px; margin-top: 1px; color: var(--r2-accent); }
#red-shell .r2-regeln li.warn svg { color: #d49a2a; }
#red-shell .r2-spaeter { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
#red-shell .r2-spaeter > div { display: flex; align-items: center; gap: 12px; padding: 13px 16px; border: 1px dashed var(--r2-border2); border-radius: var(--r2-r-karte); color: var(--r2-text3); font-size: 12.5px; min-width: 0; }
#red-shell .r2-spaeter svg { width: 18px; height: 18px; }
#red-shell .r2-spaeter b { color: var(--r2-text2); font-weight: 650; }
#red-shell .r2-spaeter .r2-chip { margin-left: auto; }
/* Rückfrage und Menü */
.r2-frage-ov { position: fixed; inset: 0; z-index: 9800; display: grid; place-items: center; padding: 16px; background: rgba(24, 24, 22, .42); }
.r2-frage { width: min(460px, 100%); padding: 20px 22px 18px; border-radius: 14px; background: var(--r2-surface); box-shadow: var(--r2-pop); }
.r2-frage h3 { margin: 0 0 8px; font-size: 17px; font-weight: 700; letter-spacing: -.01em; }
.r2-frage-text { font-size: 13px; color: var(--r2-text2); line-height: 1.5; }
.r2-frage-text p { margin: 0 0 8px; }
.r2-frage-wert { padding: 9px 12px; border-radius: 10px; background: var(--r2-surface2); border: 1px solid var(--r2-border); color: var(--r2-text); }
.r2-frage-feld { display: flex; flex-direction: column; gap: 6px; margin-top: 6px; font-weight: 600; color: var(--r2-text); }
.r2-frage-feld small { font-weight: 500; color: var(--r2-text3); }
.r2-frage-feld .r2-feld { width: 170px; }
/* RED2 2026-11-01 (M6): Pause-Rückfrage — was mit schon angelegten Ausgaben geschieht */
.r2-frage-betroffen { margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: var(--r2-surface2); border: 1px solid var(--r2-border); color: var(--r2-text); }
.r2-frage-betroffen[hidden], .r2-frage-betroffen li[hidden] { display: none; }
.r2-frage-betroffen ul { margin: 6px 0 0; padding-left: 18px; }
.r2-frage-betroffen li { margin: 4px 0; }
.r2-frage-knoepfe { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.r2-menue { position: fixed; z-index: 9700; min-width: 230px; padding: 6px; border-radius: 12px; background: var(--r2-surface); border: 1px solid var(--r2-border); box-shadow: var(--r2-pop); display: flex; flex-direction: column; }
.r2-menue button { border: 0; background: none; text-align: left; padding: 9px 12px; border-radius: 8px; font-size: 13px; color: var(--r2-text); cursor: pointer; }
.r2-menue button:hover:not(:disabled) { background: var(--r2-hover); }
.r2-menue button.warn { color: var(--r2-alert); }
.r2-menue button:disabled { color: var(--r2-text3); cursor: default; }
/* Einstellungen als Seitenfenster mit klebender Speichern-Leiste */
#red-dr { position: fixed; inset: 0; z-index: 9600; pointer-events: none; }   /* über dem Flora-Knopf (#fa-fab 9500), unter den Kurzmeldungen (10050) */
#red-dr.auf { pointer-events: auto; }
#red-dr:not(.auf) { display: none; }
.r2-schleier { position: absolute; inset: 0; background: rgba(24, 24, 22, .42); }
.r2-drawer { position: absolute; top: 0; right: 0; bottom: 0; width: min(620px, 100vw); display: flex; flex-direction: column; background: var(--r2-bg); box-shadow: -16px 0 40px rgba(24, 24, 22, .18); animation: r2-rein .22s ease; }
@keyframes r2-rein { from { transform: translateX(40px); opacity: .4; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .r2-drawer { animation: none; } }
body.r2-drawer-auf { overflow: hidden; }
.r2-dr-kopf { flex: none; display: flex; align-items: center; gap: 12px; padding: 0 14px 0 22px; height: 64px; background: var(--r2-surface); border-bottom: 1px solid var(--r2-border); }
.r2-dr-kopf h2 { margin: 0; font-size: 18px; font-weight: 700; letter-spacing: -.01em; }
.r2-dr-kopf p { margin: 1px 0 0; font-size: 12.5px; color: var(--r2-text2); }
.r2-dr-kopf .r2-btn { margin-left: auto; }
.r2-dr-index { flex: none; display: flex; gap: 6px; padding: 10px 22px; background: var(--r2-surface); border-bottom: 1px solid var(--r2-border); overflow-x: auto; scrollbar-width: none; }
.r2-dr-index::-webkit-scrollbar { display: none; }
.r2-dr-index a { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 11px; border-radius: 999px; border: 1px solid var(--r2-border2); font-size: 12.5px; font-weight: 550; color: var(--r2-text2); text-decoration: none; background: var(--r2-surface); }
.r2-dr-index a:hover { border-color: var(--r2-text3); color: var(--r2-text); }
.r2-dr-index a.on { background: var(--r2-accent-s); border-color: transparent; color: var(--r2-sage-d); font-weight: 650; }
.r2-dr-index a i { width: 7px; height: 7px; border-radius: 50%; background: #d49a2a; }
.r2-dr-inhalt { flex: 1; min-height: 0; overflow-y: auto; margin: 0; padding: 16px 22px 24px; display: flex; flex-direction: column; gap: 12px; scroll-padding-top: 12px; }
.r2-gruppe { background: var(--r2-surface); border: 1px solid var(--r2-border); border-radius: var(--r2-r-karte); scroll-margin-top: 12px; }
.r2-gruppe > summary { list-style: none; display: flex; align-items: center; gap: 12px; padding: 14px 16px; cursor: pointer; border-radius: var(--r2-r-karte); }
.r2-gruppe > summary::-webkit-details-marker { display: none; }
.r2-gruppe > summary:hover { background: var(--r2-surface2); }
.r2-gr-ic { flex: none; width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; background: var(--r2-accent-s); color: var(--r2-sage-d); }
.r2-gr-ic svg { width: 16px; height: 16px; }
.r2-gr-titel { flex: 1; min-width: 0; }
.r2-gr-titel b { display: block; font-size: 14.5px; font-weight: 650; }
.r2-gr-titel small { display: block; margin-top: 1px; font-size: 12px; color: var(--r2-text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.r2-gruppe[open] .r2-gr-titel small { display: none; }
.r2-gr-pfeil svg { width: 16px; height: 16px; color: var(--r2-text3); transition: transform .15s; }
.r2-gruppe[open] .r2-gr-pfeil svg { transform: rotate(180deg); }
.r2-gruppe[open] > summary { border-bottom: 1px solid var(--r2-border); border-radius: var(--r2-r-karte) var(--r2-r-karte) 0 0; }
.r2-gr-inhalt { padding: 6px 16px 14px; }
.r2-zeile { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--r2-border); position: relative; }
.r2-gr-inhalt > .r2-zeile:first-child, .r2-pause-gross + .r2-zeile { border-top: 0; }
.r2-zeile > label { font-size: 13px; font-weight: 600; color: var(--r2-text); }
.r2-zeile > label small { display: block; margin-top: 1px; font-size: 11.5px; font-weight: 500; color: var(--r2-text3); }
.r2-wert { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.r2-zeile .r2-feld { width: 100%; }
.r2-zeile .r2-feld.kurz { width: 96px; }
.r2-zeile .r2-feld.mittel { width: 150px; }
.r2-einheit { font-size: 12.5px; color: var(--r2-text2); }
.r2-klein { font-size: 11.5px; color: var(--r2-text3); margin: 0; }
.r2-zuletzt { text-align: right; }
.r2-zeile.geaendert::before { content: ''; position: absolute; left: -16px; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: #d49a2a; }
.r2-zeile.geaendert .r2-feld { border-color: #d9b46a; background: #fffcf4; }
.r2-vorher { font-size: 11.5px; color: var(--r2-warn); font-weight: 600; }
.r2-segment { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid var(--r2-border2); border-radius: var(--r2-r-feld); background: var(--r2-surface); }
.r2-segment button { height: 28px; padding: 0 12px; border: 0; border-radius: 7px; background: none; font-size: 13px; font-weight: 500; color: var(--r2-text2); cursor: pointer; }
.r2-segment button.on { background: var(--r2-accent-s); color: var(--r2-sage-d); font-weight: 650; }
.r2-segment.zahlen button { width: 38px; padding: 0; }
.r2-pause-gross { display: flex; align-items: center; gap: 14px; padding: 12px 14px; margin: 8px 0 4px; border-radius: 10px; background: var(--r2-surface2); border: 1px solid var(--r2-border); }
.r2-pause-gross div { flex: 1; }
.r2-pause-gross b { display: block; font-size: 14px; font-weight: 650; }
.r2-pause-gross small { display: block; margin-top: 2px; font-size: 12px; color: var(--r2-text2); line-height: 1.4; }
.r2-hinweis { display: flex; gap: 8px; align-items: flex-start; margin-top: 6px; padding: 9px 11px; border-radius: 9px; background: var(--r2-surface2); font-size: 12px; line-height: 1.45; color: var(--r2-text2); }
.r2-hinweis svg { width: 14px; height: 14px; margin-top: 1px; color: var(--r2-text3); }
.r2-empf-liste { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.r2-empf { display: flex; align-items: center; gap: 10px; padding: 9px 11px; border: 1px solid var(--r2-border2); border-radius: 10px; cursor: pointer; }
.r2-av { width: 30px; height: 30px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--r2-accent); color: #fff; font-size: 12px; font-weight: 700; }
.r2-empf b { display: block; font-size: 13px; }
.r2-empf small { display: block; font-size: 12px; color: var(--r2-text3); }
.r2-empf input { margin-left: auto; width: 17px; height: 17px; accent-color: var(--r2-accent); }
.r2-unter-titel { margin: 14px 0 2px; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--r2-text3); }
.r2-folge { margin-top: 12px; font-size: 12.5px; }
.r2-folge summary { cursor: pointer; font-weight: 600; color: var(--r2-sage-d); }
.r2-presse { margin-top: 8px; }
.r2-presse-tab { overflow-x: auto; border: 1px solid var(--r2-border); border-radius: 10px; }
.r2-presse-tab table input, .r2-presse-tab table select { width: 100%; min-width: 80px; height: 30px; font-size: 12px; }
.r2-dr-fuss { flex: none; display: flex; align-items: center; gap: 10px; padding: 12px 22px; background: var(--r2-surface); border-top: 1px solid var(--r2-border); box-shadow: 0 -6px 18px rgba(24, 24, 22, .06); }
.r2-stand { display: flex; align-items: center; gap: 9px; min-width: 0; font-size: 12.5px; color: var(--r2-text2); }
.r2-stand > span { min-width: 0; }
.r2-stand i { width: 9px; height: 9px; flex: none; border-radius: 50%; background: var(--r2-accent); }
.r2-stand b { display: block; font-size: 13px; color: var(--r2-text); }
.r2-stand small { display: block; font-size: 11.5px; color: var(--r2-text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.r2-dr-fuss.offen { background: #fffaf0; border-top-color: var(--r2-warn-r); }
.r2-dr-fuss.offen .r2-stand i { background: #d49a2a; box-shadow: 0 0 0 3px var(--r2-warn-s); }
.r2-dr-fuss.offen .r2-stand b { color: var(--r2-warn); }
.r2-knoepfe { margin-left: auto; display: flex; gap: 8px; flex: none; }
.r2-dr-fuss .r2-btn.r2-primaer { min-width: 116px; }
.r2-taste { display: inline-block; margin-left: 4px; padding: 0 5px; border-radius: 5px; background: rgba(255, 255, 255, .2); font-size: 11px; font-weight: 600; }
/* schmal / Handy (eine Spalte, 390 px ohne Querscrollen) */
@media (max-width: 1100px) {
  #red-shell .r2-raster-oben { grid-template-columns: 1fr; }
  #red-shell .r2-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  #red-shell > .tool-back-bar .tool-bar-div { display: block; margin: 0 4px; }
  #red-shell .red-titel { display: inline-flex; padding: 4px; }
  #red-shell .r2-leiste-info, #red-shell .r2-leiste-status, #red-shell .r2-lang { display: none !important; }
  #red-shell .r2-leiste-knopf { width: 38px; padding: 0; justify-content: center; border-color: rgba(255, 255, 255, .22); }
  #red-shell .r2-seite { padding: 0 2px calc(112px + env(safe-area-inset-bottom, 0px)); }   /* RED2 2026-11-01 (N11): Ende jeder Seite scrollt frei vom Flora-Knopf (unten 20 + 50 hoch) */
  #red-shell .r2-kopf { padding: 4px 2px 14px; }
  #red-shell .r2-kopf h1 { font-size: 20px; }
  #red-shell .r2-kopf-aktionen { width: 100%; display: grid; grid-template-columns: 1fr; }
  #red-shell .r2-kopf-aktionen .r2-btn { min-height: 40px; }
  #red-shell .r2-kopf-aktionen .r2-probe { order: -1; }
  #red-shell .r2-held { padding: 18px 16px 16px; gap: 16px; }
  #red-shell .r2-held h2 { font-size: 19px; }
  #red-shell .r2-held-kopf { gap: 12px; }
  #red-shell .r2-countdown { min-width: 0; padding: 8px 12px; }
  #red-shell .r2-countdown b { font-size: 26px; }
  #red-shell .r2-countdown span { font-size: 10.5px; }
  #red-shell .r2-schritte li b, #red-shell .r2-schritte li small { display: none; }
  #red-shell .r2-punkt { width: 24px; height: 24px; font-size: 11px; }
  #red-shell .r2-schritte li::before { top: 11px; left: calc(-50% + 13px); right: calc(50% + 13px); }
  #red-shell .r2-schritte-handy { display: flex; }
  #red-shell .r2-held-fuss { flex-direction: column; align-items: stretch; gap: 14px; }
  #red-shell .r2-kosten { flex: none; max-width: none; }
  #red-shell .r2-held-aktionen .r2-btn { flex: 1; min-height: 38px; }
  #red-shell .r2-held-aktionen .r2-btn.r2-icon { flex: none; width: 38px; }
  #red-shell .r2-held-hinweis { display: grid; grid-template-columns: 16px minmax(0, 1fr); align-items: start; }
  #red-shell .r2-held-hinweis svg { margin-top: 1px; }
  #red-shell .r2-held-hinweis .r2-textlink { grid-column: 2; margin-left: 0; justify-self: start; }
  #red-shell .r2-kpis { gap: 10px; margin-top: 12px; }
  #red-shell .r2-kpi { padding: 12px; gap: 10px; flex-direction: column; }
  #red-shell .r2-kpi-ic { width: 30px; height: 30px; }
  #red-shell .r2-kpi-wert { font-size: 19px; }
  #red-shell .r2-kpi-lbl { font-size: 10px; }
  #red-shell .r2-kpi-sub { font-size: 11.5px; }
  #red-shell .r2-heft { grid-template-columns: 76px minmax(0, 1fr); gap: 14px; padding: 16px 14px 14px; }
  #red-shell .r2-titelbild { width: 76px; padding: 6px 5px; }
  #red-shell .r2-tb-name { font-size: 8px; } #red-shell .r2-tb-titel { font-size: 7px; }
  #red-shell .r2-heft-haupt { display: contents; }
  #red-shell .r2-heft-kopf { grid-column: 2; min-width: 0; }
  #red-shell .r2-heft h3 { font-size: 16.5px; overflow-wrap: anywhere; }
  #red-shell .r2-heft-aktionen { grid-column: 1 / -1; order: 10; display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); }
  #red-shell .r2-heft-aktionen .r2-btn { min-height: 38px; width: auto; }
  #red-shell .r2-heft .r2-mini-kpis { order: 2; } #red-shell .r2-heft .r2-heft-ablauf { order: 3; } #red-shell .r2-heft .r2-warnungen { order: 4; }
  #red-shell .r2-warnungen summary .r2-chip { font-size: 11px; }
  #red-shell .r2-mini-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #red-shell .r2-mini { padding: 8px 10px; }
  #red-shell .r2-mini-wert { flex-wrap: wrap; white-space: normal; gap: 2px 6px; font-size: 15px; }
  #red-shell .r2-mini-wert small { font-size: 11px; }
  #red-shell .r2-ablauf-lbl { display: none; }
  #red-shell .r2-befunde { grid-template-columns: 1fr; gap: 4px; }
  #red-shell .r2-befunde dd { margin-bottom: 8px; }
  #red-shell .r2-raster-unten, #red-shell .r2-spaeter { grid-template-columns: 1fr; gap: 12px; }
  #red-shell .r2-spaeter { margin-top: 12px; }
  #red-shell .r2-spaeter > div { flex-wrap: wrap; }
  #red-shell .r2-wunsch-neu { flex-wrap: wrap; padding: 12px 14px 2px; }
  #red-shell .r2-wunsch-neu .r2-feld:first-child { flex: 1 1 100%; height: 40px; }
  #red-shell .r2-wunsch-neu select { flex: 1; height: 40px; }
  #red-shell .r2-wunsch-neu .r2-btn { min-height: 40px; }
  #red-shell .r2-wuensche { padding: 4px 14px 8px; }
  #red-shell .r2-karte-kopf { padding: 14px 14px 0; }
  #red-shell .r2-ablage { margin: 12px 14px 0; }
  #red-shell .r2-ablage .r2-btn { min-height: 42px; width: 100%; }
  #red-shell .r2-regeln { padding: 12px 14px; }
  #red-shell .r2-abschnitt { margin-top: 22px; }
  #red-shell .r2-unterkopf h2 { font-size: 17px; }
  .r2-drawer { width: 100vw; }
  .r2-dr-kopf { padding: 0 8px 0 16px; }
  .r2-dr-index { padding: 10px 16px; }
  .r2-dr-inhalt { padding: 12px 12px 20px; }
  .r2-zeile { grid-template-columns: 1fr; gap: 6px; }
  .r2-zeile.geaendert::before { left: -12px; }
  .r2-dr-fuss { padding: 10px 12px; }
  .r2-dr-fuss .r2-btn.r2-primaer { min-width: 0; }
  .r2-taste { display: none; }
}
