/*
 * Neurus — tema del panel admin (Filament v3)
 * Identidad de neurus.io: acento violeta, Anybody + Switzer.
 * Hoja plana servida desde /public (sin build de Vite). Soporta LIGHT y DARK:
 * las superficies oscuras van engatilladas bajo `.dark`; en claro dejamos el
 * modo claro de Filament + pulido. El tema (auto por hora / manual) lo maneja
 * /js/neurus-theme.js, que togglea la clase `.dark` en <html>.
 *
 * @author IURCO <magento@iurco.com>
 * @copyright Iurco 2026 Todos los derechos reservados
 */

/* ---------- Fuentes self-hosted (reales de neurus.io) ---------- */
@font-face{font-family:'Switzer';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/neurus/switzer-regular.woff2') format('woff2');}
@font-face{font-family:'Switzer';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/neurus/switzer-medium.woff2') format('woff2');}
@font-face{font-family:'Switzer';font-style:normal;font-weight:600 700;font-display:swap;src:url('/fonts/neurus/switzer-bold.woff2') format('woff2');}
@font-face{font-family:'Anybody';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/neurus/anybody-1.woff2') format('woff2');}
@font-face{font-family:'Anybody';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/neurus/anybody-2.woff2') format('woff2');}
@font-face{font-family:'Anybody';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/neurus/anybody-3.woff2') format('woff2');}

:root{
  --neurus-display:'Anybody', ui-sans-serif, system-ui, sans-serif;
  --neurus-body:'Switzer', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --neurus-violet:#9000b3;
  --neurus-violet-bright:#b21ad6;
  --neurus-lavender:#d6b9fb;

  /* Tokens semánticos que se dan vuelta con el tema (LIGHT por default) */
  --n-surface:#ffffff;
  --n-surface-2:#f2f1f5;
  --n-border:#e3e1ea;
  --n-text:#1d1d24;
  --n-text-dim:#6e6b78;
  --n-glow:rgba(144,0,179,.06);
  --n-brand:#2a1533;
}
.dark{
  --n-surface:#1d1d24;
  --n-surface-2:#27262f;
  --n-border:#3f3e48;
  --n-text:#f4f3f7;
  --n-text-dim:#908d9c;
  --n-glow:rgba(144,0,179,.11);
  --n-brand:#ffffff;
}

/* ---------- Tipografía ---------- */
.fi-body,
.fi-simple-layout{font-family:var(--neurus-body);}
.fi-header-heading,.fi-section-header-heading,.fi-modal-heading,
.fi-wi-stats-overview-stat-value,.fi-ta-empty-state-heading{letter-spacing:-.01em;}
.fi-header-heading,.fi-section-header-heading,.fi-modal-heading,
.fi-wi-stats-overview-stat-value{font-family:var(--neurus-display);font-weight:800;}
.fi-wi-stats-overview-stat-value{font-variant-numeric:tabular-nums;}

/* Marca (Anybody, color según tema) */
.fi-logo{font-family:var(--neurus-display)!important;font-weight:800;letter-spacing:-.015em;color:var(--n-brand);}

/* Usamos nuestro propio toggle → ocultamos el switch nativo de Filament */
.fi-theme-switcher{display:none!important;}

/* ---------- Nav activo violeta (ambos temas) ---------- */
.fi-sidebar-item-active .fi-sidebar-item-button{
  background:linear-gradient(100deg, rgba(144,0,179,.16), rgba(144,0,179,.03));
  box-shadow:inset 2px 0 0 var(--neurus-violet-bright);
}
.fi-sidebar-item-active .fi-sidebar-item-icon{color:var(--neurus-violet);}
.dark .fi-sidebar-item-active .fi-sidebar-item-icon{color:var(--neurus-lavender);}

/* Radios + borde de tiles */
.fi-section,.fi-wi-stats-overview-stat,.fi-ta-ctn,.fi-fo-component-ctn > .fi-section{border-radius:16px;}
.fi-wi-stats-overview-stat{border:1px solid var(--n-border);}

/* Glow violeta ambiental (suave en claro, más marcado en oscuro) */
.fi-main{
  background:
    radial-gradient(1100px 360px at 82% -12%, var(--n-glow), transparent 60%),
    rgb(var(--gray-50));
}

/* ---------- Superficies OSCURAS (solo dark) ---------- */
.dark .fi-sidebar{border-right:1px solid rgb(var(--gray-800));background:rgb(var(--gray-950));}
.dark .fi-topbar,
.dark .fi-topbar > nav{background:color-mix(in srgb, rgb(var(--gray-950)) 82%, transparent);backdrop-filter:blur(8px);}
.dark .fi-main{
  background:
    radial-gradient(1100px 360px at 82% -12%, var(--n-glow), transparent 60%),
    rgb(var(--gray-950));
}
.dark .fi-section{background:rgb(var(--gray-900));}

/* Topbar claro: sutil blur también */
:root .fi-topbar,
:root .fi-topbar > nav{backdrop-filter:blur(8px);}

/* ---------- Login branded (ambos temas) ---------- */
.fi-simple-layout{
  background:
    radial-gradient(900px 520px at 18% -10%, var(--n-glow), transparent 55%),
    radial-gradient(700px 420px at 100% 110%, var(--n-glow), transparent 60%),
    rgb(var(--gray-50));
}
.dark .fi-simple-layout{
  background:
    radial-gradient(900px 520px at 18% -10%, rgba(144,0,179,.16), transparent 55%),
    radial-gradient(700px 420px at 100% 110%, rgba(107,0,134,.14), transparent 60%),
    #16171d;
}
.fi-simple-main{border:1px solid var(--n-border);border-radius:18px;box-shadow:0 24px 60px -34px rgba(30,20,40,.35);}
.dark .fi-simple-main{border-color:rgb(var(--gray-800));box-shadow:0 30px 80px -40px rgba(0,0,0,.9);}

/* ---------- Scrollbar (solo dark) ---------- */
.dark .fi-body ::-webkit-scrollbar{width:10px;height:10px;}
.dark .fi-body ::-webkit-scrollbar-thumb{background:rgb(var(--gray-800));border-radius:999px;border:2px solid rgb(var(--gray-950));}
.dark .fi-body ::-webkit-scrollbar-thumb:hover{background:rgb(var(--gray-700));}

/* ---------- Tablas dentro de widgets ---------- */
.fi-wi table tbody tr{transition:background-color .12s ease;}
.fi-wi table tbody tr:hover{background:rgba(144,0,179,.06);}
.fi-wi table td.text-right,.fi-wi table td .font-mono{font-variant-numeric:tabular-nums;}
.fi-wi-stats-overview-stat-chart{opacity:.9;}

/* ---------- Toggle de tema (nuestro control, en el topbar) ---------- */
.neurus-theme-toggle{
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  font-family:var(--neurus-body);font-size:12.5px;font-weight:600;color:var(--n-text-dim);
  background:var(--n-surface-2);border:1px solid var(--n-border);border-radius:9px;
  padding:7px 11px;transition:border-color .13s,color .13s,background .13s;
}
.neurus-theme-toggle:hover{color:var(--n-text);border-color:var(--neurus-violet-bright);}
.neurus-theme-toggle svg{width:15px;height:15px;}
.neurus-theme-toggle .lbl{white-space:nowrap;}

/* ---------- Selector de tenant (tokens semánticos → ambos temas) ---------- */
.neurus-tenantbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.neurus-tenantbar .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--n-text-dim);font-weight:600;}
.neurus-tenant-select{
  appearance:none;-webkit-appearance:none;
  font-family:var(--neurus-body);font-size:13px;font-weight:600;color:var(--n-text);
  background-color:var(--n-surface-2);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238d8a99' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;
  border:1px solid var(--n-border);border-radius:9px;padding:8px 34px 8px 12px;cursor:pointer;
  transition:border-color .13s,background-color .13s;
}
.neurus-tenant-select:hover{border-color:var(--n-text-dim);}
.neurus-tenant-select:focus{outline:none;border-color:var(--neurus-violet-bright);box-shadow:0 0 0 3px rgba(144,0,179,.22);}
.neurus-tenant-select option{background:var(--n-surface);color:var(--n-text);}
.neurus-tenantbar .cur{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:12.5px;
  color:var(--neurus-violet);background:rgba(144,0,179,.12);border:1px solid rgba(144,0,179,.28);padding:5px 12px;border-radius:999px;}
.dark .neurus-tenantbar .cur{color:var(--neurus-lavender);}
.neurus-tenantbar .cur.none{color:var(--n-text-dim);background:transparent;border-color:var(--n-border);font-weight:600;}

@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;}}
