/* Compact spreadsheet styling; form controls and printed reports stay independent. */
@media screen{
 .workspace-ui .month-grid th{width:30px}
 .workspace-ui .month-grid thead th{height:48px;padding:4px 0;font-size:11px;vertical-align:middle}
 .workspace-ui .month-grid td{height:46px;font-size:12px}
 .workspace-ui .month-grid .employee-col{width:196px;min-width:196px;padding:4px 11px;background:var(--surface)}
 .workspace-ui .month-grid thead th.employee-col{background:var(--surface-soft);color:var(--text);font-size:12px}
 .workspace-ui .month-grid .workspace-person{display:block;min-width:0}
 .workspace-ui .month-grid .workspace-person>span{display:block;min-width:0}
 .workspace-ui .month-grid .employee-col strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.45}
 .workspace-ui .month-grid .employee-col small{display:block;overflow:hidden;margin-top:2px;font-size:10px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}
 .workspace-ui .month-grid .employee-col small:empty{display:none}
 .workspace-ui .month-grid .staff-role-tag{font-size:9px;padding:1px 4px}
 .workspace-ui .month-grid .attendance-day-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:38px;line-height:1.2;padding:2px 0}
 .workspace-ui .month-grid .attendance-day-number{color:var(--text);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
 .workspace-ui .month-grid .attendance-day-weekday{color:var(--muted);font-size:10px;font-weight:400}
 .workspace-ui .month-grid .summary-col,.workspace-ui .month-grid .total-col{width:64px;min-width:64px;font-size:12px;text-align:center;vertical-align:middle}
 .workspace-ui .month-grid thead .summary-col,.workspace-ui .month-grid thead .total-col{padding:5px 4px;font-size:11px;font-weight:600;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
 .workspace-ui .month-grid .symbol-count-caption{font-size:9px}
 .workspace-ui .month-grid td.total-col{background:var(--info-bg);color:var(--blue);font-weight:750;border-left:1px solid var(--border)}
 .workspace-ui .month-grid .day-cell{position:relative;--attendance-day-bg:var(--surface);background:var(--attendance-day-bg);color:var(--text)}
 .workspace-ui .month-grid .sunday{--attendance-day-bg:color-mix(in srgb,var(--red-bg) 65%,var(--surface));background:var(--attendance-day-bg)}
 .workspace-ui .month-grid .holiday-day{--attendance-day-bg:var(--red-bg);background:var(--attendance-day-bg)}
 .workspace-ui .month-grid .makeup-day{--attendance-day-bg:var(--green-bg);background:var(--attendance-day-bg)}
 .workspace-ui .month-grid .proposed-day{--attendance-day-bg:var(--yellow-bg);background:var(--attendance-day-bg)}
 .workspace-ui .month-grid .sunday .attendance-day-number,.workspace-ui .month-grid .sunday .attendance-day-weekday,.workspace-ui .month-grid .holiday-day .attendance-day-number,.workspace-ui .month-grid .holiday-day .attendance-day-weekday{color:var(--red-text)}
 .workspace-ui .month-grid .makeup-day .attendance-day-number,.workspace-ui .month-grid .makeup-day .attendance-day-weekday{color:var(--green-text)}
 .workspace-ui .month-grid .workspace-today .attendance-day-number,.workspace-ui .month-grid .workspace-today .attendance-day-weekday{color:var(--blue)}
 .workspace-ui .month-grid thead th.workspace-today{background:var(--info-bg);box-shadow:inset 0 3px 0 var(--blue)}
 .workspace-ui .month-grid .day-cell.marked[style*="--attendance-cell-color"]{background:color-mix(in srgb,var(--attendance-cell-color) 12%,var(--attendance-day-bg));color:color-mix(in srgb,var(--attendance-cell-color) 55%,#10202e)}
 html[data-theme=dark] .workspace-ui .month-grid .day-cell.marked[style*="--attendance-cell-color"]{background:color-mix(in srgb,var(--attendance-cell-color) 20%,var(--attendance-day-bg));color:color-mix(in srgb,var(--attendance-cell-color) 45%,#fff)}
 .workspace-ui .month-grid .day-cell button{display:grid;place-items:center;width:100%;min-width:0;height:45px;min-height:45px;padding:0;border:0;background:transparent;color:inherit;border-radius:0}
 .workspace-ui .month-grid .day-cell button:hover{background:transparent;outline:1px solid var(--blue);outline-offset:-1px}
 .workspace-ui .month-grid .day-cell button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
 .workspace-ui .month-grid .day-cell .workspace-cell-code{min-width:0;max-width:100%;height:auto;padding:0;border:0;border-radius:0;background:transparent!important;color:inherit!important;font-size:13px;font-weight:650;line-height:1.4}
 .workspace-ui .month-grid .day-cell::after{position:absolute;inset:0;background:transparent;pointer-events:none;content:''}
 .workspace-ui .month-grid .is-hover-row .day-cell::after,.workspace-ui .month-grid .day-cell.is-hover-column::after{background:color-mix(in srgb,var(--blue) 5%,transparent)}
 .workspace-ui .month-grid .is-hover-row .day-cell.is-hover-column::after{background:color-mix(in srgb,var(--blue) 9%,transparent)}
 .workspace-ui .month-grid th.is-hover-column{box-shadow:inset 0 -2px 0 var(--blue)}
 .workspace-ui .month-grid .is-hover-row .employee-col{background:var(--info-bg);box-shadow:inset 3px 0 0 var(--blue)}
 .workspace-ui .month-grid td.contribution-highlight{background:color-mix(in srgb,var(--blue) 15%,var(--surface));box-shadow:inset 0 0 0 2px var(--blue)}
 .workspace-ui .month-grid .attendance-totals th,.workspace-ui .month-grid .attendance-totals td{height:42px;padding:8px;font-size:12px}
 .workspace-ui .month-grid .attendance-totals small{font-size:10px}
}
@media screen and (max-width:900px){
 .workspace-ui .month-grid .employee-col{width:158px;min-width:158px;padding:6px 8px}
 .workspace-ui .month-grid td{height:52px}
 .workspace-ui .month-grid .day-cell button{min-width:44px;min-height:52px;height:52px}
 .workspace-ui .month-grid .employee-col strong{font-size:12px}
}
@media screen and (min-width:901px){
 .workspace-ui.attendance-focus .month-grid td{height:40px}
 .workspace-ui.attendance-focus .month-grid .employee-col{padding:3px 9px}
 .workspace-ui.attendance-focus .month-grid .employee-col strong{font-size:12px}
 .workspace-ui.attendance-focus .month-grid .employee-col small{line-height:1.3}
 .workspace-ui.attendance-focus .month-grid .day-cell button{height:39px;min-height:39px}
 .workspace-ui.attendance-focus .month-grid .attendance-day-heading{min-height:34px}
 .workspace-ui.attendance-focus .month-grid .day-cell .workspace-cell-code{font-size:11px}
}

/* Compact footer below the attendance grid. */
@media screen{
 .workspace-ui #pagination{min-height:0;padding:6px 12px;gap:6px 12px;font-size:12px;line-height:1.35}
 .workspace-ui #pagination .tools{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
 .workspace-ui #pagination label{gap:6px;font-size:12px;white-space:nowrap}
 .workspace-ui #pagination select{width:auto;min-height:30px;height:30px;padding:3px 24px 3px 8px;font-size:12px;line-height:1.2;border-radius:6px}
 .workspace-ui #pagination button{width:30px;min-width:30px;height:30px;min-height:30px;padding:0;font-size:16px;border-radius:6px;line-height:1}
 .workspace-ui #pagination .tools>span{min-width:36px;text-align:center;white-space:nowrap}
}
@media screen and (max-width:760px){
 .workspace-ui #pagination{padding:6px 10px;gap:4px;font-size:11px}
 .workspace-ui #pagination .tools{justify-content:flex-end;width:100%;gap:6px}
 .workspace-ui #pagination label{margin-right:auto;font-size:11px}
 .workspace-ui #pagination button,.workspace-ui #pagination select{height:36px;min-height:36px}
 .workspace-ui #pagination button{width:36px;min-width:36px}
 .workspace-ui #pagination select{font-size:16px}
}

@media screen{
 .workspace-ui .month-grid .employee-col small.attendance-person-meta{display:flex;align-items:center;gap:4px;margin-top:1px;font-size:9px;line-height:1.25}
 .workspace-ui .month-grid .employee-col small.attendance-person-meta:empty{display:none}
 .workspace-ui .month-grid .attendance-person-meta .staff-role-tag{flex-shrink:0;max-width:85px;overflow:hidden;text-overflow:ellipsis;padding:1px 3px;border-radius:3px;font-size:8px;line-height:1.3}
 .workspace-ui .month-grid .attendance-person-certificate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:400;color:var(--muted)}
}
