.hr-module {
  --hr-ink: #17233c;
  --hr-muted: #667085;
  --hr-line: #e4e8ef;
  --hr-soft: #f6f8fb;
  --hr-blue: #2f69a8;
  --hr-blue-soft: #eaf2fb;
  --hr-green: #236b52;
  --hr-green-soft: #e9f5ef;
  color: var(--hr-ink);
  padding: 4px 0 48px;
}

.hr-hero {
  align-items: center;
  background:
    radial-gradient(circle at 92% -20%, rgba(78, 137, 199, .2), transparent 42%),
    linear-gradient(135deg, #f8fbff 0%, #eef5f8 100%);
  border: 1px solid #dae5ee;
  border-radius: 22px;
  display: flex;
  justify-content: space-between;
  min-height: 160px;
  overflow: hidden;
  padding: 30px 34px;
}

.hr-hero h2 { font: 800 clamp(28px, 3vw, 42px)/1.05 "Inter Tight", Inter, sans-serif; margin: 5px 0 8px; }
.hr-hero p:not(.eyebrow) { color: var(--hr-muted); margin: 0; max-width: 660px; }
.hr-hero-badge { align-items: center; background: rgba(255,255,255,.78); border: 1px solid rgba(47,105,168,.15); border-radius: 18px; display: flex; flex-direction: column; min-width: 152px; padding: 18px 22px; }
.hr-hero-badge strong { color: var(--hr-blue); font: 800 36px/1 "Inter Tight", Inter, sans-serif; }
.hr-hero-badge span { color: var(--hr-muted); font-size: 12px; margin-top: 6px; }

.hr-kpis { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 14px 0; }
.hr-kpis article { background: #fff; border: 1px solid var(--hr-line); border-radius: 15px; display: grid; gap: 4px; min-height: 100px; padding: 17px 20px; }
.hr-kpis span { color: var(--hr-muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.hr-kpis strong { font: 750 22px/1.2 "Inter Tight", Inter, sans-serif; }
.hr-kpis small { color: #8a93a3; }

.hr-tabs { background: #fff; border: 1px solid var(--hr-line); border-radius: 14px; display: flex; gap: 4px; padding: 5px; position: sticky; top: 10px; z-index: 5; }
.hr-tabs button { background: transparent; border: 0; border-radius: 10px; color: var(--hr-muted); cursor: pointer; font-weight: 700; padding: 11px 17px; }
.hr-tabs button.active { background: var(--hr-ink); color: #fff; }
.hr-stage { margin-top: 14px; }

.hr-section-head { align-items: center; background: #fff; border: 1px solid var(--hr-line); border-radius: 18px 18px 0 0; display: flex; justify-content: space-between; padding: 22px 24px; }
.hr-section-head h3, .hr-settings-card h3, .hr-legal-card h3 { font: 750 24px/1.2 "Inter Tight", Inter, sans-serif; margin: 3px 0; }
.hr-section-head span { color: var(--hr-muted); font-size: 13px; }
.hr-head-actions, .hr-period-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.hr-inline-select { align-items: center; border: 1px solid var(--hr-line); border-radius: 10px; display: flex; gap: 8px; padding: 4px 8px 4px 12px; }
.hr-inline-select span { color: var(--hr-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.hr-inline-select select { border: 0; color: var(--hr-ink); font-weight: 700; outline: 0; padding: 7px 4px; }

.hr-table-wrap { background: #fff; border: 1px solid var(--hr-line); border-radius: 0 0 18px 18px; overflow: auto; }
.hr-table { border-collapse: collapse; min-width: 920px; width: 100%; }
.hr-table th { background: var(--hr-soft); border-bottom: 1px solid var(--hr-line); color: #7a8494; font-size: 10px; letter-spacing: .07em; padding: 11px 16px; text-align: left; text-transform: uppercase; }
.hr-table td { border-bottom: 1px solid #edf0f4; padding: 15px 16px; vertical-align: middle; }
.hr-table tr:last-child td { border-bottom: 0; }
.hr-table tr:hover td { background: #fbfcfe; }
.hr-table td strong { display: block; font-size: 13px; }
.hr-table td span:not(.hr-status) { color: var(--hr-muted); display: block; font-size: 11px; margin-top: 3px; }
.hr-table tr.is-muted { opacity: .58; }
.hr-row-actions { text-align: right; white-space: nowrap; }
.hr-row-actions button, .hr-period-actions > button { background: #fff; border: 1px solid #dce1e8; border-radius: 8px; color: #39445a; cursor: pointer; font-size: 11px; font-weight: 700; margin-left: 5px; padding: 7px 9px; }
.hr-row-actions button:hover, .hr-period-actions > button:hover { border-color: var(--hr-blue); color: var(--hr-blue); }
.hr-net-cell { color: var(--hr-green); font-size: 14px !important; }

.hr-status { background: #edf0f4; border-radius: 99px; color: #5b6574; display: inline-flex !important; font-size: 10px !important; font-weight: 800; letter-spacing: .04em; margin: 0 !important; padding: 5px 8px; text-transform: uppercase; }
.hr-status.approved, .hr-status.paid { background: var(--hr-green-soft); color: var(--hr-green); }
.hr-status.calculated { background: var(--hr-blue-soft); color: var(--hr-blue); }
.hr-status.closed { background: #eef0f4; color: #646c78; }
.hr-status.draft { background: #fff4df; color: #9a6511; }

.hr-period-card { background: #fff; border: 1px solid var(--hr-line); border-bottom: 0; padding: 22px 24px; }
.hr-period-title { align-items: flex-start; display: flex; justify-content: space-between; }
.hr-period-title h4 { font: 750 23px/1.2 "Inter Tight", Inter, sans-serif; margin: 8px 0 2px; text-transform: capitalize; }
.hr-period-title p { color: var(--hr-muted); font-size: 12px; margin: 0; }
.hr-period-metrics { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 18px; }
.hr-period-metrics div { background: var(--hr-soft); border-radius: 11px; display: grid; gap: 5px; padding: 13px 14px; }
.hr-period-metrics span { color: var(--hr-muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.hr-period-metrics strong { font-size: 13px; }
.hr-alert { background: #fff7e8; border: 1px solid #f2d7a5; border-radius: 10px; color: #795620; font-size: 12px; margin-top: 14px; padding: 11px 13px; }

.hr-compliance-hero { align-items: center; background: linear-gradient(135deg,#fffaf0,#fff); border: 1px solid #ead8b9; border-bottom: 0; display: flex; justify-content: space-between; padding: 22px 24px; }
.hr-compliance-hero.is-complete { background: linear-gradient(135deg,#edf8f2,#fff); border-color: #cde3d8; }
.hr-compliance-hero h4 { font: 750 23px/1.2 "Inter Tight", Inter, sans-serif; margin: 8px 0 3px; text-transform: capitalize; }
.hr-compliance-hero p { color: var(--hr-muted); font-size: 11px; margin: 0; }
.hr-compliance-score { display: grid; gap: 3px; text-align: right; }
.hr-compliance-score strong { color: var(--hr-blue); font: 800 27px/1 "Inter Tight", Inter, sans-serif; }
.hr-compliance-score span { color: var(--hr-muted); font-size: 9px; text-transform: uppercase; }
.hr-blockers { align-items: flex-start; background: #fff8e9; border: 1px solid #efd8ac; display: flex; gap: 16px; padding: 13px 24px; }
.hr-blockers > strong { color: #875817; font-size: 11px; white-space: nowrap; }
.hr-blockers > div { display: flex; flex-wrap: wrap; gap: 5px; }
.hr-blockers span { background: #fff; border: 1px solid #ead7b6; border-radius: 99px; color: #795a2c; font-size: 9px; padding: 4px 8px; }
.hr-success-note { background: #ecf7f1; border: 1px solid #cde3d8; color: var(--hr-green); font-size: 11px; padding: 13px 24px; }
.hr-compliance-grid { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 14px 0; }
.hr-compliance-card { background: #fff; border: 1px solid var(--hr-line); border-top: 3px solid #d39b43; border-radius: 14px; display: flex; flex-direction: column; min-height: 255px; padding: 17px; }
.hr-compliance-card.is-done { border-top-color: var(--hr-green); }
.hr-compliance-card > div:first-child { align-items: center; display: flex; justify-content: space-between; }
.hr-compliance-card > div:first-child small { color: var(--hr-muted); font-size: 9px; }
.hr-compliance-card h4 { font: 750 16px/1.2 "Inter Tight", Inter, sans-serif; margin: 15px 0 6px; }
.hr-compliance-card > p { color: var(--hr-muted); font-size: 10px; line-height: 1.5; margin: 0 0 12px; }
.hr-compliance-card dl { background: var(--hr-soft); border-radius: 8px; display: grid; font-size: 9px; grid-template-columns: 1fr auto; margin: 0 0 10px; padding: 9px 10px; row-gap: 5px; }
.hr-compliance-card dt { color: var(--hr-muted); }
.hr-compliance-card dd { font-weight: 750; margin: 0; }
.hr-compliance-card dd.is-zero { color: var(--hr-green); }
.hr-compliance-card dd.has-difference { color: #a55b24; }
.hr-filing-proof { border-left: 2px solid #b7c6d5; display: grid; gap: 2px; margin-bottom: 10px; padding-left: 9px; }
.hr-filing-proof span, .hr-filing-proof small { color: var(--hr-muted); font-size: 8px; }
.hr-filing-proof strong { font-size: 10px; }
.hr-card-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.hr-card-actions button { background: #fff; border: 1px solid #d9e0e8; border-radius: 8px; color: #39465b; cursor: pointer; font-size: 9px; font-weight: 750; padding: 7px 9px; }
.hr-card-actions button.primary-action { background: var(--hr-blue); color: #fff; }
.hr-delivery-section { background: #fff; border: 1px solid var(--hr-line); border-radius: 16px; margin-top: 14px; padding: 20px; }
.hr-delivery-section .hr-table-wrap { border-radius: 10px; }
.hr-compliance-disclaimer { color: var(--hr-muted); font-size: 9px; line-height: 1.5; margin: 12px 4px; }

.hr-third-party-kpis { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 14px 0; }
.hr-third-party-kpis article { background: #fff; border: 1px solid var(--hr-line); border-radius: 14px; display: grid; gap: 5px; padding: 16px 18px; }
.hr-third-party-kpis article.has-attention { background: #fffaf0; border-color: #edd5aa; }
.hr-third-party-kpis span { color: var(--hr-muted); font-size: 9px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.hr-third-party-kpis strong { font: 800 25px/1 "Inter Tight",Inter,sans-serif; }
.hr-third-party-kpis small { color: #8992a1; font-size: 9px; }
.hr-third-party-sources { display: grid; gap: 12px; grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr); margin-bottom: 14px; }
.hr-source-workflow { background: #fff; border: 1px solid var(--hr-line); border-radius: 16px; display: flex; flex-direction: column; min-height: 235px; padding: 20px; }
.hr-source-workflow.is-caja { background: linear-gradient(145deg,#fbfdff,#f1f7fc); border-color: #cedfed; }
.hr-source-workflow-head { align-items: center; display: flex; gap: 12px; }
.hr-source-workflow-head > span { align-items: center; background: var(--hr-ink); border-radius: 10px; color: #fff; display: flex; flex: 0 0 42px; font-size: 10px; font-weight: 850; height: 42px; justify-content: center; }
.hr-source-workflow-head h4 { font: 750 17px/1.2 "Inter Tight",Inter,sans-serif; margin: 2px 0 0; }
.hr-source-workflow > p { color: var(--hr-muted); font-size: 11px; line-height: 1.55; }
.hr-source-workflow > button { background: var(--hr-blue); border: 0; border-radius: 9px; color: #fff; cursor: pointer; font-size: 10px; font-weight: 750; margin-top: auto; padding: 10px 12px; }
.hr-license-channels { display: grid; gap: 8px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 16px; }
.hr-license-channels button { background: var(--hr-soft); border: 1px solid var(--hr-line); border-radius: 10px; color: var(--hr-ink); cursor: pointer; display: grid; gap: 4px; min-height: 70px; padding: 11px 12px; text-align: left; }
.hr-license-channels button:hover { background: var(--hr-blue-soft); border-color: #b9cfe6; }
.hr-license-channels strong { font-size: 10px; }
.hr-license-channels span { color: var(--hr-muted); font-size: 9px; overflow-wrap: anywhere; }
.hr-inbox-state { align-items: flex-start; border-top: 1px dashed var(--hr-line); display: flex; flex-direction: column; gap: 3px; margin-top: 14px; padding-top: 11px; }
.hr-inbox-state > span { color: #96631c; font-size: 9px; font-weight: 750; text-transform: uppercase; }
.hr-inbox-state.is-ready > span { color: var(--hr-green); }
.hr-inbox-state small { color: var(--hr-muted); font-size: 8px; overflow-wrap: anywhere; }
.hr-third-party-ledger { background: #fff; border: 1px solid var(--hr-line); border-radius: 16px; padding: 20px; }
.hr-third-party-ledger .hr-table-wrap { border-radius: 10px; }
.hr-third-party-ledger .hr-empty { border-radius: 10px; }
.hr-third-party-table tr.needs-review td { background: #fffdf8; }
.hr-third-party-table .primary-action { background: #9a6511; color: #fff; }
.hr-import-summary { display: grid; gap: 9px; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 22px 24px 0; }
.hr-import-summary div { background: var(--hr-soft); border: 1px solid var(--hr-line); border-radius: 10px; display: grid; gap: 5px; padding: 12px 14px; }
.hr-import-summary span { color: var(--hr-muted); font-size: 9px; font-weight: 750; text-transform: uppercase; }
.hr-import-summary strong { font: 800 21px/1 "Inter Tight",Inter,sans-serif; }
.hr-import-preview { border-radius: 11px; margin: 16px 24px 0; max-height: 360px; }
.hr-modal > .hr-alert { margin-left: 24px; margin-right: 24px; }
.hr-inbox-banner { align-items: center; background: #f0f6fc; border: 1px solid #cedfee; border-radius: 11px; display: flex; justify-content: space-between; margin-bottom: 18px; padding: 12px 14px; }
.hr-inbox-banner > div { display: grid; gap: 3px; }
.hr-inbox-banner span { color: var(--hr-blue); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.hr-inbox-banner strong { font-size: 12px; }
.hr-inbox-banner small { color: var(--hr-muted); font-size: 9px; max-width: 310px; text-align: right; }
.hr-evidence-strip { background: var(--hr-soft); border: 1px solid var(--hr-line); border-radius: 9px; display: grid; gap: 3px; padding: 11px 13px; }
.hr-evidence-strip span,.hr-evidence-strip small { color: var(--hr-muted); font-size: 8px; }
.hr-evidence-strip strong { font-size: 10px; overflow-wrap: anywhere; }
.hr-third-party-applied { background: #edf8f3; border: 1px solid #cce5d8; border-radius: 10px; display: grid; gap: 4px; margin: -8px 0 18px; padding: 11px 13px; }
.hr-third-party-applied strong { color: var(--hr-green); font-size: 10px; }
.hr-third-party-applied span,.hr-third-party-applied small { color: #547465; font-size: 9px; }

.hr-vacation-kpis { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 14px 0; }
.hr-vacation-kpis article { background: #fff; border: 1px solid var(--hr-line); border-radius: 14px; display: grid; gap: 5px; padding: 16px 18px; }
.hr-vacation-kpis article.has-attention { background: #fffaf0; border-color: #edd5aa; }
.hr-vacation-kpis span { color: var(--hr-muted); font-size: 9px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.hr-vacation-kpis strong { font: 800 25px/1 "Inter Tight",Inter,sans-serif; }
.hr-vacation-kpis small { color: #8992a1; font-size: 9px; }
.hr-vacation-explainer { align-items: flex-start; background: #eef6ff; border: 1px solid #cfe1f5; border-radius: 12px; display: grid; gap: 4px; margin: 14px 0; padding: 13px 15px; }
.hr-vacation-explainer strong { color: #265c94; font-size: 11px; }
.hr-vacation-explainer span { color: #5e6f84; font-size: 10px; line-height: 1.5; }
.hr-vacation-table td:nth-child(2) > strong { color: var(--hr-green); }
.hr-vacation-legal { display: grid; gap: 10px; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 14px; }
.hr-vacation-legal div { background: #fff; border: 1px solid var(--hr-line); border-radius: 12px; display: grid; gap: 4px; padding: 13px 14px; }
.hr-vacation-legal strong { color: var(--hr-blue); font-size: 10px; }
.hr-vacation-legal span { color: var(--hr-muted); font-size: 9px; line-height: 1.45; }
.hr-vacation-detail { padding: 22px 24px 26px; }
.hr-vacation-balance { display: grid; gap: 9px; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 14px; }
.hr-vacation-balance > div { background: var(--hr-soft); border: 1px solid var(--hr-line); border-radius: 11px; display: grid; gap: 5px; padding: 13px 14px; }
.hr-vacation-balance > div.is-primary { background: #edf8f3; border-color: #cbe5d8; }
.hr-vacation-balance span { color: var(--hr-muted); font-size: 8px; font-weight: 750; text-transform: uppercase; }
.hr-vacation-balance strong { font: 750 17px/1.2 "Inter Tight",Inter,sans-serif; }
.hr-vacation-balance small { color: var(--hr-muted); font-size: 8px; line-height: 1.4; }
.hr-vacation-detail > .hr-alert { margin: 0 0 12px; }
.hr-vacation-panel { background: #fff; border: 1px solid var(--hr-line); border-radius: 12px; margin-top: 11px; overflow: hidden; }
.hr-vacation-panel > summary { align-items: center; cursor: pointer; display: flex; font-size: 11px; font-weight: 750; justify-content: space-between; list-style: none; padding: 13px 15px; }
.hr-vacation-panel > summary::-webkit-details-marker { display: none; }
.hr-vacation-panel > summary::after { color: var(--hr-blue); content: '+'; font-size: 17px; margin-left: 10px; }
.hr-vacation-panel[open] > summary::after { content: '−'; }
.hr-vacation-panel > summary span { color: var(--hr-muted); font-size: 8px; font-weight: 600; margin-left: auto; }
.hr-vacation-panel > .hr-form { border-top: 1px solid var(--hr-line); padding: 16px; }
.hr-vacation-panel.is-static { padding: 0; }
.hr-vacation-panel-title { align-items: center; border-bottom: 1px solid var(--hr-line); display: flex; justify-content: space-between; padding: 13px 15px; }
.hr-vacation-panel-title strong { font-size: 11px; }
.hr-vacation-panel-title span { color: var(--hr-muted); font-size: 8px; }
.hr-vacation-day-preview { background: #eef6ff; border: 1px solid #d2e2f3; border-radius: 9px; color: #5c6d82; display: grid; font-size: 9px; gap: 3px; margin: 12px 0; padding: 10px 12px; }
.hr-vacation-day-preview strong { color: var(--hr-blue); font-size: 11px; }
.hr-vacation-day-preview.has-error { background: #fff2f2; border-color: #e7caca; color: #914949; }
.hr-vacation-request-list { display: grid; }
.hr-vacation-request-list article { align-items: center; border-bottom: 1px solid var(--hr-line); display: grid; gap: 12px; grid-template-columns: minmax(0,1fr) auto auto; padding: 11px 15px; }
.hr-vacation-request-list article:last-child { border-bottom: 0; }
.hr-vacation-request-list article > div:first-child { display: grid; gap: 3px; }
.hr-vacation-request-list strong { font-size: 10px; }
.hr-vacation-request-list span:not(.hr-status),.hr-vacation-request-list small { color: var(--hr-muted); font-size: 8px; }
.hr-vacation-empty { color: var(--hr-muted); font-size: 10px; margin: 0; padding: 16px; }
.hr-vacation-adjustments,.hr-vacation-entitlements { border-top: 1px solid var(--hr-line); display: grid; padding: 0 15px; }
.hr-vacation-adjustments div,.hr-vacation-entitlements div { align-items: center; border-bottom: 1px solid var(--hr-line); display: flex; justify-content: space-between; padding: 9px 0; }
.hr-vacation-adjustments div:last-child,.hr-vacation-entitlements div:last-child { border-bottom: 0; }
.hr-vacation-adjustments strong,.hr-vacation-entitlements strong { color: var(--hr-green); font-size: 9px; }
.hr-vacation-adjustments strong.is-negative { color: #a55353; }
.hr-vacation-adjustments span,.hr-vacation-entitlements span,.hr-vacation-entitlements p { color: var(--hr-muted); font-size: 8px; }
.hr-vacation-sources { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.hr-vacation-sources a { background: #f5f8fb; border: 1px solid var(--hr-line); border-radius: 8px; color: var(--hr-blue); font-size: 8px; font-weight: 700; padding: 7px 9px; text-decoration: none; }

.hr-settings-grid { display: grid; gap: 14px; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr); }
.hr-settings-card, .hr-legal-card { background: #fff; border: 1px solid var(--hr-line); border-radius: 18px; padding: 24px; }
.hr-card-head { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 20px; }
.hr-card-head > span { color: var(--hr-muted); font-size: 11px; }
.hr-settings-card > .hr-card-head { border-bottom: 1px solid var(--hr-line); margin-bottom: 0; padding-bottom: 20px; }
.hr-settings-card > .hr-card-head p:not(.eyebrow) { color: var(--hr-muted); font-size: 11px; line-height: 1.45; margin: 6px 0 0; }
.hr-settings-section { border-bottom: 1px solid var(--hr-line); padding: 24px 0; }
.hr-settings-section-head { align-items: flex-start; display: flex; gap: 11px; margin-bottom: 17px; }
.hr-settings-section-head > span { align-items: center; background: var(--hr-blue-soft); border-radius: 50%; color: var(--hr-blue); display: flex; flex: 0 0 25px; font-size: 10px; font-weight: 800; height: 25px; justify-content: center; }
.hr-settings-section-head h4 { font: 750 15px/1.2 "Inter Tight", Inter, sans-serif; margin: 2px 0 3px; }
.hr-settings-section-head p { color: var(--hr-muted); font-size: 10px; margin: 0; }
.hr-affiliation-note { align-items: flex-start; background: #f7faff; border: 1px solid #d7e5f3; border-radius: 9px; color: #54667b; display: flex; font-size: 10px; gap: 9px; line-height: 1.45; margin-top: 14px; padding: 10px 12px; }
.hr-affiliation-note strong { color: var(--hr-blue); white-space: nowrap; }
.hr-auto-code { background: var(--hr-soft); border: 1px solid var(--hr-line); border-radius: 9px; display: grid; gap: 4px; min-height: 64px; padding: 11px 13px; }
.hr-auto-code > span { color: #7a8494; font-size: 9px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.hr-auto-code > strong { font-size: 12px; }
.hr-auto-code > small { color: var(--hr-muted); font-size: 9px; }
.hr-auto-code b { color: var(--hr-blue); }
.hr-legal-card { background: #f7fafc; }
.hr-legal-card > ul { color: #455166; display: grid; font-size: 13px; gap: 9px; line-height: 1.45; padding-left: 20px; }
.hr-legal-card h4 { font-size: 12px; letter-spacing: .04em; margin: 23px 0 10px; text-transform: uppercase; }
.hr-legal-note { background: #fff; border: 1px solid var(--hr-line); border-left: 3px solid #d19132; border-radius: 9px; margin-top: 20px; padding: 13px 14px; }
.hr-legal-note strong { font-size: 12px; }
.hr-legal-note p { color: var(--hr-muted); font-size: 11px; line-height: 1.5; margin: 5px 0 0; }
.hr-source-list { display: grid; gap: 7px; }
.hr-source-list a { align-items: center; background: #fff; border: 1px solid var(--hr-line); border-radius: 8px; color: var(--hr-blue); display: flex; font-size: 11px; font-weight: 700; justify-content: space-between; padding: 9px 11px; text-decoration: none; }

.hr-empty { align-items: center; background: #fff; border: 1px dashed #ccd4df; border-radius: 0 0 18px 18px; display: flex; flex-direction: column; min-height: 230px; padding: 45px; text-align: center; }
.hr-empty > span { align-items: center; background: var(--hr-blue-soft); border-radius: 50%; color: var(--hr-blue); display: flex; font-size: 25px; height: 48px; justify-content: center; width: 48px; }
.hr-empty h4 { font: 750 18px/1.2 "Inter Tight", Inter, sans-serif; margin: 14px 0 5px; }
.hr-empty p { color: var(--hr-muted); font-size: 12px; margin: 0; max-width: 440px; }
.hr-loading { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: 420px; }
.hr-loading span { animation: hr-spin .8s linear infinite; border: 3px solid #dce5ee; border-top-color: var(--hr-blue); border-radius: 50%; height: 28px; width: 28px; }
.hr-loading p { color: var(--hr-muted); font-size: 12px; }
@keyframes hr-spin { to { transform: rotate(360deg); } }

.hr-automation-note { margin: 0 0 14px; }
.hr-document-upload { margin-bottom: 16px; }
.hr-document-upload input { height: 1px; opacity: 0; overflow: hidden; position: absolute; width: 1px; }
.hr-document-upload label { align-items: center; background: #f7faff; border: 1px dashed #9db7d5; border-radius: 14px; cursor: pointer; display: flex; flex-direction: column; gap: 5px; justify-content: center; min-height: 210px; padding: 24px; text-align: center; transition: .16s ease; }
.hr-document-upload label:hover, .hr-document-upload input:focus + label { background: #eef5fd; border-color: var(--hr-blue); box-shadow: 0 0 0 3px rgba(47,105,168,.08); }
.hr-upload-icon { align-items: center; background: var(--hr-blue); border-radius: 50%; color: #fff; display: flex; font-size: 22px; height: 48px; justify-content: center; margin-bottom: 5px; width: 48px; }
.hr-document-upload strong { font: 750 17px/1.2 "Inter Tight", Inter, sans-serif; }
.hr-document-upload small { color: var(--hr-muted); font-size: 11px; }
.hr-document-upload em { color: var(--hr-blue); font-size: 11px; font-style: normal; font-weight: 700; margin-top: 8px; }
.hr-extraction-review { background: linear-gradient(135deg,#edf5ff,#f8fbff); border: 1px solid #cbdff4; border-radius: 13px; display: grid; gap: 10px; margin-bottom: 20px; padding: 15px 17px; }
.hr-extraction-review > div:first-child { display: grid; gap: 3px; }
.hr-extraction-review > div:first-child > span { color: var(--hr-blue); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hr-extraction-review > div:first-child strong { font-size: 13px; }
.hr-extraction-review p { color: var(--hr-muted); font-size: 10px; margin: 0; }
.hr-extraction-list { background: rgba(255,255,255,.72); border-radius: 8px; display: grid; font-size: 10px; gap: 4px; padding: 9px 11px; }
.hr-extraction-list > strong { color: #38465c; font-size: 10px; }
.hr-extraction-list span { color: #69768a; }
.hr-extraction-list.is-missing { border-left: 3px solid #c47a28; }
.hr-extraction-list.is-ready { border-left: 3px solid #3f8a63; }

.hr-modal-backdrop { align-items: flex-start; display: flex; overflow-y: auto; padding: 28px 18px; z-index: 100; }
.hr-modal { border-radius: 20px; max-width: 760px; overflow: visible; padding: 0; width: min(760px, 96vw); }
.hr-modal-wide { max-width: 1080px; width: min(1080px, 96vw); }
.hr-modal-head { align-items: center; border-bottom: 1px solid var(--hr-line); display: flex; justify-content: space-between; padding: 20px 24px; }
.hr-modal-head h2 { font: 750 25px/1.2 "Inter Tight", Inter, sans-serif; margin: 3px 0 0; }
.hr-form { padding: 22px 24px 24px; }
.hr-form-section { border-bottom: 1px solid var(--hr-line); margin-bottom: 20px; padding-bottom: 20px; }
.hr-form-section h3 { font: 750 17px/1.2 "Inter Tight", Inter, sans-serif; margin: 0 0 14px; }
.hr-form-section-title { align-items: center; display: flex; justify-content: space-between; }
.hr-form-section-title span { color: var(--hr-muted); font-size: 11px; }
.hr-form-grid { display: grid; gap: 13px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hr-form-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hr-field { display: grid; gap: 6px; }
.hr-field-wide { grid-column: 1 / -1; }
.hr-field > span { color: #586276; font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.hr-field > small { color: var(--hr-muted); font-size: 9px; line-height: 1.4; }
.hr-field input, .hr-field select, .hr-field textarea, .hr-settings-card select { background: #fff; border: 1px solid #d8dee7; border-radius: 9px; box-sizing: border-box; color: var(--hr-ink); font: 500 13px Inter, sans-serif; min-height: 40px; outline: 0; padding: 9px 11px; width: 100%; }
.hr-field textarea { resize: vertical; }
.hr-field input:focus, .hr-field select:focus, .hr-field textarea:focus { border-color: var(--hr-blue); box-shadow: 0 0 0 3px rgba(47,105,168,.1); }
.hr-field.has-error input { border-color: #bc3f36; box-shadow: 0 0 0 3px rgba(188,63,54,.1); }
.hr-field.has-error > small { color: #a8322b; font-weight: 650; }
.hr-check-grid { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 13px; }
.hr-check { align-items: flex-start; color: #4f596c; display: flex; font-size: 11px; gap: 8px; line-height: 1.45; }
.hr-check input { accent-color: var(--hr-blue); margin-top: 1px; }
.hr-form-hint { color: var(--hr-muted); font-size: 10px; margin: 10px 0 0; }
.hr-form-actions { align-items: center; display: flex; gap: 9px; justify-content: flex-end; padding-top: 16px; }
.hr-form-actions .hr-check { margin-right: auto; }
.hr-smart-defaults { align-items: flex-start; background: #eef8f3; border: 1px solid #c9e4d6; border-radius: 10px; display: grid; gap: 3px; margin-top: 13px; padding: 11px 13px; }
.hr-smart-defaults-wide { margin: 0 0 14px; }
.hr-smart-defaults strong { color: #2f7554; font-size: 11px; }
.hr-smart-defaults span { color: #577063; font-size: 10px; line-height: 1.45; }
.hr-guided-details { background: #f8fafc; border: 1px solid var(--hr-line); border-radius: 11px; margin-top: 14px; padding: 0 14px; }
.hr-guided-details summary { align-items: center; cursor: pointer; display: flex; justify-content: space-between; list-style: none; padding: 12px 0; }
.hr-guided-details summary::-webkit-details-marker { display: none; }
.hr-guided-details summary span { color: var(--hr-ink); font-size: 11px; font-weight: 750; }
.hr-guided-details summary small { color: var(--hr-muted); font-size: 9px; font-weight: 500; }
.hr-guided-details summary::after { color: var(--hr-blue); content: '+'; font-size: 17px; font-weight: 600; margin-left: 10px; }
.hr-guided-details[open] summary::after { content: '−'; }
.hr-guided-details > .hr-form-grid, .hr-guided-details > .hr-check-grid { border-top: 1px solid var(--hr-line); padding: 13px 0 14px; }
.hr-guided-details > .hr-check-grid { margin-top: 0; }
.hr-guided-details > .hr-alert { margin: 0 0 14px; }
.hr-field input[readonly] { background: #f3f6f9; color: #526071; cursor: default; }
.hr-history { background: var(--hr-soft); border: 1px solid var(--hr-line); border-radius: 10px; margin-bottom: 14px; padding: 12px 14px; }
.hr-history summary { cursor: pointer; font-size: 12px; font-weight: 700; }
.hr-history div { border-top: 1px solid var(--hr-line); display: flex; font-size: 11px; justify-content: space-between; margin-top: 9px; padding-top: 9px; }
.hr-history span { color: var(--hr-muted); }
.hr-historical-rules { color: var(--hr-muted); display: grid; font-size: 11px; gap: 6px; line-height: 1.45; margin: 16px 0; padding-left: 18px; }
.hr-historical-explainer { align-items: flex-start; background: #eef6ff; border: 1px solid #cfe1f5; border-radius: 10px; display: grid; gap: 4px; margin: 14px 0; padding: 11px 13px; }
.hr-historical-explainer strong { color: #265c94; font-size: 11px; }
.hr-historical-explainer span { color: #5e6f84; font-size: 10px; line-height: 1.45; }
.hr-historical-summary, .hr-historical-result { display: grid; gap: 9px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 18px 0 12px; }
.hr-historical-summary div, .hr-historical-result div { background: var(--hr-soft); border: 1px solid var(--hr-line); border-radius: 10px; display: grid; gap: 5px; padding: 11px 13px; }
.hr-historical-summary span, .hr-historical-result span { color: var(--hr-muted); font-size: 9px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.hr-historical-summary strong, .hr-historical-result strong { font: 750 18px/1.2 "Inter Tight", Inter, sans-serif; }
.hr-historical-table-wrap { border: 1px solid var(--hr-line); border-radius: 11px; max-height: 310px; overflow: auto; }
.hr-historical-table { border-collapse: collapse; min-width: 760px; width: 100%; }
.hr-historical-table th { background: var(--hr-soft); color: #778193; font-size: 9px; letter-spacing: .05em; padding: 9px 11px; position: sticky; text-align: left; text-transform: uppercase; top: 0; }
.hr-historical-table td { border-top: 1px solid var(--hr-line); font-size: 11px; padding: 10px 11px; vertical-align: middle; }
.hr-historical-table td > span:not(.hr-status), .hr-historical-table td > small { color: var(--hr-muted); display: block; font-size: 9px; margin-top: 2px; }
.hr-historical-empty { margin-top: 12px; }
.hr-historical-review-details { background: #fffaf0; border: 1px solid #efdbb6; border-radius: 11px; margin-top: 12px; padding: 0 13px; }
.hr-historical-review-details summary { color: #8a5a19; cursor: pointer; font-size: 11px; font-weight: 750; padding: 11px 0; }
.hr-historical-review-details > div { border-top: 1px solid #efdfc4; display: grid; gap: 8px; padding: 10px 0 12px; }
.hr-historical-review-details article { background: #fff; border-radius: 8px; display: grid; gap: 3px; padding: 9px 11px; }
.hr-historical-review-details article strong { font-size: 11px; }
.hr-historical-review-details article span { color: var(--hr-muted); font-size: 9px; text-transform: capitalize; }
.hr-historical-review-details article p { color: #6e532d; font-size: 10px; line-height: 1.4; margin: 2px 0 0; }
.hr-historical-minimum-details { background: #eef8f3; border: 1px solid #cbe4d8; border-radius: 11px; margin-top: 12px; padding: 0 13px; }
.hr-historical-minimum-details summary { color: var(--hr-green); cursor: pointer; font-size: 11px; font-weight: 750; padding: 11px 0; }
.hr-historical-minimum-details > div { border-top: 1px solid #d5e9df; display: grid; gap: 8px; padding: 10px 0 12px; }
.hr-historical-minimum-details article { background: #fff; border-radius: 8px; display: grid; gap: 3px; padding: 9px 11px; }
.hr-historical-minimum-details article strong { font-size: 11px; }
.hr-historical-minimum-details article span { color: var(--hr-green); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.hr-historical-minimum-details article p { color: #476557; font-size: 10px; line-height: 1.55; margin: 2px 0 0; text-transform: capitalize; }
.hr-history-months { border: 1px solid var(--hr-line); border-radius: 11px; margin-top: 12px; overflow: hidden; }
.hr-history-months div { align-items: center; border-bottom: 1px solid var(--hr-line); display: flex; font-size: 11px; justify-content: space-between; padding: 10px 13px; }
.hr-history-months div:last-child { border-bottom: 0; }
.hr-history-months span { color: var(--hr-muted); text-align: right; }
.hr-worker-strip { display: grid; gap: 8px; grid-template-columns: repeat(3, 1fr); margin-bottom: 20px; }
.hr-worker-strip div { background: var(--hr-soft); border-radius: 9px; display: grid; gap: 4px; padding: 11px 13px; }
.hr-worker-strip span { color: var(--hr-muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.hr-worker-strip strong { font-size: 12px; }
.hr-form-subgrid { background: var(--hr-soft); border-radius: 10px; margin-top: 13px; padding: 12px; }
.hr-variable-head { align-items: center; border-top: 1px dashed #d8dee7; display: flex; justify-content: space-between; margin-top: 16px; padding-top: 14px; }
.hr-variable-head > div { display: grid; gap: 2px; }
.hr-variable-head strong { font-size: 11px; }
.hr-variable-head span { color: var(--hr-muted); font-size: 9px; }
.hr-variable-head button { background: #fff; border: 1px solid #cfd8e3; border-radius: 8px; color: var(--hr-blue); cursor: pointer; font-size: 9px; font-weight: 750; padding: 7px 9px; }
.hr-variable-list { display: grid; gap: 8px; margin-top: 10px; }
.hr-variable-row { align-items: end; background: var(--hr-soft); border: 1px solid var(--hr-line); border-radius: 10px; display: grid; gap: 8px; grid-template-columns: .8fr .8fr 1.1fr 1.4fr .7fr 30px; padding: 9px; }
.hr-variable-row label { display: grid; gap: 4px; }
.hr-variable-row label > span { color: var(--hr-muted); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.hr-variable-row input, .hr-variable-row select { border: 1px solid #d8dee7; border-radius: 7px; box-sizing: border-box; font-size: 10px; min-height: 34px; padding: 6px 7px; width: 100%; }
.hr-variable-row > button { background: #fff; border: 1px solid #e1caca; border-radius: 7px; color: #a14b4b; cursor: pointer; font-size: 18px; height: 34px; }
.hr-export-result { padding: 22px 24px 0; }
.hr-export-summary { background: #eef8f3; border: 1px solid #cbe5d8; border-radius: 12px; display: grid; gap: 5px; padding: 16px; }
.hr-export-result.has-errors .hr-export-summary { background: #fff7e8; border-color: #efd7ab; }
.hr-export-summary strong { font-size: 14px; }
.hr-export-summary span, .hr-export-summary small { color: var(--hr-muted); font-size: 9px; overflow-wrap: anywhere; }
.hr-export-messages { background: #fff0f0; border: 1px solid #eac9c9; border-radius: 10px; color: #7e3939; margin-top: 12px; padding: 12px 15px; }
.hr-export-messages.is-warning { background: #fff8e9; border-color: #efd8ac; color: #7e5c27; }
.hr-export-messages strong { font-size: 10px; text-transform: uppercase; }
.hr-export-messages ul { font-size: 10px; line-height: 1.5; margin: 7px 0 0; padding-left: 18px; }
.hr-delivery-history { background: #fff; border: 1px solid var(--hr-line); border-radius: 10px; margin: 14px 24px 0; padding: 11px 13px; }
.hr-delivery-history summary { cursor: pointer; font-size: 10px; font-weight: 750; }
.hr-delivery-history div { border-top: 1px solid var(--hr-line); display: flex; font-size: 9px; justify-content: space-between; margin-top: 8px; padding-top: 8px; }
.hr-delivery-history span { color: var(--hr-muted); }

.hr-slip-preview { background: #e9edf2; max-height: calc(100vh - 190px); overflow: auto; padding: 22px; }
.hr-slip { background: #fff; box-shadow: 0 10px 35px rgba(30,43,61,.12); color: #202b40; font-family: Inter, Arial, sans-serif; margin: 0 auto; max-width: 900px; padding: 42px; }
.hr-slip-header { align-items: flex-start; border-bottom: 2px solid #1e314f; display: flex; justify-content: space-between; padding-bottom: 20px; }
.hr-slip-brand { color: #2f69a8; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hr-slip-header h1 { font: 800 28px/1.1 "Inter Tight", Inter, sans-serif; margin: 7px 0 5px; }
.hr-slip-header p { color: #697486; margin: 0; text-transform: capitalize; }
.hr-slip-folio { display: grid; gap: 3px; text-align: right; }
.hr-slip-folio span, .hr-slip-folio small { color: #7d8797; font-size: 9px; text-transform: uppercase; }
.hr-slip-folio strong { font-size: 12px; }
.hr-slip-parties { display: grid; gap: 32px; grid-template-columns: 1fr 1fr; padding: 24px 0; }
.hr-slip-parties > div > span { color: #2f69a8; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hr-slip-parties h2 { font: 750 15px/1.25 "Inter Tight", Inter, sans-serif; margin: 5px 0 12px; text-transform: uppercase; }
.hr-slip-parties dl { display: grid; font-size: 10px; grid-template-columns: 100px 1fr; margin: 0; row-gap: 6px; }
.hr-slip-parties dt { color: #778193; }
.hr-slip-parties dd { font-weight: 650; margin: 0; }
.hr-slip-attendance { background: #f2f6fa; border-radius: 9px; display: grid; grid-template-columns: repeat(5, 1fr); margin-bottom: 20px; }
.hr-slip-attendance div { border-right: 1px solid #dfe7ef; display: grid; gap: 4px; padding: 12px 14px; text-align: center; }
.hr-slip-attendance div:last-child { border: 0; }
.hr-slip-attendance span { color: #778193; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.hr-slip-attendance strong { font-size: 13px; }
.hr-slip-columns { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }
.hr-slip-box { border: 1px solid #dfe5ec; border-radius: 9px; overflow: hidden; }
.hr-slip-box h3 { background: #eaf2fb; color: #254d78; font-size: 11px; letter-spacing: .05em; margin: 0; padding: 10px 13px; text-transform: uppercase; }
.hr-slip-row, .hr-slip-subtotal, .hr-slip-total { align-items: center; border-bottom: 1px solid #edf0f4; display: flex; font-size: 10px; justify-content: space-between; min-height: 28px; padding: 5px 12px; }
.hr-slip-row span { display: grid; gap: 2px; }
.hr-slip-row small { color: #929aa7; font-size: 7px; }
.hr-slip-subtotal { background: #f7f8fa; font-weight: 700; }
.hr-slip-total { background: #edf2f7; border: 0; font-size: 11px; font-weight: 800; }
.hr-slip-bases { border: 1px solid #dfe5ec; border-radius: 9px; display: grid; grid-template-columns: repeat(4,1fr); margin-top: 16px; }
.hr-slip-bases div { border-right: 1px solid #e3e8ee; display: grid; gap: 4px; padding: 10px 12px; }
.hr-slip-bases div:last-child { border: 0; }
.hr-slip-bases span { color: #778193; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.hr-slip-bases strong { font-size: 10px; }
.hr-slip-net { align-items: center; background: #1e314f; border-radius: 9px; color: #fff; display: flex; justify-content: space-between; margin-top: 16px; padding: 14px 18px; }
.hr-slip-net span { font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.hr-slip-net strong { font: 800 22px/1 "Inter Tight", Inter, sans-serif; }
.hr-slip-employer { background: #f7f9fb; border-radius: 8px; margin-top: 12px; padding: 10px 12px; }
.hr-slip-employer summary { cursor: pointer; font-size: 9px; font-weight: 750; text-transform: uppercase; }
.hr-slip-employer .hr-slip-row, .hr-slip-employer .hr-slip-subtotal { padding-left: 0; padding-right: 0; }
.hr-slip-warnings { background: #fff8e9; border-left: 3px solid #d99c3f; font-size: 8px; line-height: 1.4; margin-top: 13px; padding: 9px 12px; }
.hr-slip-warnings ul { margin: 4px 0 0; padding-left: 15px; }
.hr-slip-variable { border: 1px solid #dfe5ec; border-radius: 8px; margin-top: 13px; padding: 11px 12px; }
.hr-slip-variable h3 { font-size: 10px; margin: 0 0 3px; text-transform: uppercase; }
.hr-slip-variable > p { color: #697486; font-size: 7px; margin: 0 0 8px; }
.hr-slip-variable table { border-collapse: collapse; font-size: 7px; width: 100%; }
.hr-slip-variable th, .hr-slip-variable td { border-top: 1px solid #e7ebf0; padding: 5px; text-align: left; }
.hr-slip-variable th { color: #697486; text-transform: uppercase; }
.hr-slip-footer { align-items: flex-end; border-top: 1px solid #dfe5ec; display: grid; gap: 35px; grid-template-columns: 1.4fr 1fr; margin-top: 24px; padding-top: 18px; }
.hr-slip-footer p { color: #626d7e; font-size: 8px; line-height: 1.5; margin: 0 0 30px; }
.hr-slip-footer > div:first-child > span { border-top: 1px solid #384354; display: block; font-size: 8px; padding-top: 5px; text-align: center; }
.hr-slip-verify { background: #f2f5f8; border-radius: 7px; display: grid; gap: 4px; padding: 12px; }
.hr-slip-verify span, .hr-slip-verify small { color: #7c8695; font-size: 7px; text-transform: uppercase; }
.hr-slip-verify strong { font-size: 10px; }
.hr-certificate-request-summary { background: #f4f7fa; border: 1px solid #e1e7ee; border-radius: 12px; display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); overflow: hidden; }
.hr-certificate-request-summary > div { background: #fff; display: grid; gap: 4px; padding: 16px; }
.hr-certificate-request-summary span { color: var(--hr-muted); font-size: 9px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.hr-certificate-request-summary strong { font-size: 13px; }
.hr-certificate-request-summary small { color: var(--hr-muted); font-size: 10px; }
.hr-certificate-preview { background: #e9edf2; max-height: calc(100vh - 190px); overflow: auto; padding: 24px; }
.hr-certificate { background: #fff; box-shadow: 0 12px 38px rgba(30,43,61,.13); color: #202b40; display: flex; flex-direction: column; font-family: Inter, Arial, sans-serif; margin: 0 auto; min-height: 960px; padding: 54px 62px 42px; width: min(800px, 100%); }
.hr-certificate-header { align-items: flex-start; border-bottom: 1px solid #dbe2ea; display: flex; justify-content: space-between; padding-bottom: 16px; }
.hr-certificate-header > div { display: grid; gap: 3px; }
.hr-certificate-header > div:last-child { text-align: right; }
.hr-certificate-header span { color: #1f3a5a; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.hr-certificate-header small { color: #798493; font-size: 9px; }
.hr-certificate-header strong { font-size: 10px; }
.hr-certificate-title { padding: 60px 0 45px; text-align: center; }
.hr-certificate-title p { color: #2f69a8; font-size: 9px; font-weight: 800; letter-spacing: .18em; margin: 0 0 10px; text-transform: uppercase; }
.hr-certificate-title h1 { color: #17263c; font: 800 34px/1.12 "Inter Tight", Inter, sans-serif; letter-spacing: -.02em; margin: 0 0 13px; text-transform: uppercase; }
.hr-certificate-title span { color: #697586; font-size: 11px; text-transform: capitalize; }
.hr-certificate-addressee { border-left: 3px solid #2f69a8; display: grid; gap: 3px; margin: 0 0 26px; padding: 7px 12px; }
.hr-certificate-addressee span { color: #7b8594; font-size: 8px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.hr-certificate-addressee strong { font-size: 11px; }
.hr-certificate-body { font-family: Georgia, "Times New Roman", serif; font-size: 14px; line-height: 1.85; text-align: justify; }
.hr-certificate-body p { margin: 0 0 20px; }
.hr-certificate-signature { display: flex; justify-content: flex-end; margin-top: auto; padding: 72px 18px 36px; }
.hr-certificate-signature > div { border-top: 1px solid #344052; display: grid; gap: 4px; min-width: 300px; padding-top: 9px; text-align: center; }
.hr-certificate-signature span { color: #7c8694; font-size: 8px; margin-top: -27px; padding-bottom: 18px; text-transform: uppercase; }
.hr-certificate-signature strong { font-size: 12px; text-transform: uppercase; }
.hr-certificate-signature small { color: #687386; font-size: 9px; }
.hr-certificate-footer { border-top: 1px solid #dfe5ec; color: #818b98; display: grid; font-size: 8px; gap: 4px; line-height: 1.4; padding-top: 12px; text-align: center; }

@media (max-width: 1050px) {
  .hr-period-metrics { grid-template-columns: repeat(2, 1fr); }
  .hr-settings-grid { grid-template-columns: 1fr; }
  .hr-compliance-grid { grid-template-columns: repeat(2,1fr); }
  .hr-third-party-sources { grid-template-columns: 1fr; }
  .hr-vacation-legal { grid-template-columns: repeat(2,1fr); }
  .hr-vacation-balance { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 720px) {
  .hr-module { padding-bottom: 24px; }
  .hr-hero { align-items: flex-start; flex-direction: column; gap: 20px; padding: 24px; }
  .hr-hero-badge { align-items: baseline; flex-direction: row; gap: 8px; min-width: 0; }
  .hr-kpis, .hr-third-party-kpis, .hr-vacation-kpis, .hr-license-channels, .hr-import-summary { grid-template-columns: 1fr; }
  .hr-tabs { overflow-x: auto; }
  .hr-section-head, .hr-period-title { align-items: stretch; flex-direction: column; gap: 14px; }
  .hr-head-actions { align-items: stretch; flex-direction: column; }
  .hr-inline-select { justify-content: space-between; }
  .hr-period-metrics, .hr-form-grid, .hr-form-grid-3, .hr-check-grid, .hr-worker-strip, .hr-historical-summary, .hr-historical-result, .hr-compliance-grid, .hr-variable-row { grid-template-columns: 1fr; }
  .hr-compliance-hero, .hr-blockers { align-items: stretch; flex-direction: column; }
  .hr-settings-card > .hr-card-head { gap: 10px; }
  .hr-settings-card > .hr-card-head > span { display: none; }
  .hr-affiliation-note { display: grid; }
  .hr-compliance-score { text-align: left; }
  .hr-modal-backdrop { padding: 0; }
  .hr-modal, .hr-modal-wide { border-radius: 0; min-height: 100vh; width: 100vw; }
  .hr-slip-preview { padding: 6px; }
  .hr-certificate-preview { padding: 6px; }
  .hr-certificate { min-height: 100vh; padding: 30px 22px; }
  .hr-certificate-request-summary { grid-template-columns: 1fr; }
  .hr-certificate-title { padding: 42px 0 32px; }
  .hr-certificate-title h1 { font-size: 27px; }
  .hr-certificate-signature > div { min-width: 240px; }
  .hr-slip { padding: 24px 18px; }
  .hr-slip-parties, .hr-slip-columns, .hr-slip-footer { grid-template-columns: 1fr; }
  .hr-slip-attendance, .hr-slip-bases { grid-template-columns: repeat(2, 1fr); }
  .hr-vacation-legal, .hr-vacation-balance { grid-template-columns: 1fr; }
  .hr-vacation-request-list article { align-items: flex-start; grid-template-columns: 1fr; }
}

@media print {
  .hr-slip { box-shadow: none; max-width: none; padding: 8mm 10mm; }
  .hr-slip-header h1 { font-size: 22px; }
  .hr-slip-warnings, .hr-slip-employer { break-inside: avoid; }
  .hr-certificate { box-shadow: none; height: 271mm; min-height: 271mm; padding: 14mm 16mm 10mm; width: auto; }
  .hr-certificate-title { padding: 20mm 0 14mm; }
  .hr-certificate-signature { break-inside: avoid; }
  @page { margin: 8mm; size: A4 portrait; }
}
