*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.4;color:#1f2937;background-color:#fff;margin:0;padding:0;overflow-y:scroll;overflow-x:hidden}#root{min-height:100vh;width:100vw;margin:0;padding:0;overflow-y:auto;overflow-x:hidden}.min-h-screen{min-height:100vh}.h-16{height:4rem}.h-2{height:.5rem}.h-5{height:1.25rem}.w-5{width:1.25rem}.w-12{width:3rem}.w-16{width:4rem}.max-w-md{max-width:28rem}.max-w-7xl{max-width:80rem}.bg-gray-100{background-color:#f3f4f6}.bg-gray-200{background-color:#e5e7eb}.bg-gray-500{background-color:#6b7280}.bg-blue-100{background-color:#dbeafe}.bg-blue-600{background-color:#2563eb}.bg-orange-50{background-color:#fff7ed}.bg-purple-100{background-color:#f3e8ff}.bg-teal-500{background-color:#14b8a6}.bg-indigo-500{background-color:#6366f1}.bg-pink-500{background-color:#ec4899}.bg-black{background-color:#000}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-indigo-100{--tw-gradient-from: #e0e7ff;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(224, 231, 255, 0))}.via-white{--tw-gradient-stops: var(--tw-gradient-from), #ffffff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.to-indigo-50{--tw-gradient-to: #eef2ff}.text-blue-100{color:#dbeafe}.text-purple-800{color:#6b21a8}.text-orange-600{color:#ea580c}.text-orange-800{color:#9a3412}.inline-flex{display:inline-flex}.hidden{display:none}.justify-center{justify-content:center}.flex-col{flex-direction:column}.flex-1{flex:1 1 0%}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.py-8{padding-top:2rem;padding-bottom:2rem}.m-0{margin:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mx-auto{margin-left:auto;margin-right:auto}.space-x-2>*+*{margin-left:.5rem}.space-y-4>*+*{margin-top:1rem}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.text-xs{font-size:.75rem;line-height:1rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-bold{font-weight:700}.text-center{text-align:center}.text-right{text-align:right}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.relative{position:relative}.fixed{position:fixed}.inset-0{inset:0}.right-3{right:.75rem}.top-1\/2{top:50%}.z-50{z-index:50}.transform{transform:translateVar(--tw-translate-x,0) translateY(var(--tw-translate-y, 0)) rotate(var(--tw-rotate, 0)) skew(var(--tw-skew-x, 0)) skewY(var(--tw-skew-y, 0)) scaleX(var(--tw-scale-x, 1)) scaleY(var(--tw-scale-y, 1))}.-translate-y-1\/2{transform:translateY(-50%)}.overflow-y-auto{overflow-y:auto}.cursor-pointer{cursor:pointer}.outline-none{outline:2px solid transparent;outline-offset:2px}.appearance-none{appearance:none}.pointer-events-none{pointer-events:none}.bg-gradient-to-br.from-indigo-100.via-white.to-indigo-50{background:linear-gradient(135deg,#f8fafc,#e2e8f0,#f1f5f9,#fff,#f1f5f9,#e2e8f0)}input[type=email],input[type=password],input[type=text],select{background-color:#f3f4f6!important;border:1px solid #e5e7eb;padding:.875rem 1rem;border-radius:.75rem;font-size:.95rem;color:#6b7280;width:100%;transition:all .2s ease}input[type=email]:focus,input[type=password]:focus,input[type=text]:focus,select:focus{outline:none;box-shadow:0 0 0 2px #3b82f64d;border-color:#3b82f6;background-color:#f9fafb}input[type=email]::placeholder,input[type=password]::placeholder,input[type=text]::placeholder{color:#9ca3af;font-weight:400}button{border:none!important;outline:none!important;box-shadow:none!important}button:focus{outline:none!important;box-shadow:none!important;border:none!important}button:active{outline:none!important;box-shadow:none!important;border:none!important}button:hover{transform:translateY(-1px);transition:all .2s ease}.hover\:bg-blue-700:hover{background-color:#1d4ed8}.hover\:bg-gray-50:hover{background-color:#f9fafb}.hover\:bg-gray-800:hover{background-color:#1f2937}.hover\:text-gray-600:hover{color:#4b5563}.hover\:text-gray-900:hover{color:#111827}.hover\:underline:hover{text-decoration:underline}.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.transition-colors{transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.transition-shadow{transition:box-shadow .15s ease-in-out}.transition-all{transition:all .15s ease-in-out}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}.bg-green-500{background-color:#22c55e}.bg-blue-500{background-color:#3b82f6}.bg-purple-500{background-color:#a855f7}.bg-orange-500{background-color:#f97316}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.auth-container{min-height:100vh;width:100%;background:linear-gradient(135deg,#e0e7ff,#f1f5f9,#e0e7ff);display:flex;align-items:center;justify-content:center;padding:1rem;margin:0;overflow-y:visible;overflow-x:hidden}.auth-card{background:#fff;border-radius:1.5rem;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;padding:1rem;width:100%;max-width:400px;margin:0}.auth-card h2{text-align:center;margin-bottom:.25rem;color:#1f2937;font-size:1.25rem;font-weight:700}.auth-form{display:flex;flex-direction:column;gap:.5rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.25rem;color:#1f2937;font-weight:600;font-size:.9rem}.form-group input,.form-group select{padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:.75rem;font-size:.9rem;transition:all .2s;background-color:#f3f4f6;color:#6b7280}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.password-input-container{position:relative;display:flex;align-items:center}.password-toggle-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none!important;border:none!important;color:#6b7280!important;cursor:pointer;padding:0!important;margin:0!important;display:flex;align-items:center;justify-content:center;outline:none!important;box-shadow:none!important;transition:none!important}.password-toggle-btn:hover,.password-toggle-btn:focus,.password-toggle-btn:active{background:none!important;border:none!important;color:#6b7280!important;outline:none!important;box-shadow:none!important;transform:translateY(-50%)!important;position:absolute!important;top:50%!important}.auth-button{background-color:#3b82f6;color:#fff;padding:.875rem 1rem;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:1rem;width:100%}.auth-button:hover:not(:disabled){background-color:#2563eb}.auth-button:disabled{background-color:#9ca3af;cursor:not-allowed}.auth-button.secondary{background-color:#6b7280}.auth-button.secondary:hover:not(:disabled){background-color:#4b5563}.error-message{background-color:#fef2f2;color:#dc2626;padding:1rem;border-radius:.5rem;border:1px solid #fecaca;font-size:.875rem;margin-top:.5rem;min-height:60px;line-height:1.5;white-space:pre-line;display:flex;align-items:flex-start}.success-message{background-color:#f0fdf4;color:#16a34a;padding:.75rem;border-radius:.5rem;border:1px solid #bbf7d0;font-size:.875rem;margin-top:.5rem}.auth-links{text-align:center;margin-top:1.5rem}.auth-links p{margin:.5rem 0;color:#6b7280;font-size:.875rem}.auth-links a{color:#3b82f6;text-decoration:none;font-weight:500}.auth-links a:hover{text-decoration:underline}.link-button{background:none;border:none;color:#3b82f6;text-decoration:underline;cursor:pointer;font-size:.875rem;padding:0}.link-button:hover{color:#2563eb}.link-button:disabled{color:#9ca3af;cursor:not-allowed}.name-fields-row{display:flex;gap:.5rem}.name-fields-row .form-group{flex:1}@media (max-width: 640px){.auth-container{padding:.5rem}.auth-card{padding:1.5rem}.auth-card h2{font-size:1.5rem}.name-fields-row{flex-direction:column;gap:.5rem}}.notification-popup-overlay{position:fixed;inset:0;background-color:#0006;display:flex;align-items:flex-start;justify-content:center;z-index:10000;padding-top:60px}.notification-popup{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:80vh;box-shadow:0 25px 50px -12px #00000040;border:1px solid #e5e7eb;overflow:hidden;position:relative;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f3f4f6;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.notification-title{display:flex;align-items:center;gap:8px;font-size:1.125rem;font-weight:600}.notification-badge{background-color:#ef4444;color:#fff;font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.notification-actions{display:flex;align-items:center;gap:8px}.action-btn{background:#fff3;border:none;border-radius:8px;padding:8px;cursor:pointer;color:#fff;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn:hover{background:#ffffff4d;transform:scale(1.05)}.action-btn.close:hover{background:#ef444433}.notification-tabs{display:flex;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.notification-tabs::-webkit-scrollbar{display:none}.tab{flex:1;padding:12px 16px;border:none;background:none;cursor:pointer;font-size:.875rem;font-weight:500;color:#6b7280;transition:all .2s;white-space:nowrap;position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}.tab:hover{background-color:#f3f4f6;color:#374151}.tab.active{background-color:#fff;color:#3b82f6;border-bottom:2px solid #3b82f6}.tab-count{background-color:#e5e7eb;color:#6b7280;font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.tab.active .tab-count{background-color:#dbeafe;color:#3b82f6}.notification-content{max-height:60vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d1d5db #f9fafb}.notification-content::-webkit-scrollbar{width:6px}.notification-content::-webkit-scrollbar-track{background:#f9fafb}.notification-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.notification-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.no-notifications{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:#9ca3af}.no-notifications p{margin-top:12px;font-size:.875rem}.notifications-list{padding:0}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:16px 24px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:all .2s;position:relative}.notification-item:hover{background-color:#f9fafb}.notification-item:last-child{border-bottom:none}.notification-item.unread{background-color:#fefefe;border-left:3px solid #3b82f6}.notification-item.unread:hover{background-color:#f8faff}.notification-icon{position:relative;flex-shrink:0;margin-top:2px}.unread-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;background-color:#ef4444;border-radius:50%;border:2px solid white}.notification-body{flex:1;min-width:0}.notification-main{margin-bottom:8px}.notification-item-title{font-size:.875rem;font-weight:600;color:#111827;margin:0 0 4px;line-height:1.4}.notification-message{font-size:.875rem;color:#4b5563;margin:0;line-height:1.4;word-wrap:break-word}.notification-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.75rem;color:#9ca3af}.notification-time{flex-shrink:0}.notification-category{background-color:#f3f4f6;color:#6b7280;padding:2px 6px;border-radius:4px;font-weight:500}.notification-details{margin-top:8px;padding-top:8px;border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:4px}.detail-item{font-size:.75rem;color:#6b7280}.status-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.status-badge.approved{background-color:#dcfce7;color:#166534}.status-badge.rejected{background-color:#fee2e2;color:#991b1b}.status-badge.pending{background-color:#fef3c7;color:#92400e}.status-comment{font-size:.75rem;color:#4b5563;margin-top:4px;padding:6px 8px;background-color:#f9fafb;border-radius:4px}.notification-actions-menu{flex-shrink:0;opacity:0;transition:opacity .2s}.notification-item:hover .notification-actions-menu{opacity:1}.delete-notification{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#9ca3af;transition:all .2s}.delete-notification:hover{background-color:#fee2e2;color:#dc2626}.notification-footer{padding:12px 24px;border-top:1px solid #f3f4f6;background-color:#f9fafb;text-align:center}.notification-count{font-size:.75rem;color:#6b7280;margin:0}@media (max-width: 768px){.notification-popup-overlay{padding:0;align-items:stretch;justify-content:stretch}.notification-popup{width:100%;max-width:100%;max-height:100%;border-radius:0;margin:0}.notification-header{padding:16px 20px}.notification-item{padding:12px 20px}.tab{padding:10px 12px;font-size:.8rem}.notification-tabs{gap:4px}}@media (max-width: 480px){.notification-title{font-size:1rem}.notification-meta{flex-direction:column;align-items:flex-start;gap:4px}.notification-category{align-self:flex-start}}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background-color:#f3f4f6f2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;border-bottom:1px solid rgba(229,231,235,.8);box-shadow:0 1px 3px #0000001a;transition:all .3s ease}.dashboard-nav{flex-grow:1;display:flex;justify-content:center}.nav-container{background-color:#fff;border-radius:40px;padding:.5rem 1.2rem;box-shadow:0 2px 8px #0000001a}.dashboard-nav ul{display:flex;align-items:center;gap:.5rem;list-style:none;padding:0;margin:0}.nav-item{cursor:pointer;transition:all .2s ease-in-out;position:relative}.nav-icon-circle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:#f3f4f6;border-radius:50%;transition:all .2s ease-in-out}.nav-icon{width:20px;height:20px;color:#6b7280;transition:color .2s ease-in-out}.nav-item:after{content:attr(data-tooltip);position:absolute;bottom:-35px;left:50%;transform:translate(-50%);background-color:#374151;color:#fff;padding:.5rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1001}.nav-item:before{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid #374151;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1001}.nav-item:hover:after,.nav-item:hover:before{opacity:1;visibility:visible}.nav-item:hover .nav-icon-circle{background-color:#f3f4f6}.nav-item:hover .nav-icon{color:#4f46e5}.nav-item.active .nav-icon-circle{background-color:#4f46e5}.nav-item.active .nav-icon{color:#fff}.header-right{display:flex;align-items:center;gap:.75rem}.right-icons-container{display:flex;align-items:center;gap:.5rem;background-color:#fff;border-radius:40px;padding:.5rem 1rem;box-shadow:0 2px 8px #0000001a}.right-icon-wrapper{cursor:pointer;transition:all .2s ease-in-out}.right-icon-circle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:#f3f4f6;border-radius:50%;transition:all .2s ease-in-out}.right-icon{width:20px;height:20px;color:#6b7280;transition:color .2s ease-in-out}.right-icon-wrapper:hover .right-icon-circle{background-color:#e5e7eb}.right-icon-wrapper:hover .right-icon{color:#4f46e5}.user-profile-wrapper{position:relative}.user-profile{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.25rem .5rem;border-radius:9999px;transition:all .2s ease-in-out}.user-profile:hover{background-color:#ffffff1a}.user-profile .avatar{width:2.25rem;height:2.25rem;border-radius:50%;background-color:#fbbf24;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;box-shadow:0 2px 8px #0000001a}.dropdown-arrow{color:#6b7280;transition:transform .2s ease}.dropdown-arrow.rotated{transform:rotate(180deg)}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;border:1px solid #e5e7eb;min-width:220px;z-index:1000;animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;align-items:center;gap:12px;padding:16px}.avatar-small{width:40px;height:40px;border-radius:50%;background-color:#fbbf24;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.user-info{flex:1}.user-name{font-weight:600;color:#111827;font-size:.875rem;text-align:left}.user-email{color:#6b7280;font-size:.75rem;margin-top:2px}.logout-text{display:flex;align-items:center;gap:6px;color:#dc2626;font-size:.75rem;margin-top:8px;cursor:pointer;transition:color .2s ease}.logout-text:hover{color:#b91c1c}.logout-text svg{color:#dc2626}.logout-text:hover svg{color:#b91c1c}.profile-text{display:flex;align-items:center;gap:6px;color:#3b82f6;font-size:.75rem;margin-top:8px;cursor:pointer;transition:color .2s ease}.profile-text:hover{color:#2563eb}.profile-text svg{color:#3b82f6}.profile-text:hover svg{color:#2563eb}.dropdown-divider{height:1px;background-color:#e5e7eb;margin:8px 0}.dropdown-menu{padding:8px}.dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#374151;font-size:.875rem}.dropdown-item:hover{background-color:#f3f4f6;color:#111827}.dropdown-item svg{color:#6b7280;transition:color .2s ease}.dropdown-item:hover svg{color:#374151}.logout-item{color:#dc2626}.logout-item:hover{background-color:#fef2f2;color:#dc2626}.logout-item svg{color:#dc2626}.logout-item:hover svg{color:#dc2626}.notification-wrapper{position:relative}.notification-bell{cursor:pointer;transition:all .2s ease}.notification-bell:hover{transform:scale(1.05)}.notification-count-badge{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:0 2px 4px #ef44444d;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.notification-popup-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0000004d;z-index:9999;display:flex;align-items:flex-start;justify-content:flex-end;padding:80px 20px 20px}.notification-popup{background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;border:1px solid #e5e7eb;width:400px;max-height:80vh;overflow:hidden;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.task-reminder-popup{background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;border:1px solid #e5e7eb;width:400px;max-width:90vw;animation:slideIn .3s ease-out;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.reminder-header{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid #f3f4f6}.reminder-icon{flex-shrink:0}.reminder-title{flex:1}.reminder-title h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 4px}.reminder-title p{font-size:.875rem;color:#6b7280;margin:0}.reminder-body{padding:20px}.task-details h4{font-size:1rem;font-weight:600;color:#111827;margin:0 0 8px}.task-description{font-size:.875rem;color:#6b7280;margin:0 0 12px;line-height:1.5}.task-time{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#374151;background:#f3f4f6;padding:8px 12px;border-radius:6px}.reminder-footer{padding:16px 20px;border-top:1px solid #f3f4f6;display:flex;justify-content:center}.dismiss-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.dismiss-btn:hover{background-color:#059669}.close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.missed-punchout-popup{background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;border:1px solid #e5e7eb;width:450px;max-width:90vw;animation:slideIn .3s ease-out;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.missed-punchout-header{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid #f3f4f6;background:linear-gradient(135deg,#fef2f2,#fff);border-radius:12px 12px 0 0}.missed-punchout-icon{flex-shrink:0}.missed-punchout-title{flex:1}.missed-punchout-title h3{font-size:1.125rem;font-weight:600;color:#dc2626;margin:0 0 4px}.missed-punchout-title p{font-size:.875rem;color:#6b7280;margin:0}.missed-punchout-body{padding:20px}.attendance-details{display:flex;flex-direction:column;gap:12px}.detail-item{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#374151;padding:8px 12px;background:#f9fafb;border-radius:6px}.warning-message{background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;padding:12px;margin-top:8px}.warning-message p{font-size:.875rem;color:#92400e;margin:0;line-height:1.5}.missed-punchout-footer{padding:16px 20px;border-top:1px solid #f3f4f6;display:flex;gap:12px;justify-content:flex-end}.dismiss-btn{padding:8px 16px;background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.dismiss-btn:hover{background-color:#e5e7eb}.dismiss-btn:disabled{opacity:.6;cursor:not-allowed}.punchout-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#dc2626;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.punchout-btn:hover{background-color:#b91c1c}.punchout-btn:disabled{opacity:.6;cursor:not-allowed}.announcement-widget{display:flex;flex-direction:column;gap:12px}.announcement-widget.compact{gap:8px}.announcement-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px;transition:all .3s ease;position:relative;overflow:hidden}.announcement-card:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.announcement-card.urgent{border-left:4px solid #ef4444;background:linear-gradient(135deg,#fef2f2,#f8fafc)}.announcement-card.high{border-left:4px solid #f97316;background:linear-gradient(135deg,#fff7ed,#f8fafc)}.announcement-card.medium{border-left:4px solid #eab308;background:linear-gradient(135deg,#fefce8,#f8fafc)}.announcement-card.low{border-left:4px solid #22c55e;background:linear-gradient(135deg,#f0fdf4,#f8fafc)}.announcement-card.loading,.announcement-card.error,.announcement-card.no-announcements{text-align:center;color:#6b7280;font-style:italic;border-left:none;background:#f8fafc}.announcement-header{margin-bottom:12px}.announcement-title-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.announcement-title{font-weight:600;font-size:14px;color:#1f2937;margin:0;line-height:1.4;flex:1;text-align:left;word-wrap:break-word}.announcement-meta{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}.priority-badge{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.announcement-date{font-size:12px;color:#374151;font-weight:600;text-align:left;order:-1;background:#f3f4f6;padding:2px 6px;border-radius:4px}.announcement-content{font-size:13px;color:#4b5563;line-height:1.5;margin:0 0 12px;text-align:left;word-wrap:break-word;overflow-wrap:break-word}.announcement-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid #e5e7eb;flex-wrap:wrap}.announcement-footer-right{display:flex;align-items:center;gap:8px;margin-left:auto}.announcement-category{font-size:11px;color:#6b7280;background:#e5e7eb;padding:2px 6px;border-radius:4px;font-weight:500;text-transform:capitalize}.announcement-views{font-size:11px;color:#9ca3af;font-weight:500;text-align:left}.view-details-btn{padding:6px 12px;background-color:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:background-color .2s;display:flex;align-items:center;gap:4px}.view-details-btn:hover{background-color:#2563eb}.no-announcements-content{display:flex;flex-direction:column;align-items:center;padding:20px 0}.no-announcements-content p{margin:0;color:#9ca3af;font-size:13px}.announcement-widget.compact .announcement-card{padding:12px}.announcement-widget.compact .announcement-title{font-size:13px}.announcement-widget.compact .announcement-content{font-size:12px;margin-bottom:8px}.announcement-widget.compact .announcement-footer{padding-top:6px}.modal-overlay{position:fixed;inset:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:99999;overflow:hidden;padding:1rem;box-sizing:border-box}.modal-content{background-color:#fff;border-radius:.75rem;padding:1.5rem;max-width:400px;width:100%;max-height:calc(100vh - 2rem);overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;position:relative;margin:auto;box-sizing:border-box}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-header h2{font-size:1.25rem;font-weight:600;color:#111827;margin:0;flex:1}.modal-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:.375rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-footer{margin-top:1rem}.close-btn{width:100%;padding:.75rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem}.close-btn:hover{background-color:#2563eb}.modal-body{margin-bottom:1rem}.announcement-details{display:flex;flex-direction:column;gap:1rem}.detail-row{margin:1rem 0;font-size:.875rem;line-height:1.5}.detail-row strong{color:#374151;font-weight:600}.priority-text{font-weight:600}.priority-text.MEDIUM{color:#f59e0b}.priority-text.HIGH{color:#f97316}.priority-text.URGENT{color:#ef4444}.priority-text.LOW{color:#22c55e}.pinned-status{color:#3b82f6;font-weight:500;display:inline-flex;align-items:center;gap:.25rem}.content-section{margin-top:1.5rem}.content-section strong{display:block;margin-bottom:.5rem;color:#374151;font-weight:600}.content-box{background-color:#f9fafb;border:1px solid #e5e7eb;border-left:4px solid #e5e7eb;border-radius:.375rem;padding:1rem;font-size:.875rem;color:#4b5563;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}@media (max-width: 768px){.announcement-card{padding:12px}.announcement-title{font-size:13px}.announcement-content{font-size:12px}.modal-content{margin:.5rem;max-width:calc(100vw - 1rem)}.modal-header{padding:1rem 1rem 0}.modal-body{padding:0 1rem 1rem}.detail-row{flex-direction:column;align-items:flex-start;gap:.25rem}.detail-label{min-width:auto}}.sidebar-container{display:flex;flex-direction:column;gap:1.5rem;width:320px;background-color:#fff;padding:2rem 1.5rem 1.5rem;margin-top:1rem;margin-left:0;min-height:calc(100vh - 80px);height:100vh;box-shadow:2px 0 4px #0000000d;position:relative;overflow:hidden;border-radius:0 12px 12px 0}.sidebar-section{border-radius:.75rem;padding:1.5rem}.user-section,.user-section-simple{background-color:#f3f4f6;margin-top:-1.2rem;box-shadow:0 1px 3px #0000001a;border-radius:.75rem;border-top-right-radius:12px;border-top-left-radius:.75rem;border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.announcements-section{background-color:#f3f4f6;box-shadow:0 1px 3px #0000001a;margin-top:-.5rem;border-radius:.75rem;border-bottom-right-radius:12px;border-bottom-left-radius:.75rem;max-height:calc(100vh - 300px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f3f4f6}.announcements-section::-webkit-scrollbar{width:6px}.announcements-section::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.announcements-section::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.announcements-section::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebar-container.no-login-buttons .announcements-section{margin-top:-1rem;padding-top:1rem;max-height:calc(100vh - 250px);overflow-y:auto;overflow-x:hidden}.greeting{font-size:2.25rem;font-weight:700;line-height:1.2;color:#111827;margin-bottom:1rem}.login-logout-container{margin-bottom:1rem}.login-logout-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.5rem}.button-with-time{display:flex;flex-direction:column;gap:.25rem}.login-btn,.logout-btn{flex:0 0 auto;padding:.5rem 1rem;border-radius:.5rem;border:none;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;width:100%;box-sizing:border-box;font-size:.875rem;height:40px;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login-btn{background-color:#10b981;color:#fff}.login-btn:hover:not(:disabled){background-color:#059669}.login-btn:disabled{background-color:#d1d5db;cursor:not-allowed}.logout-btn{background-color:#ef4444;color:#fff}.logout-btn:hover:not(:disabled){background-color:#dc2626}.logout-btn:disabled{background-color:#d1d5db;cursor:not-allowed}.time-display{font-size:.75rem;color:#6b7280;text-align:center;font-weight:500}.login-time{color:#059669;background-color:#ecfdf5;padding:.25rem .5rem;border-radius:.25rem;border:1px solid #d1fae5}.logout-time{color:#dc2626;background-color:#fef2f2;padding:.25rem .5rem;border-radius:.25rem;border:1px solid #fecaca}.announcements-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-title{font-size:1.125rem;font-weight:600;color:#374151;margin-bottom:0}.calendar-btn{width:32px;height:32px;border-radius:50%;border:none;background-color:#e0f2fe;color:#0891b2;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0}.calendar-btn:hover{background-color:#bae6fd;transform:translateY(-1px);box-shadow:0 2px 8px #0891b233}.calendar-icon{width:16px;height:16px}.announcement-card{padding:1rem;border-radius:.75rem;margin-bottom:.5rem;border:1px solid transparent}.announcement-card h4{font-weight:600;margin-bottom:.25rem}.announcement-card p{font-size:.875rem;line-height:1.5}.announcement-card.meeting{background-color:#eef2ff;color:#3730a3;border-color:#c7d2fe}.announcement-card.meeting h4{color:#312e81}.announcement-card.holiday{background-color:#fffbeb;color:#854d0e;border-color:#fde68a}.announcement-card.holiday h4{color:#713f12}.dashboard-container{background-color:#f3f4f6;padding:0;min-height:100vh;height:100vh;overflow-y:auto}.dashboard-card{max-width:80rem;margin:0;background-color:#f3f4f6;border-radius:0;box-shadow:none;border:none;overflow:visible;padding-top:80px}.dashboard-main-content{display:grid;grid-template-columns:320px 1fr;gap:.75rem;padding:.5rem 1rem;align-items:start;min-height:calc(100vh - 80px)}.right-column-content{display:flex;flex-direction:column;gap:.5rem;width:100%}.main-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start;margin-bottom:.25rem}.widget-card{border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem;background-color:#fff;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;margin-top:0;min-height:200px;transition:all .2s ease}.widget-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.widget-card.compact{padding:1rem}.widget-header{display:flex;justify-content:center;align-items:center;margin-bottom:.75rem;position:relative}.widget-header .widget-title{text-align:left;flex:1}.widget-header button{position:absolute;right:0}.widget-title{font-size:1.125rem;font-weight:700;color:#374151;margin-bottom:0;text-align:left}.widget-calendar-btn{width:24px;height:24px;border-radius:50%;border:none;background-color:#e0f2fe;color:#0891b2;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0}.widget-calendar-btn:hover{background-color:#bae6fd;transform:translateY(-1px);box-shadow:0 2px 8px #0891b233}.widget-calendar-icon{width:12px;height:12px}.chart-content-row{display:flex;gap:1.5rem;align-items:center;flex-grow:1;text-align:left}.chart-container{flex-shrink:0}.chart-stats{flex:1;display:flex;flex-direction:column;gap:.25rem}.stat-row{display:flex;align-items:center;gap:.5rem}.stat-indicator{width:10px;height:10px;border-radius:50%}.stat-indicator.present{background-color:#22c55e}.stat-indicator.leave{background-color:#f59e0b}.stat-indicator.taken{background-color:#ef4444}.stat-indicator.remaining{background-color:#22c55e}.stat-text{font-size:.95rem;color:#374151;font-weight:500}.dashboard-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:.25rem}.dashboard-actions-grid button{padding:.75rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s;color:#fff}.dashboard-actions-grid .task-btn{background-color:#f59e0b}.dashboard-actions-grid .task-btn:hover{background-color:#d97706}.dashboard-actions-grid .leave-btn{background-color:#10b981}.dashboard-actions-grid .leave-btn:hover{background-color:#059669}.dashboard-actions-grid .policy-btn{background-color:#3b82f6}.dashboard-actions-grid .policy-btn:hover{background-color:#2563eb}.dashboard-actions-grid .rules-btn{background-color:#8b5cf6}.dashboard-actions-grid .rules-btn:hover{background-color:#7c3aed}.ai-assistant-card{border:1px solid #e5e7eb;border-radius:.75rem;padding:0;background-color:#fff;display:flex;flex-direction:column;height:500px;margin-top:.25rem;box-shadow:0 1px 2px #0000000d}.ai-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem 1rem;margin-bottom:0;border-bottom:1px solid #f3f4f6}.ai-icon-bg{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:1rem 1.5rem 0;border-top:1px solid #f3f4f6;background-color:#fff}.ai-action-btn{padding:8px 12px;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;text-align:center;font-weight:500;color:#475569;cursor:pointer;transition:all .2s ease;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-action-btn:hover{background-color:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.ai-message-input{display:flex;gap:.5rem;padding:.75rem 1rem;background-color:#fff;border-top:1px solid #f3f4f6;align-items:center}.message-input-field{flex:1;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;outline:none;font-size:.8rem;background-color:#f9fafb;transition:all .2s ease;resize:none;min-height:36px;max-height:80px;line-height:1.4}.message-input-field:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.send-message-btn{padding:.5rem;background:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.send-message-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.send-message-btn:active{transform:translateY(0)}.ai-messages-container{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background-color:#fff;margin:0;min-height:200px}.ai-message{display:flex;flex-direction:column;max-width:85%;animation:fadeIn .3s ease-in}.ai-message.user-message{align-self:flex-end}.ai-message.bot-message{align-self:flex-start}.message-content{padding:.875rem 1.125rem;border-radius:1rem;position:relative;word-wrap:break-word;line-height:1.5}.user-message .message-content{background-color:#3b82f6;color:#fff;border-bottom-right-radius:.375rem;margin-left:2rem}.bot-message .message-content{background-color:#fff;color:#374151;border:1px solid #e5e7eb;border-bottom-left-radius:.375rem;margin-right:2rem;box-shadow:0 1px 2px #0000000d}.message-content p{margin:0;font-size:.9rem;font-weight:400}.message-time{font-size:.75rem;opacity:.7;margin-top:.25rem;display:block}.user-message .message-time{color:#fffc;text-align:right}.bot-message .message-time{color:#6b7280}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-messages-container::-webkit-scrollbar{width:6px}.ai-messages-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.ai-messages-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.ai-messages-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 768px){.dashboard-actions-grid{grid-template-columns:repeat(2,1fr)}}.leave-content{display:flex;flex-direction:column;gap:1.5rem;width:100%;padding:0}.leave-balance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.leave-balance-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 1px 2px #0000000d;transition:all .2s ease}.leave-balance-icon{width:40px;height:40px;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.leave-balance-content{flex:1;min-width:0}.leave-balance-label{font-size:.75rem;font-weight:500;color:#6b7280;margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.025em}.leave-balance-value{font-size:1.5rem;font-weight:700;color:#111827;margin:0;line-height:1}.widgets-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.leave-widgets-grid{margin-bottom:0}.apply-leave-btn{width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem}.apply-leave-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.leave-overview-table{width:100%;border-radius:.5rem;overflow:hidden;border:1px solid #e5e7eb}.leave-table-header{display:grid;grid-template-columns:100px 140px 120px 80px 1fr 1fr;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.leave-table-row{display:grid;grid-template-columns:100px 140px 120px 80px 1fr 1fr;border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.leave-table-cell{padding:.75rem .5rem;display:flex;align-items:center;font-size:.875rem;border-right:1px solid #f3f4f6}.header-cell{font-weight:600;color:#374151;background-color:#f9fafb}.status-text{font-size:.75rem;font-weight:500}.leave-type-badge{background-color:#dbeafe;color:#1e40af;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.date-info{display:flex;flex-direction:column;gap:.125rem}.date-primary{font-size:.75rem;font-weight:500;color:#374151}.date-secondary{font-size:.625rem;color:#6b7280}.duration-badge{background-color:#f3f4f6;color:#374151;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:500;text-align:center}.reason-text{font-size:.75rem;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.hr-comment-text{font-size:.75rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;font-style:italic}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem}.close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:.375rem;transition:all .2s ease}.modal-body{padding:0 1.5rem}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid #e5e7eb;margin-top:1.5rem}.cancel-btn{padding:.5rem 1rem;background-color:#f9fafb;color:#374151;border:1px solid #d1d5db;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background-color:#f3f4f6}.save-btn{padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.save-btn:hover{background-color:#2563eb}.save-btn:disabled{opacity:.6;cursor:not-allowed}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-input,.form-select,.form-textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:all .2s ease}.leave-days-info{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:.375rem;padding:.75rem;margin-bottom:1rem}.leave-balance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:.7rem;margin-top:5}.leave-balance-item{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:.75rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 2px 4px #0000001a;min-height:120px;transition:all .2s ease}.leave-balance-item:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.leave-balance-icon{width:48px;height:48px;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.leave-balance-content{flex:1;display:flex;flex-direction:column;justify-content:center}.leave-balance-label{font-size:.8rem;color:#6b7280;margin:0 0 .5rem;font-weight:500;line-height:1.2;text-transform:uppercase;letter-spacing:.025em}.leave-balance-value{font-size:2rem;font-weight:700;color:#111827;margin:0;line-height:1}.widgets-grid.leave-widgets-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.5rem;margin-top:-.72rem}.apply-leave-btn{background-color:#4f46e5;color:#fff;padding:.75rem 1.25rem;border-radius:.5rem;font-size:1rem;font-weight:600;transition:background-color .2s;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1rem auto 0;width:auto}.apply-leave-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.apply-leave-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.leave-overview-table{border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden;background:#fff;margin-top:.5}.leave-table-header{display:grid;grid-template-columns:110px 170px 130px 90px 1fr 1fr;background:#f9fafb;border-bottom:1px solid #e5e7eb}.leave-table-body{display:flex;flex-direction:column}.leave-table-row{display:grid;grid-template-columns:110px 170px 130px 90px 1fr 1fr;border-bottom:1px solid #f3f4f6;transition:all .2s ease;min-height:50px;align-items:center}.leave-table-row:last-child{border-bottom:none}.leave-table-cell{padding:.5rem .75rem;display:flex;align-items:center;font-size:.8rem;border-right:1px solid #f3f4f6;line-height:1.3}.leave-table-cell:last-child{border-right:none}.header-cell{font-weight:600;color:#374151;background:#f9fafb;padding:.75rem}.status-cell .status-indicator{display:flex;align-items:center;gap:.375rem}.status-text{font-weight:500;font-size:.75rem;line-height:1.2}.leave-type-badge{background:#dbeafe;color:#1e40af;padding:.125rem .375rem;border-radius:.25rem;font-size:.7rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.date-info{display:flex;flex-direction:column;gap:.0625rem}.date-primary{font-weight:500;color:#111827;font-size:.75rem;line-height:1.2}.date-secondary{font-size:.7rem;color:#6b7280;line-height:1.2}.duration-badge{background:#f3f4f6;color:#374151;padding:.125rem .375rem;border-radius:.25rem;font-size:.7rem;font-weight:500;text-align:center}.reason-text{color:#374151;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;line-height:1.3}.hr-comment-text{color:#6b7280;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;font-style:italic;line-height:1.3}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;margin:1rem}@media (min-width: 1200px){.main-content-grid{grid-template-columns:1fr 1fr;gap:1.5rem}.dashboard-actions-grid{grid-template-columns:repeat(4,1fr);gap:1rem}}@media (max-width: 1199px){.leave-balance-grid{grid-template-columns:repeat(3,1fr);gap:.875rem}.main-content-grid{grid-template-columns:1fr 1fr;gap:1rem}.dashboard-actions-grid{grid-template-columns:repeat(4,1fr);gap:.875rem}}@media (max-width: 991px){.leave-balance-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.leave-balance-item{min-height:100px;padding:.625rem;gap:1rem}.leave-balance-icon{width:40px;height:40px}.leave-balance-value{font-size:1.75rem}.main-content-grid{grid-template-columns:1fr 1fr;gap:.875rem}.dashboard-actions-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.widget-card{padding:1rem}.chart-container{width:70px;height:70px}.ai-assistant-card{padding:1rem}.ai-messages-container{height:200px}}@media (max-width: 767px){.leave-balance-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}*/ .leave-balance-item{min-height:90px;padding:.5rem;gap:.75rem;flex-direction:column;text-align:center}.leave-balance-icon{width:36px;height:36px}.leave-balance-value{font-size:1.5rem}.leave-balance-label{font-size:.7rem;margin-bottom:.25rem}.main-content-grid{grid-template-columns:1fr;gap:.75rem}.dashboard-actions-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.task-btn,.leave-btn,.policy-btn,.rules-btn{padding:.625rem .75rem;font-size:.875rem}.widget-card{padding:.875rem}.widget-title{font-size:.875rem}.chart-content-row{flex-direction:column;align-items:center;gap:.75rem}.chart-container{width:60px;height:60px}.chart-stats{width:100%;justify-content:center}.stat-text{font-size:.75rem}.ai-assistant-card{padding:.875rem}.ai-messages-container{height:180px}.ai-message{margin-bottom:.5rem}.message-content p{font-size:.875rem}.message-time{font-size:.625rem}.modal-content{margin:.5rem;max-width:calc(100vw - 1rem)}.modal-header h2,.modal-header h3{font-size:1.125rem}.form-row{grid-template-columns:1fr;gap:.75rem}.modal-footer{flex-direction:column;gap:.5rem}.cancel-btn,.save-btn{width:100%;justify-content:center}}@media (max-width: 575px){.leave-balance-grid{grid-template-columns:1fr 1fr;gap:.375rem}.leave-balance-item{min-height:80px;padding:.375rem;gap:.5rem}.leave-balance-icon{width:32px;height:32px}.leave-balance-value{font-size:1.25rem}.leave-balance-label{font-size:.625rem}.dashboard-actions-grid{grid-template-columns:1fr 1fr;gap:.375rem}.task-btn,.leave-btn,.policy-btn,.rules-btn{padding:.5rem;font-size:.8125rem}.widget-card{padding:.75rem}.widget-title{font-size:.8125rem}.chart-container{width:50px;height:50px}.stat-text{font-size:.6875rem}.ai-assistant-card{padding:.75rem}.ai-header h4{font-size:1rem}.ai-messages-container{height:160px}.message-input-field{font-size:.875rem;padding:.5rem}}@media (max-width: 479px){.leave-balance-grid{grid-template-columns:1fr;gap:.5rem}.leave-balance-item{min-height:70px;padding:.5rem;flex-direction:row;text-align:left}.leave-balance-icon{width:28px;height:28px}.leave-balance-value{font-size:1.125rem}.leave-balance-label{font-size:.625rem}.main-content-grid{gap:.5rem}.dashboard-actions-grid{grid-template-columns:1fr;gap:.5rem}.task-btn,.leave-btn,.policy-btn,.rules-btn{width:100%;padding:.75rem;font-size:.875rem}.widget-card{padding:.625rem}.chart-content-row{gap:.5rem}.ai-assistant-card{padding:.625rem}.ai-messages-container{height:140px}.task-reminders-table{display:block;overflow-x:auto;white-space:nowrap}.modal-content{margin:.25rem;max-width:calc(100vw - .5rem);border-radius:.5rem}.modal-header{padding:1rem 1rem .75rem}.modal-body{padding:0 1rem}.modal-footer{padding:1rem}}@media (max-width: 319px){.leave-balance-grid{grid-template-columns:1fr}.leave-balance-item{min-height:60px;padding:.375rem}.leave-balance-icon{width:24px;height:24px}.leave-balance-value{font-size:1rem}.dashboard-actions-grid{grid-template-columns:1fr}.widget-card,.ai-assistant-card{padding:.5rem}.ai-messages-container{height:120px}}@media (max-height: 500px) and (orientation: landscape){.ai-messages-container{height:100px}.leave-balance-item{min-height:60px}.modal-content{max-height:95vh}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.leave-balance-icon{image-rendering:-webkit-optimize-contrast}}@media print{.dashboard-actions-grid,.ai-assistant-card,.modal-overlay{display:none}.main-content-grid{grid-template-columns:1fr 1fr}.leave-balance-grid{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion: reduce){.leave-balance-item{transition:none}.apply-leave-btn:hover{transform:none}}@container (max-width: 600px){.chart-content-row{flex-direction:column}}.close-btn:hover{color:#374151;background-color:#f3f4f6}.modal-title-section{display:flex;align-items:center;gap:1.5rem}.modal-title-row .month-year-picker{display:flex;gap:.5rem;justify-content:flex-end;align-items:center;flex-shrink:0}.month-select,.year-select{padding:.375rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;background-color:#fff;color:#374151;font-weight:400;min-width:100px}.modal-content .attendance-overview-table{border:none;border-radius:0;margin:0;width:100%;overflow:visible}.modal-content .attendance-table-header{background-color:#f9fafb;border-bottom:2px solid #e5e7eb;position:sticky;top:0;z-index:10}.modal-content .attendance-table-row{border-bottom:1px solid #e5e7eb}.modal-content .attendance-table-row:hover{background-color:#f8fafc}.modal-content .attendance-table-row.weekend-row{background-color:transparent}.modal-content .attendance-table-row.weekend-row:hover{background-color:#f8fafc}.modal-content .attendance-table-cell{padding:.875rem 1rem;font-size:.875rem;vertical-align:middle}.modal-content .attendance-header-cell{padding:1rem;font-weight:600;color:#374151;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background-color:#f9fafb}.modal-content .attendance-date-cell{font-weight:500;color:#111827;padding-left:1rem}.modal-content .attendance-time-cell{color:#2563eb;font-weight:400;text-align:center}.modal-content .attendance-status-badge{font-size:.75rem;padding:.25rem .75rem;border-radius:.375rem;font-weight:500}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:#374151}.form-select,.form-input,.form-textarea{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;background-color:#fff;transition:border-color .2s ease}.form-select:focus,.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;min-height:100px}.save-btn,.cancel-btn{flex:1;padding:.75rem;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.save-btn{background-color:#10b981;color:#fff}.save-btn:hover:not(:disabled){background-color:#059669}.cancel-btn{background-color:#6b7280;color:#fff}.cancel-btn:hover:not(:disabled){background-color:#4b5563}.task-detail-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1100}.task-detail-modal-content{background-color:#fff;border-radius:.75rem;padding:1.5rem;max-width:400px;width:90%;box-shadow:0 25px 50px -12px #00000040;position:relative;z-index:1101}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.leave-days-info{margin:.5rem 0 1rem;padding:.5rem;background-color:#f0f9ff;border-radius:.5rem;border:1px solid #bae6fd}.leave-days-info p{margin:0;font-weight:500}.justify-between{justify-content:space-between}.mb-4{margin-bottom:1rem}.mt-6{margin-top:1.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.rounded{border-radius:.25rem}.text-xs{font-size:.875rem}.text-sm{font-size:1rem}.bg-green-100{background-color:#dcfce7}.bg-yellow-100{background-color:#fef3c7}.text-yellow-800{color:#92400e}.bg-red-100{background-color:#fee2e2}.border-red-400{border-color:#f87171}.attendance-content{display:flex;flex-direction:column;gap:1rem}.widgets-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.summary-widget{min-height:180px}.reduced-margin{margin-top:.5rem}.time-display-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px}.attendance-actions{display:flex;gap:.75rem;margin-top:1rem}.attendance-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.clock-in-btn{background-color:#10b981;color:#fff}.clock-in-btn:hover:not(:disabled){background-color:#059669;transform:translateY(-1px)}.clock-out-btn{background-color:#ef4444;color:#fff}.clock-out-btn:hover:not(:disabled){background-color:#dc2626;transform:translateY(-1px)}.attendance-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.weekend-buttons .attendance-btn{background-color:#9ca3af;font-size:.75rem;padding:.5rem .75rem}.weekend-btn{background-color:#9ca3af!important}.stat-indicator.half-day{background-color:#f59e0b}.weekly-attendance-section{margin-top:1rem}.attendance-overview-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #d1d5db;border-radius:.5rem;overflow:hidden;background-color:#fff}.modal-content .attendance-overview-table{overflow:visible!important}.attendance-table-header{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr 1fr;background-color:#f8fafc;border-bottom:1px solid #d1d5db}.attendance-table-body{display:flex;flex-direction:column}.modal-content .attendance-table-body{overflow:visible}.attendance-table-row{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr 1fr;border-bottom:1px solid #e5e7eb;min-height:60px;align-items:center}.attendance-table-row:last-child{border-bottom:none}.attendance-table-row.weekend-row{background-color:transparent}.attendance-table-row.holiday-row{background-color:#fef2f2}.attendance-table-cell{padding:1rem;text-align:left;vertical-align:middle;font-size:.875rem;border-right:1px solid #e5e7eb;display:flex;align-items:center}.attendance-table-cell:last-child{border-right:none}.attendance-header-cell{font-weight:600;color:#4b5563;background-color:#f8fafc;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;height:50px}.attendance-date-cell{font-weight:500;color:#374151;flex-direction:column;align-items:flex-start}.attendance-time-cell{color:#2563eb;font-weight:500}.attendance-hours-cell{color:#374151;font-weight:500}.attendance-status-cell{display:flex;align-items:center;justify-content:flex-start}.weekly-date-display,.monthly-date-display{display:flex;flex-direction:column}.date-main{font-weight:500;color:#374151;font-size:.875rem;line-height:1.2}.holiday-indicator{font-size:.75rem;color:#dc2626;margin-top:.125rem}.attendance-status-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;text-transform:capitalize;border:1px solid transparent}.attendance-status-badge.complete{background-color:#dcfce7;color:#166534;border-color:#bbf7d0}.attendance-status-badge.in-progress{background-color:#fef3c7;color:#92400e;border-color:#fde68a}.attendance-status-badge.missed-punchout{background-color:#fee2e2;color:#dc2626;border-color:#fecaca}.attendance-status-badge.late{background-color:#fef3c7;color:#d97706;border-color:#fde68a}.attendance-status-badge.complete-late{background-color:#dcfce7;color:#166534;border-color:#bbf7d0}.attendance-status-badge.leave{background-color:#f3e8ff;color:#7c2d12;border-color:#e9d5ff}.attendance-status-badge.weekend{background-color:#fffbeb;color:#d97706;border-color:#fed7aa}.attendance-status-badge.holiday{background-color:#fef2f2;color:#dc2626;border-color:#fecaca}.attendance-status-badge.na{background-color:#f3f4f6;color:#6b7280;border-color:#d1d5db}.attendance-status-badge.absent{background-color:#fee2e2;color:#dc2626;border-color:#fecaca}.attendance-status-badge.wfh{background-color:#dcfce7;color:#166534;border-color:#bbf7d0;position:relative}.attendance-status-badge.wfh:after{content:"WFH";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);font-size:.625rem;font-weight:600;color:#16a34a;background-color:#f0fdf4;padding:1px 4px;border-radius:2px;border:1px solid #bbf7d0}.modal-close-row{position:absolute;top:.5rem;right:.5rem;z-index:10}.modal-close-row .close-btn{display:flex;align-items:center;justify-content:center;padding:.25rem;margin:0}.modal-title-row{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:1rem;margin-top:1rem;padding-right:2rem}.modal-title-row h2{margin:0;white-space:nowrap;font-size:1.25rem;font-weight:600;color:#111827;flex-shrink:0}.modal-content .modal-header{display:block;padding:.5rem .5rem 0 1.5rem;position:relative}.modal-title-section{display:flex;flex-direction:column;gap:.5rem}.month-year-picker{display:flex;gap:.5rem}.month-select,.year-select{padding:.25rem .5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;background-color:#fff}.month-select:focus,.year-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media (max-width: 1024px){.widgets-grid{grid-template-columns:1fr}.attendance-table-header,.attendance-table-row{grid-template-columns:1.5fr 1fr 1fr .8fr 1fr}.attendance-table-cell{padding:.75rem .5rem}}@media (max-width: 768px){.attendance-table-header,.attendance-table-row{grid-template-columns:1fr}.attendance-table-cell{border-right:none;border-bottom:1px solid #f3f4f6;padding:.5rem}.attendance-header-cell{display:none}.attendance-table-cell:before{content:attr(data-label);font-weight:600;display:block;margin-bottom:.25rem;color:#374151;font-size:.75rem;text-transform:uppercase}}.task-reminders-table{width:100%;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden;background-color:#fff;table-layout:fixed}.task-reminders-table-header{display:grid;grid-template-columns:200px 140px 140px 170px 120px;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;width:100%}.task-reminders-table-body{display:flex;flex-direction:column;width:100%}.task-reminders-table-row{display:grid;grid-template-columns:200px 140px 140px 170px 120px;border-bottom:1px solid #f3f4f6;height:50px;min-height:50px;max-height:50px;align-items:stretch;width:100%}.task-reminders-table-row:hover{background-color:#f9fafb}.task-reminders-table-row:last-child{border-bottom:none}.task-reminders-table-cell{padding:12px 16px;display:flex;align-items:center;font-size:.875rem;border-right:1px solid #d1d5db;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:50px;max-height:50px;box-sizing:border-box}.task-reminders-table-cell:last-child{border-right:none;justify-content:flex-start}.task-reminders-header-cell{font-weight:600;color:#374151;background-color:#f9fafb;text-align:left;padding:12px 16px;border-right:1px solid #d1d5db;font-size:.875rem;height:50px;min-height:50px;max-height:50px;display:flex;align-items:center;box-sizing:border-box}.task-reminders-header-cell:last-child{border-right:none;text-align:center}@media (max-width: 768px){.task-reminders-table{overflow-x:auto}.task-reminders-table-header,.task-reminders-table-row{min-width:770px}}@media (max-width: 479px){.task-reminders-table{overflow-x:auto}.task-reminders-table-header,.task-reminders-table-row{min-width:770px}}.event-tag.event-holiday{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:12px;margin:1px 0;border:1px solid rgba(217,119,6,.3);box-shadow:0 1px 3px #f59e0b4d;display:block;text-align:center;cursor:pointer;transition:all .2s ease}.event-tag.event-holiday:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 2px 6px #f59e0b66}.hr-dashboard-main-content{display:grid;grid-template-columns:320px 1fr;gap:1rem;padding:.5rem 1rem;align-items:flex-start;background-color:#f5f5f5}.hr-right-column{display:flex;flex-direction:column;gap:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.leave-overview-table,.attendance-table{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #e5e7eb}.leave-table-header{display:grid;grid-template-columns:2.2fr 1.2fr 1.3fr 1.2fr .8fr 1.2fr 1.2fr .8fr;background-color:#f9fafb;border-bottom:2px solid #d1d5db;font-weight:600;color:#374151;font-size:.875rem;align-items:center}.header-cell{padding:1rem;text-align:left;border-right:1px solid #d1d5db;display:flex;align-items:center;font-weight:600;color:#374151}.header-cell:last-child{border-right:none;text-align:center;justify-content:center}.leave-table-body{max-height:500px;overflow-y:auto;position:relative}.leave-table-row{display:grid;grid-template-columns:2.2fr 1.2fr 1.3fr 1.2fr .8fr 1.2fr 1.2fr .8fr;border-bottom:1px solid #d1d5db;transition:background-color .2s;position:relative;align-items:center;min-height:60px}.leave-table-row:hover{background-color:#f9fafb}.leave-table-cell{padding:1rem;display:flex;align-items:center;border-right:1px solid #d1d5db;font-size:.875rem;min-height:60px;word-wrap:break-word;overflow-wrap:break-word}.leave-table-cell:last-child{border-right:none;justify-content:center}.type-cell .leave-type-badge{background-color:#eff6ff;color:#1d4ed8;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.date-cell .date-info{display:flex;flex-direction:column;gap:.125rem}.date-primary{font-weight:500;color:#111827}.date-secondary{font-size:.75rem;color:#6b7280}.duration-cell .duration-badge{background-color:#f3f4f6;color:#374151;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:500}.status-cell .status-indicator{display:flex;align-items:center}.actions-cell{position:relative}.actions-cell button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .2s;position:relative}.actions-cell button:hover{background-color:#f3f4f6}.absolute{position:absolute}.right-0{right:0}.top-8{top:2rem}.bg-white{background-color:#fff}.border{border-width:1px}.border-gray-200{border-color:#e5e7eb}.rounded-md{border-radius:.375rem}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.dropdown-menu{position:absolute;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:9999;min-width:140px;top:100%;right:0;margin-top:4px}.dropdown-menu button{width:100%;padding:.5rem .75rem;text-align:left;font-size:.875rem;line-height:1.25rem;border:none;background:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background-color .15s ease-in-out}.dropdown-menu button:hover{background-color:#f9fafb}.dropdown-menu button.approve:hover{background-color:#f0fdf4;color:#15803d}.dropdown-menu button.reject:hover{background-color:#fef2f2;color:#b91c1c}.dropdown-menu button.view:hover{background-color:#eff6ff;color:#1d4ed8}.modal-content-birthday{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header-birthday{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e5e7eb}.modal-title-birthday{font-size:24px;font-weight:600;color:#1f2937;margin:0}.modal-close-x{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;line-height:1;border-radius:4px;transition:background-color .2s}.modal-close-x:hover{background-color:#f3f4f6}.modal-body-birthday{padding:32px;overflow-y:auto;max-height:calc(90vh - 180px)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.form-field{display:flex;flex-direction:column}.form-label{font-size:16px;font-weight:500;color:#374151;margin-bottom:8px}.form-input,.form-select{padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;background-color:#f9fafb;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.form-input::placeholder{color:#9ca3af}.form-select{cursor:pointer}.form-textarea{padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;background-color:#f9fafb;resize:vertical;min-height:100px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.form-textarea::placeholder{color:#9ca3af}.form-checkbox{display:flex;align-items:center;gap:12px;margin-bottom:24px}.checkbox-input{width:18px;height:18px;border:2px solid #d1d5db;border-radius:4px;cursor:pointer}.checkbox-label{font-size:16px;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.modal-footer-birthday{display:flex;justify-content:flex-end;gap:16px;padding:24px 32px;border-top:1px solid #e5e7eb;background-color:#f9fafb}.btn-cancel{padding:12px 24px;background-color:transparent;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel:hover{background-color:#f3f4f6;border-color:#9ca3af}.btn-submit{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;min-width:140px}.btn-submit:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.view-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item.full-width{grid-column:1 / -1}.detail-item label{font-weight:600;color:#374151;font-size:14px}.detail-item span{color:#6b7280;font-size:16px}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase}.status-badge.enabled{background-color:#dcfce7;color:#166534}.status-badge.disabled{background-color:#fee2e2;color:#991b1b}.notes-content{background-color:#f9fafb;padding:12px;border-radius:6px;border:1px solid #e5e7eb;color:#374151;margin-top:4px}@media (max-width: 768px){.modal-content-birthday{width:95%;max-height:95vh}.modal-header-birthday,.modal-body-birthday,.modal-footer-birthday{padding:20px}.form-row,.view-details-grid{grid-template-columns:1fr;gap:16px}.modal-footer-birthday{flex-direction:column}}.z-10{z-index:1000}.min-w-32{min-width:8rem}.w-full{width:100%}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-left{text-align:left}.text-sm{font-size:.875rem;line-height:1.25rem}.hover\:bg-green-50:hover{background-color:#f0fdf4}.hover\:bg-red-50:hover{background-color:#fef2f2}.hover\:bg-blue-50:hover{background-color:#eff6ff}.text-green-700{color:#15803d}.text-red-700{color:#b91c1c}.text-blue-700{color:#1d4ed8}.gap-2{gap:.5rem}.w-3{width:.75rem}.h-3{height:.75rem}.w-4{width:1rem}.h-4{height:1rem}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.rounded-full{border-radius:9999px}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.p-2{padding:.5rem}.hover\:bg-gray-100:hover{background-color:#f3f4f6}.modal-popup{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.modal-popup .modal-content{position:relative;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #e5e7eb;overflow:visible;height:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid #f3f4f6}.modal-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.modal-close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.modal-close-btn:hover{background-color:#f3f4f6;color:#374151}.modal-body{padding:16px 24px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f9fafb}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;color:#374151;font-size:.875rem;min-width:100px}.detail-value{color:#111827;font-size:.875rem;text-align:right;flex:1;margin-left:16px}.status-badge{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge.pending{background-color:#fef3c7;color:#d97706}.status-badge.approved{background-color:#d1fae5;color:#059669}.status-badge.rejected{background-color:#fee2e2;color:#dc2626}.comments-section{margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6}.comments-label{display:block;font-weight:600;color:#374151;font-size:.875rem;margin-bottom:8px}.comments-textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;resize:none;height:60px;font-family:inherit}.comments-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-footer{padding:12px 24px 16px;border-top:1px solid #f3f4f6;display:flex;gap:12px;justify-content:center}.btn-approve,.btn-reject,.btn-confirm-approve,.btn-confirm-reject,.btn-back,.btn-close{padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.btn-approve,.btn-confirm-approve{background-color:#10b981;color:#fff}.btn-approve:hover,.btn-confirm-approve:hover{background-color:#059669}.btn-reject,.btn-confirm-reject{background-color:#ef4444;color:#fff}.btn-reject:hover,.btn-confirm-reject:hover{background-color:#dc2626}.btn-back,.btn-close{background-color:#f3f4f6;color:#374151}.btn-back:hover,.btn-close:hover{background-color:#e5e7eb}.btn-icon{width:16px;height:16px}.attendance-table{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #d1d5db}.attendance-table-header{display:grid;grid-template-columns:110px 160px 100px 100px 100px 110px 60px;background-color:#f9fafb;border-bottom:2px solid #d1d5db;font-weight:600;color:#374151;font-size:.875rem;align-items:center}.attendance-table-body{max-height:500px;overflow-y:auto;position:relative}.attendance-table-row{display:grid;grid-template-columns:110px 160px 100px 100px 100px 110px 60px;border-bottom:1px solid #d1d5db;transition:background-color .2s;position:relative;align-items:center;min-height:60px}.attendance-table-row:hover{background-color:#f9fafb}.attendance-table-cell{padding:1rem;display:flex;align-items:center;border-right:1px solid #d1d5db;font-size:.875rem;min-height:60px;word-wrap:break-word;overflow-wrap:break-word}.attendance-table-cell:last-child{border-right:none;justify-content:center}.status-badge.present{background-color:#d1fae5;color:#059669}.status-badge.absent{background-color:#fee2e2;color:#dc2626}.status-badge.late{background-color:#fef3c7;color:#d97706}.status-badge.on-leave{background-color:#dbeafe;color:#2563eb}.status-badge.wfh{background-color:#dcfce7;color:#166534;position:relative}.status-badge.half-day{background-color:#fef3c7;color:#d97706}.applied-at-cell{text-align:center}.applied-at-info{display:flex;flex-direction:column;align-items:center;gap:2px}.applied-date{font-size:.875rem;font-weight:500;color:#374151}.applied-time{font-size:.75rem;color:#6b7280;font-weight:400}.stat-card{background-color:#f8f9fa;padding:1.25rem;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;border:1px solid #e5e7eb;display:flex;align-items:center;gap:1rem;min-height:80px}.stat-card-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card-icon.bg-blue-100{background-color:#dbeafe}.stat-card-icon.bg-green-100{background-color:#dcfce7}.stat-card-icon.bg-yellow-100{background-color:#fef9c3}.stat-card-icon.bg-purple-100{background-color:#f3e8ff}.stat-card-icon.bg-red-100{background-color:#fef2f2}.stat-card-info h4{font-size:.875rem;color:#6b7280;margin:0;font-weight:500}.stat-card-info p{font-size:1.75rem;font-weight:700;color:#111827;margin:0}.dashboard-main-layout{display:flex;gap:1.5rem;width:100%}.dashboard-left-section{flex:2;display:flex;flex-direction:column;gap:1.5rem;max-width:65%}.dashboard-right-section{flex:1;min-width:319px;max-width:35%}.stats-container{background-color:#fff;border-radius:1rem;padding:1.5rem;margin-top:1rem;margin-bottom:1.5rem;max-width:600px;box-shadow:0 2px 4px #0000001a}.stats-grid-two-by-two{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:1rem}.stats-grid-four{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.calendar-widget-full{background-color:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 2px 8px #0000001a;border:1px solid #e5e7eb;width:160%;margin-top:-2rem;grid-column:1 / -1}.hr-main-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;align-items:flex-start}.calendar-widget{background-color:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;border:1px solid #e5e7eb}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-header-actions{display:flex;align-items:center;gap:1.5rem;pointer-events:auto;position:relative;z-index:10}.add-task-btn{background-color:#6366f1;color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:background-color .2s;border:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;pointer-events:auto;position:relative;z-index:10}.add-task-btn:hover{background-color:#5855eb}.view-holidays-btn{background-color:#f59e0b;color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:background-color .2s;border:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;margin-right:.5rem;pointer-events:auto;position:relative;z-index:10}.view-holidays-btn:hover{background-color:#d97706}.calendar-header h4{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.hr-right-column h1,.hr-right-column h2,.hr-right-column h3,.hr-right-column h4,.hr-right-column h5,.hr-right-column h6,.ai-title,.calendar-header h3,.calendar-header h4,.modal-title,.modal-title-birthday{font-size:1.25rem!important;font-weight:700!important;color:#111827!important;white-space:nowrap!important}.stat-card-info h4{font-size:.875rem!important;font-weight:500!important}.filter-container{margin-top:2rem!important}.header-cell,.leave-table-header .header-cell,.attendance-table-header .header-cell,.employee-table-header .header-cell{font-size:.875rem!important;font-weight:700!important;color:#374151!important;text-transform:uppercase!important;letter-spacing:.05em!important}.calendar-header h3{font-size:1.5rem;font-weight:700;color:#111827}.calendar-nav{display:flex;align-items:center;gap:.5rem}.calendar-nav button{background:#f9fafb;border-radius:.375rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#6b7280;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s}.calendar-nav button:hover{background-color:#f3f4f6;border-color:#d1d5db}.calendar-legend{display:flex;gap:1rem;font-size:.8rem;color:#6b7280}.legend-item{display:flex;align-items:center;gap:.3rem}.legend-dot{width:8px;height:8px;border-radius:50%}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden;width:100%;min-height:400px}.day-name{padding:1rem 0;font-weight:600;color:#374151;font-size:.9rem;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;text-align:center}.day-cell{padding:.5rem;height:80px;font-size:.9rem;position:relative;color:#374151;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;cursor:pointer;transition:background-color .2s;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;font-weight:500;gap:.25rem}.day-cell:nth-child(7n){border-right:none}.day-cell:hover{background-color:#f9fafb}.day-cell.today{background:transparent;color:#374151;font-weight:600;position:relative}.day-cell.today .day-number{background:#3b82f6;color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.day-cell.other-month{color:#9ca3af}.event-tag{background-color:#3b82f6;color:#fff;font-size:.6rem;padding:2px 4px;margin:2px 0;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%;cursor:pointer;transition:opacity .2s;display:block;text-align:center;line-height:1}.event-tag:hover{opacity:.8}.event-blue{background-color:#3b82f6}.event-red{background-color:#ef4444}.event-green{background-color:#10b981}.event-purple{background-color:#8b5cf6}.event-orange{background-color:#f59e0b}.event-yellow{background-color:#eab308}.day-cell.has-event .day-number{position:relative;z-index:1}.day-cell .event-dot{width:6px;height:6px;border-radius:50%;margin:2px auto;display:block}.calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .5rem}.year-nav,.month-nav{display:flex;align-items:center;gap:.75rem}.nav-btn{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#6b7280;cursor:pointer;transition:all .2s}.nav-btn:hover{background-color:#f3f4f6;border-color:#d1d5db}.year-btn,.month-btn{width:40px}.year-display,.month-display{font-weight:600;color:#374151;min-width:80px;text-align:center}.year-display{font-size:1.125rem}.month-display{font-size:1.25rem}.today-btn{background:#3b82f6;color:#fff;border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.today-btn:hover{background:#2563eb}.day-cell.weekend-day{background-color:#f3f4f6!important;color:#6b7280;cursor:not-allowed!important}.day-cell.weekend-day:hover{background-color:#e5e7eb!important;cursor:not-allowed!important}.event-details-content{display:flex;flex-direction:column;gap:1rem}.event-details-content .detail-row{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 0;border-bottom:1px solid #f3f4f6}.event-details-content .detail-row:last-child{border-bottom:none}.event-details-content .detail-row strong{font-weight:600;color:#374151;font-size:.875rem}.event-details-content .detail-row:not(strong){color:#111827;font-size:.875rem;margin-top:.25rem}.day-cell.holiday-day{background-color:#fef2f2!important;color:#dc2626}.day-cell.holiday-day:hover{background-color:#fee2e2!important}.day-cell.blocked-day{cursor:not-allowed!important;pointer-events:none!important}.day-cell.blocked-day:hover{cursor:not-allowed!important}.day-cell.blocked-day *{cursor:not-allowed!important;pointer-events:none!important}.sidebar-section.action-buttons-section .sidebar-action-buttons{display:flex;flex-direction:column;gap:.75rem}.sidebar-section.action-buttons-section .sidebar-buttons-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.sidebar-section.action-buttons-section .sidebar-action-btn{width:100%;padding:.75rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s;color:#fff}.sidebar-section.action-buttons-section .sidebar-action-btn.task-reminder{background-color:#f59e0b}.sidebar-section.action-buttons-section .sidebar-action-btn.task-reminder:hover{background-color:#d97706}.sidebar-section.action-buttons-section .sidebar-action-btn.policy{background-color:#3b82f6}.sidebar-section.action-buttons-section .sidebar-action-btn.policy:hover{background-color:#2563eb}.sidebar-section.action-buttons-section .sidebar-action-btn.rules{background-color:#8b5cf6}.sidebar-section.action-buttons-section .sidebar-action-btn.rules:hover{background-color:#7c3aed}.hr-task-reminder-btn-container{width:100%}.hr-task-reminder-btn{width:100%;padding:.75rem;background-color:#f59e0b;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.hr-task-reminder-btn:hover{background-color:#d97706}.hr-policy-rules-container{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.hr-policy-btn{padding:.75rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.hr-policy-btn:hover{background-color:#2563eb}.hr-rules-btn{padding:.75rem;background-color:#8b5cf6;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.hr-rules-btn:hover{background-color:#7c3aed}.ai-assistant-container{background-color:#f3f4f6;border-radius:.5rem;padding:1rem;margin-top:0rem;margin-left:-1.5rem;height:fit-content}.ai-assistant-card{background-color:#fff;padding:.75rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border:none;height:fit-content;max-height:500px}.ai-header-simple{margin-bottom:.5rem}.ai-title{font-size:1rem;font-weight:600;color:#111827;margin:0}.ai-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.ai-icon-bg{background:linear-gradient(135deg,#667eea,#764ba2);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.ai-welcome-box{background-color:#f9fafb;border-radius:.5rem;padding:.5rem .75rem;margin-bottom:.75rem;border:1px solid #e5e7eb}.ai-welcome-box p{margin:0;color:#9ca3af;font-size:.75rem}.ai-welcome-msg{color:#9ca3af;font-size:.8rem;margin-bottom:1rem}.ai-welcome-msg p{margin:0}.ai-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:.375rem;margin-bottom:.5rem}.ai-action-btn{background-color:#e5e7eb;border:none;border-radius:.375rem;padding:.375rem .5rem;font-size:.7rem;color:#6b7280;cursor:pointer;transition:all .2s;text-align:center;font-weight:400}.ai-action-btn:hover{background-color:#d1d5db;color:#374151}.ai-message-input{display:flex;gap:.375rem;align-items:center;margin-top:.125rem}.ai-send-btn{background:#3b82f6;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap;height:44px;display:flex;align-items:center;justify-content:center}.ai-send-btn:hover{background:#2563eb}.message-input-field{flex:1;padding:.75rem 1rem;border:none;border-radius:.5rem;font-size:.8rem;outline:none;background-color:#f9fafb;color:#9ca3af;height:44px;box-sizing:border-box}.message-input-field::placeholder{color:#9ca3af}.message-input-field:focus{background-color:#fff;box-shadow:0 0 0 2px #3b82f633}.send-message-btn{background:#3b82f6;border:none;border-radius:.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:background-color .2s}.send-message-btn:hover{background:#2563eb}.ai-assistant-card .send-message-btn{background:#3b82f6!important;border:none!important;border-radius:.5rem!important;width:44px!important;height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;cursor:pointer!important;transition:background-color .2s!important}.ai-assistant-card .send-message-btn:hover{background:#2563eb!important}.ai-assistant-card .send-message-btn svg{width:18px!important;height:18px!important;color:#fff!important;fill:currentColor!important;stroke:currentColor!important;display:block!important}.employee-details-modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.employee-details-modal .modal-content{position:relative;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.employee-info{padding:0}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-weight:600;color:#374151;font-size:.875rem}.info-value{color:#111827;font-size:.875rem}.btn{padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.btn-success{background-color:#10b981;color:#fff}.btn-success:hover{background-color:#059669}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-secondary{background-color:#f3f4f6;color:#374151}.btn-secondary:hover{background-color:#e5e7eb}.dropdown-item{width:100%;padding:.5rem .75rem;text-align:left;font-size:.875rem;line-height:1.25rem;border:none;background:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background-color .15s ease-in-out}.dropdown-item:hover{background-color:#f9fafb}.flex{display:flex}.items-center{align-items:center}.space-x-4>*+*{margin-left:1rem}.w-8{width:2rem}.h-8{height:2rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-semibold{font-weight:600}.text-gray-900{color:#111827}.font-medium{font-weight:500}.text-lg{font-size:1.125rem;line-height:1.75rem}.w-6{width:1.5rem}.h-6{height:1.5rem}.text-white{color:#fff}.-mt-2{margin-top:-.5rem}.filter-container{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.search-container{display:flex;align-items:center;gap:.5rem;flex:1;min-width:250px}.filter-group{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.search-input{flex:1;min-width:16rem;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;transition:all .2s ease-in-out;background-color:#fff}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-select{width:8rem;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;background-color:#fff;cursor:pointer;transition:all .2s ease-in-out}.filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-label{font-size:.875rem;color:#4b5563;font-weight:500;white-space:nowrap}@media (max-width: 1024px){.leave-table-header,.leave-table-row{grid-template-columns:2fr 1fr 1.2fr 1fr .8fr 1fr .8fr}.search-container{min-width:200px}.search-input{min-width:12rem}}@media (max-width: 768px){.filter-container{flex-direction:column;align-items:stretch;gap:.75rem}.search-container{min-width:unset}.filter-group{justify-content:space-between}.leave-table-header,.leave-table-row{grid-template-columns:2fr 1fr 1fr 1fr .8fr 1fr .6fr;font-size:.75rem}.leave-table-cell,.header-cell{padding:.75rem .5rem}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #e5e7eb;overflow:visible;height:auto;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px 16px;border-bottom:1px solid #f3f4f6}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.close-btn:hover{background-color:#f3f4f6;color:#374151}.modal-body{padding:24px 32px}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background-color:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;min-height:100px;font-family:inherit}.modal-footer{padding:16px 32px 24px;border-top:1px solid #f3f4f6;display:flex;gap:12px;justify-content:center!important;align-items:center;width:100%}.submit-btn,.cancel-btn{padding:14px 24px!important;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;width:180px!important;min-width:180px!important;max-width:180px!important;height:48px!important;border:1px solid transparent;box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:center!important}.submit-btn{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.submit-btn:hover{background-color:#2563eb;border-color:#2563eb}.cancel-btn{background-color:#f3f4f6;color:#374151;border-color:#d1d5db}.cancel-btn:hover{background-color:#e5e7eb;border-color:#9ca3af}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-2>*+*{margin-top:.5rem}.space-y-1>*+*{margin-top:.25rem}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.search-expandable{display:flex;align-items:center;transition:all .3s ease}.search-icon-only{cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s}.search-icon-only:hover{background-color:#f3f4f6}.search-expanded{display:flex;align-items:center;gap:8px}.search-input-expanded{width:250px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .3s ease}.search-input-expanded:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.w-5{width:1.5rem!important}.h-5{height:1.5rem!important}.search-icon-only svg{width:1.5rem!important;height:1.5rem!important}.search-expanded svg{width:1.5rem!important;height:1.5rem!important}.search-icon-only .w-5,.search-expanded .w-5{width:1.5rem!important;height:1.5rem!important}.calendar-container{position:relative;display:inline-block}.calendar-icon-btn{padding:8px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#6b7280}.calendar-icon-btn:hover{background-color:#f9fafb;border-color:#9ca3af;color:#374151}.calendar-dropdown{position:absolute;top:100%;right:0;z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:16px;margin-top:4px;width:320px;max-width:320px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:8px}.calendar-nav-btn{padding:4px;border:none;background:none;cursor:pointer;border-radius:4px;color:#6b7280;transition:all .2s ease}.calendar-nav-btn:hover{background-color:#f3f4f6;color:#374151}.calendar-month-year{display:flex;align-items:center;gap:8px}.calendar-select{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer}.calendar-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;border:1px solid #f3f4f6;border-radius:6px;overflow:hidden}.calendar-day-header{padding:10px 4px;text-align:center;font-size:12px;font-weight:600;color:#6b7280;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;width:40px;height:36px;display:flex;align-items:center;justify-content:center}.calendar-day{padding:0;text-align:center;font-size:14px;cursor:pointer;transition:all .2s ease;width:40px;height:36px;display:flex;align-items:center;justify-content:center;background-color:#fff;border:none;position:relative}.calendar-day.has-tasks{background-color:#eff6ff;border:1px solid #3b82f6;font-weight:600}.calendar-day.has-tasks:hover{background-color:#dbeafe;border-color:#2563eb;transform:scale(1.05)}.calendar-day:hover{background-color:#f3f4f6}.calendar-day.other-month{color:#d1d5db;background-color:#fafafa}.calendar-day.selected{background-color:#3b82f6!important;color:#fff!important;font-weight:600}.calendar-day.today{background-color:#dbeafe;color:#1d4ed8;font-weight:600}.calendar-day.selected.today{background-color:#3b82f6!important;color:#fff!important}.calendar-day.other-month:hover{background-color:#f0f0f0}.calendar-footer{margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;align-items:center}.calendar-today-btn{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;color:#374151;font-size:12px;cursor:pointer;transition:all .2s ease}.calendar-today-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.calendar-clear-btn{padding:6px 12px;border:none;border-radius:4px;background-color:#ef4444;color:#fff;font-size:12px;cursor:pointer;transition:all .2s ease}.calendar-clear-btn:hover{background-color:#dc2626}@media (max-width: 768px){.calendar-dropdown{right:auto;left:0;width:300px;max-width:calc(100vw - 32px)}}@media (max-width: 480px){.calendar-dropdown{width:280px;padding:12px}.calendar-day,.calendar-day-header{width:36px;height:32px;font-size:12px}.calendar-header{margin-bottom:12px}.calendar-select{font-size:12px;padding:2px 6px}}.date-filter-indicator{display:flex;align-items:center;gap:8px;padding:6px 12px;background-color:#dbeafe;border:1px solid #bfdbfe;border-radius:6px;font-size:14px;color:#1d4ed8}.date-filter-clear{padding:2px;border:none;background:none;cursor:pointer;border-radius:2px;color:#2563eb;transition:all .2s ease}.date-filter-clear:hover{background-color:#bfdbfe;color:#1d4ed8}.attendance-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media (max-width: 768px){.attendance-controls{flex-direction:column;align-items:stretch;gap:8px}.attendance-controls>*{width:100%;justify-content:center}}.attendance-history-modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.attendance-history-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #e5e7eb;width:90%;max-width:1200px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.attendance-history-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px 16px;border-bottom:1px solid #f3f4f6;flex-shrink:0}.attendance-history-header h3{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.attendance-history-body{padding:24px 32px;overflow-y:auto;flex:1}.attendance-history-table{width:100%;border-collapse:collapse;margin-top:16px}.attendance-history-table th,.attendance-history-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f3f4f6;font-size:14px}.attendance-history-table th{background-color:#f9fafb;font-weight:600;color:#374151;position:sticky;top:0;z-index:1}.attendance-history-table td{color:#6b7280}.attendance-history-table tbody tr:hover{background-color:#f9fafb}.attendance-history-footer{padding:16px 32px 24px;border-top:1px solid #f3f4f6;display:flex;gap:12px;justify-content:center;align-items:center;flex-shrink:0}.history-export-btn{padding:10px 20px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.history-export-btn:hover{background-color:#2563eb}.history-close-btn{padding:10px 20px;background-color:#ef4444;color:#fff;border:1px solid #ef4444;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.history-close-btn:hover{background-color:#dc2626;border-color:#dc2626}@media (max-width: 768px){.attendance-history-content{width:95%;margin:1rem}.attendance-history-header,.attendance-history-body,.attendance-history-footer{padding-left:16px;padding-right:16px}.attendance-history-table th,.attendance-history-table td{padding:8px 12px;font-size:12px}.attendance-history-footer{flex-direction:column;gap:8px}.history-export-btn,.history-close-btn{width:100%;justify-content:center}}.attendance-table-header .header-cell:last-child,.attendance-table-row .attendance-table-cell:last-child{padding-left:40px}.weekend-notice{margin-top:4px!important;margin-bottom:4px!important}.attendance-actions.weekend-buttons{margin-top:.5rem!important}.attendance-btn.weekend-btn{padding:.4rem .8rem!important;font-size:.875rem!important}.attendance-btn.weekend-btn span{font-size:.875rem!important}.day-cell{position:relative;min-height:80px;padding:4px;border:1px solid #e5e7eb;transition:all .2s ease}.day-cell:hover{background-color:#f9fafb!important;border-color:#d1d5db}.day-cell.has-tasks{cursor:pointer;border-color:#3b82f6;background-color:#eff6ff}.day-cell.has-tasks:hover{background-color:#dbeafe!important;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.day-number{font-weight:500;margin-bottom:4px}.event-tag{font-size:10px;padding:2px 4px;border-radius:3px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}.event-blue{background-color:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}.event-red{background-color:#fecaca;color:#dc2626;border:1px solid #fca5a5}.event-orange{background-color:#fed7aa;color:#ea580c;border:1px solid #fdba74}.task-status-indicator{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;background-color:#f59e0b}.task-status-indicator.completed{background-color:#10b981}.bg-white.rounded-lg.overflow-hidden.shadow-sm.border.border-gray-200{background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.min-w-full.table-fixed{width:100%;table-layout:fixed;border-collapse:collapse}.bg-gray-50 th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.bg-white tbody{background-color:#fff}.bg-white tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.bg-white tbody tr:hover,.bg-gray-50 tbody tr{background-color:#f9fafb}.bg-gray-50 tbody tr:hover{background-color:#f3f4f6}.bg-white tbody td,.bg-gray-50 tbody td{padding:1rem;font-size:.875rem;color:#374151;vertical-align:middle}.bg-white tbody td:first-child,.bg-gray-50 tbody td:first-child{display:flex;align-items:center;gap:.5rem}.bg-white tbody td:first-child .text-sm.font-medium.text-gray-900,.bg-gray-50 tbody td:first-child .text-sm.font-medium.text-gray-900{font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline-block.px-2.py-1.text-xs.font-medium.text-gray-700.bg-gray-100.rounded-md{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:#374151;background-color:#f3f4f6;border-radius:.375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.flex.items-center.text-sm.text-gray-600{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#6b7280}.flex.items-center.text-sm.text-gray-600 .w-4.h-4.text-gray-400{width:1rem;height:1rem;color:#9ca3af;flex-shrink:0}.inline-flex.justify-center.w-full.px-2.py-1.text-xs.font-medium.rounded-md{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:.375rem;text-transform:capitalize}.text-red-800.bg-red-100{color:#991b1b;background-color:#fef2f2}.text-orange-800.bg-orange-100{color:#9a3412;background-color:#fff7ed}.text-blue-800.bg-blue-100{color:#1e40af;background-color:#dbeafe}.inline-flex.items-center.justify-center.px-3.py-1.text-xs.font-semibold.rounded-full{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:capitalize}.text-green-800.bg-green-100{color:#166534;background-color:#dcfce7}.text-gray-800.bg-gray-100{color:#374151;background-color:#f3f4f6}.relative.flex.justify-center{position:relative;display:flex;justify-content:center}.inline-flex.items-center.justify-center.w-8.h-8.text-gray-400.hover\:text-gray-600.hover\:bg-gray-100.rounded-full.transition-colors{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;color:#9ca3af;border-radius:9999px;transition:all .2s ease;cursor:pointer;border:none;background:none}.inline-flex.items-center.justify-center.w-8.h-8.text-gray-400.hover\:text-gray-600.hover\:bg-gray-100.rounded-full.transition-colors:hover{color:#4b5563;background-color:#f3f4f6}.fixed.w-48.bg-white.rounded-md.shadow-xl.border.border-gray-200{position:fixed;width:12rem;background-color:#fff;border-radius:.375rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #e5e7eb;z-index:9999}.py-1{padding-top:.25rem;padding-bottom:.25rem}.flex.items-center.w-full.px-4.py-2.text-sm.text-gray-700.hover\:bg-gray-100{display:flex;align-items:center;width:100%;padding:.5rem 1rem;font-size:.875rem;color:#374151;background:none;border:none;cursor:pointer;transition:background-color .2s ease;text-align:left}.flex.items-center.w-full.px-4.py-2.text-sm.text-gray-700.hover\:bg-gray-100:hover{background-color:#f3f4f6}.flex.items-center.w-full.px-4.py-2.text-sm.text-red-600.hover\:bg-red-50{display:flex;align-items:center;width:100%;padding:.5rem 1rem;font-size:.875rem;color:#dc2626;background:none;border:none;cursor:pointer;transition:background-color .2s ease;text-align:left}.flex.items-center.w-full.px-4.py-2.text-sm.text-red-600.hover\:bg-red-50:hover{background-color:#fef2f2}.w-4.h-4.mr-3{width:1rem;height:1rem;margin-right:.75rem}.w-3\/12{width:25%}.w-2\/12{width:16.666667%}.w-1\/12{width:8.333333%}@media (max-width: 1024px){.min-w-full.table-fixed{min-width:800px}.overflow-x-auto{overflow-x:auto}}@media (max-width: 768px){.bg-gray-50 th,.bg-white tbody td,.bg-gray-50 tbody td{padding:.5rem .75rem;font-size:.8125rem}.bg-gray-50 th{font-size:.6875rem}.inline-block.px-2.py-1.text-xs.font-medium.text-gray-700.bg-gray-100.rounded-md,.inline-flex.justify-center.w-full.px-2.py-1.text-xs.font-medium.rounded-md,.inline-flex.items-center.justify-center.px-3.py-1.text-xs.font-semibold.rounded-full{font-size:.6875rem;padding:.1875rem .375rem}}.flex-shrink-0.w-4.h-4.text-blue-500{flex-shrink:0;width:1rem;height:1rem;color:#3b82f6}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.max-w-full{max-width:100%}.calendar-page-container{padding:0;background-color:transparent;width:100%;grid-column:1 / -1}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.calendar-header h1{font-size:1.5rem;font-weight:600;color:#111827}.header-buttons{display:flex;gap:.75rem;align-items:center}.holiday-list-btn{background-color:#10b981;color:#fff;padding:.6rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem;cursor:pointer;border:none;transition:background-color .2s ease}.holiday-list-btn:hover{background-color:#059669}.add-task-btn{background-color:#4f46e5;color:#fff;padding:.6rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem;cursor:pointer;border:none;transition:background-color .2s ease}.add-task-btn:hover{background-color:#4338ca}.calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.navigation-container{display:flex;align-items:center;gap:2rem}.year-nav{display:flex;align-items:center;gap:.75rem}.month-nav{display:flex;align-items:center;gap:1rem}.nav-btn{background:none;border:1px solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;transition:all .2s ease}.nav-btn:hover{background-color:#f3f4f6;border-color:#9ca3af}.year-btn{width:28px;height:28px}.month-btn{width:32px;height:32px}.year-display{font-size:.875rem;font-weight:600;color:#374151;width:60px;text-align:center}.month-display{font-size:1rem;font-weight:500;color:#374151;width:120px;text-align:center}.today-btn{background-color:#fff;color:#374151;padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-weight:500;cursor:pointer}.today-btn:hover{background-color:#f9fafb}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid #e5e7eb;background-color:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.calendar-grid .day-name,.calendar-grid .day-cell{border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:.5rem}.day-name{text-align:center;font-weight:500;color:#6b7280;padding:.75rem .5rem;border-top:1px solid #e5e7eb;background-color:#f9fafb;font-size:.875rem}.day-cell{min-height:80px;max-height:100px;position:relative;overflow:hidden}.day-cell .day-number{font-weight:500;color:#374151;font-size:.875rem;margin-bottom:.25rem}.day-cell.other-month .day-number{color:#9ca3af}.day-cell.today{border:2px solid #eab308}.day-cell.today .day-number{color:#374151;font-weight:600;background-color:#fef08a;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.day-cell.blocked-day{background-color:#f3f4f6;color:#9ca3af}.day-cell.blocked-day .day-number{color:#9ca3af}.day-cell.blocked-day[style*="#fef2f2"]{background-color:#fef2f2!important}.event-tag{font-size:.65rem;padding:.15rem .4rem;border-radius:.25rem;margin-top:.25rem;display:block;font-weight:500;line-height:1.2;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;width:100%;box-sizing:border-box}.event-blue{background-color:#dbeafe;color:#1e40af}.event-green{background-color:#dcfce7;color:#166534}.event-yellow{background-color:#fef9c3;color:#854d0e}.event-red{background-color:#fee2e2;color:#991b1b}.event-orange{background-color:#fed7aa;color:#c2410c}.event-purple{background-color:#ede9fee6;color:#581c87;border-left:3px solid #7c3aed;font-weight:600;border-radius:4px;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 0;border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem}.modal-header h2{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.close-btn{background:none;border:none;cursor:pointer;color:#6b7280;padding:.25rem;border-radius:.25rem;transition:background-color .2s}.close-btn:hover{background-color:#f3f4f6}.modal-body{padding:0 1.5rem;text-align:left}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem;text-align:left}.form-input,.form-textarea,.form-select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s;text-align:left}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;text-align:left}.form-row .form-group{margin-bottom:0}.form-row .form-group:last-child{margin-bottom:1.5rem}.form-group label{display:flex;align-items:center;justify-content:flex-start;text-align:left}.form-group label:before{content:"";display:inline-block;width:0;height:0}.modal-content,.modal-content *{text-align:left}.modal-body,.modal-body *{text-align:left!important}.leave-days-info{margin:.5rem 0 1rem;padding:.5rem;background-color:#f0f9ff;border-radius:.5rem;border:1px solid #bae6fd;text-align:left}.leave-days-info p{margin:0;font-weight:500;text-align:left}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;margin-top:1.5rem}.cancel-btn{background:#fff;color:#374151;border:1px solid #d1d5db;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background-color .2s}.cancel-btn:hover{background-color:#f9fafb}.save-btn{background-color:#4f46e5;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background-color .2s}.save-btn:hover:not(:disabled){background-color:#4338ca}.save-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.submit-btn{background-color:#10b981;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background-color .2s}.submit-btn:hover:not(:disabled){background-color:#059669}.submit-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.cancel-btn{background:#ef4444;color:#fff;border:1px solid #dc2626;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background-color .2s}.cancel-btn:hover{background-color:#dc2626}.event-hover-popup{background:#fff;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border:1px solid #e5e7eb;min-width:250px;max-width:300px}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb}.popup-header h4{font-size:.875rem;font-weight:600;color:#111827;margin:0}.popup-close-btn{background:none;border:none;cursor:pointer;color:#6b7280;padding:.25rem;border-radius:.25rem;transition:background-color .2s}.popup-close-btn:hover{background-color:#f3f4f6}.popup-content{padding:.75rem 1rem}.popup-content p{font-size:.8rem;color:#6b7280;margin:0;display:flex;align-items:center;gap:.5rem}.event-tag{cursor:pointer;transition:transform .2s,box-shadow .2s}.event-tag:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}@media (max-width: 768px){.day-cell{min-height:60px;max-height:80px}.event-tag{font-size:.6rem;padding:.1rem .3rem;margin-top:.2rem}.calendar-grid .day-name,.calendar-grid .day-cell{padding:.3rem}}.event-tag.event-blue{border-left:3px solid #3b82f6}.event-tag.event-red{border-left:3px solid #ef4444}.event-tag.event-orange{border-left:3px solid #f97316}.event-tag.event-green{border-left:3px solid #22c55e}.event-tag.event-yellow{border-left:3px solid #eab308}.holiday-modal{max-width:600px;max-height:80vh}.holiday-section{margin-bottom:2rem;text-align:left}.holiday-section-title{font-size:1.125rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb;text-align:left}.holiday-section-title.mandatory{color:#dc2626;border-bottom-color:#dc2626}.holiday-section-title.optional{color:#f97316;border-bottom-color:#f97316}.holiday-list{display:flex;flex-direction:column;gap:.75rem;text-align:left}.holiday-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:#f9fafb;border-radius:.5rem;border-left:4px solid #dc2626;text-align:left}.holiday-item.optional{border-left-color:#f97316;background-color:#fff7ed}.holiday-date{font-weight:600;color:#374151;font-size:.875rem;min-width:120px;text-align:left}.holiday-name{color:#6b7280;font-size:.875rem;text-align:left;flex:1}.notification-popup{position:fixed;top:80px;right:20px;width:400px;max-width:90vw;max-height:80vh;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #e5e7eb;z-index:1000;overflow:hidden;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.notification-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.notification-header h3{font-size:16px;font-weight:600;color:#1f2937;margin:0}.notification-body{max-height:500px;overflow-y:auto;padding:16px}.leave-notification-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:12px;transition:all .2s ease}.leave-notification-card:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.leave-notification-card:last-child{margin-bottom:0}.notification-bell-btn{position:relative;background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#6b7280}.notification-bell-btn:hover{background:#f3f4f6;color:#374151}.notification-bell-btn.has-notifications{color:#ef4444}.notification-badge{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;border:2px solid white}.notification-badge.pulse{animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notification-overlay{position:fixed;inset:0;background:#00000080;z-index:999;display:none}@media (max-width: 768px){.notification-popup{position:fixed;inset:0;width:100%;max-width:100%;max-height:100%;border-radius:0;animation:slideInUp .3s ease-out}.notification-overlay{display:block}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.leave-notification-card button{border:none;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s ease;outline:none;position:relative;overflow:hidden}.leave-notification-card button:first-of-type{background-color:#16a34a!important;color:#fff!important}.leave-notification-card button:first-of-type:hover{background-color:#15803d!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 4px 8px #16a34a4d}.leave-notification-card button:first-of-type:active{transform:translateY(0);box-shadow:0 2px 4px #16a34a4d}.leave-notification-card button:nth-of-type(2){background-color:#dc2626!important;color:#fff!important}.leave-notification-card button:nth-of-type(2):hover{background-color:#b91c1c!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 4px 8px #dc26264d}.leave-notification-card button:nth-of-type(2):active{transform:translateY(0);box-shadow:0 2px 4px #dc26264d}.leave-notification-card button:nth-of-type(3){background-color:#2563eb!important;color:#fff!important}.leave-notification-card button:nth-of-type(3):hover{background-color:#1d4ed8!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}.leave-notification-card button:nth-of-type(3):active{transform:translateY(0);box-shadow:0 2px 4px #2563eb4d}.leave-notification-card button:disabled{background-color:#9ca3af!important;color:#fff!important;cursor:not-allowed;transform:none!important;box-shadow:none!important}.leave-notification-card button:disabled:hover{background-color:#9ca3af!important;color:#fff!important;transform:none!important;box-shadow:none!important}.leave-notification-card button:focus{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 3px #3b82f680}.bg-gray-50{background-color:#f9fafb}.bg-blue-50{background-color:#eff6ff}.bg-red-50{background-color:#fef2f2}.bg-green-50{background-color:#f0fdf4}.bg-yellow-50{background-color:#fefce8}.leave-notification-card .grid{display:grid}.leave-notification-card .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-notification-card .gap-3{gap:.75rem}.leave-notification-card .gap-2{gap:.5rem}.leave-notification-card .rounded-lg{border-radius:.5rem}.leave-notification-card .p-3{padding:.75rem}.leave-notification-card .p-4{padding:1rem}.leave-notification-card .mb-1{margin-bottom:.25rem}.leave-notification-card .mb-2{margin-bottom:.5rem}.leave-notification-card .mb-3{margin-bottom:.75rem}.leave-notification-card .text-center{text-align:center}.leave-notification-card .text-lg{font-size:1.125rem;line-height:1.75rem}.leave-notification-card .font-bold{font-weight:700}.leave-notification-card .text-xs{font-size:.75rem;line-height:1rem}.leave-notification-card .font-medium{font-weight:500}.text-blue-600{color:#2563eb}.text-blue-800{color:#1e40af}.text-red-600{color:#dc2626}.text-red-800{color:#991b1b}.text-green-600{color:#16a34a}.text-green-800{color:#166534}.text-yellow-600{color:#ca8a04}.text-yellow-800{color:#854d0e}.text-purple-600{color:#9333ea}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.leave-notification-card .flex{display:flex}.leave-notification-card .items-center{align-items:center}.leave-notification-card .justify-center{justify-content:center}.leave-notification-card .justify-between{justify-content:space-between}.leave-notification-card .mr-1{margin-right:.25rem}.leave-notification-card .border-b{border-bottom:1px solid #e5e7eb}.leave-notification-card .border-gray-200{border-color:#e5e7eb}.leave-notification-card .border{border:1px solid #d1d5db}.leave-notification-card .border-gray-300{border-color:#d1d5db}.leave-notification-card .rounded-md{border-radius:.375rem}.leave-notification-card .focus\:ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.leave-notification-card .focus\:ring-blue-500{--tw-ring-color: #3b82f6}.leave-notification-card .focus\:border-blue-500{border-color:#3b82f6}.leave-notification-card .placeholder-gray-500::placeholder{color:#6b7280}.leave-notification-card .text-gray-400{color:#9ca3af}.leave-notification-card .text-gray-500{color:#6b7280}.leave-notification-card .hover\:text-gray-600:hover{color:#4b5563}.leave-notification-card .absolute{position:absolute}.leave-notification-card .relative{position:relative}.leave-notification-card .inset-y-0{top:0;bottom:0}.leave-notification-card .left-0{left:0}.leave-notification-card .right-0{right:0}.leave-notification-card .pl-3{padding-left:.75rem}.leave-notification-card .pl-10{padding-left:2.5rem}.leave-notification-card .pr-3{padding-right:.75rem}.leave-notification-card .pr-10{padding-right:2.5rem}.leave-notification-card .py-2{padding-top:.5rem;padding-bottom:.5rem}.leave-notification-card .py-3{padding-top:.75rem;padding-bottom:.75rem}.leave-notification-card .px-4{padding-left:1rem;padding-right:1rem}.leave-notification-card .block{display:block}.leave-notification-card .w-full{width:100%}.leave-notification-card .pointer-events-none{pointer-events:none}.leave-notification-card input:focus{outline:none}.notification-body::-webkit-scrollbar{width:6px}.notification-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.notification-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.notification-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.floating-chat-button{position:fixed;bottom:20px;right:20px;width:60px;height:60px;background-color:#4f46e5;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #4f46e54d;transition:all .3s ease;z-index:1000;border:none}.floating-chat-button:hover{background-color:#4338ca;transform:scale(1.05);box-shadow:0 6px 16px #4f46e566}.floating-chat-button:active{transform:scale(.95)}.floating-chat-window{position:fixed;bottom:90px;right:20px;width:min(420px,calc(100vw - 40px));height:min(650px,calc(100vh - 140px));max-height:80vh;background-color:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;z-index:1001;overflow:hidden;border:1px solid #e5e7eb;animation:slideUp .3s ease-out;transition:all .3s ease}.floating-chat-window.minimized{height:60px;transition:height .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}.floating-chat-window.large{width:420px;height:650px}.floating-chat-window.medium{width:min(400px,calc(100vw - 20px));height:min(600px,calc(100vh - 120px))}.floating-chat-window.small{width:calc(100vw - 16px);height:min(550px,calc(100vh - 110px))}.floating-chat-window.extra-small{width:calc(100vw - 12px);height:min(500px,calc(100vh - 100px))}.chat-header{background-color:#4f46e5;color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.chat-header-info{display:flex;align-items:center;gap:10px}.ai-icon-small{width:32px;height:32px;background-color:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center}.chat-title{font-size:16px;font-weight:600;margin:0;line-height:1.2}.chat-status{font-size:12px;margin:0;opacity:.8;line-height:1}.chat-header-actions{display:flex;gap:4px}.chat-action-btn{background:#fff3;border:none;border-radius:6px;padding:6px;cursor:pointer;color:#fff;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.chat-action-btn:hover{background:#ffffff4d}.chat-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.messages-container{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.messages-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.message{display:flex;max-width:85%;margin-bottom:12px;width:100%}.message.user{justify-content:flex-end;align-items:flex-end}.message.bot{justify-content:flex-start;align-items:flex-start}.message-content{padding:12px 16px;border-radius:20px;position:relative;word-wrap:break-word;max-width:100%;box-shadow:0 1px 2px #0000001a;white-space:pre-line}.message.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:6px;margin-left:auto}.message.bot .message-content{background-color:#fff;color:#374151;border:1px solid #e5e7eb;border-bottom-left-radius:6px;margin-right:auto}.message-content p{margin:0;font-size:14px;line-height:1.5;font-weight:400}.message-content ol{margin:8px 0;padding-left:20px;line-height:1.6}.message-content ol li{margin:4px 0;font-size:14px}.message-content ul{margin:8px 0;padding-left:20px;line-height:1.6}.message-content ul li{margin:4px 0;font-size:14px}.message-time{font-size:10px;opacity:.7;display:block;margin-top:6px;font-weight:500}.message.user .message-time{color:#ffffffe6;text-align:right}.message.bot .message-time{color:#9ca3af;text-align:left}.typing-indicator{display:flex;gap:4px;align-items:center;padding:8px 0}.typing-indicator span{width:8px;height:8px;background-color:#9ca3af;border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.message-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.message-intent{font-size:10px;background-color:#4f46e51a;color:#4f46e5;padding:2px 6px;border-radius:10px;text-transform:capitalize}.message.user .message-intent{background-color:#fff3;color:#ffffffe6}.message-suggestions{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px}.suggestion-btn{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;padding:4px 8px;font-size:11px;color:#4f46e5;cursor:pointer;transition:all .2s}.suggestion-btn:hover{background-color:#4f46e5;color:#fff}.balance-info{margin-top:8px;padding:6px 10px;background:#f0f9ff;border:1px solid #e0f2fe;border-radius:6px;color:#0369a1}.confirmation-prompt{margin-top:12px;padding:12px;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;border-left:4px solid #f59e0b}.confirmation-header{font-weight:600;color:#92400e;margin-bottom:8px;font-size:14px}.confirmation-actions{display:flex;gap:8px;margin-top:8px}.confirm-btn,.cancel-btn{padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.confirm-btn{background:#10b981;color:#fff}.confirm-btn:hover{background:#059669}.cancel-btn{background:#ef4444;color:#fff}.cancel-btn:hover{background:#dc2626}.application-result{margin-top:12px;padding:12px;border-radius:8px;border-left:4px solid}.application-result.success{background:#f0fdf4;border-color:#10b981}.application-result.error{background:#fef2f2;border-color:#ef4444}.result-header{font-weight:600;margin-bottom:8px;font-size:14px}.application-result.success .result-header{color:#065f46}.application-result.error .result-header{color:#991b1b}.result-details{font-size:13px;line-height:1.4}.result-details p{margin:4px 0}.application-result.success .result-details{color:#047857}.application-result.error .result-details{color:#dc2626}.extracted-data{margin-top:12px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;border-left:4px solid #6366f1}.data-header{font-weight:600;color:#4338ca;margin-bottom:8px;font-size:14px}.data-details{font-size:13px;line-height:1.4;color:#475569}.data-details p{margin:4px 0}.data-details strong{color:#334155}.quick-actions{padding:12px 0;border-top:1px solid #e5e7eb;margin-top:8px}.quick-actions-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:#6b7280;font-size:12px;font-weight:500}.quick-action-btn{display:block;width:100%;padding:8px 12px;margin-bottom:6px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;text-align:left;font-size:13px;color:#374151;cursor:pointer;transition:all .2s}.quick-action-btn:hover{background-color:#f3f4f6;border-color:#d1d5db;transform:translateY(-1px)}.quick-action-btn:last-child{margin-bottom:0}.conversation-context{padding:8px 12px;margin:8px 0;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.context-header{display:flex;align-items:center;gap:6px;margin-bottom:4px;color:#4f46e5;font-size:12px;font-weight:500}.context-info{color:#64748b;font-size:11px;line-height:1.3}.user-info{margin-top:6px;padding:4px 0;color:#6b7280;font-size:11px;text-align:center;border-top:1px solid #f3f4f6}.chat-input{padding:16px;border-top:1px solid #e5e7eb;background:linear-gradient(to top,#f8fafc,#fff);flex-shrink:0;box-shadow:0 -2px 10px #0000000d}.input-container{display:flex;gap:12px;align-items:center}.message-input{flex:1;padding:12px 16px;border:2px solid #e5e7eb;border-radius:25px;outline:none;font-size:14px;background-color:#fff;transition:all .3s ease;font-family:inherit;box-shadow:0 2px 4px #0000000d}.message-input:focus{border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e51a,0 2px 8px #0000001a;transform:translateY(-1px)}.message-input::placeholder{color:#9ca3af;font-style:italic}.send-btn{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0;box-shadow:0 2px 8px #4f46e54d}.send-btn:hover:not(:disabled){background:linear-gradient(135deg,#4338ca,#6d28d9);transform:translateY(-2px);box-shadow:0 4px 12px #4f46e566}.send-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #4f46e54d}.send-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;transform:none;box-shadow:0 1px 3px #0000001a}@media (max-width: 768px){.floating-chat-window{width:calc(100vw - 20px);right:10px;bottom:80px;height:min(600px,calc(100vh - 120px));max-height:75vh;border-radius:12px}.floating-chat-button{width:55px;height:55px;bottom:15px;right:15px}.chat-header{padding:10px 14px}.chat-title{font-size:15px}.messages-container{padding:12px}.chat-input{padding:10px 12px}}@media (max-width: 480px){.floating-chat-window{width:calc(100vw - 16px);right:8px;left:8px;bottom:75px;height:min(550px,calc(100vh - 110px));max-height:70vh;border-radius:8px}.floating-chat-button{width:50px;height:50px;bottom:12px;right:12px}.chat-header{padding:8px 12px}.ai-icon-small{width:28px;height:28px}.chat-title{font-size:14px}.chat-status{font-size:11px}.messages-container{padding:10px;gap:8px}.message-content{padding:8px 12px;font-size:13px}.quick-action-btn{padding:6px 10px;font-size:12px}.chat-input{padding:8px 10px}.message-input{padding:8px 10px;font-size:13px}.send-btn{width:32px;height:32px}}@media (max-width: 360px){.floating-chat-window{width:calc(100vw - 12px);right:6px;left:6px;bottom:70px;height:min(500px,calc(100vh - 100px));max-height:65vh}.floating-chat-button{width:45px;height:45px;bottom:10px;right:10px}}.floating-chat-window *{transition:all .2s ease}@media (hover: none) and (pointer: coarse){.floating-chat-button{width:60px;height:60px}.quick-action-btn,.chat-action-btn,.send-btn{min-height:44px;min-width:44px}.message-input{min-height:44px}}.floating-chat-button:focus,.chat-action-btn:focus,.quick-action-btn:focus,.send-btn:focus,.message-input:focus{outline:2px solid #4f46e5;outline-offset:2px}@media (prefers-contrast: high){.floating-chat-window{border:2px solid #000}.chat-header{border-bottom:2px solid #000}.message.user .message-content{border:1px solid #fff}.message.bot .message-content{border:1px solid #000}}@media (prefers-reduced-motion: reduce){.floating-chat-window{animation:none;transition:none}.floating-chat-button{transition:none}.typing-indicator span{animation:none}.messages-container{scroll-behavior:auto}}#root{width:100%;margin:0;padding:0;text-align:center;overflow-y:auto}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
