/* SPRICHLI brand theme — SPRICH AG Corporate Design (CD-Manual 05.2025, S.73).
   Palette: Primaer Anthrazit #383E42, Sekundaer Grau #A1A1A0, Auszeichnung Gelb #FFFD00, Weiss.
   Light-only (Force via BRAND_FORCE_THEME, siehe KOLICHAT-CHANGES.md §27).
   Geladen via index.html-Branding-Block wenn BRAND_THEME_CSS gesetzt ist (§27). */

/* Hauptbereich (hell): Brand-Akzent = Anthrazit, Haupt-Text = Anthrazit,
   Rahmen = CD-Grau #A1A1A0. Text bleibt dunkel/lesbar (keine hellen Text-Tokens). */
:root,
.dark {
  --brand-purple: #383E42;
  --surface-submit: #FFFD00;
  --surface-submit-hover: #e6e400;
  --text-primary: #383E42;
  --border-light: #d9d9d8;
  --border-medium: #A1A1A0;
  --border-medium-alt: #A1A1A0;
  --border-heavy: #A1A1A0;
}

/* Anthrazit-Sidebar (CD "dunkle Bar"), begrenzt auf das Nav-<aside>:
   Tokens dort auf dunkle Palette -> weisse Schrift; Rest der App unberuehrt. */
aside {
  --surface-primary: #383E42;
  --surface-primary-alt: #383E42;
  --surface-primary-contrast: #2a2f33;
  --surface-secondary: #2f3438;
  --surface-secondary-alt: #4a5158;
  --surface-tertiary: #2f3438;
  --surface-active: #4a5158;
  --surface-active-alt: #4a5158;
  --surface-hover: #474e54;
  --surface-hover-alt: #474e54;
  --surface-dialog: #383E42;
  --text-primary: #ffffff;
  --text-secondary: #cdd1d4;
  --text-secondary-alt: #cdd1d4;
  --text-tertiary: #b4b8bb;
  --border-light: #4a5158;
  --border-medium: #4a5158;
  --border-medium-alt: #4a5158;
  --border-heavy: #5a6168;
  background-color: #383E42;
}

/* LibreChat `.btn-neutral` (neutrale Panel-Buttons: Modell-Picker, Werkzeuge/Aktionen
   hinzufuegen, Erweitert, Version, Upload-Buttons) hardcodet die Hell-Theme-Textfarbe
   #40414f -> auf der dunklen Sidebar dunkel-auf-dunkel = unlesbar. Im <aside> auf hell zwingen,
   damit die Sidebar durchgehend dunkel bleiben kann und die Buttons trotzdem lesbar sind. */
aside .btn-neutral,
aside .btn-neutral * {
  color: #e8eaec !important;
}
/* Hover: LibreChat setzt einen hellen Hover-Hintergrund (hardcoded) -> helle Schrift
   wuerde verschwinden. Hover-Hintergrund dunkel halten, Schrift bleibt hell. */
aside .btn-neutral:hover {
  background-color: #474e54 !important;
}
aside .btn-neutral:hover,
aside .btn-neutral:hover * {
  color: #e8eaec !important;
}
/* Inputs/Textareas: LibreChat hat focus:bg-gray-50 (hardcoded hell) -> auf der dunklen
   Sidebar wuerde der weisse Text beim Fokus verschwinden. Fokus-Hintergrund dunkel halten. */
aside input:focus,
aside textarea:focus {
  background-color: #474e54 !important;
}
/* Agent-/Assistant-Builder Rows + Buttons (AgentTool, AssistantTool, Images): LibreChat
   hardcodet helle Hover-Bgs (hover:bg-gray-50/100/200, hover:bg-white) mit nur dark:-Varianten,
   die bei Force-Light nie greifen -> auf der dunklen Sidebar weisser Text/Icon beim Hover
   unlesbar (z.B. Werkzeug-Zeile "Outlook Email"). Hover-Bg dunkel halten, Schrift bleibt hell. */
aside .hover\:bg-gray-50:hover,
aside .hover\:bg-gray-100:hover,
aside .hover\:bg-white:hover {
  background-color: #474e54 !important;
}
aside .hover\:bg-gray-200:hover {
  background-color: #5a6168 !important;
}

