@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary:#f3f6fb;--bg-secondary:#fff;--bg-tertiary:#e8eef6;--glass-bg:#fff;--glass-border:#94a3b83d;--accent-primary:#07a;--accent-secondary:#c30;--accent-gradient:linear-gradient(135deg, #07a 0%, #c30 100%);--accent-hover:#005d85;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--status-present:#059669;--status-absent:#dc2626;--status-off:#d97706;--status-half:#7c3aed;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 8px 20px #0f172a0d;--shadow-lg:0 18px 40px #0f172a0f;--shadow-glow:0 0 0 #0000;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", sans-serif}*{box-sizing:border-box;font-family:var(--font-family);-webkit-font-smoothing:antialiased;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden}@media (display-mode:standalone){body{min-height:100dvh;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 15px #6366f126}50%{box-shadow:0 0 25px #6366f14d}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.animate-fade{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.toast-overlay{z-index:9999;pointer-events:none;position:fixed;inset:0}.app-container{min-height:100vh;display:flex}.sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--glass-border);z-index:100;flex-direction:column;width:260px;height:100vh;padding:24px 16px;transition:all .3s;display:flex;position:fixed;top:0;left:0}.app-container.nav-collapsed .sidebar{width:88px;padding:24px 12px}.logo-container{border-bottom:1px solid var(--glass-border);align-items:center;gap:12px;margin-bottom:24px;padding:0 12px 24px;display:flex}.sidebar-collapse-btn{border:1px solid var(--glass-border);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border-radius:10px;align-items:center;gap:8px;margin:0 0 8px 12px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.sidebar-collapse-btn:hover{color:var(--accent-primary);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.app-container.nav-collapsed .logo-container{justify-content:center;padding-left:0;padding-right:0}.app-container.nav-collapsed .logo-text,.app-container.nav-collapsed .nav-link span,.app-container.nav-collapsed .user-info,.app-container.nav-collapsed .sidebar-footer button span{display:none}.app-container.nav-collapsed .sidebar-collapse-btn{justify-content:center;width:32px;height:32px;margin:0 auto 8px;padding:0}.logo-icon{background:var(--accent-gradient);color:#fff;border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:800;display:flex;box-shadow:0 8px 18px #0f766e2e}.logo-text{font-family:var(--font-display);letter-spacing:.5px;color:var(--accent-primary);font-size:18px;font-weight:700}.nav-links{flex-direction:column;flex:1;gap:8px;display:flex}.nav-link{color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:10px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.app-container.nav-collapsed .nav-link{justify-content:center;padding:12px}.app-container.nav-collapsed .nav-link:hover{transform:translate(0)}.nav-link:hover{color:var(--text-primary);background-color:#00000008;transform:translate(4px)}.nav-link.active{background:var(--accent-primary);color:#fff;font-weight:600;box-shadow:0 8px 18px #0f766e2e}.sidebar-footer{border-top:1px solid var(--glass-border);flex-direction:column;gap:8px;margin-top:auto;padding-top:16px;display:flex}.user-profile{border-radius:var(--radius-md);align-items:center;gap:12px;padding:8px 12px;display:flex}.avatar{border-radius:var(--radius-full);background:var(--bg-tertiary);width:36px;height:36px;color:var(--accent-secondary);border:1px solid var(--glass-border);justify-content:center;align-items:center;font-weight:600;display:flex}.user-info{flex-direction:column;display:flex;overflow:hidden}.username{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-role{color:var(--text-secondary);font-size:11px}.main-content{flex:1;width:calc(100% - 260px);min-height:100vh;margin-left:260px;padding:16px 40px 40px;transition:all .3s}.app-container.nav-collapsed .main-content{width:calc(100% - 88px);margin-left:88px}.content-header{z-index:40;border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:none;background:#fffffff5;justify-content:space-between;align-items:center;margin:-16px -40px 24px;padding:16px 40px;animation:.4s forwards fadeIn;display:flex;position:sticky;top:0}.page-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.5px;font-size:28px;font-weight:800}.page-subtitle{color:var(--text-muted);margin-top:4px;font-size:14px}.detail-breadcrumb{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:6px;font-size:13px;font-weight:700;display:flex}.detail-breadcrumb strong{color:var(--accent-primary);font-weight:800}.detail-breadcrumb button{appearance:none;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.detail-breadcrumb button:hover{color:var(--accent-primary);text-decoration:underline}.breadcrumb-separator{color:var(--text-muted)}.payroll-filter-bar{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:10px;display:flex}.payroll-filter-bar label{flex-direction:column;gap:5px;min-width:128px;display:flex}.payroll-filter-bar label span{color:var(--text-secondary);text-transform:uppercase;font-size:11px;font-weight:800}.payroll-filter-bar .form-select{width:auto;min-width:128px;padding:10px 12px}.expense-register-form{grid-template-columns:repeat(5,minmax(140px,1fr));align-items:end;gap:12px;margin-bottom:18px;display:grid}.expense-register-form .form-group{margin-bottom:0}.related-employees-field,.remarks-field{grid-column:span 2}.related-employees-field .form-select{min-height:112px}.form-help{color:var(--text-secondary);font-size:11px}.expense-form-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.payroll-loan-control{gap:6px;min-width:190px;display:grid}.payroll-loan-control label{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.loan-stepper{grid-template-columns:34px minmax(72px,1fr) 34px;align-items:center;gap:4px;display:grid}.loan-stepper .btn,.payroll-loan-control>.btn{padding:7px 10px}.loan-stepper .form-input{text-align:right;padding:7px 8px}.table-muted{color:var(--text-muted)}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:none;border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:24px;padding:24px;position:relative;overflow:hidden}.glass-card:before{display:none}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:32px;display:grid}.stats-card{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.stats-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.stats-content{flex-direction:column;gap:6px;display:flex}.stats-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:500}.stats-value{font-family:var(--font-display);color:var(--text-primary);font-size:32px;font-weight:800}.stats-icon-wrapper{border-radius:var(--radius-md);width:52px;height:52px;color:var(--accent-primary);background:#6366f114;border:1px solid #6366f126;justify-content:center;align-items:center;display:flex}.dropzone-container{border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:#00000003;border:2px dashed #0000001f;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;transition:all .3s;display:flex}.dropzone-container:hover,.dropzone-container.dragging{border-color:var(--accent-primary);background:#6366f108}.dropzone-icon{border-radius:var(--radius-full);width:64px;height:64px;color:var(--accent-primary);background:#6366f114;border:1px solid #6366f126;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.dropzone-text{color:var(--text-primary);font-size:15px;font-weight:500}.dropzone-subtext{color:var(--text-secondary);font-size:13px}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent-primary);color:#fff;box-shadow:0 8px 18px #0f766e2e}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 10px 22px #0f766e38}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--glass-border)}.btn-secondary:hover{background:#0000000a}.btn-danger{color:var(--status-absent);background:#ef44441a;border:1px solid #ef444433}.btn-danger:hover{background:var(--status-absent);color:#fff}.btn-icon{border-radius:var(--radius-sm);color:var(--text-secondary);background:0 0;border:1px solid #0000;padding:8px}.btn-icon:hover{color:var(--text-primary);background:#0000000d}.table-container{border-radius:var(--radius-md);border:1px solid var(--glass-border);margin-top:16px;overflow-x:auto}.custom-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%}.custom-table th{background-color:var(--bg-secondary);color:var(--text-secondary);border-bottom:1px solid var(--glass-border);text-transform:uppercase;letter-spacing:.5px;padding:16px 20px;font-size:13px;font-weight:600}.table-header-select{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:0 0;border:none;outline:none;padding:0;font-family:inherit;font-size:13px;font-weight:700}.table-header-select:hover{color:var(--text-primary)}.table-header-select option{text-transform:none;color:var(--text-primary);background:var(--bg-primary);font-weight:600}.custom-table td{color:var(--text-primary);border-bottom:1px solid var(--glass-border);background-color:var(--glass-bg);padding:16px 20px;font-size:14px}.custom-table tr:last-child td{border-bottom:none}.custom-table tr:hover td{background-color:#00000004}.custom-table tr.clickable-row{cursor:pointer}.custom-table tr.payroll-warning-row td,.custom-table tr.attendance-warning-row td{background:#fff7ed}.custom-table tr.attendance-corrected-row td{background:#ecfdf5}.custom-table tr.payroll-warning-row:hover td,.custom-table tr.attendance-warning-row:hover td{background:#ffedd5}.custom-table tr.attendance-corrected-row:hover td{background:#d1fae5}.payroll-issue-badge,.attendance-issue-text,.attendance-corrected-text{color:#c2410c;background:#ffedd5;border:1px solid #fed7aa;border-radius:999px;align-items:center;width:fit-content;margin-top:6px;font-size:11px;font-weight:800;display:inline-flex}.payroll-issue-badge{padding:4px 9px}.attendance-issue-text{padding:3px 8px}.attendance-corrected-text{color:#047857;background:#d1fae5;border:1px solid #a7f3d0;padding:3px 8px;font-size:11px;font-weight:800}.attendance-warning-banner{border-radius:var(--radius-md);color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;margin:16px 0;padding:14px 16px;font-size:14px;font-weight:700}.import-review-card{background:#fff}.import-review-card:before{display:none}.import-review-card h2{color:var(--text-primary)}.import-page-card{box-shadow:none;-webkit-backdrop-filter:none;background:#fff;border:1px solid #dbe3ee}.import-page-card:before{display:none}.import-dropzone{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px}.import-dropzone:hover,.import-dropzone.dragging{background:#f1f5f9;border-color:#94a3b8}.import-dropzone-icon{color:#334155;background:#fff;border:1px solid #dbe3ee}.import-dropzone .dropzone-text{color:#0f172a;font-weight:600}.import-dropzone .dropzone-subtext{color:#64748b}.import-review-meta{color:#5f6f85;font-weight:500}.import-review-meta strong{color:#334155}.import-review-alert{box-shadow:none;border:1px solid #fdba74;background:#fff7ed!important}.import-review-alert-success{border:1px solid #86efac;background:#f0fdf4!important}.import-review-note{color:#5f6f85;line-height:1.55}.import-review-table th{color:#7b8798;background-color:#f8fafc}.import-review-table td{color:#334155;background-color:#fff}.import-review-table tr:hover td{background-color:#f8fbff}.import-review-table td:first-child,.import-review-table td:nth-child(2){color:var(--text-primary)}.import-review-department,.import-review-currency,.import-review-unit{color:#64748b}.import-review-input,.import-review-select{color:var(--text-primary);background-color:#fff;border-color:#94a3b861;font-weight:500}.import-review-input::placeholder{color:#94a3b8}.import-review-input:focus,.import-review-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #4f46e51f}.badge{border-radius:var(--radius-full);text-transform:uppercase;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-present{color:var(--status-present);background-color:#10b9811a}.badge-absent{color:var(--status-absent);background-color:#ef44441a}.badge-off{color:var(--status-off);background-color:#f59e0b1a}.badge-half{color:var(--status-half);background-color:#8b5cf61a}.badge-action-save-employee{color:#0ea5e9;background-color:#0ea5e91a}.badge-action-delete-employee{color:#ef4444;background-color:#ef44441a}.badge-action-save-settings{color:#8b5cf6;background-color:#8b5cf61a}.badge-action-correct-attendance{color:#f59e0b;background-color:#f59e0b1a}.badge-action-approve-salary-slip{color:#10b981;background-color:#10b9811a}.badge-action-pay-salary-slip{color:#059669;background-color:#0596691a}.form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-label{color:var(--text-secondary);font-size:12px;font-weight:600}.toggle-switch{width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:#cbd5e1;border-radius:24px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #0000001a}input:checked+.toggle-slider{background-color:var(--status-present)}input:checked+.toggle-slider:before{transform:translate(20px)}.form-input,.form-select{background-color:var(--bg-secondary);border:1px solid var(--glass-border);color:var(--text-primary);border-radius:var(--radius-md);outline:none;width:100%;padding:12px 16px;font-size:14px;transition:all .2s}.form-input:focus,.form-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #0f766e1f}.employee-back-button{justify-content:center;min-width:220px}.employee-editor-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.employee-header-save-button{justify-content:center;min-width:170px}.employee-editor-shell{-webkit-backdrop-filter:none;background:#fff;border-color:#94a3b842;box-shadow:0 18px 40px #0f172a0d,inset 0 1px #ffffffe6}.employee-editor-shell:before{display:none}.employee-editor-intro{border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;padding:8px 4px 18px;display:flex}.employee-editor-kicker{letter-spacing:.8px;text-transform:uppercase;color:var(--accent-secondary);margin-bottom:8px;font-size:11px;font-weight:700;display:inline-block}.employee-editor-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:8px;font-size:20px;line-height:1.1}.employee-editor-copy{color:#475569;max-width:700px;font-size:14px;line-height:1.6}.employee-editor-summary{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.employee-editor-summary-text{color:#334155;background:#e2e8f0b8;border-radius:999px;align-items:center;min-height:30px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.employee-form-section{background:#fff;border:1px solid #94a3b82e;border-radius:18px;margin-bottom:18px;padding:22px}.employee-form-section-accent{background:#f8fbff;border-color:#0ea5e933}.employee-section-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.employee-section-title{color:#334155;font-size:16px;font-weight:800}.employee-section-copy{color:#7c8aa0;font-size:13px}.employee-editor-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.employee-pay-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.employee-check-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:18px;display:grid}.employee-check-card{color:#334155;background:#fff;border:1px solid #94a3b833;border-radius:14px;align-items:center;gap:10px;padding:14px 16px;font-size:13px;font-weight:700;display:flex}.employee-editor-shell .form-label{color:#64748b}.employee-editor-shell .form-input,.employee-editor-shell .form-select{color:#334155;box-shadow:none;background-color:#fff;border-color:#d7dfeb}.employee-editor-shell .form-input::placeholder,.employee-editor-shell .form-select::placeholder{color:#94a3b8}.employee-editor-shell .form-input:focus,.employee-editor-shell .form-select:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.employee-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.sticky-search-card{z-index:35;background:#fff;position:sticky;top:112px}.sticky-search-card:before{display:none}.employee-filter-group{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.employee-filter-chip{color:#334155;cursor:pointer;background:#fff;border:1px solid #d7dfeb;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;transition:border-color .2s,color .2s,background-color .2s}.employee-filter-chip:hover{color:#0f172a;border-color:#94a3b8}.employee-filter-chip.active{color:#0f766e;background:#0f766e14;border-color:#0f766e47}.settings-tab-row{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.settings-header-main{flex-direction:column;gap:14px;display:flex}.settings-tab-row-header{margin-bottom:0}.settings-tab-caption{color:#475569;margin-bottom:16px;font-size:13px}.deduction-badge-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.deduction-badge{color:#0369a1;background:#eef8ff;border:1px solid #bae6fd;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:11px;font-weight:800;display:inline-flex}.staff-type-badge{border-radius:999px;align-items:center;min-height:24px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.staff-type-badge.office{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe}.staff-type-badge.worker{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.employee-check-card input{width:16px;height:16px}.employee-editor-actions{z-index:4;-webkit-backdrop-filter:blur(12px);background:#fffffffa;border:1px solid #94a3b82e;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding:16px 20px;display:flex;position:sticky;bottom:-1px;box-shadow:0 -8px 22px #0f172a0d}.employee-editor-actions-note{color:#64748b;font-size:13px;line-height:1.5}.employee-editor-actions-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.calendar-days-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:10px;margin-top:16px;display:grid}.calendar-day-cell{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);text-align:center;flex-direction:column;gap:4px;padding:8px;display:flex}.calendar-day-num{color:var(--text-secondary);font-size:12px;font-weight:700}.calendar-day-status{border-radius:var(--radius-sm);padding:2px 4px;font-size:11px;font-weight:700;display:block}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background-color:#0f172a59;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;animation:.2s forwards fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes modalZoomIn{0%{opacity:0;transform:scale(.95)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-container{background-color:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) forwards modalZoomIn;overflow-y:auto;box-shadow:0 20px 25px -5px #0000000d,0 10px 10px -5px #00000005}.modal-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title{font-family:var(--font-display);color:var(--text-primary);font-size:20px;font-weight:700}.modal-content{padding:24px}.modal-footer{border-top:1px solid var(--glass-border);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.modal-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:13px;font-weight:700}.modal-icon-button{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--bg-secondary);width:36px;height:36px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.attendance-correction-modal{max-width:520px}.attendance-correction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.attendance-correction-summary{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--bg-primary);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.attendance-correction-summary span{color:var(--text-secondary);text-transform:uppercase;font-size:12px;font-weight:800}.attendance-correction-summary strong{color:var(--primary);font-size:14px;font-weight:900}.employee-picker-trigger{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--bg-secondary);width:100%;min-height:48px;color:var(--text-secondary);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:all .2s;display:flex}.employee-picker-trigger:hover,.employee-picker-trigger:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #0f766e1f}.employee-picker-trigger.selected{color:var(--text-primary)}.employee-picker-trigger span{gap:3px;min-width:0;display:grid}.employee-picker-trigger small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.loan-employee-picker-modal{max-width:640px}.employee-picker-search{margin-bottom:16px;position:relative}.employee-picker-search svg{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.employee-picker-search .form-input{padding-left:42px}.employee-picker-list{gap:8px;max-height:420px;padding-right:4px;display:grid;overflow-y:auto}.employee-picker-option{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--bg-secondary);width:100%;min-height:64px;color:var(--text-primary);text-align:left;cursor:pointer;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;transition:all .2s;display:grid}.employee-picker-option:hover,.employee-picker-option.active{border-color:var(--accent-primary);background:#0f766e0f}.employee-picker-avatar{border-radius:var(--radius-full);background:var(--accent-primary);color:#fff;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:inline-flex}.employee-picker-details{gap:4px;min-width:0;display:grid}.employee-picker-details strong,.employee-picker-details small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.employee-picker-details small{color:var(--text-secondary);font-size:12px}.employee-picker-empty{text-align:center;color:var(--text-secondary);border:1px dashed var(--glass-border);border-radius:var(--radius-md);padding:28px}.employee-unsaved-modal{max-width:460px}.employee-unsaved-modal .modal-content p{color:var(--text-secondary);margin:0;line-height:1.6}.employee-info-summary{background-color:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-md);align-items:center;gap:16px;margin-bottom:24px;padding:16px;display:flex}.employee-info-summary .avatar-placeholder{border-radius:var(--radius-full);background:var(--accent-gradient);color:#fff;justify-content:center;align-items:center;width:48px;height:48px;font-size:16px;font-weight:700;display:flex;box-shadow:0 4px 10px #6366f133}.employee-info-summary .emp-name-badge{flex-direction:column;gap:4px;display:flex}.employee-info-summary .emp-code-label{color:var(--text-primary);font-size:14px;font-weight:700}.employee-info-summary .emp-dept-label{color:var(--text-secondary);font-size:12px;font-weight:500}.payment-scheme-card{border-radius:var(--radius-md);border:2px solid var(--glass-border);background:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;align-items:center;gap:12px;padding:14px 18px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.payment-scheme-card:hover{background-color:#6366f103;border-color:#6366f140;transform:translateY(-1px)}.payment-scheme-card.active{border-color:var(--accent-primary);box-shadow:var(--shadow-glow);background-color:#6366f10a}.payment-scheme-card svg{color:var(--text-secondary);transition:color .2s}.payment-scheme-card.active svg{color:var(--accent-primary)}.payment-scheme-card .card-title{color:var(--text-primary);font-size:14px;font-weight:700}.payment-scheme-card .card-desc{color:var(--text-secondary);margin-top:2px;font-size:11px}.input-with-icon-wrapper{align-items:center;width:100%;display:flex;position:relative}.input-with-icon-wrapper .input-icon{color:var(--text-secondary);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;left:14px}.input-with-icon-wrapper .input-icon-text{color:var(--text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;position:absolute;left:16px}.input-with-icon-wrapper .form-input{padding-left:38px}.stat-card-custom{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-md);min-width:140px;box-shadow:var(--shadow-sm);flex:1;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.stat-card-custom:hover{box-shadow:var(--shadow-md);border-color:#6366f126;transform:translateY(-1px)}.stat-card-icon-wrapper{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:38px;height:38px;display:flex}.stat-card-icon-wrapper.present{color:var(--status-present);background-color:#10b98114}.stat-card-icon-wrapper.absent{color:var(--status-absent);background-color:#ef444414}.stat-card-icon-wrapper.late{color:var(--status-half);background-color:#8b5cf614}.stat-card-icon-wrapper.wo{color:var(--accent-secondary);background-color:#0891b214}.stat-card-icon-wrapper.ot{color:var(--status-off);background-color:#f59e0b14}.stat-card-info{flex-direction:column;display:flex}.stat-card-info .label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;font-size:11px;font-weight:600}.stat-card-info .value{color:var(--text-primary);margin-top:2px;font-size:16px;font-weight:700}.table-edit-input,.table-edit-select{background-color:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-sm);border:1px solid #6366f14d;outline:none;width:100%;padding:6px 10px;font-size:13px;transition:all .2s;box-shadow:0 1px 2px #6366f10d}.table-edit-input:focus,.table-edit-select:focus{border-color:var(--accent-primary);background-color:var(--bg-secondary);box-shadow:0 0 0 2px #6366f126}.row-editing td{border-top:1px solid #6366f126;border-bottom:1px solid #6366f126;background-color:#6366f109!important}.payslip-sheet{color:#000;background:#fff;border:1px solid #111;width:min(100%,980px);margin:0 auto;font-family:Arial,sans-serif;font-size:13px;line-height:1.25}.payslip-title,.payslip-company,.payslip-address,.payslip-period{text-align:center;padding:3px 8px}.payslip-title{padding-top:16px;font-weight:700}.payslip-company{font-weight:700}.payslip-address{max-width:720px;margin:0 auto 16px}.payslip-period{border-top:1px solid #111;border-bottom:1px solid #111;font-weight:700}.payslip-grid{border-collapse:collapse;table-layout:fixed;width:100%}.payslip-grid th,.payslip-grid td{color:#000;vertical-align:middle;border:1px solid #111;padding:3px 5px}.payslip-grid th{text-align:left;font-weight:700}.payslip-grid td:first-child,.payslip-grid td:nth-child(3){width:28%}.payslip-grid td:nth-child(2),.payslip-grid td:nth-child(4){width:22%}.payslip-earnings-grid{margin-top:22px}.payslip-earnings-grid th:first-child{width:28%}.payslip-earnings-grid th:nth-child(2),.payslip-earnings-grid th:nth-child(3),.payslip-earnings-grid th:nth-child(5){width:16%}.payslip-earnings-grid th:nth-child(4){width:24%}.payslip-amount{text-align:right}.payslip-modern-table.payslip-loan-table th,.payslip-modern-table.payslip-loan-table td{text-align:right;overflow-wrap:anywhere;width:19%}.payslip-modern-table.payslip-loan-table th:first-child,.payslip-modern-table.payslip-loan-table td:first-child{text-align:left;width:24%}.payslip-modern-table.payslip-loan-table th:last-child,.payslip-modern-table.payslip-loan-table td:last-child{width:19%}.payslip-loan-date{color:var(--text-secondary);margin-top:4px;font-size:.85em;font-weight:400;display:block}.payslip-total-line td{font-weight:700}.payslip-net-grid{margin-top:18px}.payslip-net-grid th{text-align:left}.payslip-words{text-align:center;font-weight:700}.payslip-signatures{justify-content:space-between;align-items:flex-end;min-height:78px;padding:0 2px 2px;display:flex}.payslip-sheet{width:min(100%,1120px);color:var(--text-primary);font-family:var(--font-sans);background:0 0;border:0;margin:0 auto;font-size:14px;line-height:1.4}.payslip-modern-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;padding-bottom:22px;display:flex}.payslip-kicker{letter-spacing:.08em;color:var(--accent-secondary);text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:700;display:inline-flex}.payslip-modern-header h2{font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;margin:0;font-size:24px;font-weight:800}.payslip-modern-header p{max-width:620px;color:var(--text-secondary);margin:6px 0 0}.payslip-month-pill{border:1px solid var(--glass-border);background:var(--bg-secondary);color:var(--text-primary);border-radius:999px;flex:none;padding:10px 14px;font-weight:800}.payslip-details-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:24px;display:grid}.payslip-detail-item{border:1px solid var(--glass-border);background:#f8fafcd1;border-radius:8px;min-height:64px;padding:12px}.payslip-detail-item span{color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.payslip-detail-item strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:14px;font-weight:800;display:block}.payslip-finance-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;display:grid}.payslip-panel{border:1px solid var(--glass-border);background:#fff;border-radius:8px;overflow:hidden}.payslip-panel h3{border-bottom:1px solid var(--glass-border);background:var(--bg-secondary);text-transform:uppercase;margin:0;padding:14px 16px;font-size:14px;font-weight:800}.payslip-modern-table{border-collapse:collapse;table-layout:fixed;width:100%}.payslip-modern-table th,.payslip-modern-table td{border-bottom:1px solid var(--glass-border);color:var(--text-primary);padding:12px 16px}.payslip-modern-table th{color:var(--text-secondary);text-align:left;text-transform:uppercase;font-size:12px;font-weight:800}.payslip-modern-table th:first-child,.payslip-modern-table td:first-child{width:62%}.payslip-modern-table th:last-child,.payslip-modern-table td:last-child{text-align:right;width:38%}.payslip-modern-table tr:last-child td{border-bottom:0}.payslip-amount{text-align:right;font-variant-numeric:tabular-nums}.payslip-total-line td{background:#0ea5e90f;font-weight:800}.payslip-net-panel{background:#0ea5e93d;border:1px solid #0ea5e973;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:18px;display:grid;overflow:hidden}.payslip-net-panel div{background:#fff;padding:16px}.payslip-net-panel span{color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:800;display:block}.payslip-net-panel strong{color:var(--text-primary);font-size:20px;font-weight:900}.payslip-net-panel .payslip-net-total{background:#0ea5e914}.payslip-net-panel .payslip-ctc-total{background:#05966914}.payslip-net-panel .payslip-ctc-total span{color:var(--status-present)}.payslip-net-panel .payslip-ctc-total strong{color:var(--status-present);font-size:26px}.payslip-net-panel .payslip-net-total strong{color:var(--accent-secondary)}.payslip-net-panel p{text-align:center;color:var(--text-primary);background:#fff;grid-column:1/-1;margin:0;padding:12px 16px;font-weight:800}.payslip-signatures{min-height:88px;color:var(--text-secondary);margin-top:24px;padding:0;font-weight:700}.payslip-signatures span{border-top:1px solid var(--glass-border);min-width:220px;padding-top:12px}.slip-header{text-align:center;border-bottom:2px dashed var(--glass-border);margin-bottom:20px;padding-bottom:20px}.slip-title{font-family:var(--font-display);letter-spacing:.5px;text-transform:uppercase;color:var(--text-primary);font-size:24px;font-weight:800}.slip-subtitle{color:var(--text-secondary);margin-top:4px;font-size:13px}.slip-details-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.slip-detail-item{font-size:13px}.slip-detail-label{color:var(--text-secondary);font-weight:500}.slip-detail-value{color:var(--text-primary);margin-top:2px;font-weight:600}.slip-table-summary{border-collapse:collapse;width:100%;margin:20px 0}.slip-table-summary th,.slip-table-summary td{padding:10px 12px;font-size:13px}.slip-table-summary th{background-color:var(--bg-tertiary);border-bottom:1px solid var(--glass-border);font-weight:600}.slip-table-summary td{border-bottom:1px solid var(--glass-border)}.slip-total-row{color:var(--accent-secondary);font-size:16px;font-weight:700}.slip-total-row td{border-top:2px solid var(--accent-secondary);border-bottom:2px solid var(--accent-secondary);padding:14px 12px}.bulk-slip-print-area{display:none}.bulk-slip-print-area.pdf-capture{background:#fff;width:194mm;display:block;position:absolute;top:0;left:-10000px}.pdf-capture .bulk-slip-page,.pdf-capture .payslip-sheet{background:#fff;width:194mm;max-width:194mm;margin:0}.mobile-nav{display:none}@media (width<=991px){.sidebar,.app-container.nav-collapsed .sidebar{width:80px;padding:20px 10px}.logo-text,.nav-link span,.user-info,.sidebar-footer button span{display:none}.logo-container{justify-content:center;margin-bottom:16px;padding-bottom:16px}.sidebar-collapse-btn{display:none}.nav-link{justify-content:center;padding:12px}.main-content{width:calc(100% - 80px);margin-left:80px;padding:24px}.app-container.nav-collapsed .main-content{width:calc(100% - 80px);margin-left:80px}.content-header{margin:-24px -24px 28px;padding:24px 24px 18px}.payroll-filter-bar{justify-content:flex-start;width:100%}.expense-register-form{grid-template-columns:repeat(2,minmax(0,1fr))}.related-employees-field,.remarks-field{grid-column:span 2}.sticky-search-card{top:88px}}@media (width<=767px){.sidebar{display:none}.main-content{width:100%;margin-left:0;padding:16px 16px 100px}.attendance-correction-grid{grid-template-columns:1fr}.mobile-nav{background-color:var(--bg-secondary);border-top:1px solid var(--glass-border);z-index:999;width:100%;min-height:70px;padding:8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(12px);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;box-shadow:0 -4px 15px #00000014}.mobile-nav-item{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1 1 0;align-items:center;gap:4px;min-width:0;min-height:54px;padding:6px 4px;font-size:10px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.mobile-nav-item span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.mobile-nav-item.active{color:var(--accent-primary);background:#4f46e514}.payroll-filter-bar label,.payroll-filter-bar .form-select{width:100%}.expense-register-form{grid-template-columns:1fr}.related-employees-field,.remarks-field{grid-column:auto}.expense-form-actions{justify-content:stretch}.expense-form-actions .btn{flex:1}.mobile-nav-item.active svg{color:var(--accent-primary);filter:drop-shadow(0 0 4px #6366f180)}.content-header{flex-direction:column;align-items:flex-start;gap:16px;margin:-16px -16px 24px;padding:16px}.sticky-search-card{top:126px}.employee-editor-intro,.employee-section-header,.employee-editor-actions{flex-direction:column;align-items:flex-start}.employee-editor-actions-group{justify-content:stretch;width:100%}.employee-editor-actions-group .btn{flex:220px}.employee-editor-summary{justify-content:flex-start}.employee-back-button{width:100%;min-width:0}.employee-editor-header-actions{width:100%}.employee-editor-header-actions .btn{flex:220px}.dashboard-grid{grid-template-columns:1fr}}@media print{@page{size:A4 portrait;margin:8mm}html,body{width:210mm;min-height:297mm;background:#fff!important;overflow:visible!important}body *{visibility:hidden}.modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;padding:0;position:absolute;top:0;left:0;background-color:#fff!important}.modal-container{box-shadow:none;border:none;width:100%;max-width:100%;color:#000!important;background-color:#fff!important}.slip-print-area,.slip-print-area *,.bulk-slip-print-area,.bulk-slip-print-area *{visibility:visible}.slip-print-area,.bulk-slip-print-area{width:100%;position:absolute;top:0;left:0;color:#000!important;box-shadow:none!important;background-color:#fff!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;display:block!important}.slip-print-area .page-subtitle{display:none!important}.bulk-slip-print-area{font-family:Arial,sans-serif;display:block}.bulk-slip-page{box-sizing:border-box;page-break-after:always;break-after:page;background:#fff;width:194mm;margin:0 auto;padding:0;display:block;overflow:hidden}.bulk-slip-page:last-child{page-break-after:auto;break-after:auto}.slip-print-area .payslip-sheet{width:194mm;max-width:194mm;margin:0 auto!important}.bulk-slip-page .payslip-sheet{width:194mm;max-width:194mm;height:100%;margin:0 auto!important}.payslip-sheet{color:#000!important;background:#fff!important;font-family:Arial,sans-serif!important;font-size:9.5pt!important;line-height:1.22!important}.payslip-modern-header{gap:6mm;margin-bottom:3mm;padding-bottom:3mm;border-bottom:1px solid #d9dde7!important}.payslip-kicker{margin-bottom:2mm;font-size:8.5pt;color:#0f8faf!important}.payslip-modern-header h2{font-size:15pt;color:#111827!important}.payslip-modern-header p{margin-top:1.5mm;color:#4b5563!important}.payslip-month-pill{padding:2.5mm 4mm;color:#111827!important;background:#f8fafc!important;border:1px solid #d9dde7!important}.payslip-details-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2mm;margin-bottom:3mm}.payslip-detail-item{break-inside:avoid;border-radius:2mm;min-height:11mm;padding:2mm;background:#f8fafc!important;border:1px solid #d9dde7!important}.payslip-detail-item span{margin-bottom:1mm;font-size:7.5pt;color:#667085!important}.payslip-detail-item strong{font-size:9pt;color:#111827!important}.payslip-finance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2mm}.payslip-panel{break-inside:avoid;border-radius:2mm;background:#fff!important;border:1px solid #d9dde7!important}.payslip-panel h3{padding:2mm 3mm;font-size:9pt;color:#111827!important;background:#f8fafc!important;border-bottom:1px solid #d9dde7!important}.payslip-modern-table th,.payslip-modern-table td{padding:1.5mm 2mm;color:#111827!important;border-bottom:1px solid #e5e7eb!important}.payslip-modern-table th{font-size:7.5pt;color:#667085!important}.payslip-total-line td{color:#111827!important;background:#edf9fc!important}.payslip-net-panel{break-inside:avoid;border-radius:2mm;margin-top:3mm;background:#98dbe8!important;border:1px solid #98dbe8!important}.payslip-net-panel div{padding:3.5mm;background:#fff!important}.payslip-net-panel span{margin-bottom:1mm;font-size:7.5pt;color:#667085!important}.payslip-net-panel strong{font-size:13pt;color:#111827!important}.payslip-net-panel .payslip-net-total{background:#edf9fc!important}.payslip-net-panel .payslip-ctc-total{background:#ebf6f3!important}.payslip-net-panel .payslip-ctc-total span{color:#059669!important}.payslip-net-panel .payslip-ctc-total strong{color:#059669!important;font-size:17pt!important}.payslip-net-panel .payslip-net-total strong{color:#0f8faf!important}.payslip-net-panel p{padding:1.5mm 2mm;font-size:9pt;color:#111827!important;background:#fff!important}.payslip-signatures{break-inside:avoid;min-height:14mm;margin-top:5mm;font-size:9pt;color:#4b5563!important}.payslip-signatures span{min-width:52mm;padding-top:3mm;border-top:1px solid #d9dde7!important}.bulk-slip-header{text-align:center;margin-bottom:24px}.bulk-slip-header h2{margin-bottom:10px}.bulk-slip-header h3{text-align:left;margin-top:24px}.bulk-slip-employee{margin:0 0 18px}.bulk-slip-table{border-collapse:collapse;width:100%}.bulk-slip-table td{border:1px solid #e5e7eb;padding:8px}.slip-total-row td{color:#000!important;border-top:2px solid #000!important;border-bottom:2px solid #000!important}.modal-header,.modal-footer,.btn,.sidebar,.mobile-nav{display:none!important}}.attendance-absent-row td{background-color:#fef2f2!important}.attendance-sunday-row td{background-color:#eff6ff!important}
