@charset "UTF-8";

/* ═══════════════════════════════════════════════════════════════
   LLENGUA IDIOMAS · PANEL DEL ALUMNO — VARIABLES DE MARCA
   Extraído del CSS real del tema Vela en llenguaidiomas.com:
     · Acento        #fc6b01  (enlaces, hovers, botones, ::selection)
     · Banda oscura  #19303e  (footer) · texto sobre ella #d1d1d1
     · Títulos       Oswald 400, MAYÚSCULAS, letter-spacing 1px, #545454
     · Cuerpo        Lato 400, 15px/22px, #777
     · Esquinas      2px como la web (botones, campos); 6px en paneles y tarjetas
   ═══════════════════════════════════════════════════════════════ */

*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --brand-primary: #FC6B01;
  --brand-primary-hover: #E05F00;
  --brand-primary-light: #FEF0E5;
  --brand-navy: #19303E;
  --brand-navy-text: #D1D1D1;

  --bg-light: #F6F6F6;
  --bg-white: #FFFFFF;
  --surface: #FFFFFF;
  --text-primary: #545454;
  --text-secondary: #777777;
  --text-muted: #9B9B9B;
  --border: #E1E1E1;

  --green-success: #10B981;
  --red-error: #DC3522;
  --orange-warn: #F3CF3F;
  --blue-info: #5B7184;

  --sidebar-w: 240px;
  --topbar-h: 72px;

  /* El tema Vela usa esquinas prácticamente rectas (2px). */
  --radius-sm: 2px;
  --radius-md: 2px;
  --radius-lg: 6px;

  --font-body: 'Lato', Arial, Helvetica, sans-serif;
  --font-display: 'Oswald', Arial, Helvetica, sans-serif;
}

/* `hidden` debe ganar SIEMPRE: un display:grid/flex propio lo anularía y las
   pantallas ocultas seguirían pintándose (pasó el 2026-09-08 con el login). */
[hidden] { display: none !important; }

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 22px;
  color: var(--text-secondary);
  background: var(--bg-light);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100dvh;
}

/* Títulos: Oswald en peso normal y mayúsculas, como en la web pública. */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 400;
  color: var(--text-primary);
}
h1, h2 { text-transform: uppercase; }

a { color: var(--brand-primary); }

::selection { background: var(--brand-primary); color: #fff; }

:focus-visible {
  outline: 2px solid var(--brand-primary);
  outline-offset: 2px;
}

/* Clases de utilidad comunes */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
