
/* Etapas 3 y 4 — horarios, asistencia mensual y tasas AFP */
.s34-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;margin-top:14px}
.s34-week{display:grid;gap:7px;margin-top:10px}
.s34-day{display:grid;grid-template-columns:110px 86px 1fr 1fr 120px;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.s34-day strong{font-size:10.5px;color:var(--navy)}.s34-day label{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--muted)}
.s34-day input[type=time],.s34-day input[type=number]{min-width:0}
.s34-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 12px}
.s34-kpi{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--soft)}
.s34-kpi span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.35px;color:var(--muted)}
.s34-kpi strong{display:block;margin-top:3px;font-size:15px;color:var(--navy)}
.s34-summary-note{font-size:9.5px;color:var(--muted);line-height:1.45}
.s34-schedule-status{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0}
.s34-pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:8.5px;font-weight:800;background:var(--soft);color:var(--navy)}
.s34-month-toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.s34-month-toolbar .field{min-width:150px}
.s34-table-note{font-size:8.5px;color:var(--muted)}
.s34-afp-table td,.s34-afp-table th{white-space:nowrap}
.s34-afp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.s34-afp-source{font-size:9px;color:var(--muted);margin-top:4px}
.s34-day-status{font-size:8.5px;font-weight:800}.s34-day-status.ok{color:#28724a}.s34-day-status.warn{color:#9a6b17}
.s34-history-row{font-size:9px;color:var(--muted);line-height:1.5}
.s34-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(max-width:980px){.s34-grid{grid-template-columns:1fr}.s34-day{grid-template-columns:1fr 1fr}.s34-day strong{grid-column:1/-1}.s34-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.s34-day{grid-template-columns:1fr}.s34-kpis{grid-template-columns:1fr}}
