/* ============================================================
   NeoXam – LibreChat UI Override
   Baked into the custom LibreChat image by Dockerfile.librechat:
     - copied to /app/client/dist/assets/override.css
     - <link> tag injected before </head> in index.html
   Cache-busted by ARG BUILD_SHA (git SHA in CI).
   ============================================================ */

/* 0. Mark Pro font from neoxam.com */
@font-face {
  font-family: 'Mark Pro';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url('https://actual.nx.digital/Mark-Pro-Bold.woff2') format('woff2');
}

/* ============================================================
   LOGIN PAGE (scoped via :has to login-only elements)
   ============================================================ */

/* 1. Login root → two-column grid (586px hero + fluid card) */
#root > div:first-child:has(main .w-authPageWidth) {
  display: grid !important;
  grid-template-columns: 586px 1fr;
  grid-template-rows: 1fr;
  min-height: 100vh;
  background: #030712 !important;
  flex-direction: unset !important;
}

/* 2. Login children → right column */
#root > div:first-child:has(main .w-authPageWidth) > * {
  grid-column: 2;
  grid-row: 1;
}

/* 3. Hide login chrome */
#root > div:first-child:has(main .w-authPageWidth) > .mt-6.h-10,
#root > div:first-child:has(main .w-authPageWidth) > .absolute.bottom-0,
#root > div:first-child:has(main .w-authPageWidth) > [role="contentinfo"] {
  display: none !important;
}

/* 4. Login main – center card */
#root > div:first-child:has(main .w-authPageWidth) > main {
  z-index: 1;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #030712;
}

/* 5. Card styling */
main .w-authPageWidth {
  background: #ffffff !important;
  border: 1px solid #f3f4f6;
  border-radius: 6px !important;
  padding: 24px !important;
  max-width: 407px !important;
  width: 407px;
  box-shadow: 0 1px 4px 0 rgba(0,0,0,.09);
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
main .w-authPageWidth,
main .w-authPageWidth[class*="rounded"] {
  border-radius: 6px !important;
}

/* 6. Logo inside card (NeoXam AI logo) */
main .w-authPageWidth::before {
  content: '';
  display: block;
  width: 144px;
  height: 40px;
  background: url('data:image/png;base64,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') no-repeat left center / contain;
  flex-shrink: 0;
  margin: 0 !important;
}

/* 7. Heading */
main .w-authPageWidth h1 {
  font-size: 0 !important;
  color: transparent !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  user-select: none;
  margin-top: 2px !important;
}
main .w-authPageWidth h1::before {
  content: "Welcome!";
  display: block;
  font-size: 22px;
  font-weight: 700;
  font-family: 'Mark Pro', sans-serif;
  color: #079A86;
  line-height: normal;
}
main .w-authPageWidth h1::after {
  content: "Access NeoXam conversational assistant";
  display: block;
  font-size: 13px;
  font-weight: 400;
  font-family: 'SF Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color: #4A5565;
  margin-top: 0;
  line-height: normal;
}

/* 8. SSO button (solid teal) */
main .w-authPageWidth .mt-2 {
  margin-top: 0 !important;
}
main a[data-testid="openid"] {
  border: none !important;
  background: #0ED8B8 !important;
  border-radius: 6px !important;
  padding: 6px 10px !important;
  justify-content: center;
  min-height: 36px;
  transition: background .15s;
}
main a[data-testid="openid"]:hover {
  background: #079A86 !important;
}
main a[data-testid="openid"] svg {
  display: none;
}
main a[data-testid="openid"] p {
  font-size: 0;
}
main a[data-testid="openid"] p::before {
  content: "Connect with SSO";
  font-size: 13px;
  font-weight: 590;
  font-family: 'SF Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color: #ffffff;
}

/* 9. Left hero panel (image + overlay + bottom text) */
#root > div:first-child:has(main .w-authPageWidth)::after {
  content: "The Conversational Gateway to NeoXam Products";
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 80px 72px;
  background: url('https://images.unsplash.com/photo-1508385082359-f38ae991e8f2?w=1800&q=80&auto=format&fit=crop') no-repeat center / cover;
  filter: saturate(.6);
  color: #ffffff;
  font-size: 30px;
  font-weight: 700;
  font-family: 'Mark Pro', sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.25;
  white-space: normal;
  text-wrap: balance;
}

/* 9b. Hero NeoXam white logo (above title) */
#root > div:first-child:has(main .w-authPageWidth)::before {
  content: '';
  grid-column: 1;
  grid-row: 1;
  z-index: 1;
  width: 48px;
  height: 48px;
  align-self: end;
  margin: 0 0 171px 72px;
  background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 8.05438L15.9408 0L10.8336 5.10718L24 18.2735L37.1664 5.10718L32.0592 0L24 8.05438Z' fill='%230ED8B8'/%3E%3Cpath d='M24 39.9408L32.0592 48L37.1664 42.888L24 29.7217L10.8336 42.888L15.9408 48L24 39.9408Z' fill='%230ED8B8'/%3E%3Cpath d='M39.9408 24.0002L48 15.941L42.8928 10.829L29.7216 24.0002L42.8928 37.1665L48 32.0593L39.9408 24.0002Z' fill='%230ED8B8'/%3E%3Cpath d='M8.0592 24.0002L0 32.0593L5.1072 37.1665L18.2784 24.0002L5.1072 10.829L0 15.941L8.0592 24.0002Z' fill='white'/%3E%3C/svg%3E") no-repeat center / contain;
  pointer-events: none;
}

