/*
 * Corporate AI Gateway — Phase 6 theme overlay (O2 Consulting)
 * Injected into the prebuilt LibreChat client (no React rebuild).
 *
 * Palette (from O2 logo; refine if brand guide available):
 *   Accent cyan:     #29ABD6
 *   Crystal light:   #8FD6E8
 *   Crystal deep:    #1F8FB8
 *   Grey secondary:  #7C7F82
 *   Sidebar dark:    #0F2A3A
 *   Premium badge:   #c99a2e
 *   Local badge:     #1f9d57
 */

:root,
.dark {
  --brand-purple: #29abd6;
  --o2-accent: #29abd6;
  --o2-accent-deep: #1f8fb8;
  --o2-accent-soft: #e6f7fb;
  --o2-grey: #7c7f82;
  --o2-sidebar: #0f2a3a;
  --o2-sidebar-2: #163849;
  --o2-sidebar-hover: #1c4558;
  --o2-premium: #c99a2e;
  --o2-local: #1f9d57;
}

/* Accent: links, focus rings, brand-purple consumers */
a {
  color: var(--o2-accent);
}

:focus-visible {
  outline-color: var(--o2-accent);
}

/* Send / primary actions — cyan instead of ink/purple */
#send-button:not(:disabled) {
  background-color: var(--o2-accent) !important;
  color: #ffffff !important;
}

#send-button:not(:disabled):hover {
  background-color: var(--o2-accent-deep) !important;
}

/* Unified left sidebar (LibreChat: fixed left-0 top-0 z-[110]) */
div.fixed.left-0.top-0.z-\[110\],
div.fixed.left-0.top-0.z-\[110\] nav,
div.fixed.left-0.top-0.z-\[110\] .bg-surface-primary-alt {
  background-color: var(--o2-sidebar) !important;
  color: #dfe8ee;
}

div.fixed.left-0.top-0.z-\[110\] {
  border-right: 1px solid rgba(255, 255, 255, 0.07);
}

/* Sidebar text / muted */
div.fixed.left-0.top-0.z-\[110\] .text-text-primary,
div.fixed.left-0.top-0.z-\[110\] .text-text-secondary,
div.fixed.left-0.top-0.z-\[110\] .text-text-tertiary {
  color: #cdd7e0 !important;
}

div.fixed.left-0.top-0.z-\[110\] a,
div.fixed.left-0.top-0.z-\[110\] button {
  color: #cdd7e0;
}

div.fixed.left-0.top-0.z-\[110\] a:hover,
div.fixed.left-0.top-0.z-\[110\] button:hover {
  background-color: var(--o2-sidebar-hover) !important;
  color: #ffffff !important;
}

/* Conversation list hover / active */
div.fixed.left-0.top-0.z-\[110\] [class*="hover:bg-surface-hover"]:hover,
div.fixed.left-0.top-0.z-\[110\] .bg-surface-active,
div.fixed.left-0.top-0.z-\[110\] .bg-surface-hover {
  background-color: var(--o2-sidebar-hover) !important;
}

/* Login page: keep white stage, tint accent */
.AuthLayout a,
[data-testid="login-form"] button[type="submit"],
form[aria-label] button[type="submit"].btn-primary {
  /* best-effort; AuthLayout markup varies by build */
}

/* ModelSpec badges in labels (emoji / text cues) */
[data-testid="endpoint-menu"] [class*="badge"],
.model-spec-badge-premium {
  background: #fbf1d6;
  color: var(--o2-premium);
}

.model-spec-badge-local {
  background: #e3f4ea;
  color: var(--o2-local);
}

/* Soft accent for limit / balance pills when present */
.limit-pill,
[class*="tokenCredits"],
[class*="balance"] {
  /* no-op hooks for future layout fidelity */
}

/* Footer / secondary muted text */
footer,
.custom-footer {
  color: var(--o2-grey);
}
