.login-container{align-items:center;background:linear-gradient(135deg,#0f2942,#1a3a58);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-wrapper{max-width:400px;width:100%}.login-card{background:#fff;border-radius:var(--border-radius-lg);box-shadow:0 10px 40px rgba(0,0,0,.15);padding:40px 30px}.login-header{margin-bottom:30px;text-align:center}.logo-icon{align-items:center;color:var(--accent);display:flex;font-size:48px;height:140px;justify-content:center;margin:0 auto;width:140px}.logo-image{height:100%;object-fit:contain;width:100%}.login-header h1{color:var(--navy);font-size:24px;font-weight:600;margin:12px 0 5px}.login-header p{color:var(--sub);font-size:12px}.login-form{align-items:stretch;display:flex;flex-direction:column;margin-bottom:20px}.form-group input{background:#fff;border:1px solid var(--border);border-radius:var(--border-radius-md);color:var(--text);font-family:inherit;font-size:13px;transition:border-color .15s}.form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(45,125,210,.1)}.form-group input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:var(--border-radius-md);color:#991b1b;font-size:12px;margin-bottom:16px;padding:10px 12px}.btn-submit{display:flex;font-weight:600;justify-content:center;letter-spacing:.05em;padding:10px 14px;text-align:center;width:100%}.btn-submit:hover:not(:disabled){background:var(--accent2)}.btn-submit:disabled{cursor:not-allowed;opacity:.7}.demo-section{border-top:1px solid var(--border);margin-bottom:20px;padding-top:20px}.demo-label{color:var(--sub);font-size:11px;font-weight:600;letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}.demo-buttons{display:flex;gap:10px}.demo-btn{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--border-radius-md);color:var(--text);cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:12px;font-weight:500;gap:5px;justify-content:center;padding:8px 12px;transition:all .15s}.demo-btn i{font-size:14px}.employee-demo:hover{background:#e0f2fe;border-color:var(--accent);color:var(--accent)}.supervisor-demo:hover{background:#fef3c7;border-color:#f59e0b;color:#f59e0b}.hr-demo:hover{background:#f0fdf4;border-color:#22c55e;color:#22c55e}.admin-demo:hover{background:#fecaca;border-color:#dc2626;color:#dc2626}.login-footer{border-top:1px solid var(--border);padding-top:20px;text-align:center}.login-footer p{color:var(--sub);font-size:11px}.app-layout{background:#f3f4f6;display:flex;min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e5e7eb;box-shadow:2px 0 8px rgba(0,0,0,.04);display:flex;flex-direction:column;flex-shrink:0;height:100vh;left:0;overflow-y:auto;padding:20px 0;position:fixed;top:0;width:210px;z-index:100}.sidebar-logo{border-bottom:1px solid #e5e7eb;margin-bottom:12px;padding:0 16px 20px}.sidebar-logo h2{align-items:center;color:#1f2937;display:flex;font-size:14px;font-weight:700;gap:7px}.sidebar-logo h2 i{color:var(--accent);font-size:18px}.sidebar-logo p{color:#9ca3af;font-size:11px;margin-top:3px}.nav-item{align-items:center;border-left:3px solid transparent;color:#6b7280;cursor:pointer;display:flex;font-size:13px;gap:10px;margin:0 6px 0 0;padding:10px 16px;position:relative;transition:all .15s;-webkit-user-select:none;user-select:none;z-index:1}.nav-item:hover{background:#f9fafb;color:#374151}.nav-item.active{background:#f3f4f6;border-left-color:var(--accent);color:var(--accent);font-weight:600}.nav-item i{font-size:17px}.nav-section{color:#1f2937;font-size:11px;font-weight:700;letter-spacing:.08em;padding:16px 16px 6px;position:relative;text-transform:uppercase;z-index:1}.sidebar-footer{border-top:1px solid #e5e7eb;margin-top:auto;padding:12px 16px;position:relative}.user-pill{align-items:center;border-radius:var(--border-radius-md);cursor:pointer;display:flex;gap:10px;padding:8px;transition:background .15s}.user-pill:hover{background:#f9fafb}.avatar-sm{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:34px;justify-content:center;width:34px}.user-pill p{color:#374151;font-size:12px;font-weight:500}.user-pill span{color:#9ca3af;font-size:11px}.user-menu{background:#fff;border:1px solid var(--border);border-radius:var(--border-radius-md);bottom:100%;box-shadow:0 4px 12px rgba(0,0,0,.15);left:16px;margin-bottom:8px;overflow:hidden;position:absolute;right:16px;z-index:200}.menu-item{align-items:center;background:#fff;border:1px solid var(--accent);border-radius:6px;color:var(--text);cursor:pointer;display:flex;font-family:inherit;font-size:13px;gap:8px;padding:10px 12px;text-align:left;transition:background .15s,border-color .15s;width:100%}.menu-item:hover{background:#f5f5f5}.menu-item i{font-size:15px}.main-content{display:flex;flex:1 1;flex-direction:column;margin-left:210px;min-height:100vh}.topbar{align-items:center;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:14px 28px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.topbar h1{color:var(--text);font-size:16px;font-weight:600}.topbar-right{align-items:center;display:flex;gap:12px}.date{color:var(--sub);font-size:12px}.content{background:#f3f4f6;flex:1 1;padding:28px}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.3)}.mobile-bottom-nav,.mobile-menu-toggle,.mobile-sidebar,.mobile-sidebar-overlay{display:none}@media (max-width:768px){.sidebar{padding:15px 0;width:60px}.sidebar-logo h2{font-size:0}.sidebar-logo h2 i{font-size:20px}.sidebar-logo p{display:none}.sidebar-logo{margin-bottom:8px;padding:10px 12px}.nav-item{justify-content:center;padding:10px 12px}.nav-item span,.nav-section,.user-pill p,.user-pill span{display:none}.avatar-sm{font-size:10px;height:28px;width:28px}.main-content{margin-left:60px}.topbar{padding:12px 20px}.topbar h1{font-size:14px}.content{padding:20px 20px 80px}.mobile-bottom-nav,.mobile-menu-toggle,.mobile-sidebar,.mobile-sidebar-overlay{display:none}}@media (max-width:480px){.app-layout{flex-direction:column}.sidebar{border-right:none;box-shadow:none;display:none;height:100%;margin:0;padding:0;position:fixed;width:100%;z-index:999}.main-content{margin-bottom:60px;margin-left:0}.topbar{align-items:center;display:flex;gap:12px;padding:12px 16px}.topbar h1{flex:1 1;font-size:16px;font-weight:600;margin:0}.topbar-right{display:none}.mobile-menu-toggle{background:none;border:none;color:#1f2937;cursor:pointer;display:block;flex-shrink:0;font-size:24px;padding:4px 8px}.mobile-menu-toggle:hover{opacity:.7}.date{display:none}.mobile-bottom-nav{align-items:center;background:#fff;border-top:1px solid #e5e7eb;bottom:0;box-shadow:0 -2px 8px rgba(0,0,0,.08);display:flex;height:60px;justify-content:space-around;left:0;position:fixed;right:0;z-index:50}.mobile-nav-item{align-items:center;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:11px;font-weight:500;gap:2px;padding:8px 12px;text-align:center;transition:all .15s}.mobile-nav-item:hover{background:#f3f4f6;color:var(--accent)}.mobile-nav-item.active{color:var(--accent);font-weight:600}.mobile-nav-item span:first-child{font-size:20px}.mobile-sidebar-overlay{background:rgba(0,0,0,.5);bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:900}.mobile-sidebar{background:#fff;border-right:1px solid #e5e7eb;box-shadow:2px 0 8px rgba(0,0,0,.1);display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease;width:280px;z-index:950}.mobile-sidebar.active{transform:translateX(0)}.mobile-sidebar-close{align-items:center;border-radius:4px;color:#1f2937;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;margin:8px;transition:background .15s;width:40px}.mobile-sidebar-close:hover{background:#f3f4f6}.mobile-nav-items{display:flex;flex-direction:column;gap:4px;padding:8px}.mobile-nav-items .nav-item{align-items:center;border-radius:4px;color:#6b7280;display:flex;font-size:14px;justify-content:flex-start;margin:0;padding:12px 16px}.mobile-nav-items .nav-item:hover{background:#f3f4f6;color:#374151}.mobile-nav-items .nav-item.active{background:#f3f4f6;border-left:3px solid var(--accent);color:var(--accent)}.content{padding:16px 16px 80px}body{font-size:14px}h1{font-size:18px}h2{font-size:16px}h3{font-size:15px}button{min-height:44px;min-width:44px}input,select,textarea{font-size:16px!important}}.welcome-card{background:var(--card);border:1px solid var(--border);border-radius:var(--border-radius-lg);gap:14px;margin-bottom:18px;padding:16px 18px}.welcome-avatar,.welcome-card{align-items:center;display:flex}.welcome-avatar{background:var(--accent);border-radius:50%;color:#fff;flex-shrink:0;font-size:15px;font-weight:600;height:48px;justify-content:center;width:48px}.welcome-info{flex:1 1}.welcome-info h2{color:var(--text);font-size:15px;font-weight:500}.welcome-info p{color:var(--sub);font-size:12.5px;margin-top:3px}.welcome-status{text-align:right}.status-label{font-size:11.5px}.status-pill{gap:4px;margin-top:4px}.status-pill i{font-size:12px}.stat-badge i{font-size:11px}.prog-wrap{margin-bottom:12px}.prog-label{font-size:12.5px;margin-bottom:5px}.prog-bar{background:var(--bg);height:7px}.leave-item{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:11px 0}.leave-item:last-child{border-bottom:none}.leave-info h4{color:var(--text);font-size:12.5px;font-weight:500}.leave-info p{color:var(--sub);font-size:11.5px;margin-top:2px}.leave-meta{margin-left:auto;text-align:right}.action-button{display:flex;justify-content:center}@media (max-width:768px){.welcome-card{flex-direction:column;text-align:center}.welcome-info{flex:initial}.welcome-status{text-align:center}.stats-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}.form-container{margin:0 auto;max-width:800px}.form-card{background:var(--card);border:1px solid var(--border);border-radius:var(--border-radius-lg);padding:28px}.form-title{margin-bottom:24px}.form-title h2{color:var(--text);font-size:18px;font-weight:600;margin-bottom:6px}.form-title p{color:var(--sub);font-size:13px}.success-message{align-items:flex-start;background:#dcfce7;border:1px solid #86efac;border-radius:var(--border-radius-md);color:#166534;display:flex;gap:12px;margin-bottom:24px;padding:12px 16px}.success-message i{flex-shrink:0;font-size:20px;margin-top:2px}.success-message h4{font-size:13px;font-weight:600;margin-bottom:4px}.success-message p{color:inherit;font-size:12px}.leave-form{margin-bottom:20px}.form-row{grid-gap:16px;gap:16px;margin-bottom:16px}.form-field label{color:var(--sub)}.form-field input,.form-field select,.form-field textarea{background:#fff;border:1px solid var(--border);border-radius:var(--border-radius-md);color:var(--text);font-family:inherit;font-size:13px;outline:none;padding:8px 12px;transition:border-color .15s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(45,125,210,.1)}.form-field textarea{height:100px;resize:none}.form-field.full{grid-column:1/-1}.form-info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--border-radius-md);color:#1e40af;display:flex;gap:12px;margin-bottom:20px;padding:12px 16px}.form-info i{flex-shrink:0;font-size:18px;margin-top:2px}.form-info h4{font-size:12px;font-weight:600;margin-bottom:6px}.form-info ul{list-style:none;padding:0}.form-info li{font-size:12px;margin-bottom:4px;padding-left:16px;position:relative}.form-info li:before{content:"•";left:0;position:absolute}.form-footer{border-top:1px solid var(--border);display:flex;justify-content:center;padding-top:12px}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.sick-leave-notice{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--border-radius-md);color:#991b1b;display:flex;gap:12px;margin-bottom:16px;padding:12px 16px}.sick-leave-notice i{flex-shrink:0;font-size:18px;margin-top:2px}.sick-leave-notice h4{font-size:12px;font-weight:600;margin-bottom:4px}.sick-leave-notice p{color:inherit;font-size:12px;margin:0}.file-input-wrapper{margin-bottom:12px;position:relative}.file-input-wrapper input[type=file]{display:none}.file-input-label{align-items:center;background:#f9fafb;border:2px dashed var(--border);border-radius:var(--border-radius-md);color:var(--sub);cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:24px;transition:all .15s}.file-input-label:hover{background:#f3f4f6;border-color:var(--accent)}.file-input-label i{color:var(--accent);font-size:32px}.file-input-label p{color:var(--text);font-size:13px;font-weight:500;margin:0}.file-input-label span{color:var(--sub);font-size:11px;margin:0}.attachment-preview{margin-bottom:12px}.attachment-item{background:#f0fdf4;border:1px solid #bbf7d0;gap:12px;padding:12px}.attachment-item i{color:#10b981;font-size:24px}.attachment-info{flex:1 1}.attachment-name{color:var(--text);font-size:13px;font-weight:500;margin:0 0 2px;word-break:break-all}.attachment-size{color:var(--sub);font-size:11px;margin:0}.remove-btn{align-items:center;background:#fff;border:none;border-radius:4px;color:#ef4444;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:28px;justify-content:center;transition:all .15s;width:28px}.remove-btn:hover{background:#fee2e2}.error-text{align-items:center;color:#991b1b;display:flex;font-size:12px;gap:6px;margin:0;padding:0}.error-text i{font-size:14px}.leave-allocation-info{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--border-radius-md);display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding:16px}.allocation-row{align-items:center;color:var(--text);display:flex;font-size:13px;justify-content:space-between;padding:8px 0}.allocation-label{color:var(--sub);font-weight:500}.allocation-value{color:#10b981;min-width:40px;text-align:right}.days-requested-info{align-items:center;background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--border-radius-md);color:#92400e;display:flex;gap:12px;margin-bottom:16px;padding:12px 16px}.days-requested-info i{color:#f59e0b;flex-shrink:0;font-size:18px}.days-label{color:var(--sub);display:block;font-size:13px;font-weight:500;margin-bottom:4px}.days-value{color:#d97706;display:block;font-size:16px;font-weight:600}@media (max-width:768px){.form-card{padding:20px}.form-row{gap:12px;grid-template-columns:1fr}.file-input-label{padding:16px}.file-input-label i{font-size:28px}.file-input-label p{font-size:12px}.file-input-label span{font-size:10px}}.history-container{max-width:100%}.year-filter{background:#fff;border:1px solid var(--border);border-radius:var(--border-radius-md);color:var(--text);cursor:pointer;font-family:inherit;font-size:12px;outline:none;padding:6px 10px}.leave-row{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:14px 0}.leave-row:last-child{border-bottom:none}.leave-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:38px;justify-content:center;width:38px}.leave-details{flex:1 1}.leave-details h4{color:var(--text);font-size:13px;font-weight:600;margin-bottom:3px}.leave-details p{color:var(--sub);font-size:12px;margin:0}.leave-details p.sub{font-size:11px;margin-top:2px}.leave-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.leave-meta span:first-child{color:var(--sub);font-size:11.5px}.delete-btn{align-items:center;background:none;border:1px solid #ef4444;border-radius:4px;color:#ef4444;cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:4px;padding:4px 10px;transition:all .2s ease}.delete-btn:hover{background:#fee2e2;color:#991b1b}.delete-btn:disabled{cursor:not-allowed;opacity:.5}.delete-btn i{font-size:10px}.modal-dialog{animation:slideIn .3s ease;background:#fff;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.2);max-width:400px;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-close{font-size:24px;height:28px;padding:0;width:28px}.modal-body{padding:16px 20px}.modal-body p{color:var(--text);font-size:14px;line-height:1.5;margin:0}.modal-footer{padding:12px 20px}.btn{border-radius:4px;gap:4px}.btn-secondary{background:var(--bg-secondary,#f3f4f6)}.btn-secondary:hover{background:var(--bg-secondary-hover,#e5e7eb)}.btn-danger:hover{background:#dc2626}.calendar-grid-container{grid-gap:14px;align-items:stretch;display:grid;gap:14px;grid-template-columns:1fr 1fr}.calendar-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(7,1fr);margin-bottom:14px}.cal-day{align-items:center;aspect-ratio:1;background:#fff;border:1px solid var(--border);border-radius:var(--border-radius-md);display:flex;font-size:13px;justify-content:center}.cal-day.header{background:#f5f5f5;border:none;color:var(--sub);font-size:11px;font-weight:600}.cal-day.leave{background:#bfdbfe;border:none;color:#1e3a8a;font-weight:600}.cal-day.today{background:var(--accent);border:none;color:#fff;font-weight:600}.cal-day.other{border:none;color:#d1d5db}.cal-day:hover:not(.header):not(.other){background:#f3f4f6;border-color:var(--accent)}.cal-day.selected{background:#dbeafe;border:2px solid var(--accent);box-shadow:0 0 0 1px var(--accent)}.cal-day.holiday{background:#fef3c7;border:none;color:#92400e;font-weight:600}.calendar-legend{border-top:1px solid var(--border);display:flex;flex-wrap:wrap;font-size:12px;gap:14px;padding-top:14px}.legend-item{align-items:center;display:flex;gap:5px}.legend-color{border-radius:3px;display:inline-block;height:11px;width:11px}.legend-color.today{background:var(--accent)}.legend-color.leave{background:#bfdbfe}.legend-color.holiday{background:#fef3c7}.month-nav{display:flex;gap:5px}.month-nav .btn{font-size:12px;padding:4px 9px}.schedule-item{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:12px 0}.schedule-item:last-child{border-bottom:none;padding-bottom:0}.schedule-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.schedule-info{flex:1 1}.schedule-info h4{color:var(--text);font-size:12.5px;font-weight:600;margin-bottom:2px}.schedule-info p{color:var(--sub);font-size:11.5px;margin:0}.selected-date-info{background:#f9fafb;border:1px solid var(--border);border-radius:var(--border-radius-md);margin-top:14px;padding:12px}.selected-date-info h4{color:var(--text);font-size:12px;font-weight:600;margin:0 0 8px}.selected-date-info p{color:var(--sub);font-size:11.5px;margin:0 0 4px}.date-events{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.date-event-item{align-items:center;display:flex;font-size:11.5px;gap:8px;padding:4px 0}.no-events{color:#9ca3af;font-size:11.5px;font-style:italic;margin:0}.calendar-grid-container>.card{display:flex;flex-direction:column;height:100%}.calendar-grid-container>.card .card-body{flex:1 1;overflow:auto}@media (max-width:768px){.calendar-grid-container{grid-template-columns:1fr}}.attendance-container{display:flex;flex-direction:column;gap:20px}.month-filter{background:#fff;border:1px solid var(--border);border-radius:var(--border-radius-md);color:var(--text);cursor:pointer;font-family:inherit;font-size:12px;outline:none;padding:6px 10px}.attendance-row{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:12.5px;gap:10px;padding:10px 0}.attendance-row:last-child{border-bottom:none}.attendance-date{color:var(--sub);flex-shrink:0;font-size:12px;width:80px}.attendance-info{color:var(--text);flex:1 1}.status-pill{flex-shrink:0;margin-top:0}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.attendance-date{width:auto}}.notifications-container{max-width:100%}.mark-read{font-size:12px;padding:6px 12px}.notif-item{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:14px 0;transition:background .15s}.notif-item:last-child{border-bottom:none}.notif-item.unread{background:#f9fafb;margin:0 -16px;padding:14px 16px}.notif-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.notif-info{flex:1 1}.notif-info h4{color:var(--text);font-size:12.5px;font-weight:600;margin-bottom:4px}.notif-info p{color:var(--sub);font-size:11.5px;line-height:1.4;margin:0}.notif-meta{align-items:center;display:flex;flex-shrink:0;gap:8px}.notif-date{color:var(--sub);font-size:11.5px;white-space:nowrap}.notif-dot{background:var(--accent);border-radius:50%;flex-shrink:0;height:7px;width:7px}@media (max-width:480px){.notif-item{flex-wrap:wrap}.notif-meta{justify-content:space-between;width:100%}}.profile-container{max-width:100%}.profile-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 2fr}.profile-card{background:var(--card);border:1px solid var(--border);border-radius:var(--border-radius-lg);flex-direction:column;padding:18px;text-align:center}.avatar-large,.profile-card{align-items:center;display:flex}.avatar-large{background:var(--accent);border-radius:50%;color:#fff;font-size:20px;font-weight:600;height:64px;justify-content:center;margin-bottom:12px;width:64px}.profile-card h3{color:var(--text);font-size:14px;font-weight:600;margin-bottom:4px}.profile-card p{color:var(--sub);font-size:12px;margin:0}.position{color:var(--text)!important;font-weight:500;margin-bottom:2px}.department{font-size:11px;margin-bottom:8px}.status-badge{background:#fff;border:1.5px solid #333;color:#1a1a1a!important;font-size:11px;font-weight:500;margin-bottom:12px;padding:3px 10px}.profile-actions{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:14px;width:100%}.profile-actions .btn{font-size:12px;justify-content:center;width:100%}.card-header{background:linear-gradient(135deg,rgba(59,130,246,.05),rgba(59,130,246,.02));border-bottom:2px solid var(--border);padding:18px 20px}.card-header h3{color:var(--accent);font-weight:700;letter-spacing:.3px}.card-body{padding:16px 20px}.info-row{border-bottom:1px solid var(--border);display:flex;font-size:12.5px;padding:8px 0}.info-row:last-child{border-bottom:none}.info-label{flex-shrink:0;width:140px}.info-value{font-weight:500}.info-value.email{color:var(--accent)}.s-admin{align-items:center;background:#dbeafe;color:#1e40af;display:inline-flex;gap:6px}.edit-form-container{background:var(--card);border:1px solid var(--border);border-radius:var(--border-radius-lg);max-width:600px;padding:20px}.edit-form-container h2{color:var(--text);font-size:18px;font-weight:600;margin:0 0 20px}.edit-profile-form{gap:20px}.edit-profile-form,.form-section{display:flex;flex-direction:column}.form-section{border-bottom:1px solid var(--border);gap:12px;padding-bottom:16px}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.form-section h3{color:var(--text);font-size:14px;font-weight:600;margin:0}.form-group input,.form-group select,.form-group textarea{background:var(--input-bg);border:1px solid var(--border);color:var(--text);font-size:12px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-group textarea{min-height:80px;resize:vertical}.alert-error{border-left:3px solid #dc2626}.alert-success{border-left:3px solid #22c55e}.form-actions{border-top:1px solid var(--border);margin-top:8px;padding-top:16px}.btn{background:#f3f4f6}.btn:hover:not(:disabled){background:#e5e7eb}.btn-primary{flex:1 1}.btn-primary:hover:not(:disabled){border-color:#2563eb}.btn-secondary{border-color:var(--border);flex:1 1}@media (max-width:768px){.profile-grid{grid-template-columns:1fr}.info-label{width:100px}.edit-form-container{padding:16px}.form-actions{flex-direction:column}}.change-password-container{margin:0 auto;max-width:600px;padding:20px}.form-card{border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:30px}.change-password-form{margin-bottom:30px}.form-group input{border-radius:8px;padding:12px 14px}.form-group input:disabled{background:#f3f4f6;color:#9ca3af}.password-requirements{border-radius:8px;margin-bottom:24px;padding:16px}.password-requirements p{font-size:14px;margin:0 0 12px}.password-requirements li{font-size:13px;gap:10px;margin-bottom:6px}.password-requirements li:last-child{margin-bottom:0}.password-requirements i{flex-shrink:0;font-size:16px}.btn-change-password{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 16px;transition:all .2s;width:100%}.btn-change-password:hover:not(:disabled){background:#2563eb}.btn-change-password:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.btn-change-password i{font-size:16px}.security-tips{background:#f0fdf4;border-left:3px solid #22c55e;border-radius:0 8px 8px 0;color:#166534;padding:20px}.security-tips h3{align-items:center;display:flex;font-size:15px;font-weight:600;gap:8px;margin:0 0 12px}.security-tips i{font-size:18px}.security-tips ul{list-style:disc;margin:0;padding-left:20px}.security-tips li{font-size:13px;line-height:1.5;margin-bottom:8px}.security-tips li:last-child{margin-bottom:0}@media (max-width:768px){.change-password-container{padding:16px}.form-card{padding:20px}.page-header h1{font-size:24px}.form-group{margin-bottom:16px}.form-group label{font-size:13px}.form-group input{font-size:13px;padding:10px 12px}.password-requirements{margin-bottom:16px;padding:12px}.security-tips{padding:16px}.security-tips h3{font-size:14px;margin-bottom:10px}.security-tips li{font-size:12px}}.dashboard-header{margin-bottom:30px}.dashboard-header h1{color:var(--text);font-size:24px;font-weight:700;margin:0 0 4px}.dashboard-header p{color:var(--sub);font-size:13px;margin:0}.stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--border-radius-lg);padding:14px 16px}.stat-label{font-size:11.5px;font-weight:500;margin-bottom:6px}.stat-value{font-size:24px;font-weight:500}.stat-sub{color:var(--sub);font-size:11.5px;margin-top:3px}.stat-badge{align-items:center;border-radius:100px;display:inline-flex;font-size:11px;font-weight:500;gap:3px;margin-top:6px;padding:2px 8px}.grid-2{margin-bottom:20px}.card-header{padding:13px 16px}.card-header h3{font-weight:500}.badge-count{background:#2d7dd2}.card-body{padding:14px 16px}.request-item{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:12px 0}.request-item:last-child{border-bottom:none;padding-bottom:0}.req-info{flex-shrink:0;width:100px}.req-info h4{color:var(--text);font-size:12px;font-weight:600}.req-info p{color:var(--sub);font-size:11px;margin-top:2px}.req-details{flex:1 1}.req-actions{display:flex;flex-shrink:0;gap:6px}.action-btn{padding:4px 8px}.summary-item{border-bottom:1px solid var(--border);padding:12px 0}.summary-item:last-child{border-bottom:none;padding-bottom:0}.summary-label{color:var(--sub);font-size:11.5px;font-weight:500;margin-bottom:4px}.summary-value{color:var(--text);font-size:20px;font-weight:600;margin-bottom:2px}.summary-sub{color:var(--sub);font-size:11px}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.request-item{flex-wrap:wrap}.req-details,.req-info{width:100%}.req-actions{justify-content:flex-end;width:100%}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.hr-tabs{border-bottom:1px solid var(--border);display:flex;gap:8px;margin-bottom:20px}.tab-btn{align-items:center;background:transparent;border-bottom:2px solid transparent;color:var(--sub);display:flex;font-family:inherit;font-size:13px;font-weight:500;gap:6px;padding:10px 16px;transition:all .15s}.tab-btn:hover{color:var(--text)}.tab-btn.active{border-bottom-color:var(--accent);color:var(--accent)}.tab-btn i{font-size:16px}.btn-add{display:flex;font-size:12px;padding:6px 12px}.btn-add:hover{opacity:.9}.btn-add i{font-size:14px}.add-form,.edit-form{background:#f9fafb;border:1px solid var(--border);border-radius:var(--border-radius-md);margin-bottom:16px;padding:14px}.form-group label{margin-bottom:4px}.form-group input,.form-group select{border:1px solid var(--border);border-radius:var(--border-radius-md);color:var(--text);font-family:inherit;font-size:12px;padding:6px 10px;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(45,125,210,.1);outline:none}.form-group.checkbox label{cursor:pointer;gap:6px}.form-group.checkbox input{margin:0}.form-actions{gap:8px}.btn-cancel,.btn-save{border:none;border-radius:var(--border-radius-md);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;padding:6px 12px;transition:all .15s}.btn-cancel{background:#e5e7eb;color:var(--text)}.btn-cancel:hover{background:#d1d5db}.btn-save{background:var(--accent);color:#fff}.btn-save:hover{opacity:.9}.leave-types-list{grid-gap:12px;display:grid;gap:12px}.leave-type-item{background:#fff;border:1px solid var(--border);border-radius:var(--border-radius-md);padding:12px}.type-info{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.type-info h4{color:var(--text);font-size:13px;font-weight:600;margin-bottom:4px}.type-info p{color:var(--sub);font-size:12px;margin-bottom:6px}.badge{background:#dbeafe;color:#1e40af;padding:3px 8px}.type-actions{display:flex;flex-shrink:0;gap:6px}.action-delete,.action-edit{align-items:center;border:none;border-radius:var(--border-radius-md);cursor:pointer;display:flex;font-family:inherit;font-size:11px;font-weight:500;gap:4px;padding:4px 8px;transition:all .15s}.action-edit{background:#dbeafe;color:#1e40af}.action-edit:hover{background:#bfdbfe}.action-delete{background:#fee2e2;color:#991b1b}.action-delete:hover{background:#fecaca}.allocation-table{overflow-x:auto}.allocation-table table{border-collapse:collapse;font-size:12px;width:100%}.allocation-table th{background:#f9fafb;color:var(--text);font-weight:600;text-align:left}.allocation-table td,.allocation-table th{border-bottom:1px solid var(--border);padding:10px}.allocation-table td{color:var(--sub)}.allocation-table tbody tr:last-child td{border-bottom:none}.allocation-value{color:var(--text);font-weight:600}.action-btn-small{align-items:center;background:#dbeafe;border:none;border-radius:var(--border-radius-md);color:#1e40af;cursor:pointer;display:flex;font-family:inherit;font-size:11px;font-weight:500;gap:4px;padding:4px 8px;transition:all .15s}.action-btn-small:hover{background:#bfdbfe}.modal-content{max-width:450px}.modal-header h3{font-size:14px}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-group label{align-items:center;cursor:pointer;display:flex;font-size:12px;gap:6px}.radio-group input{margin:0;width:auto}.modal-footer{gap:8px;padding:12px 16px}@media (max-width:768px){.hr-tabs{overflow-x:auto}.allocation-table{font-size:11px}.allocation-table td,.allocation-table th{padding:8px}.modal-content{width:95%}.type-actions{flex-direction:column}}.admin-create-leave-container{margin:0 auto;max-width:900px;padding:20px}.page-header h1{color:#333;font-size:2em;margin:0 0 10px}.page-header p{color:#666}.form-section{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr;max-width:900px}.form-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:25px}.form-card h2{color:#333;font-size:1.3em;margin:0 0 20px}.form-group label{color:#333;font-size:.95em}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;font-size:1em;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4caf50;box-shadow:0 0 0 3px rgba(76,175,80,.1)}.form-row{grid-gap:15px;gap:15px;grid-template-columns:1fr 1fr}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.days-display{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:10px;padding:15px}.days-value{color:#4caf50;font-size:2em;font-weight:700;min-width:60px}.days-label{color:#666;font-size:.95em}.employee-info-card{grid-gap:15px;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;display:grid;gap:15px;grid-template-columns:1fr 1fr;margin-bottom:20px;padding:15px}.employee-info-card .info-item{display:flex;flex-direction:column;font-size:.9em;gap:5px}.employee-info-card .info-item:last-child{margin-bottom:0}.employee-info-card .label{color:#1976d2;font-size:.85em;font-weight:600}.employee-info-card .value{color:#333;font-weight:500;text-align:left}.form-actions{border-top:1px solid #e0e0e0;margin-top:25px;padding-top:20px}.btn{flex:1 1;font-size:.95em;padding:12px 24px}.btn:disabled{opacity:.6}.btn-primary{background:#4caf50}.btn-primary:hover:not(:disabled){background:#45a049;box-shadow:0 4px 12px rgba(76,175,80,.3);transform:translateY(-2px)}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover:not(:disabled){background:#d0d0d0}.alert{font-size:.95em}.alert-error{background:#ffebee;border:1px solid #ffcdd2;color:#c62828}.alert-success{background:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32}.info-box{background:linear-gradient(135deg,#e3f2fd,#f0f8ff);border-left:4px solid #2196f3;height:-webkit-fit-content;height:fit-content}.info-box h3{color:#1976d2;font-size:1em;font-weight:600;margin:0 0 15px}.info-box ul{padding-left:0}.info-box li{color:#555;font-size:.9em;margin-bottom:12px;padding-left:24px}.info-box li:before{color:#4caf50}.info-box strong{color:#1976d2;font-weight:600}@media (max-width:768px){.admin-create-leave-container{padding:15px}.form-row{grid-template-columns:1fr}.form-card{padding:15px}.days-display{align-items:flex-start}.days-display,.form-actions{flex-direction:column}.btn{flex:auto}.employee-info-card{gap:8px;grid-template-columns:1fr}}.approval-container{max-width:100%}.badge-count{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:600;height:24px;justify-content:center;width:24px}.approval-item{align-items:flex-start;padding:14px 0}.approval-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:38px;justify-content:center;width:38px}.approval-info{flex-shrink:0;min-width:120px}.approval-info h4{color:var(--text);font-size:12px;font-weight:600;margin-bottom:2px}.approval-info p{color:var(--sub);font-size:11px;margin:0}.approval-details{flex:1 1}.detail-row{display:flex;font-size:12px;justify-content:space-between;margin-bottom:3px}.detail-row:last-child{margin-bottom:0}.detail-label{color:var(--text)}.detail-date,.detail-value{color:var(--sub)}.detail-date{font-size:11px}.approval-actions{display:flex;flex-shrink:0;gap:6px}.action-btn{font-size:11px;padding:6px 10px}.action-btn i{font-size:13px}.action-btn.approve{background:#dcfce7;color:#166534}.action-btn.approve:hover{background:#bbf7d0}.action-btn.reject{background:#fee2e2;color:#991b1b}.action-btn.reject:hover{background:#fecaca}@media (max-width:768px){.approval-item{flex-wrap:wrap}.approval-details{width:100%}.approval-actions{justify-content:flex-end;width:100%}}.employees-container{display:flex;flex-direction:column;gap:14px}.filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px}.search-box{padding:7px 12px}.filter-select{background:#fff;border:1px solid var(--border);border-radius:var(--border-radius-md);color:var(--text);min-width:150px;outline:none;padding:7px 12px}.btn-primary,.filter-select{cursor:pointer;font-family:inherit;font-size:13px}.btn-primary{align-items:center;border:none;border-radius:var(--border-radius-md);display:inline-flex;font-weight:500;gap:6px;padding:7px 14px;transition:all .15s}.btn-primary i{font-size:15px}.employee-count{color:var(--sub);font-size:12px;font-weight:500}.emp-table{border-collapse:collapse;font-size:13px;width:100%}.emp-table th{background:#fafafa;color:var(--sub);font-size:11px;font-weight:600;letter-spacing:.06em;padding:10px 14px;text-align:left;text-transform:uppercase}.emp-table td,.emp-table th{border-bottom:1px solid var(--border)}.emp-table td{color:var(--text);padding:12px 14px}.emp-table tr:last-child td{border-bottom:none}.emp-table tbody tr:hover td{background:#f9fafb}.emp-name{align-items:center;display:flex;font-weight:500;gap:8px}.emp-avatar{font-size:11px;height:32px;width:32px}.role-pill{align-items:center;border-radius:100px;display:inline-flex;font-size:11px;font-weight:600;padding:3px 9px}.role-user{background:#dbeafe;color:#1e40af}.role-approver{background:#dcfce7;color:#166534}.badge-secondary{background:#e5e7eb;color:#374151}.action-links{display:flex;gap:8px}.action-link{background:transparent;border:none;border-radius:4px;color:var(--accent);cursor:pointer;font-family:inherit;font-size:11px;font-weight:500;padding:4px 8px;transition:background .15s}.action-link:hover{background:#f0f2f5}.modal-content{max-height:90vh;max-width:500px;overflow-y:auto}.detail-section{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:20px;margin-bottom:24px;padding-bottom:24px}.detail-avatar{flex-shrink:0}.detail-avatar,.detail-info{display:flex;justify-content:center}.detail-info{flex:1 1;flex-direction:column}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.detail-group{gap:6px}.detail-group label{color:var(--sub);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.detail-group p{color:var(--text);font-size:13px;font-weight:500;margin:0}.action-link.delete{align-items:center;border-radius:4px;color:#dc2626;display:flex;height:28px;justify-content:center;padding:4px;width:28px}.action-link.delete:hover{background:#fee2e2}.btn-delete{background:#dc2626;border-radius:var(--border-radius-md);color:#fff;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;gap:6px;padding:7px 16px}.btn-delete:hover{background:#b91c1c}.btn-delete i{font-size:15px}.confirm-modal{max-width:400px}.leave-allocation-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.leave-item{background:#fafafa;border:1px solid var(--border);border-radius:var(--border-radius-md);padding:12px}.leave-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}.leave-name{color:var(--text);font-size:12px;font-weight:600}.leave-year{background:var(--accent);border-radius:4px;color:#fff;font-size:10px;font-weight:500;padding:2px 6px}.leave-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:10px}.leave-stat{text-align:center}.leave-stat .stat-label{color:var(--sub);display:block;font-size:10px;font-weight:500;margin-bottom:3px}.leave-stat .stat-value{color:var(--text);display:block;font-size:13px;font-weight:600}.leave-stat .stat-value.remaining{color:#16a34a}.leave-bar{margin-top:8px}.bar-background{background:#e5e7eb;border-radius:3px;height:6px;overflow:hidden}.bar-used{background:linear-gradient(90deg,#3b82f6,#2563eb);height:100%;transition:width .3s ease}.form-input{background:#fff;border:1px solid var(--border);border-radius:var(--border-radius-md);color:var(--text);font-family:inherit;font-size:13px;padding:8px 12px;transition:all .15s;width:100%}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(45,125,210,.1);outline:none}.form-input:disabled{background:#f3f4f6;color:var(--sub);cursor:not-allowed}.form-row{grid-template-columns:repeat(2,1fr)}@media (max-width:768px){.modal-content{max-width:95%}.detail-grid{grid-template-columns:1fr}.detail-section{align-items:center;flex-direction:column;text-align:center}.detail-info{justify-content:flex-start}.filter-bar{align-items:stretch;flex-direction:column}.search-box{flex:none;width:100%}.filter-select{width:100%}.btn-primary{justify-content:center;width:100%}.table-wrapper{font-size:12px}.emp-table td,.emp-table th{padding:8px 10px}.form-row{grid-template-columns:1fr}.modal-content{max-height:90vh;max-width:95%}}.reports-container{display:flex;flex-direction:column;gap:20px}.grid-2{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.card{border:1px solid #e5e7eb!important;padding:0}.card,.card-header{background:#fff!important;box-shadow:none!important}.card-header{border:none!important;outline:none!important;padding:16px}.card-header:after{display:none!important}.card-header h3{font-size:13px}.card-body{background:#fff!important;border-bottom:none!important;border-top:none!important;display:flex;flex-direction:column;justify-content:flex-start;min-height:200px;padding:16px!important}.card-body>p:only-child{margin:auto;text-align:center}.prog-wrap{margin-bottom:14px}.prog-wrap:last-child{margin-bottom:0}.prog-label{color:var(--text);display:flex;font-size:13px;justify-content:space-between;margin-bottom:6px}.prog-label span:last-child{color:var(--sub)}.prog-bar{background:#f0f2f5;border-radius:4px;height:8px}.prog-fill{border-radius:4px;height:100%;transition:width .3s ease}.stat-display{display:flex;flex-direction:column;gap:12px}.stat-item{align-items:center;display:flex;gap:12px}.stat-circle{border-radius:50%;flex-shrink:0;height:24px;width:24px}.stat-circle.approved{background:#dcfce7}.stat-circle.pending{background:#fef3c7}.stat-circle.rejected{background:#fee2e2}.stat-value{color:var(--text);font-size:16px;font-weight:600}.stat-label{color:var(--sub);font-size:11px}.table-wrapper{background:#fff;border:1px solid var(--border);border-radius:var(--border-radius-lg)}.report-table{background:#fff;border-collapse:collapse;font-size:13px;width:100%}.report-table th{background:#fff;color:var(--sub);font-size:11px;font-weight:600;letter-spacing:.06em;padding:10px 14px;text-align:left;text-transform:uppercase}.report-table td,.report-table th{border-bottom:1px solid var(--border)}.report-table td{color:var(--text);padding:12px 14px}.report-table tr:last-child td{border-bottom:none}.report-table tbody tr:hover{background:#fff}.badge-approved{background:#dcfce7;color:#166534}.badge-pending{background:#fef3c7;color:#92400e}.mini-bar{background:#f0f2f5;border-radius:2px;height:6px;margin-bottom:4px}.mini-fill{background:#2d7dd2;border-radius:2px;height:100%}.trends-table{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.trend-row{align-items:flex-end;display:flex;gap:12px}.trend-month{color:var(--sub);flex-shrink:0;font-size:12px;font-weight:500;width:60px}.trend-bars{align-items:flex-end;display:flex;flex:1 1;gap:8px;height:80px}.bar-item{flex:1 1;flex-direction:column;gap:4px}.bar-item,.bar-label{align-items:center;display:flex}.bar-label{color:var(--sub);font-size:10px;height:14px}.bar{border-radius:2px;transition:all .3s ease;width:100%}.bar-item.approved .bar{background:#dcfce7}.bar-item.rejected .bar{background:#fee2e2}.bar-item.pending .bar{background:#fef3c7}.trend-total{color:var(--text);flex-shrink:0;font-size:12px;font-weight:600;text-align:right;width:40px}.trends-legend{border-top:1px solid var(--border);display:flex;flex-wrap:wrap;font-size:12px;gap:16px;padding-top:12px}@media (max-width:768px){.grid-2{grid-template-columns:1fr}.trend-bars{height:60px}.report-table{font-size:12px}.report-table td,.report-table th{padding:8px 10px}}.payroll-container{display:flex;flex-direction:column;gap:14px;padding:0}.page-header{align-items:flex-start;margin-bottom:8px}.header-left h1{color:var(--text);font-size:24px;font-weight:700;margin:0}.header-left p{color:var(--sub);font-size:13px;margin:4px 0 0}.card-header p{color:var(--sub);font-size:12px;margin:0}.card-footer{font-size:12px}.form-control{background:#fff;box-sizing:border-box;color:var(--text);line-height:1.5;width:100%}.btn-secondary{margin-bottom:0}.btn-secondary:hover{background:#e5e7eb}.info-box p{flex:1 1}.alert{font-size:12px;gap:8px}.table-wrapper{padding:0 20px}.payroll-table{border-collapse:collapse;font-size:12px;width:100%}.payroll-table thead{background:#f9fafb;border-bottom:1px solid var(--border)}.payroll-table th{border-right:1px solid #e5e7eb;color:#6b7280;font-weight:600;padding:12px 16px;text-align:left}.payroll-table th:last-child{border-right:none}.payroll-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .15s}.payroll-table tbody tr:hover{background-color:#f9fafb}.payroll-table tbody tr.has-absence{background-color:#fffbeb}.payroll-table td{border-right:1px solid #e5e7eb;color:var(--text);padding:12px 16px}.payroll-table td:last-child{border-right:none}.emp-cell{display:flex;gap:8px}.badge,.emp-cell{align-items:center}.badge{border-radius:100px;display:inline-flex;font-size:11px;padding:3px 9px}.badge-success{color:#166534}.badge-warning{color:#92400e}.leave-breakdown{color:var(--text);font-size:11px}.leave-breakdown ul{list-style-type:disc;margin:0;padding-left:20px}.leave-breakdown li{margin:2px 0}@media (max-width:768px){.filter-group{align-items:stretch;flex-direction:column}.form-input{min-width:auto}.payroll-table{font-size:11px}.payroll-table td,.payroll-table th{padding:8px 10px}}.absensi-container{margin:0 auto;max-width:1400px;padding:24px}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.page-header h1{margin:0}.page-header p{margin:8px 0 0}.card{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.05)}.card-header{background:#f9fafb;padding:20px}.card-header h3{font-size:16px}.filter-group{grid-gap:16px;align-items:flex-end;display:grid;gap:16px;grid-template-columns:1fr 1fr auto;margin-bottom:16px}.form-group{gap:8px}.form-group label{color:var(--text)}.form-control{border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s ease}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.btn{white-space:nowrap}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{background:#e5e7eb}.btn-secondary:hover:not(:disabled){background:#d1d5db}.info-box{align-items:center;background:#dbeafe;border-left:4px solid var(--accent);border-radius:4px;font-size:14px;gap:12px;padding:12px 16px}.info-box i{font-size:18px}.alert{padding:16px 20px}.alert-danger{background:#fee2e2}.table-wrapper{margin:20px 0;overflow-x:auto}.absensi-table{border-collapse:collapse;font-size:14px;width:100%}.absensi-table thead{background:#f9fafb;border-bottom:2px solid var(--border)}.absensi-table th{color:var(--text);font-weight:600;padding:12px 16px;text-align:left;white-space:nowrap}.absensi-table td{border-bottom:1px solid var(--border);color:var(--text);padding:12px 16px}.absensi-table tbody tr:hover{background:#f9fafb}.absensi-table tbody tr.danger-row{background:#fef2f2}.absensi-table tbody tr.danger-row:hover{background:#fee2e2}.badge{border-radius:4px;font-weight:600}.badge-info{color:#0c4a6e}.badge-warning{background:#fef3c7;color:#78350f}.badge-danger{color:#7f1d1d}.badge-success{background:#dcfce7;color:#15803d}.card-footer{background:#f9fafb;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;font-size:14px;gap:24px;justify-content:space-between;padding:16px 20px}.card-footer p{color:var(--text);margin:0}.card-footer strong{font-weight:600}.upload-section{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 1fr}.upload-box{background:#f9fafb;border:2px dashed var(--border);border-radius:8px;padding:32px 20px;text-align:center;transition:all .2s}.upload-box:hover{background:rgba(59,130,246,.05);border-color:var(--primary)}.upload-box i{color:var(--primary);display:block;font-size:32px;margin-bottom:12px}.upload-box p{color:var(--text);font-size:14px;margin:0 0 16px}.upload-input-label{cursor:pointer}.upload-info{background:#f0f9ff;border-left:4px solid var(--primary);border-radius:4px;padding:16px}.upload-info p{color:var(--text);font-size:13px;margin:0 0 8px}.upload-info ul{color:var(--sub);line-height:1.6;margin:0;padding-left:20px}.upload-info li{font-size:12px;margin-bottom:4px}@media (max-width:768px){.filter-group,.upload-section{grid-template-columns:1fr}.filter-group{gap:12px}.page-header{align-items:flex-start;flex-direction:column}.card-footer{flex-direction:column;gap:16px}.absensi-table{font-size:12px}.absensi-table td,.absensi-table th{padding:8px 12px}}.departments-container{display:flex;flex-direction:column;gap:20px}.header-content{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.header-text{flex:1 1}.departments-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.dept-card{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:var(--border-radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:20px;position:relative;text-align:center;transition:all .15s}.dept-card:hover{background:#fafbfc;border-color:var(--accent);transform:translateY(-2px)}.dept-icon{background:linear-gradient(135deg,var(--accent) 0,#1e40af 100%);border-radius:12px;color:#fff;font-size:28px;height:60px;width:60px}.dept-card h3,.dept-icon{align-items:center;display:flex;justify-content:center}.dept-card h3{color:var(--text);flex:1 1;font-size:15px;font-weight:600;margin:0;min-height:40px}.btn-view-dept{align-items:center;background:var(--accent);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:12px;font-weight:500;gap:6px;justify-content:center;padding:8px 12px;transition:all .15s;width:100%}.btn-view-dept:hover{background:#1e40af}.btn-view-dept i{font-size:14px}.dept-card-actions{flex-direction:column;gap:8px}.btn-edit-dept,.dept-card-actions{align-items:center;display:flex;width:100%}.btn-edit-dept{background:#fff;border:2px solid var(--accent);border-radius:var(--border-radius-md);color:var(--accent);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;gap:6px;justify-content:center;padding:8px 12px;transition:all .15s}.btn-edit-dept:hover{background:var(--accent);color:#fff}.btn-edit-dept i{font-size:14px}.btn-delete-dept{align-items:center;background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;font-family:inherit;font-size:16px;height:32px;justify-content:center;padding:0;position:absolute;right:12px;top:12px;transition:all .15s;width:32px}.btn-delete-dept:hover{background:#fecaca;color:#b91c1c;transform:scale(1.05)}.btn-delete-dept:active{transform:scale(.95)}.modal-overlay{animation:fadeIn .2s ease-out}.modal-content{animation:slideUp .3s ease-out;background:var(--card);border-radius:var(--border-radius-lg);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);display:flex;flex-direction:column;max-height:80vh;max-width:600px;position:relative}.modal-header{padding:16px 20px}.modal-header h3{align-items:center;display:flex;font-size:15px;gap:8px}.modal-header i{color:var(--accent)}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--sub);cursor:pointer;display:flex;font-size:18px;justify-content:center;padding:4px;transition:all .15s}.modal-close:hover{background:#f0f2f5;color:var(--text)}.modal-close-floating{align-items:center;background:var(--card);border:2px solid var(--border);border-radius:50%;display:flex;font-size:20px;height:36px;justify-content:center;padding:0;position:absolute;right:12px;top:12px;width:36px;z-index:1001}.modal-close-floating:hover{background:#f0f2f5;border-color:var(--sub);color:var(--text)}.modal-body{flex:1 1;overflow-y:auto;padding:16px}.employees-list{display:flex;flex-direction:column;gap:12px}.employee-item{background:#fafafa;border:1px solid var(--border);border-radius:var(--border-radius-md);justify-content:space-between;padding:12px;transition:all .15s}.employee-item:hover{background:#f3f4f6}.emp-info{align-items:flex-start;display:flex;gap:12px}.emp-avatar{background:var(--accent);font-weight:600}.emp-details{flex:1 1}.emp-details h4{color:var(--text);font-size:13px;margin:0 0 4px}.emp-details .position{color:var(--sub);font-size:12px;font-weight:500;margin:0}.emp-details .email{color:var(--sub);font-size:11px;margin:2px 0 0}.btn-action{align-items:center;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;transition:all .15s;width:32px}.btn-action:hover{background:#1e40af}.modal-footer{align-items:center;padding:16px 20px}.btn-secondary{background:transparent;border:1px solid var(--border);border-radius:var(--border-radius-md);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:7px 16px;transition:all .15s}.btn-secondary:hover{background:#f9fafb}.alert{margin-bottom:12px}@media (max-width:768px){.departments-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.modal-content{max-height:90vh;max-width:95%}.employees-list{gap:8px}}.mapping-container{display:flex;flex-direction:column;gap:20px}.page-header{padding-bottom:16px}.page-header h1{color:var(--text)}.mapping-content{display:flex;flex-direction:column;gap:16px}.mapping-tools{align-items:center;display:flex;gap:12px}.search-box{background:#fff;border-radius:var(--border-radius-md);min-width:250px}.search-box input{color:var(--text);font-family:inherit;font-size:13px;width:100%}.search-box i{color:var(--sub);font-size:16px}.btn-add{align-items:center;background:var(--accent);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .15s;white-space:nowrap}.btn-add:hover{background:#1e40af}.btn-add i{font-size:15px}.card{background:var(--card);border-radius:var(--border-radius-lg);overflow:hidden}.card-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 20px}.card-header h3{color:var(--text);font-size:14px;font-weight:600;margin:0}.count{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;font-size:11px;height:24px;justify-content:center;width:24px}.card-body{padding:20px}.mapping-form{grid-gap:16px;display:grid;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:var(--sub);font-size:12px;letter-spacing:.05em;text-transform:uppercase}.form-group select{background:#fff;border:1px solid var(--border);border-radius:var(--border-radius-md);color:var(--text);cursor:pointer;font-family:inherit;font-size:13px;outline:none;padding:8px 12px}.form-group select:focus{border-color:var(--accent)}.btn-submit{align-items:center;background:var(--accent);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;gap:6px;padding:10px 16px;transition:all .15s}.btn-submit:hover{background:#1e40af}.mappings-list{display:flex;flex-direction:column;gap:12px}.mapping-item{align-items:center;background:#fafafa;border:1px solid var(--border);border-radius:var(--border-radius-md);display:flex;justify-content:space-between;padding:16px;transition:all .15s}.mapping-item:hover{background:#f3f4f6;border-color:var(--accent)}.mapping-left{align-items:center;display:flex;flex:1 1;gap:16px}.emp-info,.sup-info{align-items:flex-start;display:flex;gap:12px;min-width:200px}.emp-avatar,.sup-avatar{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:40px;justify-content:center;width:40px}.emp-details,.sup-details{flex:1 1;min-width:0}.emp-details h4,.sup-details h4{color:var(--text);font-size:13px;font-weight:600;margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emp-details .email,.sup-details .email{color:var(--sub);font-size:11px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emp-details .dept,.sup-details .dept{color:var(--sub);font-size:11px;font-weight:500;margin:2px 0 0}.mapping-arrow{color:var(--accent);flex-shrink:0;margin:0 8px}.btn-delete{align-items:center;background:none;border:none;border-radius:4px;color:#dc2626;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;justify-content:center;padding:8px;transition:all .15s}.btn-delete:hover{background:#fee2e2}.mapping-mode{display:flex;flex-wrap:wrap;gap:20px}.radio-option{align-items:flex-start;background:#fafafa;border:1px solid var(--border);border-radius:var(--border-radius-md);cursor:pointer;display:flex;flex:1 1;gap:12px;min-width:280px;padding:12px;transition:all .15s}.radio-option:hover{background:#f3f4f6;border-color:var(--accent)}.radio-option input[type=radio]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;height:18px;margin-top:2px;width:18px}.radio-option input[type=radio]:checked{accent-color:var(--accent)}.radio-label{align-items:center;color:var(--text);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;-webkit-user-select:none;user-select:none}.radio-label i{color:var(--accent);font-size:18px}.radio-description{color:var(--sub);display:block;font-size:12px;margin-left:30px;margin-top:4px}.dept-mappings-list{display:flex;flex-direction:column;gap:12px}.dept-mapping-item{align-items:center;background:#fafafa;border:1px solid var(--border);border-radius:var(--border-radius-md);display:flex;justify-content:space-between;padding:16px;transition:all .15s}.dept-mapping-item:hover{background:#f3f4f6;border-color:var(--accent)}.dept-mapping-left{align-items:center;display:flex;flex:1 1;gap:16px}.dept-info{align-items:flex-start;display:flex;gap:12px;min-width:200px}.dept-info i{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;line-height:1;width:40px}.dept-details{flex:1 1;min-width:0}.dept-details h4{color:var(--text);font-size:13px;font-weight:600;margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dept-details .subtitle{color:var(--sub);font-size:11px;font-weight:500;margin:0}.approver-info{align-items:flex-start;display:flex;gap:12px;min-width:200px}.approver-avatar{align-items:center;background:#10b981;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:40px;justify-content:center;width:40px}.approver-details{flex:1 1;min-width:0}.approver-details h4{color:var(--text);font-size:13px;font-weight:600;margin:0 0 3px}.approver-details .email,.approver-details h4{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approver-details .email{color:var(--sub);font-size:11px;margin:0}.form-row{grid-gap:12px;align-items:flex-end;display:grid;gap:12px;grid-template-columns:1fr 1fr auto}@media (max-width:768px){.form-row{grid-template-columns:1fr}.radio-option{flex:none;width:100%}.dept-mapping-left,.mapping-left{flex-direction:column;gap:12px}.approver-info,.dept-info,.emp-info,.sup-info{width:100%}}.alert{animation:slideDown .2s ease-out;border-radius:var(--border-radius-md);font-size:13px}.alert i{font-size:16px}.alert button{flex-shrink:0;margin-left:auto}@media (max-width:768px){.mapping-tools{align-items:stretch;flex-direction:column}.search-box{min-width:0;min-width:auto}.btn-add{justify-content:center;width:100%}.mapping-item{align-items:flex-start;flex-direction:column;gap:12px}.mapping-left{flex-wrap:wrap;width:100%}.emp-info,.sup-info{min-width:0;min-width:auto}.mapping-arrow{margin:0;transform:rotate(90deg)}.btn-delete{align-self:flex-end;margin-top:-40px}}.mapping-list-container{margin:0 auto;max-width:1200px;padding:24px}.mappings-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.mapping-card{background:#fff;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;padding:16px;transition:all .3s ease}.mapping-card:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(0,0,0,.1)}.mapping-card-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px}.department-badge{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;width:44px}.mapping-info h3{color:var(--heading);font-size:16px;font-weight:600;margin:0}.mapping-arrow{color:var(--primary);font-size:20px;margin:8px 0;text-align:center}.mapping-card-footer{align-items:center;display:flex;gap:12px}.approver-badge{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;width:44px}.approver-info{flex:1 1}.approver-name{color:var(--heading);font-size:14px;font-weight:600;margin:0}.approver-email{color:var(--sub);font-size:12px;margin:4px 0 0}.approver-dept{color:var(--primary);font-size:12px;margin:2px 0 0}@media (max-width:768px){.mappings-grid{grid-template-columns:1fr}.page-header h1{font-size:20px}.mapping-card{align-items:center;flex-direction:row;gap:12px}.mapping-card-header{border-bottom:none;margin-bottom:0;min-width:140px;padding-bottom:0}.mapping-arrow{display:none}.mapping-card-footer{min-width:120px}}.head-mapping-container{margin:0 auto;max-width:1400px;padding:24px}.page-header{margin-bottom:32px}.page-header h1{color:var(--heading);font-weight:600;margin:0 0 8px}.page-header p{color:var(--sub);font-size:14px}.alert{gap:12px;margin-bottom:24px}.alert-error{background-color:#fee;border:1px solid #fcc;color:#c33}.alert i{flex-shrink:0;font-size:18px}.list-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.search-box{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--sub);flex:1 1;gap:12px;min-width:200px;padding:10px 16px}.search-box input{background:none;color:var(--heading)}.search-box input::placeholder{color:var(--sub)}.count-badge{border:1px solid var(--border);border-radius:20px;color:var(--sub);font-size:13px;font-weight:500;padding:8px 16px;white-space:nowrap}.card,.count-badge{background:var(--bg)}.card{padding:16px}.card,.mappings-table{border:1px solid var(--border);border-radius:8px}.mappings-table{background:#fff;overflow:hidden}.mappings-table table{border-collapse:collapse;width:100%}.mappings-table thead{background:var(--table-header);border-bottom:2px solid var(--border)}.mappings-table th{color:var(--sub);font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.mappings-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s ease}.mappings-table tbody tr:hover{background-color:var(--hover-bg)}.mappings-table tbody tr:last-child{border-bottom:none}.mappings-table td{font-size:14px;padding:14px 16px}.col-number{color:var(--sub);font-weight:500;width:50px}.col-employee{width:25%}.col-department{width:15%}.col-approver{width:25%}.col-approver-dept{width:15%}.approver-cell,.employee-cell{align-items:center;display:flex;gap:10px}.approver-cell i,.employee-cell i{color:var(--primary);flex-shrink:0;font-size:18px}.approver-cell>div,.employee-cell>div{flex:1 1;min-width:0}.name{color:var(--heading);font-weight:600;margin:0}.email,.name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email{color:var(--sub);margin:4px 0 0}.badge,.email{font-size:12px}.badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:inline-block;font-weight:500;padding:4px 12px;white-space:nowrap}.badge-alt{background:linear-gradient(135deg,#f093fb,#f5576c)}@media (max-width:1024px){.col-employee{width:30%}.col-department{width:20%}.col-approver{width:30%}.col-approver-dept{width:20%}.mappings-table td{font-size:13px;padding:10px 12px}.mappings-table th{font-size:11px;padding:10px 12px}}@media (max-width:768px){.mappings-table{overflow-x:auto}.mappings-table table{min-width:800px}.col-number{width:40px}.col-employee{width:28%}.col-department{width:18%}.col-approver{width:28%}.col-approver-dept{width:18%}.name{font-size:13px}.email{font-size:11px}}.password-management-container{margin:0 auto;max-width:1400px;padding:20px}.page-header{margin-bottom:30px}.page-header h1{color:#1f2937;font-size:28px;margin:0 0 5px}.page-header p{color:#6b7280;margin:0}.alert{align-items:center;animation:slideDown .3s ease;border-radius:8px;display:flex;gap:10px;padding:14px 16px}.alert-error{border-left:4px solid #dc2626}.alert-success{border-left:4px solid #22c55e}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.content-wrapper{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.employee-list-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);display:flex;flex-direction:column;overflow:hidden}.section-header{align-items:center;border-bottom:none;display:flex;justify-content:space-between;padding:8px 12px}.section-header h3{color:#1f2937;font-size:16px;margin:0}.count{background:#f3f4f6;border-radius:20px;color:#6b7280;font-size:12px;font-weight:600;padding:4px 12px}.search-box{align-items:center;background:#fafbfc;border-bottom:1px solid #e5e7eb;display:flex;gap:8px;max-width:100%;padding:8px 12px}.search-box i{color:#9ca3af;flex-shrink:0}.search-box input{background:transparent;border:none;color:#1f2937;flex:1 1;font-size:14px;max-width:300px;min-width:0;outline:none}.search-box input::placeholder{color:#9ca3af}.loading{align-items:center;display:flex;flex-direction:column;justify-content:center}.loading i{animation:spin 2s linear infinite;font-size:32px;margin-bottom:10px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.employees-list{overflow-y:auto}.employee-item{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:10px;padding:8px 12px;transition:all .2s}.employee-item:hover{background:#f9fafb}.employee-item.selected{background:#eff6ff;border-left:3px solid #3b82f6}.emp-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:40px;justify-content:center;width:40px}.emp-info{flex:1 1;min-width:0}.emp-info h4{color:#1f2937;font-size:14px;font-weight:600;margin:0}.emp-info p{color:#6b7280;font-size:12px;margin:2px 0 0}.email{font-weight:500}.emp-role{display:flex;gap:8px}.role-badge{border-radius:16px;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.role-badge.employee{background:#e0e7ff;color:#4f46e5}.role-badge.supervisor{background:#fef3c7;color:#d97706}.role-badge.hr{background:#dbeafe;color:#0284c7}.reset-form-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);display:flex;flex-direction:column;max-height:-webkit-fit-content;max-height:fit-content;overflow:hidden}.reset-form-section.empty{align-items:center;color:#9ca3af;justify-content:center;min-height:400px}.reset-form-section.empty i{font-size:48px;margin-bottom:15px;opacity:.5}.btn-close{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:all .2s;width:30px}.btn-close:hover{background:#f3f4f6;color:#1f2937}.employee-info-card{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:12px 16px}.emp-avatar-large{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:48px;justify-content:center;width:48px}.emp-details h4{color:#1f2937;font-size:14px;font-weight:600;margin:0 0 2px}.emp-details p{color:#6b7280;font-size:12px;margin:2px 0}.dept-text strong,.role-text strong{color:#1f2937}.reset-form{padding:12px 16px}.form-group{margin-bottom:12px}.form-group label{font-size:13px}.password-input-group{display:flex;gap:8px}.password-input-group input{flex:1 1}.form-group input{border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-family:Courier New,monospace;font-size:14px;letter-spacing:.5px;padding:10px 12px;transition:all .2s;width:100%}.form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.btn-generate{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;flex-shrink:0;font-size:14px;padding:10px 12px;transition:all .2s}.btn-generate:hover{background:#e5e7eb;color:#374151}.password-generator{background:#f0fdf4;border-left:3px solid #22c55e;border-radius:6px;margin-top:10px;padding:12px}.btn-gen-now{align-items:center;background:#22c55e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 12px;transition:all .2s;width:100%}.btn-gen-now:hover{background:#16a34a}.gen-help{color:#4b5563;font-size:12px;margin:8px 0 0}.password-requirements{background:#fef3c7;border-left:3px solid #f59e0b;border-radius:6px;margin-bottom:12px;padding:10px 12px}.password-requirements p{color:#92400e;font-size:13px;font-weight:600;margin:0 0 8px}.password-requirements ul{list-style:none;margin:0;padding-left:0}.password-requirements li{align-items:center;color:#92400e;display:flex;font-size:12px;gap:8px;margin-bottom:4px}.password-requirements li.valid{color:#16a34a}.password-requirements li.invalid{color:#dc2626}.password-requirements i{font-size:14px}.form-actions{gap:10px;margin-top:12px}.btn-cancel,.btn-reset{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s}.btn-cancel{background:#f3f4f6;color:#374151}.btn-cancel:hover{background:#e5e7eb}.btn-reset{background:#3b82f6;color:#fff}.btn-reset:hover:not(:disabled){background:#2563eb}.btn-reset:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.info-box{background:#eff6ff;border-left:3px solid #3b82f6;border-radius:0 6px 6px 0;color:#1e40af;display:flex;font-size:12px;gap:10px;margin-top:12px;padding:10px 12px}.info-box i{flex-shrink:0;font-size:16px}.info-box p{margin:0}.info-box strong{color:#1e3a8a}@media (max-width:1024px){.content-wrapper{grid-template-columns:1fr}.employee-item{padding:14px}.emp-info h4{font-size:15px}}@media (max-width:768px){.password-management-container{padding:16px}.page-header h1{font-size:24px}.content-wrapper{gap:16px}.section-header{padding:16px}.section-header h3{font-size:16px}.employee-info-card{flex-direction:column;text-align:center}.emp-avatar-large{height:70px;width:70px}.form-actions{flex-direction:column}.btn-cancel,.btn-reset{width:100%}}.email-templates-container{margin:0 auto;max-width:1200px;padding:20px}.email-templates-header{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:30px}.email-templates-header h1{color:#1f2937;font-size:28px;font-weight:600;margin:0}.template-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-bottom:30px;padding:24px}.template-form-card h2{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 20px}.form-group{margin-bottom:20px}.form-group label{font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1);outline:none}.form-group.checkbox,.form-group.checkbox label{align-items:center;display:flex}.form-group.checkbox label{margin-bottom:0}.form-group.checkbox input{margin-right:8px;width:auto}.form-actions{margin-top:24px}.variables-guide{background:#f0f4ff;border-left:4px solid #2563eb;border-radius:6px;margin-top:24px;padding:16px}.variables-guide h4{color:#1f2937;margin:0 0 12px}.variables-guide p{color:#4b5563;font-size:14px;margin:0 0 12px}.variables-guide ul{margin:0;padding-left:20px}.variables-guide li{color:#4b5563;font-size:14px;margin-bottom:6px}.variables-guide code{background:#fff;border-radius:4px;color:#e11d48;font-size:13px;padding:2px 6px}.templates-list{margin-top:30px}.template-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.template-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:20px;transition:all .2s}.template-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}.template-card.inactive{background:#f9fafb;opacity:.6}.template-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.template-header h3{color:#1f2937;flex:1 1;font-size:16px;font-weight:600;margin:0}.status-badge{border-radius:12px}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fee2e2;color:#991b1b}.event-type{color:#6b7280;font-size:13px;margin-bottom:12px}.event-type strong{color:#374151}.subject{background:#f9fafb;border-left:3px solid #2563eb;border-radius:4px;color:#4b5563;font-size:13px;margin-bottom:12px;padding:10px}.subject strong{color:#1f2937;display:block;margin-bottom:6px}.description{color:#6b7280;font-size:13px;margin-bottom:16px}.template-actions{display:flex;gap:8px;margin-bottom:12px}.btn{display:inline-block;padding:8px 16px;text-decoration:none;transition:all .2s}.btn-primary{background:#2563eb}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.btn-success{background:#16a34a}.btn-success:hover{background:#15803d}.btn-danger{background:#dc2626}.btn-danger:hover{background:#b91c1c}.btn-sm{font-size:13px;padding:6px 12px}.template-preview{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px}.template-preview summary{color:#2563eb;cursor:pointer;font-size:13px;font-weight:600;margin:-6px;padding:6px;-webkit-user-select:none;user-select:none}.template-preview summary:hover{color:#1d4ed8}.preview-content{margin-top:10px}.preview-content pre{word-wrap:break-word;background:#f9fafb;border-radius:4px;color:#4b5563;font-size:12px;margin:0;max-height:300px;overflow-y:auto;padding:12px;white-space:pre-wrap}.alert-error{background:#fee2e2;border:1px solid #fecaca}.alert-success{background:#dcfce7;border:1px solid #bbf7d0}.loading,.no-data{color:#6b7280;font-size:16px;padding:40px 20px;text-align:center}@media (max-width:768px){.email-templates-header{align-items:flex-start;flex-direction:column}.template-cards{grid-template-columns:1fr}.template-form-card{padding:16px}.form-actions{flex-direction:column}.btn{width:100%}}.email-settings-page{margin:0 auto;max-width:1000px;padding:24px}.settings-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.settings-header>div{flex:1 1}.settings-header h1{color:#1f2937;font-size:28px;font-weight:700;margin:0 0 8px}.settings-container{grid-gap:24px;display:grid;gap:24px;margin-bottom:32px}.setting-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:24px;transition:box-shadow .2s ease}.setting-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}.setting-info{margin-bottom:20px}.setting-info h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 8px}.setting-description{color:#6b7280;font-size:14px;line-height:1.6;margin:0 0 16px}.current-value{align-items:center;background-color:#f3f4f6;border-left:3px solid #3b82f6;border-radius:6px;display:flex;gap:12px;padding:12px 16px}.current-value strong{color:#374151;font-weight:600;min-width:140px}.current-value code{background-color:#fff;border-radius:4px;color:#1f2937;flex:1 1;font-family:Courier New,monospace;padding:4px 8px;word-break:break-all}.edit-form{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:20px}.form-group{margin-bottom:16px}.form-group:last-of-type{margin-bottom:20px}.form-group label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.form-group input,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.form-actions,.setting-actions{display:flex;gap:12px;justify-content:flex-end}.btn{border-radius:6px;font-size:14px;padding:10px 16px;transition:all .2s ease}.btn-primary{background-color:#3b82f6}.btn-primary:hover{background-color:#2563eb;box-shadow:0 4px 12px rgba(37,99,235,.3)}.btn-primary:active{background-color:#1d4ed8}.btn-secondary{background-color:#e5e7eb;color:#374151}.btn-secondary:hover{background-color:#d1d5db}.btn-edit{background-color:#f59e0b;color:#fff}.btn-edit:hover{background-color:#d97706;box-shadow:0 4px 12px rgba(217,119,6,.3)}.btn-test-email{background-color:#10b981;color:#fff;flex-shrink:0;padding:10px 20px;white-space:nowrap}.btn-test-email:hover:not(:disabled){background-color:#059669;box-shadow:0 4px 12px rgba(5,150,105,.3)}.btn-test-email:disabled{background-color:#6b7280;cursor:not-allowed;opacity:.7}.alert{border-left:4px solid;margin-bottom:20px}.alert-error{background-color:#fee2e2;border-left-color:#dc2626;color:#991b1b}.alert-success{background-color:#dcfce7;border-left-color:#22c55e;color:#166534}.info-box{background-color:#e0f2fe;border:1px solid #bae6fd;border-left:4px solid #0284c7;border-radius:8px;padding:20px}.info-box h4{color:#0c4a6e;font-size:16px;font-weight:600;margin:0 0 12px}.info-box ul{list-style:none;margin:0;padding:0}.info-box li{color:#0c4a6e;font-size:14px;line-height:1.6;margin-bottom:8px;padding-left:20px;position:relative}.info-box li:before{color:#0284c7;content:"✓";font-weight:700;left:0;position:absolute}.info-box li:last-child{margin-bottom:0}.info-section{margin-bottom:16px}.info-section:last-child{margin-bottom:0}.info-section h5{color:#0c4a6e;font-size:14px;font-weight:600;margin:0 0 8px}.info-section ul{list-style:none;margin:0;padding:0}.info-section li{color:#0c4a6e;font-size:13px;line-height:1.5;margin-bottom:6px;padding-left:20px;position:relative}.info-section li:before{color:#0284c7;content:"•";font-weight:700;left:8px;position:absolute}.email-settings-container{margin:0 auto;max-width:800px;padding:24px}.settings-header{border-bottom:2px solid #e5e7eb;margin-bottom:32px;padding-bottom:16px}.settings-header h2{color:#1f2937;font-size:28px;font-weight:700;margin:0 0 8px}.settings-header p{color:#6b7280;font-size:14px;margin:0}.settings-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:12px;margin-bottom:24px}.tab-btn{background:none;border:none;border-bottom:3px solid transparent;color:#6b7280;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:-2px;padding:12px 16px;transition:all .2s ease}.tab-btn:hover{color:#374151}.tab-btn.active{border-bottom-color:#3b82f6;color:#3b82f6}.settings-form-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.settings-form-section h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 20px}.settings-form-section h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.upload-section{border-bottom:1px solid #e5e7eb;margin-bottom:32px;padding-bottom:24px}.url-section{margin-top:24px}.current-logo{border-bottom:1px solid #e5e7eb;margin-bottom:24px;padding-bottom:24px}.current-logo label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.logo-preview-box{align-items:center;background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;display:inline-flex;height:100px;justify-content:center;padding:8px;width:100px}.logo-preview-box img{max-height:100%;max-width:100%;object-fit:contain}.preview-section{background-color:#f3f4f6;border-radius:6px;margin:20px 0;padding:16px}.preview-section label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.form-text{color:#6b7280;display:block;font-size:12px;margin-top:4px}.alert{border-radius:6px;font-size:14px;margin-bottom:16px;padding:12px 16px}.alert-success{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.alert-danger{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b}.alert strong{font-weight:600}@media (max-width:768px){.email-settings-page{padding:16px}.settings-header h1{font-size:24px}.setting-card{padding:16px}.current-value{align-items:flex-start;flex-direction:column}.current-value strong{min-width:auto}.form-actions{flex-direction:column}.btn{justify-content:center;width:100%}}.supervisor-approval-container{max-width:100%}.status-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.status-card{background:#fff;border:1px solid var(--border);border-radius:var(--border-radius);padding:20px;text-align:center}.status-card.pending-card{border-top:3px solid #f59e0b}.status-card.approved-card{border-top:3px solid #10b981}.status-card.rejected-card{border-top:3px solid #ef4444}.status-number{color:var(--text);font-size:32px;font-weight:700;margin-bottom:8px}.status-label{color:var(--sub);font-size:13px;font-weight:500}.filter-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.filter-btn{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--border-radius-md);color:var(--text);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s}.filter-btn:hover{border-color:var(--accent);color:var(--accent)}.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-btn i{font-size:15px}.approval-item{border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:12px;padding:16px 0}.approval-item:last-child{border-bottom:none}.item-header{justify-content:space-between}.employee-info,.item-header{align-items:flex-start;display:flex;gap:12px}.employee-info{flex:1 1}.avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:40px;justify-content:center;width:40px}.employee-info .info{flex:1 1}.employee-info h4{color:var(--text);font-size:14px;font-weight:600;margin:0 0 4px}.employee-id{color:var(--sub);font-size:12px;margin:0}.status-badge{align-items:center;border-radius:100px;color:#fff;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.item-details{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding-left:52px}.detail-group{display:flex;flex-direction:column;gap:4px}.detail-label{color:var(--sub);font-size:12px;font-weight:500}.detail-value{color:var(--text);font-size:13px;font-weight:500}.attachment-group{grid-column:1/-1}.attachment-item{align-items:center;background:#f9fafb;border:1px solid var(--border);border-radius:var(--border-radius-md);display:flex;gap:8px;padding:8px 12px}.attachment-item i{color:#d97706;flex-shrink:0;font-size:16px}.attachment-item span{color:var(--text);flex:1 1;font-size:12px;word-break:break-all}.view-btn{align-items:center;background:#fff;border:none;border-radius:4px;color:var(--accent);cursor:pointer;display:flex;flex-shrink:0;font-size:13px;height:24px;justify-content:center;transition:all .15s;width:24px}.view-btn:hover{background:var(--accent);color:#fff}.approval-info,.rejection-info{border:1px solid var(--border);border-radius:var(--border-radius-md);grid-column:1/-1;padding:10px 12px}.approval-info{background:#f0fdf4;border-color:#bbf7d0}.rejection-info{background:#fef2f2;border-color:#fecaca}.info-item{display:flex;font-size:12px;justify-content:space-between;margin-bottom:4px}.info-item:last-child{margin-bottom:0}.info-label{color:var(--sub);font-weight:500}.info-value{color:var(--text);font-weight:600}.rejection-reason{color:#991b1b;font-style:italic}.item-actions{display:flex;gap:8px;padding-left:52px;padding-top:8px}.action-btn{align-items:center;border:none;border-radius:var(--border-radius-md);cursor:pointer;display:flex;font-family:inherit;font-size:12px;font-weight:500;gap:4px;padding:8px 12px;transition:all .15s}.action-btn i{font-size:14px}.approve-btn{background:#dcfce7;color:#166534}.approve-btn:hover{background:#bbf7d0}.reject-btn{background:#fee2e2;color:#991b1b}.reject-btn:hover{background:#fecaca}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.empty-state i{color:var(--border);font-size:48px;margin-bottom:12px}.empty-state p{color:var(--sub);font-size:13px}.modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .2s ease-out;background:#fff;border-radius:var(--border-radius);box-shadow:0 20px 25px -5px rgba(0,0,0,.1);max-width:400px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px}.modal-header h3{font-weight:600;margin:0}.close-btn,.modal-header h3{color:var(--text);font-size:16px}.close-btn{align-items:center;background:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s;width:28px}.close-btn:hover{background:#f3f4f6}.modal-body{padding:20px}.confirmation-info{background:#f9fafb;border:1px solid var(--border);border-radius:var(--border-radius-md);display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px}.confirmation-info p{color:var(--text);font-size:13px;margin:0}.confirmation-info strong{color:var(--text);font-weight:600}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{color:var(--text);font-size:12px;font-weight:600}.form-field textarea{border:1px solid var(--border);border-radius:var(--border-radius-md);color:var(--text);font-family:inherit;font-size:12px;min-height:80px;padding:8px 12px;resize:vertical}.form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(45,125,210,.1);outline:none}.modal-footer{border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:16px}.btn{border:none;display:flex;font-size:12px;font-weight:600;justify-content:center;padding:8px 14px}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:#f3f4f6;color:var(--text)}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}@media (max-width:768px){.status-cards{grid-template-columns:1fr}.item-header{flex-direction:column}.status-badge{align-self:flex-start}.item-details{grid-template-columns:1fr;padding-left:0}.item-actions{flex-wrap:wrap;padding-left:0}.action-btn{flex:1 1;justify-content:center}.modal-content{width:95%}}*{box-sizing:border-box;margin:0;padding:0}:root{--navy:#0f2942;--navy2:#1a3a58;--accent:#2d7dd2;--accent2:#1e5fa8;--text:#1a1a1a;--sub:#6b7280;--bg:#f0f2f5;--card:#fff;--border:rgba(0,0,0,.1);--border-radius-md:8px;--border-radius-lg:12px}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f0f2f5;background:var(--bg);color:#1a1a1a;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}#root,body{min-height:100vh}.btn{align-items:center;background:#fff;background:var(--card);border:1px solid rgba(0,0,0,.1);border:1px solid var(--border);border-radius:8px;border-radius:var(--border-radius-md);color:#1a1a1a;color:var(--text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;gap:6px;padding:7px 14px;transition:all .15s}.btn:hover{background:#f5f5f5}.btn-primary{background:#2d7dd2;background:var(--accent);border-color:#2d7dd2;border-color:var(--accent);color:#fff}.btn-primary:hover{background:#1e5fa8;background:var(--accent2);border-color:#1e5fa8;border-color:var(--accent2)}.btn i{font-size:15px}.status-pill{align-items:center;border-radius:100px;display:inline-flex;font-size:11px;font-weight:600;margin-top:5px;padding:3px 9px}.s-pending{background:#fef3c7;color:#92400e}.s-approved{background:#dcfce7;color:#166534}.s-rejected{background:#fee2e2;color:#991b1b}.s-ongoing{background:#dbeafe;color:#1e40af}.badge-warn{background:#fef3c7;color:#92400e}.badge-ok{background:#dcfce7;color:#166534}.badge-info{background:#dbeafe;color:#1e40af}.badge-danger{background:#fee2e2;color:#991b1b}#toast{animation:fadeIn .2s ease;border-radius:10px;bottom:28px;box-shadow:0 8px 24px rgba(0,0,0,.2);color:#fff;display:none;font-size:13px;font-weight:500;padding:13px 20px;position:fixed;right:28px;z-index:9999}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}
/*# sourceMappingURL=main.804809e4.css.map*/