.booking-calendar{overflow:hidden;border:1px solid #c4d8e8;border-radius:1rem;background:#fff}.booking-calendar>header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1rem;background:linear-gradient(135deg,#eaf5ff,#fff)}.booking-calendar>header small{color:#1377ba;font-size:.65rem;font-weight:950;letter-spacing:.08em}.booking-calendar h2{margin:.2rem 0;color:#173f64}.booking-calendar header p{margin:0;color:#60758a;font-size:.82rem}.booking-calendar header>div:last-child{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.booking-calendar header button{width:34px;height:34px;border:1px solid #a8c2d8;border-radius:50%;background:#fff;color:#176fae;font-weight:950}.booking-legend{display:flex;flex-wrap:wrap;gap:.65rem;padding:.75rem 1rem;border-top:1px solid #dae6ef;border-bottom:1px solid #dae6ef}.booking-legend span{display:flex;align-items:center;gap:.3rem;color:#536c80;font-size:.68rem;font-weight:750}.booking-legend span:before{content:'';width:14px;height:14px;border:1px solid #a9bac8;border-radius:.2rem;background:#fff}.booking-legend [data-status=priority_locked]:before{border-color:#c52222;background:#e23939}.booking-legend [data-status=commute]:before{border-color:#d77900;background:#ef941f}.booking-legend [data-status=not_available]:before{border-color:#05080a;background:#111}.booking-legend [data-status=temporary_available]:before{background:#c8ced4}.calendar-scroll{overflow:auto;max-height:610px}.calendar-grid{display:grid;grid-template-columns:72px repeat(7,minmax(76px,1fr));min-width:650px}.calendar-grid>*{min-height:34px;border-right:1px solid #e1e8ee;border-bottom:1px solid #e1e8ee}.calendar-corner,.calendar-day{position:sticky;top:0;z-index:2;background:#f2f7fb}.calendar-corner{padding:.55rem;color:#60758a;font-size:.68rem;font-weight:900}.calendar-day{display:grid;place-items:center;padding:.3rem}.calendar-day strong{color:#1b4d75;font-size:.75rem}.calendar-day small{color:#758899;font-size:.62rem}.calendar-time{display:grid;place-items:center;padding:.25rem;background:#f8fafc;color:#6b7f90;font-size:.62rem}.calendar-slot{border-width:0 1px 1px 0;border-style:solid;border-color:#e1e8ee;border-radius:0;background:#fff}.calendar-slot:not(:disabled){cursor:pointer}.calendar-slot:not(:disabled):hover{outline:3px solid #1689d8;outline-offset:-3px}.calendar-slot.is-priority_locked{background:#df3232}.calendar-slot.is-commute{background:#ef941f}.calendar-slot.is-not_available{background:#111}.calendar-slot.is-temporary_available{background:#c8ced4}.calendar-slot b{color:#fff;font-size:.57rem}.booking-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:#0f253bbb}.booking-dialog{position:relative;display:grid;gap:.75rem;width:min(440px,100%);padding:1.2rem;border-radius:1rem;background:#fff;box-shadow:0 22px 70px #08152288}.booking-dialog>small{color:#1680c8;font-size:.66rem;font-weight:950;letter-spacing:.08em}.booking-dialog h2{margin:0;color:#173f64}.booking-dialog label{display:grid;gap:.3rem;color:#435f76;font-size:.76rem;font-weight:850}.booking-dialog select{width:100%;min-height:44px;padding:.55rem;border:1px solid #a9bfd1;border-radius:.55rem;background:#fff;color:#193e5d}.booking-dialog>button[type=submit]{min-height:44px;border:0;border-radius:.6rem;background:#147bc1;color:#fff;font-weight:900}.booking-modal-close{position:absolute;top:.5rem;right:.6rem;border:0;background:transparent;color:#526b7e;font-size:1.5rem}.booking-dialog dl{display:grid;gap:.35rem;margin:0;padding:.7rem;border-radius:.65rem;background:#f2f7fb}.booking-dialog dl>div{display:grid;grid-template-columns:90px 1fr;gap:.5rem}.booking-dialog dt{color:#657b8e;font-size:.7rem;font-weight:850}.booking-dialog dd{margin:0;color:#244b6a;font-size:.74rem}.booking-dialog [role=alert]{margin:0;color:#ae2222;font-size:.72rem}.message-booking-panel{margin-bottom:1rem;border:1px solid #c3d8e8;border-radius:.85rem;background:#f8fbfe}.message-booking-panel>header{display:flex;align-items:center;justify-content:space-between;padding:.8rem;border-bottom:1px solid #dbe7ef}.message-booking-panel header small{color:#167abc;font-size:.62rem;font-weight:950;letter-spacing:.08em}.message-booking-panel h2{margin:.15rem 0 0;color:#173f64;font-size:1rem}.message-booking-panel header b{padding:.25rem .5rem;border-radius:999px;background:#e7f3fc;color:#176da7;font-size:.65rem}.message-booking-panel>article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem}.message-booking-panel>article+article{border-top:1px solid #dbe7ef}.message-booking-panel article>div:first-child{display:grid;gap:.16rem}.message-booking-panel article strong{color:#1e4565;font-size:.82rem}.message-booking-panel article span,.message-booking-panel article small{color:#60778a;font-size:.7rem}.message-booking-panel article>div:last-child{display:flex;gap:.35rem}.message-booking-panel article button{padding:.42rem .55rem;border:1px solid #aac0d3;border-radius:.45rem;background:#fff;color:#315a77;font-size:.65rem;font-weight:850}.message-booking-panel .booking-accept{border-color:#168457;background:#168457;color:#fff}.message-booking-panel .booking-deny,.message-booking-panel .booking-delete{color:#a62b2b}.message-booking-panel>p{margin:0;padding:.8rem;color:#6b7e8d;font-size:.74rem}@media(max-width:620px){.booking-calendar>header{align-items:flex-start;flex-direction:column}.booking-calendar header>div:last-child{width:100%;justify-content:space-between}.calendar-scroll{max-height:520px}.message-booking-panel>article{align-items:flex-start;flex-direction:column}.message-booking-panel article>div:last-child{width:100%}.message-booking-panel article button{flex:1}.booking-dialog{padding:1rem}}
