.call-footer{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.call-footer>p{line-height:1.5}.call-footer button{min-height:44px}
.call-status{min-width:150px}.call-status select,.call-save{min-height:44px}
.call-status textarea{margin-top:8px;min-height:70px}
.call-error{color:var(--danger);font-size:.85rem;max-width:32ch;white-space:normal}
.call-name{font-weight:800;min-width:180px;overflow-wrap:anywhere}
.attendance-table td:nth-child(2){min-width:125px;font-weight:400}
.attendance-table td:nth-child(8){min-width:140px;white-space:normal}
.attendance-table td:last-child{min-width:125px}
.call-time{font-variant-numeric:tabular-nums;font-size:.85rem}
.pill.Pendente{background:var(--soft);color:var(--muted)}
button:disabled{cursor:not-allowed;opacity:.6}
.call-save:focus-visible,#finalizeCall:focus-visible,dialog button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
#recordsNotice:not([hidden]){padding:12px;background:var(--soft);border-radius:6px;line-height:1.5}
dialog{width:min(480px,calc(100% - 32px));padding:24px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface)}
dialog::backdrop{background:rgba(29,39,51,.45)}dialog p{line-height:1.5}
.attendance-card .call-status{margin:12px 0}.attendance-card .call-save{width:100%}
@media(max-width:767px){.call-footer button{width:100%;min-height:48px}.call-status select{min-height:48px}dialog .report-actions{display:grid}dialog button{min-height:48px}}

/* Keep the row action visible when the complete roster needs horizontal scrolling. */
.shell{width:min(1440px,calc(100% - 32px));min-width:0}
.hero{grid-template-columns:minmax(0,1fr) 440px}
.summary-card span{overflow-wrap:normal;white-space:nowrap}
.summary-grid{min-width:0}
.records-panel,.attendance-table{min-width:0}
.attendance-table table{width:100%;min-width:1120px;table-layout:fixed}
.attendance-table th,.attendance-table td{padding:10px;vertical-align:top;overflow-wrap:break-word}
.attendance-table th:nth-child(1){width:17%}
.attendance-table th:nth-child(2){width:136px}
.attendance-table th:nth-child(3){width:70px}
.attendance-table th:nth-child(4){width:11%}
.attendance-table th:nth-child(5){width:10%}
.attendance-table th:nth-child(6){width:9%}
.attendance-table th:nth-child(7){width:156px}
.attendance-table th:nth-child(8){width:126px}
.attendance-table th:nth-child(9){width:94px}
.attendance-table .call-name{min-width:0;line-height:1.45}
.attendance-table td:nth-child(2){min-width:0;white-space:nowrap;font-size:.875rem;font-variant-numeric:tabular-nums}
.attendance-table td:nth-child(8){min-width:0;line-height:1.5}
.attendance-table .call-status{min-width:0}
.attendance-table .call-status select,.attendance-table .call-status textarea{width:100%;min-width:0}
.attendance-table tbody td:last-child{position:sticky;right:0;z-index:2;min-width:0;background:var(--surface);border-left:1px solid var(--line)}
.attendance-table thead th:last-child{position:sticky;right:0;z-index:4;border-left:1px solid var(--line)}
.attendance-table .call-save{width:100%;padding:0 10px;font-size:.875rem}
.attendance-table tbody tr:focus-within td{background:var(--soft)}
.report-actions{align-items:center}
@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr)}.summary-grid{width:min(100%,520px)}}
@media(max-width:560px){.shell{width:calc(100% - 20px)}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.summary-card{padding:10px}.summary-card span{font-size:.75rem}}
@media print{.attendance-table table{min-width:0;table-layout:auto}.attendance-table tbody td:last-child,.attendance-table thead th:last-child{position:static}}
