/* Eraria · dirección visual A «Tesorería»
   Barra lateral azul petróleo, fondo marfil, acento verde-azul, cifras en monoespaciada. */
:root {
  --e-tinta: #13232B;
  --e-marfil: #F4F3EE;
  --e-marfil-2: #FAF9F6;
  --e-linea: #E1DFD6;
  --e-lateral: #0F2A33;
  --e-lateral-2: #173A45;
  --e-lateral-linea: #1F4652;
  --e-lateral-texto: #D9E6E9;
  --e-lateral-suave: #8FB3BC;
  --e-acento: #0B6B80;
  --e-acento-claro: #2FA3B5;
  --font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* Fondo general y tipografía */
.fi-body { background-color: var(--e-marfil); color: var(--e-tinta); }
.fi-topbar { background-color: #FFFFFF; border-bottom: 1px solid var(--e-linea); box-shadow: none; }
.fi-header-heading { font-weight: 800; letter-spacing: -0.02em; }

/* Barra lateral oscura */
.fi-sidebar { background-color: var(--e-lateral); color: var(--e-lateral-texto); }
.fi-sidebar-header { background-color: var(--e-lateral); border-color: var(--e-lateral-linea) !important; box-shadow: none; }
.fi-sidebar-header .fi-logo, .fi-sidebar-header a { color: #FFFFFF; }
.fi-sidebar-nav { padding-top: .25rem; }
.fi-sidebar-group-label { color: var(--e-lateral-suave); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; }
.fi-sidebar-group-collapse-btn, .fi-sidebar-group-collapse-btn svg { color: var(--e-lateral-suave); }
.fi-sidebar-item-btn { border-radius: .5rem; }
.fi-sidebar-item-label { color: var(--e-lateral-texto); font-weight: 500; }
.fi-sidebar-item-icon { color: var(--e-lateral-suave); }
.fi-sidebar-item-btn:hover { background-color: var(--e-lateral-2); }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn { background-color: var(--e-acento-claro); }
.fi-sidebar-item.fi-active .fi-sidebar-item-label { color: #07262D; font-weight: 600; }
.fi-sidebar-item.fi-active .fi-sidebar-item-icon { color: #07262D; }
.fi-sidebar-footer { background-color: var(--e-lateral); border-top: 1px solid var(--e-lateral-linea); }
.fi-sidebar-close-collapse-sidebar-btn, .fi-sidebar-close-sidebar-btn { color: var(--e-lateral-suave); }

/* Selector de municipio dentro de la barra lateral */
.fi-sidebar .fi-tenant-menu-trigger { background-color: var(--e-lateral-2); border-radius: .625rem; }
.fi-sidebar .fi-tenant-menu-trigger-current-tenant-label { color: var(--e-lateral-suave); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.fi-sidebar .fi-tenant-menu-trigger-tenant-name { color: #FFFFFF; font-weight: 600; }
.fi-sidebar .fi-tenant-menu-trigger svg, .fi-sidebar .fi-tenant-menu-trigger .fi-avatar { color: var(--e-lateral-suave); }
.fi-sidebar .fi-avatar { background-color: var(--e-acento-claro); color: #07262D; }

/* Tarjetas, tablas y secciones */
.fi-section, .fi-ta-ctn, .fi-wi-stats-overview-stat { border: 1px solid var(--e-linea); box-shadow: none; --tw-ring-color: transparent; border-radius: .75rem; }
.fi-ta-header-cell { background-color: var(--e-marfil-2); font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; color: #5E6B70; }
.fi-ta-header-cell-label { font-weight: 600; }
.fi-ta-row:hover { background-color: #F7FBFC; }
.fi-ta-text-item.fi-font-mono, .fi-ta-text-item .fi-font-mono, .fi-font-mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.fi-wi-stats-overview-stat-value { font-family: var(--font-mono); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; font-weight: 600; }
.fi-wi-stats-overview-stat-label { color: #5E6B70; font-weight: 500; }

/* Botones primarios con el acento del municipio */
.fi-btn.fi-color-primary { box-shadow: none; }
.fi-badge { font-weight: 600; }

/* Formularios */
.fi-input, .fi-select-input, .fi-fo-select .fi-select-input { background-color: #FFFFFF; }
.fi-fo-field-wrp-label { font-weight: 600; }

/* Pantalla de inicio de sesión */
.fi-simple-layout { background-color: var(--e-marfil); }
.fi-simple-main { border: 1px solid var(--e-linea); box-shadow: none; border-radius: .875rem; }

/* Escala del acento, fijada a mano para que el botón primario sea el verde-azul y no un cian claro */
:root, .fi-body {
  --primary-50: #EAF4F6; --primary-100: #D3E8EC; --primary-200: #A9D1DA; --primary-300: #7AB8C6;
  --primary-400: #3F97AA; --primary-500: #1B7F95; --primary-600: #0B6B80; --primary-700: #095A6C;
  --primary-800: #07485A; --primary-900: #063A48; --primary-950: #032630;
}
.fi-btn.fi-color-primary { background-color: var(--primary-600); color: #FFFFFF; }
.fi-btn.fi-color-primary:hover { background-color: var(--primary-700); }

/* Marca en la pantalla de entrada */
.eraria-login-marca { display: flex; flex-direction: column; align-items: center; gap: .35rem; margin-bottom: 1.25rem; }
.eraria-login-marca img { max-width: 220px; height: auto; }
.eraria-login-marca p { margin: 0; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: #5E6B70; font-weight: 600; }
.eraria-login-pie { margin: 1.25rem 0 0; text-align: center; font-size: .78rem; line-height: 1.5; color: #5E6B70; }
.fi-simple-header { display: none; } /* el nombre «Eraria» ya va en el encabezado de marca */
.fi-simple-layout { background: var(--e-marfil) radial-gradient(circle at 15% 10%, rgba(47,163,181,.14), transparent 45%); }

/* Pie de la barra lateral */
.eraria-sidebar-pie { display: flex; flex-direction: column; gap: .35rem; padding: .9rem 1.25rem 1.1rem; border-top: 1px solid var(--e-lateral-linea); }
.eraria-sidebar-pie span { font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; color: var(--e-lateral-suave); }
.eraria-sidebar-pie img { opacity: .9; }
.fi-sidebar.fi-collapsed .eraria-sidebar-pie, .fi-sidebar-collapsed .eraria-sidebar-pie { display: none; }

/* Encabezado del municipio en el escritorio */
.eraria-municipio { margin-top: .25rem; display: flex; align-items: center; gap: 1.25rem; background: #FFFFFF; border: 1px solid var(--e-linea); border-radius: .75rem; padding: 1rem 1.25rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.eraria-municipio img { width: 72px; height: 72px; border-radius: .6rem; border: 1px solid var(--e-linea); object-fit: cover; background: #FFFFFF; }
.eraria-municipio-texto { display: flex; flex-direction: column; gap: .15rem; flex: 1; min-width: 240px; }
.eraria-municipio-sobre { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: #5E6B70; font-weight: 600; }
.eraria-municipio-texto strong { font-size: 1.15rem; font-weight: 800; letter-spacing: -0.01em; }
.eraria-municipio-ley { font-size: .8rem; color: #5E6B70; }
.eraria-municipio-fecha { display: flex; flex-direction: column; gap: .15rem; text-align: right; font-size: .8rem; color: #5E6B70; }
.eraria-municipio-fecha span:first-child { font-weight: 600; color: var(--e-tinta); }
.eraria-municipio-fecha span:first-child::first-letter { text-transform: uppercase; }
@media (max-width: 640px) { .eraria-municipio-fecha { text-align: left; } }

/* Selector de municipio con escudo */
.fi-sidebar .fi-tenant-menu-trigger .fi-avatar { background: #FFFFFF; border-radius: .4rem; padding: 2px; }
