/*
 * Camada de tokens semânticos do design system.
 *
 * As páginas internas (login, área do aluno, admin) já carregam Bootstrap 5
 * (via CDN ou assets2/app.min.css), que define --bs-primary, --bs-border-radius
 * etc. Este arquivo não recria esses valores — só dá nomes semânticos estáveis
 * a eles (com fallback caso alguma página ainda não tenha o Bootstrap 5
 * carregado), para que novos componentes não precisem depender diretamente
 * dos nomes internos do Bootstrap nem repetir valores de cor/espaçamento.
 */

:root {
  /* Cor */
  --brand-primary: var(--bs-primary, #4e9cff);
  --brand-success: var(--bs-success, #3cd2a5);
  --brand-warning: var(--bs-warning, #ff9f0c);
  --brand-danger: var(--bs-danger, #ff6060);
  --brand-info: var(--bs-info, #30beff);
  --brand-muted: var(--bs-muted, #617a86);

  /* Raio de borda */
  --radius-sm: var(--bs-border-radius-sm, 2px);
  --radius-md: var(--bs-border-radius, 4px);
  --radius-lg: var(--bs-border-radius-lg, 8px);
  --radius-pill: var(--bs-border-radius-pill, 50rem);

  /* Espaçamento (escala de 4px, alinhada aos utilitários .p-*/.m-* do Bootstrap) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 3rem;

  /* Sombra */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.16);

  /* Breakpoints de referência (para uso em comentários/documentação — CSS não
     lê variáveis dentro de @media, mas manter os valores nomeados aqui evita
     que cada componente novo escolha um breakpoint diferente por conta própria) */
  --bp-sm: 576px;
  --bp-md: 768px;
  --bp-lg: 992px;
  --bp-xl: 1200px;

  /* Tipografia — escala única para o painel administrativo, pra parar de
     cada tela escolher seu próprio tamanho/peso de fonte à mão. */
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-md: 1rem;
  --font-size-lg: 1.25rem;
  --font-size-xl: 1.5rem;
  --font-size-2xl: 2rem;
  --font-weight-regular: 400;
  --font-weight-medium: 600;
  --font-weight-bold: 700;
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;

  /* Superfícies — cinzas neutros usados em fundo de página, cards e bordas
     do painel administrativo (fora da paleta de marca acima). */
  --surface-page: #f4f6f9;
  --surface-card: #ffffff;
  --surface-border: #e3e7ed;
  --text-heading: #1c2333;
  --text-body: #4a5568;
  --text-muted: #8a94a6;

  /* Sidebar do painel administrativo — largura recolhida/expandida em um só
     lugar, pra shell e CSS de layout do conteúdo nunca ficarem dessincronizados. */
  --sidebar-width-collapsed: 72px;
  --sidebar-width-expanded: 250px;

  /* Escala de z-index — evita "z-index: 9999" espalhado achando um número
     mais alto que o vizinho. */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-fixed: 300;
  --z-modal: 400;
  --z-toast: 500;
}
