/* Empleo: continuidad del directorio, con acentos por tipo de oportunidad. */
.empleo, .empleo-modal { overflow-wrap: break-word; overflow-wrap: anywhere; }
.empleo p, .empleo h1, .empleo h3, .empleo small, .empleo-modal p,
.empleo-modal h2, .empleo-modal h3, .empleo-modal small {
  -webkit-user-select: text; user-select: text;
}
.empleo-hero { margin-bottom: 1rem; border-bottom: 2px solid var(--accent); }
.empleo-hero h1 { font-size: 32px; color: var(--text-primary); }
.empleo-hero .dir-top { grid-template-columns: minmax(0, 1fr); }
.empleo-hero .dir-top > .btn { justify-self: start; }
.empleo-hero .label { color: var(--accent); }
.empleo-tipos { margin-bottom: 1.25rem; }
.empleo-tipos { gap: 0; }
.empleo-tipos .chip { min-height: 44px; margin-right: .5rem; padding-left: .9rem; }
.empleo .dir-toolbar .selects { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr); }
.empleo .dir-toolbar select { width: 100%; min-height: 48px; font-size: 16px; }
.empleo .dir-toolbar .count { color: var(--text-secondary); }
.empleo-grid { grid-template-columns: minmax(0, 1fr); }
.empleo-card { border-top: 4px solid var(--accent); }
.empleo-card--temporal { border-top-color: var(--sun); }
.empleo-card--independiente { border-top-color: var(--lake); }
.empleo-card .body { padding: 1.2rem; gap: 0; }
.empleo-card .body > * + * { margin-top: .8rem; }
.empleo-card h3 { font-size: 20px; line-height: 1.3; }
.empleo-card h3 a { display: block; color: var(--text-primary); min-height: 44px; padding: .25rem 0; }
.empleo-card h3 a:hover { color: var(--accent); }
.empleo-card-top { display: flex; flex-wrap: wrap; align-items: center; }
.empleo-card-top > * { margin-right: .5rem; margin-bottom: .25rem; }
.empleo-meta { display: flex; flex-wrap: wrap; color: var(--text-secondary); font-size: 14px; }
.empleo-meta > span { display: inline-flex; align-items: center; margin: 0 1rem .4rem 0; }
.empleo-meta .lucide { width: 16px; height: 16px; margin-right: .35rem; }
.empleo-postulado { color: var(--accent); background: var(--accent-soft); align-self: flex-start; }
.empleo-postulado .lucide { width: 16px; height: 16px; vertical-align: middle; }
.empleo-cerrado { background: var(--bg-tertiary); color: var(--text-secondary); }
.empleo-persona { display: flex; align-items: center; min-width: 0; color: var(--text-secondary); }
.empleo-persona .avatar { flex: 0 0 36px; width: 36px; height: 36px; margin-right: .65rem; }
.empleo-persona > div, .empleo-persona > span { min-width: 0; }
.empleo-persona small { display: block; color: var(--text-secondary); }
.empleo-card .empleo-card-actions { margin-top: auto; padding-top: 1rem; }
.empleo-card-actions { display: flex; flex-wrap: wrap; gap: 0; margin: -.25rem; }
.empleo-card-actions > * { margin: .25rem; }
.empleo-card-actions .btn { min-height: 44px; white-space: normal; font-size: 14px; padding: .6rem .8rem; }
.empleo-mi-mensaje { border-left: 3px solid var(--sun); padding: .5rem .75rem; background: var(--bg-secondary); border-radius: 0 12px 12px 0; }
.empleo-mi-mensaje p { white-space: pre-wrap; margin: .5rem 0 0; }
.empleo-mi-mensaje small { color: var(--text-secondary); }
.empleo-empty, .empleo-espera { grid-column: 1 / -1; }
.empleo-empty img { width: 240px; max-width: 100%; height: auto; margin: 0 auto 1rem; border-radius: 4px 28px 28px 28px; }
.empleo-empty .acciones { flex-wrap: wrap; }
.empleo-skeleton { min-height: 240px; border-radius: 4px 22px 22px 22px; }
.empleo-espera { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.empleo-modal .modal { border-radius: 4px 24px 24px 24px; }
.empleo-modal .modal-head { align-items: flex-start; }
.empleo-modal .modal-head > .icon-btn { min-width: 44px; min-height: 44px; }
.empleo-modal .modal-body { min-height: 0; }
.empleo-modal .modal-footer { flex-shrink: 0; flex-wrap: wrap; gap: 0; border-bottom-right-radius: 24px; border-bottom-left-radius: 24px; }
.empleo-modal .modal-footer > * { margin: .25rem; min-height: 44px; white-space: normal; }
.empleo-modal .modal-footer .btn { flex: 1 1 auto; }
.empleo-modal .field input, .empleo-modal .field select, .empleo-modal .field textarea { font-size: 16px; }
.empleo-modal .field textarea { resize: vertical; }
.empleo-modal .grid-2 { grid-template-columns: minmax(0, 1fr); }
.empleo-modal .empleo-detalle h2 { margin: 1rem 0; font-size: 27px; }
.empleo-modal .empleo-descripcion { white-space: pre-wrap; color: var(--text-primary); line-height: 1.75; }
.empleo-modal .empleo-candidato { margin: 0 0 1rem; border-radius: 4px 20px 20px 20px; border-left: 3px solid var(--lake); }
.empleo-candidato .empleo-persona { margin-bottom: .9rem; }
.empleo-candidato .empleo-card-actions { margin-top: .75rem; }
.empleo-candidato small { color: var(--text-secondary); }
.empleo-error { color: var(--danger); border-left: 3px solid currentColor; padding-left: .75rem; margin-top: 1rem; }
.empleo-modal .empleo-danger { background: var(--danger); color: #fff; }
.empleo button:focus, .empleo a:focus, .empleo-modal button:focus, .empleo-modal a:focus { outline: 3px solid var(--lake); outline-offset: 3px; }
@media (min-width: 600px) {
  .empleo-grid, .empleo-espera { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .empleo .dir-toolbar .selects { width: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .empleo-modal .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  .empleo-hero h1 { font-size: 48px; }
  .empleo-hero .dir-top { grid-template-columns: minmax(0, 1fr) auto; }
  .empleo-grid, .empleo-espera { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .empleo-modal .modal { border-radius: 20px 20px 0 0; }
  .empleo-modal .modal-footer { border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .empleo-card, .empleo-modal .modal { animation: none; transition: none; }
  .empleo-card:hover { transform: none; }
}
