/*
 * rppc-style.css
 *
 * Gestaltung des Protokoll-Cockpits. Übernimmt Farben/Bausteine aus
 * dem gemeinsam abgestimmten Mockup, aber als normale responsive
 * Seite (kein Handy-Rahmen) – funktioniert am Desktop genauso wie
 * am Handy.
 *
 * Begin CODE Teil 1 – Grundfarben & Layout
 */
.rppc-app{
  --bg:#EEF0F1;
  --surface:#FFFFFF;
  --surface-2:#E3E7E9;
  --ink:#1E2124;
  --muted:#5B6268;
  --line:#D7DADC;
  --accent:#A62639;
  --accent-ink:#FFFFFF;
  --amber:#B8791F;
  --amber-bg:#F3E4C8;
  --green:#3F7D4E;
  --green-bg:#DBEADD;
  --shadow: 0 18px 40px -22px rgba(20,15,14,0.35);
  /* Anpassung "Schriftgrößen-Regler" (Rückmeldung Christof
     13.09.2026): Grundlage 1 = normal, wird vom Regler in der
     Dokumentenansicht per JavaScript umgeschaltet. */
  --fs-scale:1;

  box-sizing:border-box;
  font-family:'Public Sans', system-ui, -apple-system, sans-serif;
  color:var(--ink);
  max-width:1300px;
  margin:0 auto;
  padding:8px 20px 48px;
}
.rppc-app *, .rppc-app *:before, .rppc-app *:after{ box-sizing:border-box; }
.rppc-app .rppc-oswald{ font-family:'Oswald', sans-serif; }

