/* ailh-socialprofile.css (2026-08-01)
 * Zweck: Fehlerkasten und Pflichtfeld-Markierung des Vervollstaendigungs-Schritts nach dem
 * ersten Social Login (resources/views/default/panel/user/ailh-complete-profile.blade.php).
 *
 * WARUM EINE EIGENE DATEI: Das Tailwind-Bundle dieses Projekts ist vorkompiliert — neue
 * Utility-Klassen im Blade haetten keinerlei Wirkung. Eigene Klassen muessen deshalb aus
 * einer separaten CSS-Datei kommen (gleiches Muster wie ailh-layout.css / ailh-legal.css /
 * ailh-status.css). Eingebunden in panel/layout/partials/head.blade.php NACH ailh-status.css.
 *
 * DUNKELMODUS: Der Umschalter im Panel (partials/mode-script.blade.php) setzt die KLASSE
 * body.theme-dark bzw. body.theme-light aus localStorage "lqdDarkMode". Das Attribut
 * data-theme wird nur einmal serverseitig gesetzt und aendert sich beim Umschalten NIE —
 * ein Selektor [data-theme='dark'] waere hier also wirkungslos. Alle Dunkelmodus-Regeln
 * benutzen deshalb ausschliesslich ".theme-dark".
 *
 * KONTRAST (WCAG 2.x, relative Luminanz, gegen die JEWEILIGE Kastenfarbe gerechnet —
 * deckende Hintergruende, damit das Ergebnis nicht vom gewaehlten Farbschema abhaengt):
 *   hell:   Text #991b1b auf #fee2e2  = 6.81:1  (AA fuer Fliesstext: >= 4.5:1)
 *   dunkel: Text #fca5a5 auf #7f1d1d  = 5.28:1  (AA)
 * Die Randfarbe entspricht der Textfarbe und sichert damit auch den Nicht-Text-Kontrast
 * (>= 3:1) gegen praktisch jeden Karten-/Seitenhintergrund darunter.
 * Farbpaare bewusst identisch zu den bereits geprueften Rot-Toenen in ailh-status.css.
 */

.ailh-sp-errorbox {
    padding: 0.75rem 1rem;
    border: 1px solid #991b1b;
    border-radius: 0.5rem;
    background: #fee2e2;
    color: #991b1b;
    font-size: 0.875rem;
}

.ailh-sp-errorbox p,
.ailh-sp-errorbox li {
    color: inherit;
}

.ailh-sp-errorbox ul {
    margin: 0;
    padding-left: 1.1rem;
    list-style: disc;
}

.theme-dark .ailh-sp-errorbox {
    border-color: #fca5a5;
    background: #7f1d1d;
    color: #fca5a5;
}

/* Pflichtfeld-Sternchen: bewusst currentColor statt einer festen Farbe. Damit ist der
   Kontrast in jedem Farbschema und in beiden Modi automatisch derselbe wie beim
   Feldbeschriftungstext daneben — er kann gar nicht unter dessen Wert fallen. */
.ailh-sp-req {
    color: currentColor;
    font-weight: 700;
}

/* ==========================================================================
   Rueckmeldung beim Anfordern des Einmalcodes vor der Vertragsunterzeichnung
   (app/Extensions/LegalCenter/resources/views/user/contract-preview.blade.php).
   Deckende Kastenfarben, damit der Kontrast unabhaengig vom gewaehlten Farbschema
   feststeht. Gerechnete Werte (WCAG 2.x, relative Luminanz):
     Erfolg  hell:   #166534 auf #dcfce7 = 6.49:1
     Erfolg  dunkel: #86efac auf #064e3b = 6.92:1
     Fehler  hell:   #991b1b auf #fee2e2 = 6.81:1
     Fehler  dunkel: #fca5a5 auf #7f1d1d = 5.28:1
   Farbpaare bewusst identisch zu ailh-status.css.
   ========================================================================== */
.ailh-sp-codenote {
    padding: 0.5rem 0.75rem;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    font-size: 0.8125rem;
}

.ailh-sp-codenote.is-ok {
    border-color: #166534;
    background: #dcfce7;
    color: #166534;
}

.ailh-sp-codenote.is-error {
    border-color: #991b1b;
    background: #fee2e2;
    color: #991b1b;
}

.theme-dark .ailh-sp-codenote.is-ok {
    border-color: #86efac;
    background: #064e3b;
    color: #86efac;
}

.theme-dark .ailh-sp-codenote.is-error {
    border-color: #fca5a5;
    background: #7f1d1d;
    color: #fca5a5;
}