/* 10. Login responsive */
@media (max-width: 1024px) {
  #root > div:first-child:has(main .w-authPageWidth) {
    grid-template-columns: 1fr !important;
  }
  #root > div:first-child:has(main .w-authPageWidth)::after,
  #root > div:first-child:has(main .w-authPageWidth)::before {
    display: none !important;
  }
  #root > div:first-child:has(main .w-authPageWidth) > * {
    grid-column: 1;
  }
}
@media (max-width: 480px) {
  main .w-authPageWidth {
    width: calc(100% - 32px) !important;
    max-width: 407px !important;
  }
}

/* ============================================================
   CHAT UI – accent color & typography
   ============================================================ */

/* 11. Chat input – teal focus ring */
/* .rounded-3xl.border.border-border-light.bg-surface-chat:focus-within,
.rounded-t-3xl.border.border-border-light.bg-surface-chat:focus-within {
  border-color: #0ed8b8 !important;
  box-shadow: 0 0 0 1px #0ed8b8 !important;
} */

/* 12. Send button – teal when active */
button[class*="rounded-full"][class*="bg-text-primary"]:not(:disabled) {
  background-color: #079a86 !important;
}

/* 13. Agent/welcome heading – teal */
.text-2xl.font-medium.text-text-primary,
.text-4xl.font-medium.text-text-primary {
  color: #079a86 !important;
  font-family: 'Mark Pro', sans-serif !important;
}

/* 14. Focus ring accent */
*:focus-within {
  --tw-ring-color: #0ed8b8;
}

/* ============================================================
   CHAT UI – replace Lucide Feather with NeoXam NX logo
   ============================================================ */

/* 15. Hide feather, inject NX logo */
svg.lucide-feather {
  display: none !important;
}
div:has(> svg.lucide-feather)::before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.0001 3.356L6.64204 0L4.51404 2.128L10.0001 7.614L15.4861 2.128L13.3581 0L10.0001 3.356Z' fill='%230ED8B8'/%3E%3Cpath d='M10.0001 16.642L13.3581 20L15.4861 17.87L10.0001 12.384L4.51404 17.87L6.64204 20L10.0001 16.642Z' fill='%230ED8B8'/%3E%3Cpath d='M16.642 10.0001L20.0001 6.64209L17.872 4.51208L12.384 10.0001L17.872 15.4861L20.0001 13.3581L16.642 10.0001Z' fill='%230ED8B8'/%3E%3Cpath d='M3.35801 10.0001L0 13.3581L2.128 15.4861L7.61602 10.0001L2.128 4.51208L0 6.64209L3.35801 10.0001Z' fill='%2322211F'/%3E%3C/svg%3E") no-repeat center / contain;
  flex-shrink: 0;
}

/* Hide UI elements not used by the doc-search experience.
   i18n-safe: target ids and SVG geometry, never `aria-label` (localized).
   See docs/runbooks/librechat-role-permissions.md. */

/* Composer attach buttons (Agents + Assistants endpoints) */
#attach-file-menu-button,
#attach-file {
  display: none !important;
}

/* Sidebar "Attach Files" panel button (AttachmentIcon path) */
button:has(svg path[d^="M9 7C9 4.23858 11.2386 2 14 2C16.7614 2 19 4.23858 19 7V15"]) {
  display: none !important;
}

/* Sidebar MCP Settings button (MCPIcon viewBox) */
button:has(svg[viewBox="0 2 195 195"]) {
  display: none !important;
}

/* Message hover action bar (Copy/Edit/Regenerate/Fork/Continue/Feedback) */
.hover-button {
  display: none !important;
}

/* 16. Sidebar icon column – NX logo at top */
aside div.border-r.border-border-light::before {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  order: -1;
  background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.0001 3.356L6.64204 0L4.51404 2.128L10.0001 7.614L15.4861 2.128L13.3581 0L10.0001 3.356Z' fill='%230ED8B8'/%3E%3Cpath d='M10.0001 16.642L13.3581 20L15.4861 17.87L10.0001 12.384L4.51404 17.87L6.64204 20L10.0001 16.642Z' fill='%230ED8B8'/%3E%3Cpath d='M16.642 10.0001L20.0001 6.64209L17.872 4.51208L12.384 10.0001L17.872 15.4861L20.0001 13.3581L16.642 10.0001Z' fill='%230ED8B8'/%3E%3Cpath d='M3.35801 10.0001L0 13.3581L2.128 15.4861L7.61602 10.0001L2.128 4.51208L0 6.64209L3.35801 10.0001Z' fill='%2322211F'/%3E%3C/svg%3E") no-repeat center / contain;
  flex-shrink: 0;
  margin: 4px auto 4px;
}
