/* Portal de empresas: lo propio. Formularios y listas en /comun/base.css. */

main { max-width: 52rem; }
nav button[data-vista] { background: transparent; color: var(--mt-accion); border-color: transparent; }
nav button[data-vista][aria-current="page"] { border-color: var(--mt-accion); background: var(--mt-accion-sutil); }

/* Ficha de candidato en una shortlist. */
.ficha { display: grid; gap: 0.75rem; }
.ficha header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1rem; align-items: baseline; }
.ficha h3 { margin: 0; font-size: var(--mt-txt-lg); }
.cifras { display: flex; gap: 1.5rem; }
.cifra strong { display: block; font-size: var(--mt-txt-2xl); line-height: 1; }
.cifra span { display: block; font-size: var(--mt-txt-sm); line-height: 1.3; color: var(--mt-texto-suave); margin-top: 0.25rem; }
.factores { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.25rem; font-size: var(--mt-txt-sm); }
.factores li { display: flex; justify-content: space-between; gap: 1rem; }
.factores .tipo { color: var(--mt-texto-suave); white-space: nowrap; }
.contacto { font-size: var(--mt-txt-sm); }

/* Requisitos de una vacante: cada fila es una regla editable. */
.requisito { display: grid; gap: 0 0.75rem; padding: 0.75rem; margin: 0.5rem 0;
             border: 1px solid var(--mt-borde); border-radius: var(--mt-radio-md); }
@media (min-width: 640px) { .requisito { grid-template-columns: 2fr 1fr 1fr 1fr auto; align-items: end; } }
.requisito button { margin-top: 0.75rem; }

.estado-chip { font-size: var(--mt-txt-sm); color: var(--mt-texto-suave); }
