/* Asistencia — opciones, resumen y tabla semanal. */
@media(min-width:761px){
  .attendance-options{grid-template-columns:repeat(4,minmax(82px,1fr))!important;gap:6px!important}
  .attendance-options button{width:100%;min-width:0;min-height:36px!important;height:36px;padding:5px 7px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.1;font-size:9px!important}
  .attendance-row{grid-template-columns:minmax(150px,.9fr) minmax(350px,1.7fr) minmax(90px,.45fr) minmax(150px,.7fr)!important}
  .attendance-row.extraordinary-row{grid-template-columns:minmax(220px,1fr) 130px minmax(220px,1fr)!important}
  .attendance-row.extraordinary-row .extra-hours{width:auto;min-width:0}
}
@media(max-width:760px){.report-table-wrap{overflow:auto}}
.attendance-head-actions .attendance-weekly-button{display:grid;grid-template-columns:auto;gap:2px;min-height:54px!important;padding:9px 16px!important;border:1px solid #244d59!important;border-radius:10px!important;background:linear-gradient(145deg,#244d59,#173640)!important;color:#fff!important;text-align:left;box-shadow:0 5px 14px rgba(23,54,64,.16)}
.attendance-weekly-button span{font-size:10px;font-weight:900;letter-spacing:.02em}.attendance-weekly-button small{font-size:8px;font-weight:700;color:#d9bd83;text-transform:uppercase;letter-spacing:.08em}
.attendance-head-actions .attendance-people-button{min-height:54px!important;border:1px solid #c79a4d!important;border-radius:10px!important;background:#fffaf0!important;color:#694b1b!important;font-weight:900!important;padding:9px 16px!important}
.attendance-people-catalog{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;width:100%;min-width:0}.attendance-people-add.catalog-inline-add-v032{grid-area:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,190px);gap:10px;width:100%;min-width:0}.attendance-people-add input{box-sizing:border-box;width:100%;min-width:0}.attendance-people-list,.attendance-people-list.catalog-editable-list-v032{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;min-width:0}.attendance-person-row{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-width:0;border:1px solid #dbe2e0;border-radius:12px;padding:10px;background:#fff;box-shadow:0 3px 10px rgba(23,54,64,.06)}.attendance-person-row.inactive{opacity:.62}.attendance-person-row input{box-sizing:border-box;width:100%;min-width:0;height:40px}.attendance-person-actions{display:grid;grid-template-columns:repeat(3,88px);gap:8px;justify-content:end}.attendance-person-action{box-sizing:border-box;width:100%;min-width:0;min-height:40px;padding:7px 9px;border-radius:9px;font-size:9px;font-weight:900;letter-spacing:.01em}.attendance-person-action.save{border-color:#244d59;background:#244d59;color:#fff}.attendance-person-action.hide{border-color:#c79a4d;background:#fffaf0;color:#694b1b}.attendance-person-action.delete{border-color:#d9aaa5;background:#fff6f5;color:#9f342c}
@media(max-width:760px){.attendance-head-actions .attendance-weekly-button,.attendance-head-actions .attendance-people-button{width:100%;text-align:center}.attendance-people-add.catalog-inline-add-v032,.attendance-person-row{grid-template-columns:minmax(0,1fr)}.attendance-person-actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.attendance-person-row button{width:100%}}
.attendance-options .status-vacaciones{background:#7045a5!important;color:#fff!important;border-color:#7045a5!important}
.attendance-summary{grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%}
.extraordinary-check{min-width:0}.extraordinary-check>input[type="checkbox"]{box-sizing:border-box!important;flex:0 0 20px!important;width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;margin:0!important;padding:0!important}.extraordinary-check>span{min-width:0}.extraordinary-check strong{display:block;min-width:0;overflow-wrap:anywhere;line-height:1.2}
.attendance-autosave-status{margin-top:8px;padding:10px 12px;border:1px solid #d8e1df;border-radius:10px;background:#f8faf9;color:#607076;font-size:10px;font-weight:750;text-align:right}.attendance-row[data-autosave-state="saving"]{border-color:#bd9a5b}.attendance-row[data-autosave-state="saved"]{border-color:#8fb79d}.attendance-row[data-autosave-state="error"]{border-color:#c44b40}
.attendance-report-table-v03026 table{width:100%;table-layout:fixed}
.attendance-report-table-v03026 th,.attendance-report-table-v03026 td{width:16.666%;text-align:center;white-space:normal;overflow-wrap:anywhere}
.attendance-report-table-v03026 th:first-child,.attendance-report-table-v03026 td:first-child{text-align:left}
@media(max-width:760px){
  .attendance-head-actions{box-sizing:border-box;width:100%!important;min-width:0;max-width:100%}.attendance-head-actions>label,.attendance-head-actions>button{box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important}.attendance-head-actions>label>[data-attendance-date]{box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important;height:54px}
  .attendance-options{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .attendance-options button{font-size:8px!important;min-width:0;padding-inline:2px!important}
  .attendance-summary{display:flex!important;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .attendance-summary::-webkit-scrollbar{display:none}.attendance-summary span{flex:0 0 104px}
  .attendance-autosave-status{text-align:center;margin-bottom:calc(74px + env(safe-area-inset-bottom))}
}

/* Piloto.28: reporte legible por día para nómina. */
.attendance-report-section-title{margin:20px 0 8px;color:#173640;font-family:Georgia,serif;font-size:18px}
.attendance-report-note{margin:-2px 0 10px;color:#66777e;font-size:11px}
.attendance-daily-matrix{max-width:100%;overflow:auto;border:1px solid #dbe2e0;border-radius:12px}
.attendance-daily-matrix table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}
.attendance-daily-matrix th,.attendance-daily-matrix td{min-width:92px;padding:8px;border-right:1px solid #e4e9e7;border-bottom:1px solid #e4e9e7;text-align:center;vertical-align:middle}
.attendance-daily-matrix th:first-child{position:sticky;left:0;z-index:2;min-width:160px;background:#eef3f2;text-align:left}
.attendance-daily-matrix thead th{position:sticky;top:0;background:#eef3f2;color:#40565f;font-size:9px;text-transform:uppercase}
.attendance-daily-matrix td strong,.attendance-daily-matrix td small{display:block}.attendance-daily-matrix td small{margin-top:3px;font-size:8px}
.attendance-daily-matrix .status-presente{background:#eef8f2;color:#256348}.attendance-daily-matrix .status-falta{background:#fff0ee;color:#9f342c}.attendance-daily-matrix .status-permiso{background:#fff7e7;color:#8a5713}.attendance-daily-matrix .status-vacaciones{background:#f1eafb;color:#7045a5}.attendance-daily-matrix .status-empty{color:#96a2a7}
.attendance-report-summary table,.attendance-incidents table{width:100%;border-collapse:collapse}.attendance-report-summary th,.attendance-report-summary td,.attendance-incidents th,.attendance-incidents td{padding:9px;border-bottom:1px solid #e1e7e5;text-align:left}
@media(max-width:760px){.attendance-report-controls{grid-template-columns:1fr!important}.attendance-daily-matrix th:first-child{min-width:125px}.attendance-report-actions{display:grid;grid-template-columns:1fr 1fr}.attendance-report-actions a{text-align:center}}

.attendance-comment-field{display:grid;gap:4px;min-width:0}.attendance-comment-field span{font-size:11px;color:#53656c;font-weight:700}.attendance-comment-field input{width:100%}.attendance-report-comment{display:block;max-width:240px;white-space:normal;overflow-wrap:anywhere;color:#355060;font-weight:600}
.attendance-field-panel{margin:1.2rem 0;padding:1.25rem;background:#fff;border:1px solid #e3e8e9;border-radius:18px;color:#24313a}.attendance-field-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.attendance-field-heading span{font-size:.72rem;letter-spacing:.16em;color:#b27736;font-weight:800}.attendance-field-heading h3{margin:.3rem 0}.attendance-field-heading p{margin:.2rem 0 1rem;color:#65737b}.attendance-field-heading button{border:0;border-radius:11px;background:#102734;color:white;padding:.7rem 1rem;cursor:pointer}.attendance-field-events article{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #e7ecee;padding:.8rem 0}.attendance-field-events small{display:block;color:#65737b;margin-top:.25rem}.attendance-field-links{display:flex;gap:.8rem;white-space:nowrap}.attendance-field-links a{color:#ad6426;font-weight:700}@media(max-width:650px){.attendance-field-events article,.attendance-field-heading{flex-direction:column;align-items:stretch}}
.attendance-field-mapping{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap;background:#f3f6f5;border-radius:14px;padding:1rem;margin:.3rem 0 1rem}.attendance-field-mapping label{display:grid;gap:.25rem;font-size:.8rem;color:#52616b}.attendance-field-mapping select{min-width:180px;border:1px solid #cbd5d8;border-radius:9px;padding:.6rem;color:#24313a;background:white}.attendance-field-mapping button{border:0;border-radius:9px;background:#b66527;color:white;padding:.68rem .95rem;font-weight:700;cursor:pointer}
.attendance-field-current{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;color:#334953}.attendance-field-current button{border:1px solid #c9d5d8;border-radius:10px;background:#fff;color:#102734;padding:.55rem .8rem;font-weight:700;cursor:pointer}.attendance-field-empty{color:#65737b;margin:.65rem 0 1rem}.attendance-field-history{border-top:1px solid #e7ecee;margin-top:1rem;padding-top:1rem}.attendance-field-history summary{cursor:pointer;color:#102734;font-weight:800;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.7rem}.attendance-field-history summary::-webkit-details-marker{display:none}.attendance-field-history summary::before{content:'▸';color:#b27736;margin-right:.4rem}.attendance-field-history[open] summary::before{content:'▾'}.attendance-field-history summary span{font-size:.78rem;color:#65737b;font-weight:600}.attendance-field-history-list{display:grid;gap:.45rem;margin:1rem 0;max-height:360px;overflow:auto}.attendance-field-history-list button{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;text-align:left;border:1px solid #e0e7e8;border-radius:11px;background:#f8faf9;color:#24313a;padding:.7rem .85rem;cursor:pointer}.attendance-field-history-list button:hover,.attendance-field-history-list button.active{border-color:#b27736;background:#fff9f1}.attendance-field-history-list button span{color:#65737b;font-size:.82rem}.attendance-field-history-date{display:grid;gap:.35rem;max-width:220px;color:#52616b;font-size:.8rem;font-weight:700}.attendance-field-history-date input{border:1px solid #cbd5d8;border-radius:9px;padding:.6rem;color:#24313a;background:#fff}@media(max-width:650px){.attendance-field-history-list button{align-items:flex-start;flex-direction:column;gap:.25rem}.attendance-field-current{align-items:flex-start;flex-direction:column}}
.attendance-people-add.catalog-inline-add-v032{grid-template-columns:minmax(0,1fr) minmax(130px,175px) minmax(150px,190px)}.attendance-person-row{grid-template-columns:minmax(0,1fr) minmax(130px,175px) auto}.attendance-person-row select,.attendance-people-add select{box-sizing:border-box;min-width:0;width:100%;height:40px;padding:.5rem;border:1px solid #cbd5d8;border-radius:9px;background:#fff;color:#24313a}@media(max-width:760px){.attendance-people-add.catalog-inline-add-v032,.attendance-person-row{grid-template-columns:minmax(0,1fr)}}
