.toast{border-radius:6px;box-shadow:0 4px 8px #00000026;color:#fff;font-size:15px;font-weight:500;left:auto;opacity:0;padding:12px 20px;position:fixed;right:20px;top:20px;transform:none;transition:opacity .3s ease,transform .3s ease;z-index:9999}.toast.visible{opacity:1;transform:translateY(0)}.toast-success{background-color:#27ae60}.toast-error{background-color:#c0392b}.login-container{background-color:#f9f9f9;border:1px solid #ccc;border-radius:8px;box-shadow:0 4px 12px #0000001a;margin:100px auto;padding:30px;width:350px}.login-title{color:#333;font-size:24px;margin-bottom:20px;text-align:center}.error-message{font-size:14px;margin-bottom:15px;text-align:center}.login-form{display:flex;flex-direction:column}.form-group{margin-bottom:15px}.form-group label{color:#555;display:block;font-size:14px;margin-bottom:5px}.form-input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:8px;width:100%}.form-input:focus{border-color:#007bff;outline:none}.submit-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px}.submit-button:hover{background-color:#0056b3}@media (max-width:768px){.login-container{margin:80px auto;padding:25px;width:90%}.login-title{font-size:22px}.submit-button{font-size:15px;padding:9px}}@media (max-width:480px){.login-container{margin:60px auto;padding:20px;width:95%}.login-title{font-size:20px}.form-input{font-size:13px;padding:7px}.submit-button{font-size:14px;padding:8px}.error-message{font-size:13px}}.admin-dashboard{background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #0000001a;margin:0 auto;max-width:90vw;padding:20px}.admin-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 8px 32px #0000001a;margin-bottom:30px;padding:20px}.welcome-title{color:#fff;font-size:24px;font-weight:600;margin:0;text-shadow:0 2px 4px #0003}.add-user-btn{border:1px solid #ffffff4d;border-radius:20px;font-size:15px;padding:8px 16px}.add-user-btn,.logout-button{background-color:#fff3;color:#fff;cursor:pointer}.logout-button{border:2px solid #ffffff4d;border-radius:25px;font-weight:500;padding:10px 20px}.admin-navbar{background-color:#ffffff1a;border:1px solid #fff3;border-radius:50px;display:flex;gap:8px;padding:8px}.section-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:10px;margin-top:20px;padding:20px}.section{border:1px solid #e0e0e0;border-radius:6px;margin-bottom:15px;max-width:100%;position:relative}.table-scroll{border:1px solid #ddd;border-radius:6px;max-height:350px;overflow-y:auto}.admin-requests{margin:20px}.admin-requests h3{margin-bottom:15px}.admin-table{border-collapse:collapse;box-shadow:0 2px 8px #0000001a;font-family:Times New Roman;width:100%}.admin-table td,.admin-table th{border:1px solid #ddd;padding:12px;text-align:center}.admin-table th{background-color:#f4f4f4;font-weight:600}.user-table{border-collapse:collapse;table-layout:fixed;width:100%}.user-table td,.user-table th{background-color:#fff;border:1px solid #ccc;padding:10px 12px;text-align:left;vertical-align:middle}.user-table thead th{background-color:#f5f5f5;box-shadow:0 2px 3px #0000000d;color:#333;font-weight:600;position:sticky;top:0;z-index:1}.user-table td span{margin-right:8px}.status-btn{border:none;border-radius:4px;color:#fff;font-weight:700;margin-left:8px;padding:5px 10px}.status-btn.in{background-color:#4caf50}.status-btn.out{background-color:#f44336}button{cursor:pointer;margin-right:5px;padding:5px}.approve-btn{background-color:#4caf50;border-radius:4px;margin-right:5px;padding:6px 12px}.reject-btn{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:6px 12px}.leave-summary-row{display:flex;gap:40px;height:400px;justify-content:space-between;margin-bottom:30px}.leave-summary-chart,.users-on-leave{background-color:#f9f9f9;border-radius:12px;box-shadow:0 2px 6px #0000001a;flex:1 1;height:350px;overflow:auto;padding:20px}.users-on-leave ul{list-style-type:disc;padding-left:20px}.leaves{height:750px}@media (max-width:1024px){.leave-summary-row{flex-direction:column;height:auto}.leave-summary-chart,.users-on-leave{height:auto;margin-bottom:20px}.admin-navbar{flex-wrap:wrap;justify-content:center}.nav-btn{flex:1 1 45%;margin:5px 0;min-width:0;min-width:auto}}@media (max-width:768px){.header-top{align-items:flex-start;flex-direction:column;gap:10px}.welcome-title{font-size:20px;text-align:left}.add-user-btn,.logout-button{font-size:14px;padding:6px 12px}.admin-dashboard{padding:10px}.admin-table td,.admin-table th,.user-table td,.user-table th{font-size:14px;padding:8px}.status-btn{margin-left:0;margin-top:5px}}@media (max-width:480px){.nav-btn{flex:1 1 100%;font-size:13px;padding:10px}.approve-btn,.reject-btn{font-size:13px;padding:5px 10px}.no-calendar,.no-requests{padding:30px 10px}.leave-summary-row{gap:20px}}.spinner-container{align-items:center;display:flex;height:250px;justify-content:center}.dot-spinner{display:flex;gap:8px}.dot{animation:dot-blink 1.4s ease-in-out infinite both;background-color:#555;border-radius:50%;height:12px;width:12px}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes dot-blink{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.employee-home{background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #0000001a;font-family:Times New Roman;margin:0 auto;padding:20px;width:90vw}.content-container{min-height:400px}.no-calendar,.no-requests{background-color:#f9f9f9;border-radius:8px;margin:20px 0;padding:40px 20px;text-align:center}.no-calendar h3,.no-requests h3{color:#666;margin-bottom:10px}.no-calendar p,.no-requests p{color:#888}.home-header{align-items:center;background-color:#f7f9fb;border-bottom:1px solid #ccc;display:flex;justify-content:space-between;margin-bottom:10px;padding:10px}.chart-box{height:350px}.chart-box,.team-members{background-color:#f9f9f9;border-radius:12px;box-shadow:0 2px 6px #0000001a;flex:1 1;overflow:auto;padding:20px}.team-members{height:250px}.leave-balance,.leave-history{margin-bottom:30px}.leave-balance p,.leave-history p{color:#555;font-size:16px}.scrollable-table{margin-bottom:20px;max-height:250px}.scrollable-table table{border-collapse:collapse;width:100%}.scrollable-table td,.scrollable-table th{border:1px solid #ccc;padding:8px;text-align:center}.request-leave-button{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;margin:10px;padding:10px;width:200px}.leave-balance-table{border-collapse:collapse;margin-top:10px;max-width:600px;width:100%}.leave-balance-table td,.leave-balance-table th{border:1px solid #ccc;padding:8px 12px;text-align:left}.leave-balance-table th{background-color:#f5f5f5}.charts-container{display:flex;flex-wrap:wrap;gap:15px;margin:15px 0}.chart-box{flex:1 1 auto;margin:10px 0;padding:8px}.approve-btn{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;margin:10px;padding:10px;width:100px}.reject-btn{background-color:red}@media (max-width:1024px){.charts-container{flex-direction:column;gap:20px}.chart-box,.team-members{height:auto;width:100%}.leave-balance-table,.scrollable-table table{font-size:14px}.approve-btn,.reject-btn,.request-leave-button{font-size:15px;width:100%}}@media (max-width:768px){.leave-balance-table,.scrollable-table table{font-size:13px}.approve-btn,.reject-btn{font-size:14px;padding:8px;width:90px}}@media (max-width:480px){.employee-home{padding:12px}.chart-box,.team-members{height:auto;padding:12px}.leave-balance-table,.scrollable-table table{font-size:12px}.request-leave-button{font-size:14px;padding:8px;width:100%}.approve-btn,.reject-btn{font-size:13px;margin:8px 0;padding:6px;width:100%}}.profile-container{background-color:#fafafa;border:1px solid #ddd;border-radius:10px;box-shadow:1px 1px 5px #0003;margin:40px auto;max-width:400px;padding:20px}.profile-field{margin-bottom:15px}.profile-field label{display:block;font-weight:700;margin-bottom:5px}.profile-field input{box-sizing:border-box;padding:8px;width:100%}.update-btn{background-color:green;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-left:auto;margin-top:10px;padding:8px 14px}.message{color:green;margin-top:10px}@media (max-width:480px){.profile-container{margin:20px auto;max-width:95%;padding:15px}.profile-field input{font-size:14px;padding:10px}.update-btn{font-size:16px;margin-left:0;margin-top:15px;padding:10px 0;width:100%}.message{font-size:14px}}.leave-request-form{background-color:#f9f9f9;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin:40px auto;max-width:600px;padding:20px}.leave-request-form h3{color:#333;margin-bottom:20px;text-align:center}.leave-request-label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.leave-request-input,.leave-request-textarea{background-color:#fff;border:1px solid #ccc;border-radius:4px;font-size:14px;margin:10px 0 20px;padding:10px;width:100%}.leave-request-textarea{height:120px;resize:vertical}.leave-request-checkbox-label{margin-top:10px}.leave-request-checkbox{margin-right:10px}.leave{color:red}.error-message,.loading{color:#444;padding:1rem;text-align:center}.error-message{background-color:#ffe6e6;border:1px solid red;border-radius:8px;color:red;margin:1rem 0}.leave-request-submit-btn{background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;display:block;font-size:16px;height:auto;margin:20px auto 0;min-width:150px;padding:10px 30px;width:auto}.leave-request-submit-btn:hover{background-color:#45a049}.leave-request-input:focus,.leave-request-textarea:focus{border-color:#4caf50;outline:none}@media (max-width:600px){.leave-request-form{margin:20px auto;max-width:95%;padding:15px}.leave-request-input,.leave-request-textarea{font-size:16px;padding:12px}.leave-request-submit-btn{font-size:18px;min-width:0;min-width:auto;padding:12px 0;width:100%}}.add-user-form{background-color:#f9f9f9;border:1px solid #ddd;border-radius:12px;box-shadow:0 4px 8px #0000001a;box-sizing:border-box;margin:40px auto;max-width:400px;padding:24px}.add-user-form h3{color:#333;margin-bottom:20px;text-align:center}.add-user-form form{display:flex;flex-direction:column}.add-user-form input,.add-user-form select{border:1px solid #ccc;border-radius:8px;box-sizing:border-box;font-size:14px;margin-bottom:15px;outline:none;padding:10px;width:100%}.add-user-form input:focus,.add-user-form select:focus{border-color:#007bff}.add-user-form button{background-color:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;margin:10px 0;padding:10px}.add-user-form button:hover{background-color:#0056b3}.add-user-form p{color:green;font-weight:700;margin-top:10px;text-align:center}.add-user-form .error-message{color:red;font-weight:700;text-align:center}.add-user-form .success-message{color:green;font-weight:700;text-align:center}@media (max-width:480px){.add-user-form{border-radius:8px;margin:20px;padding:16px}.add-user-form button,.add-user-form input,.add-user-form select{font-size:15px;padding:12px}.add-user-form h3{font-size:20px}}.team-calendar-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:10px;margin-top:20px;padding:20px}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.calendar-header h3{color:#333;font-size:1.4rem;margin:0}.month-selector{align-items:center;display:flex;gap:15px}.month-selector button{background-color:#f0f0f0;border:none;border-radius:4px;cursor:pointer;font-weight:700;padding:8px 15px}.month-selector button:hover{background-color:#e0e0e0}.month-selector span{font-size:1.1rem;font-weight:500;min-width:140px;text-align:center}.calendar-table-container{border:1px solid #e0e0e0;border-radius:6px;margin-bottom:15px;max-height:350px;max-width:100%;overflow:auto}.calendar-table{border-collapse:collapse;font-size:.9rem;table-layout:fixed;width:100%}.calendar-table thead tr{position:sticky;top:0;z-index:2}.calendar-table td,.calendar-table th{border:1px solid #e0e0e0;padding:8px;text-align:center}.member-header{font-weight:600;z-index:2}.member-header,.member-name{background-color:#f8f9fa;border-right:2px solid #ddd;left:0;max-width:200px;min-width:200px;overflow:hidden;position:sticky;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:200px}.member-name{font-weight:500;padding-left:10px;z-index:1}.date-header{background-color:#f5f5f5;font-weight:600;padding:8px;position:sticky;top:0;vertical-align:middle;z-index:1}.date-header div{line-height:1.2}.day-name{color:#666;font-size:.75rem;margin-top:2px}.weekend{background-color:#e8e8e8}.calendar-cell{position:relative}.leave-indicator{border-radius:50%;box-shadow:0 1px 2px #0000001a;height:12px;margin:0 auto;width:12px}.leave-indicator:hover{cursor:pointer}.legend-items{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.legend-item{align-items:center;display:flex;gap:8px}.legend-color{border-radius:50%;box-shadow:0 1px 3px #0000001a;height:15px;width:15px}.legend-label{color:#444;font-size:.9rem}.loading-message{color:#666;font-style:italic;padding:30px;text-align:center}@media (max-width:768px){.calendar-header{align-items:flex-start;flex-direction:column;gap:12px}.calendar-header h3{font-size:1.2rem}.month-selector{flex-wrap:wrap;gap:10px;justify-content:space-between}.month-selector span{font-size:1rem;min-width:0;min-width:auto}.calendar-table-container{overflow-x:auto}.calendar-table td,.calendar-table th{font-size:.8rem;padding:6px}.member-header,.member-name{font-size:.85rem;max-width:140px;min-width:140px}.legend-items{align-items:flex-start;flex-direction:column;gap:12px}.legend-label{font-size:.85rem}.leave-indicator{height:10px;width:10px}}@media (max-width:480px){.calendar-header h3{font-size:1rem}.month-selector button{font-size:.85rem;padding:6px 10px}.calendar-table td,.calendar-table th{font-size:.75rem;padding:5px}.legend-label{font-size:.8rem}.member-header,.member-name{font-size:.8rem;max-width:120px;min-width:120px}}.leave-history-container{margin-top:30px}.leave-history-title{color:#333;font-size:20px;font-weight:700;margin-bottom:15px}.scrollable-table{border:1px solid #ddd;max-height:370px;overflow-y:auto;position:relative}.leave-history-table thead th{background-color:#f4f4f4;box-shadow:0 2px 2px -1px #0000001a;position:sticky;top:0;z-index:10}.leave-history-table{border-collapse:collapse;margin-top:10px;width:100%}.leave-history-table td,.leave-history-table th{border:1px solid #ddd;padding:10px;text-align:left}.leave-history-table th{background-color:#f4f4f4;font-size:16px}.leave-history-table td{color:#555;font-size:14px}.leave-history-table tr:nth-child(2n){background-color:#f9f9f9}.leave-history-table tr:nth-child(odd){background-color:#fff}.cancel-button{background-color:#e74c3c;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;margin-right:8px;padding:5px 10px}.cancel-button:hover{background-color:#c0392b}.view-button{background-color:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:5px 10px}.view-button:hover{background-color:#2980b9}.modal-overlay{align-items:center;background:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000004d;max-width:90%;padding:20px;width:400px}.modal h4{margin-bottom:15px;margin-top:0}.modal p{margin:8px 0}.close-button{background-color:#7f8c8d;border:none;border-radius:5px;color:#fff;cursor:pointer;margin-top:10px;padding:6px 12px}.close-button:hover{background-color:#626e70}@media (max-width:768px){.leave-history-title{font-size:18px;text-align:center}.leave-history-table td,.leave-history-table th{font-size:13px;padding:8px}.cancel-button,.view-button{font-size:13px;padding:4px 8px}.modal{padding:15px;width:90%}.modal h4{font-size:16px}.modal p{font-size:14px}.close-button{font-size:13px;padding:5px 10px}}@media (max-width:480px){.leave-history-title{font-size:16px}.leave-history-table{display:block;font-size:12px;overflow-x:auto}.leave-history-table td,.leave-history-table th{font-size:12px;padding:6px}.cancel-button,.close-button,.view-button{font-size:12px;padding:4px 8px}.modal{padding:12px}.modal h4{font-size:15px}.modal p{font-size:13px}}.home-header-enhanced{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 8px 32px #0000001a;margin-bottom:30px;padding:20px}.header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.welcome-message{color:#fff;font-size:24px;font-weight:600;margin:0;text-shadow:0 2px 4px #0003}.welcome-message span{color:#ffeb3b;font-weight:700;text-shadow:0 2px 4px #0000004d}.header-buttons{align-items:center;display:flex;gap:10px}.logout-button,.profile-btn{background-color:#fff3;border:2px solid #ffffff4d;border-radius:20px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px}.logout-button{background-color:#f44336cc}.home-navbar{border-radius:50px;display:flex;gap:8px;padding:8px}.home-navbar,.nav-btn{background-color:#ffffff1a;border:1px solid #fff3}.nav-btn{border-radius:25px;color:#fffc;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;min-width:100px;padding:12px 20px;text-align:center}.nav-btn.active{background-color:#fff;border-color:#fff;box-shadow:0 4px 16px #00000026;color:#667eea;font-weight:600}@media (max-width:768px){.header-top{align-items:flex-start;flex-direction:column;gap:10px}.welcome-message{font-size:20px}.header-buttons{flex-direction:column;gap:10px;width:100%}.logout-button,.profile-btn{text-align:center;width:100%}.home-navbar{flex-wrap:wrap;gap:6px;justify-content:center}.nav-btn{font-size:13px;min-width:auto;padding:10px 14px}}@media (max-width:480px){.home-header-enhanced{padding:16px}.welcome-message{font-size:18px;text-align:center}.home-navbar{align-items:center;flex-direction:column}.nav-btn{font-size:14px;padding:10px;width:100%}.logout-button{font-size:13px;margin:8px 0;padding:6px;width:100%}}.leave-policy-container{margin:0 auto;max-width:1200px;padding:20px}.leave-policy-container h3{color:#fff;font-size:24px;font-weight:600;margin-bottom:20px}.leave-types-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:20px}.leave-card{background:#fff;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.leave-card-header{background:#667eea;border-bottom:1px solid #e1e5e9;padding:16px}.leave-name-input{background:#0000;border:none;border-radius:4px;color:#fff;font-size:16px;font-weight:600}.leave-name-input:focus{border-color:#0000;outline:none}.leave-name-input::placeholder{color:#fff}.leave-card-body{padding:16px}.leave-field{margin-bottom:16px}.leave-field:last-of-type{margin-bottom:20px}.leave-field-row{display:flex;gap:12px;margin-bottom:16px}.leave-field-half{flex:1 1}.leave-label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:4px}.leave-input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;padding:8px 12px;width:100%}.leave-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.leave-input:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.leave-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;padding:8px 12px;width:100%}.leave-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.leave-actions{display:flex;gap:10px;margin-top:16px}.save-btn{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 16px}.save-btn:hover{background-color:#218838}.cancel-btn,.delete-btn{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 16px}.delete-btn:hover{background-color:#c82333}.add-leave-btn{align-items:center;background-color:#f8f9fa;border:2px dashed #ddd;border-radius:8px;display:flex;font-size:16px;justify-content:center;min-height:200px;padding:12px 24px;width:auto}.add-leave-card{border:2px solid #007bff;box-shadow:0 4px 8px #007bff26}@media (max-width:992px){.leave-policy-container{max-width:95%;padding:15px}.leave-types-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.leave-card-body{padding:12px}.leave-name-input{font-size:14px}.leave-label{font-size:13px}.leave-input,.leave-select{font-size:13px;padding:7px 10px}.cancel-btn,.delete-btn,.save-btn{font-size:13px;padding:8px 12px}}@media (max-width:576px){.leave-policy-container{max-width:100%;padding:10px}.leave-types-grid{gap:12px;grid-template-columns:1fr}.leave-card-header{padding:12px}.leave-name-input{font-size:13px}.leave-field-row{flex-direction:column;gap:10px}.leave-actions{flex-direction:column;gap:8px}.cancel-btn,.delete-btn,.save-btn{width:100%}.add-leave-btn{font-size:14px;min-height:150px;padding:10px 20px}}
/*# sourceMappingURL=main.703b38c0.css.map*/