.navalha-premium-shell{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--navalha-primary) 94%,#000 6%),color-mix(in srgb,var(--navalha-primary) 78%,#000 22%))!important;
  color:var(--navalha-on-primary)!important;
  border:1px solid color-mix(in srgb,var(--navalha-accent) 48%,transparent)!important;
  border-radius:24px!important;
  box-shadow:0 26px 74px color-mix(in srgb,var(--navalha-accent) 17%,transparent)!important;
}
.navalha-premium-shell::before{
  content:"";
  position:absolute;
  z-index:0;
  width:420px;
  height:420px;
  right:-145px;
  top:-165px;
  border-radius:50%;
  background:var(--navalha-accent);
  filter:blur(68px);
  opacity:.52;
  pointer-events:none;
  transform:translate3d(-15px,10px,0) scale(.88);
  will-change:transform,opacity;
  animation:navalha-accent-drift 3.8s cubic-bezier(.45,.05,.55,.95) infinite alternate both;
}
.navalha-premium-shell::after{
  content:"";
  position:absolute;
  z-index:0;
  width:300px;
  height:300px;
  left:-135px;
  bottom:-155px;
  border-radius:50%;
  background:var(--navalha-accent);
  filter:blur(76px);
  opacity:.24;
  pointer-events:none;
  transform:translate3d(0,0,0) scale(.9);
  will-change:transform,opacity;
  animation:navalha-accent-drift-secondary 5.4s ease-in-out infinite alternate both;
}
.navalha-premium-shell>*{position:relative;z-index:1}
.navalha-premium-shell h2,.navalha-premium-shell h3,.navalha-premium-shell h4,.navalha-premium-shell legend,.navalha-premium-shell .navalha-label,.navalha-premium-shell label{color:var(--navalha-on-primary)!important}
.navalha-premium-shell .navalha-heading>p:last-child,.navalha-premium-shell .navalha-summary dt,.navalha-premium-shell .navalha-choice em,.navalha-premium-shell .navalha-step-note,.navalha-premium-shell .navalha-consent,.navalha-premium-shell .navalha-account-heading p:last-child,.navalha-premium-shell .navalha-account-card dt,.navalha-premium-shell .navalha-login-card>p:not(.navalha-kicker):not(.navalha-status),.navalha-premium-shell .navalha-login-card .login-remember,.navalha-premium-shell .navalha-create-account>p{color:color-mix(in srgb,var(--navalha-on-primary) 72%,transparent)!important}
.navalha-premium-shell input,.navalha-premium-shell select,.navalha-premium-shell textarea{background:color-mix(in srgb,#000 20%,transparent)!important;border-color:color-mix(in srgb,var(--navalha-on-primary) 22%,transparent)!important;color:var(--navalha-on-primary)!important}
.navalha-premium-shell input::placeholder,.navalha-premium-shell textarea::placeholder{color:color-mix(in srgb,var(--navalha-on-primary) 55%,transparent)!important}
.navalha-premium-shell option{background:var(--navalha-primary);color:var(--navalha-on-primary)}
.navalha-premium-shell .navalha-card,.navalha-premium-shell .navalha-login-card{background:color-mix(in srgb,#000 18%,transparent)!important;border-color:color-mix(in srgb,var(--navalha-on-primary) 16%,transparent)!important;box-shadow:0 18px 46px rgba(0,0,0,.16)!important}
.navalha-premium-shell .navalha-login-card::after{display:none!important}
.navalha-premium-shell .navalha-account-brand-logo,.navalha-premium-shell .navalha-login-logo{background:color-mix(in srgb,var(--navalha-on-primary) 8%,transparent)!important;border:1px solid color-mix(in srgb,var(--navalha-on-primary) 15%,transparent)}
.navalha-premium-shell .navalha-account-logout{border-color:color-mix(in srgb,var(--navalha-on-primary) 26%,transparent)!important;color:var(--navalha-on-primary)!important;background:color-mix(in srgb,var(--navalha-on-primary) 5%,transparent)}
.navalha-premium-shell .navalha-account-logout:hover{border-color:var(--navalha-accent)!important;color:var(--navalha-accent)!important}
.navalha-premium-shell .navalha-account-card code{color:var(--navalha-on-primary);background:color-mix(in srgb,var(--navalha-on-primary) 8%,transparent)}
.navalha-premium-shell .navalha-create-account{border-color:color-mix(in srgb,var(--navalha-on-primary) 15%,transparent)!important}
.navalha-premium-shell .navalha-create-account summary{color:var(--navalha-on-primary)!important}
.navalha-premium-shell .navalha-status:not(:empty),.navalha-premium-shell .navalha-notice{background:color-mix(in srgb,var(--navalha-accent) 18%,transparent)!important;color:var(--navalha-on-primary)!important;border-color:var(--navalha-accent)!important}

.navalha-booking .navalha-summary{background:color-mix(in srgb,var(--navalha-on-primary) 7%,transparent)!important;border:1px solid color-mix(in srgb,var(--navalha-on-primary) 14%,transparent)}
.navalha-booking .navalha-steps{grid-template-columns:repeat(4,1fr)!important;gap:.65rem}
.navalha-booking .navalha-steps li{color:var(--navalha-on-primary)!important;opacity:1!important;border:1px solid color-mix(in srgb,var(--navalha-on-primary) 20%,transparent)!important;border-radius:12px;background:color-mix(in srgb,var(--navalha-on-primary) 4%,transparent);justify-content:center}
.navalha-booking .navalha-steps li span{color:var(--navalha-on-primary)!important;background:color-mix(in srgb,var(--navalha-on-primary) 11%,transparent)}
.navalha-booking .navalha-steps [aria-current=step]{border-color:var(--navalha-accent)!important;background:color-mix(in srgb,var(--navalha-accent) 28%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--navalha-accent) 40%,var(--navalha-on-primary))}
.navalha-booking .navalha-steps [aria-current=step] span{background:var(--navalha-accent)!important;color:var(--navalha-on-accent)!important}
.navalha-booking .navalha-choice>span,.navalha-booking .navalha-professional-card>span{background:color-mix(in srgb,var(--navalha-on-primary) 5%,transparent)!important;border-color:color-mix(in srgb,var(--navalha-on-primary) 16%,transparent)!important}
.navalha-booking .navalha-choice input:checked+span,.navalha-booking .navalha-professional-card input:checked+span{background:color-mix(in srgb,var(--navalha-accent) 40%,transparent)!important;border-color:var(--navalha-accent)!important}
.navalha-booking .navalha-professional-card small{color:color-mix(in srgb,var(--navalha-on-primary) 72%,transparent)!important}
.navalha-booking .navalha-service-image{background:color-mix(in srgb,var(--navalha-on-primary) 9%,transparent);border:1px solid color-mix(in srgb,var(--navalha-on-primary) 12%,transparent)}
.navalha-booking .navalha-calendar{max-width:680px;padding:1.1rem;border:1px solid color-mix(in srgb,var(--navalha-on-primary) 17%,transparent);border-radius:18px;background:color-mix(in srgb,#000 20%,transparent)}
.navalha-calendar-heading{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:1rem}
.navalha-calendar-title{margin:0;color:var(--navalha-on-primary);font-size:1rem;font-weight:850;letter-spacing:.02em;text-align:center;text-transform:capitalize}
.navalha-calendar-nav{width:36px;height:36px;border:1px solid color-mix(in srgb,var(--navalha-on-primary) 20%,transparent);border-radius:11px;background:color-mix(in srgb,var(--navalha-on-primary) 8%,transparent);color:var(--navalha-on-primary);font:900 1.55rem/1 inherit;cursor:pointer}
.navalha-calendar-nav:last-child{justify-self:end}.navalha-calendar-nav:hover:not(:disabled){border-color:var(--navalha-accent);background:var(--navalha-accent);color:var(--navalha-on-accent)}.navalha-calendar-nav:disabled{cursor:not-allowed;opacity:.32}
.navalha-calendar-week,.navalha-calendar-days{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:.38rem;text-align:center}.navalha-calendar-week{margin-bottom:.42rem;color:var(--navalha-on-primary)!important;font-size:.7rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.navalha-calendar-week span{display:flex;min-height:27px;align-items:center;justify-content:center}.navalha-calendar-day,.navalha-calendar-empty{min-height:44px;border-radius:11px}.navalha-calendar-day{border:1px solid color-mix(in srgb,var(--navalha-on-primary) 16%,transparent);background:color-mix(in srgb,var(--navalha-on-primary) 5.5%,transparent);color:var(--navalha-on-primary);font:750 .93rem inherit;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.navalha-calendar-day:hover:not(:disabled){transform:translateY(-1px);border-color:var(--navalha-accent);background:color-mix(in srgb,var(--navalha-accent) 30%,transparent)}.navalha-calendar-day[aria-pressed=true]{border-color:var(--navalha-accent);background:var(--navalha-accent);color:var(--navalha-on-accent);box-shadow:0 7px 20px color-mix(in srgb,var(--navalha-accent) 42%,transparent)}.navalha-calendar-day.is-past{background:transparent;border-color:transparent;color:color-mix(in srgb,var(--navalha-on-primary) 25%,transparent);cursor:not-allowed}
.navalha-booking .navalha-slot span{background:color-mix(in srgb,var(--navalha-on-primary) 6%,transparent);border-color:color-mix(in srgb,var(--navalha-on-primary) 18%,transparent)!important;color:var(--navalha-on-primary)}.navalha-booking .navalha-slot input:checked+span{background:var(--navalha-accent);color:var(--navalha-on-accent)}
.navalha-premium-shell .navalha-button,.navalha-booking .navalha-button{border-color:var(--navalha-accent)!important;background:var(--navalha-accent)!important;color:var(--navalha-on-accent)!important;box-shadow:0 8px 24px color-mix(in srgb,var(--navalha-accent) 38%,transparent)}
.navalha-booking .navalha-link{border-color:color-mix(in srgb,var(--navalha-on-primary) 30%,transparent)!important;color:var(--navalha-on-primary)!important}

@keyframes navalha-accent-drift{
  0%{transform:translate3d(-58px,-8px,0) scale(.8);opacity:.34}
  35%{transform:translate3d(26px,44px,0) scale(1.08);opacity:.62}
  70%{transform:translate3d(-10px,104px,0) scale(1.22);opacity:.48}
  100%{transform:translate3d(54px,58px,0) scale(.96);opacity:.58}
}
@keyframes navalha-accent-drift-secondary{
  0%{transform:translate3d(-24px,18px,0) scale(.84);opacity:.14}
  50%{transform:translate3d(52px,-20px,0) scale(1.18);opacity:.31}
  100%{transform:translate3d(96px,-62px,0) scale(1.06);opacity:.22}
}
@media(max-width:560px){.navalha-premium-shell{border-radius:18px!important}.navalha-premium-shell::before{width:330px;height:330px;right:-145px}.navalha-booking .navalha-steps li{font-size:.68rem;padding:.5rem .1rem}.navalha-booking .navalha-steps span{display:none}.navalha-booking .navalha-calendar{padding:.8rem}.navalha-calendar-week,.navalha-calendar-days{gap:.22rem}.navalha-calendar-week{font-size:.63rem}.navalha-calendar-day,.navalha-calendar-empty{min-height:39px;border-radius:9px}.navalha-calendar-nav{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.navalha-premium-shell::before,.navalha-premium-shell::after{animation:none!important;transform:none!important}}

/* Serviço adicional opcional */
.navalha-addons{margin-top:1.2rem;padding:1rem;border:1px solid color-mix(in srgb,var(--navalha-accent) 42%,transparent);border-radius:16px;background:color-mix(in srgb,var(--navalha-accent) 8%,transparent)}
.navalha-addons-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.75rem}
.navalha-addons-heading small{display:block;color:var(--navalha-accent);font-size:.67rem;font-weight:900;letter-spacing:.1em}
.navalha-addons-heading h3{margin:.16rem 0 0;font-size:1.05rem}
.navalha-addons-heading>span{color:color-mix(in srgb,var(--navalha-on-primary) 64%,transparent);font-size:.78rem}
.navalha-addon-offerings{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.navalha-addon-offering .navalha-service-image{width:62px;height:62px}.navalha-addon-offering .navalha-service-card-body{grid-template-columns:62px minmax(0,1fr)!important}
.navalha-field-help{display:block;margin-top:.1rem;color:color-mix(in srgb,var(--navalha-on-primary) 60%,transparent)!important;font-size:.74rem;font-weight:500}
@media(max-width:560px){.navalha-addons-heading{display:grid}.navalha-addon-offerings{grid-template-columns:1fr}}

/* Fluxo 0.7: seis etapas, conta e confirmação enxuta */
.navalha-booking .navalha-steps{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.navalha-account-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.navalha-account-options label{position:relative;cursor:pointer}
.navalha-account-options input{position:absolute;opacity:0;pointer-events:none}
.navalha-account-options label>span{display:grid;gap:.25rem;min-height:110px;padding:1rem;border:1px solid color-mix(in srgb,var(--navalha-on-primary) 18%,transparent);border-radius:14px;background:color-mix(in srgb,var(--navalha-on-primary) 5%,transparent);transition:border-color .16s ease,background .16s ease,transform .16s ease}
.navalha-account-options label:hover>span{transform:translateY(-1px);border-color:color-mix(in srgb,var(--navalha-accent) 70%,transparent)}
.navalha-account-options input:checked+span{border-color:var(--navalha-accent);background:color-mix(in srgb,var(--navalha-accent) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--navalha-accent) 42%,transparent)}
.navalha-account-options strong{color:var(--navalha-on-primary);font-size:1rem}
.navalha-account-options small{color:color-mix(in srgb,var(--navalha-on-primary) 66%,transparent);line-height:1.45}
.navalha-account-choice{display:grid;gap:.25rem;padding:1rem;border:1px solid color-mix(in srgb,var(--navalha-on-primary) 18%,transparent);border-radius:14px;background:color-mix(in srgb,var(--navalha-on-primary) 6%,transparent)}
.navalha-account-choice.is-connected{border-color:color-mix(in srgb,var(--navalha-accent) 65%,transparent)}
.navalha-account-choice strong{color:var(--navalha-on-primary)}
.navalha-account-choice span{color:color-mix(in srgb,var(--navalha-on-primary) 68%,transparent)}
.navalha-inline-login{display:grid;grid-template-columns:1fr 1fr auto;gap:.65rem;align-items:end;margin:1rem 0;padding:1rem;border:1px solid color-mix(in srgb,var(--navalha-accent) 45%,transparent);border-radius:14px;background:color-mix(in srgb,#000 16%,transparent)}
.navalha-inline-login[hidden]{display:none!important}
.navalha-inline-login label{display:grid;gap:.25rem;font-size:.78rem;font-weight:750}
.navalha-inline-login input{min-height:44px;padding:.55rem .65rem;border-radius:9px}
.navalha-inline-login>a{grid-column:1/-1;width:max-content;color:var(--navalha-accent);font-size:.82rem}
.navalha-confirmation-review{margin:0 0 1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--navalha-accent) 48%,transparent);border-radius:14px;background:color-mix(in srgb,var(--navalha-accent) 9%,transparent)}
.navalha-confirmation-review>strong{display:block;margin-bottom:.65rem;color:var(--navalha-on-primary);font-size:1rem}
.navalha-confirmation-review dl,.navalha-success-details{display:grid;grid-template-columns:minmax(105px,.7fr) minmax(0,1.3fr);gap:.4rem .75rem;margin:0}
.navalha-confirmation-review dt,.navalha-success-details dt{color:color-mix(in srgb,var(--navalha-on-primary) 58%,transparent);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.navalha-confirmation-review dd,.navalha-success-details dd{margin:0;color:var(--navalha-on-primary);font-weight:700;overflow-wrap:anywhere}
.navalha-password-field[hidden]{display:none!important}
.navalha-success{display:grid;justify-items:start;gap:1rem}
.navalha-success[hidden]{display:none!important}
.navalha-success-details{width:min(100%,580px);padding:1rem;border:1px solid color-mix(in srgb,var(--navalha-on-primary) 16%,transparent);border-radius:14px;background:color-mix(in srgb,var(--navalha-on-primary) 5%,transparent)}
.navalha-success-account{display:inline-flex!important;width:auto!important;text-decoration:none!important}
.navalha-account-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}
.navalha-new-booking-button{display:inline-flex!important;width:auto!important;min-height:38px!important;padding:.5rem .8rem!important;text-decoration:none!important}
.navalha-empty-account{display:grid;gap:.8rem;justify-items:start}
.navalha-empty-account .navalha-button{width:auto!important;text-decoration:none!important}
.navalha-addons-step{margin-top:0}
@media(max-width:820px){.navalha-booking .navalha-steps{grid-template-columns:repeat(3,minmax(0,1fr))!important}.navalha-inline-login{grid-template-columns:1fr}.navalha-inline-login>a{grid-column:auto}}
@media(max-width:560px){.navalha-account-options{grid-template-columns:1fr}.navalha-booking .navalha-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}.navalha-confirmation-review dl,.navalha-success-details{grid-template-columns:1fr;gap:.12rem}.navalha-confirmation-review dd,.navalha-success-details dd{margin-bottom:.45rem}.navalha-account-header-actions{justify-content:flex-start}}

/* 0.7.1: para contas já autenticadas, a última etapa mostra só o resumo do agendamento. */
.navalha-booking .navalha-fields[hidden]{display:none!important}

/* 0.8: progresso discreto e prevenção do zoom automático do iOS ao focar campos. */
.navalha-booking .navalha-step-indicator{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:.15rem 0 1rem;padding:.42rem .7rem;border:1px solid color-mix(in srgb,var(--navalha-accent) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--navalha-accent) 10%,transparent);color:var(--navalha-on-primary);font-size:.76rem;font-weight:800;letter-spacing:.015em}
.navalha-booking .navalha-step-indicator::before{content:'';width:7px;height:7px;margin-right:.45rem;border-radius:50%;background:var(--navalha-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--navalha-accent) 18%,transparent)}
.navalha-booking .navalha-step-indicator[hidden]{display:none!important}
@media(max-width:820px){
  .navalha-booking input:not([type=checkbox]):not([type=radio]),.navalha-booking select,.navalha-booking textarea{font-size:16px!important}
}
