/* ==========================================================================
   ECU Soluciones — tema del panel
   --------------------------------------------------------------------------
   Se carga después del <style> propio de Filament (render hook HEAD_END), así
   que las redefiniciones de :root ganan por orden de origen sin necesidad de
   !important. La paleta vive en el AdminPanelProvider; aquí solo van tipografía,
   densidad y los detalles que la API de Filament no expone.
   ========================================================================== */

:root {
    /* Filament emite --font-family: 'ECU Sans'. Se resuelve aquí contra fuentes
       del sistema: sin CDN, sin descarga, idéntico offline. */
    --font-family:
        'Segoe UI Variable Display', 'Segoe UI', system-ui, -apple-system,
        'Helvetica Neue', Arial, sans-serif;
    --mono-font-family:
        'Cascadia Code', 'Cascadia Mono', ui-monospace, 'SF Mono', 'JetBrains Mono',
        Consolas, 'Liberation Mono', monospace;

    --ecu-signal: #f5a524;
    --ecu-hairline: color-mix(in srgb, var(--gray-400) 16%, transparent);
    --ecu-track: 0.08em;
}

/* Datos técnicos: tabular para que las columnas de cifras se alineen y las
   huellas de hardware se comparen carácter a carácter. */
.fi-ta-text-item-label:where(.fi-font-mono),
.fi-in-text:where(.fi-font-mono),
code,
kbd,
samp {
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}

/* --------------------------------------------------------------------------
   Marca
   -------------------------------------------------------------------------- */

.ecu-brand {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    color: var(--gray-100);
}

.ecu-brand__mark {
    width: 1.875rem;
    height: 1.875rem;
    flex: none;
}

.ecu-brand__text {
    display: flex;
    flex-direction: column;
    gap: 0.0625rem;
    min-width: 0;
}

.ecu-brand__name {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: var(--gray-50);
}

.ecu-brand__tag {
    font-family: var(--mono-font-family);
    font-size: 0.5625rem;
    line-height: 1.2;
    letter-spacing: var(--ecu-track);
    text-transform: uppercase;
    color: var(--gray-500);
    white-space: nowrap;
}

/* En la barra lateral colapsada solo sobrevive el isotipo. */
.fi-sidebar-collapsed .ecu-brand__text {
    display: none;
}

/* --------------------------------------------------------------------------
   Cabeceras de sección: la etiqueta en mono versalita es el tic del
   instrumento, y se aplica solo a los títulos de widget para no ruidosear.
   -------------------------------------------------------------------------- */

.fi-wi-stats-overview-stat-label {
    font-family: var(--mono-font-family);
    font-size: 0.625rem;
    letter-spacing: var(--ecu-track);
    text-transform: uppercase;
    color: var(--gray-400);
}

.fi-wi-stats-overview-stat-value {
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
}

.fi-wi-stats-overview-stat {
    border-color: var(--ecu-hairline);
}

/* --------------------------------------------------------------------------
   Login: el panel gestiona licencias de software que escribe en ECUs reales,
   así que la puerta de entrada debe leerse como un acceso restringido, no como
   un formulario de registro cualquiera.
   -------------------------------------------------------------------------- */

.fi-simple-layout {
    background:
        radial-gradient(
            60rem 32rem at 50% -12rem,
            color-mix(in srgb, var(--ecu-signal) 7%, transparent),
            transparent 70%
        ),
        var(--gray-950);
}

.fi-simple-main {
    border: 1px solid var(--ecu-hairline);
    box-shadow: 0 1px 0 0 color-mix(in srgb, var(--gray-50) 4%, transparent) inset;
}

.fi-simple-header-heading {
    letter-spacing: -0.02em;
}

/* --------------------------------------------------------------------------
   Densidad y hairlines: menos peso visual en los bordes, más aire entre datos.
   -------------------------------------------------------------------------- */

.fi-ta,
.fi-se,
.fi-wi-chart,
.fi-sidebar {
    border-color: var(--ecu-hairline);
}

.fi-ta-header-cell-label {
    font-family: var(--mono-font-family);
    font-size: 0.625rem;
    letter-spacing: var(--ecu-track);
    text-transform: uppercase;
    color: var(--gray-400);
}

/* --------------------------------------------------------------------------
   Accesibilidad
   -------------------------------------------------------------------------- */

:where(a, button, [role='button'], input, select, textarea):focus-visible {
    outline: 2px solid var(--ecu-signal);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
