.attendance-report-scroll { border: 1px solid var(--line); border-radius: 12px; background: #fff; margin: 16px 0; overflow-x: auto; }
.attendance-report-table { width: 100%; min-width: 1060px; border-collapse: separate; border-spacing: 0; font-size: 14px; }
.attendance-report-table th, .attendance-report-table td { padding: 15px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); line-height: 1.5; }
.attendance-report-table thead th { background: #e7eee9; color: var(--ink); font-weight: 650; }
.attendance-report-table thead a { color: inherit; display: inline-flex; align-items: baseline; gap: 6px; text-decoration: none; }
.attendance-report-table thead a:hover { text-decoration: underline; }
.attendance-report-table .sort-indicator { color: var(--green); white-space: nowrap; }
.attendance-report-table tbody tr:nth-child(even) { background: #f3f6f3; }
.attendance-report-table tbody tr:hover, .attendance-report-table tbody tr:focus-within { background: #e8f2ec; }
.attendance-report-table tbody tr:last-child > * { border-bottom: 0; }
.attendance-report-table .numeric { text-align: right; font-variant-numeric: tabular-nums; }
.attendance-report-table .person-name { min-width: 165px; font-weight: 600; }
.attendance-report-table .account-code, .attendance-report-table .report-date { white-space: nowrap; }
.attendance-report-table .account-code { color: var(--muted); font-variant-numeric: tabular-nums; }
.attendance-report-table small { display: block; margin-top: 4px; font-size: 12px; color: var(--muted); font-weight: 400; }
.attendance-report-table .report-empty { padding: 28px; text-align: center; color: var(--muted); }
.attendance-report-table a:focus-visible, .attendance-report-scroll:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
