/* Steuerpult - nur Vorschau. Eigene, schlichte Optik, damit es sich klar
 * von der Seite abhebt. */
.g-pult-knopf {
  position: fixed; left: 16px; bottom: 16px; z-index: 2147483000;
  display: inline-flex; align-items: center; gap: 8px;
  font: 600 13px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  padding: 10px 14px; border: 0; border-radius: 999px; cursor: pointer;
  background: #ffbf3c; color: #1a1300; box-shadow: 0 6px 20px rgba(0,0,0,.25);
}
/* Die gefuellten Knoepfe der Gestaltung faerben Fokus/Hover dunkel - hier nicht. */
.g-pult-knopf:is(:hover, :focus, :focus-visible, :active) { background: #ffbf3c !important; color: #1a1300 !important; }
.g-pult-knopf:focus-visible { outline: 3px solid #1a1300 !important; outline-offset: 2px; }
.g-pult-knopf kbd { font: 700 11px/1 ui-monospace, monospace; background: rgba(0,0,0,.12); padding: 3px 6px; border-radius: 4px; }
.g-pult {
  position: fixed; top: 12px; right: 12px; bottom: 12px; width: 360px; z-index: 2147483001;
  overflow: auto; overscroll-behavior: contain;
  font: 400 13px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; letter-spacing: 0;
  color: #1c1c1c; background: #fffdf7; border: 1px solid #e6dcc3; border-radius: 12px;
  box-shadow: 0 18px 50px rgba(0,0,0,.28); padding: 0 14px 16px;
}
.g-pult[hidden] { display: none; }
.g-pult * { font-family: inherit !important; letter-spacing: 0 !important; box-sizing: border-box; zoom: 1 !important; }
.g-pult-kopf { position: sticky; top: 0; display: flex; justify-content: space-between; align-items: center; padding: 12px 0 8px; background: #fffdf7; z-index: 1; }
.g-pult-kopf strong { font-size: 15px; }
.g-pult-zu { border: 0; background: none; font-size: 24px; line-height: 1; cursor: pointer; color: #555; }
.g-pult-leise { color: #6b6455; font-size: 12px; margin: 2px 0 8px; }
.g-pult-leiste { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 8px; }
.g-pult-vergleich { font-size: 12px; display: flex; align-items: center; gap: 4px; }
.g-pult-gruppe { border-top: 1px solid #ece3cd; padding: 8px 0 4px; }
.g-pult-gruppe > summary { font-weight: 700; font-size: 13px; cursor: pointer; padding: 4px 0; text-transform: uppercase; letter-spacing: .04em !important; color: #6b5a2b; }
.g-pult-option { margin: 8px 0 10px; }
.g-pult-titel { font-weight: 600; margin-bottom: 5px; }
.g-pult-wahl { display: flex; flex-wrap: wrap; gap: 5px; }
.g-pult-wert, .g-pult-mini {
  font-family: inherit; font-size: 12px; font-weight: 500; line-height: 1.25; text-align: left; cursor: pointer;
  padding: 6px 9px; border: 1px solid #d8ccae; border-radius: 6px; background: #fff; color: #1c1c1c;
}
.g-pult-wert:hover, .g-pult-mini:hover { border-color: #a8934f; }
.g-pult-wert.an, .g-pult-mini.an { background: #1c1c1c; border-color: #1c1c1c; color: #fff; }
.g-pult-zahl { display: inline-block; min-width: 20px; padding: 1px 6px; border-radius: 999px; background: #ffbf3c; color: #1a1300; font-size: 11px; text-align: center; }
.g-pult-liste { list-style: none; margin: 8px 0; padding: 0; }
.g-pult-liste > li { border: 1px solid #ece3cd; border-radius: 8px; padding: 8px 10px; margin-bottom: 6px; background: #fff; }
.g-pult-liste > li.erledigt { opacity: .55; }
.g-pult-ktext { white-space: pre-wrap; margin: 4px 0; }
.g-pult-kaktionen { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.g-pult-meldung {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 2147483002;
  background: #1c1c1c; color: #fff; padding: 10px 16px; border-radius: 8px;
  font: 500 13px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
html.g-kommentarmodus, html.g-kommentarmodus * { cursor: crosshair !important; }
html.g-kommentarmodus .g-pult, html.g-kommentarmodus .g-pult * { cursor: auto !important; }
.g-ziel { outline: 2px dashed #ffbf3c !important; outline-offset: 2px !important; }
.g-hervor { outline: 3px solid #ffbf3c !important; outline-offset: 4px !important; transition: outline-color .3s; }
.g-pin {
  position: absolute; z-index: 2147482999; width: 26px; height: 26px; margin: -13px 0 0 -13px;
  border-radius: 50% 50% 50% 0; border: 2px solid #fff; background: #ffbf3c; color: #1a1300;
  font: 700 12px/22px -apple-system, BlinkMacSystemFont, sans-serif; text-align: center; cursor: pointer;
  box-shadow: 0 3px 10px rgba(0,0,0,.3);
}
.g-kform {
  position: fixed; z-index: 2147483003; width: 320px; padding: 12px;
  background: #fffdf7; border: 1px solid #e6dcc3; border-radius: 10px; box-shadow: 0 14px 40px rgba(0,0,0,.3);
  font: 400 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.g-kform label { display: block; font-weight: 600; margin-bottom: 8px; }
.g-kform input, .g-kform textarea { display: block; width: 100%; margin-top: 4px; padding: 7px 8px; border: 1px solid #d8ccae; border-radius: 6px; font: inherit; font-weight: 400; background: #fff; color: #1c1c1c; }
.g-kform-aktionen { display: flex; justify-content: flex-end; gap: 6px; }
@media (max-width: 600px) {
  .g-pult { top: auto; left: 8px; right: 8px; width: auto; max-height: 72vh; }
  .g-kform { left: 8px !important; right: 8px; width: auto; }
}
@media print { .g-pult, .g-pult-knopf, .g-pin { display: none !important; } }

/* Regler fuer andere Seiten ausblenden, ausser "alle Regler zeigen". */
.g-pult .g-pult-fremd { display: none; }
.g-pult.g-pult-alle .g-pult-fremd { display: block; opacity: .55; }
.g-pult-kregler { float: right; font-size: 11px; font-weight: 500; line-height: 1; padding: 3px 6px; border: 1px solid #e6dcc3; border-radius: 5px; background: #fff; color: #6b5a2b; cursor: pointer; }
.g-pult-kregler:hover { border-color: #a8934f; }

/* Suche: Treffer zeigen (auch fremde), alles andere aus. */
.g-pult-suche { width: 100%; box-sizing: border-box; margin: 2px 0 10px; padding: 8px 10px; font: inherit; font-size: 13px; border: 1px solid #cfd6de; border-radius: 6px; background: #fff; color: #10202e; }
.g-pult.g-pult-sucht .g-pult-gruppe:not(.g-pult-kommentare):not(.g-pult-treffer),
.g-pult.g-pult-sucht .g-pult-option:not(.g-pult-treffer) { display: none !important; }
.g-pult.g-pult-sucht .g-pult-treffer { display: block !important; opacity: 1 !important; }

/* Kompakter Kopf (Codex 13.10.: am Telefon begannen die Seitenregler erst bei
 * y=660). Kommentieren steht in der Leiste, die Liste ist eingeklappt. */
.g-pult-schalter { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: -2px 0 8px; }
.g-pult-schalter .g-pult-vergleich { font-size: 12px; }
.g-pult-kzahl { margin-left: -2px; align-self: center; }
.g-pult-kommentare > summary .g-pult-zahl { margin-left: 4px; }
.g-pult.g-pult-zielen { display: none !important; }
.g-pult-banner {
  position: fixed; left: 8px; right: 8px; bottom: 8px; z-index: 2147483002;
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 10px 12px; border-radius: 10px; background: #1c1c1c; color: #fff;
  font: 500 14px/1.35 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}
.g-pult-banner[hidden] { display: none; }
.g-pult-banner .g-pult-mini { flex: none; }
@media (max-width: 600px) {
  .g-pult { max-height: 78vh; padding: 0 12px 14px; }
  .g-pult-kopf { padding: 10px 0 4px; }
  .g-pult-hinweis { margin: 0 0 6px; }
  .g-pult-leiste { gap: 5px; margin-bottom: 6px; }
  .g-pult-mini { padding: 6px 8px; }
  .g-pult-suche { margin: 0 0 6px; padding: 7px 9px; }
  .g-pult-gruppe { padding: 6px 0 2px; }
}

/* Theme-Regeln fuer button/input (Hoehe 50 px, 15 px fett, Rand unten 15 px,
 * Polster 8/30 px) griffen auch im Pult - am Telefon war jeder Knopf 50 px
 * hoch. Alle Bedienelemente des Pults hier fest zuruecksetzen. */
:is(.g-pult, .g-kform, .g-pult-banner) :is(button, input, textarea) {
  height: auto !important; min-height: 0 !important; width: auto; margin: 0 !important;
  text-transform: none !important; box-shadow: none !important; letter-spacing: 0 !important;
}
.g-pult :is(.g-pult-wert, .g-pult-mini), .g-kform .g-pult-mini, .g-pult-banner .g-pult-mini {
  display: inline-block !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.25 !important; padding: 6px 9px !important;
}
.g-pult .g-pult-kregler { display: inline-block !important; font-size: 11px !important; font-weight: 500 !important; line-height: 1 !important; padding: 3px 6px !important; }
.g-pult .g-pult-zu { display: inline-block !important; padding: 0 4px !important; font-size: 24px !important; line-height: 1 !important; font-weight: 400 !important; }
.g-pult .g-pult-suche { display: block !important; width: 100% !important; padding: 8px 10px !important; font-size: 13px !important; line-height: 1.3 !important; margin: 2px 0 10px !important; }
.g-pult input[type="checkbox"] { display: inline-block !important; width: auto !important; vertical-align: middle; }
.g-kform :is(input, textarea) { display: block !important; width: 100% !important; margin-top: 4px !important; padding: 7px 8px !important; font-size: 14px !important; line-height: 1.35 !important; }
.g-pult-zahl[hidden] { display: none !important; }
@media (max-width: 600px) {
  .g-pult :is(.g-pult-wert, .g-pult-mini) { padding: 6px 8px !important; }
  .g-pult .g-pult-suche { margin: 0 0 6px !important; padding: 7px 9px !important; }
}

/* Gegenprobe 13.10.: Das Theme gibt jedem <aside> 100 px Rand unten - das
 * Pult endete 112 px ueber dem Fensterrand, quer am Telefon waren die ersten
 * Regler abgeschnitten. Der gelbe Knopf bekam Theme-Knopfmasse (50 px). */
.g-pult { margin: 0 !important; }
.g-pult-knopf { height: auto !important; min-height: 0 !important; margin: 0 !important; width: auto !important; line-height: 1 !important; }
html.g-pult-zielt .g-pult-knopf { display: none !important; }
.g-kform :is(input, textarea) { box-sizing: border-box !important; }
.g-pult-kzahl { cursor: pointer; border: 0; font: inherit; }
/* "Regler aller Seiten": fremde nicht mehr per Deckkraft (unter 4,5:1),
 * sondern beschriftet. */
.g-pult.g-pult-alle .g-pult-fremd { opacity: 1 !important; }
.g-pult.g-pult-alle details.g-pult-fremd > summary::after { content: " · andere Seite"; text-transform: none; font-weight: 500; color: #6b6455; }
.g-pult.g-pult-alle .g-pult-option.g-pult-fremd > .g-pult-titel::after { content: " (andere Seite)"; font-weight: 400; color: #6b6455; }
/* Gewaehlte Stelle bleibt markiert, solange das Formular offen ist. */
.g-gewaehlt { outline: 3px solid #ffbf3c !important; outline-offset: 3px !important; }
@media (max-width: 600px) {
  .g-kform.g-kform--unten { top: auto !important; bottom: 8px !important; }
}
.g-pult .g-pult-kzahl { padding: 1px 7px !important; font-size: 11px !important; line-height: 1.45 !important; font-weight: 700 !important; }
