/*
 * SC-MBP – Check-Seite (Besucher): Profil, Regler, Chart, Ergebnis
 * Version: v00-27
 * Changelog:
 *   v00-27 · 15.10.2026 · Dateiauswahl im Stil der Seite (scm-datei-*)
 *   v00-26 · 15.10.2026 · Coach-Eingabefeld so hoch wie die Knöpfe daneben (44 px, Innenabstand)
 *   v00-25 · 15.10.2026 · [hidden] gewinnt immer (die Warte-Punkte des Coaches waren vor dem Klick sichtbar); Karte Management Summary, Schritte, Folien-Überblick
 *   v00-24 · 15.10.2026 · Ausgeblendete Knöpfe/Absätze in der Ergebnis-Box bleiben ausgeblendet
 *   v00-23 · 15.10.2026 · Intro volle Breite, animierter Hinweis auf die Eintragung (scm-mailhinweis), Admin-Fenster (scm-admin-*), Vergleich gleiche Basis (scm-fb-gleich)
 *   v00-22 · 14.10.2026 · Wiederherstellen-Karte (scm-wh), Mehrwert-Kasten (scm-mehrwert), Stift ✎ (scm-stift)
 *   v00-22 · 14.10.2026 · PDF im SC-Web-Outfit, Projekt-Feld, Mehrwert vor dem Upload, Browser-Sicherung, Stift und Shift+Alt+A
 *   v00-21 · 14.10.2026 · Ergebnis-Karte oben (scm-eg-score), Kontaktzeile (scm-kontakt), gleich hohe Kategorien/Chart (scm-raster--gleich)
 *   v00-21 · 14.10.2026 · Persönliche Seite: Ergebnis-Karte oben, Kontaktzeile, Kategorien links, Chart rechts; PDF-Knopf sichtbar
 *   v00-20 · 14.10.2026 · Übersicht auf Weiß (Radar, Liste), Druck-Layout für den PDF-Bericht (@media print)
 *   v00-20 · 14.10.2026 · Ein Chart (weiß, nummerierte Farbpunkte, Liste, Info-Box) und PDF-Bericht (P5)
 *   v00-19 · 14.10.2026 · Weiße Eingabe-Karten und Chart-Karte (scm-hell), Info-Box (scm-info)
 *   v00-19 · 14.10.2026 · Chart über dem Gesamtergebnis, Chart-Erklärung als Info-Box, Anleitung zu, weiße Eingabe-Karten
 *   v00-18 · 14.10.2026 · Anleitung, Gesamtergebnis, Coach-Übersicht, Schnellfragen-Kästen, Eingabezeile mit Symbolknöpfen, Wartebewegung
 *   v00-18 · 14.10.2026 · Gesamtergebnis live, Anleitung, Coach-Übersicht, Eingabezeile mit Mikrofon, Wartebewegung
 *   v00-17 · 14.10.2026 · Mikrofon-Knopf (scm-mikro--an), Abdeckungs-Zeile (scm-abdeckung)
 *   v00-17 · 14.10.2026 · Medaille nach Gewichtsabdeckung, ehrliches Chart, Mikrofon, Fremdbild im Coach
 *   v00-16 · 14.10.2026 · nur Zwischenspeicher-Kennung (P3c Coach)
 *   v00-15 · 14.10.2026 · nur Zwischenspeicher-Kennung (Fremdbild: Darstellung, Häkchen-Führung)
 *   v00-14 · 14.10.2026 · nur Zwischenspeicher-Kennung (Fremdbild: Einwilligung, Antwort-Platz)
 *   v00-13 · 14.10.2026 · P4: Gestaltung des Fremdbilds auf der persönlichen Seite (scm-fb-…)
 *   v00-10 · 14.10.2026 · Formular „Ergebnis sichern“, persönliche Seite, Knopf scm-knopf--gold
 *   v00-09 · 14.10.2026 · Reglerfarben (grau, rot, gelb, grün), Knopf „Alle öffnen“, Logo-Link
 *   v00-08 · 14.10.2026 · Weißes Kopfband mit Logo und zweizeiligem Titel (scm-band, scm-logo, scm-titel), Absenderzeile
 *   v00-07 · 13.10.2026 · P2b-2: Gestaltung des Master-Modus (Raster, Felder, W-Tabelle, Knöpfe)
 *   v00-06 · 13.10.2026 · Erstfassung P2b-1: Gestaltung der Besucher-Seite auf Basis der Tokens aus sc.css (Navy/Gold),
 *                         zweispaltig am Desktop (Karten links, Chart und Ergebnis rechts, mitlaufend), einspaltig am Handy
 */
