/* ═══════════════════════════════════════════════════════
   MaxDoo AI — LibreChat Custom Theme
   Brand: #0f2b3f navy · #e5a926 gold · #714B67 purple
   Font: Inter (Google Fonts)
   ═══════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

/* ── Brand tokens ─────────────────────────────────────── */
:root {
  --md-navy:        #0f2b3f;
  --md-navy-dark:   #08182a;
  --md-navy-mid:    #142f45;
  --md-navy-lite:   #1a3a52;
  --md-gold:        #e5a926;
  --md-gold-hover:  #c48e18;
  --md-gold-dim:    rgba(229,169,38,0.15);
  --md-gold-border: rgba(229,169,38,0.30);
  --md-purple:      #714B67;
  --md-white:       #ffffff;
  --md-muted:       #94a3b8;
}

/* ── Global font ──────────────────────────────────────── */
*, body, input, textarea, button, select {
  font-family: 'Inter', system-ui, sans-serif !important;
}

/* ── Root & body ──────────────────────────────────────── */
html, body, #root {
  background-color: var(--md-navy) !important;
}

/* ── Sidebar ──────────────────────────────────────────── */
.dark nav,
.dark [class*=sidebar],
.dark .scrollbar-sidebar,
.dark .bg-surface-primary-alt {
  background-color: var(--md-navy-dark) !important;
}

.dark .bg-surface-primary-alt {
  border-right: 1px solid var(--md-gold-border) !important;
}

/* Active conversation in sidebar */
.dark .active-convo,
.dark [class*=bg-token-sidebar-surface-secondary],
.dark li[class*=bg-] a {
  background-color: rgba(229,169,38,0.10) !important;
  border-left: 3px solid var(--md-gold) !important;
}

/* New chat button */
.dark .btn-neutral {
  border-color: var(--md-gold-border) !important;
  color: var(--md-gold) !important;
}
.dark .btn-neutral:hover {
  background-color: var(--md-gold-dim) !important;
  border-color: var(--md-gold) !important;
}

/* ── Header / top bar ─────────────────────────────────── */
.dark header,
.dark .sticky.top-0.z-10,
.dark [class*=nav-top] {
  background-color: var(--md-navy) !important;
  border-bottom: 1px solid var(--md-gold-border) !important;
}

/* ── Main chat area ───────────────────────────────────── */
.dark main,
.dark .conversation-main,
.dark .flex-1.overflow-hidden {
  background-color: var(--md-navy) !important;
}

/* ── Input area ───────────────────────────────────────── */
.dark .input-area,
.dark [class*=bg-token-main-surface-secondary],
.dark .rounded-2xl.bg-gray-100,
.dark form > div,
.dark .chat-form {
  background-color: var(--md-navy-mid) !important;
  border: 1px solid var(--md-gold-border) !important;
  border-radius: 16px !important;
}

.dark #prompt-textarea,
.dark [contenteditable=true],
.dark textarea {
  background-color: transparent !important;
  color: var(--md-white) !important;
  caret-color: var(--md-gold) !important;
}
.dark #prompt-textarea::placeholder { color: var(--md-muted) !important; }

/* ── Send button ──────────────────────────────────────── */
.dark button[data-testid=send-button],
.dark .send-button {
  background-color: var(--md-gold) !important;
  color: var(--md-navy-dark) !important;
  border-radius: 10px !important;
}
.dark button[data-testid=send-button]:hover {
  background-color: var(--md-gold-hover) !important;
}
.dark button[data-testid=send-button]:disabled {
  background-color: var(--md-navy-lite) !important;
  color: var(--md-muted) !important;
}

/* ── Model selector ───────────────────────────────────── */
.dark [id*=model-select],
.dark [class*=model-select],
.dark button[id*=select-] {
  background-color: var(--md-navy-mid) !important;
  border-color: var(--md-gold-border) !important;
  color: var(--md-gold) !important;
}

/* ── Dropdowns & menus ────────────────────────────────── */
.dark [role=menu],
.dark [role=listbox],
.dark [class*=dropdown],
.dark [class*=popover] {
  background-color: var(--md-navy-dark) !important;
  border: 1px solid var(--md-gold-border) !important;
  border-radius: 10px !important;
}
.dark [role=menuitem]:hover,
.dark [role=option]:hover,
.dark [role=option][aria-selected=true] {
  background-color: var(--md-gold-dim) !important;
  color: var(--md-gold) !important;
}

/* ── Code blocks ──────────────────────────────────────── */
.dark pre, .dark pre code {
  background-color: var(--md-navy-dark) !important;
  border: 1px solid var(--md-gold-dim) !important;
  border-radius: 8px !important;
}
.dark code:not(pre code) {
  background-color: var(--md-navy-dark) !important;
  color: var(--md-gold) !important;
  padding: 2px 5px !important;
  border-radius: 4px !important;
}

/* Code block header */
.dark .code-block-header,
.dark [class*=code-header] {
  background-color: var(--md-navy-mid) !important;
  border-bottom: 1px solid var(--md-gold-dim) !important;
}

