/* RH phase 1: presentation only; shared controls for desktop and mobile. */
.recursos-humanos-workbench .hr-workbench-header { align-items:center; padding-block:12px; }
.recursos-humanos-workbench .hr-workbench-header .eyebrow { display:none; }
.recursos-humanos-workbench .hr-workbench-header h2 { margin:0; }
.recursos-humanos-workbench .hr-workbench-header p { margin:5px 0 0; font-size:.85rem; }
.recursos-humanos-workbench .hr-metrics { gap:8px; margin:0 0 10px; }
.recursos-humanos-workbench .hr-metric-card { padding:10px 14px; border-radius:10px; box-shadow:none; }
.recursos-humanos-workbench .hr-metric-card strong { font-size:1.35rem; margin:4px 0; }
.recursos-humanos-workbench .hr-metric-card span { font-size:.7rem; }
.recursos-humanos-workbench .hr-metric-card small { font-size:.72rem; }
.recursos-humanos-workbench .hr-tabs { margin-bottom:14px; gap:0; }
.recursos-humanos-workbench .hr-tab { padding:10px 12px; }
.recursos-humanos-workbench .hr-tab:focus-visible { outline:2px solid var(--hr-accent); outline-offset:-3px; }
.recursos-humanos-workbench.hr-payroll-mode .hr-toolbar { margin-bottom:10px; }
.recursos-humanos-workbench.hr-payroll-mode .hr-toolbar p { margin:4px 0; font-size:.82rem; }
.recursos-humanos-workbench .hr-payroll-selector { gap:8px; margin-bottom:12px; }
.recursos-humanos-workbench .hr-payroll-chip { padding:8px 12px; min-width:130px; }
.recursos-humanos-workbench .hr-payroll-overview { padding:12px 14px; border-radius:12px; }
.recursos-humanos-workbench .hr-payroll-heading { gap:12px; }
.recursos-humanos-workbench .hr-payroll-totals { gap:12px; padding-top:10px; margin-top:10px; }
.recursos-humanos-workbench .hr-payroll-totals strong { font-size:1.1rem; font-variant-numeric:tabular-nums; }
.recursos-humanos-workbench .hr-payroll-saved-note { margin-top:8px; }
.recursos-humanos-workbench .hr-payroll-tools { gap:8px 12px; margin:12px 0 8px; }
.recursos-humanos-workbench .hr-payroll-tools label { font-size:.78rem; gap:4px; }
.recursos-humanos-workbench .hr-payroll-tools .hr-review-confirm { white-space:normal; margin:0; min-height:40px; }
.recursos-humanos-workbench .hr-capture-help { color:var(--hr-muted); font-size:.8rem; margin:8px 0 12px; }
.recursos-humanos-workbench .hr-capture-help summary { cursor:pointer; width:fit-content; }
.recursos-humanos-workbench .hr-capture-help p { max-width:900px; line-height:1.5; }
.recursos-humanos-workbench .hr-payroll-scroll { max-height:60vh; scroll-padding-top:48px; }
.recursos-humanos-workbench .hr-payroll-table { min-width:1280px; width:100%; table-layout:fixed; font-size:.82rem; }
.recursos-humanos-workbench .hr-payroll-table th:nth-child(1) { width:215px; }
.recursos-humanos-workbench .hr-payroll-table th:nth-child(2) { width:85px; }
.recursos-humanos-workbench .hr-payroll-table th:nth-child(3) { width:80px; }
.recursos-humanos-workbench .hr-payroll-table th:nth-child(4) { width:120px; }
.recursos-humanos-workbench .hr-payroll-table th:nth-child(5) { width:135px; }
.recursos-humanos-workbench .hr-payroll-table th:nth-child(6) { width:235px; }
.recursos-humanos-workbench .hr-payroll-table th:nth-child(7) { width:125px; }
.recursos-humanos-workbench .hr-payroll-table th:nth-child(8) { width:110px; }
.recursos-humanos-workbench .hr-payroll-table th:nth-child(9) { width:175px; }
.recursos-humanos-workbench .hr-payroll-table th { padding:8px 10px; font-size:.72rem; }
.recursos-humanos-workbench .hr-payroll-table td { padding:10px; vertical-align:top; font-variant-numeric:tabular-nums; }
.recursos-humanos-workbench .hr-payroll-scroll tr > :first-child { min-width:180px; max-width:220px; }
.recursos-humanos-workbench .hr-payroll-scroll td button { margin-top:6px; padding:6px 8px; font-size:.75rem; min-height:30px; }
.recursos-humanos-workbench .hr-payroll-person > strong { display:block; white-space:normal; }
.recursos-humanos-workbench .hr-payroll-person small:empty { display:none; }
.recursos-humanos-workbench .hr-extra-line { display:flex; gap:10px; align-items:center; justify-content:space-between; }
.recursos-humanos-workbench .hr-extra-line > span { font-size:.72rem; color:var(--hr-muted); }
.recursos-humanos-workbench .hr-extra-line strong { display:block; color:var(--hr-ink); font-size:.84rem; }
.recursos-humanos-workbench .hr-extra-line button { margin-top:0; }
.recursos-humanos-workbench .hr-row-breakdown { margin-top:6px; font-size:.74rem; }
.recursos-humanos-workbench .hr-row-breakdown summary { color:var(--hr-accent); cursor:pointer; }
.recursos-humanos-workbench .hr-row-breakdown p { font-size:.8rem; line-height:1.5; }
.recursos-humanos-workbench .hr-other-payments { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:6px; margin-top:6px; border-top:1px solid var(--hr-line); }
.recursos-humanos-workbench .hr-other-payments > span { font-size:.72rem; color:var(--hr-muted); }
.recursos-humanos-workbench .hr-other-payments .hr-concept-cell { display:flex; gap:8px; align-items:center; }
.recursos-humanos-workbench .hr-other-payments .hr-concept-cell button { margin-top:0; }
.recursos-humanos-workbench .hr-payroll-net { min-width:130px; }
.recursos-humanos-workbench [data-hr-net-preview], .recursos-humanos-workbench [data-hr-pending-net-total] { display:block; color:var(--hr-accent); font-size:.76rem; font-weight:600; white-space:normal; max-width:220px; margin-top:6px; }
.recursos-humanos-workbench [data-hr-net-preview] { min-height:3em; line-height:1.5; }
.recursos-humanos-workbench [data-hr-pending-net-total] { min-height:3em; line-height:1.5; max-width:none; }
.recursos-humanos-workbench [data-hr-net-preview][hidden], .recursos-humanos-workbench [data-hr-pending-net-total][hidden] { display:block !important; visibility:hidden; }
.recursos-humanos-workbench .hr-capture-review-tools { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:12px 0; padding:10px 12px; border:1px solid var(--hr-line); border-radius:10px; }
.recursos-humanos-workbench .hr-capture-review-tools label { display:flex; gap:8px; align-items:center; font-size:.8rem; }
.recursos-humanos-workbench .hr-capture-review-tools small { color:var(--hr-muted); }
.recursos-humanos-workbench [data-hr-pending-label] { display:block; min-height:2.6em; line-height:1.3; color:var(--hr-muted); font-weight:600; white-space:normal; }
.recursos-humanos-workbench .hr-review-attribution { display:block; min-height:2.6em; line-height:1.3; white-space:normal; font-size:.7rem; }
.recursos-humanos-workbench .hr-review-attribution:empty { display:block; visibility:hidden; }
.recursos-humanos-workbench .hr-payroll-table tr > td:first-child { border-left:3px solid transparent; }
.recursos-humanos-workbench .hr-payroll-table .hr-row-reviewed > td:first-child { border-left-color:#16864c; box-shadow:inset 1px 0 #16864c; }
.recursos-humanos-workbench .hr-payroll-table .hr-row-pending > td:first-child { border-left-color:#e5ac24; }
.recursos-humanos-workbench .hr-row-reviewed [data-hr-pending-label] { color:#16864c; }
.theme-dark .recursos-humanos-workbench .hr-row-reviewed [data-hr-pending-label] { color:#72e2a1; }
.recursos-humanos-workbench .hr-row-pending [data-hr-pending-label] { color:var(--hr-warning, #a66a00); }
.theme-dark .recursos-humanos-workbench .hr-row-pending [data-hr-pending-label] { color:#ffd36b; }
.recursos-humanos-workbench .hr-payroll-net .hr-review-line-button { width:100%; min-height:3.8em; white-space:normal; }
.recursos-humanos-workbench .hr-row-reviewed .hr-review-line-button:disabled { opacity:1; color:var(--hr-muted); }
.recursos-humanos-workbench .hr-payroll-draft-bar { top:auto; bottom:0; padding:10px 12px; margin-top:10px; gap:10px; box-shadow:0 -4px 16px #0001; border-radius:10px; }
.recursos-humanos-workbench .hr-payroll-draft-bar > .hr-draft-status { flex:1 1 210px; }
.recursos-humanos-workbench .hr-payroll-draft-bar > label { flex:1 1 230px; font-size:.75rem; gap:4px; }
.recursos-humanos-workbench .hr-payroll-draft-bar > .hr-draft-actions { flex:0 1 auto; display:flex; gap:8px; }
.recursos-humanos-workbench .hr-payroll-draft-bar strong { font-size:.85rem; }
.recursos-humanos-workbench .hr-payroll-draft-bar small { font-size:.73rem; }
.recursos-humanos-workbench .hr-payroll-draft-bar.has-pending { border-color:var(--hr-accent); }
.recursos-humanos-workbench .hr-payroll-draft-bar:not(.has-pending) > label { visibility:hidden; }
.recursos-humanos-workbench .hr-payroll-actions { border-top:1px solid var(--hr-line); padding-top:14px; margin-top:16px; }
.recursos-humanos-workbench .hr-payroll-status-help { margin-right:auto; font-size:.76rem; color:var(--hr-muted); }
.recursos-humanos-workbench .hr-mobile-sort { display:none; }
@media (max-width:700px) {
  .recursos-humanos-workbench .hr-workbench-header { flex-direction:row; gap:8px; align-items:center; }
  .recursos-humanos-workbench .hr-workbench-header h2 { font-size:1.2rem; }
  .recursos-humanos-workbench .hr-workbench-header p { display:none; }
  .recursos-humanos-workbench .hr-workbench-header .header-actions { width:auto; }
  .recursos-humanos-workbench .hr-workbench-header button { min-height:40px; padding:8px; }
  .recursos-humanos-workbench .hr-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .recursos-humanos-workbench .hr-metric-card { padding:8px 10px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .recursos-humanos-workbench .hr-metric-card strong { margin:0; font-size:1.25rem; }
  .recursos-humanos-workbench .hr-metric-card small { display:none; }
  .recursos-humanos-workbench .hr-metric-card span { font-size:.67rem; }
  .recursos-humanos-workbench .hr-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:visible; }
  .recursos-humanos-workbench .hr-tab { white-space:normal; font-size:.72rem; padding:8px 3px; min-height:44px; }
  .recursos-humanos-workbench .hr-payroll-heading-actions { width:100%; margin-left:0; }
  .recursos-humanos-workbench .hr-payroll-heading-actions > button, .recursos-humanos-workbench .hr-payroll-heading-actions > details > summary { padding:8px; font-size:.78rem; min-height:40px; }
  .recursos-humanos-workbench .hr-payroll-totals { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .recursos-humanos-workbench .hr-payroll-totals > div:nth-child(2) { grid-column:1 / -1; grid-row:1; }
  .recursos-humanos-workbench .hr-payroll-totals span { font-size:.75rem; }
  .recursos-humanos-workbench .hr-payroll-totals strong { font-size:1.05rem; }
  .recursos-humanos-workbench .hr-payroll-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .recursos-humanos-workbench .hr-payroll-tools > label:first-child { grid-column:1 / -1; }
  .recursos-humanos-workbench .hr-payroll-tools > button { grid-column:1 / -1; justify-self:start; }
  .recursos-humanos-workbench .hr-payroll-tools .hr-review-confirm { grid-column:1 / -1; font-size:.8rem; }
  .recursos-humanos-workbench .hr-mobile-sort { display:flex; grid-column:1 / -1; }
  .recursos-humanos-workbench .hr-payroll-tools input, .recursos-humanos-workbench .hr-payroll-tools select { min-height:42px; }
  .recursos-humanos-workbench .hr-payroll-tools .hr-review-confirm input[type=checkbox] { min-height:18px; height:18px; }
  .recursos-humanos-workbench .hr-payroll-scroll { max-height:none; overflow:visible; border:0; border-radius:0; }
  .recursos-humanos-workbench .hr-payroll-table { display:block; min-width:0; width:100%; }
  .recursos-humanos-workbench .hr-payroll-table thead { display:none; }
  .recursos-humanos-workbench .hr-payroll-table tbody { display:grid; gap:12px; }
  .recursos-humanos-workbench .hr-payroll-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); background:var(--hr-panel); border:1px solid var(--hr-line); border-radius:12px; overflow:hidden; }
  .recursos-humanos-workbench .hr-payroll-table td { display:block; min-width:0; max-width:none; white-space:normal; padding:10px 12px; border:0; }
  .recursos-humanos-workbench .hr-payroll-scroll tr > :first-child { position:static; min-width:0; max-width:none; grid-column:1 / -1; background:var(--hr-soft); padding:12px; border-bottom:1px solid var(--hr-line); }
  .recursos-humanos-workbench .hr-payroll-table td[data-label]::before { content:attr(data-label); display:block; font-size:.73rem; color:var(--hr-muted); margin-bottom:6px; font-weight:600; }
  .recursos-humanos-workbench .hr-payroll-additions, .recursos-humanos-workbench .hr-payroll-net { grid-column:1 / -1; }
  .recursos-humanos-workbench .hr-payroll-net { background:var(--hr-soft); border-top:1px solid var(--hr-line); }
  .recursos-humanos-workbench .hr-payroll-table input { width:100%; max-width:none; min-height:44px; font-size:1rem; }
  .recursos-humanos-workbench .hr-payroll-table td button { min-height:40px; font-size:.8rem; }
  .recursos-humanos-workbench .hr-payroll-scroll td details { max-width:none; }
  .recursos-humanos-workbench .hr-payroll-group-row, .recursos-humanos-workbench .hr-payroll-table tr:has(> .hr-empty) { grid-template-columns:1fr; }
  .recursos-humanos-workbench .hr-payroll-draft-bar { position:static; padding:10px; }
  .recursos-humanos-workbench .hr-payroll-draft-bar.has-pending { position:static; }
  .recursos-humanos-workbench .hr-payroll-draft-bar > .hr-draft-status { flex-basis:100%; }
  .recursos-humanos-workbench .hr-payroll-draft-bar > .hr-draft-actions { display:grid; grid-template-columns:auto 1fr; flex-basis:100%; align-items:stretch; }
  .recursos-humanos-workbench .hr-payroll-draft-bar .hr-draft-actions button { font-size:.78rem; padding:8px; min-height:44px; }
  .recursos-humanos-workbench .hr-payroll-draft-bar > label { flex-basis:100%; }
  .recursos-humanos-workbench .hr-payroll-draft-bar small { margin-top:2px; }
  .recursos-humanos-workbench .hr-payroll-actions { flex-wrap:wrap; }
  .recursos-humanos-workbench .hr-payroll-status-help { flex-basis:100%; }
}
/* Required overtime fields remain explained even when Apply is disabled. */
.hr-overtime-required { padding: 12px 16px; margin: 12px 0; border: 2px solid #a85c00; border-radius: 10px; background: #fff4df; color: #633500; }
.hr-overtime-required ul { margin: 8px 0 0; padding-left: 22px; }
.hr-overtime-required li + li { margin-top: 6px; }
.hr-overtime-required.is-ready { border-color: #27784a; background: #edf8f0; color: #17492d; }
.hr-form-card .hr-overtime-missing { outline: 2px solid #b86b0b; outline-offset: 4px; border-radius: 6px; }
