/* Página de admin: un solo archivo, sin fuentes ni imágenes externas (la CSP
   solo admite recursos propios). */
:root {
  --fondo: #f7f7f5;
  --texto: #1d1d1b;
  --suave: #6b6b66;
  --borde: #d9d9d4;
  --acento: #1f5f8b;
  --alerta: #8b1f1f;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font: 16px/1.5 system-ui, sans-serif;
  background: var(--fondo);
  color: var(--texto);
}

[hidden] { display: none !important; }

header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--borde);
}

h1 { font-size: 1.1rem; margin: 0; }
h2 { font-size: 1rem; margin: 24px 0 8px; }
h3 { font-size: 0.95rem; margin: 16px 0 4px; }

main { max-width: 720px; margin: 0 auto; padding: 16px; }

button {
  font: inherit;
  padding: 6px 12px;
  border: 1px solid var(--borde);
  border-radius: 6px;
  background: #fff;
  color: var(--texto);
  cursor: pointer;
}

#boton-entrar { background: var(--acento); border-color: var(--acento); color: #fff; }

#aviso {
  padding: 8px 12px;
  border: 1px solid var(--alerta);
  border-radius: 6px;
  color: var(--alerta);
}

ul { margin: 0; padding-left: 20px; }
.materias { list-style: none; padding: 0; }
.materias li { margin: 4px 0; }
.materias button { width: 100%; text-align: left; }

.modulo { border-top: 1px solid var(--borde); }
.marca, .vacio { color: var(--suave); }
