.login-page{background:#f3f4f6;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border-radius:12px;width:100%;max-width:430px;padding:40px;box-shadow:0 10px 30px #00000014}.login-header{text-align:center;margin-bottom:32px}.login-header h1{color:#1f2937;margin:0;font-size:28px;font-weight:700}.login-header h1 span{color:#2563eb;display:block}.login-header p{color:#6b7280;margin-top:10px;font-size:15px}.login-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#374151;font-size:14px;font-weight:600}.form-group input{border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:12px 14px;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.form-group input::placeholder{color:#9ca3af}.login-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;width:100%;margin-top:4px;padding:13px;font-size:15px;font-weight:600;transition:background .2s,transform .1s}.login-button:hover:not(:disabled){background:#1d4ed8}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:12px;font-size:14px}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:45px}.password-toggle-button{cursor:pointer;opacity:.65;background:0 0;border:none;padding:0;font-size:18px;transition:opacity .2s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-toggle-button:hover{opacity:1}.construction-sites-page{background-color:#f5f6f8;min-height:100vh;padding:40px 20px}.construction-sites-container{width:100%;max-width:1000px;margin:0 auto}.construction-sites-header{justify-content:space-between;align-items:flex-start;margin-bottom:32px;display:flex}.header-content h1{color:#1f2937;margin:0 0 8px;font-size:32px}.header-content p{color:#6b7280;margin:0;font-size:15px}.add-site-button{color:#fff;cursor:pointer;white-space:nowrap;background-color:#2563eb;border:none;border-radius:8px;padding:12px 18px;font-size:14px;font-weight:600;transition:background-color .2s,transform .2s}.add-site-button:hover{background-color:#1d4ed8;transform:translateY(-1px)}.add-site-button:active{transform:translateY(0)}.filter-section{gap:8px;margin-bottom:20px;display:flex}.filter-button{color:#667085;cursor:pointer;background-color:#fff;border:1px solid #d9dee8;border-radius:8px;padding:8px 16px;font-size:14px;transition:all .2s}.filter-button.active{color:#2f61c4;background-color:#eaf1ff;border-color:#3b6dcc;font-weight:600}.construction-sites-list{flex-direction:column;gap:14px;display:flex}.construction-site-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:16px;padding:20px;transition:box-shadow .2s,transform .2s;display:flex;position:relative}.construction-site-card:has(.site-menu){z-index:20}.construction-site-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.site-icon{background-color:#eff6ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.site-info{flex:1;min-width:0}.site-info h3{color:#1f2937;margin:0 0 5px;font-size:17px}.site-info p{color:#9ca3af;margin:0;font-size:13px}.site-actions{align-items:center;gap:12px;display:flex}.site-menu-container{position:relative}.site-menu-button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;font-size:22px;line-height:1;display:flex}.site-menu-button:hover{color:#1e293b;background-color:#f1f5f9}.site-menu{z-index:100;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:140px;padding:6px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 20px #0000001f}.site-menu button{color:#334155;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;padding:9px 12px;font-size:14px}.site-menu button:hover{background-color:#f1f5f9}.delete-site-button{color:#dc2626!important}.delete-site-button:hover{background-color:#fef2f2!important}.site-arrow{color:#9ca3af;font-size:22px}.empty-state{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:12px;padding:70px 20px}.empty-state-icon{margin-bottom:16px;font-size:42px}.empty-state h2{color:#374151;margin:0 0 8px;font-size:20px}.empty-state p{color:#6b7280;margin:0}.modal-overlay{z-index:1000;background-color:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background-color:#fff;border-radius:14px;width:100%;max-width:460px;padding:24px;box-shadow:0 20px 50px #0f172a33}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h2{color:#1f2937;margin:0;font-size:22px}.modal-close-button{color:#667085;cursor:pointer;background-color:#0000;border:none;border-radius:8px;width:32px;height:32px;font-size:24px;line-height:1}.modal-close-button:hover{color:#344054;background-color:#f2f4f7}.modal .form-group{flex-direction:column;gap:8px;display:flex}.modal .form-group label{color:#344054;font-size:14px;font-weight:600}.modal .form-group input{box-sizing:border-box;border:1px solid #d0d5dd;border-radius:8px;outline:none;width:100%;padding:11px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.modal .form-group input:focus{border-color:#3b6dcc;box-shadow:0 0 0 3px #3b6dcc1f}.modal-error{color:#b42318;background-color:#fef3f2;border-radius:8px;margin-top:16px;padding:10px 12px;font-size:14px}.modal-actions{justify-content:flex-end;gap:12px;margin-top:28px;display:flex}.cancel-button,.save-button{cursor:pointer;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s}.cancel-button{color:#344054;background-color:#fff;border:1px solid #d0d5dd}.cancel-button:hover{background-color:#f9fafb}.save-button{color:#fff;background-color:#3b6dcc;border:1px solid #3b6dcc}.save-button:hover{background-color:#2f5db3}.cancel-button:disabled,.save-button:disabled,.modal-close-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=600px){.construction-sites-page{padding:25px 15px}.construction-sites-header{flex-direction:column;align-items:stretch;gap:20px}.add-site-button,.filter-section{width:100%}.filter-button{flex:1}.construction-site-card{gap:12px;padding:16px}.site-info p{display:none}.site-actions{gap:6px}.site-arrow{display:none}.status-badge{padding:6px 8px}}.delete-site-warning-overlay{z-index:2000;background-color:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.delete-site-warning-modal{text-align:center;background-color:#fff;border:1px solid #fecaca;border-radius:12px;width:100%;max-width:430px;padding:28px;box-shadow:0 20px 40px #0f172a26}.delete-site-warning-icon{color:#dc2626;background-color:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin:0 auto 14px;font-size:22px;display:flex}.delete-site-warning-modal h2{color:#1f2937;margin:0 0 10px;font-size:20px}.delete-site-warning-modal p{color:#667085;margin:0;font-size:14px;line-height:1.6}.delete-site-warning-button{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;margin-top:22px;padding:9px 20px;font-size:13px;font-weight:600}.construction-site-details-page{background-color:#f5f6f8;min-height:100vh;padding:40px 20px}.construction-site-details-container{width:100%;max-width:1000px;margin:0 auto}.site-details-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:36px;display:flex}.site-details-title{align-items:center;gap:16px;display:flex}.site-details-icon{background-color:#eff6ff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;display:flex}.site-details-header h1{color:#1f2937;margin:0 0 6px;font-size:30px}.site-details-header p{color:#9ca3af;margin:0;font-size:14px}.site-details-header-actions{align-items:center;gap:12px;display:flex}.add-team-button{color:#fff;cursor:pointer;white-space:nowrap;background-color:#2563eb;border:none;border-radius:8px;padding:11px 16px;font-size:14px;font-weight:600;transition:background-color .2s,transform .2s}.add-team-button:hover{background-color:#1d4ed8;transform:translateY(-1px)}.teams-section{margin-top:10px}.section-header{margin-bottom:16px}.teams-empty-state{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:12px;padding:55px 20px}.teams-empty-icon{margin-bottom:14px;font-size:38px}.teams-empty-state h3{color:#374151;margin:0 0 7px;font-size:18px}.teams-empty-state p{color:#6b7280;margin:0 0 20px;font-size:14px}.empty-state-add-team-button{color:#344054;cursor:pointer;background-color:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:9px 15px;font-size:14px;font-weight:600}.empty-state-add-team-button:hover{background-color:#f9fafb}.attendance-section{border-top:1px solid #e5e7eb;margin-top:40px;padding-top:24px}.attendance-section-header{margin-bottom:14px}.attendance-section-header h2{color:#1f2937;margin:0 0 4px;font-size:18px}.attendance-section-header p{color:#667085;margin:0;font-size:13px}.attendance-actions{background-color:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;align-items:stretch;gap:10px;padding:6px;display:flex}.attendance-action-button{color:#344054;cursor:pointer;background-color:#0000;border:1px solid #0000;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 16px;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:flex}.attendance-action-button:hover{background-color:#fff;border-color:#d0d5dd}.attendance-action-button.primary{color:#fff;background-color:#2563eb}.attendance-action-button.primary:hover{background-color:#1d4ed8;border-color:#1d4ed8}.attendance-action-icon{font-size:15px;line-height:1}.attendance-action-label{white-space:nowrap}@media (width<=800px){.attendance-actions{flex-direction:column}.attendance-action-button{justify-content:flex-start}}@media (width<=650px){.construction-site-details-page{padding:25px 15px}.site-details-header{flex-direction:column;align-items:flex-start}.site-details-header-actions{justify-content:space-between;width:100%}.add-team-button{flex:1}.attendance-section{justify-content:stretch}.attendance-button{width:100%}}.teams-message{text-align:center;color:#6b7280;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:30px}.teams-error{color:#dc2626}.teams-list{flex-direction:column;gap:12px;display:flex}.team-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:14px;padding:18px 20px;transition:box-shadow .2s,transform .2s;display:flex;position:relative}.team-card:has(.team-menu){z-index:20}.team-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px #00000012}.team-icon{background-color:#f5f3ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:21px;display:flex}.team-info{flex:1}.team-info h3{color:#1f2937;margin:0 0 4px;font-size:16px}.team-info p{color:#9ca3af;margin:0;font-size:13px}.team-status{border-radius:20px;align-items:center;gap:7px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.team-status.active{color:#047857;background-color:#ecfdf5}.team-status.passive{color:#b91c1c;background-color:#fef2f2}.team-actions{align-items:center;gap:10px;display:flex}.team-menu-container{position:relative}.team-menu-button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;font-size:22px;line-height:1;display:flex}.team-menu-button:hover{color:#1e293b;background-color:#f1f5f9}.team-menu{z-index:100;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:130px;padding:6px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 20px #0000001f}.team-menu button{color:#334155;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;padding:9px 12px;font-size:14px}.team-menu button:hover{background-color:#f1f5f9}.delete-team-button{color:#dc2626!important}.delete-team-button:hover{background-color:#fef2f2!important}.attendance-actions{justify-content:flex-end;gap:10px;display:flex}.uncalculated-attendance-button{color:#344054;cursor:pointer;background-color:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:11px 17px;font-size:14px;font-weight:600}.uncalculated-attendance-button:hover{background-color:#f8fafc}.attendance-history-button{color:#344054;cursor:pointer;background-color:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:11px 17px;font-size:14px;font-weight:600}.attendance-history-button:hover{background-color:#f8fafc}.delete-team-warning-overlay{z-index:2000;background-color:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.delete-team-warning-modal{text-align:center;background-color:#fff;border:1px solid #fecaca;border-radius:12px;width:100%;max-width:430px;padding:28px;box-shadow:0 20px 40px #0f172a26}.delete-team-warning-icon{color:#dc2626;background-color:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin:0 auto 14px;font-size:22px;display:flex}.delete-team-warning-modal h2{color:#1f2937;margin:0 0 10px;font-size:20px}.delete-team-warning-modal p{color:#667085;margin:0;font-size:14px;line-height:1.6}.delete-team-warning-button{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;margin-top:22px;padding:9px 20px;font-size:13px;font-weight:600}.delete-team-warning-button:hover{background-color:#1d4ed8}.attendance-warning-button{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;margin-top:22px;padding:9px 20px;font-size:13px;font-weight:600}.team-members-page{background-color:#f5f6f8;min-height:100vh;padding:40px 20px}.team-members-container{width:100%;max-width:1000px;margin:0 auto}.back-button{color:#2563eb;cursor:pointer;background:0 0;border:none;margin-bottom:24px;padding:0;font-size:14px;font-weight:600}.back-button:hover{text-decoration:underline}.team-details-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:36px;display:flex}.team-details-title{align-items:center;gap:16px;display:flex}.team-details-icon{background-color:#f5f3ff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;display:flex}.team-details-header h1{color:#1f2937;margin:0 0 6px;font-size:30px}.team-details-header p{color:#9ca3af;margin:0;font-size:14px}.status-badge{border-radius:20px;align-items:center;gap:7px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.status-badge.active{color:#047857;background-color:#ecfdf5}.status-badge.passive{color:#b91c1c;background-color:#fef2f2}.status-dot{background-color:currentColor;border-radius:50%;width:7px;height:7px}.section-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.section-header h2{color:#1f2937;margin:0 0 5px;font-size:22px}.section-header p{color:#6b7280;margin:0;font-size:14px}.member-count{color:#2563eb;white-space:nowrap;background-color:#eff6ff;border-radius:20px;padding:7px 12px;font-size:13px;font-weight:600}.members-list{flex-direction:column;gap:12px;display:flex}.member-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:16px;padding:18px 20px;transition:box-shadow .2s,transform .2s;display:flex;position:relative}.member-card:has(.member-menu){z-index:20}.member-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px #00000012}.member-card.clickable{cursor:pointer}.member-avatar{color:#2563eb;background-color:#eff6ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:17px;font-weight:700;display:flex}.member-info{flex:1;min-width:0}.member-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.member-info h3{color:#1f2937;margin:0;font-size:16px}.member-id{color:#9ca3af;margin:5px 0 0;font-size:13px}.leader-badge{color:#c2410c;background-color:#fff7ed;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.member-details{align-items:center;gap:22px;display:flex}.member-detail{flex-direction:column;gap:3px;min-width:95px;display:flex}.detail-label{color:#9ca3af;font-size:11px}.detail-value{color:#374151;font-size:13px;font-weight:600}.member-status{white-space:nowrap;border-radius:20px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.member-status.active{color:#047857;background-color:#ecfdf5}.member-status.passive{color:#b91c1c;background-color:#fef2f2}.members-empty-state{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:12px;padding:60px 20px}.members-empty-icon{margin-bottom:14px;font-size:40px}.members-empty-state h3{color:#374151;margin:0 0 8px;font-size:18px}.members-empty-state p{color:#6b7280;margin:0;font-size:14px}@media (width<=850px){.member-card{flex-wrap:wrap;align-items:flex-start}.member-info{flex:1}.member-details{flex-wrap:wrap;gap:14px;width:100%;margin-left:62px}}@media (width<=600px){.team-members-page{padding:25px 15px}.team-details-header{flex-direction:column;align-items:flex-start}.section-header{align-items:flex-start}.member-card{padding:16px}.member-details{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-left:0;display:grid}.member-status{justify-self:start}}.team-details-header-actions{align-items:center;gap:12px;display:flex}.add-member-button{color:#fff;white-space:nowrap;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;padding:11px 16px;font-size:14px;font-weight:600;transition:background-color .2s,transform .2s}.add-member-button:hover{background-color:#1d4ed8;transform:translateY(-1px)}.add-member-button:active{transform:translateY(0)}@media (width<=600px){.team-details-header-actions{justify-content:space-between;width:100%}.add-member-button{flex:1}}.team-leader-field{margin-top:4px}.team-leader-checkbox{cursor:pointer;color:#344054;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;font-weight:600;display:inline-flex}.team-leader-checkbox input{accent-color:#2563eb;cursor:pointer;width:17px;height:17px;margin:0}.team-leader-checkbox input:disabled{cursor:not-allowed}.team-leader-checkbox span{line-height:1}.field-hint{color:#98a2b3;font-size:12px;line-height:1.4}.modal .form-group textarea{box-sizing:border-box;resize:vertical;border:1px solid #d0d5dd;border-radius:8px;outline:none;width:100%;padding:11px 12px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.modal .form-group textarea:focus{border-color:#3b6dcc;box-shadow:0 0 0 3px #3b6dcc1f}.member-actions{align-items:center;gap:10px;display:flex}.member-menu-container{position:relative}.member-menu-button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;font-size:22px;display:flex}.member-menu-button:hover{color:#1e293b;background-color:#f1f5f9}.member-menu{z-index:100;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:140px;padding:6px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 20px #0000001f}.member-menu button{color:#334155;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;padding:9px 12px;font-size:14px}.member-menu button:hover{background-color:#f1f5f9}.delete-member-button{color:#dc2626!important}.delete-member-button:hover{background-color:#fef2f2!important}.member-info-modal{max-width:520px}.member-info-modal-content{flex-direction:column;gap:24px;display:flex}.member-info-modal-name{align-items:center;gap:14px;display:flex}.member-info-modal-avatar{color:#2563eb;background-color:#eff6ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:18px;font-weight:700;display:flex}.member-info-modal-name h3{color:#1f2937;margin:0 0 6px;font-size:18px}.member-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.member-info-item{background-color:#f8fafc;border-radius:8px;flex-direction:column;gap:5px;padding:13px 14px;display:flex}.member-info-label{color:#98a2b3;font-size:12px;font-weight:500}.member-info-value{color:#344054;font-size:14px;font-weight:600}.member-extra-info-section{flex-direction:column;gap:8px;display:flex}.member-extra-info{color:#475467;white-space:pre-wrap;background-color:#fff;border:1px solid #e4e7ec;border-radius:8px;min-height:70px;padding:12px 14px;font-size:14px;line-height:1.5}@media (width<=600px){.member-info-grid{grid-template-columns:1fr}}.member-card.fired{background-color:#fff7f7;border-color:#fecaca}.member-card.fired .member-avatar{color:#b91c1c;background-color:#fef2f2}.member-card.fired .member-info h3{color:#7f1d1d}.fired-badge{color:#b91c1c;background-color:#fef2f2;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.member-menu-item-disabled{opacity:.7;color:#98a2b3!important;cursor:not-allowed!important;background-color:#f8fafc!important}.member-menu-item-disabled:hover{background-color:#f8fafc!important}.delete-warning-overlay{z-index:2000;background-color:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.delete-warning-modal{text-align:center;background-color:#fff;border:1px solid #fecaca;border-radius:12px;width:100%;max-width:430px;padding:28px;box-shadow:0 20px 40px #0f172a26}.delete-warning-icon{color:#dc2626;background-color:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin:0 auto 14px;font-size:22px;display:flex}.delete-warning-modal h2{color:#1f2937;margin:0 0 10px;font-size:20px}.delete-warning-modal p{color:#667085;margin:0;font-size:14px;line-height:1.6}.delete-warning-button{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;margin-top:22px;padding:9px 20px;font-size:13px;font-weight:600}.delete-warning-button:hover{background-color:#1d4ed8}.existing-attendance-modal-overlay{z-index:1000;background-color:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.existing-attendance-modal{background-color:#fff;border-radius:12px;width:100%;max-width:440px;overflow:hidden;box-shadow:0 20px 40px #0f172a2e}.existing-attendance-modal-header{border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.existing-attendance-modal-header h2{color:#1f2937;margin:0;font-size:19px}.existing-attendance-modal-close{color:#667085;cursor:pointer;background:0 0;border:none;border-radius:6px;width:32px;height:32px;font-size:24px;line-height:1}.existing-attendance-modal-close:hover{background-color:#f2f4f7}.existing-attendance-modal-body{align-items:flex-start;gap:14px;padding:24px 22px;display:flex}.existing-attendance-modal-icon{color:#c2410c;background-color:#fff7ed;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.existing-attendance-modal-body p{color:#475467;margin:2px 0 0;font-size:14px;line-height:1.6}.existing-attendance-modal-body strong{color:#1f2937}.existing-attendance-modal-footer{border-top:1px solid #eef0f3;justify-content:flex-end;padding:16px 22px;display:flex}.existing-attendance-modal-button{color:#fff;cursor:pointer;background-color:#2563eb;border:1px solid #2563eb;border-radius:7px;min-width:88px;padding:9px 16px;font-size:14px;font-weight:600}.existing-attendance-modal-button:hover{background-color:#1d4ed8}.attendance-success-modal-overlay{z-index:1000;background-color:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.attendance-success-modal{background-color:#fff;border-radius:12px;width:100%;max-width:440px;overflow:hidden;box-shadow:0 20px 40px #0f172a2e}.attendance-success-modal-header{border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.attendance-success-modal-header h2{color:#1f2937;margin:0;font-size:19px}.attendance-success-modal-close{color:#667085;cursor:pointer;background:0 0;border:none;border-radius:6px;width:32px;height:32px;font-size:24px;line-height:1}.attendance-success-modal-close:hover{background-color:#f2f4f7}.attendance-success-modal-body{align-items:flex-start;gap:14px;padding:24px 22px;display:flex}.attendance-success-modal-icon{color:#047857;background-color:#ecfdf5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:19px;font-weight:700;display:flex}.attendance-success-modal-body p{color:#475467;margin:5px 0 0;font-size:14px;line-height:1.6}.attendance-success-modal-footer{border-top:1px solid #eef0f3;justify-content:flex-end;padding:16px 22px;display:flex}.attendance-success-modal-button{color:#fff;cursor:pointer;background-color:#2563eb;border:1px solid #2563eb;border-radius:7px;min-width:88px;padding:9px 16px;font-size:14px;font-weight:600}.attendance-success-modal-button:hover{background-color:#1d4ed8}.attendance-date-picker{position:relative}.attendance-date-picker-input{color:#344054;cursor:pointer;background-color:#fff;border:1px solid #d0d5dd;border-radius:7px;justify-content:space-between;align-items:center;gap:18px;min-width:130px;padding:9px 12px;font-size:13px;display:flex}.attendance-date-picker-input:hover{border-color:#98a2b3}.attendance-date-picker-backdrop{z-index:99;position:fixed;inset:0}.attendance-date-picker-popup{z-index:100;background-color:#fff;border:1px solid #d0d5dd;border-radius:10px;width:290px;padding:14px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #0f172a26}.attendance-calendar-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.attendance-calendar-header strong{color:#1f2937;text-transform:capitalize;font-size:14px}.attendance-calendar-header button{color:#344054;cursor:pointer;background-color:#fff;border:1px solid #d0d5dd;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.attendance-calendar-header button:hover{background-color:#f8fafc}.attendance-calendar-weekdays,.attendance-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.attendance-calendar-weekdays{margin-bottom:5px}.attendance-calendar-weekdays span{text-align:center;color:#98a2b3;font-size:10px;font-weight:600}.attendance-calendar-day,.attendance-calendar-empty{justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.attendance-calendar-day{color:#344054;cursor:pointer;background-color:#0000;border:none;border-radius:7px;font-size:12px}.attendance-calendar-day:hover{background-color:#f2f4f7}.attendance-calendar-day.selected{color:#fff;background-color:#2563eb;font-weight:700}.attendance-calendar-day.has-attendance{background-color:#fff7ed}.attendance-calendar-day.has-attendance:hover{background-color:#ffedd5}.attendance-calendar-day.selected.has-attendance{color:#fff;background-color:#2563eb}.attendance-date-indicator{background-color:#f97316;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.attendance-calendar-day.selected .attendance-date-indicator{background-color:#f97316;width:5px;height:5px}.attendance-calendar-legend{color:#667085;border-top:1px solid #eef0f3;align-items:center;gap:7px;margin-top:12px;padding-top:10px;font-size:10px;display:flex}.attendance-calendar-legend-dot{background-color:#f97316;border-radius:50%;width:6px;height:6px}.daily-attendance-page{background-color:#f5f6f8;min-height:100vh;padding:40px 20px}.daily-attendance-container{width:100%;max-width:1200px;margin:0 auto}.attendance-page-header{margin-bottom:28px}.attendance-page-header h1{color:#1f2937;margin:0 0 6px;font-size:30px}.attendance-page-header p{color:#6b7280;margin:0;font-size:15px}.date-navigation{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:center;align-items:center;gap:14px;margin-bottom:20px;padding:18px;display:flex}.date-navigation-button{color:#344054;cursor:pointer;background-color:#fff;border:1px solid #d0d5dd;border-radius:8px;width:38px;height:38px;font-size:20px}.date-navigation-button:hover:not(:disabled){background-color:#f8fafc}.date-navigation-button:disabled{opacity:.5;cursor:not-allowed}.selected-date{flex-direction:column;align-items:center;gap:3px;min-width:220px;display:flex}.selected-date strong{color:#1f2937;font-size:17px}.selected-date span{color:#98a2b3;text-transform:capitalize;font-size:13px}.attendance-warning{color:#9a3412;background-color:#fff7ed;border:1px solid #fed7aa;border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:13px 15px;font-size:14px;font-weight:500;display:flex}.warning-icon{font-size:17px}.attendance-teams-section{margin-top:24px}.attendance-team-list{flex-direction:column;gap:14px;display:flex}.attendance-team{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.attendance-team-header{border-bottom:1px solid #eef0f3;padding:17px 20px}.attendance-team-header h3{color:#1f2937;margin:0 0 4px;font-size:17px}.attendance-team-header>div>span{color:#98a2b3;font-size:13px}.attendance-team-placeholder{color:#98a2b3;padding:25px 20px;font-size:14px}.attendance-page-footer{justify-content:flex-end;margin-top:24px;display:flex}.save-attendance-button{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;padding:11px 20px;font-size:14px;font-weight:600;transition:background-color .2s,opacity .2s}.save-attendance-button:hover:not(:disabled){background-color:#1d4ed8}.save-attendance-button:disabled{cursor:not-allowed;opacity:.5}.page-message{text-align:center;color:#6b7280;background-color:#fff;border-radius:10px;padding:40px}.error-message{color:#dc2626}@media (width<=700px){.daily-attendance-page{padding:25px 15px}.date-navigation{flex-wrap:wrap}.selected-date{min-width:180px}}.attendance-member-list{flex-direction:column;display:flex}.attendance-member-row{border-bottom:1px solid #eef0f3;grid-template-columns:minmax(180px,1.5fr) 75px 90px 95px 105px 110px 110px minmax(160px,1.2fr);align-items:end;gap:12px;padding:16px 20px;display:grid}.attendance-member-row:last-child{border-bottom:none}.attendance-member-row.disabled{opacity:.65;background-color:#f8fafc}.attendance-member-info{min-width:0}.attendance-member-info strong{color:#1f2937;margin-bottom:6px;font-size:14px;display:block}.attendance-member-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.attendance-leader-badge{color:#c2410c;background-color:#fff7ed;border-radius:5px;padding:3px 7px;font-size:10px;font-weight:600}.attendance-member-status{border-radius:5px;padding:3px 7px;font-size:10px;font-weight:600}.attendance-member-status.active{color:#047857;background-color:#ecfdf5}.attendance-member-status.passive,.attendance-member-status.fired{color:#b91c1c;background-color:#fef2f2}.attendance-field{flex-direction:column;gap:6px;display:flex}.attendance-field label{color:#667085;font-size:11px;font-weight:600}.attendance-field input[type=number],.attendance-field input[type=text]{box-sizing:border-box;color:#344054;background-color:#fff;border:1px solid #d0d5dd;border-radius:7px;outline:none;width:100%;padding:8px 9px;font-size:13px}.attendance-field input[type=number]:focus,.attendance-field input[type=text]:focus{border-color:#3b6dcc;box-shadow:0 0 0 3px #3b6dcc1a}.attendance-field input:disabled{color:#98a2b3;cursor:not-allowed;background-color:#f2f4f7}.worked-field,.overtime-toggle-field{align-items:flex-start}.worked-field input[type=checkbox],.overtime-toggle-field input[type=checkbox]{accent-color:#2563eb;cursor:pointer;width:17px;height:17px;margin:5px 0 0}.worked-field input[type=checkbox]:disabled,.overtime-toggle-field input[type=checkbox]:disabled{cursor:not-allowed}.attendance-no-members{color:#98a2b3;padding:25px 20px;font-size:14px}@media (width<=1100px){.attendance-member-row{grid-template-columns:minmax(180px,1.5fr) 70px 90px 90px 100px 100px 100px}.description-field{grid-column:1/-1}}@media (width<=750px){.attendance-member-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.attendance-member-info{grid-column:1/-1}}.attendance-success{color:#047857;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:13px 15px;font-size:14px;font-weight:500;display:flex}.success-icon{font-size:17px;font-weight:700}.attendance-team.disabled{opacity:.65}.attendance-team.disabled .attendance-team-header{background-color:#f8fafc}.attendance-team-header{justify-content:space-between;align-items:center;display:flex}.attendance-team-status{border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.attendance-team-status.active{color:#027a48;background-color:#ecfdf3}.attendance-team-status.passive{color:#b42318;background-color:#fef2f2}.attendance-team-disabled-message{color:#b42318;background-color:#fef2f2;border-bottom:1px solid #fee2e2;padding:10px 16px;font-size:12px}.attendance-warning-overlay{z-index:2000;background-color:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.attendance-warning-modal{text-align:center;background-color:#fff;border:1px solid #fed7aa;border-radius:12px;width:100%;max-width:430px;padding:28px;box-shadow:0 20px 40px #0f172a26}.attendance-warning-icon{color:#ea580c;background-color:#fff7ed;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin:0 auto 14px;font-size:22px;display:flex}.attendance-warning-modal h2{color:#1f2937;margin:0 0 10px;font-size:20px}.attendance-warning-modal p{color:#667085;margin:0;font-size:14px;line-height:1.6}.attendance-warning-button{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;margin-top:22px;padding:9px 20px;font-size:13px;font-weight:600;transition:background-color .15s}.attendance-warning-button:hover{background-color:#1d4ed8}.attendance-confirmation-overlay{z-index:2500;background-color:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.attendance-confirmation-modal{text-align:center;background-color:#fff;border:1px solid #d0d5dd;border-radius:12px;width:100%;max-width:430px;padding:28px;box-shadow:0 20px 40px #0f172a2e}.attendance-confirmation-icon{color:#2563eb;background-color:#eff6ff;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin:0 auto 14px;font-size:22px;font-weight:700;display:flex}.attendance-confirmation-modal h2{color:#1f2937;margin:0 0 10px;font-size:20px}.attendance-confirmation-modal p{color:#667085;margin:0;font-size:14px;line-height:1.6}.attendance-confirmation-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.attendance-confirmation-cancel,.attendance-confirmation-confirm{cursor:pointer;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:600}.attendance-confirmation-cancel{color:#475467;background-color:#fff;border:1px solid #d0d5dd}.attendance-confirmation-cancel:hover{background-color:#f8fafc}.attendance-confirmation-confirm{color:#fff;background-color:#2563eb;border:none}.attendance-confirmation-confirm:hover{background-color:#1d4ed8}.member-attendance-page{background-color:#f5f6f8;min-height:100vh;padding:40px 20px}.member-attendance-container{width:100%;max-width:1250px;margin:0 auto}.member-attendance-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.member-attendance-header-main{align-items:center;gap:14px;display:flex}.member-attendance-avatar{color:#2563eb;background-color:#eff6ff;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;font-size:19px;font-weight:700;display:flex}.member-attendance-header h1{color:#1f2937;margin:0 0 5px;font-size:26px}.member-attendance-header p{color:#98a2b3;margin:0;font-size:13px}.member-attendance-status-group{align-items:center;display:flex}.history-status{border-radius:20px;align-items:center;gap:7px;padding:7px 11px;font-size:12px;font-weight:600;display:inline-flex}.history-status.active{color:#047857;background-color:#ecfdf5}.history-status.passive,.history-status.fired{color:#b91c1c;background-color:#fef2f2}.history-status-dot{background-color:currentColor;border-radius:50%;width:7px;height:7px}.payroll-summary-section{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.payroll-summary-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:7px;padding:18px 20px;display:flex}.payroll-summary-label{color:#98a2b3;font-size:12px}.payroll-summary-card strong{color:#1f2937;font-size:20px}.history-month-navigation{background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:center;align-items:center;gap:18px;margin-bottom:20px;padding:14px;display:flex}.history-month-navigation strong{text-align:center;color:#1f2937;text-transform:capitalize;min-width:170px;font-size:16px;display:block}.month-navigation-button{color:#344054;cursor:pointer;background-color:#fff;border:1px solid #d0d5dd;border-radius:7px;width:36px;height:36px;font-size:18px}.month-navigation-button:hover{background-color:#f8fafc}.attendance-history-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.attendance-history-header{border-bottom:1px solid #eef0f3;padding:18px 20px}.attendance-history-header h2{color:#1f2937;margin:0 0 5px;font-size:20px}.attendance-history-header p{color:#98a2b3;margin:0;font-size:13px}.attendance-history-table-wrapper{overflow-x:auto}.attendance-history-table{border-collapse:collapse;width:100%;min-width:1000px}.attendance-history-table th{color:#667085;text-align:left;white-space:nowrap;background-color:#f8fafc;border-bottom:1px solid #e5e7eb;padding:12px 14px;font-size:11px;font-weight:600}.attendance-history-table td{color:#344054;white-space:nowrap;border-bottom:1px solid #eef0f3;padding:13px 14px;font-size:13px}.attendance-history-table tbody tr:last-child td{border-bottom:none}.attendance-history-table tbody tr:hover,.attendance-history-table .empty-attendance-row{background-color:#fafafa}.attendance-history-table .empty-attendance-row td{color:#b0b8c4}.description-cell{overflow-wrap:anywhere;word-break:break-word;width:160px;max-width:160px;line-height:1.4;white-space:normal!important}.calculated-badge{border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:600;display:inline-flex}.calculated-badge.calculated{color:#047857;background-color:#ecfdf5}.calculated-badge.pending{color:#c2410c;background-color:#fff7ed}.member-attendance-message{text-align:center;color:#667085;background-color:#fff;border-radius:10px;max-width:500px;margin:80px auto;padding:40px}.member-attendance-message.error{color:#dc2626}@media (width<=700px){.member-attendance-page{padding:25px 15px}.member-attendance-header{flex-direction:column;align-items:flex-start}.payroll-summary-section{grid-template-columns:1fr}}.net-amount-card.zero{border-color:#bfdbfe}.net-amount-card.zero strong{color:#1d4ed8}.net-amount-card.positive{border-color:#bbf7d0}.net-amount-card.positive strong{color:#15803d}.net-amount-card.negative{border-color:#fecaca}.net-amount-card.negative strong{color:#dc2626}.net-amount-card.due{border-color:#fecaca}.net-amount-card.due strong{color:#dc2626}.net-amount-card.paid{border-color:#bbf7d0}.net-amount-card.paid strong{color:#15803d}.member-attendance-header-actions{align-items:center;gap:10px;display:flex}.pay-button{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;padding:9px 15px;font-size:13px;font-weight:600}.pay-button:hover{background-color:#1d4ed8}.pay-button:disabled{opacity:.5;cursor:not-allowed}.payment-modal-overlay{z-index:1000;background-color:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.payment-modal{background-color:#fff;border-radius:12px;width:100%;max-width:420px;padding:24px}.payment-modal h2{margin:0 0 20px}.payment-modal-due{background-color:#f8fafc;border-radius:8px;justify-content:space-between;margin-bottom:20px;padding:12px;display:flex}.payment-modal label{flex-direction:column;gap:7px;font-size:13px;font-weight:600;display:flex}.payment-modal input{border:1px solid #d0d5dd;border-radius:7px;padding:10px}.payment-error{color:#dc2626;margin-top:10px;font-size:13px}.payment-modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.payment-cancel-button,.payment-save-button{cursor:pointer;border-radius:7px;padding:9px 15px;font-weight:600}.payment-cancel-button{background-color:#fff;border:1px solid #d0d5dd}.payment-save-button{color:#fff;background-color:#2563eb;border:none}.reset-payroll-button{color:#475467;cursor:pointer;background-color:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:9px 15px;font-size:13px;font-weight:600}.reset-payroll-button:hover{color:#b91c1c;background-color:#fef2f2;border-color:#fca5a5}.reset-payroll-button:disabled{opacity:.55;cursor:not-allowed}.payroll-reset-error{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:13px}.uncalculated-attendance-page{background-color:#f5f6f8;min-height:100vh;padding:40px 20px}.uncalculated-attendance-container{width:100%;max-width:1400px;margin:0 auto}.report-header{justify-content:space-between;align-items:center;gap:20px;margin:20px 0 24px;display:flex}.report-header h1{color:#1f2937;margin:0 0 6px;font-size:28px}.report-header p{color:#667085;margin:0;font-size:14px}.pdf-button{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;padding:11px 17px;font-size:14px;font-weight:600}.pdf-button:hover{background-color:#1d4ed8}.report-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.summary-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:7px;padding:16px 18px;display:flex}.summary-card span{color:#98a2b3;font-size:11px}.summary-card strong{color:#1f2937;font-size:18px}.net-amount-card{border-color:#bfdbfe}.net-amount-card strong{color:#1d4ed8}.report-filters{background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:flex-end;gap:12px;margin-bottom:20px;padding:18px;display:flex}.filter-field{flex-direction:column;gap:6px;display:flex}.filter-field label{color:#667085;font-size:11px;font-weight:600}.filter-field input{border:1px solid #d0d5dd;border-radius:7px;padding:9px 10px;font-size:13px}.filter-button,.clear-filter-button{cursor:pointer;border-radius:7px;padding:9px 15px;font-size:13px;font-weight:600}.filter-button{color:#fff;background-color:#2563eb;border:1px solid #2563eb}.filter-button:hover{background-color:#1d4ed8}.clear-filter-button{color:#475467;background-color:#fff;border:1px solid #d0d5dd}.clear-filter-button:hover{background-color:#f8fafc}.report-section{margin-top:20px}.daily-report-list{flex-direction:column;gap:20px;display:flex}.daily-report-section{flex-direction:column;gap:10px;display:flex}.daily-report-date{color:#1f2937;padding:0 4px;font-size:18px;font-weight:700}.daily-report-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.report-team-group{padding:0}.report-team-group-separated{border-top:1px solid #dfe3e8}.report-team-header{background-color:#f8fafc;border-bottom:1px solid #eef0f3;padding:12px 16px}.report-team-header strong{color:#344054;font-size:13px}.report-table-wrapper{width:100%;overflow-x:auto}.report-table th:nth-child(2),.report-table td:nth-child(2),.report-table th:nth-child(3),.report-table td:nth-child(3){width:8%}.report-table th:nth-child(5),.report-table td:nth-child(5),.report-table th:nth-child(6),.report-table td:nth-child(6){width:11%}.report-table th:nth-child(8),.report-table td:nth-child(8){width:14%}.report-table th,.report-table td{color:#344054;vertical-align:middle;border-bottom:1px solid #eef0f3;padding:10px 12px;font-size:12px}.report-table th:first-child,.report-table td:first-child{width:18%}.report-table th:nth-child(2),.report-table td:nth-child(2){width:10%}.report-table th:nth-child(3),.report-table td:nth-child(3){width:9%}.report-table th:nth-child(4),.report-table td:nth-child(4){width:10%}.report-table th:nth-child(5),.report-table td:nth-child(5),.report-table th:nth-child(6),.report-table td:nth-child(6){width:12%}.report-table th:nth-child(7),.report-table td:nth-child(7){width:29%}.report-table th{color:#667085;text-align:left;white-space:nowrap;background-color:#fff;border-bottom:1px solid #e5e7eb;font-size:11px;font-weight:600}.report-table tbody tr:last-child td{border-bottom:none}.report-table tbody tr:hover{background-color:#fafafa}.report-description{white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:auto;max-width:none;line-height:1.4}.empty-report{text-align:center;color:#98a2b3;padding:50px 20px}.report-footer{color:#667085;justify-content:flex-end;padding:14px 0;font-size:13px;display:flex}.report-message{text-align:center;color:#667085;background-color:#fff;border-radius:10px;max-width:500px;margin:80px auto;padding:40px}.report-message.error{color:#dc2626}@media print{.uncalculated-attendance-page{background:#fff;padding:0}.uncalculated-attendance-container{max-width:none}.no-print{display:none!important}.report-header{margin-top:0}.report-summary{grid-template-columns:repeat(3,1fr)}.daily-report-list{gap:14px}.daily-report-section{break-inside:avoid;page-break-inside:avoid}.daily-report-date{break-after:avoid;page-break-after:avoid}.daily-report-card{border:1px solid #ddd}.report-table{table-layout:fixed;width:100%;min-width:0;font-size:10px}.report-table th,.report-table td{padding:7px}.report-description{width:150px;max-width:150px}.report-table th:last-child,.report-table td:last-child{display:none!important}}@media (width<=1100px){.report-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.uncalculated-attendance-page{padding:25px 15px}.report-header{flex-direction:column;align-items:flex-start}.report-summary{grid-template-columns:1fr}.report-filters{flex-direction:column;align-items:stretch}.daily-report-date{font-size:16px}}.attendance-worked-row td{color:#166534;background-color:#f0fdf4}.attendance-worked-row:hover td{background-color:#e7f8ec}.attendance-worked-overtime-row td{color:#1e40af;background-color:#eff6ff}.attendance-worked-overtime-row:hover td{background-color:#e5efff}.report-controls{background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;padding:18px;display:flex}.date-filter-group{align-items:flex-end;gap:12px;display:flex}.overtime-rule-group{flex-direction:column;gap:7px;display:flex}.overtime-rule-title{color:#667085;font-size:11px;font-weight:600}.overtime-rule-controls{color:#344054;align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.overtime-rule-controls select{color:#344054;background-color:#fff;border:1px solid #d0d5dd;border-radius:7px;min-width:65px;padding:8px 10px;font-size:13px}.overtime-rule-preview{color:#98a2b3;font-size:11px}@media (width<=900px){.report-controls{flex-direction:column;align-items:stretch}.date-filter-group{flex-wrap:wrap}}.report-header-actions{align-items:center;gap:10px;display:flex}.calculate-button{color:#fff;cursor:pointer;background-color:#16a34a;border:none;border-radius:8px;padding:11px 17px;font-size:14px;font-weight:600}.calculate-button:hover{background-color:#15803d}.calculate-button:disabled{opacity:.55;cursor:not-allowed}.attendance-editing-row td{color:#1e3a8a;border-top:1px solid #93c5fd;border-bottom:1px solid #93c5fd;background-color:#eff6ff!important}.attendance-editing-row td:first-child{border-left:3px solid #2563eb}.attendance-editing-row td:last-child{border-right:3px solid #2563eb}.attendance-editing-row{font-weight:500}.history-edit-input{box-sizing:border-box;color:#1f2937;background-color:#fff;border:1px solid #93c5fd;border-radius:6px;width:100%;max-width:75px;padding:6px 7px;font-size:12px}.history-edit-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1f}.history-edit-description{box-sizing:border-box;color:#1f2937;background-color:#fff;border:1px solid #93c5fd;border-radius:6px;width:100%;max-width:100%;padding:6px 7px;font-size:12px}.history-edit-description:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1f}.attendance-action-cell{white-space:nowrap}.attendance-edit-actions{align-items:center;gap:6px;display:flex}.attendance-edit-button,.attendance-save-edit-button,.attendance-cancel-edit-button{cursor:pointer;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:600}.attendance-edit-button{color:#344054;background-color:#fff;border:1px solid #d0d5dd}.attendance-edit-button:hover{color:#1d4ed8;background-color:#eff6ff;border-color:#93c5fd}.attendance-edit-button:disabled{opacity:.45;cursor:not-allowed}.attendance-save-edit-button{color:#fff;background-color:#2563eb;border:none}.attendance-save-edit-button:hover{background-color:#1d4ed8}.attendance-cancel-edit-button{color:#475467;background-color:#fff;border:1px solid #d0d5dd}.attendance-cancel-edit-button:hover{background-color:#f8fafc}.attendance-edit-error{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:7px;margin-bottom:10px;padding:9px 12px;font-size:12px}.attendance-edit-modal-overlay{z-index:3000;background-color:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.attendance-edit-modal{text-align:center;background-color:#fff;border-radius:12px;width:100%;max-width:400px;padding:28px;box-shadow:0 20px 40px #0f172a2e}.attendance-edit-modal.success{border:1px solid #bbf7d0}.attendance-edit-modal.error{border:1px solid #fecaca}.attendance-edit-modal-icon{border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin:0 auto 14px;font-size:22px;font-weight:700;display:flex}.attendance-edit-modal.success .attendance-edit-modal-icon{color:#15803d;background-color:#ecfdf3}.attendance-edit-modal.error .attendance-edit-modal-icon{color:#dc2626;background-color:#fef2f2}.attendance-edit-modal h2{color:#1f2937;margin:0 0 10px;font-size:20px}.attendance-edit-modal p{color:#667085;margin:0;font-size:14px;line-height:1.6}.attendance-edit-modal-button{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;margin-top:22px;padding:9px 20px;font-size:13px;font-weight:600}.attendance-edit-modal-button:hover{background-color:#1d4ed8}.attendance-not-worked-row td{color:#9f1239;background-color:#fff5f5}.attendance-not-worked-row:hover td{background-color:#ffecec}.attendance-financial-adjustment-row td{color:#92400e;background-color:#fffbeb}.attendance-financial-adjustment-row:hover td{background-color:#fef3c7}.attendance-history-page{background-color:#f5f6f8;min-height:100vh;padding:40px 20px}.attendance-history-container{width:100%;max-width:1400px;margin:0 auto}.attendance-history-page-header{justify-content:space-between;align-items:center;gap:20px;margin:20px 0 24px;display:flex}.attendance-history-page-header h1{color:#1f2937;margin:0 0 6px;font-size:28px}.attendance-history-page-header p{color:#667085;margin:0;font-size:14px}.history-pdf-button{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:background-color .2s,opacity .2s}.history-pdf-button:hover{background-color:#1d4ed8}.attendance-history-filters{background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:24px;padding:18px;display:flex}.history-filter-field{flex-direction:column;gap:6px;display:flex}.history-filter-field label{color:#667085;font-size:11px;font-weight:600}.history-filter-field input,.history-filter-field select{color:#344054;background-color:#fff;border:1px solid #d0d5dd;border-radius:7px;min-width:150px;padding:9px 10px;font-size:13px}.history-filter-field select:disabled{color:#98a2b3;background-color:#f2f4f7}.history-filter-button,.history-clear-button{cursor:pointer;border-radius:7px;padding:9px 15px;font-size:13px;font-weight:600}.history-filter-button{color:#fff;background-color:#2563eb;border:1px solid #2563eb}.history-clear-button{color:#475467;background-color:#fff;border:1px solid #d0d5dd}.history-filter-button:disabled,.history-clear-button:disabled{opacity:.55;cursor:not-allowed}.attendance-history-error{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:12px 14px}.attendance-history-days{flex-direction:column;gap:20px;display:flex}.history-day-section{flex-direction:column;gap:10px;display:flex}.history-day-section h2{color:#1f2937;margin:0 4px;font-size:18px}.history-day-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.history-team-group{padding:0}.history-team-group.separated{border-top:1px solid #dfe3e8}.history-team-header{color:#344054;background-color:#f8fafc;border-bottom:1px solid #eef0f3;padding:12px 16px;font-size:13px;font-weight:600}.history-table-wrapper{width:100%;overflow-x:auto}.history-table{border-collapse:collapse;width:100%;min-width:950px}.history-table th{color:#667085;text-align:left;white-space:nowrap;background-color:#fff;border-bottom:1px solid #e5e7eb;padding:11px 14px;font-size:11px;font-weight:600}.history-table td{color:#344054;vertical-align:top;border-bottom:1px solid #eef0f3;padding:12px 14px;font-size:13px}.history-table tbody tr:last-child td{border-bottom:none}.history-table tbody tr:hover{background-color:#fafafa}.history-description{white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:200px;line-height:1.4}.history-calculated-badge{white-space:nowrap;border-radius:6px;align-items:center;padding:4px 7px;font-size:10px;font-weight:600;display:inline-flex}.history-calculated-badge.calculated{color:#027a48;background-color:#ecfdf3}.history-calculated-badge.pending{color:#c2410c;background-color:#fff7ed}.attendance-history-empty,.attendance-history-message{color:#98a2b3;text-align:center;background-color:#fff;border-radius:10px;padding:50px 20px}.attendance-history-message.error{color:#dc2626}@media (width<=800px){.attendance-history-page{padding:25px 15px}.attendance-history-filters{flex-direction:column;align-items:stretch}.history-filter-field input,.history-filter-field select{width:100%}}.history-not-worked-row td{color:#9f1239;background-color:#fff5f5}.history-not-worked-row:hover td{background-color:#ffecec}.history-financial-adjustment-row td{color:#92400e;background-color:#fffbeb}.history-financial-adjustment-row:hover td{background-color:#fef3c7}.history-worked-row td{color:#166534;background-color:#f0fdf4}.history-worked-row:hover td{background-color:#e7f8ec}.history-worked-overtime-row td{color:#1e40af;background-color:#eff6ff}.history-worked-overtime-row:hover td{background-color:#e5efff}@media print{.attendance-history-page{background-color:#fff;padding:0}.attendance-history-container{max-width:none}.back-button,.attendance-history-page-header p,.history-pdf-button,.attendance-history-filters{display:none!important}.attendance-history-page-header{margin:0 0 20px;display:block}.attendance-history-page-header h1{margin:0}.history-day-section{break-inside:avoid;page-break-inside:avoid}.history-day-card{border:1px solid #ddd}.history-table{width:100%;min-width:0;font-size:10px}.history-table th,.history-table td{padding:7px}}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Arial,Helvetica,sans-serif}
