/* ==========================================================================
   FUENTES AUTO-HOSPEDADAS · EduAsistencia / ASIS PRO
   Reemplaza a Google Fonts (fonts.googleapis.com). Todos los archivos viven
   en /public/fonts/. Subsets latin. Material Symbols está SUBSETEADO a los
   iconos usados por el sistema (ver public/fonts/README.md para regenerar).
   ========================================================================== */

/* Noto Sans (cuerpo) */
@font-face{font-family:'Noto Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/public/fonts/noto-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Noto Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/public/fonts/noto-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Noto Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/public/fonts/noto-sans-latin-700-normal.woff2') format('woff2')}

/* Spline Sans (display / títulos / portal) */
@font-face{font-family:'Spline Sans';font-style:normal;font-weight:300;font-display:swap;src:url('/public/fonts/spline-sans-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Spline Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/public/fonts/spline-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Spline Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/public/fonts/spline-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Spline Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/public/fonts/spline-sans-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Spline Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/public/fonts/spline-sans-latin-700-normal.woff2') format('woff2')}

/* Outfit (landing pública) */
@font-face{font-family:'Outfit';font-style:normal;font-weight:300;font-display:swap;src:url('/public/fonts/outfit-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;src:url('/public/fonts/outfit-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:500;font-display:swap;src:url('/public/fonts/outfit-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url('/public/fonts/outfit-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:700;font-display:swap;src:url('/public/fonts/outfit-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:800;font-display:swap;src:url('/public/fonts/outfit-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:900;font-display:swap;src:url('/public/fonts/outfit-latin-900-normal.woff2') format('woff2')}

/* Material Symbols (variable: FILL, GRAD, opsz, wght) — subset local */
@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:100 700;font-display:block;src:url('/public/fonts/material-symbols-outlined-subset.woff2') format('woff2')}
@font-face{font-family:'Material Symbols Rounded';font-style:normal;font-weight:100 700;font-display:block;src:url('/public/fonts/material-symbols-rounded-subset.woff2') format('woff2')}

.material-symbols-outlined,
.material-symbols-rounded{
  font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;
  display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;
  -webkit-font-feature-settings:'liga';font-feature-settings:'liga';-webkit-font-smoothing:antialiased;
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
}
.material-symbols-outlined{font-family:'Material Symbols Outlined'}
.material-symbols-rounded{font-family:'Material Symbols Rounded'}
/* Icono relleno: <span class="material-symbols-outlined filled">…</span> */
.material-symbols-outlined.filled,.material-symbols-rounded.filled{font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24}

/* ==========================================================================
   INPUTS DEL PANEL (siempre oscuro) — texto y fondo legibles
   Va aquí (CSS puro) y NO en layout.php porque los .php sufren OPcache en
   Laragon. Tailwind pone fondo BLANCO y color:inherit por defecto en los
   inputs; esto lo corrige de raíz para TODO el panel de una vez.
   Se excluyen checkbox/radio/toggle/file/range/color para no romper switches.
   ========================================================================== */
html.dark input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]),
html.dark textarea,
html.dark select{
  color:#f1f5f9 !important;
  background-color:rgba(15,23,42,.55) !important;
  border:1px solid rgba(255,255,255,.12) !important;
}
html.dark input::placeholder,html.dark textarea::placeholder{color:#64748b !important;opacity:1}
html.dark select option{color:#f1f5f9;background:#1e293b}
/* Campos sobre tarjetas claras: texto oscuro sobre blanco */
html.dark .bg-white input:not([type="checkbox"]):not([type="radio"]),html.dark .bg-white textarea,html.dark .bg-white select,
html.dark .bg-surface-light input:not([type="checkbox"]):not([type="radio"]),html.dark .bg-surface-light textarea,html.dark .bg-surface-light select{
  color:#0f172a !important;background-color:#fff !important;border-color:rgba(0,0,0,.15) !important;
}
