:root{--color-primary:#4b0055;--color-primary-hover:#37003e;--color-secondary:#9dc238;--color-secondary-hover:#8ca12e;--color-success:#28a745;--color-danger:#dc3545;--color-warning:#ffc107;--color-light:#f5f5f5;--color-dark:#333;--color-muted:#555;--color-white:#fff;--color-border:#e0e0e0;--color-highlight:#faebc3;--color-navbar:#a4cb00;--font-family-main:"Roboto",sans-serif;--transition-speed:0.3s}body{font-family:var(--font-family-main),sans-serif;background-color:var(--color-white);color:var(--color-dark)}.container-fluid{padding-top:.3rem}.container-message{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh}.mb-4{margin:1.5rem 0}.welcome-message{text-align:center;padding:30px;background-color:var(--color-light);border-radius:10px;max-width:600px;margin:20px auto;box-shadow:0 4px 8px rgba(0,0,0,.1)}.welcome-message h1{font-size:2em;margin-bottom:.5em;color:var(--color-dark)}.welcome-message p{font-size:1.1em;color:var(--color-muted);line-height:1.6;margin:10px 0}.help-container{max-width:800px;margin:20px auto;padding:20px}.help-introduction{font-size:1.1rem;line-height:1.6;margin-bottom:20px;text-align:center}.help-list{list-style:none;padding:0;margin:0}.help-item{border-bottom:1px solid #ddd;padding:15px;cursor:pointer;font-size:1rem;font-weight:700;display:flex;justify-content:space-between;align-items:center;transition:background-color .3s ease-in-out}.help-item:hover{background-color:#f8f9fa}.help-answer{display:none;padding:10px 15px;font-size:.9rem;color:#333;line-height:1.5;background-color:#f1f1f1;border-left:3px solid var(--color-primary);margin-top:5px}.help-item+.help-answer{display:block}.help-toggle{font-size:1.2rem;font-weight:700;color:var(--color-primary);transition:transform .3s ease}.help-item.active .help-toggle{color:var(--color-danger)}.alert .btn,.btn-danger,.btn-primary,.btn-secondary,.btn-success,.btn-warning,.contact-admin,.custom-button{border:none;border-radius:8px;color:var(--color-white);padding:.3rem .75rem;margin:.2rem;cursor:pointer;font-size:1rem;transition:background-color var(--transition-speed) ease}.contact-admin{background-color:var(--color-primary)}.alert .btn:hover,.btn-secondary:hover,.contact-admin:hover,.custom-button:hover{background-color:var(--color-primary-hover)}.btn-primary{background-color:var(--color-secondary)}.btn-primary:hover{background-color:var(--color-secondary-hover)}.btn-secondary,.custom-button{background-color:var(--color-primary)}.is-submit-button{background-color:var(--color-primary)!important;font-size:1rem;padding:5px 30px;border-radius:5px;transition:background-color var(--transition-speed)}.is-submit-button:hover{background-color:var(--color-primary-hover)!important}.btn-danger{background-color:var(--color-danger)!important}.btn-danger:hover{opacity:.9}.btn-success{background-color:var(--color-secondary)!important;border-color:var(--color-secondary)!important;color:var(--color-white)}.btn-success:hover{background-color:var(--color-secondary-hover)!important;border-color:var(--color-secondary-hover)!important}.menu{background-color:var(--color-navbar);font-family:var(--font-family-main),sans-serif;font-size:1rem;padding:0 .5rem}.menu,.menu a{color:var(--color-white)}.menu a{text-decoration:none}.menu a:hover{color:var(--color-light)}.custom-dropdown{background-color:var(--color-secondary)!important}.custom-item{color:var(--color-white)!important;font-weight:500;padding:10px 15px}.custom-item:hover{background-color:var(--color-secondary-hover)!important;transform:scale(1.05);transition:all var(--transition-speed) ease-in-out;border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,.2)}.alert{background-color:var(--color-white);color:var(--color-dark);border:1px solid var(--color-border);margin:20px 0;border-radius:10px;padding:15px;box-shadow:0 4px 8px rgba(0,0,0,.1);width:100%}.alert-heading{font-weight:700;color:var(--color-primary)}.alert-success{background-color:rgba(99,166,104,.6);color:var(--color-white)}.alert-danger{background-color:rgba(220,53,69,.5);color:var(--color-white)}.alert-warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeeba}.alert a{color:var(--color-secondary);text-decoration:underline;font-weight:700}.alert a:hover{color:var(--color-primary-hover)}.fixed-alert{position:fixed;top:60px;left:10px;right:10px;transform:none;z-index:1050;width:auto;max-width:600px;box-shadow:0 4px 8px rgba(0,0,0,.2)}.modal-overlay{width:100%;height:100%;z-index:999}.modal-container{background-color:var(--color-white);border-radius:10px;width:400px;box-shadow:0 4px 8px rgba(0,0,0,.3);text-align:center}.modal-title{color:var(--color-primary);font-size:1.5rem;margin-bottom:15px}.modal-actions .btn-danger{background-color:var(--color-danger)}.modal-actions .btn-primary{background-color:var(--color-secondary)}.calendar-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}.calendar-column{flex:0 0 calc(25% - 10px);overflow:hidden;margin-bottom:10px;border-radius:8px}@media (max-width:992px){.calendar-column{flex:0 0 calc(33.33% - 10px)}}@media (max-width:768px){.calendar-column{flex:0 0 calc(50% - 10px)}}@media (max-width:576px){.calendar-column{flex:0 0 100%}}.calendar-month-title{background-color:var(--color-primary);color:var(--color-white);padding:6px 0;font-size:.9rem;text-align:center;border-top-left-radius:17rem;border-top-right-radius:17rem}.calendar-table{width:100%;text-align:center;font-size:12px}.calendar-table,.calendar-table th{border:2px solid var(--color-white)}.calendar-table th{background-color:#f0f0f0;font-size:10px;padding:5px;border-radius:8px}.calendar-table td{cursor:pointer;padding:8px;border:2px solid var(--color-white);border-radius:.5rem;transition:transform var(--transition-speed),background-color var(--transition-speed)}.calendar-table td.inactive{color:var(--color-white)!important;background-color:var(--color-white)!important;cursor:default;pointer-events:none}.calendar-table td.holiday{background-color:var(--color-highlight)}.calendar-table td.holiday:hover,.calendar-table td.weekend:hover{cursor:not-allowed}.calendar-table td.weekend{color:red;background-color:#f3efef}.calendar-table td.selected{background-color:var(--color-secondary);color:var(--color-white);font-weight:700;opacity:.8}.calendar-table td:hover{background-color:#eaeaea;transform:scale(1.1);color:var(--color-dark)}.calendar-table td.pending-absence{background-color:var(--color-warning);opacity:.5}.calendar-table td.approved-absence{background-color:var(--color-secondary);opacity:1}.disabled-date{background-color:#e0e0e0!important;color:#888!important;opacity:.6}.year-navigation{display:flex;justify-content:center;align-items:center;gap:10px}.year-navigation h4{font-weight:700;margin:0 10px}.year-navigation .btn-link{color:var(--color-primary);font-size:1.5rem}.year-navigation .btn-link:hover{color:var(--color-secondary)}.year-title{margin:0;font-size:24px;font-weight:700;text-align:center}.vacation-calendar{max-width:100%;padding:20px}.main-content{display:flex;gap:20px;align-items:flex-start}.left-section{margin-top:5.4%;flex:1;max-width:300px}.right-section{flex:3;width:100%}.tab-container{display:flex;margin-bottom:15px}.tab{flex:1;padding:10px;text-align:center;font-size:14px;font-weight:700;cursor:pointer;border:1px solid #ccc;border-radius:5px;margin-right:5px;transition:background-color var(--transition-speed)}.reasons-tab,.statistics-tab{background-color:var(--color-primary);color:var(--color-white);padding:2px 0;border-top-left-radius:50px;border-top-right-radius:50px}.tab.active{background-color:var(--color-secondary);color:var(--color-white);border:none}.tab.active.reasons-tab,.tab.active.statistics-tab{font-weight:700}.reasons-list .reason-item{cursor:pointer;transition:background-color var(--transition-speed),box-shadow var(--transition-speed)}.reasons-list .reason-item:hover{background-color:#eaeaea;box-shadow:0 4px 8px rgba(0,0,0,.1)}.reasons-list .reason-item.selected{background-color:rgba(157,194,56,.7);color:var(--color-white);font-weight:700;border-radius:5px}.help-icon{cursor:pointer;font-size:2.5rem;color:var(--color-primary);position:absolute;top:8%;right:1.5rem}.help-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;padding:10px}.help-content{background:#fff;padding:0;border-radius:8px;max-width:40vw;width:80%;min-width:300px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 8px rgba(0,0,0,.2);text-align:left;line-height:1.5;word-wrap:break-word;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid #ddd}.modal-body{padding:15px}.modal-footer{padding:15px;border-top:1px solid #ddd}.modal-footer,.pagination-controls{display:flex;justify-content:flex-end}.pagination-controls{gap:10px;margin-bottom:12px}.pagination-btn{background-color:#4a1054;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:background-color .2s ease,transform .1s ease}.pagination-btn:hover{background-color:#5f1570;color:#fff}.pagination-btn:active{transform:translateY(1px)}.pagination-btn i{font-size:1rem}tr[data-v-67b42674]:hover{background-color:#789}.bg-purple[data-v-d68e971e]{background-color:#540054}.card[data-v-d68e971e]{margin-bottom:15px}.user-details .col-md-4[data-v-d68e971e],.user-details .col-md-8[data-v-d68e971e]{margin-top:6vh}.pagination-controls[data-v-1eddfc28]{display:flex;align-items:center;justify-content:center}.color-box[data-v-dfe35834]{display:inline-block;width:15px;height:15px;border-radius:3px;margin-right:5px}.custom-color-picker[data-v-dfe35834]{width:100%;height:20px;border-radius:12px;padding:0;cursor:pointer;border:1px solid #33b1db}.modal-overlay[data-v-dfe35834]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}.modal-container[data-v-dfe35834]{background:#fff;padding:20px;border-radius:8px;width:300px}.disabled-date[data-v-500a277c]{color:grey;font-weight:700;background-color:#f0f0f0!important;cursor:not-allowed}.list-group-item[data-v-91b83592]{cursor:pointer}.list-group-item input[type=checkbox][data-v-91b83592]{margin-right:10px}.user-link[data-v-91b83592]{cursor:pointer;text-decoration:none;color:#000}.user-link[data-v-91b83592]:hover{text-decoration:underline}.clickable-row[data-v-91b83592]{cursor:pointer}.clickable-row[data-v-91b83592]:hover{background-color:#f5f5f5}.login-container[data-v-575e831d]{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#fff;flex-direction:column;padding:1rem 0}.login-box[data-v-575e831d]{display:flex;align-items:center;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.3);border-top:15px solid #4a1054;border-bottom:15px solid #4a1054;width:600px;position:relative}.login-header[data-v-575e831d]{display:flex;align-items:center;gap:1rem;flex:1}.logo[data-v-575e831d]{width:90%;height:50%}.login-form[data-v-575e831d]{flex:1;display:flex;flex-direction:column;align-items:flex-end}.login-form .field[data-v-575e831d]{margin-bottom:.3rem;width:100%}.input[data-v-575e831d]{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;background-color:#e8f0fe;box-shadow:0 3px 4px rgba(0,0,0,.3);font-size:1rem}.button.is-submit-button[data-v-575e831d]{background-color:#a5c800!important;color:#4a1054;font-weight:700;padding:.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;margin-top:.5rem}.button.is-submit-button[data-v-575e831d]:hover{background-color:#92b500}.alert.alert-danger[data-v-575e831d]{background-color:#fdd;color:#d8000c;border:1px solid #d8000c;padding:.75rem;border-radius:4px;margin-bottom:1rem;text-align:center;width:100%}.help-content[data-v-c3856e3c]{background:#fff;padding:20px;border-radius:8px;max-width:40vw;width:80%;min-width:300px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 8px rgba(0,0,0,.2);text-align:left;line-height:1.5;word-wrap:break-word}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}.modal-container{background:#fff;padding:20px;border-radius:8px;width:300px}