.dashboard{padding:32px}.dashboard-header{margin-bottom:32px}.dashboard-header h1{color:#1e293b;font-size:32px;font-weight:700;margin-bottom:8px}.dashboard-header p{color:#64748b;font-size:16px}.stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d;display:flex;gap:16px;padding:24px;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 12px #0000001a;transform:translateY(-4px)}.stat-icon{align-items:center;background:linear-gradient(135deg,#60a5fa,#3b82f6);border-radius:12px;color:#fff;display:flex;height:48px;justify-content:center;width:48px}.stat-content h3{color:#1e293b;font-size:28px;font-weight:700;margin-bottom:4px}.stat-content p{color:#64748b;font-size:14px}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.dashboard-card{background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d;padding:24px}.dashboard-card h2{color:#1e293b;font-size:20px;font-weight:600;margin-bottom:20px}.attendance-list,.employee-list{display:flex;flex-direction:column;gap:16px}.attendance-item,.employee-item{align-items:center;border-radius:12px;display:flex;gap:12px;padding:12px;transition:background .2s ease}.attendance-item:hover,.employee-item:hover{background:#f8fafc}.employee-item img{border-radius:50%;height:40px;object-fit:cover;width:40px}.attendance-info,.employee-info{flex:1 1}.attendance-info h4,.employee-info h4{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:4px}.attendance-info p,.employee-info p{color:#64748b;font-size:12px}.attendance-hours,.employee-status{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.attendance-hours span:first-child{color:#1e293b;font-size:14px;font-weight:600}@media (max-width:768px){.dashboard{padding:16px}.dashboard-grid,.stats-grid{grid-template-columns:1fr}}.employees-page{padding:32px}.employees-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.employee-card{background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d;padding:24px;transition:all .3s ease}.employee-card:hover{box-shadow:0 8px 12px #0000001a;transform:translateY(-4px)}.employee-header{align-items:center;display:flex;gap:16px;margin-bottom:20px}.employee-header img{border-radius:50%;height:60px;object-fit:cover;width:60px}.employee-basic-info h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:4px}.employee-position{color:#64748b;font-size:14px;margin-bottom:8px}.employee-details{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.detail-row{align-items:center;display:flex;justify-content:space-between}.detail-row .label{color:#64748b;font-size:14px;font-weight:500}.detail-row span:last-child{color:#1e293b;font-size:14px;font-weight:500}.employee-actions{display:flex;gap:12px}.status-badge.on-leave{background:#fef3c7;color:#d97706}.modal-content{max-width:800px}.employee-form{display:flex;flex-direction:column;gap:16px}@media (max-width:768px){.employees-page{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:16px}.employees-grid,.form-row{grid-template-columns:1fr}.modal-content{padding:24px}}.departments-page{padding:32px}.departments-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.department-card{background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d;padding:24px;transition:all .3s ease}.department-card:hover{box-shadow:0 8px 12px #0000001a;transform:translateY(-4px)}.department-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.department-header h3{color:#1e293b;font-size:20px;font-weight:600}.description{color:#64748b;font-size:14px;line-height:1.6;margin-bottom:20px}.detail-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:20px}.detail-item{align-items:center;display:flex;justify-content:space-between}.detail-item .label{color:#64748b;font-size:14px;font-weight:500}.detail-item span:last-child{color:#1e293b;font-size:14px;font-weight:500}.department-actions{display:flex;gap:12px}.btn-delete,.btn-edit{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.btn-edit{background:#f1f5f9;color:#475569}.btn-edit:hover{background:#e2e8f0}.btn-delete{background:#fee2e2;color:#dc2626}.btn-delete:hover{background:#fecaca}.status-badge.active{background:#dcfce7;color:#16a34a}.status-badge.inactive{background:#fee2e2;color:#dc2626}.department-form{display:flex;flex-direction:column;gap:16px}@media (max-width:768px){.departments-page{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:16px}.departments-grid,.form-row{grid-template-columns:1fr}.modal-content{padding:24px}}.attendance-page{padding:32px}.attendance-table-container{background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d;overflow-x:auto;padding:24px}.attendance-table{border-collapse:collapse;width:100%}.attendance-table th{background:#f8fafc;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:12px;text-align:left}.attendance-table td{border-bottom:1px solid #f1f5f9;padding:12px}.attendance-table tbody tr:hover{background:#f8fafc}.notes-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge.present{background:#dcfce7;color:#16a34a}.status-badge.absent{background:#fee2e2;color:#dc2626}.status-badge.late{background:#fef3c7;color:#d97706}.status-badge.half-day{background:#e0e7ff;color:#4f46e5}.modal-content{max-width:600px}.attendance-form{display:flex;flex-direction:column;gap:16px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a;outline:none}@media (max-width:768px){.attendance-page{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:16px}.attendance-table-container{padding:16px}.attendance-table{font-size:14px}.attendance-table td,.attendance-table th{padding:8px}.form-row{grid-template-columns:1fr}.modal-content{padding:24px}}.payroll-page{padding:32px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.page-header h1{color:#1e293b;font-size:32px;font-weight:700}.btn-add{background:linear-gradient(135deg,#60a5fa,#3b82f6);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-add:hover{box-shadow:0 10px 20px #3b82f64d;transform:translateY(-2px)}.payroll-table-container{background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d;overflow-x:auto;padding:24px}.payroll-table{border-collapse:collapse;width:100%}.payroll-table th{background:#f8fafc;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:12px;text-align:left}.payroll-table td{border-bottom:1px solid #f1f5f9;padding:12px}.payroll-table tbody tr:hover{background:#f8fafc}.employee-cell{display:flex;flex-direction:column}.employee-cell strong{color:#1e293b;font-weight:600}.employee-cell small{color:#64748b;font-size:12px}.net-pay-cell{color:#059669;font-weight:700}.status-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.status-badge.paid{background:#dcfce7;color:#16a34a}.status-badge.pending{background:#fef3c7;color:#d97706}.status-badge.failed{background:#fee2e2;color:#dc2626}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;max-height:90vh;max-width:700px;overflow-y:auto;padding:32px;width:90%}.modal-content h2{color:#1e293b;font-size:24px;font-weight:600;margin-bottom:24px}.payroll-form{display:flex;flex-direction:column;gap:16px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#374151;font-size:14px;font-weight:500}.form-group input,.form-group select{border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .3s ease}.form-group input:focus,.form-group select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a;outline:none}.calculation-preview{background:#f8fafc;border-radius:12px;margin-top:16px;padding:20px}.calculation-preview h4{color:#1e293b;font-size:16px;font-weight:600;margin-bottom:16px}.calc-row{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:8px 0}.calc-row:last-child{border-bottom:none}.calc-row.deduction{color:#dc2626}.calc-row.total{border-top:2px solid #e5e7eb;color:#059669;font-size:18px;font-weight:700;padding-top:12px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-primary{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-primary:hover{box-shadow:0 8px 16px #3b82f64d}.modal-actions button:last-child{background:#f1f5f9;border:none;border-radius:8px;color:#475569;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.modal-actions button:last-child:hover{background:#e2e8f0}@media (max-width:768px){.payroll-page{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:16px}.payroll-table-container{padding:16px}.payroll-table{font-size:14px}.payroll-table td,.payroll-table th{padding:8px}.form-row{grid-template-columns:1fr}.modal-content{padding:24px}}.app-container{display:flex;min-height:100vh}.sidebar{background:linear-gradient(180deg,#1e293b,#334155 50%,#475569);box-shadow:4px 0 20px #00000026;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:width .3s ease;z-index:1000}.sidebar,.sidebar.open{width:250px}.sidebar.closed{width:70px}.sidebar-header{border-bottom:1px solid #ffffff1a;overflow:hidden;padding:24px;position:relative;white-space:nowrap}.sidebar.closed .sidebar-header .logo-text,.sidebar.closed .sidebar-header h2{opacity:0;overflow:hidden;width:0}.hamburger-btn{align-items:center;background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;padding:10px;position:absolute;right:24px;top:24px;transition:all .3s ease;width:40px;z-index:1001}.hamburger-btn:hover{background:#fff3;transform:scale(1.05)}.sidebar.closed .hamburger-btn{left:50%;margin:0;position:absolute;right:auto;top:50%;transform:translate(-50%,-50%)}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:24px;font-weight:700;margin:0}.sidebar-nav{padding:20px 0}.sidebar.closed .sidebar-nav{opacity:0;pointer-events:none}.nav-item{align-items:center;color:#cbd5e1;display:flex;font-weight:500;padding:12px 24px;position:relative;text-decoration:none;transition:all .3s ease}.nav-item:hover{background:#ffffff0d;color:#fff;padding-left:32px}.nav-item.active{background:#60a5fa1a;border-left:3px solid #60a5fa;color:#60a5fa}.nav-item svg{font-size:20px;margin-right:12px}.nav-text{white-space:nowrap}.main-content{background:#f8fafc;margin-left:250px;min-height:100vh;transition:margin-left .3s ease;width:calc(100% - 250px)}.main-content.sidebar-closed{margin-left:70px;width:calc(100% - 70px)}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:32px;text-align:center}.login-header h1{color:#1e293b;font-size:32px;font-weight:700;margin-bottom:8px}.login-header p{color:#64748b;font-size:16px}.form-group{margin-bottom:20px}.form-label{color:#374151;display:block;font-weight:500;margin-bottom:8px}.form-input{border:2px solid #e5e7eb;border-radius:10px;font-size:16px;padding:12px 16px;transition:all .3s ease;width:100%}.form-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.btn{align-items:center;border-radius:10px;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;justify-content:center;padding:12px 24px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff;margin-top:8px;width:100%}.btn-primary:hover{box-shadow:0 10px 20px #3b82f64d;transform:translateY(-2px)}.btn-secondary{background:#f1f5f9;color:#475569}.btn-secondary:hover{background:#e2e8f0}.error-message{color:#ef4444}.error-message,.success-message{font-size:14px;margin-top:8px;text-align:center}.success-message{color:#10b981}.loading{align-items:center;color:#64748b;display:flex;font-size:18px;justify-content:center;min-height:200px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:inherit;text-decoration:none}button{border:none;cursor:pointer}button,input,select,textarea{font-family:inherit;outline:none}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}