@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogScaleIn{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e3a5f59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:dialogFadeIn .2s ease-out}.dialog-card{background:var(--bg-card, #FFFFFF);width:min(440px,92vw);border-radius:var(--radius-lg, 16px);box-shadow:0 25px 50px -12px #00000040;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:dialogScaleIn .25s cubic-bezier(.16,1,.3,1)}.dialog-header{display:flex;align-items:center;gap:14px;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border, #E2E8F0)}.dialog-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dialog-icon.info{background:var(--info-bg, #E0F2FE);color:var(--info, #0EA5E9)}.dialog-icon.success{background:var(--success-bg, #D1FAE5);color:var(--success, #10B981)}.dialog-icon.warning{background:var(--warning-bg, #FEF3C7);color:var(--warning, #F59E0B)}.dialog-icon.error{background:var(--danger-bg, #FEE2E2);color:var(--danger, #EF4444)}.dialog-icon.confirm{background:var(--secondary-light, #EFF6FF);color:var(--primary, #2563EB)}.dialog-title{font-size:1.05rem;font-weight:600;color:var(--text-primary, #0F172A);margin:0;line-height:1.3}.dialog-close-btn{margin-left:auto;background:none;border:none;color:var(--text-secondary, #64748B);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.dialog-close-btn:hover{background:var(--bg-secondary, #F1F5F9);color:var(--text-primary, #0F172A)}.dialog-body{padding:1.25rem 1.5rem;overflow-y:auto;flex:1}.dialog-message{font-size:.925rem;color:var(--text-secondary, #64748B);line-height:1.6;margin:0;white-space:pre-line}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:1rem 1.5rem;border-top:1px solid var(--border, #E2E8F0)}.dialog-btn{padding:.55rem 1.35rem;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;border:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease;min-width:80px}.dialog-btn:active{transform:scale(.97)}.dialog-btn-cancel{background:var(--bg-card, #FFFFFF);color:var(--text-primary, #0F172A);border:1px solid var(--border, #E2E8F0)}.dialog-btn-cancel:hover{background:var(--bg-secondary, #F1F5F9);border-color:var(--text-muted, #94A3B8)}.dialog-btn-primary{background:var(--primary, #2563EB);color:#fff}.dialog-btn-primary:hover{background:var(--primary-hover, #1D4ED8);box-shadow:0 4px 6px -1px #2563eb33}.dialog-btn-success{background:var(--success, #10B981);color:#fff}.dialog-btn-success:hover{background:#059669;box-shadow:0 4px 6px -1px #10b98133}.dialog-btn-danger{background:var(--danger, #EF4444);color:#fff}.dialog-btn-danger:hover{background:#dc2626;box-shadow:0 4px 6px -1px #ef444433}.dialog-btn-warning{background:var(--warning, #F59E0B);color:#fff}.dialog-btn-warning:hover{background:#d97706}.employee-form-container{display:flex;height:85vh;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.sidebar-tabs{width:280px;min-width:0;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:1.5rem 0;transition:all .3s ease}.sidebar-tabs.closed{width:0;min-width:0;overflow:hidden;padding:0;border-right:none}.profile-photo-container{padding:1.5rem 0;display:flex;flex-direction:column;align-items:center;gap:.75rem;border-bottom:1px solid rgba(0,0,0,.05);margin-bottom:1rem}.photo-wrapper{width:150px;height:150px;border-radius:50%;background:#fff;border:3px solid #fff;box-shadow:0 4px 12px #0000001a;position:relative;overflow:hidden;cursor:pointer;transition:transform .2s}.photo-wrapper:hover{transform:scale(1.03)}.photo-wrapper img{width:100%;height:100%;object-fit:cover}.photo-overlay{position:absolute;bottom:0;left:0;right:0;background:#0009;color:#fff;font-size:.7rem;font-weight:600;padding:4px 0;text-align:center;opacity:0;transition:opacity .2s}.photo-wrapper:hover .photo-overlay{opacity:1}.emp-status-badge{padding:4px 12px;background:var(--bg-secondary);color:#0369a1;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase}.tab-btn{width:100%;padding:1.25rem 2rem;border:none;background:transparent;font-weight:600;color:var(--text-secondary);cursor:pointer;font-size:.95rem;transition:all .2s;display:flex;align-items:center;gap:1rem;text-align:left;position:relative}.tab-btn:hover{color:var(--text-primary);background:#00000008}.tab-btn.active{color:var(--primary);background:#fff}.tab-btn.active:after{content:"";position:absolute;right:-1px;top:15%;height:70%;width:4px;background:var(--primary);border-radius:4px 0 0 4px}.form-content-area{flex:1;display:flex;flex-direction:column;background:#fff;overflow:hidden}.form-content-area form{display:flex;flex-direction:column;height:calc(100% - 70px)}.form-header{padding:1.25rem 3rem;background:#fff;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;height:70px}.form-scroll-viewport{flex:1;overflow-y:auto;padding:3rem;display:flex;flex-direction:column;gap:2.5rem}.form-section{display:none;animation:fadeIn .4s ease-out}.form-section.active{display:block}.section-title{font-size:1rem;font-weight:800;margin-bottom:2rem;color:var(--primary);display:flex;align-items:center;gap:.75rem;text-transform:uppercase;letter-spacing:1px}.section-title:after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--border-color) 0%,transparent 100%);margin-left:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.6rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem 1rem;border:1.5px solid var(--border-color);border-radius:10px;font-family:inherit;font-size:.85rem;transition:all .2s;background:#fff;color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #234f791a;outline:none}.form-footer{padding:1.5rem 3rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;align-items:center;box-shadow:0 -4px 20px #00000008}.step-indicator{font-size:.85rem;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.step-indicator span{background:var(--primary);color:#fff;padding:2px 8px;border-radius:6px;font-size:.75rem}.btn-form{padding:.85rem 1.75rem;border-radius:12px;font-weight:700;font-size:.95rem;cursor:pointer;border:none;transition:all .2s;display:flex;align-items:center;gap:.75rem}.btn-form.primary{background:var(--primary);color:#fff}.btn-form.primary:hover{background:#1a2a2f}.btn-form.secondary{background:#fff;border:1.5px solid var(--border-color);color:var(--text-primary)}.toggle-group{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:12px;transition:all .2s}.toggle-group:hover{border-color:var(--primary);background:#fff}.toggle-group label{font-size:.85rem;font-weight:700;color:var(--text-primary);margin:0}.switch{position:relative;display:inline-block;width:48px;height:26px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border);transition:.4s;border-radius:34px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 2px 4px #0000001a}.switch input:checked+.slider{background-color:var(--border)}.switch input:focus+.slider{box-shadow:0 0 1px var(--border)}.switch input:checked+.slider:before{transform:translate(22px)}.upload-card-modern{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:all .3s ease;position:relative;overflow:hidden}.upload-card-modern:hover{border-color:var(--primary);box-shadow:0 4px 12px #0000000d}.upload-label{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.dropzone-area{border:2px dashed var(--border);border-radius:8px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-secondary);display:flex;flex-direction:column;align-items:center;gap:.5rem}.dropzone-area:hover{border-color:var(--primary);background:var(--bg-secondary)}.dropzone-area p{margin:0;font-size:.8rem;color:var(--text-secondary)}.file-preview-card{display:flex;align-items:center;gap:12px;padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;position:relative}.file-info{flex:1;overflow:hidden}.file-name{font-size:.85rem;font-weight:600;color:#166534;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.file-size{font-size:.75rem;color:#15803d;opacity:.8}.remove-file-btn{width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid #bbf7d0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#dc2626;transition:all .2s}.remove-file-btn:hover{background:#fee2e2;border-color:#fecaca;transform:scale(1.1)}.reset-btn-modern{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;margin:0 20px}.reset-btn-modern:hover{background:#fee2e2;color:#dc2626;border-color:#fecaca}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.section-icon{width:40px;height:40px;padding:8px;background:#eff6ff;color:var(--primary);border-radius:10px}.section-subtitle{margin:0;font-size:.85rem;color:var(--text-secondary)}.animate-slide-up{animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.toast-container{position:fixed;bottom:2rem;right:2rem;background:#fff;padding:1.25rem 1.75rem;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a;display:flex;align-items:center;gap:1rem;transform:translateY(150%);transition:transform .4s cubic-bezier(.175,.885,.32,1.275);z-index:1000;border-left:5px solid var(--success)}.toast-container.show{transform:translateY(0)}.toast-container.error{border-left-color:var(--danger)}@media (max-width: 768px){.employee-form-container{flex-direction:column;height:auto}.sidebar-tabs{width:100%;border-right:none;border-bottom:1px solid var(--border-color);flex-direction:row;overflow-x:auto;padding:.5rem;gap:.5rem;position:sticky;top:0;z-index:10;background:var(--bg-secondary)}.profile-photo-container{display:none}.tab-btn{width:auto;padding:.75rem 1rem;white-space:nowrap;border-radius:8px;font-size:.85rem;gap:.5rem}.tab-btn.active:after{display:none}.tab-btn.active{background:var(--primary);color:#fff}.form-content-area{height:auto}.form-scroll-viewport{padding:1.5rem}.form-grid{grid-template-columns:1fr!important}.form-group.full-width{grid-column:span 1!important}.form-footer{padding:1rem;position:sticky;bottom:0;background:var(--bg-secondary);z-index:10}}.premium-card{background:#fff;border-radius:16px;border:1px solid #E5E7EB;box-shadow:0 4px 20px #00000008;padding:24px;margin-bottom:24px;transition:all .25s ease}.premium-card:hover{box-shadow:0 8px 30px #0000000f;border-color:#d1d5db}.premium-card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #E5E7EB;font-size:1.1rem;font-weight:700;color:#1e3a5f}.premium-card-header svg{color:#3b82f6}.premium-summary-card{background:linear-gradient(145deg,#f0fdf4,#dcfce7);border:1.5px solid #BBF7D0;border-radius:16px;padding:24px;margin-bottom:24px}.premium-summary-card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #BBF7D0;font-size:1.05rem;font-weight:800;color:#166534}.premium-stat-item{display:flex;flex-direction:column;gap:4px}.premium-stat-label{font-size:.75rem;color:#4b5563;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.premium-stat-value{font-size:1.1rem;font-weight:800;color:#1e3a5f}.premium-stat-value.success{color:#166534}.premium-toggle-group{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f7f9fc;border:1px solid #E5E7EB;border-radius:12px;transition:all .25s ease}.premium-toggle-group:hover{border-color:#3b82f6;background:#fff}.premium-toggle-group label{font-size:.9rem;font-weight:600;color:#1e3a5f;margin:0;text-transform:none;letter-spacing:0}.attendance-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--card-bg);padding:1.5rem;border-radius:16px;box-shadow:0 4px 20px -5px #0000000d;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px -10px #234f7926;border-color:var(--primary)}.stat-info h3{font-size:.8rem;color:var(--text-secondary);font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:1px}.stat-info .value{font-size:2rem;font-weight:800;color:var(--text-primary);line-height:1}.stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all .3s ease}.icon-primary{background:linear-gradient(135deg,#eff6ff,#afc3d6);color:var(--primary)}.icon-success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:var(--success)}.icon-danger{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:var(--danger)}.icon-warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#c0d1e0}.attendance-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;background:var(--card-bg);padding:1rem;border-radius:16px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.view-tabs,.tab-switcher-premium{background:#d8e4ee;padding:5px;border-radius:12px;display:flex;gap:2px;border:1px solid var(--border-color)}.tab-btn{padding:.6rem 1.5rem;border:none;background:transparent;border-radius:10px;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-size:.85rem;display:flex;align-items:center;gap:.6rem;white-space:nowrap}.tab-btn.active{background:#fff;color:var(--primary);box-shadow:0 4px 12px -2px #234f7926}.tab-btn:hover:not(.active){color:var(--text-primary);background:#fffc}.tab-btn svg{opacity:.7;transition:transform .3s}.tab-btn.active svg{opacity:1;transform:scale(1.1)}.calendar-container{background:var(--card-bg);border-radius:20px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);padding:2.5rem}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem}.month-display{display:flex;align-items:center;gap:1rem;font-size:1.5rem;font-weight:800;color:var(--text-primary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem}.day-header{text-align:center;font-size:.8rem;color:var(--text-secondary);font-weight:700;padding:1rem 0;text-transform:uppercase;letter-spacing:1.5px}.day-cell{aspect-ratio:1.2 / 1;border-radius:14px;border:1px solid #D8E4EE;background:#f4f8fb;padding:.75rem;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.day-cell:hover{background:#fff;border-color:var(--primary);transform:scale(1.03);box-shadow:var(--shadow-md);z-index:10}.day-cell.other-month{opacity:.35}.day-cell.today{border:2px solid var(--primary);background:#f4f8fb}.day-number{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.day-status{display:flex;gap:4px;flex-wrap:wrap;margin-top:.5rem}.status-dot{width:6px;height:6px;border-radius:50%}.badge{padding:4px 8px;border-radius:6px;font-size:.7rem;font-weight:700;text-transform:uppercase}.badge-present{background:#dcfce7;color:#166534}.badge-absent{background:#fee2e2;color:#991b1b}.badge-late{background:#fef3c7;color:#92400e}.data-table-wrapper{background:#fff;border-radius:20px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);overflow:hidden}.data-table th{padding:1.25rem 1.5rem;font-weight:700;background:#f4f8fb;border-bottom:2px solid #D8E4EE}.data-table td{padding:1.2rem 1.5rem;border-bottom:1px solid #D8E4EE}.attendance-processing-container{height:100%;display:flex;flex-direction:column;background:var(--bg-color)}.page-title-bar{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:flex-end}.title-group h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.title-group p{color:var(--text-secondary);font-size:.9rem}.date-badge{background:#f4f8fb;color:#0369a1;padding:8px 16px;border-radius:20px;font-weight:600;font-size:.9rem;border:1px solid #AFC3D6;display:flex;align-items:center;gap:8px}.processing-toolbar{padding:0 1.5rem 1rem;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:.7rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.filter-select,.filter-input{padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:.9rem;min-width:180px;background:#fff;transition:.2s}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #234f791a}.table-wrapper{flex:1;background:transparent;margin:0 1.5rem 1.5rem;padding:0 .5rem;overflow:auto;position:relative}.processing-table{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:.85rem}.processing-table thead{position:sticky;top:0;background:#f4f8fb;z-index:10}.processing-table th{text-align:left;padding:12px 16px;font-weight:700;color:var(--text-secondary);white-space:nowrap;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px}.processing-table tbody tr{background:#fff;box-shadow:0 2px 4px #00000005;border:1px solid var(--border-color);transition:all .2s ease;cursor:pointer}.processing-table tbody tr:hover{transform:translateY(-2px);box-shadow:0 8px 15px -3px #234f791a;border-color:var(--primary)}.processing-table td{padding:12px 14px;vertical-align:middle;color:var(--text-primary);border:none}.processing-table tbody tr td:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}.processing-table tbody tr td:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.col-mono{font-family:Roboto Mono,monospace}.col-num{text-align:right;font-weight:500}.col-status{text-align:center}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-left{text-align:left!important}.table-input{width:100%;border:1px solid transparent;background:transparent;font-family:Roboto Mono,monospace;text-align:center;padding:6px 4px;border-radius:4px;transition:.2s;font-size:.85rem;color:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.table-input:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 2px #234f791a}.table-input:hover{background:#d8e4ee}.table-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;transition:.2s}.table-input::-webkit-calendar-picker-indicator:hover{opacity:1;transform:scale(1.1)}.status-badge{display:inline-block;width:28px;height:28px;line-height:26px;border-radius:50%;font-weight:700;text-align:center;font-size:.75rem}.status-badge.P{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.status-badge.A{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.status-badge.H{background:#ffedd5;color:#9a3412;border:1px solid #fed7aa}.status-badge.L{background:#f4f8fb;color:#075985;border:1px solid #AFC3D6}.status-selector-wrapper{display:flex;flex-direction:column;align-items:center;gap:4px}.status-dropdown-minimal{padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:700;border:1px solid var(--border-color);background:#fff;cursor:pointer;transition:all .2s;text-align:center}.status-dropdown-minimal:focus{outline:none;border-color:var(--primary)}.status-dropdown-minimal.P{border-color:#bbf7d0;color:#166534;background:#f0fdf4}.status-dropdown-minimal.A{border-color:#fecaca;color:#991b1b;background:#fef2f2}.status-dropdown-minimal.L{border-color:#afc3d6;color:#0369a1;background:#f4f8fb}.status-dropdown-minimal.H{border-color:#fed7aa;color:#9a3412;background:#fff7ed}.status-quick-actions{display:flex;gap:12px;opacity:.6;transition:.2s}.status-quick-actions:hover{opacity:1}.action-dot{width:14px;height:14px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .2s}.action-dot:hover{transform:scale(1.4)}.action-dot.present{background:#22c55e;border-color:#dcfce7}.action-dot.absent{background:#ef5350;border-color:#fee2e2}.row-saving{background-color:#f4f8fb!important;transition:background-color .3s}.row-saving td{opacity:.7}.mini-loader{width:14px;height:14px;border:2px solid var(--primary);border-bottom-color:transparent;border-radius:50%;display:inline-block;animation:rotation 1s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hour-visual-wrapper{display:flex;align-items:center;gap:8px;justify-content:center}.hour-progress-bg{width:60px;height:6px;background:#d8e4ee;border-radius:10px;overflow:hidden;position:relative;border:1px solid rgba(0,0,0,.03)}.hour-progress-fill{height:100%;border-radius:10px;transition:width .6s cubic-bezier(.4,0,.2,1);animation:barGrow 1s ease-out}.hour-progress-fill.high{background:#4caf50}.hour-progress-fill.mid{background:#234f79}.hour-progress-fill.low{background:#ef5350}.hour-decimal-val{font-family:Roboto Mono,monospace;font-size:.9rem;font-weight:700;min-width:45px;text-align:right}.hour-decimal-val.high{color:#4caf50}.hour-decimal-val.mid{color:#234f79}.hour-decimal-val.low{color:#ef5350}@keyframes barGrow{0%{width:0}}.is-late{color:var(--danger)!important;font-weight:600;background:#fef2f2!important}.is-early{color:#c0d1e0!important;font-weight:600;background:#fffbeb!important}.sticky-col{position:sticky;left:0;z-index:5;border-right:1px solid var(--border-color)!important}thead th.sticky-col{z-index:11}.att-modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e3a5f99;position:fixed;top:0;left:0;right:0;bottom:0;display:none;align-items:center;justify-content:center;z-index:1000}.att-modal-overlay.open{display:flex}.modal-content{background:#fff;border-radius:24px;padding:3rem;border:1px solid rgba(255,255,255,.1);max-width:600px;width:90%;position:relative}.upload-zone{border:2px dashed #C0D1E0;background:#f4f8fb;border-radius:20px;padding:3rem;text-align:center;cursor:pointer;transition:all .3s;margin-bottom:1.5rem}.upload-zone:hover{border-color:var(--primary);background:#f4f8fb}.preview-stats-bar{display:flex;gap:1rem;margin-bottom:1.5rem}.preview-stat{flex:1;background:#f4f8fb;padding:1rem;border-radius:12px;border:1px solid #C0D1E0;text-align:center}.preview-stat .label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;margin-bottom:4px;display:block;font-weight:700}.preview-stat .value{font-size:1.25rem;font-weight:800;color:var(--text-primary)}.preview-stat.errors{border-color:#fee2e2;background:#fff1f2}.preview-stat.errors .value{color:var(--danger)}.preview-table-wrapper{max-height:400px;overflow-y:auto;border:1px solid #C0D1E0;border-radius:12px;margin-bottom:1.5rem}.preview-table{width:100%;border-collapse:collapse;font-size:.85rem}.preview-table th{background:#d8e4ee;padding:10px 15px;text-align:left;font-weight:700;position:sticky;top:0}.preview-table td{padding:10px 15px;border-bottom:1px solid #D8E4EE}.row-error{background:#fff1f2}.validation-badge{padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:700}.badge-error{background:#fee2e2;color:#991b1b}.badge-valid{background:#dcfce7;color:#166534}@media (max-width: 1024px){.attendance-stats{grid-template-columns:repeat(2,1fr)}}.monthly-summary-container{padding:0 1.5rem 1.5rem}.monthly-summary-container .processing-table tbody tr{cursor:default}.monthly-summary-container .processing-table td{padding:16px 14px}.monthly-summary-container .processing-table th{background:#f4f8fb;color:var(--text-secondary);font-weight:800;border-bottom:2px solid var(--border-color)}.working-days-col{background:#234f7908;font-weight:800!important;color:var(--primary)!important}.animate-in{animation:fadeInSlide .4s ease-out forwards}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.import-split-container{display:flex;gap:2rem;padding:0 1.5rem 1.5rem;height:calc(100vh - 180px)}.import-left-panel{flex:0 0 350px;display:flex;flex-direction:column;gap:1.5rem}.import-right-panel{flex:1;background:#fff;border-radius:24px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;min-width:0}.import-right-panel.empty{justify-content:center;align-items:center;background:#f4f8fb80;border-style:dashed}.upload-zone-compact{border:2px dashed #C0D1E0;background:#fff;border-radius:20px;padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center}.upload-zone-compact:hover{border-color:var(--primary);background:#f4f8fb;transform:translateY(-2px)}.upload-zone-compact .icon-wrapper{width:60px;height:60px;background:#f4f8fb;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--primary)}.pay-modal-box{background:#fff;width:min(600px,95vw);height:100vh;padding:0;box-shadow:-10px 0 50px #00000026;transform:translate(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);position:relative;border-left:1px solid var(--border-color);overflow-y:auto;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.stat-mini-card b{font-size:1rem;color:var(--text-primary)}@keyframes popIn{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-pulse{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.attendance-loading-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);pointer-events:auto}.loading-spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-loader{display:flex;justify-content:center;align-items:center;min-height:400px;width:100%}.page-loader-content{display:flex;flex-direction:column;align-items:center;gap:14px}.page-loader-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:var(--primary, #2563EB);border-radius:50%;animation:page-loader-spin .7s linear infinite}.page-loader-title{font-size:.95rem;font-weight:700;color:var(--text-primary, #0F172A)}.page-loader-subtitle{font-size:.8rem;color:var(--text-secondary, #64748B);font-weight:500}@keyframes page-loader-spin{to{transform:rotate(360deg)}}.payroll-table-loading{display:flex;justify-content:center;align-items:center;min-height:320px;width:100%}.payroll-table-loading .spinner{display:flex;flex-direction:column;align-items:center;gap:12px}.payroll-table-loading .spinner-ring{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#234f79;border-radius:50%;animation:payroll-spin .7s linear infinite}.payroll-table-loading .spinner-title{font-size:.95rem;font-weight:700;color:#1e3a5f}.payroll-table-loading .spinner-subtitle{font-size:.8rem;color:#5b7791;font-weight:500}@keyframes payroll-spin{to{transform:rotate(360deg)}}:root{--bg-body: var(--bg-main);--bg-hover: var(--bg-secondary);--text-main: var(--text-primary);--text-accent: var(--accent);--primary-hover: #234F79;--primary-light: #F4F8FB;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif}.payroll-container{padding:0;margin-top:25px;margin-left:25px;margin-right:25px}.payroll-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.payroll-title h1{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--text-main)}.payroll-title p{color:var(--text-secondary);margin-top:4px;font-size:.95rem;font-weight:500}.filter-badge{background:#f0f4f9;padding:6px 14px;border-radius:30px;font-size:.75rem;font-weight:600;color:#2c577c;display:flex;align-items:center;gap:8px;cursor:default}.search-simple{background:#f4f8fb;border:1px solid #dce5ec;border-radius:32px;padding:6px 16px;display:flex;align-items:center;gap:8px}.search-simple input{border:none;background:transparent;font-size:.8rem;width:150px;outline:none;font-weight:400}.info-row{background:#f9fbfd;padding:12px 24px;display:flex;flex-wrap:wrap;gap:24px;border-bottom:1px solid #e9edf2;font-size:.8rem}.info-item{display:flex;align-items:baseline;gap:8px}.info-label{font-weight:500;color:#5f7d9c}.info-value{font-weight:700;color:#1f4e72}.salary-table{width:100%;border-collapse:collapse;font-size:.75rem}.salary-table th{text-align:left;padding:14px 12px;background:#f9fbfd;font-weight:600;color:#2c5a7a;border-bottom:1px solid #C0D1E0;font-size:.7rem}.salary-table td{padding:12px;border-bottom:1px solid #ecf3f8;color:#1f3b4c}.badge-code{background:#eef3fc;padding:4px 8px;border-radius:20px;font-size:.7rem;font-weight:500}.payroll-table-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:0 10px 25px -5px #0000000d;overflow:hidden;position:relative;margin-top:1rem}.payroll-table-wrapper{overflow-x:auto;padding:1.5rem 2rem}.payroll-table{width:100%;border-collapse:collapse;border-spacing:0}.payroll-table thead{position:sticky;top:0;z-index:100}.payroll-table thead th{background:#f4f8fb;padding:1.25rem 1rem;font-size:11px;font-weight:800;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.2px;border-bottom:2px solid var(--border);white-space:nowrap}.payroll-table tbody tr{transition:background .2s ease;border-bottom:1px solid var(--border)}.payroll-table tbody tr:hover{background:#f4f8fb;transform:none;box-shadow:none}.payroll-table td{padding:1.25rem 1rem;vertical-align:middle;border:none;font-family:var(--font-body)}.money-cell,.text-center{font-family:JetBrains Mono,Roboto Mono,monospace;font-size:.9rem;letter-spacing:-.2px}.col-group-attendance{background:#234f7905}.col-group-financial{background:#4caf5005}.emp-profile{display:flex;align-items:center;gap:1rem}.emp-avatar{width:42px;height:42px;border-radius:10px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;border:2px solid #F4F8FB}.emp-details h4{font-size:.9rem;font-weight:600;color:var(--text-main);margin:0}.emp-details span{font-size:.8rem;color:var(--text-secondary)}.emp-code-badge{background:#f4f8fb;color:#5b7791;padding:.4rem .75rem;border-radius:6px;font-size:.8rem;font-weight:500;border:1px solid #C0D1E0}.money-cell{font-family:var(--font-heading);font-weight:700;color:var(--text-main);font-size:.95rem}.money-cell.earned{color:var(--success)}.days-input{width:60px;padding:.5rem;border:1px solid var(--border);border-radius:8px;text-align:center;font-weight:600;color:var(--text-main);transition:.2s;background:#f4f8fb;margin:0 auto;display:block}.days-input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px var(--primary-light)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:.4rem .9rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase}.status-paid{background:#dcfce7;color:#166534}.status-pending{background:#fffcf0;color:#b45309}.payable-days-badge{display:inline-flex;align-items:center;justify-content:center;background:#f4f8fb;color:#234f79;font-weight:800;font-size:13px;padding:8px 16px;border-radius:10px;border:1px solid #AFC3D6;min-width:48px;box-shadow:0 2px 4px #2563eb0d}.lop-days-badge{display:inline-flex;align-items:center;justify-content:center;background:#fff1f2;color:#e11d48;font-weight:800;font-size:13px;padding:8px 16px;border-radius:10px;border:1px solid #ffe4e6;min-width:48px}.extra-days-badge{display:inline-flex;align-items:center;justify-content:center;background:#fffbeb;color:#c0d1e0;font-weight:800;font-size:13px;padding:8px 16px;border-radius:10px;border:1px solid #fef3c7;min-width:48px;box-shadow:0 2px 4px #d977060d}.status-badge.pending{background:#f4f8fb;color:#5b7791;border:1px solid #C0D1E0;font-size:10px;padding:4px 12px}.summary-money.gross{font-weight:800;color:var(--primary);font-size:1.1rem}.action-icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;margin-left:4px}.action-icon-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.action-icon-btn.delete:hover{background:var(--danger);border-color:var(--danger)}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;padding:1rem 1.25rem;border-radius:16px;border:1px solid var(--border);box-shadow:0 4px 20px #00000008;margin-bottom:1.5rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.75rem}.filter-item{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;background:#f4f8fb;border:1px solid var(--border);border-radius:12px;transition:all .2s ease}.filter-item:hover,.filter-item:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px var(--primary-light)}.filter-item select,.filter-item input{border:none;background:transparent;font-size:.85rem;font-weight:600;color:var(--text-main);outline:none;cursor:pointer;font-family:var(--font-body)}.filter-item.search-box{flex-grow:1;max-width:350px}.filter-item.search-box input{width:100%;cursor:text}.cycle-selector{display:flex;align-items:center;gap:.5rem;background:#fff;padding:.4rem 1rem;border-radius:12px;border:1px solid var(--border)}.cycle-selector input{border:none;font-weight:700;color:var(--text-main);cursor:pointer;outline:none}.pay-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#1e3a5f4d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;justify-content:flex-end;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.pay-modal-overlay.active{opacity:1;visibility:visible}.pay-modal-box{background:#fff;width:min(600px,95vw);height:100vh;padding:0;box-shadow:-10px 0 50px #00000026;transform:translate(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);position:relative;border-left:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.pay-modal-overlay.active .pay-modal-box{transform:translate(0)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:1rem}.emp-info h3{font-size:1.25rem;font-weight:700;font-family:var(--font-heading);color:var(--text-main);margin-bottom:2px}.emp-info span{font-size:.9rem;color:var(--text-secondary);display:block}.close-btn{background:#d8e4ee;border:none;width:32px;height:32px;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#fee2e2;color:var(--danger);transform:rotate(90deg)}.calendar-container{padding:1.5rem 2rem;flex:1}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.75rem;font-weight:700;color:var(--text-secondary);margin-bottom:.75rem;letter-spacing:.05em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:1.5rem}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:.9rem;font-weight:600;color:var(--text-main);cursor:default;transition:transform .2s;border:1px solid #D8E4EE}.cal-day.present{background:#12b76a;color:#fff;border:none}.cal-day.absent{background:#f04438;color:#fff;border:none}.cal-day.halfday{background:#6e91b2;color:#fff;border:none}.cal-day.leave,.cal-day.weekoff{background:#234f79;color:#fff;border:none}.cal-day.empty{background:transparent;border:none}.legend{display:flex;gap:1.25rem;justify-content:center;padding:1.5rem 2rem;border-top:1px solid var(--border);background:#f4f8fb}.legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.dot{width:10px;height:10px;border-radius:3px}.dot.present{background:var(--success)}.dot.absent{background:var(--danger)}.dot.halfday{background:#6e91b2}.dot.leave{background:#234f79}.dot.weekoff{background:var(--warning)}.cal-day.today{border:2px solid var(--primary)!important;box-shadow:0 0 10px #234f7933;position:relative}.cal-day.today:after{content:"TODAY";position:absolute;top:-12px;font-size:8px;background:var(--primary);color:#fff;padding:1px 4px;border-radius:4px;font-weight:800}.calendar-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin:1rem 0;padding:.75rem;background:#f4f8fb;border-radius:12px}.stat-mini-card{text-align:center}.stat-mini-card span{display:block;font-size:.7rem;color:var(--text-secondary);font-weight:700;text-transform:uppercase}.stat-mini-card b{font-size:1rem;color:var(--text-main)}.month-nav{display:flex;align-items:center;gap:1rem}.nav-btn{background:#d8e4ee;border:none;padding:6px;border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:.2s;display:flex;align-items:center;justify-content:center}.nav-btn:hover{background:var(--primary-light);color:var(--primary)}.cal-day{position:relative;cursor:pointer}.cal-day:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.cal-tooltip{position:absolute;bottom:110%;left:50%;transform:translate(-50%);background:#1e3a5f;color:#fff;padding:.6rem;border-radius:8px;font-size:.7rem;white-space:nowrap;z-index:100;pointer-events:none;opacity:0;transition:.2s;box-shadow:0 10px 15px -3px #0000004d}.wo-icon{position:absolute;bottom:2px;right:2px;font-size:10px;opacity:.8}.cal-day:active{transform:scale(.95)}.ultra-table-card{background:#fff;border-radius:20px;border:1px solid #C0D1E0;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d;margin-top:1.5rem}.ultra-table-header{padding:20px;border-bottom:1px solid #D8E4EE;display:flex;align-items:center;gap:10px;background:#fff}.gross-earnings-badge-ultra{background:linear-gradient(135deg,#234f79,#234f79);color:#fff;padding:8px 18px;border-radius:12px;font-size:.85rem;font-weight:800;box-shadow:0 4px 12px #234f7940;display:inline-flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.1);min-width:100px;cursor:pointer}.gross-earnings-badge-ultra:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #234f794d;background:linear-gradient(135deg,#234f79,#6e91b2)}.status-badge-ultra{padding:6px 14px;border-radius:10px;font-size:.75rem;font-weight:700;letter-spacing:.02em}.ultra-table-wrapper{overflow-x:auto}.ultra-table{width:100%;border-collapse:collapse}.ultra-table thead tr{background:#f4f8fb}.ultra-table th{text-align:left;padding:14px 20px;font-size:.75rem;font-weight:800;color:#5b7791;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #D8E4EE}.ultra-table td{padding:14px 20px;border-bottom:1px solid #D8E4EE;vertical-align:middle;font-family:var(--font-body)}.ultra-table tbody tr:last-child td{border-bottom:none}.present-plus{position:relative}.present-plus:after{content:"+";position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:#9ca3af;font-weight:500;font-size:14px;pointer-events:none}.eligible-equals{position:relative}.eligible-equals:after{content:"=";position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:#9ca3af;font-weight:500;font-size:14px;pointer-events:none}.ultra-table tbody tr:hover{background:#fcfdfe}.ultra-action-btn{width:32px;height:32px;border-radius:10px;border:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0}.ultra-action-btn.edit{background:#f4f8fb;color:#234f79}.ultra-action-btn.edit:hover{background:#234f79;color:#fff}.ultra-action-btn.delete{background:#fef2f2;color:#ef5350}.ultra-action-btn.delete:hover{background:#ef5350;color:#fff}.ultra-action-btn.view{background:#f0fdf4;color:#16a34a}.ultra-action-btn.view:hover{background:#16a34a;color:#fff}.sno-cell{text-align:center;font-weight:600;color:#5b7791;font-size:.85rem}.date-cell{font-weight:700;color:var(--warning)}.emp-name-cell{font-weight:700;color:#1e3a5f}.emp-code-subtext{font-size:.7rem;color:#94a3b8}.amount-cell{font-weight:700;color:#4caf50}.status-badge-ultra{padding:4px 10px;border-radius:12px;font-size:.65rem;font-weight:800;text-transform:uppercase}.np-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.025em;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;white-space:nowrap}.ultra-filter-bar{display:flex;flex-wrap:wrap;gap:12px 14px;background:#fff;padding:16px 24px;border-radius:20px 20px 0 0;border:1px solid #C0D1E0;border-bottom:none;align-items:flex-end;box-shadow:0 4px 6px -1px #0000000d}.ultra-filter-bar+.ultra-table-card{margin-top:0;border-radius:0 0 20px 20px;border-top:1px solid #D8E4EE}.ultra-filter-group{display:flex;flex-direction:column;gap:5px;flex:1 1 130px;min-width:125px}.ultra-filter-group.search-group{flex:1.5 1 180px;min-width:160px}.ultra-filter-group.cycle-group{flex:0 0 auto;min-width:200px}.ultra-filter-label{display:flex;align-items:center;gap:5px;font-size:.65rem;font-weight:800;color:#5b7791;text-transform:uppercase;letter-spacing:.05em;margin-left:2px}.ultra-filter-input,.ultra-filter-select{height:40px;background:#f4f8fb;border:1px solid #C0D1E0;border-radius:10px;padding:0 10px;font-size:.82rem;font-weight:600;color:#1e3a5f;transition:all .2s;width:100%;outline:none;box-sizing:border-box}.ultra-filter-input:focus,.ultra-filter-select:focus{border-color:#234f79;background:#fff;box-shadow:0 0 0 3px #234f791f}.ultra-filter-actions{display:flex;align-items:flex-end;gap:10px;margin-left:auto;flex:0 0 auto}.ultra-filter-stats{background:#eaf2f9;padding:4px 14px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:40px;min-width:100px;border:1px solid #C0D1E0;box-sizing:border-box}.ultra-stats-label{font-size:.58rem;font-weight:800;color:#5b7791;text-transform:uppercase;line-height:1.1}.ultra-stats-value{font-size:.88rem;font-weight:800;color:#1e3a5f;line-height:1.1}@media (max-width: 768px){.ultra-filter-bar{padding:12px;gap:10px}.ultra-filter-group{min-width:calc(50% - 6px);flex:1}.ultra-filter-actions{width:100%;margin-left:0;justify-content:space-between}}.ultra-table tbody tr:hover{background-color:#f4f8fb!important}.settings-container{animation:fadeIn .3s ease}.settings-hub{margin:0 auto;padding:1rem 0}.settings-hub-header{text-align:center;margin-bottom:3rem}.settings-hub-title{font-size:2.25rem;font-weight:800;color:var(--text-main, #1E3A5F);margin-bottom:.75rem;letter-spacing:-.025em}.settings-hub-desc{color:var(--text-muted, #5B7791);font-size:1.1rem;max-width:600px;margin:0 auto}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.settings-card{background:#fff;border:1px solid var(--border-color, #C0D1E0);border-radius:16px;padding:2.25rem;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;justify-content:space-between;transition:all .3s cubic-bezier(.16,1,.3,1);cursor:pointer;position:relative;overflow:hidden}.settings-card:hover{transform:translateY(-5px);box-shadow:0 12px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border-color:var(--primary, #234F79)}.card-icon-wrapper{width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:1.75rem;transition:transform .3s ease}.settings-card:hover .card-icon-wrapper{transform:scale(1.1) rotate(-5deg)}.card-title{font-size:1.35rem;font-weight:700;color:var(--text-main, #1E3A5F);margin-bottom:.75rem}.card-desc{color:var(--text-muted, #5B7791);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.card-footer-btn{margin-top:auto;color:var(--primary, #234F79);font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.5rem;transition:gap .2s ease}.settings-card:hover .card-footer-btn{gap:.75rem}.detail-view-header{margin-bottom:2rem}.back-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.1rem;background:#fff;border:1px solid var(--border-color, #C0D1E0);border-radius:10px;color:var(--text-main, #1E3A5F);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;margin-bottom:1.5rem;pointer-events:auto;position:relative;z-index:10}.back-btn:hover{background:#f4f8fb;border-color:var(--primary);color:var(--primary)}.detail-module-title{font-size:1.75rem;font-weight:800;color:var(--text-main, #1E3A5F);margin-bottom:1.5rem}.settings-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem;position:relative;z-index:100;pointer-events:auto}.settings-filters{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;background:#f4f8fb;padding:.5rem .75rem;border-radius:12px;border:1px solid #C0D1E0}.settings-search-box{position:relative}.settings-search-box input{padding:.5rem .85rem .5rem 2.2rem;border:1px solid #C0D1E0;border-radius:8px;font-size:.8rem;width:100%;min-width:160px;max-width:280px;font-family:inherit;transition:all .2s;background:#fff;color:var(--text-primary, #1E3A5F)}.settings-search-box input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #234f791a}.settings-search-box .search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8;width:16px;height:16px}.filter-select{padding:.5rem .85rem;border:1px solid #C0D1E0;border-radius:8px;font-size:.8rem;background:#fff;color:var(--text-primary, #1E3A5F);font-family:inherit;cursor:pointer;min-width:140px;transition:all .2s}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #234f791a}.add-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;pointer-events:auto!important;position:relative;z-index:105}.add-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #234f7940}.settings-table-card{background:#fff;border-radius:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);overflow-x:auto}.settings-table{width:100%;table-layout:fixed;border-collapse:collapse}.settings-table th{text-align:left;padding:.75rem 1rem;font-size:.725rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #5B7791);font-weight:700;border-bottom:1px solid var(--border-color);background:#f4f8fb;white-space:nowrap}.settings-table td{padding:.875rem 1rem;font-size:.875rem;color:var(--text-primary, #1E3A5F);border-bottom:1px solid #D8E4EE;vertical-align:middle}.settings-table th:first-child,.settings-table td:first-child{width:60px;text-align:center}.settings-table th:last-child,.settings-table td:last-child{width:90px;text-align:center}.settings-table th:nth-last-child(2),.settings-table td:nth-last-child(2){width:80px;text-align:center}.settings-table th:nth-last-child(3),.settings-table td:nth-last-child(3){width:auto}.settings-table th:nth-last-child(4),.settings-table td:nth-last-child(4),.settings-table th:nth-last-child(5),.settings-table td:nth-last-child(5){width:auto}.settings-table tr:last-child td{border-bottom:none}.settings-table tbody tr{transition:background-color .15s ease}.settings-table tbody tr:hover td{background:#fafbfc}.cell-truncate{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-truncate>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.truncated-list{display:inline-flex;align-items:center;gap:4px;max-width:100%}.truncated-items{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.truncated-more{color:#234f79;font-weight:700;font-size:.75rem;cursor:pointer;white-space:nowrap;flex-shrink:0;padding:2px 8px;background:#eef4f9;border-radius:10px;transition:all .15s ease}.truncated-more:hover{background:#234f79;color:#fff}.cell-na{color:#94a3b8;font-weight:500}.status-switch{position:relative;display:inline-block;width:38px;height:22px}.status-switch input{opacity:0;width:0;height:0}.status-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#c0d1e0;transition:.3s;border-radius:22px}.status-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 2px #0000001a}.status-switch input:checked+.status-slider{background-color:#4caf50}.status-switch input:checked+.status-slider:before{transform:translate(16px)}.action-btn{padding:.4rem;border-radius:6px;color:var(--text-secondary, #5B7791);background:transparent;border:none;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;pointer-events:auto!important}.action-btn:hover{background:#d8e4ee;color:var(--primary)}.action-btn.danger:hover{background:#fef2f2;color:#ef5350}.settings-pagination{display:flex;justify-content:flex-end;padding:1rem 1.5rem;gap:.4rem;border-top:1px solid #D8E4EE}.page-btn{padding:.4rem .85rem;border:1px solid var(--border-color);background:#fff;border-radius:6px;cursor:pointer;font-size:.8rem;color:var(--text-secondary, #5B7791);transition:all .15s;font-family:inherit}.page-btn:hover{background:#f4f8fb;border-color:#c0d1e0}.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.settings-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;pointer-events:auto;animation:modalFadeIn .2s ease;opacity:1!important;visibility:visible!important}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:#fff;width:min(600px,95vw);border-radius:14px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1);max-height:90vh;overflow:hidden}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-box-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-box-header h3{font-size:1.1rem;font-weight:600;margin:0}.modal-close-btn{padding:.4rem;border-radius:6px;color:var(--text-secondary, #5B7791);background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:#d8e4ee;color:var(--text-primary, #1E3A5F)}.modal-box-body{padding:1.75rem;overflow-y:auto}.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.modal-form-group{margin-bottom:0}.modal-form-group.full-width{grid-column:span 2}.modal-form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.4rem;color:var(--text-primary, #1E3A5F)}.modal-form-control{width:100%;padding:.65rem .85rem;border:1px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:.9rem;transition:border-color .2s;background:#fff;color:var(--text-primary, #1E3A5F)}.modal-form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #234f7914}textarea.modal-form-control{resize:vertical;min-height:80px}.modal-box-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.75rem;background:#f4f8fb;border-radius:0 0 14px 14px}.modal-btn{padding:.65rem 1.25rem;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;border:none;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.modal-btn.secondary{background:#fff;border:1px solid var(--border-color);color:var(--text-primary, #1E3A5F)}.modal-btn.secondary:hover{background:#f4f8fb;border-color:#c0d1e0}.modal-btn.primary{background:var(--primary);color:#fff}.modal-btn.primary:hover{background:var(--primary-hover);box-shadow:0 4px 8px #234f7940}.settings-toast-container{position:fixed;bottom:2rem;right:2rem;z-index:2000;display:flex;flex-direction:column;gap:.5rem}.settings-toast{background:#fff;padding:.85rem 1.25rem;border-radius:8px;box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1));display:flex;align-items:center;gap:.75rem;border-left:4px solid #4CAF50;animation:toastSlideIn .35s cubic-bezier(.16,1,.3,1);font-size:.875rem}.settings-toast.error{border-left-color:#ef5350}@keyframes toastSlideIn{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}.empty-state{padding:3rem 1.5rem;text-align:center;color:var(--text-secondary, #5B7791)}.empty-state p{font-size:.9rem}@media (max-width: 768px){.settings-nav{width:100%;overflow-x:auto}.settings-toolbar{flex-direction:column;align-items:stretch}.settings-filters{flex-direction:column}.settings-search-box input{width:100%}.add-btn{width:100%;justify-content:center}}.settings-table-card.dragging{position:relative;border:2px dashed var(--primary);background:#f4f8fb}.drag-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;z-index:100;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;animation:fadeIn .2s ease}.drag-content{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--primary);font-weight:700;text-align:center}.drag-content p{margin:0;font-size:1rem}.modal-box-body table{min-width:100%}.modal-box-body thead th{background:#f4f8fb;border-top:1px solid #C0D1E0}html.theme-highlight-mode *{outline:2px solid var(--hl-color, #234F79)!important;outline-offset:1px!important;transition:outline .2s ease!important}html.theme-highlight-mode .sidebar,html.theme-highlight-mode .navbar,html.theme-highlight-mode .detail-view-header,html.theme-highlight-mode .settings-hub-header{outline-width:3px!important}.theme-color-row{display:grid;grid-template-columns:160px 36px 1fr;gap:.75rem;align-items:start;padding:.75rem 1rem;border-radius:8px;transition:all .2s ease;cursor:pointer}.theme-color-row:hover{background:#eef4f9}.theme-color-row.active{background:#e0ebf5}.theme-color-swatch{width:36px;height:36px;border-radius:8px;border:1px solid #C0D1E0;flex-shrink:0}.theme-color-name{font-family:Consolas,Courier New,monospace;font-size:.8rem;font-weight:600;color:#1e3a5f;white-space:nowrap}.theme-color-value{font-family:Consolas,Courier New,monospace;font-size:.7rem;color:#5b7791;margin-top:2px}.theme-color-purpose{font-size:.8rem;font-weight:500;color:#1e3a5f;margin-bottom:.4rem}.theme-usage-tag{display:inline-block;background:#eef4f9;color:#234f79;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:12px;margin:2px 4px 2px 0}.theme-preview-block{display:inline-flex;align-items:center;gap:.5rem;margin:.25rem .5rem .25rem 0;padding:.5rem .75rem;background:#f8fafc;border-radius:8px;border:1px solid #E2E8F0}.theme-highlight-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:.7rem;font-weight:600;cursor:pointer;border:1px solid #C0D1E0;background:#fff;color:#5b7791;transition:all .15s ease}.theme-highlight-btn:hover,.theme-highlight-btn.active{background:#234f79;color:#fff;border-color:#234f79}:root{--bg-main: #f4f7fa;--card-shadow: 0 10px 25px -5px rgba(0, 0, 0, .05), 0 8px 10px -6px rgba(0, 0, 0, .05);--card-shadow-hover: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--border-color: #e5eaf2;--primary: #6E91B2;--primary-light: #D8E4EE;--success: #4CAF50;--success-light: #ecfdf5;--danger: #f43f5e;--danger-light: #fff1f2;--warning: #234F79;--warning-light: #fffbeb;--text-main: #1E3A5F;--text-sub: #5B7791;--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(255, 255, 255, .5)}.salary-processing-container{padding:12px;max-width:100%;margin:0;width:100%;display:flex;flex-direction:column;gap:10px;background:var(--bg-main);min-height:100vh;font-family:Inter,sans-serif}.animate-in{animation:fadeInScale .5s cubic-bezier(.4,0,.2,1) forwards}@keyframes fadeInScale{0%{opacity:0;transform:scale(.98) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.processing-top-bar{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:10px 16px;border-radius:10px;border:1px solid var(--border-color);box-shadow:0 1px 3px #0000000a;margin-bottom:10px}.header-title h1{font-family:Outfit,sans-serif;letter-spacing:-.02em;color:var(--text-main)}.search-box-ultra{transition:all .3s ease}.search-box-ultra:focus-within{border-color:var(--primary)!important;box-shadow:0 0 0 2px var(--primary-light)}.processing-control{font-weight:600;font-size:.75rem;color:var(--text-main);cursor:pointer;transition:color .2s}.processing-control:hover{color:var(--primary)}.summary-filters-card{background:#fff;border-radius:10px;border:1px solid var(--border-color);box-shadow:0 1px 3px #0000000a;overflow:hidden}.processing-summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:10px 12px 8px}.summary-card{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:6px 8px;min-height:48px;border-right:1px solid var(--border-color)}.summary-card:last-child{border-right:none}.summary-icon{padding:4px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-label{font-size:.5rem;font-weight:700;color:var(--text-sub);text-transform:uppercase;letter-spacing:.06em;line-height:1.2}.summary-value{font-size:.85rem;font-weight:800;color:var(--text-main);font-family:Outfit,sans-serif;display:flex;align-items:center;gap:5px}.summary-value.primary{color:var(--primary)}.summary-value.success{color:var(--success)}.summary-value.danger{color:var(--danger)}.filters-divider{height:1px;background:var(--border-color);margin:0 12px}.processing-table-card{background:#fff;border-radius:10px;border:1px solid var(--border-color);box-shadow:0 1px 3px #0000000a;overflow:hidden}.table-header-row{padding:8px 12px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:#fcfcfd}.processing-table{width:100%;border-collapse:separate;border-spacing:0}.processing-table th{background:#f4f8fb;padding:6px 8px;font-size:.6rem;font-weight:800;color:var(--text-sub);text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--border-color);text-align:right;white-space:nowrap}.processing-table th.text-left{text-align:left}.processing-table th.highlight{background:var(--success-light);color:var(--success)}.processing-table td{padding:5px 8px;border-bottom:1px solid #D8E4EE;vertical-align:middle;font-size:.78rem;text-align:right;transition:background .2s}.processing-table td.text-left{text-align:left}.row-main{cursor:pointer}.row-main:hover td{background:#f8faff}.row-main.held td,.row-main.held:hover td{background:transparent!important}.row-main.expanded td{background:var(--primary-light)}.row-main.expanded.held td,.row-main.expanded.held:hover td{background:transparent!important}.row-main.expanded td{background:var(--primary-light);border-bottom:none}.emp-info-cell{display:flex;flex-direction:row;gap:8px;align-content:center;flex-wrap:nowrap;justify-content:flex-start;align-items:center}.emp-avatar{width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0;box-shadow:0 1px 2px #0000000d}.emp-details{display:flex;flex-direction:column;justify-content:center;line-height:1.4}.emp-details b{color:#1e3a5f;font-size:.8rem;font-weight:700;font-family:Inter,sans-serif}.emp-details div.role-text{color:#5b7791;font-size:.7rem;font-weight:500}.money{font-weight:600;color:var(--text-main);font-family:Inter,sans-serif;font-size:.78rem}.money.net{color:var(--success);font-weight:800;font-size:.75rem;background:var(--success-light);padding:2px 6px;border-radius:4px;display:inline-block}.row-details{background:#fcfcfd}.details-wrapper{padding:16px 24px;display:grid;grid-template-columns:1fr 1fr;gap:24px;background:linear-gradient(to bottom,var(--primary-light),white);border-bottom:1px solid var(--border-color)}.details-section h4{font-size:.65rem;font-weight:800;color:var(--text-sub);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;display:flex;align-items:center;gap:6px}.breakdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#fff;border:1px solid var(--border-color);border-radius:6px;font-size:.75rem;box-shadow:0 1px 2px #00000005}.breakdown-item span{color:var(--text-sub);font-weight:500;font-size:.7rem}.breakdown-item b{color:var(--text-main);font-weight:700;font-size:.75rem}.actions-footer{position:sticky;bottom:32px;background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:12px 24px;border-radius:12px;border:1px solid var(--glass-border);box-shadow:0 10px 25px -8px #0000001f;display:flex;justify-content:space-between;align-items:center;z-index:100;margin-top:12px}.formula-row{display:flex;gap:2rem;color:var(--text-sub);font-size:.8rem;font-weight:500}.formula-row b{color:var(--text-main)}.btn-proc{background:var(--success);color:#fff;padding:7px 18px;border-radius:8px;font-weight:700;font-size:.78rem;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease;box-shadow:0 2px 6px #4caf5033}.btn-proc:hover:not(:disabled){background:#43a047;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.btn-proc:active{transform:translateY(0)}.btn-sec{background:#fff;color:var(--text-main);padding:7px 14px;border-radius:8px;font-weight:600;font-size:.78rem;border:1px solid var(--border-color);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.btn-sec:hover{background:#f4f8fb;border-color:#c0d1e0}.ultra-month-picker{display:flex;align-items:center;height:28px;padding:0 2px;border-radius:6px;border:1px solid var(--border-color);background:#fff;gap:0}.month-nav-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--text-sub);padding:0;transition:background .15s}.month-nav-btn:hover{background:var(--bg-main);color:var(--text-main)}.month-display{display:flex;align-items:center;gap:4px;padding:0 6px;height:22px;background:var(--bg-main);border-radius:4px;font-size:.7rem;font-weight:600;color:var(--text-main);white-space:nowrap;cursor:pointer;position:relative}.processing-table tbody tr:nth-child(4n+1) td{background:#fff}.processing-table tbody tr:nth-child(4n+3) td{background:#fcfcfd}.status-badge-ultra{padding:2px 8px;border-radius:100px;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.section-card{margin-bottom:0}.compact-grid{margin-bottom:0;gap:6px}.filters-bar.compact-filters{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px;margin-bottom:0;align-items:center;background:#fff;border-top:1px solid #eef2f6}.search-box-ultra.compact-search{display:flex;align-items:center;padding:0 10px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;height:32px;min-width:215px;transition:all .2s cubic-bezier(.4,0,.2,1)}.search-box-ultra.compact-search:hover{border-color:#94a3b8}.search-box-ultra.compact-search:focus-within{border-color:var(--primary)!important;box-shadow:0 0 0 3px #6e91b226}.search-box-ultra.compact-search.has-value{border-color:var(--primary);background:#f0f7ff}.search-icon{color:#64748b;flex-shrink:0}.search-input-compact{border:none;outline:none;font-size:.75rem;width:100%;font-weight:500;height:100%;padding:0 6px;background:transparent;color:var(--text-main)}.clear-search-btn{border:none;background:#cbd5e1;color:#475569;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex-shrink:0;transition:all .15s ease}.clear-search-btn:hover{background:#ef4444;color:#fff}.hidden-month-input{position:absolute;opacity:0;width:0;height:0}.ultra-month-picker{display:flex;align-items:center;height:32px;padding:0 4px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;gap:2px;box-shadow:0 1px 2px #00000008;transition:all .2s ease}.ultra-month-picker:hover{border-color:#94a3b8}.month-display{display:flex;align-items:center;gap:6px;padding:0 8px;height:24px;background:#f8fafc;border-radius:6px;font-size:.75rem;font-weight:700;color:#1e293b;white-space:nowrap;cursor:pointer;position:relative;border:1px solid #e2e8f0}.calendar-icon{color:var(--primary)}.filters-group-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-item-compact{display:flex;align-items:center;background:#f8fafc;padding:0 10px;border-radius:8px;border:1px solid #e2e8f0;gap:6px;height:32px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.filter-item-compact:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 6px #0000000a}.filter-item-compact:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #6e91b226}.filter-item-compact.is-active{background:#f0f7ff;border-color:#0284c7;box-shadow:0 0 0 1px #0284c7}.filter-item-compact.is-active .filter-label,.filter-item-compact.is-active .filter-icon,.filter-item-compact.is-active .compact-select{color:#0284c7!important;font-weight:700}.filter-icon{color:#64748b;flex-shrink:0;transition:color .2s ease}.filter-label{font-size:.58rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;-webkit-user-select:none;user-select:none}.compact-select-wrapper{display:flex;align-items:center;position:relative}.compact-select{border:none;outline:none;background:transparent;font-size:.75rem;color:#1e293b;font-weight:600;cursor:pointer;height:100%;padding-right:14px;appearance:none;-webkit-appearance:none;-moz-appearance:none}.select-arrow{position:absolute;right:0;pointer-events:none;color:#64748b;transition:transform .2s ease,color .2s ease}.compact-select-wrapper:hover .select-arrow{color:#1e293b}.btn-reset-filters{display:flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:8px;background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;font-size:.72rem;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-reset-filters:hover{background:#fee2e2;border-color:#f87171;color:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 6px #dc262626}.group-by-compact{background:#f1f5f9;border:1px solid #cbd5e1}.group-by-compact.is-active{background:#f0fdf4;border-color:#16a34a;box-shadow:0 0 0 1px #16a34a}.group-by-compact.is-active .filter-label,.group-by-compact.is-active .group-icon,.group-by-compact.is-active .group-by-select{color:#16a34a!important}.group-icon{color:var(--primary);flex-shrink:0}.group-by-select{color:var(--text-main);font-weight:700}.ml-auto{margin-left:auto}.table-section-compact{border-radius:10px;background:#fff;border:1px solid var(--border-color);box-shadow:0 1px 3px #0000000a;overflow:hidden}.table-header-row.compact-header{padding:8px 12px;background:#fafbfc;border-bottom:1px solid var(--border-color)}.table-title-group{display:flex;align-items:center;gap:8px}.title-indicator{width:3px;height:16px;background:var(--primary);border-radius:2px}.table-title-text{font-weight:700;font-size:.8rem;color:var(--text-main)}.state-cell-compact{text-align:center;padding:0!important;color:var(--text-sub);height:250px}.state-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:6px}.state-text{font-size:.78rem;color:var(--text-main)}.state-subtext{font-size:.7rem;color:var(--text-sub)}.state-icon{opacity:.3;margin-bottom:4px;display:flex;justify-content:center}.group-header-row{background:#f4f8fb}.group-header-cell{padding:6px 12px!important;border-bottom:1px solid var(--border-color)!important}.group-header-content{display:flex;align-items:center;gap:6px;color:var(--text-main);font-weight:800;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em}.group-icon-wrapper{padding:2px;background:#fff;border-radius:3px;border:1px solid var(--border-color);display:flex}.group-count{color:var(--text-sub);font-weight:600;text-transform:none;letter-spacing:0}.pagination-compact{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-top:1px solid var(--border-color);background:#fcfcfd}.pagination-text{font-size:.7rem;color:var(--text-sub);font-weight:500}.pagination-buttons{display:flex;gap:6px}.pagination-btn-compact{padding:4px 12px;border-radius:6px;border:1px solid #C0D1E0;font-weight:600;font-size:.75rem;cursor:pointer;background:#fff;color:#1e3a5f;transition:all .2s}.pagination-btn-compact:disabled{background:#d8e4ee;color:#94a3b8;cursor:default;border-color:transparent}.pagination-btn-compact:not(:disabled):hover{background:#f4f8fb}.reset-container{padding:40px;max-width:1200px;margin:0 auto;width:100%}.reset-header{margin-bottom:32px}.reset-header h1{font-family:Outfit,sans-serif;font-size:28px;font-weight:700;color:#1e3a5f;margin-top:16px}.reset-header p{color:#5b7791;font-size:16px;margin-top:4px}.reset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.reset-card{background:#fff;border:1px solid #C0D1E0;border-radius:16px;padding:30px;display:flex;gap:24px;box-shadow:0 1px 3px #0000000d;transition:all .3s ease}.reset-card:hover{box-shadow:0 10px 15px -3px #0000000d;border-color:#c0d1e0}.reset-card.full-width{grid-column:span 2}.reset-card.danger-zone{border-left:4px solid #EF5350}.card-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-icon.danger{background:#fef2f2;color:#ef5350}.card-icon.warning{background:#fffbeb;color:#234f79}.card-icon.info{background:#eff6ff;color:#234f79}.card-body h3{font-family:Outfit,sans-serif;font-size:18px;font-weight:700;color:#1e3a5f;margin-bottom:8px}.card-body p{font-size:14px;color:#5b7791;line-height:1.5;margin-bottom:24px}.reset-form-group{margin-bottom:20px}.reset-form-group label{display:block;font-size:13px;font-weight:600;color:#5b7791;margin-bottom:8px}.reset-input{width:100%;padding:10px 14px;border:1px solid #C0D1E0;border-radius:8px;font-size:14px;font-family:Inter,sans-serif;outline:none;transition:.2s}.reset-input:focus{border-color:#234f79;box-shadow:0 0 0 3px #3b83f61a}.reset-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;background:#1e3a5f;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:.2s}.reset-btn:hover:not(:disabled){background:#1e3a5f;transform:translateY(-1px)}.reset-btn.danger{background:#ef5350}.reset-btn.danger:hover:not(:disabled){background:#dc2626}.reset-btn:disabled{opacity:.5;cursor:not-allowed}.search-container{width:100%;max-width:600px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:14px;color:#94a3b8}.search-bar{width:100%;padding:12px 14px 12px 44px;border:1px solid #C0D1E0;border-radius:12px;font-size:15px;outline:none;transition:.2s}.search-bar:focus{border-color:#234f79;box-shadow:0 0 0 4px #3b83f61a}.searching-spinner{position:absolute;right:14px;color:#234f79}.search-results-list{margin-top:16px;border:1px solid #C0D1E0;border-radius:12px;overflow:hidden;background:#f4f8fb}.search-result-item{padding:16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #C0D1E0;background:#fff;transition:.2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#d8e4ee}.emp-info{display:flex;align-items:center;gap:16px}.emp-code{background:#d8e4ee;color:#5b7791;font-size:12px;font-weight:700;padding:4px 10px;border-radius:6px;border:1px solid #C0D1E0}.emp-details{display:flex;flex-direction:column}.emp-name{font-size:15px;font-weight:600;color:#1e3a5f}.emp-role{font-size:12px;color:#5b7791}.delete-item-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;color:#ef5350;border:1px solid #fee2e2;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:.2s}.delete-item-btn:hover{background:#fef2f2;border-color:#fecaca}.reset-disclaimer{margin-top:40px;padding:20px;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;display:flex;gap:14px;color:#92400e;font-size:14px;line-height:1.6}.reset-disclaimer strong{color:#78350f}.back-btn{display:flex;align-items:center;gap:6px;color:#5b7791;background:none;border:none;font-size:14px;font-weight:600;cursor:pointer;padding:0;margin-bottom:8px;transition:.2s}.back-btn:hover{color:#1e3a5f;transform:translate(-4px)}.reset-auth-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1e3a5fe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000}.auth-card{background:#fff;width:100%;max-width:400px;padding:40px;border-radius:24px;text-align:center;box-shadow:0 25px 50px -12px #00000080}.auth-icon{width:80px;height:80px;background:#d8e4ee;color:#5b7791;border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.auth-card h2{font-family:Outfit,sans-serif;font-size:24px;font-weight:700;color:#1e3a5f;margin-bottom:12px}.auth-card p{color:#5b7791;font-size:15px;line-height:1.6;margin-bottom:32px}.pin-input{width:100%;text-align:center;font-size:32px;letter-spacing:12px;padding:12px;border:2px solid #C0D1E0;border-radius:12px;outline:none;transition:.3s;font-family:monospace}.pin-input:focus{border-color:#234f79;box-shadow:0 0 0 4px #3b83f61a}.pin-input.error{border-color:#ef5350;background:#fef2f2}.error-msg{display:block;color:#ef5350;font-size:13px;font-weight:600;margin-top:12px}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}.auth-cancel{padding:12px;background:#d8e4ee;color:#5b7791;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:.2s}.auth-submit{padding:12px;background:#1e3a5f;color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:.2s}.auth-submit:hover{background:#1e3a5f;transform:translateY(-1px)}.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.ent-access-container{display:grid;grid-template-columns:320px 1fr 300px;height:calc(100vh - 80px);background:#d8e4ee;gap:1px;border-top:1px solid #C0D1E0}.panel{background:#fff;display:flex;flex-direction:column;overflow:hidden}.panel-header{padding:1.25rem 1.5rem;border-bottom:1px solid #D8E4EE;display:flex;align-items:center;justify-content:space-between;background:#f4f8fb}.panel-header h3{margin:0 0 0 .75rem;font-size:.95rem;font-weight:700;color:#1e3a5f;text-transform:uppercase;letter-spacing:.05em}.header-main{display:flex;align-items:center}.user-registry{border-right:1px solid #C0D1E0}.search-bar{padding:1rem;position:relative}.search-bar svg{position:absolute;left:1.75rem;top:50%;transform:translateY(-50%);color:#94a3b8}.search-bar input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:#d8e4ee;border:1px solid transparent;border-radius:.75rem;font-size:.9rem;transition:all .2s}.search-bar input:focus{outline:none;background:#fff;border-color:#234f79;box-shadow:0 0 0 3px #234f791a}.list-scroll{flex:1;overflow-y:auto;padding:.5rem}.user-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:1rem;cursor:pointer;transition:all .2s}.user-card:hover{background:#f4f8fb}.user-card.active{background:#d8e4ee}.user-card .avatar{width:40px;height:40px;background:#234f79;color:#fff;border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-weight:700;text-transform:uppercase}.user-card .info{flex:1}.user-card .name{font-weight:600;color:#1e3a5f;margin:0;font-size:.9rem}.user-card .role{font-size:.75rem;color:#5b7791;margin:0;text-transform:uppercase}.permission-matrix{background:#fff}.matrix-scroll{flex:1;overflow-y:auto;padding:1.5rem}.module-group{margin-bottom:2rem}.group-title{font-size:.8rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.group-title:after{content:"";flex:1;height:1px;background:#d8e4ee}.matrix-table{border:1px solid #D8E4EE;border-radius:1rem;overflow:hidden}.module-section{margin-bottom:1rem;border:1px solid #C0D1E0;border-radius:1rem;overflow:hidden;background:#fff}.module-header{padding:1rem 1.5rem;background:#f4f8fb;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .2s}.module-header:hover{background:#d8e4ee}.module-title-main{display:flex;align-items:center;gap:1rem;font-weight:800;color:#1e3a5f;font-size:.85rem;letter-spacing:.05em}.module-title-main .count{color:#94a3b8;font-weight:500;font-size:.75rem}.pages-list{border-top:1px solid #C0D1E0;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.matrix-thead{display:grid;grid-template-columns:240px repeat(6,1fr);background:#fff;border-bottom:1px solid #D8E4EE}.matrix-thead .cell{padding:1rem;font-size:.75rem;font-weight:700;color:#5b7791;text-transform:uppercase;display:flex;align-items:center;gap:.5rem}.matrix-row{display:grid;grid-template-columns:240px repeat(6,1fr);border-bottom:1px solid #D8E4EE;transition:background .2s}.matrix-row:hover:not(.disabled){background:#f4f8fb}.matrix-row.disabled{opacity:.6}.matrix-row .cell{padding:1rem;display:flex;align-items:center}.matrix-row .module{display:flex;flex-direction:column}.matrix-row .name{font-weight:600;color:#1e3a5f;font-size:.9rem}.override-tag{font-size:.65rem;color:#234f79;background:#d8e4ee;padding:.1rem .4rem;border-radius:.25rem;width:fit-content;margin-top:.2rem}.toggle-switch{width:44px;height:22px;border-radius:11px;padding:3px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center}.toggle-switch.off{background:#c0d1e0}.toggle-switch.on .knob{transform:translate(22px)}.toggle-switch.disabled{cursor:not-allowed;opacity:.5}.knob{width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0000001a;transition:transform .3s cubic-bezier(.4,0,.2,1)}.preview-insights{border-left:1px solid #C0D1E0}.tabs{display:flex;padding:.5rem;gap:.25rem;background:#f4f8fb;border-bottom:1px solid #D8E4EE}.tabs button{flex:1;padding:.6rem;border:none;background:none;border-radius:.5rem;font-size:.8rem;font-weight:600;color:#5b7791;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s}.tabs button.active{background:#fff;color:#234f79;box-shadow:0 2px 4px #0000000d}.panel-body{flex:1;overflow-y:auto;padding:1.25rem}.sidebar-preview{background:#1e3a5f;border-radius:1rem;padding:1.25rem;color:#fff;min-height:400px}.preview-header{font-size:.7rem;font-weight:800;color:#5b7791;letter-spacing:.1em;margin-bottom:1rem}.preview-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;font-size:.85rem;transition:all .3s}.preview-item.hidden{opacity:.2;filter:grayscale(1);transform:scale(.95)}.icon-v{color:#4ade80}.icon-h{color:#f87171}.audit-trail{display:flex;flex-direction:column;gap:1rem}.audit-card{display:flex;gap:.75rem;position:relative;padding-bottom:1rem}.audit-card:after{content:"";position:absolute;left:4.5px;top:15px;bottom:0;width:1px;background:#c0d1e0}.audit-card:last-child:after{display:none}.audit-card .dot{width:10px;height:10px;background:#234f79;border-radius:50%;margin-top:5px;z-index:1}.audit-info{flex:1}.audit-info .msg{font-size:.85rem;color:#1e3a5f;margin:0}.audit-info .time{font-size:.7rem;color:#94a3b8;margin:.2rem 0 0}.btn-save{background:#234f79;color:#fff;padding:.6rem 1.25rem;border-radius:.75rem;font-weight:600;font-size:.85rem;border:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.btn-save:hover{background:#234f79;transform:translateY(-1px)}.spin{animation:spin 1s linear infinite}.um-container{padding:1.5rem;background:#f4f8fb;min-height:calc(100vh - 80px)}.um-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.um-header h1{margin:0;font-size:1.4rem;font-weight:800;color:#1e3a5f}.um-header p{margin:.25rem 0 0;font-size:.85rem;color:#5b7791}.um-toolbar{display:flex;align-items:center;gap:1rem}.um-search{position:relative}.um-search svg{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:#94a3b8}.um-search input{padding:.7rem 1rem .7rem 2.5rem;border:1px solid #C0D1E0;border-radius:.75rem;background:#fff;font-size:.9rem;width:260px;transition:all .2s}.um-search input:focus{outline:none;border-color:#234f79;box-shadow:0 0 0 3px #234f791a}.um-btn-primary{background:#234f79;color:#fff;border:none;border-radius:.75rem;padding:.7rem 1.25rem;font-weight:700;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.um-btn-primary:hover{background:#1e3a5f;transform:translateY(-1px)}.um-card{background:#fff;border:1px solid #C0D1E0;border-radius:1rem;overflow:hidden;box-shadow:0 1px 3px #0000000a}.um-table{width:100%;border-collapse:collapse}.um-table thead th{background:#f4f8fb;padding:.9rem 1.25rem;text-align:left;font-size:.72rem;font-weight:800;color:#5b7791;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #C0D1E0}.um-table tbody td{padding:1rem 1.25rem;border-bottom:1px solid #D8E4EE;font-size:.9rem;color:#1e3a5f;vertical-align:middle}.um-table tbody tr:last-child td{border-bottom:none}.um-table tbody tr:hover{background:#f4f8fb}.um-user-cell{display:flex;align-items:center;gap:.85rem}.um-avatar{width:38px;height:38px;border-radius:.75rem;background:#234f79;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;text-transform:uppercase;font-size:.95rem;flex-shrink:0}.um-avatar.inactive{background:#94a3b8}.um-user-name{font-weight:700;color:#1e3a5f}.um-user-email{font-size:.8rem;color:#5b7791}.um-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:.6rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:#d8e4ee;color:#234f79}.um-badge.super_admin{background:#d8e4ee;color:#234f79}.um-badge.hr_manager{background:#dcfce7;color:#166534}.um-badge.accounts{background:#fef3c7;color:#92400e}.um-badge.employee{background:#f3e8ff;color:#7e22ce}.um-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.um-status-dot.active{background:#4ade80}.um-status-dot.inactive{background:#f87171}.um-actions{display:flex;gap:.4rem}.um-action-btn{background:#f4f8fb;border:1px solid #C0D1E0;border-radius:.6rem;padding:.45rem;cursor:pointer;color:#234f79;display:flex;align-items:center;justify-content:center;transition:all .2s}.um-action-btn:hover{background:#d8e4ee;border-color:#234f79}.um-action-btn.danger{color:#ef5350}.um-action-btn.danger:hover{background:#fee2e2;border-color:#ef5350}.um-empty{padding:3rem;text-align:center;color:#5b7791}.um-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e3a5f73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10000;display:flex;align-items:center;justify-content:center}.um-modal{background:#fff;border-radius:1rem;width:520px;max-width:94vw;max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px #00000040}.um-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #D8E4EE;background:#f4f8fb;border-radius:1rem 1rem 0 0}.um-modal-header h3{margin:0;font-size:1.05rem;font-weight:800;color:#1e3a5f}.um-modal-close{background:none;border:none;cursor:pointer;color:#5b7791;padding:.25rem;border-radius:.4rem;display:flex}.um-modal-close:hover{background:#d8e4ee;color:#1e3a5f}.um-modal-body{padding:1.5rem}.um-form-group{margin-bottom:1.1rem}.um-form-group label{display:block;font-size:.8rem;font-weight:700;color:#1e3a5f;margin-bottom:.4rem}.um-form-group label .req{color:#ef5350}.um-form-control{width:100%;padding:.7rem .9rem;border:1px solid #C0D1E0;border-radius:.7rem;font-size:.9rem;color:#1e3a5f;background:#fff;box-sizing:border-box;transition:all .2s}.um-form-control:focus{outline:none;border-color:#234f79;box-shadow:0 0 0 3px #234f791a}.um-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.um-switch-row{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:#f4f8fb;border:1px solid #C0D1E0;border-radius:.75rem}.um-switch-row .um-switch-label{font-size:.9rem;font-weight:600;color:#1e3a5f}.um-switch-row .um-switch-state{font-size:.75rem;color:#5b7791;font-weight:700}.um-toggle{width:44px;height:22px;border-radius:11px;padding:3px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:#c0d1e0;display:flex;align-items:center;border:none}.um-toggle.on{background:#4ade80}.um-toggle .knob{width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;transition:transform .3s cubic-bezier(.4,0,.2,1)}.um-toggle.on .knob{transform:translate(22px)}.um-toggle:disabled{opacity:.5;cursor:not-allowed}.um-error-text{color:#ef5350;font-size:.8rem;margin-top:.35rem}.um-hint{font-size:.75rem;color:#94a3b8;margin-top:.35rem}.um-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid #D8E4EE;background:#f4f8fb;border-radius:0 0 1rem 1rem}.um-btn{border:none;border-radius:.7rem;padding:.7rem 1.25rem;font-size:.9rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.um-btn-secondary{background:#fff;color:#5b7791;border:1px solid #C0D1E0}.um-btn-secondary:hover{background:#d8e4ee}.um-btn-primary{background:#234f79;color:#fff}.um-btn-primary:hover{background:#1e3a5f}.um-btn:disabled{opacity:.6;cursor:not-allowed}.um-spin{animation:um-spin 1s linear infinite}@keyframes um-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.policy-setup-container{display:flex;flex-direction:column;height:calc(100vh - 120px);gap:1rem}.policy-setup-header{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:1rem 1.5rem;border-radius:20px;box-shadow:0 4px 20px #0000000d;border:1px solid #D8E4EE}.policy-setup-header h1{font-size:1.25rem;font-weight:800;color:#1e3a5f;margin:0;letter-spacing:-.02em}.header-btn-group{display:flex;gap:.75rem}.setup-btn{display:flex;align-items:center;gap:8px;padding:.6rem 1.25rem;border-radius:12px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.setup-btn.primary{background:linear-gradient(135deg,#234f79,#6e91b2);color:#fff;box-shadow:0 4px 12px #234f7933}.setup-btn.secondary{background:#f4f8fb;color:#5b7791;border-color:#c0d1e0}.setup-btn.success{background:#4caf50;color:#fff;box-shadow:0 4px 12px #4caf5033}.setup-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px #0000001a}.policy-setup-main{display:grid;grid-template-columns:320px 1fr;gap:1rem;flex:1;min-height:0}.policy-list-panel{background:#fff;border-radius:24px;border:1px solid #D8E4EE;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 25px #00000008}.panel-header{padding:1rem;border-bottom:1px solid #D8E4EE;display:flex;justify-content:space-between;align-items:center}.panel-header h3{margin:0;font-size:1rem;font-weight:800;color:#1e3a5f}.policy-table-wrapper{flex:1;overflow-y:auto}.policy-item-row{padding:1rem 1.25rem;border-bottom:1px solid #F4F8FB;cursor:pointer;transition:all .2s;display:grid;grid-template-columns:1fr auto;align-items:center}.policy-item-row:hover{background:#f4f8fb}.policy-item-row.active{background:#eff6ff;border-left:4px solid #234F79}.policy-info h4{margin:0 0 4px;font-size:.95rem;font-weight:700;color:#1e3a5f}.policy-info .meta{font-size:.75rem;color:#5b7791;display:flex;gap:12px}.policy-status{padding:4px 10px;border-radius:20px;font-size:.65rem;font-weight:800;text-transform:uppercase}.policy-status.active{background:#dcfce7;color:#166534}.policy-status.inactive{background:#fee2e2;color:#991b1b}.policy-config-panel{background:#fff;border-radius:24px;border:1px solid #D8E4EE;display:grid;grid-template-columns:1.8fr 1.2fr;gap:1.5rem;overflow-y:auto;padding:1.5rem;box-shadow:0 4px 25px #00000008}.config-left-side,.config-right-side{display:flex;flex-direction:column;min-width:0}.config-section{margin-bottom:1.5rem}.section-title{font-size:.75rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.25rem;display:flex;align-items:center;gap:8px}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.form-group label{font-size:.75rem;font-weight:700;color:#5b7791}.form-control{padding:.5rem .7rem;border-radius:12px;border:1.5px solid #C0D1E0;font-size:.8rem;transition:all .2s;background:#f4f8fb}.form-control:focus{border-color:#6e91b2;background:#fff;outline:none;box-shadow:0 0 0 4px #234f791a}.rule-card{background:#f4f8fb;padding:1.25rem;border-radius:16px;border:1px solid #C0D1E0;margin-top:10px}.threshold-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:.85rem;color:#5b7791}.threshold-input{width:60px;padding:4px 8px;border-radius:6px;border:1px solid #C0D1E0;text-align:center;font-weight:700}.simulator-panel{background:linear-gradient(180deg,#1e3a5f,#1e3a5f);border-radius:24px;display:flex;flex-direction:column;overflow-y:auto;padding:1.25rem;color:#fff;box-shadow:0 4px 25px #0000001a;position:relative}.simulator-panel .section-title{color:#94a3b8;margin-bottom:1.5rem}.simulator-inputs{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.5rem}.sim-input-group label{display:block;font-size:.75rem;font-weight:700;color:#5b7791;text-transform:uppercase;margin-bottom:8px}.sim-input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:.75rem 1rem;border-radius:12px;font-weight:700;font-size:1rem;transition:all .2s}.sim-input:focus{border-color:#6e91b2;background:#ffffff1a;outline:none}.sim-input-readonly{width:100%;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);color:#5b7791;padding:.75rem 1rem;border-radius:12px;font-weight:700;font-size:.85rem;font-style:italic;display:flex;align-items:center}.simulator-results{border-top:1px solid rgba(255,255,255,.1);padding-top:1.25rem;display:flex;flex-direction:column;gap:1rem}.sim-stat{display:flex;justify-content:space-between;align-items:center}.sim-stat h5{margin:0;font-size:.8rem;color:#94a3b8;font-weight:600}.sim-stat .value{font-size:1.1rem;font-weight:800}.sim-stat .value.highlight{color:#4caf50;font-size:1.5rem}.sim-warning{margin-top:auto;padding:1rem;background:#ef53501a;border:1px solid rgba(239,83,80,.2);border-radius:12px;color:#fca5a5;font-size:.75rem;display:flex;gap:10px;line-height:1.4}.toggle-wrapper{display:flex;align-items:center;gap:12px;cursor:pointer}.toggle-switch{width:44px;height:22px;background:#c0d1e0;border-radius:20px;position:relative;transition:all .3s}.toggle-switch.on{background:#4caf50}.toggle-knob{width:18px;height:18px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:all .3s}.toggle-switch.on .toggle-knob{left:24px}.salary-history-container{--bg-body: #F4F8FB;--bg-card: #ffffff;--border: #C0D1E0;--text-main: #1E3A5F;--text-secondary: #5B7791;--primary: #6E91B2;--primary-dark: #234F79;--accent: #D8E4EE;--success: #4CAF50;--success-bg: #d1fae5;--warning: #234F79;--warning-bg: #fef3c7;--danger: #EF5350;--danger-bg: #fee2e2;--info: #5B7791;--info-bg: #f3f4f6;--radius: 16px;--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--shadow-sm: 0 1px 2px 0 rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1);--shadow-float: 0 10px 15px -3px rgba(0,0,0,.05);max-width:1600px;margin:0 auto;padding:30px 40px;display:flex;flex-direction:column;gap:24px;min-height:calc(100vh - 100px)}.top-bar{background:#fff;padding:16px 24px;border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;border:1px solid var(--border)}.title-section{display:flex;align-items:center;gap:24px}.page-title-modern{font-family:var(--font-heading);font-size:24px;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:12px}.filters-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.control-group{display:flex;align-items:center;gap:8px;background:#f4f8fb;padding:6px 12px;border-radius:8px;border:1px solid var(--border)}.control-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}select.control{border:none;background:transparent;padding:4px 8px;font-size:14px;color:var(--text-main);outline:none;cursor:pointer;font-weight:500}.search-bar-modern{flex:1;background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px 16px;display:flex;align-items:center;gap:10px;min-width:250px;transition:all .2s}.search-bar-modern:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #234f791a}.search-input-modern{border:none;outline:none;width:100%;font-size:14px;color:var(--text-main)}.search-icon-modern{color:#94a3b8}.btn-modern{padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:.2s;white-space:nowrap}.btn-outline-modern{background:#fff;border:1px solid var(--border);color:var(--text-secondary)}.btn-outline-modern:hover{background:#f4f8fb;border-color:var(--text-secondary);color:var(--text-main)}.btn-primary-modern{background:var(--accent);color:#fff;border:none;box-shadow:0 2px 4px #234f7933}.btn-primary-modern:hover{background:#234f79;transform:translateY(-1px)}.employee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;padding-bottom:40px}.emp-card{background:#fff;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:24px;display:flex;flex-direction:column;gap:16px;transition:all .3s ease;position:relative;overflow:hidden;cursor:pointer}.emp-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-float);border-color:var(--primary)}.emp-header{display:flex;align-items:center;gap:16px}.emp-avatar-box{width:64px;height:64px;border-radius:50%;background:#d8e4ee;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:var(--primary);border:2px solid white;box-shadow:0 2px 4px #0000000d;flex-shrink:0}.emp-info{flex:1;display:flex;flex-direction:column;gap:2px}.emp-name-text{font-size:17px;font-weight:700;font-family:var(--font-heading);color:var(--text-main);line-height:1.2}.emp-role-text{font-size:12px;color:var(--text-secondary);font-weight:600;opacity:.8}.emp-code-badge{font-size:10px;color:var(--primary);font-family:JetBrains Mono,monospace;background:#d8e4ee;padding:1px 6px;border-radius:4px;display:inline-block;margin-top:2px;font-weight:700;width:fit-content}.emp-body-details{display:flex;flex-direction:column;gap:10px;font-size:13px;color:var(--text-secondary)}.detail-row-item{display:flex;align-items:center;gap:10px}.detail-icon{color:#94a3b8;width:14px}.detail-text{color:var(--text-main);font-weight:500}.emp-footer-actions{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border);margin-top:auto}.status-badge-pill{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.status-active-pill{background:var(--success-bg);color:#065f46;border:1px solid #6ee7b7}.status-inactive-pill{background:var(--info-bg);color:var(--text-secondary);border:1px solid var(--border)}.status-resigned-pill{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.status-noticeperiod-pill{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.status-badge.cancelled{background:#d8e4ee;color:#5b7791;border:1px solid #C0D1E0;font-size:10px;padding:4px 12px}.card-actions-row{display:flex;gap:8px}.action-icon-btn{width:32px;height:32px;border-radius:8px;background:#f4f8fb;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:.2s;border:1px solid transparent}.action-icon-btn:hover{background:#fff;color:var(--primary);border-color:var(--primary);box-shadow:0 2px 4px #0000000d}.back-btn-box{margin-bottom:16px}.btn-back{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);padding:8px 16px;border-radius:8px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:.2s}.btn-back:hover{color:var(--text-main);border-color:var(--text-main)}.profile-container-detail{max-width:1600px;margin-left:0}.profile-layout-grid{display:grid;grid-template-columns:minmax(280px,350px) 1fr;gap:30px;align-items:start;width:100%}.profile-sidebar-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden;position:sticky;top:24px;border:1px solid var(--border)}.cover-photo-header{height:120px;background:linear-gradient(135deg,var(--primary),#2dd4bf)}.profile-main-info{padding:0 25px 25px;text-align:center;margin-top:-60px}.avatar-large{width:120px;height:120px;border-radius:50%;border:5px solid var(--bg-card);object-fit:cover;background:#c0d1e0;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:var(--primary);box-shadow:var(--shadow-sm)}.profile-name-h1{font-size:1.5rem;font-weight:700;margin-top:15px;color:var(--text-main);font-family:var(--font-heading)}.profile-role-text{color:var(--text-secondary);font-weight:500;margin-top:2px}.profile-dept-text{color:var(--primary);font-weight:800;font-size:.85rem;margin-top:8px;text-transform:uppercase;letter-spacing:.05em}.profile-email-text{color:var(--text-secondary);font-size:.85rem;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:500}.active-status-badge{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:var(--primary-dark);padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;margin-top:15px}.active-status-badge.inactive{background:#fff1f2;color:#e11d48}.active-status-badge.notice-period{background:#fff7ed;color:#c2410c}.pulse-dot{width:8px;height:8px;background:var(--primary);border-radius:50%;animation:pulse-teal 2s infinite}.inactive .pulse-dot{background:#e11d48;animation:pulse-red 2s infinite}@keyframes pulse-teal{0%{box-shadow:0 0 #0d9488b3}70%{box-shadow:0 0 0 6px #0d948800}to{box-shadow:0 0 #0d948800}}@keyframes pulse-red{0%{box-shadow:0 0 #e11d48b3}70%{box-shadow:0 0 0 6px #e11d4800}to{box-shadow:0 0 #e11d4800}}.contact-details-list{padding:25px;border-top:1px solid var(--border)}.contact-detail-item{display:flex;align-items:center;gap:12px;margin-bottom:15px;color:var(--text-secondary);font-size:.95rem}.contact-detail-item svg{color:var(--primary)}.extra-details-list{padding:15px 25px;background:#f4f8fb;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border)}.extra-subsection-title{font-size:.75rem;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin-top:8px;margin-bottom:4px;border-bottom:1px solid #C0D1E0;padding-bottom:2px}.extra-detail-item{display:flex;justify-content:space-between;font-size:.85rem}.extra-label{color:var(--text-secondary);font-weight:500}.extra-value{color:var(--text-main);font-weight:600}.profile-content-area{display:flex;flex-direction:column;gap:25px}.profile-tabs-nav{display:flex;gap:30px;border-bottom:1px solid var(--border);padding:0 10px;overflow-x:auto;scrollbar-width:none}.profile-tabs-nav::-webkit-scrollbar{display:none}.profile-tab-btn{padding:12px 0;background:none;border:none;font-size:.95rem;color:var(--text-secondary);font-weight:700;cursor:pointer;position:relative;transition:all .3s;white-space:nowrap}.profile-tab-btn:hover{color:var(--primary)}.profile-tab-btn.active{color:var(--primary-dark)}.profile-tab-btn.active:after{content:"";position:absolute;bottom:-3px;left:0;width:100%;height:3px;background:var(--primary);border-radius:3px 3px 0 0}.info-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.info-stat-card{background:#fff;padding:24px;border-radius:16px;border:1px solid var(--border);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:12px}.info-stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary)}.info-stat-label{font-size:.75rem;font-weight:800;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:0}.info-stat-value{font-size:1.25rem;font-weight:800;color:var(--text-main)}.profile-detail-section{background:#fff;padding:30px;border-radius:20px;border:1px solid var(--border);box-shadow:var(--shadow-sm);animation:profileFadeIn .4s ease}@keyframes profileFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-section-title{display:flex;align-items:center;gap:12px;font-size:1.15rem;font-weight:800;color:var(--text-main);margin-bottom:25px;padding-left:15px;border-left:4px solid var(--primary)}.ultra-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.ultra-data-table{width:100%;border-collapse:collapse}.ultra-data-table th{background:#f4f8fb;text-align:left;padding:15px 20px;font-size:.8rem;color:var(--text-secondary);font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.ultra-data-table td{padding:18px 20px;font-size:.95rem;border-bottom:1px solid var(--border);color:var(--text-main)}.ultra-data-table tr:hover{background-color:var(--accent)}.btn-slip-view{background:#fff;color:var(--primary-dark);border:1px solid var(--primary);padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-slip-view:hover{background:var(--primary);color:#fff;transform:scale(1.05)}.payslip-modal-content{background:#fff;border-radius:var(--radius);width:90%;max-width:500px;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.payslip-modal-header{background:var(--primary);color:#fff;padding:24px;display:flex;justify-content:space-between;align-items:center}.payslip-modal-body{padding:30px}.payslip-row{display:flex;justify-content:space-between;margin-bottom:15px;font-size:.95rem;color:var(--text-main)}.payslip-total{margin-top:25px;padding-top:20px;border-top:2px dashed var(--border);font-weight:800;font-size:1.4rem;color:var(--primary);display:flex;justify-content:space-between}.payslip-footer{padding:20px 30px;background:#f4f8fb;text-align:right;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}@media (max-width: 1024px){.profile-layout-grid{grid-template-columns:1fr}.profile-sidebar-card{position:static}}.details-card{background:#fff;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.section-header{background:#f4f8fb;padding:14px 24px;font-size:13px;font-weight:700;color:var(--text-main);text-transform:uppercase;letter-spacing:.75px;border-bottom:1px solid var(--border);margin-bottom:20px;display:flex;align-items:center;gap:10px}.form-grid{padding:0 24px 24px;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-input{padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.form-input:focus{border-color:var(--primary)}.form-input.readonly{background:#d8e4ee;color:var(--text-secondary);cursor:not-allowed}.actions-card{background:#fff;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:24px;height:fit-content;position:sticky;top:24px}.history-table-section{grid-column:span 2;background:#fff;border-radius:var(--radius);border:1px solid var(--border);padding:24px;box-shadow:var(--shadow-sm)}.filter-tabs{display:flex;gap:6px;margin-left:20px}.filter-tab{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;border:1px solid var(--border);background:#f4f8fb;color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.filter-tab:hover{background:#fff;border-color:var(--primary);color:var(--primary)}.filter-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.nearest-container{background:#fff;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;animation:profileFadeIn .4s ease}.nearest-header{display:flex;align-items:center;gap:10px;padding:16px 24px;background:#fff7ed;border-bottom:1px solid #fed7aa;font-weight:700;font-size:.95rem;color:#9a3412}.nearest-count{margin-left:auto;font-size:.75rem;font-weight:600;color:#c2410c;background:#ffedd5;padding:3px 10px;border-radius:99px}.nearest-table td{cursor:pointer}.nearest-row{transition:background .2s}.nearest-row:hover{background:#f0fdfa!important}.nearest-row.nearest-expired td{background:#fef2f2}.nearest-row.nearest-expired:hover td{background:#fee2e2!important}.nearest-row.nearest-urgent td{background:#fff7ed}.nearest-row.nearest-urgent:hover td{background:#ffedd5!important}.nearest-row.nearest-warning td{background:#fffbeb}.nearest-row.nearest-warning:hover td{background:#fef3c7!important}.days-badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:.75rem;font-weight:700}.days-badge.nearest-expired{background:#fee2e2;color:#dc2626}.days-badge.nearest-urgent{background:#fed7aa;color:#c2410c}.days-badge.nearest-warning{background:#fef3c7;color:#92400e}.days-badge:not(.nearest-expired):not(.nearest-urgent):not(.nearest-warning){background:#d1fae5;color:#065f46}@media (max-width: 1024px){.salary-history-container{padding:20px}.top-bar,.filters-row{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}}@media (max-width: 768px){.salary-history-container{padding:20px}.top-bar,.filters-row{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}}.settlement-summary-card{margin-top:24px;padding:20px;background:linear-gradient(135deg,#fef2f2,#fff);border-radius:12px;border:1px solid #fecaca;display:flex;flex-direction:column;gap:12px}.summary-title{font-size:14px;font-weight:700;color:#991b1b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.summary-row{display:flex;justify-content:space-between;font-size:13px;color:#5b7791}.summary-val{font-weight:600;color:#1e3a5f}.summary-val.highlight{color:#234f79;font-size:15px;font-weight:700}.summary-val.paid{color:#c0d1e0;background:#d1fae5;padding:2px 8px;border-radius:4px;font-size:11px}.side-drawer-overlay{position:fixed;top:0;right:0;width:100%;height:100%;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.side-drawer-overlay.active{opacity:1;visibility:visible}.side-drawer-content{position:absolute;top:0;right:-500px;width:500px;height:100%;background:#fff;box-shadow:-10px 0 30px #0000001a;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.side-drawer-content.active{right:0}.drawer-header{padding:24px;border-bottom:1px solid #D8E4EE;display:flex;justify-content:space-between;align-items:center}.drawer-title{font-size:1.25rem;font-weight:700;color:#1e3a5f;margin:0}.drawer-subtitle{font-size:.875rem;color:#5b7791;margin:4px 0 0}.drawer-close-btn{background:#f4f8fb;border:1px solid #C0D1E0;border-radius:8px;padding:8px;cursor:pointer;color:#5b7791}.drawer-body{flex:1;overflow-y:auto;padding:24px}.mini-emp-card{background:#f4f8fb;border:1px solid #C0D1E0;border-radius:12px;padding:16px;display:flex;align-items:center;gap:16px;margin-bottom:24px}.mini-avatar{width:48px;height:48px;background:#234f79;color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem}.mini-name{font-weight:700;color:#1e3a5f;font-size:1rem}.mini-meta{font-size:.8125rem;color:#5b7791}.mini-salary{margin-left:auto;text-align:right}.mini-salary .label{font-size:.75rem;color:#5b7791;text-transform:uppercase;font-weight:600}.mini-salary .value{font-weight:700;color:#4caf50;font-size:.9375rem}.settlement-section{margin-bottom:32px}.section-label{font-size:.875rem;font-weight:700;color:#5b7791;display:flex;align-items:center;gap:8px;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.earnings-label{color:#4caf50!important}.deductions-label{color:#ef5350!important}.input-grid-settlement{display:grid;grid-template-columns:1fr 1fr;gap:16px}.input-group-settlement.full-width{grid-column:1 / span 2}.input-group-settlement label{display:block;font-size:.75rem;font-weight:600;color:#5b7791;margin-bottom:6px}.input-group-settlement input,.input-group-settlement textarea{width:100%;padding:10px 12px;border:1px solid #C0D1E0;border-radius:8px;font-size:.875rem;outline:none;transition:all .2s}.input-group-settlement input:focus{border-color:#234f79;box-shadow:0 0 0 3px #234f791a}.input-group-settlement textarea{height:80px;resize:none}.section-total{margin-top:12px;padding:12px;border-radius:8px;display:flex;justify-content:space-between;font-weight:700;font-size:.9375rem}.earnings-total{background:#ecfdf5;color:#065f46}.deductions-total{background:#fef2f2;color:#991b1b}.drawer-footer{padding:24px;border-top:1px solid #D8E4EE;background:#f4f8fb}.final-pay-box{text-align:center;margin-bottom:20px}.pay-label{font-size:.75rem;color:#5b7791;font-weight:700;letter-spacing:1px;margin-bottom:4px}.pay-amount{font-size:2rem;font-weight:800;color:#234f79}.process-btn{width:100%;padding:16px;background:#234f79;color:#fff;border:none;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s;box-shadow:0 4px 12px #234f794d}.process-btn:hover{background:#234f79;transform:translateY(-2px)}.process-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none}:root{--loan-primary: #234F79;--loan-success: #4CAF50;--loan-warning: #234F79;--loan-danger: #EF5350;--loan-text-main: #1E3A5F;--loan-text-secondary: #5B7791;--loan-border: #C0D1E0}.loan-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.loan-stat-card{background:#fff;padding:14px 20px;border-radius:14px;border:1px solid var(--loan-border);box-shadow:0 2px 4px -1px #0000000a;display:flex;flex-direction:column;justify-content:center;transition:all .2s ease}.loan-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #234f7914}.loan-stat-val{font-family:Outfit,sans-serif;font-size:1.35rem;font-weight:800;line-height:1.2}.loan-stat-lbl{font-size:.75rem;font-weight:700;color:var(--loan-text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-top:2px}.loan-id-cell{font-family:"monospace";font-weight:700;color:#234f79;background:#f4f8fb;padding:4px 10px;border-radius:6px;font-size:.75rem}.loan-status-pill{padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;gap:6px}.status-active{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.status-completed{background:#f4f8fb;color:#234f79}.status-hold{background:#fffbeb;color:#c0d1e0}.loan-readonly{background:#d8e4ee;color:#5b7791;cursor:not-allowed!important}.animate-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.deduction-reports-container{padding:1.5rem 2rem;min-height:100vh;background-color:#f4f8fb;font-family:Inter,system-ui,-apple-system,sans-serif}.reports-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;background:#fff;padding:1.25rem 2rem;border-radius:20px;box-shadow:0 4px 20px #00000008;border:1px solid rgba(226,232,240,.8)}.header-title-section h1{font-size:1.5rem;font-weight:900;color:#1e3a5f;margin:0;display:flex;align-items:center;gap:.75rem;letter-spacing:-.025em}.report-badge{background:linear-gradient(135deg,#f4f8fb,#f4f8fb);color:#0369a1;font-size:.65rem;padding:4px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;display:inline-block;margin-bottom:8px;border:1px solid #AFC3D6}.title-icon-box{width:44px;height:44px;background:#f4f8fb;border:1px solid #C0D1E0;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#234f79;box-shadow:var(--shadow-sm)}.header-meta{display:flex;align-items:center;gap:12px;margin-top:8px}.meta-item{font-size:.8rem;font-weight:600;color:#5b7791;display:flex;align-items:center;gap:6px}.meta-divider{width:4px;height:4px;background:#c0d1e0;border-radius:50%}.reports-filter-card{background:#fff;padding:1rem 1.5rem;border-radius:18px;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 12px #00000005;border:1px solid #D8E4EE}.filter-group{display:flex;flex-direction:column;gap:.35rem;flex:1}.filter-group label{font-size:.65rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:4px}.filter-input{padding:.65rem .85rem;border:1.5px solid #D8E4EE;background:#f4f8fb;border-radius:10px;font-size:.85rem;font-weight:700;color:#1e3a5f;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.filter-input:focus{border-color:#234f79;background:#fff;box-shadow:0 0 0 4px #3b82f60f}.reports-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:1.5rem}.summary-card-modern{background:#fff;padding:1.25rem 1.5rem;border-radius:20px;display:flex;flex-direction:column;gap:.35rem;box-shadow:0 4px 15px #00000005;border:1px solid #D8E4EE;transition:transform .2s ease}.summary-card-modern:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000000a}.summary-card-modern.primary{border-top:4px solid #234F79}.summary-card-modern.success{border-top:4px solid #4CAF50}.summary-card-modern.warning{border-top:4px solid #234F79}.summary-card-modern.danger{border-top:4px solid #EF5350}.summary-label{font-size:.7rem;font-weight:800;color:#5b7791;text-transform:uppercase;letter-spacing:.025em}.summary-value{font-size:1.75rem;font-weight:900;color:#1e3a5f;letter-spacing:-.02em}.report-table-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 10px 40px #0000000a;border:1px solid rgba(226,232,240,.8);margin-top:1rem}.report-table{width:100%;border-collapse:separate;border-spacing:0}.report-table thead th{background:#f4f8fbcc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.25rem 1.5rem;text-align:left;font-size:.65rem;font-weight:800;color:#5b7791;text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid #D8E4EE;position:sticky;top:0;z-index:10}.report-data-row{transition:all .2s cubic-bezier(.4,0,.2,1)}.report-data-row:hover{background-color:#f4f8fb;transform:scale(1.001)}.report-table td{padding:1.25rem 1.5rem;vertical-align:middle;border-bottom:1px solid #D8E4EE}.sno-cell{font-family:JetBrains Mono,monospace;font-weight:800;color:#94a3b8;font-size:.75rem}.staff-profile-cell{display:flex;align-items:center;gap:12px}.avatar-bubble{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.9rem;box-shadow:0 4px 10px #0000001a}.staff-meta{display:flex;flex-direction:column;gap:1px}.staff-name{font-weight:800;color:#1e3a5f;font-size:.95rem;letter-spacing:-.01em}.staff-id{font-size:.7rem;font-weight:700;color:#5b7791;background:#d8e4ee;padding:1px 6px;border-radius:4px;width:fit-content}.location-cell{display:flex;flex-direction:column;gap:4px}.branch-tag{display:flex;align-items:center;gap:5px;font-size:.75rem;font-weight:800;color:#1e3a5f}.dept-label{font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.02em}.deduction-pill{padding:4px 12px;border-radius:20px;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.deduction-pill.id-card{background:#ecfdf5;color:#047857;border:1px solid #d1fae5}.deduction-pill.uniform{background:#eff6ff;color:#234f79;border:1px solid #AFC3D6}.deduction-pill.caution-deposit{background:#fff7ed;color:#c0d1e0;border:1px solid #ffedd5}.deduction-pill.other{background:#f4f8fb;color:#5b7791;border:1px solid #C0D1E0}.approver-cell{display:flex;flex-direction:column;gap:3px}.approver-info{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:#4caf50}.reason-text{font-size:.7rem;font-weight:600;color:#5b7791;font-style:italic}.amount-cell{display:flex;align-items:baseline;justify-content:flex-end;gap:2px}.currency-symbol{font-size:.75rem;font-weight:700;color:#94a3b8}.amount-value{font-family:Inter,sans-serif;font-weight:900;font-size:1.1rem;color:#1e3a5f;letter-spacing:-.02em}.grand-summary-row td{background:#1e3a5f;padding:1.5rem 2rem;border:none}.summary-label-container{display:flex;align-items:center;gap:12px;color:#94a3b8;font-weight:800;font-size:.85rem;letter-spacing:.1em}.summary-icon{width:32px;height:32px;background:#ffffff1a;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fca311}.total-amount-display{display:flex;align-items:baseline;justify-content:flex-end;gap:4px}.total-currency{font-size:1.1rem;font-weight:700;color:#fca311}.total-value{font-size:2.25rem;font-weight:900;color:#fff;letter-spacing:-.03em}.empty-state-container{text-align:center;padding:6rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.empty-state-icon{width:80px;height:80px;background:#f4f8fb;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#c0d1e0}@media print{body{visibility:hidden!important;margin:0!important;padding:0!important;background:#fff!important}.official-report-print{visibility:visible!important;display:block!important;position:absolute!important;top:0!important;left:0!important;width:100%!important;min-height:297mm;padding:0 15mm 15mm!important;margin:0!important;background:#fff!important;z-index:99999}.official-report-print *{visibility:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.report-print-header{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;margin:0 0 1.5rem!important;border-bottom:2.5px solid #16233B;padding-bottom:1rem;width:100%}.header-left{display:flex;align-items:center;gap:12px}.header-left .report-logo{height:65px;width:auto}.header-center{text-align:center}.header-center h1{margin:0;font-size:1.8rem;font-weight:900;color:#16233b;text-transform:uppercase;letter-spacing:1px;line-height:1.1}.header-center h2{margin:4px 0 0;font-size:1rem;color:#4b5563;font-weight:600;letter-spacing:.5px}.header-right{text-align:right;font-size:.75rem;color:#6b7280}.header-right p{margin:2px 0;line-height:1.3}.header-right strong{color:#16233b}.report-parameters-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;background:#f8faf7!important;border:1px solid #E5E7EB;padding:.85rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;-webkit-print-color-adjust:exact}.param-item{display:flex;flex-direction:column;gap:2px}.param-label{font-size:.65rem;font-weight:800;color:#94a3b8;text-transform:uppercase}.param-value{font-size:.85rem;font-weight:700;color:#1e3a5f}.report-summary-grid-print{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2.5rem;width:100%}.summary-item-print{background:#fff!important;border:1.5px solid #E5E7EB;border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:4px;text-align:center}.summary-label-print{font-size:.7rem;color:#5b7791;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.summary-value-print{font-size:1.4rem;font-weight:900;color:#16233b}.summary-value-print.highlight{color:#ef4444}.signature-section-print{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:3rem;width:100%}.sig-box{text-align:center;border-top:1.5px solid #16233B;padding-top:.75rem}.sig-label{font-size:.8rem;font-weight:800;color:#16233b;text-transform:uppercase}.sig-name{font-size:.75rem;color:#6b7280;margin-top:4px}.official-report-table{width:100%;border-collapse:collapse;margin-bottom:2rem;border:1px solid #E5E7EB;border-radius:8px;overflow:hidden;table-layout:fixed}.official-report-table th{text-align:left;padding:.75rem .5rem;background-color:#f3f4f6!important;font-weight:600;color:#1f2937;border-bottom:1px solid #E5E7EB;font-size:.75rem;text-transform:uppercase}.official-report-table td{padding:.75rem .5rem;border-bottom:1px solid #E5E7EB;font-size:.85rem;color:#374151;vertical-align:middle;word-wrap:break-word}.official-report-table tr:nth-child(2n){background-color:#fafafb!important}.official-report-table tfoot td{background-color:#f8faf7!important;border-top:2.5px solid #16233B;padding:1rem .5rem;font-weight:900;font-size:1rem}.report-print-footer{position:fixed;bottom:15mm;left:15mm;right:15mm;display:flex;justify-content:space-between;align-items:flex-end;border-top:1.5px solid #E5E7EB;padding-top:1rem;font-size:.7rem;color:#94a3b8;background:#fff!important}.footer-note{max-width:70%;line-height:1.4}@page{size:A4;margin:0}nav,footer:not(.report-print-footer),.sidebar,.top-nav,.breadcrumb,.action-bar,.filters-container,.print-btn,button{display:none!important}}.btn-premium-primary{display:flex;align-items:center;gap:8px;padding:10px 24px;background:#1e3a5f;color:#fff;border:none;border-radius:12px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #1e3a5f26}.btn-premium-primary:hover{background:#1e3a5f;transform:translateY(-2px);box-shadow:0 8px 20px #1e3a5f40}.btn-premium-primary:active{transform:translateY(0)}.btn-premium-secondary{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#eff6ff;color:#234f79;border:1px solid #AFC3D6;border-radius:12px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-premium-secondary:hover{background:#afc3d6;color:#1d4ed8;transform:translateY(-1px)}.btn-premium-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;color:#5b7791;border:1px solid #C0D1E0;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a}.btn-premium-icon:hover{background:#f4f8fb;color:#1e3a5f;border-color:#c0d1e0;transform:translateY(-2px);box-shadow:0 6px 15px #0000000f}.btn-premium-icon.primary{background:#234f79;color:#fff;border:none}.btn-premium-icon.primary:hover{background:#234f79}.official-report-print{display:none}.deduction-type-pill{font-size:.7rem;font-weight:700;text-transform:uppercase}.money-cell{font-family:JetBrains Mono,monospace;font-weight:700}.money-cell.total{font-size:1.1rem}.login-screen{min-height:100vh;background-color:#d8e4ee;display:flex}.login-left{display:none;width:52%;background:linear-gradient(145deg,#0b132b,#1c2541 45%,#0f172a);position:relative;overflow:hidden}@media (min-width: 1024px){.login-left{display:flex;flex-direction:column;justify-content:center}}.login-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px;opacity:.6;pointer-events:none}.login-ambient-glow{position:absolute;border-radius:50%;pointer-events:none}.glow-1{width:500px;height:500px;background:radial-gradient(circle,#3b82f638,#3b82f600 70%);top:-120px;left:-120px;filter:blur(50px);animation:slowPulse 8s infinite alternate ease-in-out}.glow-2{width:450px;height:450px;background:radial-gradient(circle,#8b5cf62e,#8b5cf600 70%);bottom:-80px;right:-80px;filter:blur(60px);animation:slowPulse 10s infinite alternate-reverse ease-in-out}@keyframes slowPulse{0%{transform:scale(1) translate(0);opacity:.7}to{transform:scale(1.15) translate(20px,20px);opacity:1}}.login-left-content{position:relative;z-index:10;padding:4rem;width:100%;max-width:680px;margin:0 auto;display:flex;flex-direction:column;justify-content:center}.login-brand-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem;width:100%}.login-brand{display:flex;align-items:center;gap:.85rem}.login-logo-glass{width:48px;height:48px;background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #00000040}.login-brand-titles{display:flex;flex-direction:column}.login-brand-text{color:#fff;font-size:1.25rem;font-weight:800;letter-spacing:.06em;line-height:1.2}.login-brand-sub{color:#94a3b8;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.login-enterprise-badge{display:flex;align-items:center;gap:7px;padding:6px 14px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:20px;color:#34d399;font-size:.75rem;font-weight:600;letter-spacing:.02em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.badge-pulse-dot{width:7px;height:7px;background-color:#10b981;border-radius:50%;box-shadow:0 0 #10b981b3;animation:pulse-ring 2s infinite}@keyframes pulse-ring{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}.login-hero-text{margin-bottom:2.25rem}.login-hero-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;background:#3b82f61f;border:1px solid rgba(96,165,250,.25);border-radius:20px;color:#60a5fa;font-size:.78rem;font-weight:600;margin-bottom:1.25rem}.sparkle-icon{color:#60a5fa}.login-hero-h1{font-size:2.75rem;font-weight:800;color:#fff;line-height:1.2;margin-bottom:1rem;letter-spacing:-.02em}.text-gradient{background:linear-gradient(135deg,#38bdf8,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-hero-p{font-size:1rem;color:#94a3b8;max-width:490px;line-height:1.65;font-weight:400}.login-image-showcase{position:relative;width:100%;margin-top:.5rem}.image-frame-glass{position:relative;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.15);box-shadow:0 25px 50px -12px #0009,0 0 0 1px #ffffff0d;background:#0f172acc;transition:transform .4s cubic-bezier(.16,1,.3,1)}.image-frame-glass:hover{transform:scale(1.02);border-color:#60a5fa59}.login-showcase-img{width:100%;height:240px;object-fit:cover;display:block;filter:brightness(.92) contrast(1.05);transition:transform .6s ease}.image-frame-glass:hover .login-showcase-img{transform:scale(1.04)}.image-overlay-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0b132b40,#0f172abf);pointer-events:none}.image-floating-badge{position:absolute;display:flex;align-items:center;gap:8px;padding:7px 14px;background:#0f172abf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-radius:30px;color:#fff;font-size:.78rem;font-weight:600;box-shadow:0 10px 25px #0006;z-index:5}.image-floating-badge.top-left{top:14px;left:14px}.image-floating-badge.bottom-right{bottom:14px;right:14px}.login-highlights-footer{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.highlight-item{display:flex;align-items:center;gap:6px;color:#cbd5e1;font-size:.8rem;font-weight:500}.highlight-icon{color:#34d399;flex-shrink:0}.login-right{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem}@media (min-width: 1024px){.login-right{padding:3rem}}.login-form-card{width:100%;max-width:28rem;background-color:#fff;border-radius:1.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #C0D1E0;padding:2rem}@media (min-width: 1024px){.login-form-card{padding:2.5rem}}.login-header{text-align:center;margin-bottom:2rem}.login-icon-box{width:5rem;height:5rem;margin-left:auto;margin-right:auto;border-radius:1.5rem;background-color:#234f79;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 15px -3px #0000001a;margin-bottom:1.25rem}.login-form-h2{font-size:1.875rem;font-weight:700;color:#1e3a5f}.login-form-p{color:#5b7791;margin-top:.5rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-label{display:block;font-size:.875rem;font-weight:600;color:#1e3a5f;margin-bottom:.5rem}.login-input{width:100%;height:3rem;border-radius:.75rem;border:1px solid #C0D1E0;padding-left:1rem;padding-right:1rem;outline:none;transition:all .2s}.login-input:focus{border-color:#234f79;box-shadow:0 0 0 2px #234f7980}.login-options{display:flex;align-items:center;justify-content:space-between;font-size:.875rem}.login-remember{display:flex;align-items:center;gap:.5rem;color:#5b7791;cursor:pointer}.login-forgot{background:none;border:none;color:#234f79;font-weight:500;cursor:pointer}.login-forgot:hover{text-decoration:underline}.login-submit{width:100%;height:3rem;border-radius:.75rem;background-color:#234f79;color:#fff;font-weight:600;border:none;cursor:pointer;box-shadow:0 10px 15px -3px #0000001a;transition:background-color .2s}.login-submit:hover{background-color:#1e3a5f}.login-footer{margin-top:2rem;border-top:1px solid #C0D1E0;padding-top:1.5rem}.login-features-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;text-align:center}.login-feature-item{background-color:#d8e4ee;border-radius:1rem;padding:.75rem}.login-feature-h4{font-size:1.125rem;font-weight:700;color:#1e3a5f}.login-feature-p{font-size:.75rem;color:#5b7791;margin-top:.25rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}:root{--primary-dark: #1E3A5F;--primary: #234F79;--primary-hover: #1b3e60;--secondary: #3B82F6;--secondary-light: #EFF6FF;--accent-light: #DBEAFE;--bg-main: #F8FAFC;--bg-card: #FFFFFF;--bg-secondary: #F1F5F9;--border: #E2E8F0;--border-light: #F1F5F9;--border-color: var(--border);--text-primary: #0F172A;--text-secondary: #64748B;--text-muted: #94A3B8;--success: #10B981;--success-bg: #D1FAE5;--success-text: #065F46;--warning: #F59E0B;--warning-bg: #FEF3C7;--warning-text: #92400E;--danger: #EF4444;--danger-bg: #FEE2E2;--danger-text: #991B1B;--info: #0EA5E9;--info-bg: #E0F2FE;--info-text: #075985;--sidebar-bg: #222629;--sidebar-hover: #3a3e42;--sidebar-active-bg: #3B82F6;--sidebar-text: #CBD5E1;--sidebar-text-active: #FFFFFF;--sidebar-border: #3a3e42;--accent: var(--primary);--bg-color: var(--bg-main);--card-bg: var(--bg-card);--primary-light: var(--secondary-light);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -4px rgba(0, 0, 0, .05);--shadow-card: 0px 2px 4px rgba(15, 23, 42, .04), 0px 4px 6px rgba(15, 23, 42, .02);--radius: 10px;--radius-sm: 6px;--radius-lg: 16px;--sidebar-width: 250px;--header-height: 64px}*{margin:0;padding:0;box-sizing:border-box;outline:none}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-in{animation:fadeIn .4s ease}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:50;border-right:1px solid var(--sidebar-border);transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar-header{height:var(--header-height);display:flex;align-items:center;justify-content:flex-start;padding:0 20px;border-bottom:1px solid var(--sidebar-border);gap:12px}.sidebar-logo{height:32px;width:auto;object-fit:contain}.sidebar-title{font-family:Inter,sans-serif;font-size:1.125rem;font-weight:700;color:#fff;letter-spacing:-.01em}.nav-links{padding:16px 12px;display:flex;flex-direction:column;flex:1;overflow-y:auto;gap:6px}.nav-links::-webkit-scrollbar{width:4px}.nav-links::-webkit-scrollbar-thumb{background:var(--sidebar-hover);border-radius:4px}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--sidebar-border);text-align:center;font-size:.7rem;color:var(--text-muted);white-space:nowrap}.sidebar-collapsed .sidebar-footer{display:none}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 14px;color:var(--sidebar-text);text-decoration:none;font-weight:500;font-size:.875rem;transition:all .2s ease;border-radius:var(--radius)}.nav-item:hover{color:#fff;background:var(--sidebar-hover)}.nav-item.active{color:#fff;background:var(--sidebar-active-bg);font-weight:600}.nav-item svg{color:var(--text-muted);width:22px;height:22px;transition:color .2s ease}.nav-item:hover svg,.nav-item.active svg{color:#fff}.nav-group{margin-bottom:4px}.nav-item-header{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;color:var(--sidebar-text);cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease;border-radius:var(--radius)}.nav-item-header:hover{color:#fff;background:var(--sidebar-hover)}.nav-group.parent-active .nav-item-header{color:#fff}.nav-item-header svg{color:var(--text-muted);width:22px;height:22px;transition:color .2s ease}.nav-item-header:hover svg,.nav-group.parent-active .nav-item-header svg{color:#fff}.nav-item-main{display:flex;align-items:center;gap:12px}.chevron{transition:transform .3s ease;width:16px!important;height:16px!important}.chevron.rotate{transform:rotate(180deg)}.sub-menu{max-height:0;overflow:hidden;transition:max-height .3s ease,margin .3s ease}.is-open .sub-menu{max-height:400px;margin-top:4px;margin-bottom:8px}.sub-item{display:flex;align-items:center;gap:10px;padding:10px 14px 10px 44px;color:var(--text-muted);text-decoration:none;font-size:.8125rem;font-weight:500;transition:all .2s ease;border-radius:var(--radius-sm)}.sub-item:hover{color:#fff;background:var(--sidebar-hover)}.sub-item.active{color:#fff;font-weight:600}.sub-item.active:before{content:"";position:absolute;left:24px;width:4px;height:4px;border-radius:50%;background:var(--primary)}.sidebar-user-panel{padding:16px;border-top:1px solid var(--sidebar-border);display:flex;align-items:center;gap:12px;background:var(--sidebar-bg)}.sidebar-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;flex-shrink:0}.sidebar-user-info{display:flex;flex-direction:column;overflow:hidden}.sidebar-user-name{color:#fff;font-weight:600;font-size:.875rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-user-email{font-size:.75rem;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.top-header{height:var(--header-height);background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:40}.header-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;letter-spacing:-.01em}.header-actions{display:flex;align-items:center;gap:16px}.header-icon-btn{width:36px;height:36px;border-radius:50%;color:var(--text-secondary);background:transparent;border:1px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.header-icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.main-content{flex-grow:1;margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column;transition:margin-left .3s cubic-bezier(.4,0,.2,1);background-color:var(--bg-main)}.sidebar.sidebar-collapsed{width:72px}.sidebar-collapsed~.main-content{margin-left:72px}.sidebar.sidebar-collapsed .sidebar-header{padding:0;justify-content:center}.sidebar.sidebar-collapsed .sidebar-title{display:none}.sidebar.sidebar-collapsed .nav-item,.sidebar.sidebar-collapsed .nav-item-header{padding:13px;justify-content:center;margin:0 8px}.sidebar.sidebar-collapsed .nav-item-main{gap:0}.sidebar.sidebar-collapsed .nav-item span,.sidebar.sidebar-collapsed .nav-item-main span,.sidebar.sidebar-collapsed .sub-menu,.sidebar.sidebar-collapsed .chevron{display:none!important}.sidebar.sidebar-collapsed .sidebar-user-panel{padding:16px 0;justify-content:center}.sidebar.sidebar-collapsed .sidebar-user-info{display:none}.page-area{flex:1;overflow-y:auto;padding:24px 32px}.page-container{max-width:1400px;margin:0 auto}.page-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-end}.page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.page-desc{font-size:.875rem;color:var(--text-secondary);margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.btn-primary,.add-btn,.save-btn,.um-btn-primary,.btn-premium-primary,.primary-btn,button.btn-primary,button.save-btn,button.add-btn,button[type=submit]{background-color:var(--primary)!important;color:#fff!important;border:none!important;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #234f7926}.btn-primary:hover,.add-btn:hover,.save-btn:hover,.um-btn-primary:hover,.btn-premium-primary:hover,.primary-btn:hover,button.btn-primary:hover,button.save-btn:hover,button.add-btn:hover,button[type=submit]:hover{background-color:var(--primary-hover)!important;box-shadow:0 4px 10px #234f7940!important;transform:translateY(-1px)}.btn-outline,.cancel-btn,.um-btn-secondary,.btn-premium-secondary{background-color:#fff;border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-outline:hover,.cancel-btn:hover,.um-btn-secondary:hover,.btn-premium-secondary:hover{background-color:var(--bg-secondary);border-color:var(--text-muted)}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-card);border:1px solid var(--border);padding:24px;transition:box-shadow .2s ease,border-color .2s ease}.card:hover{box-shadow:var(--shadow-md)}.table-container{width:100%;overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card)}.enterprise-table{width:100%;border-collapse:collapse;text-align:left}.enterprise-table th{background-color:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;border-bottom:1px solid var(--border)}.enterprise-table td{padding:16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:middle}.enterprise-table tr:last-child td{border-bottom:none}.enterprise-table tbody tr{transition:background-color .15s ease}.enterprise-table tbody tr:hover{background-color:var(--bg-secondary)}.ot-table{width:100%;border-collapse:collapse;table-layout:fixed}.ot-table thead{background:var(--bg-soft, #F4F8FB)}.ot-table thead tr{border-bottom:2px solid var(--border-color, #C0D1E0)}.ot-table th{padding:12px 10px;color:var(--text-primary, #1E3A5F);font-size:.75rem;text-transform:uppercase;font-weight:700;letter-spacing:.02em;vertical-align:middle}.ot-table th.col-sno{width:70px;text-align:center}.ot-table th.col-code{width:100px;text-align:left}.ot-table th.col-employee{width:auto;text-align:left;padding:12px 15px}.ot-table th.col-role{width:20%;text-align:left;padding:12px 15px}.ot-table th.col-doj{width:150px;text-align:left}.ot-table th.col-status{width:130px;text-align:center}.ot-table th.col-actions{width:160px;text-align:right;padding:12px 15px}.ot-table td{padding:12px 10px;font-size:.85rem;vertical-align:middle;color:var(--text-primary, #1E3A5F);border-bottom:1px solid var(--border-color, #D8E4EE)}.ot-table td.col-sno{text-align:center;color:var(--text-secondary, #5B7791)}.ot-table td.col-code{font-weight:700}.ot-table td.col-doj{padding:12px 10px}.ot-table td.col-status{text-align:center;padding:12px 10px}.ot-table td.col-actions{text-align:right;padding:12px 15px}.ot-table td.col-employee,.ot-table td.col-role{padding:12px 15px}.ot-table tr.hover-row:hover{background-color:#f4f8fb}.ot-table .group-header{cursor:pointer;padding:12px 20px;border-bottom:1px solid #C0D1E0}.ot-table .group-header-inner{display:flex;align-items:center;justify-content:space-between}.ot-table .group-header-left{display:flex;align-items:center;gap:10px;font-weight:800;color:#1e3a5f;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.ot-table .group-header-toggle{color:#6e91b2}.ot-table .subgroup-header{cursor:pointer}.ot-table .subgroup-header-inner{display:flex;align-items:center;justify-content:space-between}.ot-table .subgroup-header-left{display:flex;align-items:center;gap:8px;font-weight:700;color:#5b7791;font-size:.75rem}.ot-table .subgroup-header-count{color:#94a3b8;font-weight:500}.ot-table .subgroup-header-toggle{color:#94a3b8}.filters-container-ot{margin-bottom:0;padding:20px;background-color:#fff;border-radius:16px 16px 0 0;border:1px solid #D0D5DD;border-bottom:none}.filters-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.filters-row .search-bar-modern{flex:1;min-width:250px;background:#fff;border:1px solid #D0D5DD;border-radius:10px;padding:0 16px;display:flex;align-items:center;gap:10px;height:44px;transition:border-color .2s ease,box-shadow .2s ease}.filters-row .search-bar-modern:hover{border-color:#98a2b3}.filters-row .search-bar-modern:focus-within{border-color:#2f6fed;box-shadow:0 0 0 3px #2f6fed1f}.search-bar-modern .search-icon{color:#667085;flex-shrink:0;display:flex;align-items:center}.filters-row .search-bar-modern input{border:none;background:transparent;width:100%;outline:none;font-size:14px;color:#101828;padding:0;height:100%;line-height:1}.filters-row .search-bar-modern input::placeholder{color:#667085;opacity:1}.config-select-ot{height:44px;border:1px solid #D0D5DD;background:#fff;border-radius:10px;padding:0 12px;font-size:14px;font-weight:500;color:#101828;cursor:pointer;outline:none;min-width:150px;transition:border-color .2s ease,box-shadow .2s ease;-moz-appearance:auto;appearance:auto;-webkit-appearance:auto}.config-select-ot:hover{border-color:#98a2b3}.config-select-ot:focus{border-color:#2f6fed;box-shadow:0 0 0 3px #2f6fed1f}.config-select-ot option{color:#101828;font-weight:500}.config-select-ot.group-by-select{font-weight:700;color:#234f79}.doj-picker{display:flex;align-items:center;gap:4px;background:#fff;padding:0 8px;border-radius:10px;border:1px solid #D0D5DD;height:44px;transition:border-color .2s ease,box-shadow .2s ease}.doj-picker:hover{border-color:#98a2b3}.doj-picker:focus-within{border-color:#2f6fed;box-shadow:0 0 0 3px #2f6fed1f}.month-year-select{border:none;background:transparent;outline:none;font-weight:600;color:#101828;font-size:.85rem;cursor:pointer;padding:0 4px}.doj-nav-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;color:#667085;transition:background .15s ease,color .15s ease}.doj-nav-btn:hover{background:#e4e7ec;color:#344054}.btn-ot-outline{height:44px;padding:0 18px;border-radius:10px;border:1.5px solid #234F79;background:#fff;color:#234f79;font-weight:700;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease;display:inline-flex;align-items:center;gap:6px}.btn-ot-outline:hover{background:#f4f8fb;border-color:#1e3a5f}.stats-badge{height:44px;font-size:.85rem;color:#5b7791;font-weight:700;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:#f4f8fb;padding:0 16px;border-radius:10px;border:1px solid #D0D5DD}.table-wrapper-ot{border-radius:0;border:1px solid #D0D5DD;background-color:#fff;border-top:none;border-bottom:none;overflow-x:auto}.ot-table .status-badge{display:inline-block;width:auto;height:auto;line-height:normal;padding:4px 12px;border-radius:8px;font-size:.7rem;font-weight:800;text-transform:uppercase;white-space:nowrap}.ot-table .action-buttons{display:flex;gap:8px;justify-content:flex-end}.ot-table .btn-view{padding:6px 12px;border-radius:8px;border:1px solid #234F79;background:#fff;color:#234f79;font-weight:700;cursor:pointer;font-size:.75rem;transition:all .15s ease}.ot-table .btn-view:hover{background:#f4f8fb}.ot-table .btn-edit{padding:6px 12px;border-radius:8px;border:none;background:#234f79;color:#fff;font-weight:700;cursor:pointer;font-size:.75rem;transition:all .15s ease}.ot-table .btn-edit:hover{background:#1e3a5f}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.badge-success{background:var(--success-bg);color:var(--success-text)}.badge-warning{background:var(--warning-bg);color:var(--warning-text)}.badge-danger{background:var(--danger-bg);color:var(--danger-text)}.badge-info{background:var(--info-bg);color:var(--info-text)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:6px}.form-input{width:100%;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background-color:#fff;color:var(--text-primary);font-size:.875rem;transition:border-color .2s,box-shadow .2s;font-family:inherit}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-light);outline:none}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.settings-card{background:var(--bg-card);border-radius:var(--radius);padding:24px;border:1px solid var(--border);display:flex;flex-direction:column;transition:all .2s ease}.settings-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-color)}.settings-card .card-top{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.settings-card .icon-box{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--secondary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-card .card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.settings-card .card-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.btn-manage{margin-top:auto;align-self:flex-start;background:#fff;border:1px solid var(--border);padding:8px 16px;border-radius:var(--radius-sm);font-weight:500;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.btn-manage:hover{border-color:var(--text-muted);background:var(--bg-secondary)}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.main-content{margin-left:0!important}.page-area{padding:16px}}.header-user-profile{position:relative}.user-avatar-btn{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;cursor:pointer;border:2px solid transparent;transition:all .2s}.user-avatar-btn:hover,.user-avatar-btn:focus{border-color:var(--accent-light);box-shadow:0 0 0 2px var(--secondary-light)}.user-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:#fff;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:8px;z-index:100;animation:slideUpFade .2s ease-out}.dropdown-user-info{padding:12px;border-bottom:1px solid var(--border);margin-bottom:8px}.dropdown-user-name{display:block;font-weight:600;color:var(--text-primary);font-size:.875rem}.dropdown-user-role{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:2px}.dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 12px;width:100%;border:none;background:none;color:var(--text-primary);font-size:.875rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;text-align:left;text-decoration:none}.dropdown-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.dropdown-item.logout{color:var(--danger);margin-top:4px;border-top:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.dropdown-item.logout:hover{background:var(--danger-bg);color:var(--danger-text)}