.rppc-lade-hinweis{ color:#5B6268; padding:24px 0; }

/* Tabs */
/* Anpassung "Auswahlbalken" (Rückmeldung Christof 13.09.2026): keine
   durchgehende, verbundene Leiste mehr (war zudem auf 520px begrenzt
   geblieben, obwohl alle anderen Ansichten schon auf volle Breite
   umgestellt sind) – jetzt drei eigenständige Buttons, klar getrennt,
   gemeinsam über die volle Breite verteilt und alle drei exakt
   gleich groß. */
.rppc-tabs{
  display:flex;
  gap:10px;
  margin:0 0 20px;
  width:100%;
}
.rppc-tab{
  appearance:none;
  flex:1 1 0;
  background:var(--surface);
  border:1.5px solid var(--line);
  color:var(--ink);
  font-family:'Oswald', sans-serif;
  font-weight:600;
  font-size:13.5px;
  letter-spacing:.03em;
  text-transform:uppercase;
  padding:14px 16px;
  border-radius:12px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  box-shadow:0 1px 0 var(--line);
}
.rppc-tab[aria-pressed="true"]{ background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }

/* Anpassung "Zähler lesbar" (Rückmeldung Christof 26.10.2026): vorher
   braune Fläche mit fast schwarzer, sehr kleiner Zahl – schwer zu lesen.
   Jetzt: kräftiger roter Kreis mit weißer, fetter Zahl (größer). Steht
   die Zahl auf 0, ist der Kreis grau (Klasse "rppc-count-null", wird
   von rppc-app.js gesetzt), die 0 bleibt sichtbar. Auf dem gedrückten
   (roten) Reiter umgekehrt: weißer Kreis mit roter Zahl bzw. hellgrauer
   Kreis mit grauer 0. */
.rppc-tab .rppc-count{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:24px; height:24px; padding:0 7px; border-radius:999px;
  background:var(--accent); color:#FFFFFF; font-family:'Public Sans', system-ui, -apple-system, sans-serif;
  font-size:14px; font-weight:800; line-height:1; letter-spacing:0;
}
.rppc-tab .rppc-count.rppc-count-null{ background:#6B7378; color:#FFFFFF; }
.rppc-tab[aria-pressed="true"] .rppc-count{ background:#FFFFFF; color:var(--accent); }
.rppc-tab[aria-pressed="true"] .rppc-count.rppc-count-null{ background:#E3E7E9; color:#4A5157; }

.rppc-view{ display:none; }
.rppc-view.active{ display:block; }

.rppc-screen-title{ font-family:'Oswald', sans-serif; font-weight:700; font-size:24px; margin:2px 0 4px; }
.rppc-screen-sub{ font-size:13.5px; color:var(--muted); margin:0 0 18px; }
/* Ende CODE Teil 1 */

/* Begin CODE Teil 2 – Suche, Filter, Liste, Karten */
.rppc-search{
  display:flex; align-items:center; gap:8px;
  background:var(--surface); border:1px solid var(--line); border-radius:12px;
  padding:10px 14px; margin-bottom:14px; max-width:420px;
}
.rppc-search svg{ flex:none; color:var(--muted); }
.rppc-search input{ border:none; outline:none; background:transparent; font:inherit; font-size:14px; color:var(--ink); width:100%; }

.rppc-filter-row{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
.rppc-filter-row + .rppc-filter-row{ margin-bottom:16px; }
.rppc-chip{
  appearance:none; border:1px solid var(--line); background:var(--surface); color:var(--ink);
  font:inherit; font-size:12.5px; font-weight:600; padding:7px 13px; border-radius:999px; cursor:pointer;
}
.rppc-chip[aria-pressed="true"]{ background:var(--ink); color:var(--bg); border-color:var(--ink); }

.rppc-list{ display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:12px; }
.rppc-empty{ text-align:center; color:var(--muted); font-size:13px; padding:40px 12px; border:1px dashed var(--line); border-radius:14px; grid-column:1/-1; }

.rppc-card{
  background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:14px 15px;
  display:flex; flex-direction:column; gap:8px; cursor:pointer; text-align:left; font-family:inherit; width:100%;
}
.rppc-card:hover{ border-color:var(--accent); }
.rppc-card.kein{ border-style:dashed; opacity:.85; }
.rppc-card-top{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.rppc-tag{
  font-family:'Oswald', sans-serif; font-size:10.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  color:var(--muted); background:var(--surface-2); padding:3px 8px; border-radius:6px;
}
.rppc-tag.kein{ background:var(--surface-2); color:var(--muted); }
.rppc-status{ display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; white-space:nowrap; }
.rppc-status svg{ width:11px; height:11px; }
.rppc-status.warten{ background:var(--amber-bg); color:var(--amber); }
.rppc-status.frei{ background:var(--green-bg); color:var(--green); }
.rppc-status.aenderung{ background:var(--amber-bg); color:var(--amber); }
.rppc-status.kein{ background:var(--surface-2); color:var(--muted); }
.rppc-card-title{ font-size:15px; font-weight:600; }
.rppc-card-meta{ display:flex; align-items:center; gap:6px; font-size:12px; color:var(--muted); font-variant-numeric:tabular-nums; }
.rppc-card-sign{ font-size:11px; color:var(--muted); display:flex; align-items:center; gap:5px; padding-top:7px; border-top:1px solid var(--line); margin-top:1px; }
.rppc-card-sign svg{ color:var(--green); width:12px; height:12px; flex:none; }

/* Anpassung "Bereich" (mit Christof abgestimmt, 09.09.2026): Monat-
   von/-bis-Auswahl, nur sichtbar wenn ein konkretes Jahr gewählt ist
   (siehe rppc-app.js/renderUebersicht()). */
.rppc-bereich-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.rppc-bereich-label{ font-family:'Oswald', sans-serif; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.rppc-bereich-row select{
  font:inherit; font-size:12.5px; font-weight:600; color:var(--ink); background:var(--surface);
  border:1px solid var(--line); border-radius:8px; padding:6px 10px;
}
.rppc-bereich-bis{ font-size:12px; color:var(--muted); }
.rppc-bereich-reset{
  appearance:none; border:none; background:none; color:var(--accent); font:inherit; font-size:12px; font-weight:600;
  text-decoration:underline; cursor:pointer; padding:0;
}
/* Ende CODE Teil 2 */

/* Begin CODE Teil 3 – Formular (Neu erstellen) */

/* Anpassung "Volle Breite" (Rückmeldung Christof 13.09.2026): das
   gesamte Eingabeformular steckt jetzt in einer Karte, die die volle
   Breite der Cockpit-Fläche nutzt, statt vorher lose und schmal
   (max. 560px) auf grauem Hintergrund zu stehen. Die Dokumentenansicht
   hat inzwischen ihr eigenes Aussehen als echte A4-Blätter, siehe
   ".rppc-schreibtisch"/".rppc-blatt" weiter unten (Punkt 10 +
   "A4-Seitenumbrüche"). */
.rppc-form-card{
  background:var(--surface); border:1px solid var(--line); border-radius:20px;
  padding:30px 34px 34px; box-shadow:0 18px 40px -26px rgba(20,15,14,0.25), 0 1px 0 var(--line);
}

.rppc-field{ margin-bottom:16px; }
.rppc-field label{ display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-bottom:7px; }
.rppc-field .rppc-label-hint{ text-transform:none; font-weight:500; letter-spacing:0; color:var(--muted); font-size:11px; }
.rppc-anlass-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(130px,1fr)); gap:8px; margin-bottom:16px; }
.rppc-anlass-btn{
  appearance:none; border:1.5px solid var(--line); background:var(--surface); color:var(--ink);
  font:inherit; font-size:12.5px; font-weight:600; line-height:1.25; padding:12px 6px; border-radius:12px;
  cursor:pointer; min-height:44px; text-align:center;
}
.rppc-anlass-btn[aria-pressed="true"]{ background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
/* Ab Desktop-Breite: feste 4 Spalten, mehr Platz, Text bricht nicht mehr um (Anpassung Punkt 2) */
@media (min-width:701px){
  .rppc-anlass-grid{ grid-template-columns:repeat(4, minmax(150px,1fr)); }
  .rppc-anlass-btn{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
}

.rppc-app input[type="text"], .rppc-app input[type="date"]{
  width:100%; font:inherit; font-size:14.5px; color:var(--ink); background:var(--surface);
  border:1.5px solid var(--line); border-radius:11px; padding:11px 12px; outline:none;
}
.rppc-app textarea{
  width:100%; font:inherit; font-size:13.5px; line-height:1.5; color:var(--ink); background:var(--surface);
  border:1.5px solid var(--line); border-radius:11px; padding:10px 12px; outline:none; resize:vertical;
}
/* Anpassung "Textfelder wachsen automatisch" (Rückmeldung Christof):
   Tagesordnung und Besprochene Punkte werden per JavaScript (autoGrow())
   automatisch höher statt intern zu scrollen – darum hier kein
   manuelles Ziehen (resize:none) und kein eigener Scrollbalken
   (overflow:hidden). Andere Textfelder (z. B. Ablehnungsgrund) sind
   davon nicht betroffen und bleiben wie bisher. */
#rppcTagesordnung, #rppcInhalt{ resize:none; overflow:hidden; }
.rppc-field-row{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.rppc-field-row .rppc-field-half{ flex:1; min-width:180px; }

/* Anpassung "Volle Breite": Datum/Ort/Beginn/Ende in einer Zeile zu
   vier, bleibt aber EIN Formular (keine getrennten Spaltenblöcke) –
   auf schmaleren Bildschirmen bricht die Zeile automatisch um. */
.rppc-field-row-4{ display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; margin-bottom:16px; }
@media (max-width:900px){
  .rppc-field-row-4{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:600px){
  .rppc-field-row-4{ grid-template-columns:1fr; }
}

.rppc-transfer-btn{
  appearance:none; width:100%; display:flex; align-items:center; justify-content:center; gap:7px;
  margin-top:8px; background:var(--surface-2); border:1.5px dashed var(--accent); color:var(--accent);
  font-family:'Oswald', sans-serif; font-weight:600; font-size:12px; padding:9px 10px; border-radius:10px; cursor:pointer;
}

.rppc-attendance-list{ display:flex; flex-direction:column; gap:6px; }
.rppc-attend-row{
  appearance:none; width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px;
  background:var(--surface); border:1.5px solid var(--line); border-radius:11px; padding:10px 12px; cursor:pointer; font:inherit; text-align:left;
}
.rppc-attend-name b{ font-size:13px; font-weight:600; }
.rppc-attend-name small{ display:block; font-size:11px; color:var(--muted); }
.rppc-attend-state{
  font-family:'Oswald', sans-serif; font-size:11px; font-weight:600; letter-spacing:.03em; text-transform:uppercase;
  padding:4px 10px; border-radius:999px; background:var(--surface-2); color:var(--muted); flex:none;
}
.rppc-attend-row[data-state="anwesend"] .rppc-attend-state{ background:var(--green-bg); color:var(--green); }
.rppc-attend-row[data-state="entschuldigt"] .rppc-attend-state{ background:var(--amber-bg); color:var(--amber); }
.rppc-attend-row[data-state="anwesend"]{ border-color:var(--green); }
.rppc-attend-row[data-state="entschuldigt"]{ border-color:var(--amber); }

/* Anpassung "Ersteller-Anzeige" (Rückmeldung Christof 13.09.2026) */
.rppc-eingeloggt-hinweis{
  display:flex; align-items:center; gap:8px;
  background:var(--green-bg); border:1px solid var(--green); color:#2b5636;
  border-radius:11px; padding:10px 12px; margin-bottom:16px; font-size:13px;
}
.rppc-eingeloggt-hinweis svg{ width:16px; height:16px; flex:none; color:var(--green); }
.rppc-eingeloggt-hinweis b{ color:#1c3d26; }

.rppc-file-row{ display:flex; align-items:center; gap:10px; background:var(--surface); border:1.5px dashed var(--line); border-radius:11px; padding:10px 12px; flex-wrap:wrap; }
.rppc-file-btn{
  appearance:none; border:1.5px solid var(--ink); background:var(--ink); color:var(--bg); font:inherit; font-size:12.5px; font-weight:700;
  padding:9px 14px; border-radius:9px; cursor:pointer; flex:none; display:inline-flex; align-items:center; gap:6px;
}
.rppc-file-name{ font-size:12.5px; color:var(--muted); }
.rppc-file-name.set{ color:var(--ink); font-weight:600; }

.rppc-kein-toggle-link{
  appearance:none; display:block; background:none; border:none; padding:0; font-family:'Oswald', sans-serif;
  font-size:12px; font-weight:600; letter-spacing:.02em; color:var(--accent); text-decoration:underline; cursor:pointer; margin-bottom:18px;
}

.rppc-submit-btn{
  appearance:none; border:none; background:var(--accent); color:var(--accent-ink); font-family:'Oswald', sans-serif; font-weight:600;
  font-size:14.5px; letter-spacing:.02em; padding:14px 26px; border-radius:12px; cursor:pointer; margin-top:6px;
}
.rppc-submit-btn:disabled{ opacity:.6; cursor:default; }
.rppc-hint{ font-size:12.5px; color:var(--muted); margin-top:10px; min-height:16px; }
.rppc-hint.warn{ color:var(--accent); font-weight:600; }

.rppc-revision-banner{
  background:var(--amber-bg); border:1px solid var(--amber); border-radius:12px; padding:12px 14px; margin-bottom:18px;
  display:flex; flex-direction:column; gap:8px;
}
.rppc-revision-head{ display:flex; align-items:center; gap:6px; font-family:'Oswald', sans-serif; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--amber); }
.rppc-revision-item{ background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:9px 10px; }
.rppc-revision-item p{ margin:4px 0 0; font-size:12px; color:var(--muted); line-height:1.45; }
/* Ende CODE Teil 3 */

/* Begin CODE Teil 4 – Dokumentenansicht (echte A4-Blätter, Briefkopf, Druck) */
/* Anpassung "A4-Seitenumbrüche" (Rückmeldung Christof 13.09.2026): das
   Protokoll wird nicht mehr als ein durchgehend langer Text in einer
   einzigen Karte angezeigt, sondern JavaScript-seitig (rppc-app.js,
   paginiereDokument()) auf echte, einzelne A4-Blätter aufgeteilt –
   mit sichtbarem Seitenumbruch am Blattende, genau wie bei Word. Die
   Blätter liegen auf einem grauen "Schreibtisch"-Hintergrund, bei
   schmalen Bildschirmen seitlich scrollbar (die Blätter selbst
   behalten ihre echten Papier-Proportionen). */
.rppc-schreibtisch{ background:var(--surface-2); border-radius:14px; padding:22px 0; overflow-x:auto; }
.rppc-blaetter{ display:flex; flex-direction:column; align-items:center; gap:20px; width:max-content; margin:0 auto; padding:0 18px; }
.rppc-blatt{
  background:#fff; width:794px; height:1123px; flex:none; position:relative; border-radius:2px;
  box-shadow:0 4px 18px -6px rgba(0,0,0,.3), 0 1px 0 rgba(0,0,0,.06);
}
.rppc-blatt-inhalt{ position:absolute; left:77px; right:77px; top:66px; bottom:56px; overflow:hidden; }
/* Dokumentbezeichnung + Datum links, Seitenzahl rechts – bewusst IMMER
   gleichbleibend groß, unabhängig vom Schriftgrößen-Regler
   (Rückmeldung Christof: "Fußzeile immer gleichbleibend"). */
.rppc-blatt-fuss{
  position:absolute; left:77px; right:77px; bottom:22px; display:flex; justify-content:space-between; gap:10px;
  font-size:10.5px; color:var(--muted); border-top:1px solid var(--line); padding-top:8px;
}
/* "Fortsetzung – …" auf Blatt 2, 3, … – ebenfalls Teil der Kopfzeile,
   bleibt darum ebenso immer gleich groß. */
.rppc-blatt-fortsetzung{ font-size:11px; color:var(--muted); font-style:italic; margin:0 0 14px; }

.rppc-doc-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:8px; }
.rppc-doc-logo{ flex:none; width:58px; height:auto; display:block; }
/* Briefkopf/Titel/Metadaten = Kopfzeile: bleiben auf Christofs
   ausdrücklichen Wunsch IMMER gleich groß, unabhängig vom
   Schriftgrößen-Regler – nur der Protokolltext darunter skaliert. */
.rppc-doc-addr{ text-align:right; font-size:11px; line-height:1.5; color:var(--muted); }
.rppc-doc-zvr{ text-decoration:underline; }
.rppc-doc-title{ font-family:'Oswald', sans-serif; text-align:center; padding:10px 0; margin:10px 0 16px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.rppc-doc-title-main{ display:block; font-weight:700; font-size:18px; letter-spacing:.04em; }
.rppc-doc-title-sub{ display:block; font-weight:500; font-size:12px; color:var(--muted); margin-top:3px; }
.rppc-doc-meta-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:8px 14px; margin-bottom:16px; }
.rppc-doc-meta-grid div{ display:flex; flex-direction:column; gap:1px; }
.rppc-doc-meta-grid span{ font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
.rppc-doc-meta-grid b{ font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; }
/* Anpassung Punkt 10 (Rückmeldung Christof 13.09.2026): normale
   Word-Standard-Ausrichtung linksbündig für Anwesend/Entschuldigt,
   Tagesordnung, Besprochene Punkte und allen sonstigen Fließtext im
   Dokument. Bewusst NICHT für .rppc-doc-addr (Briefkopf rechtsbündig,
   von Christof ausdrücklich so gewünscht) und .rppc-doc-title
   (Dokumenttitel, bleibt zentriert). */
.rppc-doc-block{ margin-bottom:15px; text-align:left; }
/* Ab hier: eigentlicher Protokolltext – reagiert auf den
   Schriftgrößen-Regler (--fs-scale, gesetzt in rppc-app.js). */
.rppc-doc-label{ display:block; font-family:'Oswald', sans-serif; font-size:calc(10.5px * var(--fs-scale)); font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--accent); margin-bottom:5px; text-align:left; }
.rppc-doc-block p{ margin:0; font-size:calc(13.5px * var(--fs-scale)); line-height:1.6; text-align:left; }
.rppc-doc-pre{ white-space:pre-wrap; text-align:left; }
.rppc-doc-sign-grid{ margin-top:20px; padding-top:14px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.rppc-doc-sign-col{ display:flex; flex-direction:column; gap:2px; font-size:calc(13px * var(--fs-scale)); }
.rppc-doc-sign-col-right{ text-align:right; }
.rppc-doc-sign-label{ font-size:calc(10px * var(--fs-scale)); text-transform:uppercase; letter-spacing:.05em; color:var(--muted); display:flex; align-items:center; gap:4px; }
.rppc-doc-sign-col-right .rppc-doc-sign-label{ justify-content:flex-end; color:var(--green); }
.rppc-doc-sign-label svg{ width:12px; height:12px; flex:none; }
.rppc-doc-sign-date{ font-size:calc(11.5px * var(--fs-scale)); color:var(--muted); }
.rppc-doc-file{ display:flex; align-items:center; gap:8px; background:var(--surface-2); border:1px dashed var(--line); border-radius:10px; padding:10px 12px; margin-bottom:7px; }
.rppc-doc-file a{ font-size:calc(13px * var(--fs-scale)); color:var(--ink); font-weight:600; }
.rppc-doc-file span{ font-size:calc(12px * var(--fs-scale)); color:var(--muted); }

/* Schriftgrößen-Regler (Rückmeldung Christof 13.09.2026) */
.rppc-groessen-regler{ display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.rppc-groessen-btn{
  appearance:none; background:var(--surface); border:1.5px solid var(--line); color:var(--ink);
  font-family:'Oswald', sans-serif; font-weight:600; font-size:12.5px; letter-spacing:.02em;
  padding:9px 15px; border-radius:10px; cursor:pointer;
}
.rppc-groessen-btn[aria-pressed="true"]{ background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }

/* "ca. X Seiten"-Angabe (Rückmeldung Christof 13.09.2026): in der
   Listenübersicht eine grobe Schätzung (siehe geschaetzte_seiten,
   class-rppc-rest.php), in der geöffneten Ansicht/Toolbar die
   exakte, tatsächlich berechnete Blattanzahl. */
.rppc-seiten-badge{
  display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:600; color:var(--muted);
  background:var(--surface-2); border-radius:999px; padding:3px 9px 3px 8px; flex:none;
}
.rppc-seiten-badge svg{ width:11px; height:11px; flex:none; }

/* Anpassung "Anhänge" (Rückmeldung Christof 13.09.2026) */
.rppc-anhang-item{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; background:var(--surface-2); border:1px solid var(--line); border-radius:10px; padding:8px 10px; margin-bottom:8px; }
.rppc-anhang-item .name{ font-size:12.5px; font-weight:600; }
.rppc-anhang-item .beschr{ font-size:11.5px; color:var(--muted); }
.rppc-anhang-item .entfernen{ margin-left:auto; background:none; border:none; color:var(--accent); font-size:12px; font-weight:700; cursor:pointer; flex:none; padding:0; }
#rppcAnhangBeschreibung{ margin-top:8px; }

.rppc-korrektur-link{
  appearance:none; border:none; background:none; padding:0; display:flex; align-items:center; gap:5px; font-family:'Oswald', sans-serif;
  font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.03em; color:var(--accent); cursor:pointer; margin-top:16px;
}
.rppc-doc-korrekturen{ margin-top:12px; display:flex; flex-direction:column; gap:6px; }
.rppc-doc-korrektur-item{ font-size:11.5px; color:var(--amber); background:var(--amber-bg); border-radius:8px; padding:7px 10px; display:flex; gap:5px; align-items:flex-start; }

.rppc-detail-toolbar{ display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.rppc-back-btn, .rppc-print-btn, .rppc-btn-outline, .rppc-btn-danger{
  appearance:none; display:flex; align-items:center; justify-content:center; gap:6px;
  border-radius:10px; font-family:'Oswald', sans-serif; font-weight:600; font-size:12.5px; cursor:pointer; padding:9px 14px;
}
.rppc-back-btn{ background:none; border:none; color:var(--muted); padding-left:0; }
.rppc-print-btn{ background:var(--surface); border:1px solid var(--line); color:var(--ink); }
.rppc-btn-outline{ background:transparent; border:1.5px solid var(--line); color:var(--ink); width:100%; padding:12px; font-size:13.5px; max-width:400px; }
.rppc-btn-danger{ background:var(--accent); border:none; color:var(--accent-ink); width:100%; padding:12px; font-size:13.5px; max-width:400px; }
.rppc-review-actions{ display:flex; flex-direction:column; gap:8px; margin-top:18px; max-width:400px; }
.rppc-approve-btn{
  appearance:none; border:none; background:var(--green); color:#fff; font-family:'Oswald', sans-serif; font-weight:600; font-size:13px;
  padding:11px 16px; border-radius:10px; cursor:pointer; display:flex; align-items:center; gap:6px;
}
.rppc-reject-box{ margin-top:16px; padding-top:16px; border-top:1px dashed var(--line); max-width:560px; }
.rppc-reject-box label{ display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--accent); margin-bottom:7px; }

.rppc-edit-banner{ background:var(--surface-2); border:1px solid var(--line); border-radius:12px; padding:12px 14px; margin-bottom:18px; font-size:12.5px; color:var(--muted); line-height:1.5; }
.rppc-edit-banner b{ color:var(--ink); }
/* Ende CODE Teil 4 */

/* Begin CODE Teil 5 – Toast, Druckansicht, Responsive */
.rppc-toast{
  position:fixed; left:50%; bottom:22px; transform:translateX(-50%) translateY(10px);
  background:var(--ink); color:var(--bg); font-size:13px; font-weight:600; padding:12px 18px; border-radius:11px;
  text-align:center; box-shadow:0 10px 24px -10px rgba(0,0,0,.5); opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease; z-index:9999;
}
.rppc-toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

.rppc-print-only{ display:none; }
/* Anpassung "Druckfunktion" (Rückmeldung Christof 13.09.2026): die
   vorherige Regel ("alles unsichtbar machen") hat zwar die leere
   Druckseite behoben, aber einen neuen Fehler mitgebracht: unsichtbar
   gemachte Elemente ("visibility:hidden") behalten ihren vollen Platz
   im Layout, wodurch der Drucker/das PDF danach mehrere LEERE Seiten
   anhängt, bis dieser unsichtbare Rest "aufgebraucht" ist. Die neue
   Technik entfernt den Rest der Seite stattdessen wirklich
   ("display:none", kein Platzverbrauch mehr) – unabhängig davon, wie
   tief das Cockpit im WordPress-Theme verschachtelt ist: ":has()"
   erkennt bei jedem Element automatisch, ob die Druckansicht
   irgendwo darin steckt, und lässt in dem Fall nur diesen einen
   "Ast" stehen. Jedes einzelne A4-Blatt entspricht jetzt außerdem
   exakt einer Papierseite (eigene Seitenumbrüche statt automatischer
   Fließtext-Umbrüche), darum "@page" mit Rand 0 – unsere eigenen
   Ränder/Fußzeile sind bereits Teil der Blatt-Gestaltung. */
@media print{
  @page{ size:A4; margin:0; }
  body *:not(.rppc-print-only):not(.rppc-print-only *):not(:has(.rppc-print-only)){
    display:none !important;
  }
  .rppc-print-only{ display:block !important; }
  .rppc-print-only .rppc-schreibtisch{ background:none; padding:0; overflow:visible; border-radius:0; }
  .rppc-print-only .rppc-blaetter{ display:block; width:auto; gap:0; padding:0; margin:0; }
  .rppc-print-only .rppc-blatt{ box-shadow:none; margin:0 auto; page-break-after:always; }
  .rppc-print-only .rppc-blatt:last-child{ page-break-after:auto; }
}

@media (max-width:600px){
  .rppc-app{ padding:8px 12px 48px; }
  .rppc-form-card{ padding:18px 16px 22px; border-radius:16px; }
  .rppc-doc-sign-grid{ grid-template-columns:1fr; }
  .rppc-tab{ font-size:11.5px; padding:12px 8px; gap:4px; }
}
/* Ende CODE Teil 5 */

/* Begin CODE Teil 6 – PDF-Ansicht (Anpassung 14.09.2026, Umstellung
   auf Word-Vorlage + PDF-Upload). Neue, PDF-basierte Protokolle
   werden nicht mehr als eigenes A4-Dokument zusammengesetzt (das
   bleibt weiterhin Teil 4 oben, ausschließlich für alte Einträge),
   sondern als eingebettete PDF angezeigt. */
.rppc-pdf-toolbar{ display:flex; justify-content:flex-end; margin-bottom:10px; }
.rppc-pdf-download-link{
  display:inline-flex; align-items:center; gap:7px; background:var(--ink); color:var(--bg);
  font-family:'Oswald', sans-serif; font-weight:600; font-size:12.5px; padding:9px 15px; border-radius:10px;
  text-decoration:none;
}
.rppc-pdf-download-link svg{ width:14px; height:14px; flex:none; }
.rppc-pdf-frame-wrap{
  background:var(--surface-2); border-radius:14px; padding:10px; overflow:hidden;
}
.rppc-pdf-frame{
  display:block; width:100%; height:75vh; min-height:420px; border:none; border-radius:8px; background:#fff;
}
@media (max-width:600px){
  .rppc-pdf-frame{ height:65vh; }
}
/* Ende CODE Teil 6 */
