/* Colores del escudo, los mismos de la intranet (frontend/src/styles.scss) */
:root {
  color-scheme: light;
  --fondo: #fafbf7;
  --superficie: #ffffff;
  --texto: #22261b;
  --texto-secundario: #5c6351;
  --borde: #e0e4d6;
  --borde-control: #868d77;
  --acento: #3f7314;
  --acento-fuerte: #2f5810;
  --exito: #1b6e3c;
  --exito-fondo: #e4f4e8;
  --peligro: #b42b1a;
  --peligro-fondo: #fde9e5;
  --aviso-texto: #7a4f00;
  --aviso-fondo: #fff4d1;
  --radio: 4px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--fondo);
  color: var(--texto);
  font-family: 'Segoe UI', system-ui, -apple-system, Roboto, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

.verificar { min-height: 100vh; display: grid; place-items: center; padding: 1rem; }
.tarjeta { width: min(100%, 34rem); padding: 1.5rem; background: var(--superficie); border: 1px solid var(--borde); border-radius: var(--radio); }

.encabezado { display: flex; gap: 0.75rem; align-items: center; }
.encabezado img { flex: none; }
.institucion { margin: 0; font-weight: 600; }
.oficina { margin: 0; color: var(--texto-secundario); font-size: 0.875rem; }

h1 { font-size: 1.5rem; margin: 1.25rem 0 1rem; }

label { display: block; font-weight: 600; }
.ayuda { margin: 0 0 0.25rem; color: var(--texto-secundario); font-size: 0.875rem; }
.fila { display: flex; gap: 0.5rem; }
input {
  flex: 1; min-width: 0; min-height: 2.75rem; padding: 0.5rem 0.75rem;
  font: inherit; text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--texto); background: var(--superficie);
  border: 1px solid var(--borde-control); border-radius: var(--radio);
}
button {
  min-height: 2.75rem; padding: 0.5rem 1rem; font: inherit; font-weight: 600;
  color: #fff; background: var(--acento); border: 0; border-radius: var(--radio); cursor: pointer;
}
button:hover { background: var(--acento-fuerte); }
input:focus-visible, button:focus-visible { outline: 3px solid var(--acento); outline-offset: 2px; }

.resultado { margin-top: 1.25rem; padding: 1rem; border: 2px solid; border-radius: var(--radio); }
.valida { border-color: var(--exito); background: var(--exito-fondo); }
.invalida { border-color: var(--peligro); background: var(--peligro-fondo); }
.error { border-color: var(--aviso-texto); background: var(--aviso-fondo); }
.mensaje { margin: 0; font-weight: 600; }

dl { margin: 0.75rem 0 0; display: grid; gap: 0.5rem; }
dt { font-size: 0.8125rem; color: var(--texto-secundario); }
dd { margin: 0; font-weight: 600; }
.nota { font-size: 0.875rem; margin: 0.75rem 0 0; }
.contacto { margin: 1.25rem 0 0; font-size: 0.875rem; color: var(--texto-secundario); }
