/* Aira RRHH · estilos propios (prefijo .rh-). El color del producto llega como --acento (verde). */
.columna { grid-template-columns: minmax(0, 1fr); }
.campo { min-width: 0; }
.rh-et { font-size: 12px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; color: var(--mut); }

/* Control */
.rh-control { display: grid; gap: 14px; padding: 16px 18px; }
.rh-esc { display: flex; align-items: center; justify-content: space-between; gap: 14px 20px; flex-wrap: wrap; }
.rh-chips { display: flex; gap: 8px; flex-wrap: wrap; min-width: 0; }
.rh-esc-btn { display: inline-flex; align-items: center; gap: 10px; text-align: left; padding: 8px 14px 8px 8px; border-radius: 16px; background: rgba(255, 255, 255, .03); border: 1px solid var(--linea-2); cursor: pointer; transition: border-color .15s, background .15s, transform .15s; min-width: 0; }
.rh-esc-btn:hover { border-color: rgba(255, 255, 255, .4); }
.rh-esc-btn.on { border-color: color-mix(in srgb, var(--acento) 70%, transparent); background: color-mix(in srgb, var(--acento) 12%, transparent); }
.rh-esc-btn b { display: block; font-size: 14px; }
.rh-esc-btn small { display: block; font-size: 12px; color: var(--mut); }
.rh-acciones { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.rh-yo-txt { font-size: 14px; color: var(--texto-2); max-width: 720px; }
.rh-control .btn-fantasma { justify-self: start; }

/* Teléfono */
.rh-izq { min-width: 0; }
.rh-pantalla { min-height: 640px; }
.rh-trans { max-height: 300px; min-height: 180px; }
.rh-pantalla .llamada-cab { padding-top: 30px; padding-bottom: 8px; }
.rh-pantalla .avatar { width: 68px; height: 68px; font-size: 24px; transition: background .2s; }
.rh-pantalla .avatar.ia img { width: 60%; }
.rh-en { display: inline-block; font-size: 9.5px; font-weight: 800; letter-spacing: .06em; padding: 1px 6px; border-radius: 6px; background: rgba(78, 168, 255, .25); color: #bfe0ff; margin-left: 4px; vertical-align: 1px; }
.rh-pts { display: inline-flex; gap: 4px; padding: 3px 2px; }
.rh-pts i { width: 6px; height: 6px; border-radius: 50%; background: #9aa0a6; animation: salto 1.2s infinite; }
.rh-pts i:nth-child(2) { animation-delay: .15s; } .rh-pts i:nth-child(3) { animation-delay: .3s; }
.rh-pantalla .burbuja.sistema { display: flex; gap: 6px; justify-content: center; align-items: center; }
.rh-pantalla .burbuja.sistema svg { width: 14px; height: 14px; color: var(--acento); }
.rh-entrada { padding: 10px 12px 16px; display: grid; gap: 8px; border-top: 1px solid var(--linea); background: rgba(0, 0, 0, .25); }
.rh-entrada-cab { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.rh-entrada-fila { display: flex; gap: 6px; }
.rh-entrada-fila .entrada { border-radius: 99px; min-width: 0; }
.rh-entrada-fila .btn { padding: 0; width: 42px; height: 42px; flex: none; }
#rh-mic.escuchando { background: rgba(248, 113, 113, .2); border-color: var(--rojo); animation: rh-latido 1s ease-in-out infinite; }
@keyframes rh-latido { 50% { transform: scale(1.08); } }
.rh-pantalla .llamada-botones { padding: 10px 0 22px; }

/* Ficha */
.rh-der { display: grid; gap: 18px; min-width: 0; }
.rh-ficha-cab { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.rh-ficha-cab .avatar { width: 44px; height: 44px; font-size: 16px; background: var(--gris-3); color: #05080d; }
.rh-ficha-id { flex: 1; min-width: 0; display: grid; }
.rh-ficha-id h3 { font-size: 17px; }
.rh-ficha-id .mut { font-size: 12.5px; }
.rh-ficha-cuerpo { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; }
.rh-anillo-wrap { display: grid; justify-items: center; gap: 6px; font-size: 12px; }
.rh-anillo { width: 88px; height: 88px; transition: background .4s; }
.rh-comps { display: grid; gap: 10px; min-width: 0; }
.rh-comp { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 34px; gap: 10px; align-items: center; font-size: 13px; color: var(--texto-2); }
.rh-comp .barra-p { height: 7px; }
.rh-comp b { text-align: right; font-size: 12.5px; color: var(--texto); }
.rh-ingles { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--linea); display: grid; gap: 8px; font-size: 13.5px; }
.rh-ingles .mut { font-size: 12.5px; text-align: right; }
.rh-escala { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; }
.rh-niv { text-align: center; font-size: 12px; font-weight: 650; padding: 6px 0; border-radius: 9px; background: var(--gris-2); color: var(--mut); border: 1px solid transparent; transition: background .3s, color .3s, transform .3s; position: relative; }
.rh-niv.min { border-color: rgba(255, 255, 255, .22); border-style: dashed; }
.rh-niv.on { transform: scale(1.08); color: #05080d; font-weight: 800; }
.rh-niv.bien { background: var(--verde); }
.rh-niv.mal { background: var(--ambar); }
.rh-datos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.rh-datos > div { padding: 10px 12px; border-radius: 12px; background: var(--gris-0); border: 1px solid var(--linea); display: grid; gap: 2px; font-size: 13px; }
.rh-datos b { font-size: 14px; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.rh-banderas { margin-top: 14px; display: grid; gap: 6px; }
.rh-bandera { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; padding: 8px 10px; border-radius: 10px; background: rgba(251, 191, 36, .08); border: 1px solid rgba(251, 191, 36, .22); color: #fde68a; animation: aparecer .35s ease; }
.rh-bandera svg { width: 16px; height: 16px; flex: none; margin-top: 2px; }
.rh-resumen { margin-top: 14px; padding: 12px 14px; border-radius: 14px; background: var(--gris-0); border: 1px solid var(--linea); font-size: 13.5px; color: var(--texto-2); line-height: 1.55; animation: aparecer .4s ease; }
.rh-resumen .rh-et { margin-bottom: 4px; }
.rh-reco { margin-top: 14px; padding: 14px; border-radius: 16px; border: 1px solid var(--linea-2); background: rgba(255, 255, 255, .03); animation: aparecer .4s ease; display: grid; gap: 10px; }
.rh-reco[data-reco="pasar"] { border-color: rgba(52, 211, 153, .45); background: linear-gradient(160deg, rgba(52, 211, 153, .12), transparent 70%); }
.rh-reco-cab { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.rh-reco-cab .badge { font-size: 13px; padding: 5px 12px; }
.rh-ag { font-size: 11.5px; margin-top: 6px; }
.rh-ag > div { min-height: 30px; }
.rh-ag .cita { font-size: 10.5px; padding: 2px 4px; }
.rh-ocup { background: rgba(255, 255, 255, .05); border-left-color: var(--gris-3); color: var(--mut); }
.rh-humana { border-top: 1px solid var(--linea); padding-top: 8px; }
.rh-reg .eventos { min-height: 60px; }

/* Perfil y ranking */
.rh-perfil-rej { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: start; }
.rh-crit-cab { display: grid; grid-template-columns: minmax(0, 1fr) 118px 74px; gap: 10px; font-size: 11.5px; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; color: var(--mut); padding: 0 2px 8px; border-bottom: 1px solid var(--linea); }
.rh-crit-cab span:last-child { text-align: center; }
.rh-crit { display: grid; grid-template-columns: minmax(0, 1fr) 118px 74px; gap: 10px; align-items: center; padding: 11px 2px; border-bottom: 1px solid var(--linea); }
.rh-crit-n { display: grid; min-width: 0; }
.rh-crit-n b { font-size: 13.5px; font-weight: 600; }
.rh-crit-n small { font-size: 11.5px; color: var(--mut); line-height: 1.35; }
.rh-crit-p { display: grid; grid-template-columns: 1fr 18px; gap: 8px; align-items: center; }
.rh-crit-p b { font-size: 13px; text-align: right; }
.rh-crit-x { justify-self: center; }
.rh-umbral, .rh-salario { margin-top: 14px; }
.rh-umbral .campo b { color: var(--acento); }
.rh-rango { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; }
.rh-salario .nota { display: block; margin-top: 6px; }
.rh-ciego-nota { font-size: 13px; color: var(--texto-2); padding: 10px 12px; border-radius: 12px; background: color-mix(in srgb, var(--acento) 10%, transparent); border: 1px solid color-mix(in srgb, var(--acento) 30%, transparent); margin-bottom: 12px; animation: aparecer .3s ease; }
.rh-tabla-env { max-height: 560px; overflow-y: auto; }
.rh-tabla th { position: sticky; top: 0; z-index: 1; background: var(--gris-2); }
.rh-fila { cursor: pointer; }
.rh-fila.sel { background: color-mix(in srgb, var(--acento) 12%, transparent) !important; box-shadow: inset 3px 0 0 var(--acento); }
.rh-fila.desc { opacity: .82; }
.rh-fila.propio td:nth-child(2) b::after { content: "nuevo"; margin-left: 6px; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; color: var(--acento); }
.rh-fila:focus-visible { outline-offset: -2px; }
.rh-cand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.rh-cand-t { display: grid; min-width: 0; }
.rh-cand-t b { font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rh-cand-t small { font-size: 11.5px; color: var(--mut); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rh-av-ciego { background: var(--gris-3) !important; color: var(--mut); }
.rh-av-ciego svg { width: 16px; height: 16px; }
.rh-punt { display: grid; grid-template-columns: 30px 70px; gap: 8px; align-items: center; }
.rh-punt .barra-p { height: 6px; }
.rh-puntos { display: flex; gap: 4px; }
.rh-p { display: inline-block; width: 11px; height: 11px; border-radius: 50%; background: var(--gris-3); flex: none; }
.rh-p.ok { background: var(--verde); } .rh-p.par { background: var(--ambar); } .rh-p.no { background: var(--rojo); } .rh-p.sin { background: transparent; border: 1.5px dashed var(--mut); }
.rh-res { display: grid; gap: 3px; justify-items: start; }
.rh-motivo { font-size: 11.5px; color: #fca5a5; line-height: 1.3; }
.rh-motivo.mut { color: var(--mut); }
.rh-ent { font-size: 10.5px; }
.rh-leyenda { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; color: var(--mut); margin-top: 12px; }
.rh-leyenda span { display: inline-flex; align-items: center; gap: 6px; }

/* Detalle del CV */
.rh-det-cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.rh-det-punt { display: flex; align-items: baseline; gap: 6px; }
.rh-det-punt b { font-size: 30px; letter-spacing: -.03em; }
.rh-det-punt .badge { align-self: center; margin-left: 6px; }
.rh-alerta { display: flex; gap: 10px; padding: 10px 12px; border-radius: 12px; margin-bottom: 12px; font-size: 13px; line-height: 1.45; }
.rh-alerta svg { width: 18px; height: 18px; flex: none; margin-top: 1px; }
.rh-alerta b { display: block; }
.rh-alerta span { color: var(--texto-2); }
.rh-alerta.rojo { background: rgba(248, 113, 113, .09); border: 1px solid rgba(248, 113, 113, .3); color: #fca5a5; }
.rh-alerta.ambar { background: rgba(251, 191, 36, .08); border: 1px solid rgba(251, 191, 36, .25); color: #fcd34d; }
.rh-evid { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.rh-evid-cab { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13.5px; margin-bottom: 5px; }
.rh-evid-cab .mut { font-size: 12px; }
.rh-evid-n { margin-left: auto; font-size: 12.5px; color: var(--texto-2); }
.rh-evid .barra-p { height: 6px; }
.rh-evid-t { font-size: 13px; margin-top: 5px; color: var(--texto-2); overflow-wrap: anywhere; }
.rh-evid-t q { color: #fff; quotes: "“" "”"; }
.rh-cv { margin-top: 14px; border-top: 1px solid var(--linea); padding-top: 12px; }
.rh-cv summary { cursor: pointer; font-size: 13px; font-weight: 650; color: var(--texto-2); margin-bottom: 8px; }
.rh-cv-cuerpo { max-height: 300px; overflow-y: auto; padding: 12px; border-radius: 12px; background: var(--gris-0); border: 1px solid var(--linea); font-size: 13px; color: var(--texto-2); }
.rh-cv-cuerpo p { padding: 3px 6px; margin: 0 -6px; border-radius: 6px; line-height: 1.5; overflow-wrap: anywhere; }
.rh-cv-h { color: var(--acento) !important; font-weight: 700; font-size: 11.5px; letter-spacing: .07em; margin-top: 8px !important; }
.rh-ev { background: color-mix(in srgb, var(--acento) 14%, transparent); color: #fff !important; box-shadow: inset 3px 0 0 var(--acento); padding-left: 10px !important; }
.rh-ev-tags { display: inline-flex; gap: 4px; margin-left: 8px; vertical-align: 1px; flex-wrap: wrap; }
.rh-ev-tags span { font-size: 10px; font-weight: 700; padding: 1px 7px; border-radius: 99px; background: color-mix(in srgb, var(--acento) 30%, transparent); color: #fff; letter-spacing: .02em; }
.rh-redac { display: flex; align-items: center; gap: 10px; }
.rh-bloque { color: #3a3a44; letter-spacing: -1px; background: #25252d; border-radius: 4px; padding: 0 8px; }
.rh-redac small { font-size: 11px; color: var(--mut); }
.rh-ver-ent { margin-top: 14px; }

/* Masivo y CV propio */
.rh-masivo-t { margin-bottom: 14px; font-size: 14px; }
.rh-prog { margin-top: 16px; display: grid; gap: 12px; animation: aparecer .3s ease; }
.rh-prog .barra-p { height: 10px; }
.rh-prog .barra-p > i { transition: none; background: linear-gradient(90deg, var(--acento), #b5d86a); }
.rh-cont { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.rh-cont div { padding: 10px 8px; border-radius: 12px; background: var(--gris-0); border: 1px solid var(--linea); text-align: center; display: grid; gap: 2px; }
.rh-cont b { font-size: 22px; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.rh-cont span { font-size: 11px; color: var(--mut); }
.rh-cont div:nth-child(2) b { color: #fca5a5; } .rh-cont div:nth-child(3) b { color: #6ee7b7; } .rh-cont div:nth-child(4) b { color: #fcd34d; }
.rh-cv-texto { min-height: 150px; font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 12.5px; }
.rh-archivo { position: relative; overflow: hidden; }
.rh-archivo input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.rh-archivo span { display: inline-flex; }
.rh-archivo:focus-within { outline: 2px solid var(--acento); outline-offset: 2px; }

/* Gerente */
.rh-ger-rej { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: start; }
.rh-embudo { display: grid; gap: 12px; }
.rh-emb { display: grid; gap: 4px; }
.rh-emb.anim { animation: aparecer .5s ease both; animation-delay: var(--d); }
.rh-emb-cab { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 13.5px; }
.rh-emb-cab .mut { font-size: 12px; }
.rh-emb-barra { height: 34px; border-radius: 10px; background: var(--gris-2); overflow: hidden; }
.rh-emb-barra i { display: flex; align-items: center; justify-content: flex-end; height: 100%; padding-right: 12px; border-radius: 10px; background: linear-gradient(90deg, color-mix(in srgb, var(--acento) 55%, #0b0b0f), var(--acento)); transition: width .9s cubic-bezier(.2, .8, .2, 1); min-width: 52px; }
.rh-emb-barra span { font-weight: 700; font-size: 14px; color: #04140d; }
.rh-emb small { font-size: 11.5px; }
.rh-barras { display: grid; gap: 9px; }
.rh-barra { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) 30px; gap: 10px; align-items: center; font-size: 13px; color: var(--texto-2); }
.rh-barra span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rh-barra em { font-style: normal; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; color: var(--mut); margin-left: 4px; }
.rh-barra b { text-align: right; font-size: 12.5px; color: var(--texto); }
.rh-barra .barra-p { height: 7px; }
.rh-calc { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rh-calc .campo { font-size: 12px; align-content: start; }
.rh-lista { margin: 0; padding-left: 18px; display: grid; gap: 10px; color: var(--texto-2); font-size: 14px; }
.rh-lista b { color: #fff; }

/* Responsive */
@media (max-width: 1040px) {
  .rh-perfil-rej, .rh-ger-rej { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .rh-col-crit { display: none; }
  .rh-crit-cab, .rh-crit { grid-template-columns: minmax(0, 1fr) 100px 60px; }
}
@media (max-width: 560px) {
  .rh-control { padding: 14px; }
  .rh-esc-btn { width: 100%; }
  .rh-acciones .btn-acento { flex: 1 1 100%; }
  .rh-ficha-cuerpo { grid-template-columns: 1fr; justify-items: center; }
  .rh-comps { width: 100%; }
  .rh-comp { grid-template-columns: minmax(0, 1fr) 80px 30px; }
  .rh-datos { grid-template-columns: 1fr; }
  .rh-calc { grid-template-columns: 1fr; }
  .rh-cont { grid-template-columns: repeat(2, 1fr); }
  .rh-crit-cab, .rh-crit { grid-template-columns: minmax(0, 1fr) 86px 52px; gap: 8px; }
  .rh-ev-tags { display: flex; margin: 4px 0 0; }
  .rh-pantalla { min-height: 600px; }
}
.columna { align-content: start; }
.rh-cand { min-width: 175px; }
.rh-punt { grid-template-columns: 26px 56px; }
.rh-tabla td, .rh-tabla th { padding-left: 10px; padding-right: 10px; }
.rh-entrada.fin .entrada { opacity: .55; }
@media (max-width: 560px) { .rh-crit-cab { font-size: 10px; letter-spacing: 0; } .rh-crit-cab span:last-child { margin-left: -6px; } }
@media (max-width: 560px) {
  .rh-cand { min-width: 0; gap: 8px; }
  .rh-cand .avatar { display: none; }
  .rh-punt { grid-template-columns: auto; }
  .rh-punt .barra-p { display: none; }
  .rh-tabla td, .rh-tabla th { padding-left: 8px; padding-right: 8px; }
  .rh-cand-t b { white-space: normal; }
  .rh-tabla .badge { font-size: 10.5px; padding: 3px 7px; }
}
