@charset "UTF-8";.layout{min-height:100vh;display:flex;flex-direction:column}.header{background-color:#2c3e50;color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.header h1{font-size:1.5rem;font-weight:600}.user-info{display:flex;align-items:center;gap:1rem}.badge{background-color:#3498db;padding:.25rem .5rem;border-radius:4px;font-size:.875rem}.badge-admin{background-color:#e74c3c}.btn-logout{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem}.btn-logout:hover{background-color:#c0392b}.navbar{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:0 2rem;display:flex;gap:2rem;overflow-x:auto}.navbar a{padding:1rem 0;text-decoration:none;color:#666;font-weight:500;border-bottom:2px solid transparent;white-space:nowrap;transition:color .2s}.navbar a:hover{color:#2c3e50}.navbar a.active{color:#3498db;border-bottom-color:#3498db}.nav-button{padding:1rem 0;text-decoration:none;color:#666;font-weight:500;border:none;background:none;border-bottom:2px solid transparent;white-space:nowrap;transition:color .2s;cursor:pointer;font-size:inherit;font-family:inherit}.nav-button:hover{color:#2c3e50}.nav-button.active{color:#3498db;border-bottom-color:#3498db}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem}@media (max-width: 768px){.header-content{flex-direction:column;align-items:flex-start}.navbar{padding:0 1rem;gap:1rem}.main-content{padding:1rem}}.employee-dashboard{max-width:1000px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.dashboard-header h2{color:#2c3e50}.btn-primary{background-color:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .2s}.btn-primary:hover{background-color:#2980b9}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.stat-card h3{font-size:.875rem;color:#666;margin-bottom:.5rem;font-weight:500}.stat-value{font-size:2rem;font-weight:600;color:#2c3e50}.recent-requests{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.recent-requests h3{margin-bottom:1rem;color:#2c3e50}.empty-state{color:#999;text-align:center;padding:2rem}.requests-list{display:flex;flex-direction:column;gap:1rem}.request-card{padding:1rem;border-left:4px solid #ddd;border-radius:4px;background-color:#f9f9f9}.request-card.status-approved{border-left-color:#27ae60;background-color:#e8f8f5}.request-card.status-wish,.request-card.status-open{border-left-color:#f39c12;background-color:#fef5e7}.request-card.status-rejected{border-left-color:#e74c3c;background-color:#fadbd8}.request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.request-dates{font-weight:500;color:#2c3e50}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.status-badge.status-approved{background-color:#27ae60;color:#fff}.status-badge.status-wish,.status-badge.status-open{background-color:#f39c12;color:#fff}.status-badge.status-rejected{background-color:#e74c3c;color:#fff}.request-details{display:flex;gap:1rem;color:#666;font-size:.875rem}.view-all-link{display:inline-block;margin-top:1rem;color:#3498db;text-decoration:none;font-weight:500}.view-all-link:hover{text-decoration:underline}.stat-card-planner{border-left:4px solid #9b59b6}.stat-card-admin{border-left:4px solid #e74c3c;cursor:pointer;transition:transform .2s,box-shadow .2s}.stat-card-admin.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.stat-card-admin small{display:block;margin-top:.5rem;color:#666;font-size:.75rem}.planner-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:2rem}.planner-section h3{margin-bottom:1rem;color:#2c3e50}.planner-requests-list{display:flex;flex-direction:column;gap:1rem}.planner-request-card{padding:1rem;border-left:4px solid #9b59b6;border-radius:4px;background-color:#f4f3f8}.planner-request-card h4{margin:0 0 .25rem;color:#2c3e50}.employee-email{color:#666;font-size:.875rem;margin:.25rem 0}.location{color:#666;font-size:.875rem;margin:.25rem 0;font-weight:500}.detail-item{display:flex;gap:.5rem;margin:.5rem 0;font-size:.875rem}.detail-item strong{color:#2c3e50;min-width:100px}.request-actions{margin-top:1rem;display:flex;gap:.5rem}.decision-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content h3{margin-top:0;color:#2c3e50}.form-group{margin:1rem 0}.form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.form-group textarea{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.875rem}.modal-actions{display:flex;gap:.5rem;margin-top:1.5rem;justify-content:flex-end}.btn-approve{background-color:#27ae60;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500}.btn-reject{background-color:#e74c3c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500}.btn-warning{background-color:#f39c12;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500}.btn-secondary{background-color:#95a5a6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500}.admin-modal{max-width:1200px;width:90%}.admin-modal.large{max-width:1400px}.admin-modal-content{display:grid;grid-template-columns:300px 1fr;gap:20px;min-height:400px}.users-list-sidebar{border-right:1px solid #eee;padding-right:20px}.users-list-scroll{max-height:500px;overflow-y:auto;margin-top:12px}.user-item{padding:12px;border-radius:4px;margin-bottom:8px;cursor:pointer;transition:background-color .2s;border:1px solid transparent}.user-item:hover{background-color:#f5f5f5}.user-item.selected{background-color:#e3f2fd;border-color:#2196f3}.user-item.not-in-db{border-left:3px solid #f39c12;background-color:#fff9e6}.user-name{font-weight:500;color:#2c3e50;margin-bottom:4px}.user-email{font-size:12px;color:#666}.planner-details-panel{padding-left:20px}.admin-modal{max-width:900px;width:90%}.admin-modal.large{max-width:1200px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.modal-header h3{margin:0;color:#2c3e50}.btn-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.btn-close:hover{background-color:#f0f0f0;color:#333}.planners-list-modal{max-height:500px;overflow-y:auto}.planners-table{width:100%;border-collapse:collapse}.planners-table thead{background-color:#f8f9fa;position:sticky;top:0}.planners-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.planners-table td{padding:12px;border-bottom:1px solid #eee}.planners-table tbody tr:hover{background-color:#f8f9fa}.status-badge.enabled{background-color:#d4edda;color:#155724;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.disabled{background-color:#f8d7da;color:#721c24;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.admin-modal-content{display:flex;gap:2rem;min-height:400px}.users-list-sidebar{flex:0 0 300px;border-right:2px solid #f0f0f0;padding-right:1.5rem}.users-list-sidebar h4{margin-top:0;color:#2c3e50}.users-list-scroll{max-height:500px;overflow-y:auto}.user-item{padding:.75rem;border-radius:4px;cursor:pointer;margin-bottom:.5rem;transition:background-color .2s}.user-item:hover{background-color:#f8f9fa}.user-item.selected{background-color:#e3f2fd;border-left:3px solid #3498db}.user-name{font-weight:500;color:#2c3e50}.user-email{font-size:.875rem;color:#666}.planner-details-panel{flex:1}.planner-details-panel h4{margin-top:0;color:#2c3e50}.roles-list{list-style:none;padding:0;margin:1rem 0}.roles-list li{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:#f8f9fa;border-radius:4px;margin-bottom:.5rem}.btn-small{padding:4px 12px;font-size:.875rem}.btn-danger{background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-danger:hover{background-color:#c82333}@media (max-width: 768px){.dashboard-header{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.admin-modal-content{flex-direction:column}.users-list-sidebar{border-right:none;border-bottom:2px solid #f0f0f0;padding-right:0;padding-bottom:1.5rem}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{background:#fff;padding:3rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;text-align:center;max-width:400px;width:90%}.login-card h1{color:#2c3e50;margin-bottom:1rem}.login-card p{color:#666}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before{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-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{margin-left:-4px;position:absolute;width:0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after{box-sizing:content-box;position:absolute;border:8px solid transparent;height:0;width:1px;content:"";z-index:-1;border-width:8px;left:-8px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{border-bottom-color:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{top:0;margin-top:-8px}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after{border-top:none;border-bottom-color:#f0f0f0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after{top:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{top:-1px;border-bottom-color:#aeaeae}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{bottom:0;margin-bottom:-8px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after{border-bottom:none;border-top-color:#fff}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after{bottom:0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{bottom:-1px;border-top-color:#aeaeae}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative}.react-datepicker--time-only .react-datepicker__triangle{left:35px}.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__triangle{position:absolute;left:50px}.react-datepicker-popper{z-index:1}.react-datepicker-popper[data-placement^=bottom]{padding-top:10px}.react-datepicker-popper[data-placement=bottom-end] .react-datepicker__triangle,.react-datepicker-popper[data-placement=top-end] .react-datepicker__triangle{left:auto;right:50px}.react-datepicker-popper[data-placement^=top]{padding-bottom:10px}.react-datepicker-popper[data-placement^=right]{padding-left:8px}.react-datepicker-popper[data-placement^=right] .react-datepicker__triangle{left:auto;right:42px}.react-datepicker-popper[data-placement^=left]{padding-right:8px}.react-datepicker-popper[data-placement^=left] .react-datepicker__triangle{left:42px;right:auto}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.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__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.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{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.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{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.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;width:4rem;margin:2px}.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;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.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{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.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{cursor:pointer;background-color:#f0f0f0}.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{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.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,.react-datepicker__week-number--keyboard-selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__week-number--keyboard-selected{border-radius:.3rem;background-color:#2a87d0;color:#fff}.react-datepicker__week-number--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:hover,.react-datepicker__month-text:hover,.react-datepicker__quarter-text:hover,.react-datepicker__year-text:hover{border-radius:.3rem;background-color:#f0f0f0}.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{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:hover,.react-datepicker__month-text--highlighted:hover,.react-datepicker__quarter-text--highlighted:hover,.react-datepicker__year-text--highlighted: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{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .holiday-overlay,.react-datepicker__month-text--holidays .holiday-overlay,.react-datepicker__quarter-text--holidays .holiday-overlay,.react-datepicker__year-text--holidays .holiday-overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:hover,.react-datepicker__month-text--holidays:hover,.react-datepicker__quarter-text--holidays:hover,.react-datepicker__year-text--holidays:hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .holiday-overlay,.react-datepicker__month-text--holidays:hover .holiday-overlay,.react-datepicker__quarter-text--holidays:hover .holiday-overlay,.react-datepicker__year-text--holidays:hover .holiday-overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:hover,.react-datepicker__day--in-selecting-range:hover,.react-datepicker__day--in-range:hover,.react-datepicker__month-text--selected:hover,.react-datepicker__month-text--in-selecting-range:hover,.react-datepicker__month-text--in-range:hover,.react-datepicker__quarter-text--selected:hover,.react-datepicker__quarter-text--in-selecting-range:hover,.react-datepicker__quarter-text--in-range:hover,.react-datepicker__year-text--selected:hover,.react-datepicker__year-text--in-selecting-range:hover,.react-datepicker__year-text--in-range: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{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:hover,.react-datepicker__month-text--keyboard-selected:hover,.react-datepicker__quarter-text--keyboard-selected:hover,.react-datepicker__year-text--keyboard-selected: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__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__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__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__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__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__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__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{cursor:default;color:#ccc}.react-datepicker__day--disabled:hover,.react-datepicker__month-text--disabled:hover,.react-datepicker__quarter-text--disabled:hover,.react-datepicker__year-text--disabled:hover{background-color:transparent}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__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__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-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__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.form-card{background:#fff;border-radius:8px;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.form-card h2{margin-bottom:1.5rem;color:#2c3e50}.date-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.calculated-days{background-color:#e8f4f8;padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.calculated-days strong{display:block;color:#2c3e50;margin-bottom:.25rem}.calculated-days small{color:#666;font-size:.875rem}.error-message{background-color:#fadbd8;color:#c0392b;padding:.75rem;border-radius:4px;margin-bottom:1rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-secondary{background-color:#95a5a6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem}.btn-secondary:hover{background-color:#7f8c8d}.btn-primary:disabled{background-color:#bdc3c7;cursor:not-allowed}@media (max-width: 768px){.form-card{padding:1.5rem}}.vacation-requests-page{max-width:1200px}.filters{display:flex;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-weight:500}.filter-group select{padding:.5rem;border:1px solid #ddd;border-radius:4px}.requests-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.requests-table table{width:100%;border-collapse:collapse}.requests-table th{background-color:#f8f9fa;padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0}.requests-table td{padding:1rem;border-bottom:1px solid #e0e0e0}.requests-table tr:hover{background-color:#f8f9fa}.btn-delete{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem}.btn-delete:hover{background-color:#c0392b}.empty-state{text-align:center;padding:3rem;color:#999}@media (max-width: 768px){.requests-table{font-size:.875rem}.requests-table th,.requests-table td{padding:.5rem}}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.calendar-day{min-height:100px;border:1px solid #e0e0e0;padding:.5rem;background-color:#fff}.calendar-entry.approved{background-color:#27ae60;color:#fff;font-weight:500}.calendar-entry.pending{background-color:#f1c40f;color:#856404;font-weight:500}.legend-color.approved{background-color:#27ae60}.legend-color.pending{background-color:#f1c40f}.location-selector{margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:1rem}.location-selector label{font-weight:500;color:#2c3e50}.location-dropdown{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;min-width:200px;background-color:#fff;cursor:pointer}.location-dropdown:hover{border-color:#3498db}.location-dropdown:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}@media (max-width: 768px){.calendar-day{min-height:60px;padding:.25rem}.day-number{font-size:.875rem}.calendar-entry{font-size:.625rem}}.planner-dashboard{max-width:1200px}.requests-list{display:flex;flex-direction:column;gap:1.5rem}.request-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.request-header h3{color:#2c3e50;margin-bottom:.25rem}.employee-email{color:#666;font-size:.875rem;margin-bottom:.25rem}.location{color:#999;font-size:.875rem}.request-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item strong{color:#666;font-size:.875rem}.detail-item span{color:#2c3e50}.request-actions{display:flex;gap:1rem;justify-content:flex-end}.decision-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:8px;padding:2rem;max-width:500px;width:100%;box-shadow:0 4px 6px #0000001a}.modal-content h3{margin-bottom:1rem;color:#2c3e50}.modal-content p{margin-bottom:1.5rem;color:#666}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-approve{background-color:#27ae60;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem}.btn-approve:hover{background-color:#229954}.btn-reject{background-color:#e74c3c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem}.btn-reject:hover{background-color:#c0392b}.btn-warning{background-color:#f39c12;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem}.btn-warning:hover{background-color:#e67e22}@media (max-width: 768px){.request-details{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.calendar-page{max-width:1200px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.calendar-header h2{color:#2c3e50;text-transform:capitalize}.btn-nav{background-color:#3498db;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:1.25rem}.btn-nav:hover{background-color:#2980b9}.calendar-grid{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.weekday{padding:1rem;text-align:center;font-weight:600;color:#2c3e50}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:120px;border:1px solid #e0e0e0;padding:.5rem;background-color:#fff}.calendar-day.weekend{background-color:#f8f9fa}.calendar-day.today{background-color:#e8f4f8;border:2px solid #3498db}.day-number{font-weight:600;margin-bottom:.5rem;color:#2c3e50}.day-entries{display:flex;flex-direction:column;gap:.25rem}.calendar-entry{font-size:.75rem;padding:.25rem;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-entry.approved{background-color:#d5f4e6;color:#27ae60}.calendar-entry.pending{background-color:#fef5e7;color:#f39c12}.calendar-legend{display:flex;gap:2rem;margin-top:2rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:20px;height:20px;border-radius:4px}.legend-color.approved{background-color:#d5f4e6}.legend-color.pending{background-color:#fef5e7}@media (max-width: 768px){.calendar-day{min-height:80px;padding:.25rem}.day-number{font-size:.875rem}.calendar-entry{font-size:.625rem}}.admin-dashboard{padding:20px;max-width:1400px;margin:0 auto}.admin-dashboard h1{margin-bottom:20px}.warning-banner{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:16px;margin-bottom:20px;color:#856404}.warning-banner strong{color:#856404}.warning-banner small{display:block;margin-top:8px;color:#856404;opacity:.8}.admin-content{display:grid;grid-template-columns:1fr 1fr;gap:20px}.users-list{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.users-table{overflow-x:auto}.location-group{margin-bottom:30px}.location-group:last-child{margin-bottom:0}.location-header{font-size:18px;font-weight:600;color:#2c3e50;margin-bottom:12px;margin-top:0;padding-bottom:8px;border-bottom:2px solid #3498db}.users-table table{width:100%;border-collapse:collapse;margin-bottom:20px}.users-table th,.users-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.users-table th{background-color:#f5f5f5;font-weight:600}.users-table tr:hover{background-color:#f9f9f9;cursor:pointer}.users-table tr.selected{background-color:#e3f2fd}.user-details{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.user-info{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eee}.user-info p{margin:8px 0}.section{margin-bottom:20px}.section h3{margin-bottom:12px;color:#333}.section select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.roles-list{list-style:none;padding:0;margin:12px 0}.roles-list li{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#f5f5f5;border-radius:4px;margin-bottom:8px}.btn-small{padding:6px 12px;font-size:12px;border:none;border-radius:4px;cursor:pointer;background:#2196f3;color:#fff}.btn-small:hover{background:#1976d2}.btn-danger{background:#f44336}.btn-danger:hover{background:#d32f2f}.btn-primary{padding:10px 20px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-primary:hover{background:#1976d2}.btn-secondary{padding:10px 20px;background:#757575;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-secondary:hover{background:#616161}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:24px;border-radius:8px;max-width:400px;width:90%}.modal-content h3{margin-top:0}.modal-content select{width:100%;padding:8px;margin:12px 0;border:1px solid #ddd;border-radius:4px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}@media (max-width: 1024px){.admin-content{grid-template-columns:1fr}}.planner-management{padding:20px;max-width:1200px;margin:0 auto}.planner-management h1{margin-bottom:10px;color:#333}.description{color:#666;margin-bottom:30px;font-size:14px}.no-planners{text-align:center;padding:40px;color:#666}.planners-list{display:flex;flex-direction:column;gap:20px}.planner-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.planner-header{margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.planner-header h2{margin:0 0 5px;color:#333;font-size:20px}.planner-email{margin:0;color:#666;font-size:14px}.planner-locations h3{margin:0 0 15px;color:#555;font-size:16px}.locations-table{width:100%;border-collapse:collapse}.locations-table thead{background-color:#f8f9fa}.locations-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.locations-table td{padding:12px;border-bottom:1px solid #eee}.locations-table tbody tr:hover{background-color:#f8f9fa}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.enabled{background-color:#d4edda;color:#155724}.status-badge.disabled{background-color:#f8d7da;color:#721c24}.btn-toggle{padding:6px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.btn-enable{background-color:#28a745;color:#fff}.btn-enable:hover{background-color:#218838}.btn-disable{background-color:#dc3545;color:#fff}.btn-disable:hover{background-color:#c82333}.error-message{background-color:#f8d7da;color:#721c24;padding:15px;border-radius:4px;margin-bottom:20px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width: 768px){body{font-size:14px}}