/* Auszeichnungsfarbe Gelb (CD): aktive/gehoverte Conversation = Gelb-Flaeche mit
   anthrazitem Text (CD-Muster, sparsam). Scope nur die Conversation-Liste
   (.ReactVirtualized__List) — nicht New-Chat/Suche, die dieselbe Klasse nutzen. */
aside .ReactVirtualized__List .bg-surface-active-alt {
  background-color: #FFFD00 !important;
}
aside .ReactVirtualized__List .bg-surface-active-alt,
aside .ReactVirtualized__List .bg-surface-active-alt * {
  color: #383E42 !important;
}

/* Primaer-Aktion (CD): gelbe CTA-Buttons mit anthrazitem Text — wie SENDEN/Suche
   auf sprich.ch. .btn-primary (Speichern/Login/Forms, LibreChat-Default war gruen)
   + Chat-Senden-Button (nutzt bg-text-primary; nur im aktiven Zustand gelb). */
.btn-primary {
  background-color: #FFFD00 !important;
  color: #383E42 !important;
}
.btn-primary svg {
  color: #383E42 !important;
}
[data-testid="send-button"]:not(:disabled) {
  background-color: #FFFD00 !important;
}
[data-testid="send-button"]:not(:disabled),
[data-testid="send-button"]:not(:disabled) svg {
  color: #383E42 !important;
}
/* shadcn submit-Variante (z.B. Agent "Auswaehlen") nutzt bg-surface-submit + text-white;
   --surface-submit ist jetzt gelb -> Text/Icon auf anthrazit zwingen. */
.bg-surface-submit,
.bg-surface-submit svg {
  color: #383E42 !important;
}
.btn-primary:hover,
[data-testid="send-button"]:not(:disabled):hover {
  background-color: #e6e400 !important;
}

/* Sekundär-Aktion (CD): das alleinige "Speichern" in der Nachrichten-Bearbeitung nutzt
   LibreChats .btn-secondary (Default-Bg war Grün #10a39c, CD kennt kein Grün). Auf
   Anthrazit setzen ergibt die CD-Hierarchie: gelbe Primär-CTA (Speichern & Absenden) über
   anthraziter Sekundär-Aktion (Speichern) über neutralem Abbrechen-Button.
   ANNAHME: .btn-secondary taucht nur im hellen Hauptbereich auf (aktuell die Edit-Save-Toolbar).
   Erscheint es nach einem Upstream-Rebase im <aside>, wäre es anthrazit-auf-anthrazit
   (unsichtbar) und bräuchte ein eigenes `aside .btn-secondary`-Override. */
.btn-secondary {
  background-color: #383E42 !important;
  color: #ffffff !important;
}
/* Hover-Border explizit neutralisieren: LibreChats :hover setzt border-color (hell faint-black,
   dark teal-grün) — Letzteres wäre wieder Grün, falls je eine .dark-Klasse durchschlägt. */
.btn-secondary:hover {
  background-color: #474e54 !important;
  color: #ffffff !important;
  border-color: transparent !important;
}

/* Login/Auth (hell): LibreChat-Default-Akzent ist Gruen — CD kennt kein Gruen.
   Fokus-Rahmen + Floating-Label der Auth-Felder auf Anthrazit. Scope via
   `.peer.rounded-2xl` = Signatur der Auth-Inputs (Agent-Builder-Felder nutzen
   das nicht), damit der Fokus auf der dunklen Sidebar unberuehrt bleibt. */
.peer.rounded-2xl:focus {
  border-color: #383E42 !important;
}
.peer:focus ~ .peer-focus\:text-green-600,
.peer:focus ~ .peer-focus\:text-green-500 {
  color: #383E42 !important;
}

/* Light-only White-Label (CD hat kein Dark-Theme): Theme-Umschalter entfernen —
   Icon-Toggle im Login (Button mit Ctrl+Shift+T) + Theme-Zeile in den Einstellungen
   (Zeile um #theme-selector-label). BRAND_FORCE_THEME pinnt Light ohnehin bei jedem Load. */
button[aria-keyshortcuts="Ctrl+Shift+T"] {
  display: none !important;
}
div:has(> #theme-selector-label) {
  display: none !important;
}

/* SPRICH Korrespondenz-Schrift Arial (CD-Manual 5.2.2); Code bleibt monospace via .font-mono */
body {
  font-family: Arial, Helvetica, sans-serif !important;
}
