body{font-family:var(--ff-base)!important}.title.title-1,.title.title-2,.title.title-3,.title.title-4,.title.title-5,.title.title-6{font-family:var(--ff-heading)!important}.logo{width:11.25rem;height:5.5rem}.logo-wellcome{width:15rem;height:auto}.top-wrapper{display:flex;flex-direction:row;align-items:center;gap:5rem;margin-bottom:3rem}.top-wrapper .calendar-controls{padding-top:0;display:flex;align-items:center;gap:1rem}.top-wrapper .calendar-form-group{display:flex;flex-direction:row;align-items:center;gap:.75rem}.calendar-header{padding-block:1rem}.calendar-header,.calendar-body{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}:is(.calendar-header,.calendar-body) div{font-weight:600;text-align:center;font-family:var(--ff-base);color:var(--fg-base)}.calendar-cell{min-height:160px;padding:.5rem;background:var(--bg-accent);border-radius:.25rem;border:1px solid var(--stroke-neutral);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:all .2s ease}.calendar-cell:hover{background:#fdfdfd;box-shadow:0 2px 6px #0000000d;transform:translateY(-2px)}.calendar-cell.is-sunday .calendar-day-number{color:var(--red-500)}.calendar-cell.is-active{background-color:var(--bg-white)}.calendar-cell.is-inactive{background-color:var(--grey-50);opacity:.8}.calendar-cell.is-outside{background:var(--grey-50);color:var(--grey-300);opacity:.8}.calendar-cell.is-outside .btn{display:none}.calendar-cell.today{border:2px solid var(--stroke-primary);background-color:var(--lime-50);z-index:1}.calendar-cell .btn--xs{display:flex;justify-content:center;align-items:center;border-radius:0;height:1.5rem;width:1.5rem;padding:0}.calendar-day-number{display:flex;justify-content:space-between;font-size:.85rem;color:var(--fg-base)}.calendar-day-extra{flex:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--fg-accent);text-align:center;padding:.5rem;margin-top:1.5rem}.calendar-day-actions{display:flex;justify-content:end;gap:6px;margin-top:auto}.calendar-day-actions.centered{justify-content:center}.calendar-title{font-size:1.25rem;font-weight:600;font-family:var(--ff-base);width:170px;text-align:center}.calendar-day-reservations{padding-top:18px;padding-bottom:8px}.calendar-reservation{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem .25rem .25rem;border:1px solid #ddd;border-radius:1.5rem;position:relative}.calendar-reservation.is-rejected{background-color:#fff4f2;border:1px solid #faa18f}.calendar-reservation.is-rejected .reservation-color{background-color:#fff!important;border:1px solid #faa18f}.calendar-reservation .reservation-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1;font-size:.75rem;text-align:left;color:#333;font-size:12px;font-weight:400}.calendar-reservation .reservation-children{font-size:.75rem;font-weight:700}.calendar-reservation .reservation-color{width:16px;height:16px;border-radius:50%;flex-shrink:0}.monitors-badge{margin-top:.1rem;right:.5rem;background-color:var(--lime-600);color:#fff;font-size:.75rem;font-weight:600;border-radius:5px;width:1.15rem;height:1.15rem;line-height:1.15rem;text-align:center}.form-group input[type=radio]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:20px;height:20px;border:2px solid #777;border-radius:50%;position:relative;outline:none;cursor:pointer;transition:border-color .3s ease}:is(.form-group input[type=radio]):checked{border-color:var(--lime-500);background-color:var(--lime-500)}:is(.form-group input[type=radio]):checked:before{content:"";position:absolute;top:4px;left:4px;width:8px;height:8px;background-color:#fff;border-radius:50%}:is(.form-group input[type=radio]):focus-visible{outline:2px solid var(--lime-500);outline-offset:2px}.calendar-label{font-size:.875rem;color:var(--fg-base)}.custom-calendar-select{display:flex;align-items:center;padding-inline:1rem;background:#fff url('data:image/svg+xml;utf8,<svg fill="gray" height="14" viewBox="0 0 20 20" width="14" xmlns="http://www.w3.org/2000/svg"><path d="M7 7l3-3 3 3M7 13l3 3 3-3" stroke="%23999" stroke-width="1.5" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat right 15px center/18px 18px;font-size:.875rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:border-color .2s;background-color:var(--bg-control-filled);color:var(--fg-control-filled);border:rem(1) solid var(--bd-control-filled);height:2.625rem;border-radius:0;min-width:12.5rem}.alert{position:relative;padding:1rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem;font-size:.8rem;font-family:Open Sans,sans-serif}.alert-heading{color:inherit;font-weight:700;margin-top:0;margin-bottom:.5rem;font-size:1.25rem}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:.75rem;right:1rem;padding:.75rem 1.25rem;color:inherit;background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;opacity:.5}:is(.alert-dismissible .btn-close):hover{opacity:.75}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-danger,.alert-error{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert .fade{opacity:0;transition:opacity .15s linear}.alert .show{opacity:1;transition:opacity .15s linear}.alert .close{position:absolute;top:.75rem;right:1rem;padding:.75rem 1.25rem;color:inherit;background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;opacity:.5;transition:opacity .15s linear}:is(.alert .close):hover{opacity:.75}:is(.alert .close):focus{opacity:.75;color:inherit;text-decoration:none;outline:none}.reservation-aside{position:fixed;top:0;right:-400px;width:400px;height:100%;background:#fff;box-shadow:-2px 0 8px #0000001a;overflow-y:auto;transition:right .3s ease;z-index:1050;padding:20px}.reservation-aside.open{right:0}.reservation-aside #aside-close{position:absolute;top:15px;right:15px;font-size:24px;background:none;border:none;cursor:pointer;color:#999}.reservation-aside .aside-header{border-bottom:none;padding-bottom:10px}:is(.reservation-aside .aside-header) h3{color:var(--lime-500);font-weight:600;font-size:1.1rem;text-align:left;margin-bottom:8px}.reservation-aside #aside-content{font-size:.9rem}.reservation-aside .aside-footer{display:flex;gap:16px;font-size:14px;margin-top:20px;justify-content:center;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}:is(.reservation-aside .aside-footer) button{display:flex;gap:8px;align-items:center}:is(.reservation-aside .aside-footer) .btn-accept{background:#fff;border:2px solid var(--lime-500);color:var(--lime-500);padding:8px 16px;font-weight:600;cursor:pointer;display:flex;gap:8px;align-items:center;width:-moz-max-content;width:max-content;transition:background .2s}:is(.reservation-aside .aside-footer) .btn-cancel{background:var(--lime-500);color:#fff;padding:8px 16px;border:none;font-weight:600;cursor:pointer;transition:background .2s}.reservation-body div{display:flex;flex-direction:column;align-self:center;gap:4px}@media (max-width: 768px){.reservation-body{flex-direction:column;max-height:unset;gap:4px}}.reservation-details li{margin-bottom:4px}@media (max-width: 768px){.reservation-details{align-self:normal!important}}.reservation-actions{display:flex}.reservation-actions a{margin-right:5px}.reservation-actions .btn{background-color:#fff;color:#b3b3b3;border:1px solid #b3b3b3}:is(.reservation-actions .btn):hover{background-color:#f0f0f0;color:#a7a7a7}@media (max-width: 768px){.reservation-actions{flex-direction:row!important;margin-top:12px}.reservation-actions .btn{font-size:12px;padding:0 20px;width:-moz-fit-content;width:fit-content}}.skeleton-header,.skeleton-line,.skeleton-footer{background:#eee;border-radius:4px;margin-bottom:12px;min-height:16px;animation:pulse 1.3s infinite ease-in-out}.skeleton-header{height:24px;width:80%}.skeleton-line{height:16px;width:100%}.skeleton-line .short{width:50%}.skeleton-footer{height:48px;width:100%}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.btn.btn-icon{padding:.5rem}.btn--accept{background:none;color:var(--fg-button-primary-outlined);border:1px solid var(--fg-button-primary-outlined)}.btn--accept:hover{background-color:var(--bg-button-primary-filled--hover);color:var(--fg-button-primary-filled)}.btn--cancel{background-color:var(--bg-button-primary-filled);color:var(--fg-button-primary-filled);border:none}.btn--cancel:hover{background-color:var(--bg-button-primary-filled--hover)}.btn--calendar{border-radius:.25rem!important;width:1.75rem;height:1.75rem}.btn--calendar .icon{width:1.125rem;height:1.125rem}.btn--calendar.btn--prebooking{background-color:var(--bg-button-warning-outlined);color:var(--fg-button-warning-outlined);border:1px solid var(--bd-button-warning-outlined)}.btn--calendar.btn--prebooking:hover{background-color:var(--bg-button-warning-outlined--hover)}.btn--create{background-color:var(--bg-button-primary-filled);color:var(--fg-button-primary-filled);border:none}.btn--create:hover{background-color:var(--bg-button-primary-filled--hover)}.btn--prebooking .calendar-cell .btn--s{margin-top:auto;align-self:center;font-size:10px;width:130px;border-radius:4px}.btn--danger{background-color:transparent!important;color:var(--fg-button-danger-outlined)!important;border:1px solid var(--bd-button-danger-outlined)!important}.btn--danger:hover{background-color:var(--bg-button-danger-outlined--hover)!important}.nav-tabs{display:flex;gap:1rem}.nav-tabs .nav-link{border-radius:.25rem}.active:is(.nav-tabs .nav-link){color:#fff;background-color:var(--lime-500)}.students.active:is(.nav-tabs .nav-link){background-color:#d7002b}.euros.active:is(.nav-tabs .nav-link){background-color:#4000d7}.reservation-card{background-color:var(--bg-accent);border-radius:1rem;padding:2rem}.reservation-card .row-wrapper{border:0;padding:0}.table-custom{width:100%;border-collapse:collapse;color:var(--fg-base)}.table-custom th,.table-custom td{border:1px solid var(--stroke-neutral);padding:.75rem;text-align:center;font-size:.75rem}.table-custom th{background-color:var(--lime-500);color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.table-custom td{background-color:var(--bg-accent)}:is(:is(.table-custom tbody) tr):nt-child(even) td{background-color:#e6f0b8}:is(:is(.table-custom tbody) tr):hover td{background-color:var(--lime-50)}:is(:is(:is(.table-custom tbody) tr) td):first-child{text-align:left;font-weight:500;font-size:14px;padding-left:16px;vertical-align:middle}:is(:is(:is(.table-custom tbody) tr) td):last-child{font-weight:700}:is(:is(.table-custom tbody) tr):last-child td{background-color:var(--grey-50)}.table-custom .dot{width:1.25rem;height:1.25rem;border-radius:1.25rem}.row-wrapper{display:flex;flex-direction:column;gap:2rem}.row-wrapper .no-margin{margin-bottom:0}.reservations-horizontal{display:flex;flex-direction:column;gap:3rem;margin-top:2rem}.title-group{display:flex;flex-direction:column;gap:1rem}.statistics-nav{display:flex;align-items:center;justify-content:space-between}.filters{display:flex;gap:1rem}.header-wrapper .link-icon{justify-content:flex-start}.data-value a{font-weight:400;text-decoration:underline}.data-value .icon{color:#54565a}.data-value p{margin:12px 0}div.data-value{font-size:13px}.toggle-day{text-transform:uppercase}#reservations-datatable tbody td{font-size:13px}.statistics-nav{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cbea8c;padding-bottom:16px}.rejected{color:#d9534f;font-weight:600}.modal-header{color:var(--fg-modal);justify-content:center}.modal-header h3{margin-top:1rem}.modal-body{font-size:14px}.modal-body.center{text-align:center}.modal-content{background-color:var(--bg-modal);border:1px solid var(--bd-modal)}.modal-footer{justify-content:center;padding:.75rem}.modal-close{cursor:pointer;color:var(--fg-modal-close);font-size:1.5rem;position:absolute;top:.5rem;right:1rem}.modal-close:hover{color:var(--fg-modal-close--hover)}