.scm-seite { max-width: 1120px; margin: 0 auto; padding: 24px 16px 64px; }
.scm-kopf { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.scm-kopf h1 { font-size: 1.5rem; margin: 0; line-height: 1.25; color: #fff; }
.scm-kopf small { display: block; color: var(--hell-3); font-size: .85rem; }
.scm-intro { color: var(--hell-2); margin: 0 0 18px; }

.scm-raster { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 20px; align-items: start; }
@media (max-width: 900px) { .scm-raster { grid-template-columns: 1fr; } }
.scm-seitenleiste { position: sticky; top: 12px; }
@media (max-width: 900px) { .scm-seitenleiste { position: static; } }

.scm-karte { background: var(--navy); border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius); padding: 18px; margin-bottom: 14px; }
.scm-karte h2 { font-size: 1.05rem; margin: 0 0 10px; color: var(--gold); }
.scm-karte p { margin: 0 0 10px; color: var(--hell-2); }
.scm-hinweis { font-size: .9rem; color: var(--hell-3); }

/* Schritt 1: Profil und Variante */
.scm-wahl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 560px) { .scm-wahl { grid-template-columns: 1fr; } }
.scm-wahl--zwei { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.scm-wahlknopf { appearance: none; text-align: left; border: 1px solid var(--hell-3); background: transparent; color: var(--hell-1);
  border-radius: 10px; padding: 10px 12px; cursor: pointer; font: inherit; line-height: 1.35; }
.scm-wahlknopf strong { display: block; color: #fff; }
.scm-wahlknopf small { color: var(--hell-3); }
.scm-wahlknopf[aria-pressed="true"] { border-color: var(--gold); background: rgba(255,192,0,.12); }
.scm-wahlknopf:focus-visible, .scm-regler:focus-visible, .scm-knopf:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.scm-profil-hinweis { margin-top: 12px; padding: 10px 12px; background: rgba(255,255,255,.05); border-left: 4px solid var(--gold);
  border-radius: 0 8px 8px 0; color: var(--hell-2); font-size: .92rem; }

/* Q */
.scm-q { display: grid; grid-template-columns: minmax(0, 1fr) 3rem; gap: 12px; align-items: center; }
.scm-q-wert { text-align: center; font-size: 1.4rem; font-weight: 800; color: var(--gold); }

/* Regler */
.scm-regler { width: 100%; accent-color: var(--gold); height: 28px; }
.scm-reglerzeile { display: grid; grid-template-columns: minmax(0, 1fr) 2.2rem; gap: 10px; align-items: center; }
.scm-reglerwert { text-align: center; font-weight: 800; color: var(--hell-3); }
.scm-reglerwert--gesetzt { color: #fff; }
.scm-kriterium { margin: 12px 0 0; }
.scm-kriterium label { display: block; font-weight: 600; color: #fff; }
.scm-kriterium small { display: block; color: var(--hell-3); margin-bottom: 2px; }

/* Kategorie-Karten */
.scm-kat { background: var(--navy); border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius); margin-bottom: 10px; }
.scm-kat summary { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px 14px; cursor: pointer; list-style: none; }
.scm-kat summary::-webkit-details-marker { display: none; }
.scm-kat-nr { width: 2rem; height: 2rem; border-radius: 50%; background: var(--navy-dunkel); display: grid; place-items: center; font-weight: 800; color: #fff; }
.scm-kat-titel { font-weight: 700; color: #fff; }
.scm-kat-titel small { display: block; font-weight: 400; color: var(--hell-3); font-style: italic; }
.scm-kat-status { font-size: .85rem; color: var(--hell-3); white-space: nowrap; }
.scm-kat-status--ok { color: var(--gruen); }
.scm-kat-inhalt { padding: 2px 14px 16px; }
.scm-kat-inhalt p { color: var(--hell-2); font-size: .92rem; }
.scm-beispiel { border-left: 3px solid var(--hell-3); padding-left: 10px; color: var(--hell-3); font-style: italic; font-size: .9rem; }

/* Seitenleiste: Chart und Ergebnis */
.scm-chart { width: 100%; height: auto; display: block; }
.scm-chart text { font-family: var(--schrift); }
.scm-legende { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .85rem; color: var(--hell-2); margin-top: 6px; }
.scm-legende i { display: inline-block; width: 14px; height: 10px; vertical-align: middle; margin-right: 6px; }
.scm-legende .l-ist { background: rgba(255,192,0,.55); border: 1px solid var(--gold); }
.scm-legende .l-soll { border-top: 2px dashed var(--rot); height: 0; }
.scm-erklaerung { margin-top: 10px; font-size: .88rem; color: var(--hell-2); }
.scm-erklaerung ul { margin: 6px 0 0 18px; padding: 0; }

.scm-ergebnis { text-align: center; }
.scm-pct { font-size: 2.6rem; font-weight: 800; line-height: 1.1; }
.scm-stufe { font-size: 1.1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.scm-stufe-label { color: var(--hell-1); margin: 4px 0 10px; font-weight: 600; }
.scm-medaille { width: 88px; height: auto; margin: 0 auto 4px; display: block; }
.scm-text { text-align: left; color: var(--hell-1); }
.scm-text p { color: var(--hell-1); }
.scm-lueckenliste { text-align: left; margin: 10px 0 0; padding: 0 0 0 18px; color: var(--hell-1); }
.scm-ohne-medaille { background: rgba(255,192,0,.1); border-left: 4px solid var(--gold); border-radius: 0 8px 8px 0; padding: 10px 12px; text-align: left; color: var(--hell-1); }
.scm-knopf { display: inline-block; margin-top: 8px; padding: 11px 16px; border-radius: 10px; background: var(--gold); color: var(--navy); font-weight: 700; text-decoration: none; }

.stufe-gold { color: #FFC41E; }
.stufe-silber { color: #D6DCE8; }
.stufe-bronze { color: #DA8E4A; }
.stufe-startpunkt { color: #8A93B5; }

/* Master-Modus (v00-07) */
.scm-master { border-color: var(--gold); margin-bottom: 18px; }
.scm-master h3 { font-size: .98rem; margin: 16px 0 8px; color: var(--gold); }
.scm-master-raster { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 12px; align-items: end; }
@media (max-width: 760px) { .scm-master-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.scm-master-label { display: block; font-size: .85rem; font-weight: 600; margin: 0 0 4px; color: var(--hell-1); white-space: nowrap; }
.scm-master-feld { width: 100%; height: 42px; border-radius: 8px; border: 1px solid var(--hell-3); background: #fff; color: #1a1a2e;
  font-size: 1rem; font-weight: 600; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.scm-master-feld::-webkit-outer-spin-button, .scm-master-feld::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.scm-master-key { text-align: left; font-weight: 400; padding: 0 12px; margin-bottom: 4px; }
.scm-master-spaeter { margin: 12px 0 0; }
.scm-master-spaeter summary { cursor: pointer; color: var(--hell-2); font-size: .9rem; margin-bottom: 8px; }
.scm-master-tabelle { overflow-x: auto; }
.scm-master-tabelle table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.scm-master-tabelle th, .scm-master-tabelle td { padding: 6px 8px; border-top: 1px solid rgba(255,255,255,.1); text-align: center; }
.scm-master-tabelle th:first-child, .scm-master-tabelle td:first-child { text-align: left; }
.scm-master-tabelle th { color: var(--hell-3); font-weight: 600; }
.scm-master-w { width: 3.4rem; height: 34px; margin: 0 auto; display: block; }
.scm-master-knoepfe { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.scm-knopf { border: 0; cursor: pointer; font: inherit; font-weight: 700; }
.scm-knopf--leise { background: transparent; color: var(--hell-1); border: 1px solid var(--hell-3); }
/* Kopfband (v00-08): weißes Band wie auf der Landing-Seite */
.scm-band { display: flex; align-items: center; gap: 20px; background: #fff; color: var(--navy); border-radius: var(--radius); padding: 14px 22px; margin: 0 0 8px; }
.scm-logo { height: 64px; width: auto; flex: none; display: block; }
.scm-titel { min-width: 0; flex: 1; text-align: center; }
.scm-titel-klein { display: block; font-size: 1rem; letter-spacing: .02em; color: var(--navy); text-decoration: underline; text-underline-offset: 3px; }
.scm-titel h1 { margin: 2px 0 0; font-size: 1.9rem; line-height: 1.15; font-weight: 400; color: var(--navy); }
.scm-absender { margin: 0 0 14px; font-size: .85rem; color: var(--hell-3); }
@media (max-width: 640px) {
  .scm-band { flex-direction: column; align-items: flex-start; gap: 10px; padding: 12px 16px; }
  .scm-logo { height: 52px; }
  .scm-titel { text-align: left; }
  .scm-titel h1 { font-size: 1.4rem; }
}
/* Reglerfarben und Alle-öffnen (v00-09) */
:root { --ampel-grau: #8A93B5; --ampel-rot: #E63214; --ampel-gelb: #FFC000; --ampel-gruen: #8BC34A; }
.scm-logolink { display: block; flex: none; line-height: 0; }
.scm-fortschrittszeile { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 8px; }
.scm-fortschrittszeile .scm-hinweis { margin: 0; }
.scm-regler { -webkit-appearance: none; appearance: none; height: 10px; border-radius: 6px; cursor: pointer; --c: var(--ampel-grau); --p: 0%;
  background: linear-gradient(to right, var(--c) 0, var(--c) var(--p), rgba(255,255,255,.2) var(--p), rgba(255,255,255,.2) 100%); }
.scm-regler::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 50%; background: var(--c); border: 3px solid #fff; box-shadow: 0 1px 3px rgba(0,0,0,.4); }
.scm-regler::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--c); border: 3px solid #fff; }
.scm-regler::-moz-range-track { background: transparent; }
.scm-regler[data-ampel="rot"] { --c: var(--ampel-rot); }
.scm-regler[data-ampel="gelb"] { --c: var(--ampel-gelb); }
.scm-regler[data-ampel="gruen"] { --c: var(--ampel-gruen); }
#scm-q { --c: var(--gold); --p: 66%; }
.scm-ampel--grau { color: var(--ampel-grau); }
.scm-ampel--rot { color: var(--ampel-rot); }
.scm-ampel--gelb { color: var(--ampel-gelb); }
.scm-ampel--gruen { color: var(--ampel-gruen); }
.scm-reglerwert { font-weight: 800; }

/* Eintragung und persönliche Seite (v00-10) */
.scm-knopf--gold { background: var(--gold); color: var(--navy); }
.scm-formular label { display: block; font-size: .9rem; font-weight: 600; color: var(--hell-1); margin: 10px 0 4px; }
.scm-f-raster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
@media (max-width: 480px) { .scm-f-raster { grid-template-columns: 1fr; } }
.scm-f-feld { width: 100%; height: 44px; border-radius: 8px; border: 1px solid var(--hell-3); background: #fff; color: #1a1a2e; font-size: 1rem; padding: 0 12px; }
.scm-f-feld:focus-visible { outline: 3px solid var(--gold); outline-offset: 1px; }
.scm-f-falle { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.scm-formular .scm-f-haken { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: .85rem; margin-top: 14px; }
.scm-f-haken input { margin-top: 4px; flex: none; width: 18px; height: 18px; }
.scm-f-zeile { margin-top: 12px; }
.scm-f-status { min-height: 1.4em; margin: 10px 0 0; font-size: .9rem; color: var(--hell-2); }
.scm-f-status--fehler { color: #FF8A75; font-weight: 600; }
.scm-raster--ergebnis { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 900px) { .scm-raster--ergebnis { grid-template-columns: 1fr; } }
.scm-loeschen-link { background: none; border: 0; color: var(--hell-3); text-decoration: underline; cursor: pointer; font: inherit; padding: 0; }

/* v00-13 · Fremdbild */
.scm-fb-kopf { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; margin: 8px 0 14px; }
.scm-fb-pct { font-size: 2.4rem; font-weight: 800; color: var(--gold); line-height: 1; }
.scm-fb-tabelle { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 10px 0; font-size: .95rem; }
.scm-fb-tabelle th, .scm-fb-tabelle td { text-align: left; padding: 8px 6px; border-bottom: 1px solid rgba(255,255,255,.1); vertical-align: top; }
.scm-fb-tabelle td.zahl, .scm-fb-tabelle th.zahl { text-align: right; width: 5.5rem; }
.scm-fb-tabelle td { overflow-wrap: anywhere; }
.scm-fb-beleg { color: var(--hell-2); font-size: .85rem; display: block; margin-top: 2px; }
.scm-fb-verbesserung { margin: 6px 0 0; font-size: .9rem; color: var(--hell-1); }
.scm-fb-gruppe { margin: 14px 0; }
.scm-fb-gruppe h3 { font-size: 1.05rem; margin: 0 0 6px; color: var(--gold); }
.scm-fb-liste { margin: 4px 0 8px 18px; padding: 0; }
.scm-fb-aus { color: var(--hell-3); }
.scm-fb-raster { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 700px) { .scm-fb-raster { grid-template-columns: 1fr; } }

/* v00-15 · Fremdbild: Kriterien lesbarer */
.scm-fb-krit { padding: 9px 0; border-top: 1px solid rgba(255,255,255,.1); }
.scm-fb-krit:first-of-type { border-top: 0; padding-top: 6px; }
.scm-fb-kname { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-weight: 600; color: var(--hell-1); }
.scm-fb-punkte { color: var(--gold); white-space: nowrap; font-weight: 700; }
.scm-fb-punkte--leer { color: var(--hell-3); font-weight: 400; }
.scm-fb-kbeleg { margin-top: 3px; color: var(--hell-2); font-size: .9rem; line-height: 1.45; }
.scm-fb-folie { display: inline-block; background: rgba(255,196,30,.16); color: var(--gold); border-radius: 4px; padding: 0 6px; margin-right: 2px; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.scm-fb-tipp { margin: 8px 0 0; }
.scm-fb-haken--fehlt { outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 6px; }

/* v00-16 · Coach */
.scm-chat-blase { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 14px 16px; margin: 12px 0; line-height: 1.6; }
.scm-chat-blase h3 { font-size: 1.02rem; color: var(--gold); margin: 14px 0 6px; }
.scm-chat-blase h3:first-child { margin-top: 0; }
.scm-chat-blase p { margin: 0 0 8px; }
.scm-chat-blase p:last-child { margin-bottom: 0; }
.scm-chat-blase strong { color: var(--hell-1); }
.scm-chat-frage { margin: 12px 0 4px 0; padding: 10px 14px; border-radius: 12px; background: rgba(255,196,30,.14); border: 1px solid rgba(255,196,30,.35); }
.scm-chat-verlauf .scm-chat-blase { margin-top: 4px; }
.scm-chat-quick { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.scm-chat-quick button { background: transparent; color: var(--hell-1); border: 1px solid var(--hell-3); border-radius: 18px; padding: 7px 13px; cursor: pointer; font: inherit; font-size: .9rem; }
.scm-chat-quick button:hover { border-color: var(--gold); color: var(--gold); }
.scm-chat-form textarea { width: 100%; margin-top: 4px; }
.scm-chat-label { display: block; font-weight: 600; margin-bottom: 4px; }

/* v00-17 · Mikrofon und Abdeckung */
.scm-mikro--an { background: #E63214 !important; color: #fff !important; border-color: #E63214 !important; animation: scm-puls 1.2s ease-in-out infinite; }
@keyframes scm-puls { 0%, 100% { box-shadow: 0 0 0 0 rgba(230,50,20,.45); } 50% { box-shadow: 0 0 0 8px rgba(230,50,20,0); } }
.scm-abdeckung { margin: 6px 0 10px; font-size: .88rem; color: var(--hell-2); text-align: center; }

/* v00-18 · Anleitung (ausklappbar) */
.scm-anleitung { padding: 0; overflow: hidden; border-color: rgba(255,192,0,.35); }
.scm-anleitung > summary { list-style: none; cursor: pointer; display: flex; gap: 12px; align-items: center; padding: 14px 18px; position: relative; }
.scm-anleitung > summary::-webkit-details-marker { display: none; }
.scm-anleitung > summary::after { content: '▾'; margin-left: auto; color: var(--gold); font-size: 1.1rem; transition: transform .2s; }
.scm-anleitung[open] > summary::after { transform: rotate(180deg); }
.scm-anl-icon { font-size: 1.6rem; }
.scm-anl-titel { color: #fff; font-weight: 700; }
.scm-anl-titel small { display: block; font-weight: 400; color: var(--hell-3); }
.scm-anl-tag { background: var(--rot); color: #fff; font-size: .7rem; font-weight: 800; padding: 2px 8px; border-radius: 4px; margin-right: 8px; letter-spacing: .05em; }
.scm-anl-body { padding: 4px 18px 18px; border-top: 1px solid rgba(255,255,255,.08); }
.scm-anl-schritt { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 12px; margin-top: 16px; }
.scm-anl-nr { width: 2rem; height: 2rem; border-radius: 50%; background: var(--navy-dunkel); color: #fff; display: grid; place-items: center; font-weight: 800; }
.scm-anl-schritt h3 { margin: 0 0 4px; font-size: 1rem; color: #fff; }
.scm-anl-schritt p { margin: 0 0 6px; font-size: .94rem; }
.scm-anl-zitat { background: rgba(255,192,0,.12); border-left: 3px solid var(--gold); padding: 6px 10px; border-radius: 0 6px 6px 0; color: var(--hell-1) !important; font-weight: 600; }
.scm-anl-skala span { display: inline-block; margin: 0 6px 4px 0; padding: 1px 8px; border: 1px solid currentColor; border-radius: 12px; font-size: .82rem; }
.scm-anl-bonus { background: var(--navy-dunkel); border-left: 4px solid var(--gold); border-radius: 0 8px 8px 0; padding: 10px 14px; color: var(--hell-1); font-size: .92rem; }
.scm-anl-bonus strong { color: var(--gold); }

/* v00-18 · Gesamtergebnis live */
.scm-gesamt { padding: 16px 18px; }
.scm-gesamt-kopf { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.scm-gesamt-label { font-size: .75rem; letter-spacing: .12em; color: var(--hell-3); font-weight: 700; }
.scm-gesamt-chip { font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--hell-2); }
.scm-gesamt-zahl { font-size: 3rem; font-weight: 800; line-height: 1.1; color: var(--gold); }
.scm-gesamt-zahl small { font-size: 1.4rem; margin-left: 2px; }
.scm-gesamt-balken { position: relative; height: 10px; border-radius: 6px; background: rgba(255,255,255,.14); margin: 8px 0 14px; }
.scm-gesamt-balken i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 6px; background: var(--hell-3); transition: width .25s; }
.scm-gesamt-balken i.stufe-gold { background: #FFC41E; }
.scm-gesamt-balken i.stufe-silber { background: #D6DCE8; }
.scm-gesamt-balken i.stufe-bronze { background: #DA8E4A; }
.scm-gesamt-balken b { position: absolute; top: -3px; bottom: -3px; width: 2px; background: rgba(255,255,255,.55); }
.scm-gesamt-kacheln { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.scm-gk { display: flex; align-items: center; gap: 8px; padding: 7px 9px; border-radius: 8px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); font-size: .82rem; }
.scm-gk-punkt { width: 9px; height: 9px; border-radius: 50%; background: currentColor; flex: none; }
.scm-gk-name { flex: 1; min-width: 0; color: var(--hell-1); }
.scm-gk-pct { font-weight: 800; white-space: nowrap; }
.scm-gesamt-hinweis { margin: 12px 0 8px; font-size: .9rem; color: var(--gold) !important; font-weight: 600; text-align: center; }
.scm-gesamt-hinweis a { color: var(--gold); }
.scm-gesamt-knoepfe { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.scm-gesamt-knoepfe .scm-knopf { margin-top: 0; }

/* v00-18 · Coach: Übersicht, Kästen, Eingabezeile, Wartebewegung */
.scm-ueb { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; margin: 12px 0; }
@media (max-width: 700px) { .scm-ueb { grid-template-columns: 1fr; } }
.scm-ueb-liste, .scm-ueb-radar { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 12px; }
.scm-ueb-liste { border-left: 3px solid var(--rot); }
.scm-ueb-titel { font-size: .75rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--hell-3); margin-bottom: 6px; }
.scm-ueb-zeile { display: grid; grid-template-columns: 1.1rem 12px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,.07); font-size: .9rem; }
.scm-ueb-zeile:last-child { border-bottom: 0; }
.scm-ueb-nr { color: var(--hell-3); font-weight: 700; font-size: .78rem; }
.scm-ueb-punkt { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.scm-ueb-name { color: var(--hell-1); }
.scm-ueb-wert { font-size: .78rem; white-space: nowrap; }
.scm-ueb-radar svg { width: 100%; height: auto; display: block; }
.scm-ueb-legende { display: flex; gap: 14px; justify-content: flex-end; font-size: .78rem; color: var(--hell-2); }
.scm-ueb-legende i { display: inline-block; width: 18px; height: 0; border-top: 3px solid var(--gold); vertical-align: middle; margin-right: 5px; }
.scm-ueb-legende .l-soll { border-top: 2px dashed var(--rot); }
.scm-chat-quick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
@media (max-width: 560px) { .scm-chat-quick { grid-template-columns: 1fr; } }
.scm-chat-kasten { text-align: left; background: rgba(255,255,255,.05); color: var(--hell-1); border: 1px solid var(--hell-3); border-radius: 10px; padding: 10px 12px; cursor: pointer; font: inherit; font-size: .92rem; line-height: 1.35; }
.scm-chat-kasten:hover, .scm-chat-kasten:focus-visible { border-color: var(--gold); color: #fff; background: rgba(255,192,0,.1); }
.scm-chat-kasten--luecke { border-color: var(--rot); }
.scm-chat-zeile { display: flex; gap: 8px; align-items: flex-end; margin-top: 4px; }
.scm-chat-zeile textarea { flex: 1; min-width: 0; resize: none; max-height: 220px; margin: 0; height: auto; min-height: 44px; padding: 10px 12px; line-height: 1.4; box-sizing: border-box; }
.scm-chat-ikon { width: 44px; height: 44px; flex: none; border-radius: 10px; border: 1px solid var(--hell-3); background: transparent; color: var(--hell-1); cursor: pointer; font-size: 1.15rem; display: grid; place-items: center; position: relative; }
.scm-chat-ikon:hover { border-color: var(--gold); }
.scm-chat-ikon--senden { background: var(--gold); border-color: var(--gold); color: var(--navy); font-weight: 800; font-size: 1.25rem; }
.scm-chat-ikon:disabled { opacity: .7; cursor: default; }
.scm-punkte { display: inline-flex; gap: 5px; align-items: center; margin-right: 8px; }
.scm-punkte i { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); opacity: .4; animation: scm-huepf .9s infinite; }
.scm-punkte i:nth-child(2) { animation-delay: .15s; }
.scm-punkte i:nth-child(3) { animation-delay: .3s; }
@keyframes scm-huepf { 0%, 80%, 100% { transform: translateY(0); opacity: .4; } 40% { transform: translateY(-6px); opacity: 1; } }
.scm-lade { display: flex; align-items: center; margin-top: 8px; color: var(--hell-2); font-size: .92rem; }
.scm-chat-tippt { display: flex; align-items: center; color: var(--hell-2); }
.scm-laedt { position: relative; }
.scm-laedt::before { content: ''; display: inline-block; width: 14px; height: 14px; margin-right: 8px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; vertical-align: -2px; animation: scm-dreh .8s linear infinite; }
.scm-chat-ikon.scm-laedt { color: transparent; }
.scm-chat-ikon.scm-laedt::before { position: absolute; margin: 0; left: 50%; top: 50%; margin-left: -9px; margin-top: -9px; width: 16px; height: 16px; color: var(--navy); }
@keyframes scm-dreh { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .scm-punkte i, .scm-laedt::before { animation-duration: 3s; } }

/* v00-19 · Weiße Karten für alles, was man ausfüllt (wie im alten Check), dunkle Karten für Ergebnis und Coach */
.scm-hell { --ampel-rot: #D42A10; --ampel-gelb: #E8A020; --ampel-gruen: #5E9B2E; --ampel-grau: #8A93B5; }
.scm-karte.scm-hell, .scm-kat.scm-hell { background: #fff; border-color: rgba(40,50,100,.14); color: var(--anth); }
.scm-hell h2 { color: var(--navy); }
.scm-hell p { color: #4a4f66; }
.scm-hell .scm-hinweis { color: #6a7090; }
.scm-hell .scm-wahlknopf { border-color: #c5cadc; background: #fff; color: var(--anth); }
.scm-hell .scm-wahlknopf strong { color: var(--navy); }
.scm-hell .scm-wahlknopf small { color: #6a7090; }
.scm-hell .scm-wahlknopf[aria-pressed="true"] { border-color: var(--navy); background: var(--navy); }
.scm-hell .scm-wahlknopf[aria-pressed="true"] strong { color: #fff; }
.scm-hell .scm-wahlknopf[aria-pressed="true"] small { color: var(--hell-2); }
.scm-hell .scm-profil-hinweis { background: #F3F4F8; border-left-color: var(--navy); color: #4a4f66; }
.scm-hell .scm-q-wert { color: var(--navy); }
.scm-hell .scm-regler { background: linear-gradient(to right, var(--c) 0, var(--c) var(--p), #E3E6F0 var(--p), #E3E6F0 100%); }
.scm-hell .scm-regler::-webkit-slider-thumb { box-shadow: 0 1px 3px rgba(40,50,100,.45); }
.scm-hell .scm-kat-nr { background: var(--navy); color: #fff; }
.scm-hell .scm-kat-titel { color: var(--navy); }
.scm-hell .scm-kat-titel small { color: #6a7090; }
.scm-hell .scm-kat-inhalt p { color: #4a4f66; }
.scm-hell .scm-beispiel { border-left-color: #c5cadc; color: #6a7090; }
.scm-hell .scm-kriterium label { color: var(--navy); }
.scm-hell .scm-kriterium small { color: #6a7090; }
.scm-hell .scm-chart text { fill: #283264; }
.scm-hell .scm-chart text[fill="#8D93B3"] { fill: #8A93B5; }
.scm-hell .scm-chart polygon[stroke^="rgba(255,255,255"], .scm-hell .scm-chart line { stroke: rgba(40,50,100,.2); }
.scm-hell .scm-chart polygon[stroke="#FFC000"] { stroke: #E8A020; }
.scm-hell .scm-legende { color: #4a4f66; }
.scm-hell .scm-erklaerung { color: #4a4f66; }
.scm-hell .scm-erklaerung strong { color: var(--navy); }
.scm-hell .scm-anl-titel, .scm-hell .scm-anl-schritt h3 { color: var(--navy); }
.scm-hell .scm-anl-titel small { color: #6a7090; }
.scm-hell.scm-anleitung > summary::after { color: var(--navy); }
.scm-hell .scm-anl-body { border-top-color: rgba(40,50,100,.12); }
.scm-hell .scm-anl-nr { background: var(--navy); }
.scm-hell .scm-anl-zitat { background: rgba(255,192,0,.16); color: #6b5000 !important; }
.scm-hell .scm-anl-bonus p, .scm-hell .scm-anl-bonus { color: var(--hell-1); }

/* Info-Box (z. B. „So liest du das Chart“) */
.scm-info { margin-top: 10px; border: 1px solid rgba(40,50,100,.16); border-radius: 10px; background: #F3F4F8; }
.scm-info > summary { cursor: pointer; list-style: none; padding: 9px 12px; font-weight: 600; font-size: .9rem; color: var(--navy); display: flex; align-items: center; gap: 6px; }
.scm-info > summary::-webkit-details-marker { display: none; }
.scm-info > summary::after { content: '▾'; margin-left: auto; transition: transform .2s; }
.scm-info[open] > summary::after { transform: rotate(180deg); }
.scm-info > .scm-erklaerung { margin: 0; padding: 0 12px 10px; }
.scm-info .scm-erklaerung p { color: #4a4f66; }

/* v00-20 · Übersicht auf weißer Karte */
.scm-ueb-radar-hell .scm-ueb-svg { display: block; width: 100%; max-width: 440px; margin: 0 auto; height: auto; }
.scm-ueb-legende--hell { justify-content: center; color: #4a4f66; margin: 4px 0 12px; }
.scm-hell .scm-ueb-titel { color: #6a7090; margin-top: 6px; }
.scm-hell .scm-ueb-zeile { border-bottom-color: rgba(40,50,100,.1); }
.scm-hell .scm-ueb-nr { color: #8a90ab; }
.scm-hell .scm-ueb-name { color: var(--navy); }
.scm-ueb-name small { margin-left: 8px; color: #8a90ab; font-size: .75rem; }
.scm-ueb-punkt { background: currentColor; }
.scm-eg-pdf { margin: 12px 0 0; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.scm-eg-pdf .scm-knopf { margin-top: 0; }
.scm-print-kopf, .scm-print-fuss, .scm-print-copyright { display: none; }

/* v00-20 · PDF-Bericht: Druck-Layout (Browser: Drucken → „Als PDF speichern“) */
@media print {
  @page { size: A4 portrait; margin: 14mm 12mm; }
  html, body { background: #fff !important; color: #222 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .scm-seite { max-width: none; padding: 0; }
  .scm-absender, #scm-eg-fuss, .sc-fuss, .scm-knopf, .scm-info, #scm-fb-upload, #scm-coach-start, #scm-coach-quick,
  #scm-coach-form, #scm-coach-ende, .scm-chat-tippt, .scm-eg-pdf { display: none !important; }
  #scm-coach:not(.scm-coach--da), #scm-fb:not(.scm-fb--da) { display: none !important; }
  .scm-band { border-radius: 0; padding: 0 0 8px; border-bottom: 2px solid var(--navy); margin: 0; }
  .scm-print-kopf { display: block; margin: 10px 0 12px; }
  .scm-print-titel { font-size: 20px; font-weight: 800; color: var(--navy); }
  .scm-print-sub { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: #444; margin-top: 2px; }
  .scm-print-datum { font-size: 10px; color: #888; margin-top: 4px; }
  .scm-raster, .scm-raster--ergebnis { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 10px; align-items: start; }
  .scm-ueb-radar-hell .scm-ueb-svg { max-width: 300px; }
  .scm-ueb-zeile { padding: 3px 0; font-size: 11px; }
  .scm-medaille { width: 64px; }
  .scm-karte { background: #fff !important; border: 1px solid #cfd3e4 !important; color: #222 !important; break-inside: avoid; margin: 0 0 10px; padding: 12px; }
  .scm-karte h2, .scm-chat-blase h3, .scm-fb-gruppe h3 { color: var(--navy) !important; }
  .scm-karte p, .scm-text, .scm-text p, .scm-stufe-label, .scm-hinweis, .scm-chat-blase, .scm-chat-blase strong, .scm-fb-beleg, .scm-fb-kbeleg,
  .scm-fb-kname, .scm-fb-verbesserung, .scm-fb-tabelle td, .scm-fb-tabelle th, .scm-ohne-medaille, .scm-abdeckung, .scm-ueb-name, .scm-ueb-nr,
  .scm-ueb-titel, .scm-fb-aus, .scm-lueckenliste, .scm-fb-liste li { color: #222 !important; }
  .scm-chat-blase { background: #fff !important; border: 1px solid #dde0ee !important; break-inside: avoid; }
  .scm-chat-frage { background: #fdf5dc !important; }
  .scm-ohne-medaille { background: #fdf5dc !important; }
  .scm-pct { color: #222 !important; }
  .scm-pct.stufe-gold, .stufe-gold { color: #B8860B !important; }
  .scm-pct.stufe-silber, .stufe-silber { color: #6b7385 !important; }
  .scm-pct.stufe-bronze, .stufe-bronze { color: #A9611F !important; }
  .scm-fb-folie { background: #fdf0c8 !important; color: #6b5000 !important; }
  .scm-fb-punkte { color: #8a5a00 !important; }
  .scm-karte:not(.scm-hell) svg text { fill: #283264 !important; }
  .scm-karte:not(.scm-hell) svg polygon[stroke^="rgba(255,255,255"], .scm-karte:not(.scm-hell) svg line { stroke: rgba(40,50,100,.25) !important; }
  .scm-fb-tabelle td, .scm-fb-tabelle th { border-bottom: 1px solid #dde0ee !important; }
  .scm-print-fuss { display: flex; gap: 24px; margin-top: 16px; padding-top: 10px; border-top: 1px solid #ccc; font-size: 9px; line-height: 1.5; color: #444; }
  .scm-print-fuss > div { flex: 1; }
  .scm-print-copyright { display: block; text-align: center; font-size: 8px; color: #999; margin-top: 8px; }
}

/* v00-21 · Persönliche Seite: Ergebnis-Karte oben, Kontaktzeile, Kategorien links und Chart rechts */
.scm-eg-score { text-align: center; background: linear-gradient(135deg, var(--navy-dunkel) 0%, var(--navy) 100%); padding: 18px 18px 16px; }
.scm-score-label { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--hell-3); font-weight: 700; }
.scm-score-medaille svg { width: 72px; height: auto; margin: 8px auto 0; display: block; }
.scm-score-zahl { font-size: 3.4rem; font-weight: 800; color: var(--gold); line-height: 1.05; }
.scm-score-zahl small { font-size: 1.4rem; margin-left: 2px; opacity: .65; }
.scm-score-stufe { font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--hell-1); }
.scm-score-text { color: var(--hell-1); font-style: italic; margin-top: 4px; }
.scm-kontakt { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 10px; background: var(--navy);
  border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius); padding: 10px 14px; margin-bottom: 14px; font-size: .88rem; }
.scm-kontakt a { color: var(--hell-2); text-decoration: none; }
.scm-kontakt a:hover, .scm-kontakt-pdf:hover { color: #fff; }
.scm-kontakt .scm-kontakt-termin { color: var(--gold); font-weight: 700; }
.scm-kontakt-pdf { background: none; border: 0; padding: 0; color: var(--hell-2); cursor: pointer; font: inherit; }
.scm-kontakt-trenner { color: var(--hell-3); }
@media (min-width: 901px) { .scm-raster--gleich { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; } }
.scm-raster--gleich .scm-karte { margin-bottom: 14px; }
.scm-info--breit { margin: 0 0 14px; background: #fff; }
.scm-info--breit .scm-erklaerung ul { margin: 6px 0 6px 18px; padding: 0; }
.scm-info--breit .scm-erklaerung { color: #4a4f66; }
@media print {
  .scm-kontakt-termin, .scm-kontakt-pdf, .scm-kontakt .scm-kontakt-trenner:nth-of-type(2), .scm-kontakt .scm-kontakt-trenner:nth-of-type(3) { display: none !important; }
  .scm-kontakt { background: #fff !important; border: 0 !important; justify-content: flex-start; padding: 0 0 6px; }
  .scm-kontakt a { color: #222 !important; }
  .scm-eg-score { background: #fff !important; }
  .scm-score-label, .scm-score-text, .scm-score-stufe { color: #222 !important; }
  .scm-score-zahl { color: #222 !important; }
  .scm-score-stufe.stufe-gold { color: #B8860B !important; }
  .scm-score-stufe.stufe-silber { color: #6b7385 !important; }
  .scm-score-stufe.stufe-bronze { color: #A9611F !important; }
  .scm-info--breit { display: none !important; }
}

/* v00-22 · Browser-Sicherung, Mehrwert vor dem Upload, Stift */
.scm-wh { border-color: var(--gold); }
.scm-wh p { color: var(--hell-1); }
.scm-mehrwert { background: rgba(255,192,0,.1); border-left: 4px solid var(--gold); border-radius: 0 10px 10px 0; padding: 12px 14px; margin: 0 0 14px; color: var(--hell-1); }
.scm-mehrwert strong { color: #fff; }
.scm-mehrwert ul { margin: 6px 0 8px 18px; padding: 0; }
.scm-mehrwert li { margin-bottom: 3px; }
.scm-mehrwert .scm-hinweis { margin: 0; }
.scm-stift { cursor: pointer; opacity: .55; padding: 0 3px; user-select: none; }
.scm-stift:hover, .scm-stift:focus-visible { opacity: 1; color: var(--gold); }
@media print { .scm-wh, .scm-mehrwert, .scm-stift { display: none !important; } }

/* v00-23 · Hinweis auf die Eintragung (pulsiert, solange es noch nicht so weit ist; stärker, sobald die Eintragung möglich ist) */
.scm-mailhinweis { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 16px; padding: 12px 16px;
  background: rgba(255,192,0,.12); border: 1px solid rgba(255,192,0,.55); border-left: 5px solid var(--gold); border-radius: 0 12px 12px 0; }
.scm-mailhinweis p { margin: 0; flex: 1 1 320px; color: var(--hell-1); }
.scm-mailhinweis p strong { color: #fff; }
.scm-mailhinweis .scm-knopf { margin-top: 0; }
.scm-mailhinweis .scm-knopf[hidden] { display: none; }
.scm-mailhinweis[hidden] { display: none; }
.scm-mh-puls { width: 12px; height: 12px; border-radius: 50%; background: var(--gold); flex: 0 0 auto; animation: scm-mh-puls 1.8s ease-out infinite; }
.scm-mailhinweis--bereit { animation: scm-mh-glow 2.4s ease-in-out infinite; }
.scm-mailhinweis--bereit .scm-mh-puls { animation-duration: 1s; }
.scm-mailhinweis--demo { border-color: var(--hell-3); border-left-color: var(--hell-3); background: rgba(255,255,255,.06); }
.scm-mailhinweis--demo .scm-mh-puls { animation: none; background: var(--hell-3); }
@keyframes scm-mh-puls { 0% { box-shadow: 0 0 0 0 rgba(255,192,0,.65); } 70% { box-shadow: 0 0 0 11px rgba(255,192,0,0); } 100% { box-shadow: 0 0 0 0 rgba(255,192,0,0); } }
@keyframes scm-mh-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(255,192,0,0); } 50% { box-shadow: 0 0 16px 2px rgba(255,192,0,.45); } }
@media (prefers-reduced-motion: reduce) { .scm-mh-puls, .scm-mailhinweis--bereit { animation: none; } }
@media print { .scm-mailhinweis, .scm-admin-overlay { display: none !important; } }

/* v00-23 · Admin als Fenster (wie SC-Web: weiße Karte, ✕ oben rechts, Esc schließt) */
.scm-admin-overlay { position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center; padding: 16px; }
.scm-admin-overlay[hidden] { display: none; }
body.scm-admin-offen { overflow: hidden; }
.scm-admin-panel { position: relative; width: 100%; max-width: 760px; max-height: 90vh; overflow-y: auto; background: #fff; color: #1a1a2e; border-radius: 12px; padding: 24px 22px 20px; }
.scm-admin-close { position: absolute; top: 10px; right: 12px; border: 0; background: none; font-size: 22px; line-height: 1; color: #666; cursor: pointer; padding: 6px 8px; }
.scm-admin-close:hover, .scm-admin-close:focus-visible { color: var(--navy); outline: 2px solid var(--gold); }
.scm-admin-panel h3 { color: var(--navy); font-size: 1.1rem; margin: 0 0 14px; }
.scm-admin-panel h4 { color: var(--navy); font-size: .95rem; margin: 16px 0 8px; }
.scm-admin-feld { margin-bottom: 12px; }
.scm-admin-feld label, .scm-master-label { display: block; font-size: .85rem; font-weight: 600; color: #444; margin: 0 0 4px; white-space: normal; }
.scm-admin-klein { display: block; font-size: .78rem; font-weight: 400; color: #777; margin: 2px 0 6px; line-height: 1.4; }
.scm-admin-statuslink { display: inline-block; margin-top: 8px; padding: 7px 12px; border: 2px solid var(--navy); border-radius: 8px; color: var(--navy); font-weight: 700; font-size: .88rem; text-decoration: none; }
.scm-admin-statuslink:hover { background: var(--navy); color: #fff; }
.scm-admin-trenner { border: 0; border-top: 1px solid #E0E4EE; margin: 12px 0 14px; }
.scm-admin-block { border: 2px solid var(--gold); border-radius: 10px; background: #FFFBF0; padding: 12px 12px 10px; margin: 6px 0 16px; }
.scm-admin-block-titel { font-size: .88rem; font-weight: 700; color: var(--navy); margin: 0 0 8px; }
.scm-admin-panel .scm-master-label { color: #444; }
.scm-admin-panel .scm-master-tabelle th, .scm-admin-panel .scm-master-tabelle td { border-top: 1px solid #E0E4EE; color: #1a1a2e; }
.scm-admin-panel .scm-master-tabelle th { color: #555; }
.scm-admin-panel .scm-master-spaeter summary { color: #555; }
.scm-admin-panel .scm-master-feld { border: 1px solid #b9bfd6; }
.scm-admin-panel .scm-master-key { width: 100%; }
.scm-admin-save { appearance: none; border: 2px solid var(--navy); background: var(--navy); color: #fff; font: inherit; font-weight: 700; font-size: .9rem;
  padding: 9px 14px; border-radius: 9px; cursor: pointer; margin: 8px 6px 0 0; }
.scm-admin-save:hover { filter: brightness(1.15); }
.scm-admin-save-hell { background: #fff; color: var(--navy); }
.scm-admin-save[hidden] { display: none; }
.scm-admin-meldung { font-size: .85rem; margin: 8px 0 0; min-height: 1.2em; }
.scm-admin-meldung.ok { color: #1E7B3C; }
.scm-admin-meldung.fehler { color: #C0392B; }
.scm-admin-toggle { display: flex; align-items: center; gap: 8px; margin: 4px 0; }
.scm-admin-toggle label { font-size: .88rem; color: #333; }
.scm-admin-hint { font-size: .75rem; color: #888; margin: 12px 0 0; line-height: 1.45; }
.scm-admin-hint a { color: var(--navy); }

/* v00-23 · Vergleich auf gleicher Basis im Fremdbild */
.scm-fb-gleich { margin: 0 0 14px; padding: 10px 12px; background: rgba(255,255,255,.06); border-left: 4px solid var(--gold); border-radius: 0 8px 8px 0; color: var(--hell-1); }
.scm-fb-gleich strong { color: #fff; }

/* v00-24 · [hidden] gewinnt auch gegen .scm-knopf und .scm-text */
.scm-ergebnis a[hidden], .scm-ergebnis p[hidden] { display: none; }

/* v00-25 · [hidden] gewinnt immer, auch gegen display:flex/grid/inline-block einzelner Klassen */
[hidden] { display: none !important; }

/* v00-25 · Management Summary, nächste Schritte, Folien-Überblick */
.scm-ms { color: #1a1a2e; }
.scm-ms h2 { color: var(--navy); }
.scm-ms-key { background: var(--navy); color: #fff; border-radius: 10px; padding: 12px 14px; margin: 0 0 12px; font-weight: 700; }
.scm-ms-key small { display: block; color: var(--gold); font-weight: 700; letter-spacing: .06em; margin-bottom: 2px; }
.scm-ms-raster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 12px; }
@media (max-width: 700px) { .scm-ms-raster { grid-template-columns: 1fr; } }
.scm-ms-kachel { background: #f6f8fc; border: 1px solid #dde3f0; border-radius: 10px; padding: 10px 12px; }
.scm-ms-kachel h3 { margin: 0 0 6px; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--navy); }
.scm-ms-kachel ul { margin: 0; padding: 0 0 0 18px; }
.scm-ms-kachel p, .scm-ms-kachel li { color: #1a1a2e; margin: 0 0 4px; font-size: .92rem; }
.scm-ms-schritte { margin: 0 0 10px; padding: 0; list-style: none; counter-reset: schritt; }
.scm-ms-schritte li { counter-increment: schritt; position: relative; padding: 10px 12px 10px 46px; margin: 0 0 8px; background: #FFFBF0; border: 1px solid #f0dca0; border-radius: 10px; color: #1a1a2e; }
.scm-ms-schritte li::before { content: counter(schritt); position: absolute; left: 12px; top: 10px; width: 24px; height: 24px; border-radius: 50%; background: var(--gold); color: var(--navy); font-weight: 800; text-align: center; line-height: 24px; }
.scm-ms-schritte small { display: block; color: #666; margin-top: 2px; }
.scm-ms-info summary { cursor: pointer; color: var(--navy); font-weight: 700; }
.scm-ms-info p { color: #333; font-size: .9rem; }
.scm-folien { margin-top: 12px; }
.scm-folien summary { cursor: pointer; font-weight: 700; color: var(--gold); }
.scm-fo-gruppe { margin: 12px 0 0; padding: 8px 12px; background: rgba(255,255,255,.05); border-left: 4px solid var(--gold); border-radius: 0 8px 8px 0; }
.scm-fo-gruppe h4 { margin: 0 0 4px; color: #fff; font-size: .95rem; }
.scm-fo-gruppe ul { margin: 0; padding: 0 0 0 18px; }
.scm-fo-gruppe li { color: var(--hell-1); margin: 0 0 4px; font-size: .92rem; }
.scm-fb-tabelle .scm-diff--gruen { color: #5E9B2E; font-weight: 700; }
.scm-fb-tabelle .scm-diff--gelb { color: #B8780A; font-weight: 700; }
.scm-fb-tabelle .scm-diff--rot { color: #D42A10; font-weight: 700; }

/* v00-27 · Dateiauswahl: der Browser-Knopf bleibt unsichtbar im Hintergrund, sichtbar ist ein Knopf im Stil der Seite */
.scm-datei-echt { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.scm-datei-echt:focus-visible + .scm-datei-knopf { outline: 3px solid var(--gold); outline-offset: 2px; }
.scm-datei-knopf { cursor: pointer; margin-top: 0; background: transparent; color: var(--hell-1); border: 1px solid var(--hell-3); }
.scm-datei-knopf:hover { border-color: var(--gold); color: #fff; }
.scm-datei-name { display: inline-flex; align-items: center; max-width: 100%; padding: 8px 12px; border-radius: 10px; background: rgba(255,255,255,.07); color: var(--hell-1);
  font-size: .92rem; overflow-wrap: anywhere; }
.scm-datei-weg { appearance: none; border: 1px solid var(--hell-3); background: transparent; color: var(--hell-2); width: 34px; height: 34px; border-radius: 50%; cursor: pointer; }
.scm-datei-weg:hover, .scm-datei-weg:focus-visible { border-color: var(--rot); color: #fff; }
.scm-datei-weg[hidden], .scm-datei-name[hidden] { display: none; }
.scm-f-zeile .scm-datei-knopf, .scm-datei-knopf { display: inline-flex; align-items: center; width: auto; flex: 0 0 auto; margin: 0; padding: 10px 16px; }
.scm-f-zeile { align-items: center; }
