/* Carga de las seis pantallas de RH; no afecta loaders de otras aplicaciones. */
.hr-sk {
  --hr-sk-fill: #e9eef2;
  --hr-sk-border: #e4eaf0;
  position: relative;
  isolation: isolate;
  container-type: inline-size;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: 16px;
  pointer-events: none;
}
.hr-sk::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(105deg, transparent 25%, rgba(255, 255, 255, .58) 48%, transparent 70%);
  transform: translateX(-110%);
  animation: hr-sk-sheen 2.4s linear infinite;
  pointer-events: none;
}
@keyframes hr-sk-sheen {
  to { transform: translateX(110%); }
}
.hr-sk-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.hr-sk-content { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; min-width: 0; }
.hr-sk-block { display: block; flex-shrink: 0; background: var(--hr-sk-fill); border-radius: 6px; }
.hr-sk-line { height: 10px; max-width: 100%; }
.hr-sk-short { width: 34%; }
.hr-sk-medium { width: 62%; }
.hr-sk-long { width: 86%; }
.hr-sk-number { height: 25px; width: 54px; border-radius: 7px; }
.hr-sk-avatar { width: 38px; height: 38px; border-radius: 12px; background: #e5efed; }
.hr-sk-pill { width: 64px; height: 24px; border-radius: 8px; }
.hr-sk-copy { display: grid; gap: 9px; flex: 1; min-width: 0; }
.hr-sk-identity { display: flex; align-items: center; gap: 12px; min-width: 0; }
.hr-sk-pills { display: flex; align-items: center; gap: 8px; }
.hr-sk-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 2px 0 6px; }
.hr-sk-search { width: min(38%, 340px); height: 38px; border-radius: 11px; }
.hr-sk-toolbar .hr-sk-pill { height: 32px; width: 82px; }
.hr-sk-card { border: 1px solid var(--hr-sk-border); background: #fff; border-radius: 14px; padding: 18px; }
.hr-sk-metrics { display: grid; gap: 12px; }
.hr-sk-metrics-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hr-sk-metrics-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.hr-sk-metric { display: grid; gap: 14px; padding: 19px; }
.hr-sk-metric .hr-sk-long { height: 7px; }
.hr-sk-columns { display: grid; align-items: start; gap: 14px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.hr-sk-columns::-webkit-scrollbar { display: none; }
.hr-sk-columns-5 { grid-template-columns: repeat(5, minmax(200px, 1fr)); }
.hr-sk-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hr-sk-column { min-width: 0; padding: 12px; border-radius: 15px; border: 1px solid var(--hr-sk-border); background: #f5f7fa; }
.hr-sk-column-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 4px 2px 16px; }
.hr-sk-column-head > .hr-sk-line { width: 56%; height: 12px; }
.hr-sk-column-head > .hr-sk-pill { width: 26px; height: 24px; }
.hr-sk-column-body { display: grid; align-content: start; gap: 12px; min-height: 400px; }
.hr-sk-column.hr-sk-tone-0 { border-top: 3px solid #d8e5ed; }
.hr-sk-column.hr-sk-tone-1 { border-top: 3px solid #d5e9e5; }
.hr-sk-column.hr-sk-tone-2 { border-top: 3px solid #efdfc5; }
.hr-sk-column.hr-sk-tone-3 { border-top: 3px solid #e3dded; }
.hr-sk-column.hr-sk-tone-4 { border-top: 3px solid #d6e8d9; }
.hr-sk-person { display: grid; gap: 15px; padding: 15px; }
.hr-sk-card-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid #f0f3f6; padding-top: 12px; }
.hr-sk-card-foot .hr-sk-line { height: 7px; }
.hr-sk-areas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.hr-sk-area { display: grid; gap: 20px; }
.hr-sk-area-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.hr-sk-area-stats .hr-sk-number { height: 19px; width: 35px; }
.hr-sk-progress { height: 6px; border-radius: 10px; background: #e5efed; }
.hr-sk-area-positions { display: grid; gap: 16px; }
.hr-sk-area-positions > div { display: flex; align-items: center; gap: 16px; }
.hr-sk-area-positions .hr-sk-long { flex: 1; }
.hr-sk-area-positions .hr-sk-pill { height: 19px; width: 40px; }
.hr-sk-history { display: grid; gap: 10px; padding: 16px; background: #f6f9fa; }
.hr-sk-history .hr-sk-long { width: 52%; height: 8px; }
.hr-sk-rows { overflow: hidden; border: 1px solid var(--hr-sk-border); border-radius: 14px; background: #fff; }
.hr-sk-row { display: grid; grid-template-columns: minmax(180px, 2fr) 1fr 1fr 80px 100px; align-items: center; gap: 20px; padding: 20px; }
.hr-sk-row + .hr-sk-row { border-top: 1px solid #edf1f4; }
.hr-sk-row-date { width: 82%; }
.hr-sk-files-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.hr-sk-expedientes .hr-sk-columns { gap: 18px; }
.hr-sk-expedientes .hr-sk-tone-0 { border-top-color: #efdbdc; }
.hr-sk-expedientes .hr-sk-tone-2 { border-top-color: #d6e8d9; }
.hr-sk-table-head { display: grid; grid-template-columns: minmax(180px, 2fr) 1fr 1fr 80px 100px; gap: 20px; padding: 16px 20px; background: #f6f8fa; border-radius: 9px; }
.hr-sk-juridico { border-radius: 0; }
.hr-sk-juridico .hr-sk-content { gap: 0; }
.hr-sk-juridico .hr-sk-rows { border: 0; border-radius: 0; }
.hr-sk-section-title { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 6px 0 2px; }
.hr-sk-section-title .hr-sk-medium { width: 200px; height: 15px; }
.hr-sk-section-title .hr-sk-long { width: 360px; max-width: 85%; height: 8px; }
.hr-sk-report-list { display: grid; gap: 22px; }
.hr-sk-report-list > .hr-sk-line { width: 180px; }
.hr-sk-report-list > div { display: grid; grid-template-columns: 1fr 64px 100px; align-items: center; gap: 30px; }
.hr-sk-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.hr-sk-chart { display: grid; gap: 20px; }
.hr-sk-chart > .hr-sk-line { width: 42%; height: 12px; }
.hr-sk-chart-bars { display: flex; align-items: end; justify-content: space-around; height: 130px; gap: 15px; border-bottom: 1px solid #edf1f4; padding: 0 10px; }
.hr-sk-chart-bar { flex: 1; max-width: 40px; border-radius: 6px 6px 0 0; background: #e3eeeb; }
.hr-sk-height-0 { height: 43%; }
.hr-sk-height-1 { height: 68%; }
.hr-sk-height-2 { height: 52%; }
.hr-sk-height-3 { height: 86%; }
.hr-sk-chart-labels { display: flex; justify-content: space-between; gap: 25px; }
.hr-sk-chart-labels .hr-sk-line { height: 7px; flex: 1; width: auto; max-width: 52px; }
@container (max-width: 900px) {
  .hr-sk-expedientes .hr-sk-columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 620px) {
  .hr-sk-expedientes .hr-sk-columns-3 { grid-template-columns: minmax(0, 1fr); }
  .hr-sk-expedientes .hr-sk-column-body { min-height: 0; }
}
@media (max-width: 1100px) {
  .hr-sk-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hr-sk-row, .hr-sk-table-head { grid-template-columns: minmax(160px, 2fr) 1fr 1fr 64px 80px; gap: 14px; }
}
@media (max-width: 720px) {
  .hr-sk-content { gap: 14px; }
  .hr-sk-toolbar { align-items: stretch; flex-direction: column; gap: 12px; }
  .hr-sk-search { width: 100%; }
  .hr-sk-pills { flex-wrap: wrap; gap: 7px; }
  .hr-sk-toolbar .hr-sk-pill { width: 70px; height: 29px; }
  .hr-sk-metrics-4, .hr-sk-metrics-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hr-sk-metrics-5 > :last-child { grid-column: 1 / -1; }
  .hr-sk-metric { padding: 16px; gap: 12px; }
  .hr-sk-columns-5 { grid-template-columns: repeat(5, minmax(78vw, 1fr)); }
  .hr-sk-columns-3 { grid-template-columns: minmax(0, 1fr); }
  .hr-sk-columns-3 .hr-sk-column-body { min-height: 0; }
  .hr-sk-columns-3 .hr-sk-person:nth-child(n + 3) { display: none; }
  .hr-sk-areas, .hr-sk-files-grid, .hr-sk-charts { grid-template-columns: minmax(0, 1fr); }
  .hr-sk-areas .hr-sk-area:nth-child(n + 4) { display: none; }
  .hr-sk-row { grid-template-columns: minmax(0, 1fr) 64px; gap: 15px; padding: 18px 15px; }
  .hr-sk-row .hr-sk-identity { grid-column: 1; }
  .hr-sk-row > .hr-sk-pill { grid-column: 2; grid-row: 1; }
  .hr-sk-row-detail { grid-column: 1; }
  .hr-sk-row-detail:nth-child(3) { display: none; }
  .hr-sk-row-date { grid-column: 2; grid-row: 2; }
  .hr-sk-table-head { display: none; }
  .hr-sk-history .hr-sk-long { width: 85%; }
  .hr-sk-report-list > div { grid-template-columns: 1fr 50px; gap: 20px; }
  .hr-sk-report-list > div > .hr-sk-line:last-child { display: none; }
  .hr-sk-report-list .hr-sk-pill { width: 50px; }
}
@media (prefers-reduced-motion: reduce) {
  .hr-sk::after { animation: none; display: none; }
}
html[data-flowmo-performance="constrained"] .hr-sk::after { animation: none; display: none; }
