/* Panel de emision.
 *
 * Lo usan dos personas de la escuela, casi siempre desde una computadora de
 * escritorio, para cargar datos y emitir sin equivocarse. Es una herramienta de
 * trabajo, no una pagina de venta: densidad, precision y foco visible.
 *
 * El amarillo de la marca es intenso (#FEFE01) y no sirve de fondo ni de color
 * de texto. Se usa donde tiene que gritar: el foco del teclado, la pestaña
 * activa, la franja bajo la barra. En todo lo demas manda el negro. */

:root{
  color-scheme: light;

  --negro:#1a1a12;
  --tinta:#16161a;
  --amarillo:#ffe600;
  --papel:#f7f6f1;
  --linea:#dfddd3;
  --linea-suave:#ebe9e2;
  --gris:#6b6a60;

  --ok:#0b6e3f;      --ok-bg:#e4f1e9;
  --mal:#b3261e;     --mal-bg:#fbe9e7;
  --alerta:#8a5a00;  --alerta-bg:#fbf0d6;
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--tinta);
  background:var(--papel);
  font-size:15px;line-height:1.5;
}
a{color:var(--tinta)}

/* ------------------------------------------------------------------ barra */

.barra{
  background:var(--negro);color:#fff;
  padding:0 20px;
  display:flex;align-items:center;gap:4px;flex-wrap:wrap;
  border-bottom:3px solid var(--amarillo);
}
.barra .marca{
  display:flex;align-items:center;gap:10px;
  font-weight:800;letter-spacing:.3px;font-size:14px;
  margin-right:auto;padding:11px 14px 11px 0;
}
.barra .marca img{height:26px;width:auto}
.barra a{
  color:#fff;text-decoration:none;font-size:13.5px;font-weight:600;
  padding:14px 13px;opacity:.68;
  border-bottom:3px solid transparent;margin-bottom:-3px;
}
.barra a:hover{opacity:1}
.barra a.activo{opacity:1;border-bottom-color:var(--amarillo)}
.barra a:focus-visible,.barra button:focus-visible{outline:3px solid var(--amarillo);outline-offset:-3px}
.barra .quien{
  font-size:12px;opacity:.55;padding:0 12px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}

/* -------------------------------------------------------------- contenedor */

.contenedor{max-width:1080px;margin:26px auto;padding:0 20px}

.tarjeta{
  background:#fff;border:1px solid var(--linea);
  border-radius:10px;padding:24px;margin-bottom:18px;
}

h1{font-size:22px;margin:0 0 4px;letter-spacing:-.3px;font-weight:800}
h2{font-size:15px;margin:0 0 14px;font-weight:700}
.sub{color:var(--gris);font-size:13px;margin:0 0 20px;line-height:1.55}

/* ---------------------------------------------------------------- campos */

label{
  display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;
  color:var(--gris);margin-bottom:6px;font-weight:700;
}
input,select,textarea{
  width:100%;padding:10px 12px;
  border:1px solid var(--linea);border-radius:7px;
  font:inherit;font-size:14px;background:#fff;color:var(--tinta);
}
input:hover,select:hover{border-color:#c9c7bd}
input:focus,select:focus,textarea:focus{
  outline:3px solid var(--amarillo);outline-offset:-1px;border-color:var(--negro);
}
.campo{margin-bottom:16px}
.campo small{display:block;color:var(--gris);font-size:12px;margin-top:5px}
.fila{display:flex;gap:15px;flex-wrap:wrap}
.fila>*{flex:1;min-width:180px}

/* --------------------------------------------------------------- botones */

button,.boton{
  background:var(--negro);color:#fff;border:0;border-radius:7px;
  padding:11px 19px;font:inherit;font-size:14px;font-weight:700;
  cursor:pointer;text-decoration:none;display:inline-block;
}
button:hover,.boton:hover{background:#000}
button:focus-visible,.boton:focus-visible{outline:3px solid var(--amarillo);outline-offset:2px}
.boton.claro{background:#fff;color:var(--tinta);border:1px solid var(--linea)}
.boton.claro:hover{background:var(--papel);border-color:#c9c7bd}
.boton.riesgo{background:var(--mal)}
.boton.riesgo:hover{background:#8f1e17}

/* ---------------------------------------------------------------- tablas */

table{width:100%;border-collapse:collapse;font-size:14px}
th{
  text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;
  color:var(--gris);font-weight:700;padding:10px;
  border-bottom:2px solid var(--linea);
}
td{padding:11px 10px;border-bottom:1px solid var(--linea-suave)}
tr:hover td{background:#fbfaf7}

/* El folio es el identificador impreso en el papel: monoespaciado para poder
 * compararlo caracter por caracter contra el documento fisico. */
.folio{
  font-family:ui-monospace,SFMono-Regular,Menlo,"Roboto Mono",monospace;
  font-size:13px;font-weight:700;letter-spacing:.2px;
}

.pill{
  display:inline-block;padding:4px 10px;border-radius:99px;
  font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;
}
.pill.VIGENTE{background:var(--ok-bg);color:var(--ok)}
.pill.SUSPENDIDO{background:var(--alerta-bg);color:var(--alerta)}
.pill.REVOCADO,.pill.ANULADO{background:var(--mal-bg);color:var(--mal)}

/* --------------------------------------------------------------- avisos */

.aviso{
  padding:12px 15px;border-radius:8px;margin-bottom:18px;
  font-size:14px;border-left:4px solid currentColor;
}
.aviso.ok{background:var(--ok-bg);color:var(--ok)}
.aviso.error{background:var(--mal-bg);color:var(--mal)}

/* Tabla de notas del certificado de estudios: mas compacta que el resto. */
.notas td{padding:7px 8px}
.notas input{padding:7px 8px;text-align:center}

.oculto{display:none}

/* ----------------------------------------------------- pantallas de acceso
 *
 * Login y cambio de clave: una sola tarjeta centrada, con el logo arriba. */

.acceso{max-width:400px;margin:56px auto;padding:0 20px}
.acceso .logo{display:block;height:52px;width:auto;margin:0 auto 22px}

@media (max-width:640px){
  .contenedor{margin:18px auto}
  .tarjeta{padding:18px}
  .barra{padding:0 14px}
  .barra .marca{padding-right:8px}
}
