/* RH.Me v1.1.2 - férias no padrão visual do holerite + rodapé responsivo */
html,body{min-height:100%}
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
body>.site-footer{margin-top:auto}
.site-footer-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px 36px}
.site-footer-inner>div{min-width:0;line-height:1.55}
.site-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 22px}
.site-footer nav a{white-space:nowrap}

/* Formulário de férias agora reutiliza a estrutura visual Struckel do holerite. */
.vacation-form-page .form-section{margin-bottom:28px}
.vac-help,.vac-derived-note{margin-top:6px;color:var(--muted);font-size:.72rem;line-height:1.45}
.vac-check{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:var(--paper);border:1px solid var(--line);min-height:100%}
.vac-check input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px!important;flex:0 0 18px;margin:2px 0 0;padding:0;accent-color:var(--blue)}
.vac-check label{margin:0;font-size:.78rem;line-height:1.5;font-weight:500}
.vac-check label strong{display:block;margin-bottom:2px;font-size:.8rem;color:var(--ink)}
.vac-deadline-ack{border-left:4px solid #d29400;background:#fff8e5}
.vac-deadline-ack label{font-size:.8rem}
.vac-field input[data-derived="1"]{background:#f7fbfd}

/* Prévia: mesma lógica A4 do holerite. */
.vacation-report-document{background:#e9e8e4;padding:28px 16px 54px}
.vacation-document-sheet{padding-bottom:38mm}
.vacation-preview-header .document-title-block>strong{max-width:58mm}
.vacation-employee-identification{grid-template-columns:2.3fr 1.4fr 1fr 1.2fr}
.vacation-document-content{padding-top:4mm}
.vac-doc-intro,.vac-doc-copy,.vac-receipt-declaration{font-size:7.5pt;line-height:1.6;color:var(--ink2);margin:4mm 0 0}
.vac-period-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:5mm}
.vac-period-table th{font-size:6.4pt;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);text-align:left;padding:2.4mm 2mm;border-bottom:1.2px solid var(--ink)}
.vac-period-table td{font-size:8pt;font-weight:700;padding:4mm 2mm;border-bottom:1px solid #eceae4}
.vac-base-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:3mm 0 5mm;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vac-base-grid>div{padding:3.2mm 3mm;border-right:1px solid #eceae4}.vac-base-grid>div:last-child{border-right:0}
.vac-base-grid span{display:block;font-size:6.1pt;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.vac-base-grid strong{display:block;font-size:8.2pt;margin-top:1.4mm}
.vacation-payroll-table{margin-top:2mm}.vacation-summary-table{margin-top:5mm}
.vac-signatures{display:grid;gap:12mm;align-items:start}.vac-signatures.two-cols{grid-template-columns:1fr 1fr}.vac-signatures.one-col-right{grid-template-columns:1fr 1fr}.vac-signatures.one-col-right>div{grid-column:2}
.vac-signatures .signature-line{display:block;border-bottom:1px solid var(--ink);height:12mm}.vac-signatures strong{display:block;text-align:center;font-size:7.6pt;margin-top:2mm}.vac-signatures em{display:block;text-align:center;font-size:6.6pt;color:var(--muted);font-style:normal;margin-top:.7mm}
.vac-receipt-date{font-size:7pt;margin-bottom:5mm}.vac-legal-note{margin-top:7mm;padding:3mm 4mm;border:1px solid var(--line);font-size:6.4pt;line-height:1.4;color:var(--ink2)}
.vacation-preview-warning{margin:0 auto 18px;max-width:210mm;background:#fff8e5;border-left:4px solid #d29400;padding:12px 14px;font-size:.78rem;line-height:1.5}

@media(max-width:900px){
  .site-footer-inner{grid-template-columns:1fr}.site-footer nav{justify-content:flex-start}
  .vacation-employee-identification{grid-template-columns:1fr 1fr}
  .vac-base-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .site-footer nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px 18px}
  .site-footer nav a{white-space:normal}
  .vac-check{padding:12px}
  .vac-base-grid{grid-template-columns:1fr}
  .vac-base-grid>div{border-right:0;border-bottom:1px solid #eceae4}.vac-base-grid>div:last-child{border-bottom:0}
}
@media print{
  body{display:block!important;min-height:0!important}
  .vacation-report-document{padding:0!important;background:#fff!important}
  .vacation-preview-warning{display:none!important}
  .vacation-document-sheet{width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;margin:0!important;padding:11mm 14mm 29mm!important;box-shadow:none!important;overflow:hidden!important;page-break-after:always!important;break-after:page!important}
  .vacation-document-sheet:last-child{page-break-after:auto!important;break-after:auto!important}
}