/* ── Links ────────────────────────────────────────────── */
.dark a:not([class*=btn]):not([class*=button]) {
  color: var(--md-gold) !important;
}
.dark a:hover { color: var(--md-gold-hover) !important; }

/* ── User message bubble ──────────────────────────────── */
.dark [data-message-author-role=user] > div,
.dark .message-user {
  background-color: var(--md-purple) !important;
  border-radius: 14px !important;
  padding: 12px 16px !important;
}

/* ── Modals & dialogs ─────────────────────────────────── */
.dark [role=dialog],
.dark .modal-content,
.dark [class*=Dialog] {
  background-color: var(--md-navy-dark) !important;
  border: 1px solid var(--md-gold-border) !important;
  border-radius: 14px !important;
}

/* ── Scrollbar ────────────────────────────────────────── */
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: var(--md-navy-dark); }
::-webkit-scrollbar-thumb { background: rgba(229,169,38,0.40); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--md-gold); }

/* ── Text selection ───────────────────────────────────── */
::selection { background: var(--md-gold); color: var(--md-navy-dark); }

/* ── Login page ───────────────────────────────────────── */
.login-container,
[class*=auth],
[class*=login] {
  background-color: var(--md-navy) !important;
}
button[type=submit],
.btn-primary {
  background-color: var(--md-gold) !important;
  color: var(--md-navy-dark) !important;
  font-weight: 700 !important;
  border: none !important;
}
button[type=submit]:hover { background-color: var(--md-gold-hover) !important; }

/* Login input fields */
input[type=email], input[type=password], input[type=text] {
  background-color: var(--md-navy-mid) !important;
  border-color: var(--md-gold-border) !important;
  color: var(--md-white) !important;
  border-radius: 8px !important;
}
input:focus {
  border-color: var(--md-gold) !important;
  box-shadow: 0 0 0 2px rgba(229,169,38,0.20) !important;
  outline: none !important;
}

/* ── Footer ───────────────────────────────────────────── */
.dark footer,
.dark [class*=footer] {
  background-color: var(--md-navy-dark) !important;
  border-top: 1px solid var(--md-gold-dim) !important;
  color: var(--md-muted) !important;
  font-size: 0.75rem !important;
}

/* ── Loading screen ───────────────────────────────────── */
#loading-container { background-color: var(--md-navy) !important; }

/* ── MaxDoo Logo Bar ──────────────────────────────────────────────────────
   Injected by nginx into the top of #root. Shows in sidebar header area. */
#maxdoo-logo-bar {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 16px 10px;
  background-color: var(--md-navy-dark);
  border-bottom: 1px solid var(--md-gold-border);
  position: fixed;
  top: 0;
  left: 0;
  width: 260px;
  z-index: 9999;
  box-sizing: border-box;
}

#maxdoo-logo-bar img {
  height: 52px;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 1px 4px rgba(229,169,38,0.25));
}

/* Push sidebar content below the logo bar */
.dark nav,
.dark [class*="sidebar"] {
  padding-top: 108px !important;
}

/* Prevent overlap on mobile */
@media (max-width: 768px) {
  #maxdoo-logo-bar {
    width: 100%;
    position: relative;
    border-bottom: 1px solid var(--md-gold-border);
  }
  .dark nav { padding-top: 0 !important; }
}

/* ── Language Switcher ─────────────────────────────────────────────────
   Injected by nginx via lang.js. Rendered below the account name/card. */
#md-lang-sw {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: auto;
  background: transparent;
  border: none;
  border-radius: 8px;
}

#md-lang-sw.md-lang-account-card {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 12px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
}

#md-lang-sw.md-lang-sidebar-account {
  flex-direction: column;
  gap: 2px;
  padding: 2px;
  width: 36px;
  max-width: 36px;
  margin: 0 auto 2px;
}

.md-lang-btn {
  background: transparent;
  border: none;
  color: inherit;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 6px;
  cursor: pointer;
  transition: color 0.15s, background 0.15s;
  font-family: 'Inter', system-ui, sans-serif;
}

#md-lang-sw .md-lang-label {
  display: none;
}

#md-lang-sw.md-lang-account-card .md-lang-label {
  display: inline-flex;
  align-items: center;
  margin-right: auto;
  color: inherit;
  font-size: inherit;
  font-weight: 400;
}

#md-lang-sw.md-lang-account-card .md-lang-btn {
  flex: 0 0 auto;
  width: auto;
  font-size: 11px;
  padding: 4px 7px;
}

#md-lang-sw.md-lang-sidebar-account .md-lang-btn {
  flex: 0 0 auto;
  width: 100%;
  font-size: 9px;
  padding: 2px 0;
}

.md-lang-btn:hover {
  color: #ffffff;
  background: rgba(255,255,255,0.10);
}

.md-lang-active {
  color: #ffffff !important;
  background: rgba(255,255,255,0.12) !important;
}
