/*
  Identidad visual del Sistema de Trazabilidad de Mantenimiento.
  Sobrescribe las variables CSS del admin de Django 5 (no toca sus
  plantillas internas) — misma paleta que el dashboard y la ficha del QR:
  oliva #5A7302, tinta #22291C, ámbar #C77B1F, acero #3E5C76, rojo #B3362B.
*/

:root, html[data-theme="dark"], html[data-theme="auto"] {
  color-scheme: light;

  --primary: #5A7302;
  --primary-fg: #FAF9F4;

  --body-fg: #22291C;
  --body-bg: #FAF9F4;
  --body-quiet-color: #6b6f5f;
  --body-loud-color: #22291C;

  --header-color: #FAF9F4;
  --header-branding-color: #C77B1F;
  --header-bg: #22291C;
  --header-link-color: #FAF9F4;

  --breadcrumbs-fg: #E8EDD8;
  --breadcrumbs-link-fg: #FAF9F4;
  --breadcrumbs-bg: #5A7302;

  --link-fg: #3E5C76;
  --link-hover-color: #5A7302;
  --link-selected-fg: #5A7302;

  --hairline-color: #D9D6C8;
  --border-color: #D9D6C8;

  --error-fg: #B3362B;
  --message-success-bg: #E8EDD8;
  --message-warning-bg: #f5e6cf;
  --message-error-bg: #f6e2e0;

  --darkened-bg: #F1EFE6;
  --selected-bg: #E8EDD8;
  --selected-row: #f5f0da;

  --button-fg: #FAF9F4;
  --button-bg: #5A7302;
  --button-hover-bg: #465a02;
  --default-button-bg: #22291C;
  --default-button-hover-bg: #3a4430;
  --close-button-bg: #6b6f5f;
  --close-button-hover-bg: #565a4c;
  --delete-button-bg: #B3362B;
  --delete-button-hover-bg: #8f2b22;
  --object-tools-bg: #3E5C76;
  --object-tools-hover-bg: #334c62;

  --font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Helvetica, Arial, sans-serif;
}

/* Encabezado: branding con más aire y el nombre del sitio en ámbar */
#header {
  padding: 12px 24px;
}
#branding h1 {
  font-weight: 700;
  letter-spacing: .02em;
}
#branding h1 a:link, #branding h1 a:visited {
  color: var(--header-branding-color);
}

/* Módulos del índice: esquinas suaves, borde sutil en vez de sombra dura */
.module {
  border-radius: 8px;
  border: 1px solid var(--hairline-color);
  overflow: hidden;
}
.module h2, .module caption, .inline-group h2 {
  letter-spacing: .03em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
}

/* Botones: esquinas suaves, consistentes con el resto del sistema */
.button, input[type=submit], input[type=button], .submit-row input, a.button {
  border-radius: 6px;
}

/* Login: tarjeta centrada, más cercana al resto del sistema que el
   formulario de ancho completo por defecto */
.login {
  background: var(--body-bg);
}
.login #container {
  max-width: 380px;
  margin: 12vh auto 0;
  border-radius: 10px;
  border: 1px solid var(--hairline-color);
  box-shadow: 0 1px 3px rgba(34, 41, 28, .08);
}
.login .form-row label {
  color: var(--body-fg);
}

/* Tablas de líneas (inline, ej. Líneas de Cotización): scroll horizontal
   propio en vez de depender de hacer zoom out en todo el navegador. */
.inline-group .tabular {
  max-width: 100%;
  overflow-x: scroll;
  display: block;
}
.inline-group .tabular > fieldset {
  max-width: 100%;
  overflow-x: scroll;
  display: block;
}
.inline-group .tabular table {
  min-width: 1000px;
  width: max-content;
}

/* Asistente de IA — botón flotante + panel de chat */
#asistente-ia { position: fixed; right: 24px; bottom: 24px; z-index: 1000; }
#asistente-ia-boton {
  width: 52px; height: 52px; border-radius: 50%; border: none;
  background: var(--primary); color: var(--primary-fg); font-size: 22px;
  cursor: pointer; box-shadow: 0 2px 8px rgba(34,41,28,.25);
}
#asistente-ia-panel {
  position: absolute; right: 0; bottom: 64px; width: 320px; max-height: 420px;
  background: var(--body-bg); border: 1px solid var(--hairline-color);
  border-radius: 10px; box-shadow: 0 4px 16px rgba(34,41,28,.2);
  display: flex; flex-direction: column; overflow: hidden;
}
#asistente-ia-panel[hidden] { display: none !important; }
#asistente-ia-cabecera {
  background: var(--header-bg); color: var(--header-color); padding: 10px 12px;
  display: flex; justify-content: space-between; align-items: center; font-weight: 700;
}
#asistente-ia-cabecera button {
  background: none; border: none; color: var(--header-color); font-size: 18px; cursor: pointer;
}
#asistente-ia-mensajes { flex: 1; overflow-y: auto; padding: 10px; max-height: 300px; }
.asistente-ia-msg { margin-bottom: 8px; padding: 8px 10px; border-radius: 8px; font-size: 13px; max-width: 85%; }
.asistente-ia-msg.propio { background: var(--primary); color: var(--primary-fg); margin-left: auto; }
.asistente-ia-msg.ia { background: var(--darkened-bg); color: var(--body-fg); }
#asistente-ia-form { display: flex; border-top: 1px solid var(--hairline-color); }
#asistente-ia-input { flex: 1; border: none; padding: 10px; font-size: 13px; }
#asistente-ia-form button {
  border: none; background: var(--primary); color: var(--primary-fg);
  padding: 0 14px; cursor: pointer; font-size: 13px;
}
