/*
 * Hoja de estilos única de Nivuu (ADR-0019).
 * La cargan los dos paneles (admin y app), las páginas de acceso y las páginas de error.
 * La marca se define una sola vez en :root; un cambio de color o de tipografía se hace aquí y se ve en todo.
 * Los correos no pueden cargar hojas externas: su tema (resources/views/vendor/mail/html/themes/nivuu.css)
 * repite estos mismos valores.
 */

:root {
  --nivuu-primary: #2563eb;
  --nivuu-primary-dark: #1d4ed8;
  --nivuu-navy: #0c1c3f;
  --nivuu-navy-dark: #081330;
  --nivuu-text: #0f172a;
  --nivuu-muted: #475569;
  --nivuu-subtle: #94a3b8;
  --nivuu-border: #e2e8f0;
  --nivuu-radius: 18px;
  --nivuu-radius-sm: 10px;
  --nivuu-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
  --nivuu-font: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  /* Filament toma la tipografía de esta variable. */
  --font-family: var(--nivuu-font);
}

/* ---------------------------------------------------------------------------------------------
 * Tarjeta sobre fondo de marca: acceso de Filament y páginas de error comparten el mismo aspecto.
 * ------------------------------------------------------------------------------------------- */
body.nivuu-page,
.fi-simple-layout {
  background: linear-gradient(180deg, var(--nivuu-navy) 0%, var(--nivuu-navy-dark) 100%) fixed;
  font-family: var(--nivuu-font);
}

/* Filament: el contenedor del acceso se vuelve la tarjeta blanca. */
.fi-simple-layout .fi-simple-main {
  width: min(440px, calc(100vw - 2rem));
  max-width: 440px;
  padding: 2rem 2rem 1.75rem;
  border-radius: var(--nivuu-radius);
  background: #fff;
  box-shadow: var(--nivuu-shadow);
  --tw-ring-shadow: 0 0 #0000;
}

.fi-simple-layout .fi-simple-header-heading,
.fi-simple-layout .fi-simple-header-subheading {
  text-align: center;
}

.fi-simple-layout .fi-logo {
  margin-inline: auto;
}

.fi-simple-layout .fi-logo img,
.fi-simple-layout img.fi-logo {
  height: 3rem;
  width: auto;
}

/* Páginas de error (sin Filament). */
body.nivuu-page {
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 1rem;
  color: var(--nivuu-text);
}

.nivuu-card {
  width: min(440px, 100%);
  background: #fff;
  border-radius: var(--nivuu-radius);
  padding: 2rem 2rem 1.75rem;
  text-align: center;
  box-shadow: var(--nivuu-shadow);
}

.nivuu-card img.nivuu-logo {
  width: 180px;
  max-width: 100%;
  height: auto;
}

.nivuu-card h1 {
  margin: 1rem 0 0.25rem;
  font-size: 1.4rem;
}

.nivuu-card p {
  margin: 0.5rem 0 1.5rem;
  color: var(--nivuu-muted);
  line-height: 1.5;
}

.nivuu-card small {
  display: block;
  margin-top: 1rem;
  color: var(--nivuu-subtle);
}

.nivuu-button {
  display: block;
  padding: 0.8rem 1rem;
  border-radius: var(--nivuu-radius-sm);
  background: var(--nivuu-primary);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.nivuu-button:hover {
  background: var(--nivuu-primary-dark);
}

/* ---------------------------------------------------------------------------------------------
 * Paneles: mismo trazo en `admin` y `app`.
 * ------------------------------------------------------------------------------------------- */
.fi-sidebar-header .fi-logo,
.fi-topbar .fi-logo {
  height: 2rem;
  width: auto;
}

.fi-btn {
  border-radius: var(--nivuu-radius-sm);
}

.fi-section,
.fi-ta-ctn,
.fi-modal-window {
  border-radius: 14px;
}
