@charset "UTF-8";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #fff3;border-radius:16px;box-shadow:0 10px 30px #0000001a;max-width:400px;overflow:hidden;padding:40px;position:relative;text-align:center;width:100%}.login-card:before{background:linear-gradient(90deg,#0047ab,#00a2ff);border-radius:50%;content:"";height:100px;left:-50px;opacity:.1;position:absolute;top:-50px;width:100px;z-index:0}.login-logo{margin-bottom:24px;transition:transform .3s ease;width:120px}.login-logo:hover{transform:scale(1.05)}.login-title{color:#1a1a1a;font-size:28px;font-weight:600;margin:0 0 8px}.login-subtitle{color:#666;font-size:14px;line-height:1.4;margin-bottom:32px}.login-form{text-align:left}.login-form-group{margin-bottom:24px;position:relative}.login-label{align-items:center;color:#333;display:flex;font-size:14px;font-weight:500;margin-bottom:8px;transition:color .3s ease}.login-input-icon{color:#0047ab;margin-right:8px}.login-input-wrapper{position:relative}.login-input{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:14px;padding:14px 16px;transition:all .3s ease;width:100%}.login-input:focus{background-color:#fff;border-color:#0047ab;box-shadow:0 0 0 3px #0047ab1a;outline:none}.login-password-container{align-items:center;display:flex;position:relative}.login-password-toggle{align-items:center;background:none;border:none;color:#777;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;padding:0;position:absolute;right:12px;transition:color .2s ease;width:24px}.login-password-toggle:hover{color:#0047ab}.login-forgot-password{align-items:center;background:none;border:none;color:#0047ab;cursor:pointer;display:flex;font-size:13px;margin-bottom:32px;padding:0;text-align:left;transition:color .3s ease}.login-forgot-icon{font-size:12px;margin-right:6px}.login-forgot-password:hover{color:#003380;text-decoration:underline}.login-button{background:linear-gradient(90deg,#0047ab,#004fbd);border:none;border-radius:8px;box-shadow:0 4px 10px #0047ab33;color:#fff;cursor:pointer;display:block;font-size:16px;font-weight:600;margin:20px auto 0;overflow:hidden;padding:14px;position:relative;transition:all .3s ease;width:90%}.login-button:before{background:linear-gradient(90deg,#fff0 0,#ffffff4d 50%,#fff0);content:"";height:100%;left:-100%;position:absolute;top:0;transition:all .6s;width:100%}.login-button:hover:before{left:100%}.login-button:hover{background:linear-gradient(90deg,#003380,#0047ab);box-shadow:0 6px 15px #0047ab4d}.login-button-loader{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;margin:0 auto;width:20px}.login-error-message{background-color:#dc35451a;border-left:3px solid #dc3545;border-radius:8px;color:#dc3545;font-size:14px;margin-bottom:20px;padding:12px;text-align:center}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:480px){.login-card{border-radius:12px;padding:30px 20px}.login-logo{width:100px}.login-title{font-size:24px}.login-input{padding:12px 14px}.login-button{font-size:15px;padding:12px}}.reset-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.reset-modal{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;max-width:400px;padding:30px;position:relative;width:90%}.reset-modal-title{color:#1a1a1a;font-size:24px;font-weight:600;margin:0 0 10px;text-align:center}.reset-modal-subtitle{color:#666;font-size:14px;margin-bottom:24px;text-align:center}.reset-modal-buttons{display:flex;gap:15px;justify-content:center;margin-top:24px}.reset-cancel-button{background-color:#f1f1f1;border:none;border-radius:8px;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:14px 20px;transition:all .3s ease;width:auto}.reset-cancel-button:hover{background-color:#e0e0e0}.reset-cancel-button:disabled{cursor:not-allowed;opacity:.7}.reset-success-message{background-color:#28a7451a;border-left:3px solid #28a745;border-radius:8px;color:#28a745;font-size:14px;margin:24px 0;padding:16px;text-align:center}.reset-modal .login-button{margin:0;padding:14px 20px;width:auto}.navbar{background-color:#00205b;box-shadow:0 2px 10px #0003;color:#fff;height:60px;justify-content:space-between;padding:.3rem 2rem;position:relative;z-index:1000}.navbar,.navbar-left{align-items:center;display:flex}.navbar-left{gap:1rem}.navbar-logo{cursor:pointer;height:45px;margin-top:2px;object-fit:contain;transition:transform .3s ease;width:auto}.navbar-logo:hover{transform:scale(1.05)}.welcome-text{color:#fff;cursor:pointer;font-size:1rem;padding-bottom:2px;position:relative;transition:color .3s ease}.welcome-text:after{background-color:#fff;bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.welcome-text:hover{color:#f0f0f0}.welcome-text:hover:after{width:100%}.nav-button,.navbar-right{display:flex;gap:.5rem}.nav-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;overflow:hidden;padding:.5rem 1rem;position:relative;transition:all .2s ease}.nav-icon{font-size:1.2rem;transition:transform .3s ease}.nav-button:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.nav-button:hover{background-color:#ffffff1a;transform:translateY(-2px)}.nav-button:hover:before{left:100%}.nav-button:hover .nav-icon{transform:scale(1.2)}.nav-active{background-color:#ffffff26;font-weight:500}.nav-active:after{background-color:#fff;border-radius:3px 3px 0 0;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:30px}.logout-button{border-left:1px solid #fff3;color:#f99;margin-left:.5rem;padding-left:1rem}.logout-button:hover{background-color:#ff00001a;color:#fff}.menu-icon{cursor:pointer;display:none;padding:.5rem;z-index:1001}.menu-icon div{background-color:#fff;border-radius:3px;height:3px;margin:5px 0;transition:.4s;width:25px}.menu-icon.active div:first-child{transform:rotate(-45deg) translate(-5px,6px)}.menu-icon.active div:nth-child(2){opacity:0}.menu-icon.active div:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}@media screen and (max-width:768px){.navbar{padding:.3rem 1rem}.navbar-logo{height:35px}.welcome-text{font-size:.9rem}.menu-icon{display:block}.navbar-right{align-items:center;background-color:#00205b;box-shadow:0 5px 10px #0003;display:none;flex-direction:column;gap:0;opacity:0;padding:0;position:absolute;right:0;top:60px;transform:translateY(-10px);transition:transform .3s ease,opacity .3s ease;width:100%}.navbar-right.active{display:flex;opacity:1;transform:translateY(0)}.nav-button{border-bottom:1px solid #ffffff1a;border-radius:0;justify-content:center;padding:1rem;text-align:center;width:100%}.nav-active:after{display:none}.nav-active{background-color:#fff3}.logout-button{background-color:#ff00001a;border-left:none;margin-left:0;padding-left:1rem}}@media screen and (max-width:480px){.navbar-logo{height:30px}.welcome-text{font-size:.8rem}}.dashboard{background-color:#f5f7fa;display:flex;flex-direction:column;min-height:100vh}.dashboard-content{flex-grow:1;padding:2rem;position:relative;text-align:center}.dashboard-title{color:#002b5c;display:inline-block;font-size:2.2rem;margin-bottom:2rem;position:relative}.dashboard-title:after{background-color:#002b5c;border-radius:2px;bottom:-8px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.button-container{flex-wrap:wrap;gap:2rem;margin-top:2rem;padding:0 1rem}.action-button,.button-container{display:flex;justify-content:center}.action-button{align-items:center;background-color:#002b5c;border:none;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;cursor:pointer;flex-direction:column;font-size:1rem;gap:.8rem;min-width:220px;overflow:hidden;padding:1.2rem 1.5rem;position:relative;transition:all .3s ease}.action-button:before{background:linear-gradient(90deg,#fff0,#ffffff1a 50%,#fff0);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .7s ease;width:100%}.action-button:hover{background-color:#003b7d;box-shadow:0 7px 14px #00000026;transform:translateY(-5px)}.action-button:hover:before{left:100%}.action-button:active{box-shadow:0 5px 10px #0000001a;transform:translateY(-2px)}.button-icon{font-size:1.8rem;margin-bottom:.2rem}.action-button span{font-weight:500;text-align:center}.admin-button{background-color:#004280}.admin-button:hover{background-color:#005aad}.credit-text{bottom:1rem;color:#94a3b8;font-size:.5rem;font-weight:400;left:1rem;opacity:.8;position:absolute}@media (max-width:768px){.button-container{align-items:center;flex-direction:column}.action-button{flex-direction:row;justify-content:flex-start;max-width:300px;padding:1rem 1.2rem;text-align:left;width:100%}.button-icon{font-size:1.5rem;margin-bottom:0;margin-right:1rem}.dashboard-title{font-size:1.8rem}.dashboard-title:after{height:3px;width:60px}.credit-text{bottom:.5rem;font-size:.7rem;left:.5rem}}.help-button{background-color:#10b981;box-shadow:0 4px 12px #10b9811a;color:#fff;transition:background .3s,box-shadow .3s,transform .2s}.help-button:hover{background-color:#059669;box-shadow:0 8px 24px #10b9812e;transform:translateY(-4px) scale(1.03)}.help-modal-overlay{align-items:center;animation:help-fade-in .3s;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}@keyframes help-fade-in{0%{opacity:0}to{opacity:1}}.help-modal-content{align-items:center;animation:help-modal-pop .4s cubic-bezier(.36,1.64,.56,1) both;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00205b2e;display:flex;flex-direction:column;max-width:400px;padding:2.5rem 2rem 2rem;position:relative;width:90%}@keyframes help-modal-pop{0%{opacity:0;transform:scale(.85)}80%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.help-modal-close{background:none;border:none;color:#64748b;cursor:pointer;font-size:1.3rem;position:absolute;right:18px;top:18px;transition:color .2s;z-index:1}.help-modal-close:hover{color:#00205b}.help-modal-title{color:#00205b;font-size:1.5rem;font-weight:600;letter-spacing:.5px;margin-bottom:1.5rem;text-align:center}.help-modal-section{animation:help-section-fade .5s;background:#f8fafc;border-radius:10px;box-shadow:0 2px 8px #00205b0a;margin-bottom:1.2rem;padding:1.2rem 1rem 1rem;width:100%}@keyframes help-section-fade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.help-modal-section-header{align-items:center;color:#1a1a1a;display:flex;font-size:1.08rem;font-weight:500;gap:.5rem;margin-bottom:.7rem}.help-modal-icon{color:#0047ab;font-size:1.2rem}.help-modal-section-body{color:#333;font-size:1rem;line-height:1.5}.help-modal-section-body a{color:#0047ab;text-decoration:underline;word-break:break-all}@media (max-width:480px){.help-modal-content{max-width:98vw;padding:1.2rem .5rem}.help-modal-title{font-size:1.1rem}.help-modal-section{padding:.8rem .3rem .7rem}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empleados{display:flex;flex-direction:column;min-height:100vh}.empleados-content{flex-grow:1;overflow-x:auto;padding:2rem}.current-date{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#666;font-style:italic;padding:8px 16px}.empleados-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.new-employee-button{flex-shrink:0}.search-icon{color:#666;font-size:1rem}.new-employee-button{background-color:#3f51b5;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.empleados-table td,.empleados-table th{border-bottom:1px solid #ddd;padding:1rem;text-align:left}.empleados-table th{background-color:#00205b;color:#fff}.empleados-table tbody tr:hover{background-color:#f5f5f5}.reactivate-icon{color:#00ca00;font-size:1.4rem}.edit-icon{font-size:1.4rem!important}.delete-icon{color:#f44336;font-size:3rem!important;margin:0;position:relative;top:0}.action-buttons button{background:#0000;height:40px;margin:0;padding:5px;vertical-align:middle;width:40px}.action-buttons button,.email-button{align-items:center;border:none;cursor:pointer;display:inline-flex;justify-content:center}.email-button{border-radius:3px;color:#4caf50;margin-right:5px;padding:5px 12px}.email-icon{font-size:1.6rem!important}.action-buttons button:hover{transform:scale(1.2)}.delete-button,.edit-button{background:none;border:none;cursor:pointer;padding:.25rem}.inactive-name{color:#dc3545}.pagination{gap:1rem;margin-top:2rem}.pagination-button{background-color:#3f51b5;padding:.5rem 1rem;transition:all .3s ease}.pagination-button:hover:not(:disabled):not(.disabled){background-color:#303f9f}.pagination-button.disabled,.pagination-button:disabled{background-color:#ccc!important;cursor:not-allowed;opacity:.7;pointer-events:none}.page-info{color:#666;font-size:.9rem}.error-message,.loading-message{padding:1rem;text-align:center;width:100%}.error-message,.loading-message{margin-bottom:1rem}.loading-message{background-color:#cce5ff;border:1px solid #b8daff;border-radius:4px;color:#004085}.name-button{background:none;border:none;color:#002b5c;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;text-decoration:underline}.name-button:hover{color:#003b7d}@media (max-width:1024px){.empleados-content{padding:1rem}.search-input{width:250px}.empleados-table td,.empleados-table th{font-size:.9rem;padding:.75rem}}@media (max-width:768px){.empleados-header{align-items:stretch;flex-direction:column;gap:1rem}.new-employee-button,.search-container,.search-input{width:100%}.table-container{-webkit-overflow-scrolling:touch;margin:1rem -1rem;overflow-x:auto}.empleados-table{min-width:800px}.empleados-table td,.empleados-table th{font-size:.85rem;padding:.5rem}.pagination{gap:.5rem}.pagination-button{font-size:.9rem;padding:.4rem .8rem}.page-info{font-size:.8rem}}@media (max-width:480px){.empleados-content{padding:.5rem}.empleados-header{margin-bottom:1rem}.new-employee-button{font-size:.9rem;padding:.75rem}.circle{height:16px;width:16px}.action-buttons{gap:.25rem}.pagination-button{font-size:.9rem}}@media (max-width:768px){.delete-button:hover:after,.edit-button:hover:after{bottom:auto;font-size:11px;padding:3px 6px;top:100%}.delete-button:hover:before,.edit-button:hover:before{border-bottom-color:#000c;border-top-color:#0000;bottom:auto;top:80%}}.search-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.new-employee-button.disabled{background-color:#ccc;cursor:not-allowed;opacity:.7}.search-input-wrapper .search-icon{opacity:1}.search-input-wrapper:has(.search-input:disabled) .search-icon,.search-input:disabled+.search-icon{opacity:.5}.empleados-table{background-color:#fff;border-collapse:collapse;width:100%}@media (max-width:767px){.empleados-table thead{display:none}.empleados-table tbody tr{animation:fadeIn .5s forwards;background-color:#fff;border:none;border-radius:8px;box-shadow:0 4px 12px #00000014;display:block;margin-bottom:1rem;padding:.75rem;transition:transform .3s ease,box-shadow .3s ease}.empleados-table tbody tr:hover{background-color:#fff;box-shadow:0 8px 16px #0000001f;transform:translateY(-4px)}.empleados-table td{border:none;border-bottom:1px solid #f0f0f0;display:grid;grid-template-columns:40% 60%;overflow:visible;padding:.7rem .5rem;text-align:left;white-space:normal}.empleados-table td:last-of-type{border-bottom:none}.empleados-table td:before{color:#00205b;content:attr(data-label);font-weight:600;padding-right:.5rem}.empleados-table td:first-child{background-color:#00205b0d;border-bottom:1px solid #f0f0f0;border-radius:6px;display:block;margin-bottom:.5rem;padding:.75rem .5rem;text-align:center}.empleados-table .name-button{color:#00205b;font-size:1.1rem;font-weight:600;padding:.3rem 0;text-align:center;width:100%}.empleados-table td:last-child{align-items:center;display:flex;justify-content:center;padding-top:.8rem}.empleados .action-buttons{display:flex;gap:12px;justify-content:center}.empleados .table-container{margin:0;overflow-x:hidden}.empleados-table{min-width:0;min-width:auto;width:100%}}@media (max-width:480px){.empleados-table td{grid-template-columns:100%;padding:.5rem .75rem}.empleados-table td:before{color:#555;display:block;font-size:.8rem;margin-bottom:.25rem}.empleados-table td:first-child{padding:.75rem .5rem}}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;-webkit-clip-path:circle(0);clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.modal-overlay{background-color:#00000080;bottom:0;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content,.modal-overlay{align-items:center;display:flex}.modal-content{border-radius:8px;flex-direction:column;padding:2rem}.modal-content h2{margin-bottom:1.5rem}.modal-content form{align-items:center;display:flex;flex-direction:column;width:100%}.form-group input,.form-group select{background:#fff;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:16px;padding:.5rem;text-align:center}.form-group select{-webkit-appearance:none;appearance:none;height:40px}.modal-buttons{gap:1rem}.cancel-button,.save-button{border-radius:6px;box-sizing:border-box;font-size:1rem;justify-content:center;line-height:1.5;transition:background .2s}.react-datepicker__input-container input{background:#fff;box-sizing:border-box;height:40px;padding:.5rem}.react-datepicker__input-container input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.react-datepicker-popper{z-index:9999!important}.checkbox-group{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;max-width:400px;width:100%}.checkbox-input{margin-left:10px;width:auto!important}.error-message{animation:shake .6s cubic-bezier(.36,.07,.19,.97) both}@media (max-width:768px){.modal-content{padding:1.5rem;width:95%}.form-group{max-width:100%}.modal-buttons{flex-direction:row;width:100%}.cancel-button,.save-button{min-width:100px;padding:.5rem 1rem}}@media (max-width:480px){.modal-content{padding:1rem}.modal-content h2{font-size:1.5rem}.form-group,.modal-content h2{margin-bottom:1rem}.form-group input{padding:.4rem}.modal-buttons{margin-top:1rem}.cancel-button,.save-button{font-size:.9rem;min-width:90px;padding:.4rem .8rem}}.manager-warning{color:#c62828;font-size:.85rem;margin-top:8px;text-align:left;width:100%}.checkbox-input:disabled{cursor:not-allowed;opacity:.5}.employee-details-modal .modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.employee-details-modal .modal-content{background-color:#fff;border-radius:8px;max-width:500px;padding:2rem;position:relative;width:90%}.employee-details-modal .close-button{align-items:center;background:#f1f1f1;border:1px solid #ddd;border-radius:50%;box-shadow:0 1px 3px #0000001a;color:#000;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;height:32px;justify-content:center;line-height:1;padding:0 .7rem;position:absolute;right:1rem;top:1rem;width:32px}.employee-details-modal .close-button:hover{background-color:#e0e0e0;color:#333}.employee-details-modal .employee-details{padding:1rem;width:100%}.detail-row{border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:.75rem 0}.detail-row:last-child{border-bottom:none}.detail-label{color:#002b5c;font-weight:700}.detail-value{color:#333}.section-divider{background-color:#eee;height:1px;margin:1.5rem 0 1rem;width:100%}h3{color:#000;font-size:1.3rem;margin-bottom:1rem}.loading{color:#666;padding:1rem 0;text-align:center}.icon-button{align-items:center;background:#0000;border:none;cursor:pointer;display:inline-flex;height:40px;justify-content:center;margin:0;padding:5px;vertical-align:middle;width:40px}.icon-button:hover{transform:scale(1.2)}.edit-icon-row{border-bottom:none;justify-content:flex-end}.edit-icon{color:#ffae42;font-size:1.4rem}.overtime-edit-form{align-items:center}.form-group,.overtime-edit-form{display:flex;flex-direction:column;width:100%}.form-group{align-items:flex-start;margin-bottom:1.2rem;max-width:400px}.form-group label{font-weight:700;margin-bottom:.5rem;padding-left:.25rem;text-align:left;width:100%}.date-picker-input,.form-group input{border:1px solid #ccc;border-radius:4px;padding:.5rem;text-align:center;width:100%}.modal-buttons{flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}.cancel-button,.save-button{border:none;border-radius:4px;cursor:pointer;min-width:120px;padding:.5rem 1.5rem}.save-button{background-color:#4caf50}.save-button:hover{background-color:#3e8e41}.save-button:disabled{background-color:#ccc;cursor:not-allowed}.cancel-button{background-color:#f44336}.cancel-button:hover{background-color:#d32f2f}.cancel-button:disabled{background-color:#ccc;cursor:not-allowed}.react-datepicker-wrapper,.react-datepicker__input-container{width:100%}.react-datepicker__input-container input{border:1px solid #ccc;border-radius:4px;font-size:16px;padding:8px;text-align:center;width:100%}.error-message{background-color:#ffebee;border:1px solid #ef9a9a;color:#c62828;margin-bottom:16px;padding:12px;width:100%}.no-tiene-prorroga-button{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;min-width:120px;padding:.5rem 1.5rem}.no-tiene-prorroga-button:hover{background-color:#0b7dda}.no-tiene-prorroga-button:disabled{background-color:#ccc;cursor:not-allowed}.weekend-enabled .react-datepicker__day--weekend:not(.react-datepicker__day--selected){color:#000!important;opacity:1!important}.weekend-enabled .react-datepicker__day--weekend:hover{background-color:#f0f0f0!important}.weekend-enabled .react-datepicker__day--selected{background-color:#216ba5!important;color:#fff!important}@media (max-width:768px){.employee-details-modal .modal-content{padding:1.5rem;width:95%}.employee-details-modal .employee-details{padding:.5rem}.detail-row{padding:.5rem 0}.form-group{max-width:100%}.modal-buttons{flex-direction:row;width:100%}.cancel-button,.save-button{min-width:100px;padding:.5rem 1rem}}@media (max-width:480px){.employee-details-modal .modal-content{padding:1rem;width:95%}.detail-row{flex-direction:column;gap:.25rem}.detail-value{padding-left:.5rem}h3{font-size:1rem;margin-bottom:.75rem}.section-divider{margin:1rem 0 .75rem}.form-group{margin-bottom:1rem}.form-group input{padding:.4rem}.modal-buttons{gap:.5rem}.cancel-button,.no-tiene-button,.save-button{font-size:.9rem;min-width:90px;padding:.4rem .8rem}.modal-buttons{margin-top:1rem}.cancel-button,.save-button{font-size:.9rem;min-width:90px;padding:.4rem .8rem}}.modal-backdrop{align-items:center;animation:fadeIn .2s ease-in-out;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-content{animation:slideIn .3s ease-out;background-color:#fff;border-radius:12px;box-shadow:0 8px 30px #0000001f;max-height:90vh;max-width:500px;overflow-y:auto;padding:35px;position:relative;width:90%}.modal-content h2{color:#1a1a1a;font-size:1.75rem;font-weight:600;margin-bottom:25px;margin-top:0;position:relative;text-align:center}.modal-content h2:after{background:#0047ab;border-radius:2px;content:"";display:block;height:3px;margin:10px auto 0;width:60px}.form-group{margin-bottom:24px;transition:all .3s ease}.form-group label{color:#2c3e50;display:block;font-size:.95rem;font-weight:500;margin-bottom:10px;transition:color .3s ease}.form-group input,.form-group select{background-color:#f8fafc;border:2px solid #e1e8ed;border-radius:8px;font-size:14px;padding:12px 15px;transition:all .3s ease;width:100%}.form-group input:hover,.form-group select:hover{border-color:#0047ab50}.form-group input:focus,.form-group select:focus{background-color:#fff;border-color:#0047ab;box-shadow:0 0 0 3px #0047ab1a;outline:none}.password-input-container{align-items:center;display:flex;position:relative;width:100%}.password-input-container input{padding-right:85px;width:100%}.generate-password-button,.password-toggle-button{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;transition:all .2s ease;z-index:1}.password-toggle-button{right:8px}.generate-password-button:hover,.password-toggle-button:hover{background-color:#0047ab1a;color:#0047ab}@keyframes popIn{0%{transform:scale(.8)}50%{transform:scale(1.2)}to{transform:scale(1)}}.password-requirements{align-items:center;background-color:#f8fafc;border:1px solid #e1e8ed;border-radius:6px;box-sizing:border-box;display:flex;flex-direction:column;font-size:12px;justify-content:center;margin-top:10px;padding:10px;width:100%}.requirement{color:#64748b}.requirement,.requirement-met{align-items:center;display:flex;gap:6px;margin-bottom:6px}.requirement-met{color:#10b981}.validation-error{align-items:center;animation:shake .4s ease-in-out;color:#ef4444;display:flex;font-size:12px;gap:6px;margin-top:6px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.modal-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:35px}.cancel-button,.save-button{align-items:center;border-radius:8px;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s ease}.cancel-button{background-color:#f1f5f9;border:2px solid #e2e8f0;color:#475569}.cancel-button:hover{background-color:#e2e8f0;border-color:#cbd5e1}.save-button{background-color:#0047ab;border:none;box-shadow:0 2px 4px #0047ab1a;color:#fff}.save-button:hover{background-color:#003380;box-shadow:0 4px 6px #0047ab33;transform:translateY(-1px)}.save-button.disabled{background-color:#94a3b8;box-shadow:none;cursor:not-allowed;transform:none}.error-message{align-items:center;animation:slideIn .3s ease-out;background-color:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#ef4444;display:flex;gap:8px;margin-bottom:20px;padding:12px 16px}.send-credentials-button{align-items:center;background-color:#4285f4;border:none;border-radius:8px;box-shadow:0 2px 4px #4285f41a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;margin-top:15px;padding:12px;transition:all .2s ease;width:100%}.send-credentials-button:hover{background-color:#1a73e8;box-shadow:0 4px 6px #4285f433;transform:translateY(-1px)}.send-credentials-button .email-icon{font-size:18px;margin-right:8px}@media (max-width:480px){.modal-content{padding:25px;width:95%}.modal-buttons{flex-direction:column-reverse;gap:10px}.cancel-button,.save-button{justify-content:center;width:100%}.modal-content h2{font-size:1.5rem}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#64748b}.modal-title-icon{color:#0047ab;font-size:1.5rem;margin-right:10px;vertical-align:middle}.input-icon{color:#64748b;font-size:1.1rem;margin-right:8px;vertical-align:middle}.reset-email-text{margin-bottom:24px}.generate-password-button{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;right:40px;transition:all .2s ease;z-index:1}.generate-password-button:disabled{background-color:initial;color:#ccc;cursor:not-allowed}.copy-success{animation:popIn .3s ease-out;color:#10b981}.narrow-password-requirements{margin:10px auto 0;max-width:320px}.registrar-vacaciones{display:flex;flex-direction:column;min-height:100vh}.content{margin-top:0}.email-verification-container{margin-top:7rem;max-width:800px}.email-verification-container h2{color:#333;font-size:1.5rem;margin-bottom:3rem}.email-input-container{align-items:center;display:flex;margin:2rem auto;max-width:400px;position:relative}.email-input{flex:1 1;outline:none;text-align:center}.email-suffix{color:#666;pointer-events:none;position:absolute;right:10px}.email-example{color:#666;font-size:.9rem;font-style:italic;margin-bottom:3rem}.submit-button{min-width:300px}.submit-button:disabled:hover{background-color:#ccc}.error-message{margin:1rem auto;max-width:400px;text-align:center;white-space:pre-line}.vacation-selection-container{margin-top:-1.5rem;max-width:1200px;padding-top:0;text-align:center;width:100%}.employee-info{margin-bottom:2rem;text-align:center}.employee-info h2{color:#333;font-size:1.8rem;margin-bottom:.5rem}.overtime-info{color:#666;font-size:1.2rem;margin-top:0}.vacation-selection-container h1{color:#333;font-size:1.6rem;margin-bottom:1rem}.vacation-selection-content{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between;margin:2rem 0}.remaining-counter,.selection-counter{align-items:center;display:flex;flex-direction:column;margin-top:6rem;min-width:200px}.counter-label{color:#333;font-size:1.2rem;margin:.5rem 0}.counter-number{color:#002554;font-size:4rem;font-weight:700;margin:1rem 0}.calendar-container{flex:1 1;margin:0 auto;max-width:400px}.calendar-container h3{color:#333;font-size:1.4rem;margin-bottom:1.5rem}.react-datepicker{border:1px solid #ccc!important;border-radius:4px!important}.react-datepicker,.react-datepicker__month-container{width:100%!important}.react-datepicker__header{padding-top:.8rem}.react-datepicker__day{line-height:2.3rem!important;margin:.2rem!important;width:2.5rem!important}.react-datepicker__day-names{margin-bottom:0!important;padding:0 2.4rem!important}.react-datepicker__day--keyboard-selected,.react-datepicker__day--selected{background-color:#002554!important;color:#fff!important}.react-datepicker__day--weekend{color:#ccc!important}.submit-button{background-color:#002554;font-size:1.2rem;margin-top:2rem;transition:background-color .3s}.confirmation-container{margin-top:2rem;text-align:center}.confirmation-container h1{color:#333;font-size:1.8rem;margin-bottom:1rem}.confirmation-container ul{list-style-type:none;padding:0}.confirmation-container li{color:#666;font-size:1.2rem}.register-another-button{display:block;font-size:1rem;margin:30px auto;min-width:250px;padding:12px 20px;white-space:nowrap;width:auto}@media (max-width:1024px){.vacation-selection-content{align-items:center;flex-direction:column}.remaining-counter,.selection-counter{margin:1rem 0}.calendar-container{margin:2rem 0;order:-1}}@media (max-width:768px){.content{margin-top:5rem;padding:1rem}.email-verification-container h2{font-size:1.2rem}.email-input-container{max-width:100%}.vacation-selection-container h2{font-size:1.4rem}.counter-number{font-size:3rem}.counter-label{font-size:1rem}.employee-info h2{font-size:1.4rem}.overtime-info{font-size:1rem}}@media (max-width:480px){.register-another-button{font-size:.9rem;padding:12px;white-space:normal}}.remover-vacaciones{display:flex;flex-direction:column;min-height:100vh}.content{margin-top:3rem}.remover-vacaciones-container{max-width:1000px;text-align:center;width:100%}.remover-vacaciones-container h1{color:#333;font-size:1.8rem;margin-bottom:2rem}.calendar-wrapper{margin:2rem auto;max-width:400px}.selected-date-preview{color:#555;font-size:1.2rem;margin:1.5rem 0}.exceptions-helper{color:#666;font-size:1.1rem;margin-bottom:2rem}.email-search-container{margin:0 auto 2rem;max-width:600px;position:relative}.email-input-wrapper{display:flex;gap:.5rem}.email-search-input{border:1px solid #ccc;border-radius:4px;flex:1 1;font-size:1rem;padding:.75rem}.add-exception-button{background-color:#036;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.75rem 1.5rem}.add-exception-button:hover{background-color:#00254d}.suggestions-container{background:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;border-top:none;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;text-align:left;top:100%;z-index:10}.suggestion-item{border-bottom:1px solid #eee;cursor:pointer;padding:.75rem}.suggestion-item:hover{background-color:#f5f5f5}.error-message{margin-top:.5rem}.exceptions-list{margin:2rem auto;max-width:600px}.exceptions-list h2{color:#333;font-size:1.4rem;margin-bottom:1rem}.no-exceptions{color:#777;font-style:italic}.exceptions-list ul{list-style:none;padding:0}.exception-item{align-items:center;background-color:#f9f9f9;border:1px solid #eee;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.remove-exception-button{background:none;border:none;color:#d9534f;cursor:pointer;font-size:1.5rem;padding:0 .5rem}.buttons-container{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:2rem}.back-button,.submit-button{align-items:center;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;height:45px;justify-content:center;margin:0;padding:.75rem 2rem;width:160px}.back-button{background-color:#6c757d}.back-button:hover{background-color:#5a6268}.submit-button:hover{background-color:#001a3a}.submit-button:disabled{opacity:.7}.confirm-dialog-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirm-dialog{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:500px;padding:2rem;width:100%}.confirm-dialog h3{color:#333;margin-top:0}.confirm-dialog-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.cancel-button{background-color:#6c757d}.cancel-button,.confirm-button{border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1.5rem}.confirm-button{background-color:#d9534f}.confirmation-view{align-items:center;display:flex;justify-content:center;min-height:70vh}.confirmation-content{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:700px;padding:2rem;width:100%}.confirmation-message{color:#333;font-size:1.2rem;margin-bottom:2rem}.confirmation-details,.exceptions-summary{margin-bottom:2rem;text-align:left}.confirmation-details h3,.exceptions-summary h3{color:#333;font-size:1.3rem;margin-bottom:.5rem}.exceptions-summary ul{list-style-type:disc;padding-left:1.5rem}.exceptions-summary li{margin-bottom:.3rem}.react-datepicker{border:1px solid #ddd!important;border-radius:.5rem!important;font-family:inherit!important}.react-datepicker__header{background-color:#f8f9fa!important;border-bottom:1px solid #ccc!important;padding-top:.8rem!important}.react-datepicker__day-names{display:flex!important;justify-content:space-around!important;margin-bottom:.5rem!important;padding:0 .5rem!important}.react-datepicker__day-name{color:#666!important;font-weight:500!important;margin:.2rem!important;width:2.5rem!important}.react-datepicker__month{margin:0!important;padding:.5rem!important}.react-datepicker__day--selected{background-color:#036!important;border-radius:50%!important}.react-datepicker__day:hover{background-color:#e6f0ff!important;border-radius:50%!important}@media (max-width:768px){.content{margin-top:2rem;padding:1rem}.remover-vacaciones-container h1{font-size:1.4rem}.buttons-container,.email-input-wrapper{flex-direction:column}.buttons-container{gap:.5rem}.exception-item{font-size:.9rem}.confirmation-message{font-size:1rem}}.historial{display:flex;flex-direction:column;min-height:100vh}.content{align-items:flex-start;display:flex;flex:1 1;justify-content:center;margin-top:2rem;padding:2rem}.email-verification-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;margin-top:-1.5rem;max-width:600px;padding:2rem;text-align:center;width:100%}.email-verification-container h2{color:#036;margin-bottom:2rem}.email-input-container{margin-bottom:1rem}.email-input{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.email-example{color:#777;font-size:.85rem;margin-bottom:2rem;text-align:center}.submit-button{background-color:#036;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;min-width:200px;padding:.75rem 2rem}.submit-button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{background-color:#d9534f1a;color:#d9534f;margin-top:2rem}.historial-container{margin-top:-2rem;max-width:1000px;text-align:center;width:100%}.historial-container h1{color:#036;margin-bottom:1rem}.employee-details{color:#666;font-size:1.1rem;margin-bottom:2rem}.historial-year-selector-container{margin-bottom:1.5rem;position:relative;transition:all .3s ease}.historial-year-selector{background-color:#f0f4f8;border-radius:8px;box-shadow:0 2px 8px #0000000d;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:.75rem;transition:all .3s ease}.historial-year-button{background-color:#fff;border:2px solid #0000;border-radius:6px;color:#555;cursor:pointer;font-size:1rem;font-weight:500;overflow:hidden;padding:.5rem 1.25rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.historial-year-button:after{background:#0033664d;border-radius:100%;content:"";height:5px;left:50%;opacity:0;position:absolute;top:50%;transform:scale(1) translate(-50%,-50%);transform-origin:50% 50%;width:5px}.historial-year-button:hover{background-color:#e6eef5;box-shadow:0 4px 8px #0000000d;transform:translateY(-2px)}.historial-year-button:focus{box-shadow:0 0 0 3px #00336640;outline:none}.historial-year-button.active{background-color:#036;border-color:#036;box-shadow:0 4px 12px #0363;color:#fff;transform:translateY(-2px)}.historial-year-button:active:after{opacity:.6;transform:scale(80) translate(-50%,-50%);transition:transform .4s,opacity .25s ease-out}.historial-year-selector-container.single-year{opacity:.7}.historial-current-year{background-color:#f0f4f8;border-radius:8px;box-shadow:0 2px 8px #0000000d;color:#777;display:inline-block;font-weight:500;min-width:120px;padding:.75rem}.table-container{box-shadow:0 4px 12px #0000001a;margin-bottom:2rem;overflow-x:auto}.historial-table{background-color:#fff;border-collapse:collapse;width:100%}.historial-table td,.historial-table th{border-bottom:1px solid #eee;padding:1rem;text-align:left}.historial-table th{background-color:#f8f9fa;color:#495057;font-weight:600}.historial-table-row{animation:fadeIn .4s ease-in-out;transform-origin:center top}.historial-table tbody tr:hover{background-color:#f8f9fa}.no-records{animation:fadeIn .5s ease-out;background-color:#fff;border-radius:8px;color:#777;padding:2rem;text-align:center}.highlight{color:#036;font-weight:700;padding:0 2px;position:relative}.search-another-button{background-color:#036;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;min-width:250px;padding:.75rem 2rem;transition:all .3s ease}.search-another-button:hover{background-color:#004080;box-shadow:0 4px 12px #0363;transform:translateY(-2px)}.delete-button{align-items:center;background:#0000;border:none;cursor:pointer;display:inline-flex;justify-content:center;padding:5px;transition:transform .2s}.delete-button:hover{transform:scale(1.2)}.historial .delete-icon{color:#d9534f;font-size:1.6rem}@media (max-width:768px){.content{padding:1rem}.historial-container h1{font-size:1.5rem}.employee-details{font-size:.9rem}.historial-table td,.historial-table th{padding:.75rem}.search-another-button{width:100%}.historial-year-selector{flex-direction:column;padding:.5rem}.historial-year-button{margin:.25rem 0;width:100%}}.cp-container{background-color:#f5f7fa;display:flex;flex-direction:column;min-height:100vh}.cp-content{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);flex:1 1;justify-content:center;padding:2rem}.cp-card,.cp-content{align-items:center;display:flex}.cp-card{background-color:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;flex-direction:column;max-width:500px;overflow:hidden;padding:2.5rem;position:relative;width:100%}.cp-card:before{background:linear-gradient(90deg,#0047ab,#00a2ff);border-radius:50%;content:"";height:100px;left:-50px;opacity:.1;position:absolute;top:-50px;width:100px;z-index:0}.cp-header{margin-bottom:2rem;text-align:center;width:100%}.cp-icon-container{align-items:center;background:linear-gradient(90deg,#0047ab,#00a2ff);border-radius:50%;box-shadow:0 5px 15px #0047ab4d;display:flex;height:70px;justify-content:center;margin:0 auto 1.5rem;width:70px}.cp-shield-icon{color:#fff;font-size:2rem}.cp-header h1{color:#0047ab;font-size:1.8rem;font-weight:600;margin-bottom:.5rem}.cp-subtitle{color:#666;font-size:.95rem;margin-bottom:0}.cp-form-group{margin-bottom:1.5rem;width:100%}.cp-form-group label{align-items:center;color:#333;display:flex;font-weight:500;margin-bottom:.5rem;width:100%}.cp-input-icon{color:#0047ab;margin-right:.5rem}.cp-input-container{position:relative;width:100%}.cp-input{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.85rem 40px .85rem 1rem;transition:all .3s ease;width:100%}.cp-input:focus{background-color:#fff;border-color:#0047ab;box-shadow:0 0 0 3px #0047ab1a;outline:none}.cp-toggle-button{align-items:center;background:none;border:none;color:#777;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;margin:0;padding:0;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .2s ease;z-index:10}.cp-toggle-button:hover{color:#0047ab}.cp-toggle-button:focus{outline:none}.cp-button{background:linear-gradient(90deg,#0047ab,#004fbd);border:none;border-radius:8px;box-shadow:0 4px 10px #0047ab33;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:.9rem 1.5rem;position:relative;transition:all .3s ease;width:100%}.cp-button:before{background:linear-gradient(90deg,#fff0,#fff3 50%,#fff0);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .7s ease;width:100%}.cp-button:hover:before{left:100%}.cp-button.disabled{background:linear-gradient(90deg,#99a3b4,#adb8c9);box-shadow:none;cursor:not-allowed}.cp-button.disabled:before{display:none}.cp-success-message{background-color:#28a7451a;border-left:3px solid #28a745;color:#28a745}.cp-error-message,.cp-success-message{align-items:center;border-radius:8px;display:flex;justify-content:center;margin-bottom:1.5rem;padding:1rem;text-align:center;width:100%}.cp-error-message{background-color:#dc35451a;border-left:3px solid #dc3545;color:#dc3545}.cp-message-icon{font-size:1rem;margin-right:.5rem}.cp-requirements{background-color:#f9f9f9;border-radius:8px;font-size:.85rem;margin-top:1rem;padding:.8rem}.cp-requirement{align-items:center;color:#721c24;display:flex;margin-bottom:.5rem}.cp-requirement svg{color:#dc3545;margin-right:.5rem}.cp-requirement-met{align-items:center;color:#155724;display:flex;margin-bottom:.5rem}.cp-requirement-met svg{color:#28a745;margin-right:.5rem}.cp-mismatch{align-items:center;color:#721c24;display:flex;font-size:.85rem;margin-top:.5rem}.cp-mismatch svg{color:#dc3545;margin-right:.5rem}.cp-password-strength{margin-top:.8rem;width:100%}.cp-strength-label{color:#555;display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:.3rem}.cp-strength-bar-container{background-color:#e9ecef;border-radius:3px;height:6px;overflow:hidden}.cp-strength-bar{border-radius:3px;height:100%;transition:width .3s ease,background-color .3s ease}@media (max-width:768px){.cp-content{padding:1.5rem}.cp-card{padding:2rem}.cp-icon-container{height:60px;width:60px}.cp-shield-icon{font-size:1.7rem}}@media (max-width:480px){.cp-content{padding:1rem}.cp-card{border-radius:12px;padding:1.5rem}.cp-header h1{font-size:1.5rem}.cp-icon-container{height:50px;margin-bottom:1rem;width:50px}.cp-shield-icon{font-size:1.5rem}.cp-input{font-size:.95rem;padding:.75rem}.cp-button{padding:.8rem}}.admin-usuarios{display:flex;flex-direction:column;min-height:100vh}.admin-content{flex-grow:1;padding:20px}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.search-container{flex:1 1;min-width:250px}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:#888;left:10px;position:absolute}.search-input{border:1px solid #ccc;border-radius:4px;font-size:.9rem;padding:.5rem 2.5rem;width:350px}.search-input:focus{border-color:#0047ab;outline:none}.new-user-button{align-items:center;background-color:#0047ab;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 15px}.new-user-button:hover{background-color:#003380}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid #eee;padding:12px 15px;text-align:left}.users-table th{background-color:#f8f8f8;color:#333;font-weight:600}.users-table tr:last-child td{border-bottom:none}.action-buttons{display:flex;gap:8px}.delete-button,.reset-button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.reset-button{background-color:#0047ab;color:#1900ff}.delete-button{background-color:#dc3545;color:#fff}.delete-button:hover{background-color:#c82333}.delete-button.disabled{color:#888;cursor:not-allowed;opacity:.6}.delete-button.disabled,.delete-button.disabled:hover{background-color:#e9e9e9}.reset-icon{font-size:25px}.delete-icon{font-size:2px}.pagination{align-items:center;display:flex;gap:20px;justify-content:center;margin-top:20px}.pagination-button{background-color:#0047ab;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.pagination-button:hover{background-color:#003380}.pagination-button.disabled{background-color:#ccc;cursor:not-allowed}.page-info{font-size:14px}.error-message{margin-bottom:15px;padding:10px}.loading-message{color:#666;padding:20px;text-align:center}@media (max-width:768px){.admin-header{flex-direction:column;gap:10px}.search-container{width:100%}.table-container{overflow-x:auto}.users-table td,.users-table th{padding:10px}}.access-denied{background-color:#f8f9fa;display:flex;flex-direction:column;min-height:100vh}.access-denied-content{flex-grow:1;justify-content:center;padding:2rem}.access-denied-container,.access-denied-content{align-items:center;display:flex;flex-direction:column}.access-denied-container{animation:access-denied-fade-in .8s ease-out;background-color:#fff;border-radius:10px;box-shadow:0 5px 20px #0000001a;margin-bottom:3rem;max-width:900px;padding:3rem 2rem;transition:transform .3s ease}.access-denied-container:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}@keyframes access-denied-fade-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.access-denied-icon-container{display:flex;justify-content:center;margin-bottom:2rem}.access-denied-icon{animation:access-denied-pulse 2s infinite;color:#dc3545;font-size:5rem}@keyframes access-denied-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.access-denied-header{align-items:center;display:flex;flex-direction:column;margin-bottom:1.5rem;width:100%}.access-denied-logo{height:auto;margin-bottom:1.5rem;width:200px}.access-denied-header h1{color:#002b5c;font-size:2.5rem;font-weight:700;letter-spacing:1px;margin:0;text-transform:uppercase}.access-denied-message-container{align-items:center;display:flex;flex-direction:column;text-align:center;width:100%}.access-denied-message{max-width:600px;width:100%}.access-denied-message h2{color:#333;font-size:1.8rem;margin-bottom:1.2rem}.access-denied-details,.access-denied-help{color:#555;font-size:1.1rem;line-height:1.6;margin-bottom:1rem}.access-denied-help{color:#666;font-style:italic}.access-denied-return-button{align-items:center;background-color:#002b5c;border:none;border-radius:50px;box-shadow:0 4px 10px #002b5c4d;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;padding:1rem 1.8rem;transition:all .3s ease}.access-denied-return-button:hover{background-color:#00204b;box-shadow:0 6px 15px #002b5c66;transform:translateY(-3px)}.access-denied-return-button:active{transform:translateY(1px)}.access-denied-button-icon{font-size:1.2rem;margin-right:10px}@media (max-width:768px){.access-denied-container{padding:2rem 1.5rem}.access-denied-icon{font-size:4rem}.access-denied-logo{width:150px}.access-denied-header h1{font-size:2rem}.access-denied-message h2{font-size:1.5rem}.access-denied-details,.access-denied-help{font-size:1rem}}@media (max-width:480px){.access-denied-container{padding:1.5rem 1rem}.access-denied-icon{font-size:3.5rem}.access-denied-header h1{font-size:1.7rem}.access-denied-message h2{font-size:1.3rem}.access-denied-details,.access-denied-help{font-size:.9rem}.access-denied-return-button{font-size:1rem;padding:.8rem 1.5rem}}.request-vacations{display:flex;flex-direction:column;min-height:100vh}.request-vacations .content{align-items:flex-start;display:flex;flex:1 1;justify-content:center;margin-top:0;padding:2rem}.request-vacations .content:has(.confirmation-screen){align-items:center}.request-vacations .confirmation-centered{align-items:center!important}.request-vacations .request-type-container{margin-top:2rem;max-width:1000px;text-align:center;width:100%}.request-vacations .request-type-container h1{color:#333;font-size:2rem;margin-bottom:.5rem}.request-vacations .subtitle{color:#666;font-size:1.2rem;margin-bottom:3rem}.request-vacations .request-options{display:flex;gap:3rem;justify-content:center;margin-top:2rem}.request-vacations .request-option{align-items:center;display:flex;flex:1 1;flex-direction:column;max-width:400px}.request-vacations .request-button{align-items:center;background-color:#002554;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-direction:column;padding:2rem;transition:all .3s ease;width:100%}.request-vacations .request-button:hover{background-color:#001a3a;box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.request-vacations .request-icon{font-size:4rem;margin-bottom:1rem}.request-vacations .request-button span{font-size:1.5rem;font-weight:500}.request-vacations .request-description{color:#666;font-size:1rem;line-height:1.5;margin-top:1.5rem}.request-vacations .vacation-selection-container{margin-top:0;max-width:1200px;padding-top:0;text-align:center;width:100%}.request-vacations .vacation-selection-container h1{color:#333;font-size:1.6rem;margin-bottom:1rem}.request-vacations .overtime-info{color:#666;font-size:1.2rem;margin-top:0}.request-vacations .vacation-selection-content{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between;margin:2rem 0}.request-vacations .remaining-counter,.request-vacations .selection-counter{align-items:center;display:flex;flex-direction:column;margin-top:6rem;min-width:200px}.request-vacations .counter-label{color:#333;font-size:1.2rem;margin:.5rem 0}.request-vacations .counter-number{color:#002554;font-size:4rem;font-weight:700;margin:1rem 0}.request-vacations .calendar-container{flex:1 1;margin:0 auto;max-width:400px;width:100%}.request-vacations .calendar-container h3{color:#333;font-size:1.4rem;margin-bottom:1.5rem}.request-vacations .react-datepicker{border:1px solid #ccc!important;border-radius:8px!important;box-shadow:0 4px 10px #0000001a!important;font-family:inherit!important;width:100%!important}.request-vacations .react-datepicker__month-container{float:none!important;width:100%!important}.request-vacations .react-datepicker__header{background-color:#f8f9fa!important;border-bottom:1px solid #eee!important;padding-top:.8rem!important;text-align:center!important}.request-vacations .react-datepicker__month{margin:.5rem!important;padding:0!important}.request-vacations .react-datepicker__day-names,.request-vacations .react-datepicker__week{display:flex!important;justify-content:space-around!important;width:100%!important}.request-vacations .react-datepicker__day,.request-vacations .react-datepicker__day-name{align-items:center!important;display:inline-flex!important;flex:1 1!important;height:2.3rem!important;justify-content:center!important;line-height:1!important;margin:.2rem!important;max-width:2.3rem!important}.request-vacations .react-datepicker__navigation{top:.8rem!important}@media (max-width:768px){.request-vacations .vacation-selection-content{align-items:center;flex-direction:column;gap:2rem}.request-vacations .calendar-container{margin-top:1rem;order:1;width:100%}.request-vacations .selection-counter{margin-top:0;order:2}.request-vacations .remaining-counter{margin-top:0;order:3}.request-vacations .remaining-counter,.request-vacations .selection-counter{min-width:0;min-width:auto;width:100%}.request-vacations .react-datepicker__day,.request-vacations .react-datepicker__day-name{align-items:center!important;display:inline-flex!important;font-size:.9rem!important;height:2rem!important;justify-content:center!important;margin:.1rem!important;width:2rem!important}.request-vacations .vacation-selection-container h1{font-size:1.3rem;margin-bottom:.5rem}.request-vacations .calendar-container h3{font-size:1.1rem;margin-bottom:1rem}}@media (max-width:480px){.request-vacations .react-datepicker{font-size:.8rem!important}.request-vacations .react-datepicker__day,.request-vacations .react-datepicker__day-name{font-size:.8rem!important;height:1.8rem!important;margin:.1rem!important;width:1.8rem!important}.request-vacations .react-datepicker__current-month{font-size:1rem!important}.request-vacations .counter-number{font-size:3rem}.request-vacations .counter-label{font-size:1rem}.request-vacations .vacation-selection-container h1{font-size:1.1rem}.request-vacations .overtime-info{font-size:1rem}}.request-vacations .react-datepicker__day--in-range,.request-vacations .react-datepicker__day--in-selecting-range,.request-vacations .react-datepicker__day--keyboard-selected,.request-vacations .react-datepicker__day--selected{background-color:#002554!important;border-radius:50%!important;color:#fff!important;font-weight:700!important}.request-vacations .react-datepicker__day--highlighted{background-color:#002554cc!important;border-radius:50%!important;color:#fff!important}.request-vacations .react-datepicker__day:hover{background-color:#00255433!important;border-radius:50%!important}.request-vacations .button-container{display:flex;gap:2rem;justify-content:center;margin-top:2rem}.request-vacations .submit-button{align-items:center;background-color:#002554;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;min-width:200px;padding:1rem 2rem;transition:all .3s ease}.request-vacations .submit-button:hover{background-color:#001a3a;box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.request-vacations .submit-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.7}.request-vacations .back-button{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.2rem;min-width:200px;padding:1rem 2rem;transition:all .3s ease}.request-vacations .back-button:hover{background-color:#5a6268;box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}@media (max-width:768px){.request-vacations .request-options{align-items:center;flex-direction:column}.request-vacations .request-option{width:100%}.request-vacations .request-button{max-width:350px}.request-vacations .subtitle{margin-bottom:1.5rem}.request-vacations .vacation-selection-content{align-items:center;flex-direction:column}.request-vacations .remaining-counter,.request-vacations .selection-counter{margin-top:2rem}.request-vacations .button-container{align-items:center;flex-direction:column}.request-vacations .back-button,.request-vacations .submit-button{max-width:300px;width:100%}}@media (max-width:480px){.request-vacations .request-type-container h1{font-size:1.6rem}.request-vacations .subtitle{font-size:1rem}.request-vacations .request-button span{font-size:1.3rem}.request-vacations .request-icon{font-size:3rem}}.request-vacations .button-icon{font-size:1.5rem;margin-left:10px}@keyframes request-jump{0%{transform:translateY(0)}30%{transform:translateY(-10px)}50%{transform:translateY(0)}70%{transform:translateY(-5px)}to{transform:translateY(0)}}.request-vacations .jump-animation{animation:request-jump .6s ease}.request-vacations .counter-negative{color:#dc3545!important}.request-vacations .loading-container{align-items:center;color:#666;display:flex;font-size:1.2rem;height:200px;justify-content:center;width:100%}.request-vacations .preconfirmation-container{animation:fade-in .5s ease;margin:0 auto;max-width:800px;padding:2rem 1rem;text-align:center;width:100%}.request-vacations .preconfirmation-container h1{color:#333;font-size:1.8rem;margin-bottom:2rem}.request-vacations .request-summary{background-color:#f8f9fa;border-radius:10px;box-shadow:0 4px 10px #0000001a;margin-bottom:2rem;padding:2rem;transition:all .3s ease}.request-vacations .request-summary:hover{box-shadow:0 6px 15px #00000026;transform:translateY(-3px)}.request-vacations .request-type-info{color:#333;font-size:1.2rem;margin-bottom:1.5rem}.request-vacations .dates-list{list-style:none;margin-bottom:2rem;padding:0}.request-vacations .date-item{align-items:center;background-color:#fff;border-radius:6px;box-shadow:0 2px 5px #0000000d;display:flex;justify-content:space-between;margin-bottom:.8rem;padding:1rem;transition:transform .2s ease}.request-vacations .date-item:hover{transform:translateX(5px)}.request-vacations .date-text{color:#333;font-size:1.1rem}.request-vacations .half-day-badge{background-color:#002554;border-radius:4px;color:#fff;font-size:.9rem;font-weight:500;padding:.3rem .7rem}.request-vacations .vacation-summary{border-top:1px solid #dee2e6;margin-top:2rem;padding-top:1.5rem;text-align:left}.request-vacations .vacation-summary p{color:#333;font-size:1.1rem;margin-bottom:.5rem}.request-vacations .highlight-number{color:#002554;font-size:1.2rem;font-weight:700}.request-vacations .negative-number{color:#dc3545}.request-vacations .confirmation-buttons{margin-top:2.5rem}.request-vacations .modify-button{align-items:center;background-color:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;gap:.5rem;justify-content:center;padding:.9rem 1.5rem;transition:all .3s ease}.request-vacations .modify-button:hover{background-color:#5a6268;box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.request-vacations .modify-button .button-icon{font-size:1.2rem}.request-vacations .confirm-button{align-items:center;background-color:#002554;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;gap:.5rem;justify-content:center;padding:.9rem 1.5rem;transition:all .3s ease}.request-vacations .confirm-button:hover:not(.disabled){background-color:#001a3a;box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.request-vacations .confirm-button.disabled{background-color:#ccc;cursor:not-allowed;opacity:.8}.request-vacations .confirm-button .button-icon{font-size:1.2rem}@media (max-width:768px){.request-vacations .preconfirmation-container h1{font-size:1.5rem}.request-vacations .confirmation-buttons{flex-direction:column;gap:1rem}.request-vacations .confirm-button,.request-vacations .modify-button{width:100%}}@media (max-width:480px){.request-vacations .preconfirmation-container{padding:1rem .5rem}.request-vacations .request-summary{padding:1.5rem 1rem}.request-vacations .date-item{align-items:flex-start;flex-direction:column;gap:.5rem}.request-vacations .half-day-badge{align-self:flex-start}.request-vacations .request-type-info{font-size:1.1rem}}.request-vacations .confirmation-screen{animation:fade-in .7s ease;display:flex;justify-content:center;margin:0 auto;max-width:900px;text-align:center;width:100%}.request-vacations .confirmation-content{align-items:center;display:flex;flex-direction:column;padding:2rem;width:100%}.request-vacations .confirmation-logo{animation:float 6s ease-in-out infinite;margin-bottom:2.5rem;width:200px}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.request-vacations .confirmation-message{margin-bottom:3rem}.request-vacations .confirmation-message h1{align-items:center;color:#333;display:flex;font-size:1.8rem;gap:1rem;justify-content:center;margin-bottom:1.5rem}.request-vacations .confirmation-icon{animation:pulse 2s infinite;color:#28a745;font-size:2rem}.request-vacations .confirmation-instructions{color:#555;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:800px}.request-vacations .confirmation-buttons{display:flex;gap:1.5rem;justify-content:center;margin-top:2rem}.request-vacations .email-button{align-items:center;background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;gap:.5rem;justify-content:center;padding:.9rem 1.5rem;transition:all .3s ease}.request-vacations .email-button:hover{background-color:#218838;box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.request-vacations .dashboard-button{align-items:center;background-color:#002554;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;gap:.5rem;justify-content:center;padding:.9rem 1.5rem;transition:all .3s ease}.request-vacations .dashboard-button:hover{background-color:#001a3a;box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.request-vacations .error-message{background-color:#f8d7da;border-radius:4px;color:#721c24;margin:1rem 0;padding:1rem;text-align:center}@media (max-width:768px){.request-vacations .confirmation-message h1{flex-direction:column;font-size:1.5rem;gap:.5rem}.request-vacations .confirmation-icon{font-size:1.8rem}.request-vacations .confirmation-instructions{font-size:1rem;padding:0 1rem}.request-vacations .confirmation-buttons{flex-direction:column;gap:1rem;max-width:300px;width:100%}.request-vacations .dashboard-button,.request-vacations .email-button{width:100%}}@media (max-width:480px){.request-vacations .confirmation-logo{width:150px}.request-vacations .confirmation-message h1{font-size:1.3rem}.request-vacations .confirmation-instructions{font-size:.9rem}}.request-vacations .maximum-limit-container{animation:fade-in .7s ease;margin:0 auto;max-width:800px;padding:2rem;width:100%}.request-vacations .maximum-limit-content{background-color:#fff;border-radius:10px;box-shadow:0 5px 20px #0000001a;padding:2.5rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.request-vacations .maximum-limit-content:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.request-vacations .limit-icon-container{display:flex;justify-content:center;margin-bottom:1.5rem}.request-vacations .limit-icon{animation:pulse-warning 2s infinite;color:#ffc107;font-size:4rem}@keyframes pulse-warning{0%{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.request-vacations .maximum-limit-container h1{color:#333;font-size:1.8rem;margin-bottom:1.5rem}.request-vacations .limit-message{margin-bottom:2rem;text-align:left}.request-vacations .limit-message p{color:#555;font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem}.request-vacations .limit-options{list-style:none;margin:0;padding:0}.request-vacations .limit-options li{align-items:flex-start;background-color:#f8f9fa;border-radius:8px;display:flex;margin-bottom:1.2rem;padding:1rem;transition:transform .2s ease}.request-vacations .limit-options li:hover{background-color:#f0f0f0;transform:translateX(8px)}.request-vacations .list-icon{color:#002554;flex-shrink:0;font-size:1.2rem;margin-right:10px;margin-top:2px}.request-vacations .limit-options li:first-child .list-icon{color:#dc3545}.request-vacations .limit-options li:nth-child(2) .list-icon{color:#28a745}.request-vacations .maximum-limit-container .dashboard-button{background-color:#002554;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.1rem;margin-top:1rem;padding:.9rem 1.5rem;transition:all .3s ease}.request-vacations .maximum-limit-container .dashboard-button:hover{background-color:#001a3a;box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}@media (max-width:768px){.request-vacations .maximum-limit-content{padding:2rem 1.5rem}.request-vacations .maximum-limit-container h1{font-size:1.5rem}.request-vacations .limit-icon{font-size:3.5rem}.request-vacations .limit-message p{font-size:1rem}}@media (max-width:480px){.request-vacations .maximum-limit-content{padding:1.5rem 1rem}.request-vacations .maximum-limit-container h1{font-size:1.3rem}.request-vacations .limit-icon{font-size:3rem}.request-vacations .limit-message p{font-size:.9rem}.request-vacations .list-icon{font-size:1rem}.request-vacations .maximum-limit-container .dashboard-button{font-size:1rem;padding:.7rem 1.2rem}}.notification-modal-overlay{align-items:center;animation:fade-in .3s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.notification-modal-container{animation:slide-up .4s ease;background-color:#fff;border-radius:8px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:800px;overflow:hidden;width:90%}.notification-modal-header{align-items:center;border-bottom:1px solid #eaeaea;display:flex;justify-content:space-between;padding:1.2rem 1.5rem}.notification-modal-header h2{color:#333;font-size:1.5rem;margin:0}.notification-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.2rem;transition:color .2s}.notification-modal-close:hover{color:#333}.notification-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.notification-modal-error,.notification-modal-loading{align-items:center;color:#666;display:flex;font-size:1.1rem;height:200px;justify-content:center}.notification-modal-error{color:#dc3545}.notification-modal-instructions{background-color:#f8f9fa;border-left:4px solid #002554;border-radius:4px;margin-bottom:1.5rem;padding:.8rem}.notification-modal-instructions p{color:#333;margin:0}.notification-modal-sections{display:flex;gap:1.5rem}.notification-modal-section{flex:1 1;min-width:0}.notification-modal-section h3{border-bottom:1px solid #eaeaea;color:#002554;font-size:1.1rem;margin-bottom:1rem;padding-bottom:.5rem}.notification-modal-contacts{list-style:none;margin:0;padding:0}.notification-modal-contact{align-items:center;background-color:#f8f9fa;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:.8rem;padding:1rem;transition:all .2s ease}.notification-modal-contact:hover{background-color:#e9ecef;transform:translateY(-2px)}.notification-modal-contact.selected{background-color:#edf5ff;border-left:4px solid #002554}.notification-modal-contact-info{display:flex;flex-direction:column;overflow:hidden}.notification-modal-contact-name{color:#333;font-weight:500;margin-bottom:.3rem}.notification-modal-contact-email{color:#666;font-size:.9rem;overflow:hidden;text-overflow:ellipsis}.notification-modal-check{animation:pop-in .3s ease;color:#002554;font-size:1.2rem}.notification-modal-no-contacts{color:#666;font-style:italic;padding:2rem;text-align:center}.notification-modal-footer{border-top:1px solid #eaeaea;display:flex;gap:1rem;justify-content:flex-end;padding:1.2rem 1.5rem}.notification-modal-cancel{background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:1rem;padding:.7rem 1.2rem;transition:all .2s ease}.notification-modal-cancel:hover{background-color:#e9ecef}.notification-modal-send{align-items:center;background-color:#002554;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;padding:.7rem 1.2rem;transition:all .3s ease}.notification-modal-send:not(:disabled):hover{background-color:#001a3a;box-shadow:0 4px 8px #0000001a;transform:translateY(-3px)}.notification-modal-send:disabled{background-color:#ccc;cursor:not-allowed;opacity:.7}.notification-modal-send-icon{font-size:1rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.notification-modal-sections{flex-direction:column}.notification-modal-contact{padding:.8rem}.notification-modal-header h2{font-size:1.3rem}}@media (max-width:480px){.notification-modal-container{max-height:90vh;width:95%}.notification-modal-footer{flex-direction:column}.notification-modal-cancel,.notification-modal-send{width:100%}}.request-viewer{--primary-color:#00205b;--accent-color:#3f51b5;--success-color:#4caf50;--warning-color:#ff9800;--danger-color:#f44336;--background-color:#f8f9fa;--card-shadow:0 10px 30px #00000014;--transition-standard:0.3s cubic-bezier(0.4,0,0.2,1);--animation-duration:0.6s;background-color:var(--background-color);display:flex;flex-direction:column;min-height:100vh}.request-viewer .request-viewer-content{flex-grow:1;overflow-x:auto;padding:2rem}.request-viewer .request-viewer-header{align-items:center;animation:slideDownFade var(--animation-duration) ease-out;background:#fff;border-radius:8px;box-shadow:var(--card-shadow);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1.2rem}.request-viewer .view-title{color:#00205b;font-size:1.6rem;margin:0;padding:0}.request-viewer .search-container{flex:1 1;min-width:250px}.request-viewer .search-input-wrapper{align-items:center;display:flex;max-width:350px;position:relative;width:100%}.request-viewer .search-icon{color:#666;font-size:1rem;left:12px;position:absolute;transition:color var(--transition-standard);z-index:2}.request-viewer .search-input{background-color:#f0f2f5;border:2px solid #0000;border-radius:8px;box-shadow:0 2px 5px #0000000f;font-size:.95rem;padding:.8rem 1rem .8rem 2.5rem;transition:all var(--transition-standard);width:100%}.request-viewer .search-input:focus{background-color:#fff;border-color:var(--accent-color);box-shadow:0 0 0 4px #3f51b526;outline:none}.request-viewer .search-input-wrapper:hover .search-icon,.request-viewer .search-input:focus+.search-icon{color:var(--accent-color)}.request-viewer .table-container{animation:fadeIn .8s ease-out forwards;animation-delay:.2s;background:#fff;border-radius:12px;box-shadow:var(--card-shadow);margin-bottom:2rem;opacity:0;overflow-x:auto}.request-viewer .requests-table th{background-color:var(--primary-color);border-bottom:none;color:#fff;font-weight:600;padding:1.2rem 1rem;position:relative;text-align:left}.request-viewer .requests-table th:first-child{border-top-left-radius:12px}.request-viewer .requests-table th:last-child{border-top-right-radius:12px}.request-viewer .requests-table tr{transition:all var(--transition-standard)}.request-viewer .requests-table tbody tr{border-bottom:1px solid #eee}.request-viewer .requests-table tbody tr:last-child{border-bottom:none}.request-viewer .requests-table tbody tr:hover{background-color:#3f51b50d;box-shadow:0 4px 8px #0000000d;transform:translateY(-2px);z-index:1}.request-viewer .requests-table tbody tr{animation:slideUpFadeIn .5s forwards;opacity:0;transform:translateY(10px)}.request-viewer .requests-table tbody tr:first-child{animation-delay:.1s}.request-viewer .requests-table tbody tr:nth-child(2){animation-delay:.15s}.request-viewer .requests-table tbody tr:nth-child(3){animation-delay:.2s}.request-viewer .requests-table tbody tr:nth-child(4){animation-delay:.25s}.request-viewer .requests-table tbody tr:nth-child(5){animation-delay:.3s}.request-viewer .requests-table tbody tr:nth-child(6){animation-delay:.35s}.request-viewer .requests-table tbody tr:nth-child(7){animation-delay:.4s}.request-viewer .requests-table tbody tr:nth-child(8){animation-delay:.45s}.request-viewer .requests-table tbody tr:nth-child(9){animation-delay:.5s}.request-viewer .requests-table tbody tr:nth-child(10){animation-delay:.55s}.request-viewer .status-accepted,.request-viewer .status-pending{align-items:center;border-radius:20px;box-shadow:0 2px 5px #00000014;display:inline-flex;font-size:.85rem;font-weight:600;height:32px;justify-content:center;margin:0 auto;min-width:100px;overflow:hidden;padding:.4rem .8rem;position:relative}.request-viewer .status-accepted{background-color:var(--success-color);color:#fff}.request-viewer .status-pending{background-color:var(--warning-color);color:#fff}.request-viewer .status-accepted:after,.request-viewer .status-pending:after{animation:shine 3s infinite;background:#ffffff26;content:"";height:200%;left:-50%;position:absolute;top:-50%;transform:rotate(45deg);width:200%}.request-viewer .action-buttons{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:repeat(2,40px);justify-content:center;padding:8px}.request-viewer .view-icon{color:var(--accent-color);font-size:1.4rem}.request-viewer .accept-icon{color:var(--success-color);font-size:1.4rem}.request-viewer .decline-icon{color:var(--danger-color);font-size:1.4rem}.request-viewer .delete-icon{color:var(--danger-color);font-size:1.3rem}.request-viewer .view-button:hover{background-color:#3f51b51a;box-shadow:0 5px 15px #3f51b533;transform:translateY(-3px)}.request-viewer .accept-button:hover{background-color:#4caf501a;box-shadow:0 5px 15px #4caf5033;transform:translateY(-3px)}.request-viewer .decline-button:hover{background-color:#f443361a;box-shadow:0 5px 15px #f4433633;transform:translateY(-3px)}.request-viewer .delete-button:hover{background-color:#dc35451a;box-shadow:0 5px 15px #dc354533;transform:translateY(-3px)}.request-viewer .pagination{align-items:center;animation:fadeIn .8s ease-out forwards;animation-delay:.6s;display:flex;gap:1rem;justify-content:center;margin-top:2rem;opacity:0}.request-viewer .pagination-button{background-color:#fff;border:2px solid var(--accent-color);border-radius:8px;box-shadow:0 2px 5px #00000014;color:var(--accent-color);cursor:pointer;font-weight:600;padding:.6rem 1.2rem;transition:all var(--transition-standard)}.request-viewer .pagination-button:hover:not(:disabled):not(.disabled){background-color:var(--accent-color);box-shadow:0 5px 15px #3f51b533;color:#fff;transform:translateY(-2px)}.request-viewer .pagination-button.disabled,.request-viewer .pagination-button:disabled{background-color:#f0f2f5!important;border-color:#ddd;color:#999;cursor:not-allowed;opacity:.7;pointer-events:none}.request-viewer .page-info{background:#fff;border-radius:8px;box-shadow:0 2px 5px #00000014;color:#555;font-size:.95rem;padding:.5rem 1rem}.request-viewer .loading-message{animation:pulse 1.5s infinite;border-left:4px solid #3f51b5;color:#004085}.request-viewer .error-message,.request-viewer .loading-message{background-color:#fff;border-radius:8px;box-shadow:var(--card-shadow);padding:1.2rem;text-align:center;width:100%}.request-viewer .error-message{animation:shakeX .8s;border-left:4px solid #dc3545;color:#721c24}.request-viewer .no-results{background:#3f51b50d;border-radius:8px;color:#666;font-size:1.1rem;padding:3rem;text-align:center}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}@keyframes shine{0%{left:-100%;top:-100%}20%{left:100%;top:100%}to{left:100%;top:100%}}@keyframes shakeX{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.request-viewer .action-buttons button,.request-viewer .pagination-button,.request-viewer .requests-table tbody tr,.request-viewer .status-accepted,.request-viewer .status-pending{will-change:transform}@media (prefers-reduced-motion:reduce){.request-viewer .pagination,.request-viewer .request-viewer-header,.request-viewer .requests-table tbody tr,.request-viewer .table-container{animation:none!important;opacity:1!important;transform:none!important}.request-viewer .loading-message,.request-viewer .status-accepted:after,.request-viewer .status-pending:after{animation:none!important}*{transition-duration:.1s!important}}@media (max-width:1024px){.request-viewer .request-viewer-content{padding:1rem}.request-viewer .search-input-wrapper{max-width:280px}.request-viewer .search-input{font-size:.9rem;padding:.7rem 1rem .7rem 2.3rem}.request-viewer .search-icon{font-size:.9rem}}@media (max-width:768px){.request-viewer .request-viewer-header{align-items:flex-start;flex-direction:column}.request-viewer .search-container{width:100%}.request-viewer .search-input-wrapper{max-width:100%}.request-viewer .view-title{margin-top:1rem}.request-viewer .pagination{flex-wrap:wrap}.request-viewer .pagination-button{font-size:.8rem;padding:.4rem .8rem}.request-viewer .page-info{margin-bottom:.5rem;text-align:center;width:100%}.request-viewer .table-container{overflow-x:auto}.request-viewer .requests-table{min-width:800px;table-layout:auto}.request-viewer .requests-table th:nth-child(n){width:auto}}@media (max-width:480px){.request-viewer .request-viewer-content{padding:.5rem}.request-viewer .action-buttons{flex-direction:column}.request-viewer .search-input{font-size:.85rem;padding:.7rem .8rem .7rem 2.2rem}.request-viewer .search-icon{left:10px}}.request-viewer .action-buttons button:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.request-viewer .action-buttons button:disabled:hover{transform:none!important}.request-viewer .delete-icon{color:#dc3545;font-size:1.3rem!important}.request-viewer .delete-button:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.request-viewer .requests-table td,.request-viewer .requests-table th{padding:1rem;text-align:center}.request-viewer .requests-table td:first-child,.request-viewer .requests-table th:first-child{text-align:left}.request-viewer .requests-table td{border-bottom:1px solid #eee;height:70px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.request-viewer .requests-table th:first-child{width:20%}.request-viewer .requests-table th:nth-child(2),.request-viewer .requests-table th:nth-child(3){width:10%}.request-viewer .requests-table th:nth-child(4),.request-viewer .requests-table th:nth-child(5),.request-viewer .requests-table th:nth-child(6),.request-viewer .requests-table th:nth-child(7){width:12%}.request-viewer .requests-table th:nth-child(8){width:110px}.request-viewer td .status-container{align-items:center;display:flex;height:100%;justify-content:center}.request-viewer .requests-table{background-color:#fff;border-collapse:collapse;table-layout:fixed;width:100%}@media (max-width:767px){.request-viewer .requests-table thead{display:none}.request-viewer .requests-table tbody tr{animation:fadeIn .5s forwards;border:none;border-radius:8px;box-shadow:var(--card-shadow);display:block;margin-bottom:1rem;padding:.5rem}.request-viewer .requests-table td{border:none;border-bottom:1px solid #f0f0f0;display:grid;grid-template-columns:40% 60%;height:auto;overflow:visible;padding:.7rem .5rem;text-align:left;white-space:normal}.request-viewer .requests-table td:last-of-type{border-bottom:none}.request-viewer .requests-table td:before{color:var(--primary-color);content:attr(data-label);font-weight:600;padding-right:.5rem}.request-viewer td .status-container{justify-content:flex-start;padding-left:0}.request-viewer .action-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;padding:.5rem 0}.request-viewer .table-container{overflow-x:hidden}.request-viewer .requests-table{min-width:0;min-width:auto;width:100%}}@media (max-width:480px){.request-viewer .requests-table td{grid-template-columns:100%;padding:.4rem .5rem}.request-viewer .requests-table td:before{color:#555;display:block;font-size:.8rem;margin-bottom:.2rem}.request-viewer .action-buttons{margin-top:.5rem}}@media (max-width:767px){.request-viewer .action-buttons{gap:12px;justify-content:flex-start;padding:.5rem 0}}@media (max-width:480px){.request-viewer .action-buttons{gap:10px}.request-viewer .action-buttons button{height:38px;min-width:38px;width:38px}.request-viewer .accept-icon,.request-viewer .decline-icon,.request-viewer .delete-icon,.request-viewer .view-icon{font-size:1.2rem}}.request-viewer .requests-table td:last-child{padding:.5rem 1rem}.specific-days-modal-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.specific-days-modal-content{animation:slideUp .3s ease;background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.specific-days-modal-header{align-items:center;background-color:#00205b;border-bottom:1px solid #eee;color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.specific-days-modal-header h2{align-items:center;display:flex;font-size:1.5rem;gap:.5rem;margin:0}.calendar-icon{color:#fff}.close-button{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:.5rem;transition:transform .2s ease}.close-button:hover{transform:scale(1.2)}.specific-days-modal-body{flex-grow:1;overflow-y:auto;padding:1.5rem}.employee-info{border-bottom:1px solid #eee;margin-bottom:1.5rem;padding-bottom:1rem}.employee-info h3{color:#00205b;font-size:1.2rem;margin:0 0 .5rem}.request-type{color:#666;font-style:italic;margin:0}.days-list{list-style:none;margin:0;padding:0}.day-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:1rem;padding:1rem;transition:background-color .2s ease}.day-item:hover{background-color:#f9f9f9}.day-item:last-child{border-bottom:none}.day-indicator{background-color:#3f51b5;border-radius:50%;flex-shrink:0;height:10px;width:10px}.loading-spinner{color:#666;padding:2rem;text-align:center}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#dc3545;margin:1rem 0;padding:1rem}.no-days{color:#666;padding:2rem;text-align:center}.specific-days-modal-footer{border-top:1px solid #eee;display:flex;justify-content:flex-end;padding:1rem 1.5rem}.close-btn{background-color:#3f51b5;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.6rem 1.5rem;transition:background-color .3s ease}.close-btn:hover{background-color:#303f9f}@media (max-width:576px){.specific-days-modal-content{max-height:80vh;width:95%}.specific-days-modal-header{padding:1rem}.specific-days-modal-header h2{font-size:1.2rem}.specific-days-modal-body,.specific-days-modal-footer{padding:1rem}.day-item{padding:.75rem}}@keyframes requestActionModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes requestActionModalSlideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.request-action-modal-overlay{align-items:center;animation:requestActionModalFadeIn .3s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.request-action-modal-overlay .request-action-modal-content{animation:requestActionModalSlideUp .3s ease;background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:550px;overflow:hidden;width:100%}.request-action-modal-overlay .request-action-modal-content.accept-mode{border-top:5px solid #4caf50}.request-action-modal-overlay .request-action-modal-content.decline-mode{border-top:5px solid #f44336}.request-action-modal-overlay .request-action-modal-header{align-items:center;color:#fff;display:flex;justify-content:center;padding:1.5rem;position:relative;text-align:center}.request-action-modal-overlay .accept-header{background-color:#4caf50}.request-action-modal-overlay .decline-header{background-color:#f44336}.request-action-modal-overlay .request-action-modal-header h2{align-items:center;display:flex;font-size:1.5rem;gap:.5rem;justify-content:center;margin:0;text-align:center}.request-action-modal-overlay .modal-icon{font-size:1.2rem}.request-action-modal-overlay .request-action-close-button{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:.5rem;position:absolute;right:1rem;transition:transform .2s ease}.request-action-modal-overlay .request-action-close-button:hover{transform:scale(1.2)}.request-action-modal-overlay .request-action-modal-body{align-items:center;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:2rem}.request-action-modal-overlay .error-message{align-items:center;background-color:#fff8f8;border:1px solid #f5c6cb;border-radius:4px;color:#dc3545;display:flex;gap:.5rem;margin-bottom:1rem;padding:.75rem;width:100%}.request-action-modal-overlay .error-icon{font-size:1.2rem}.request-action-modal-overlay .confirmation-content,.request-action-modal-overlay .decline-confirmation-content,.request-action-modal-overlay .success-content{align-items:center;display:flex;flex-direction:column;text-align:center;width:100%}.request-action-modal-overlay .confirmation-message{font-size:1.2rem;font-weight:500;margin-bottom:1rem;text-align:center;width:100%}.request-action-modal-overlay .employee-name{color:#00205b;font-size:1.3rem;font-weight:600;margin:.5rem 0;text-align:center;width:100%}.request-action-modal-overlay .request-details{color:#666;margin-bottom:1.5rem;text-align:center;width:100%}.request-action-modal-overlay .action-buttons{display:flex;gap:1.5rem;justify-content:center;margin-top:1.5rem;max-width:300px;width:100%}.request-action-modal-overlay .request-action-cancel-button,.request-action-modal-overlay .request-action-close-button-text,.request-action-modal-overlay .request-action-confirm-button,.request-action-modal-overlay .request-action-email-button{border:none;border-radius:4px;box-shadow:0 2px 4px #0003;cursor:pointer;font-size:1rem;font-weight:400;min-width:120px;padding:.8rem 2rem;text-transform:uppercase;transition:all .2s ease}.request-action-modal-overlay .request-action-confirm-button{background-color:#4caf50!important;color:#fff}.request-action-modal-overlay .request-action-confirm-button:hover{background-color:#388e3c}.request-action-modal-overlay .request-action-cancel-button{background-color:#f44336!important;color:#fff}.request-action-modal-overlay .request-action-cancel-button:hover{background-color:#d32f2f}.request-action-modal-overlay .request-action-email-button{align-items:center;background-color:#3f51b5!important;color:#fff;display:flex;gap:.5rem;justify-content:center}.request-action-modal-overlay .request-action-email-button:hover{background-color:#303f9f}.request-action-modal-overlay .email-icon{font-size:1.1rem}.request-action-modal-overlay .request-action-close-button-text{background-color:#f5f5f5;color:#333}.request-action-modal-overlay .request-action-close-button-text:hover{background-color:#e0e0e0}.request-action-modal-overlay .success-content{padding:1rem 0}.request-action-modal-overlay .success-icon-container{align-items:center;background-color:#4caf50;border-radius:50%;display:flex;height:60px;justify-content:center;margin-bottom:1rem;width:60px}.request-action-modal-overlay .success-icon{color:#fff;font-size:2rem}.request-action-modal-overlay .success-title{color:#4caf50;font-size:1.3rem;margin:.5rem 0 1rem;text-align:center}.request-action-modal-overlay .decline-message,.request-action-modal-overlay .success-message{color:#555;line-height:1.5;margin-bottom:1.5rem;text-align:center}.request-action-modal-overlay .request-action-cancel-button:disabled,.request-action-modal-overlay .request-action-close-button-text:disabled,.request-action-modal-overlay .request-action-confirm-button:disabled,.request-action-modal-overlay .request-action-email-button:disabled{cursor:not-allowed;opacity:.7}@media (max-width:576px){.request-action-modal-overlay .request-action-modal-content{max-height:85vh;width:95%}.request-action-modal-overlay .request-action-modal-header{padding:1rem}.request-action-modal-overlay .request-action-modal-header h2{font-size:1.2rem}.request-action-modal-overlay .request-action-modal-body{padding:1.5rem}.request-action-modal-overlay .confirmation-message{font-size:1.1rem}.request-action-modal-overlay .action-buttons{flex-direction:column;gap:.75rem;max-width:100%}.request-action-modal-overlay .request-action-cancel-button,.request-action-modal-overlay .request-action-close-button-text,.request-action-modal-overlay .request-action-confirm-button,.request-action-modal-overlay .request-action-email-button{padding:.7rem 1rem;width:100%}}.employee-info-page{background-color:#f5f7fa;display:flex;flex-direction:column;min-height:100vh}.employee-info-page .employee-info-content{flex-grow:1;margin:0 auto;max-width:1000px;padding:2rem;width:100%}.employee-info-page .employee-info-header{margin-bottom:2rem;text-align:center}.employee-info-page .employee-info-header h1{color:#002b5c;display:inline-block;font-size:1.8rem;font-weight:600;padding-bottom:10px;position:relative}.employee-info-page .employee-info-header h1:after{background-color:#002b5c;border-radius:2px;bottom:0;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.employee-info-page .employee-info-card{grid-gap:1.5rem;background-color:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));overflow:hidden;padding:2rem}.employee-info-page .info-item{align-items:flex-start;background-color:#f9f9f9;border-radius:12px;display:flex;padding:1rem;transition:all .3s ease}.employee-info-page .info-item:hover{background-color:#f5f7fa;box-shadow:0 5px 15px #00000014;transform:translateY(-5px)}.employee-info-page .info-icon{color:#002b5c;flex-shrink:0;font-size:1.8rem;margin-right:1rem;margin-top:.25rem}.employee-info-page .info-content{flex-grow:1}.employee-info-page .info-content h3{color:#002b5c;font-size:1rem;font-weight:600;margin:0 0 .5rem}.employee-info-page .info-content p{color:#4a4a4a;font-size:1rem;line-height:1.5;margin:0}.employee-info-page .highlight{color:#002b5c;font-weight:600}.employee-info-page .loading-container{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:60vh}.employee-info-page .loading-spinner{animation:employee-info-spin 1s linear infinite;border:4px solid #002b5c1a;border-radius:50%;border-top-color:#002b5c;height:40px;margin-bottom:1rem;width:40px}@keyframes employee-info-spin{to{transform:rotate(1turn)}}.employee-info-page .error-container{background-color:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;margin:3rem auto;max-width:500px;padding:2rem;text-align:center}.employee-info-page .error-icon{align-items:center;background-color:#dc3545;border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:50px;justify-content:center;margin:0 auto 1rem;width:50px}@media (max-width:768px){.employee-info-page .employee-info-card{grid-template-columns:1fr}.employee-info-page .employee-info-header h1{font-size:1.5rem}.employee-info-page .info-item{padding:.75rem}.employee-info-page .info-icon{font-size:1.5rem}.employee-info-page .info-content h3{font-size:.95rem}.employee-info-page .info-content p{font-size:.9rem}}@media (max-width:480px){.employee-info-page .employee-info-content{padding:1rem}.employee-info-page .employee-info-card{padding:1.5rem}.employee-info-page .employee-info-header h1{font-size:1.3rem}.employee-info-page .employee-info-header h1:after{width:60px}}.employee-info-help-btn-container{display:flex;justify-content:center;margin-top:2.5rem}.employee-info-help-btn{background:linear-gradient(90deg,#f59e42,#f43f5e);border:none;border-radius:999px;box-shadow:0 4px 16px #f43f5e1a;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;letter-spacing:.5px;outline:none;padding:1rem 2.2rem;position:relative;transition:background .3s,box-shadow .3s,transform .18s;z-index:1}.employee-info-help-btn:hover{background:linear-gradient(90deg,#f43f5e,#f59e42);box-shadow:0 8px 32px #f43f5e2e;transform:translateY(-3px) scale(1.04)}.employee-info-help-btn:active{transform:scale(.98)}@media (max-width:480px){.employee-info-help-btn{font-size:1rem;padding:.8rem 1.2rem}.employee-info-help-btn-container{margin-top:1.2rem}}
/*# sourceMappingURL=main.2738a59f.css.map*/