
 .booking-controls{display:block;margin:15px 0 0}.booking-date-time{display:flex;align-items:flex-start;gap:12px;max-width:100%}.booking-date-time>label{display:flex;flex-direction:column;gap:5px;margin:0;min-width:0;flex:1 1 0}.booking-date-time>label+label{flex:0 0 96px}.booking-date-time input,.booking-date-time select{box-sizing:border-box;min-width:0;width:100%;height:44px;padding:8px;font-size:16px;line-height:normal;margin:0}.booking-date-time input[type=date]{display:block;min-inline-size:0;appearance:none;-webkit-appearance:none}.booking-date-time input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left;margin:0}.booking-date-time input[type=date]::-webkit-datetime-edit{padding:0}.booking-submit{display:flex;justify-content:center;margin:22px 0}.booking-submit button{width:auto;min-width:200px;max-width:100%}#client-days-help:empty,#client-availability-note:empty{display:none}#client-days-help{display:block;margin-top:8px}#client-availability-note{font-size:13px}.records-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}body[data-booking-only=true] .customer-nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body[data-booking-only=true] .customer-nav button{min-width:0;padding:11px 5px;font-size:12px}body[data-booking-only=true] .customer-nav button[aria-current=page]{border-color:var(--gold);color:var(--gold)}@media(max-width:350px){.booking-date-time{gap:8px}.booking-date-time>label{flex-basis:0}.booking-date-time>label+label{flex-basis:90px}}
.package-weeks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.package-week{text-align:center;min-width:0}.package-week strong{font-size:10px}.package-cut{display:flex;flex-direction:column;align-items:center;min-height:42px}.package-cut span{font-size:25px}.package-cut small{font-size:10px;white-space:nowrap}.package-cut.done{color:#65d68c}.package-cut.missed{color:#ef7777}.package-cut.open{color:#e5d3ad}dialog{background:#171717;color:#f5efe3;border:1px solid #d8bd83;border-radius:14px;max-width:min(94vw,520px)}dialog::backdrop{background:#000b}#client-days-help{overflow-wrap:anywhere;font-size:11px}#client-booking-details[hidden]{display:none!important}

.booking-record-links{display:flex;flex-direction:column;gap:7px}.booking-record-links button{min-height:40px;padding:8px}.records-filters{display:flex;gap:12px;align-items:end;margin:14px 0}.records-filters label{flex:1}.appointment-card.confirmed{border-color:#3a9b5c}.appointment-card.confirmed small{color:#65d68c}.appointment-card.cancelled small{color:#ef7777}.customer-nav{flex-wrap:wrap}.customer-nav button{min-width:100px}

#code-form .login-privacy{align-items:center;gap:10px;margin:18px 0 8px;line-height:1.5;cursor:pointer}#code-form .login-privacy input{margin:0;flex:0 0 20px}#code-form .login-privacy span{min-width:0;font-size:14px}#code-form .login-code-note{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.5}

/* Ajustes da autenticação em celulares */
#client-login{width:100%;max-width:540px;margin-inline:auto}
#client-login p{overflow-wrap:anywhere}
#code-form>button{width:100%;margin-top:4px}
@media(max-width:380px){.app-shell{padding-inline:12px}.app-header{gap:10px}.app-header>img{width:46px;height:46px}.app-header strong{font-size:18px;letter-spacing:2px}.app-header span{font-size:9px;letter-spacing:1.5px}#client-login h1{font-size:clamp(22px,7vw,25px)}#code-form .login-privacy{align-items:flex-start}}

/* Mantém o formulário estável ao abrir seletores e revelar opções na agenda móvel. */
#booking-form,#booking-inputs,#client-booking-details{min-width:0;max-width:100%}
#booking-form label{min-width:0;max-width:100%;overflow-wrap:anywhere}
#booking-form input,#booking-form select{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;font-size:16px}
#booking-form select{ text-overflow:ellipsis }
#client-booking-details>*,#client-package-progress{min-width:0;max-width:100%}
#client-booking p,#client-booking small{overflow-wrap:anywhere}
@media(max-width:600px){.booking-date-time{width:100%;gap:8px}.booking-date-time>label{flex:1 1 0}.booking-date-time>label+label{flex:0 0 96px}.booking-submit button{width:min(100%,360px);min-width:0}}
@media(max-width:350px){.booking-date-time{gap:6px}.booking-date-time>label+label{flex-basis:88px}}

/* Evita o zoom automático do navegador ao tocar nos campos de autenticação móvel. */
#client-login input,#verify-form input,#profile-form input,#client-phone-dialog input{font-size:16px}

.record-actions{display:flex;gap:8px;margin-top:8px}.record-actions button{flex:1 1 0;min-width:0;padding:10px 8px}
