.appointment-floating-button{position:fixed;left:50%;right:auto;bottom:24px;z-index:1049;display:flex;align-items:center;gap:9px;height:50px;padding:0 19px;border:0;border-radius:28px;background:#3454d1;color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.25);font-weight:700;cursor:pointer;transition:.2s;transform:translateX(-50%)}.appointment-floating-button:hover{background:#173fba;transform:translate(-50%,-2px)}.appointment-floating-button i{font-size:20px}.appointment-modal[hidden]{display:none}.appointment-modal{position:fixed;inset:0;z-index:2010;display:flex;align-items:center;justify-content:center;padding:20px}.appointment-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}.appointment-modal__dialog{position:relative;z-index:1;width:100%;max-width:680px;max-height:calc(100vh - 40px);overflow:auto;padding:30px;border-radius:8px;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.3)}.appointment-modal__close{position:absolute;top:8px;right:12px;border:0;background:transparent;color:#555;font-size:32px;line-height:1;cursor:pointer}.appointment-modal .alert[hidden]{display:none}body.appointment-modal-open{overflow:hidden}@media(max-width:575px){.appointment-floating-button{left:50%;right:auto;bottom:16px;height:46px;padding:0 15px}.appointment-modal{align-items:flex-end;padding:0}.appointment-modal__dialog{max-height:94vh;padding:26px 20px;border-radius:12px 12px 0 0}}
