.attendanceRoot{display:grid;gap:16px}.attendanceToolbar,.attendancePanel{background:#fff;border:1px solid #d3dfdb;border-radius:16px}.attendanceToolbar{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.attendanceToolbar h3,.attendancePanel h3{margin:0;color:#0e2625}.attendanceToolbar p{margin:5px 0 0;color:#637773}.attendanceActions{display:flex;align-items:end;gap:10px}.attendanceActions label{display:grid;gap:5px;color:#657773;font-size:13px}.attendanceActions input{height:42px;border:1px solid #c8d8d3;border-radius:10px;padding:0 12px;color:#102b29;background:#fff}.attendanceImport{display:flex;justify-content:space-between;gap:15px;padding:12px 16px;border:1px solid #c8ddd6;border-radius:12px;background:#edf8f4;color:#31564e}.attendanceCounters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.attendanceCounter{background:#fff;border:1px solid #d3dfdb;border-left:5px solid #98aaa5;border-radius:14px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center}.attendanceCounter strong{font-size:28px}.attendanceCounter.present{border-left-color:#22a873}.attendanceCounter.left{border-left-color:#4e83c7}.attendanceCounter.absent{border-left-color:#d9a52a}.attendancePanel{overflow:hidden}.attendancePanelHead{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dbe5e2}.attendancePanelHead input{width:min(390px,45vw);height:40px;border:1px solid #c9d8d4;border-radius:10px;padding:0 12px}.attendanceRow{display:grid;grid-template-columns:minmax(250px,2fr) repeat(3,minmax(100px,1fr)) minmax(130px,1fr);gap:16px;align-items:center;padding:13px 18px;border-bottom:1px solid #e1e9e6}.attendanceRow:last-child{border-bottom:0}.attendanceHeader{background:#f3f7f6;color:#60736f;font-size:12px;font-weight:700;text-transform:uppercase}.attendancePerson{display:grid;gap:3px}.attendancePerson small{color:#6d7e7b}.attendanceStatus{width:max-content;padding:6px 10px;border-radius:999px;font-weight:700;font-size:12px}.attendanceStatus.present{color:#087a51;background:#e2f6ed}.attendanceStatus.left{color:#315f9b;background:#e8f0fb}.attendanceStatus.absent{color:#8a6508;background:#fff3d4}.attendanceEmpty{padding:36px;text-align:center;color:#697b77}.attendanceEmpty.error{color:#b43c3c}.navBtn[data-screen="attendance"]:before{content:"◷";font-size:18px}@media(max-width:900px){.attendanceToolbar,.attendanceImport{align-items:stretch;flex-direction:column}.attendanceCounters{grid-template-columns:1fr}.attendanceRow{grid-template-columns:1.7fr repeat(2,1fr)}.attendanceRow>:nth-child(4),.attendanceRow>:nth-child(5){display:none}.attendancePanelHead{align-items:stretch;flex-direction:column}.attendancePanelHead input{width:100%}}
.attendanceSchedulePlan{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.attendanceSchedulePlan span{padding:10px 12px;border:1px solid #d6e2df;border-radius:10px;background:#fff;color:#61736f;text-align:center;font-size:13px}.attendanceSchedulePlan strong{display:block;color:#173b36;margin-bottom:2px}.attendanceSchedule{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border:1px solid #cbdcd7;border-left:5px solid #1d8b72;border-radius:12px;background:#fff;color:#173b36}.attendanceSchedule span{color:#5d716d}.attendanceSchedule.active{border-left-color:#e08e2f;background:#fff7e8}.attendanceSchedule.soon{border-left-color:#d6a320;background:#fffbed}.attendanceSchedule.overtime{border-left-color:#7557c8;background:#f4f0ff}.attendanceSchedule.neutral{border-left-color:#829693;background:#f6f8f7}.attendanceSchedule.hidden{display:none}.attendanceRow{grid-template-columns:minmax(250px,2fr) repeat(4,minmax(115px,1fr)) minmax(130px,1fr)}
@media(max-width:900px){.attendanceSchedulePlan{grid-template-columns:repeat(2,minmax(0,1fr))}.attendanceSchedule{align-items:flex-start;flex-direction:column;gap:3px}.attendanceRow{grid-template-columns:1.7fr 1fr 1fr}.attendanceRow>:nth-child(2),.attendanceRow>:nth-child(3),.attendanceRow>:nth-child(4){display:none}.attendanceRow>:nth-child(5),.attendanceRow>:nth-child(6){display:block}}
.attendanceSchedulePlan{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:900px){.attendanceSchedulePlan{grid-template-columns:repeat(2,minmax(0,1fr))}}
