/* Camada visual da agenda pública. Não altera APIs, rotas ou regras de disponibilidade. */
.public-booking{background:radial-gradient(circle at 85% 0,#294a70 0,transparent 28%),linear-gradient(180deg,#06152b,#0b2342)!important;min-height:100vh;padding:28px 16px 42px!important}
.public-booking>div,.public-booking main{max-width:560px;margin:auto}
.booking-brand{padding:22px 20px 10px!important;text-align:left!important}
.booking-brand h1{font-size:42px!important;line-height:.96;letter-spacing:-.06em;color:#fff!important}
.booking-brand h1::after{content:'Agende seu estilo.';display:block;color:#d4b070;font-size:inherit}
.booking-brand h1{font-size:0!important}.booking-brand h1::before{content:'Seu visual começa aqui';display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#d4b070;margin-bottom:12px}.booking-brand h1::after{font-size:42px}
.booking-brand p{color:#b9c7d8!important;line-height:1.5!important}
.booking-step,.customer-auth{border:1px solid #294968!important;border-radius:18px!important;background:rgba(13,39,72,.78)!important;box-shadow:0 14px 35px #0003}
.booking-step{padding:18px!important;margin:14px 0!important}
.booking-step legend{color:#d4b070!important;font-weight:800!important}
.booking-step label{color:#eef4fb!important}
.booking-step select{border:1px solid #48627e!important;border-radius:13px!important;background:#f9fbff!important;color:#12243b!important;min-height:48px!important}
.calendar-navigation{padding:10px 12px;border:1px solid #385a7b;border-radius:14px;background:#102e50!important}
.calendar-navigation button{background:#173b60!important;border:1px solid #54728f!important;border-radius:10px!important}
.calendar-grid{gap:7px!important;padding:12px 0!important}
.calendar-grid button{border-radius:11px!important;background:#153a5e!important;border:1px solid #3b5e7d!important;color:#fff!important;min-height:42px}
.calendar-grid button.selected{background:linear-gradient(135deg,#f3d080,#b88b3c)!important;color:#0c1b2e!important;border:0!important}
.slot-grid{gap:9px!important}.slot-grid button,.slot{min-height:44px!important;border-radius:11px!important}.slot-free{background:#153a5e!important;border:1px solid #527494!important;color:#fff!important}.slot-free.selected{background:linear-gradient(135deg,#f3d080,#b88b3c)!important;color:#0c1b2e!important}
.customer-auth{padding:18px!important}.google-signin-area{border-radius:14px}
.book{position:sticky;bottom:14px!important;z-index:20;width:100%!important;border-radius:15px!important;background:linear-gradient(110deg,#f2d080,#b78937)!important;color:#111e2e!important;box-shadow:0 10px 26px #b7893755!important;font-size:16px!important;font-weight:900!important}
.booking-success{padding:34px 14px!important;border:1px solid #d4b07066;border-radius:18px;background:#0d2948}
@media(max-width:540px){.public-booking{padding:0 10px 28px!important}.booking-brand h1::after{font-size:36px}.booking-step{padding:14px!important}}
