.navalha-embed{
  --navalha-primary:#18181a;
  --navalha-accent:#d72638;
  --navalha-surface:#fff;
  --navalha-text:#333;
  --navalha-on-primary:#fff;
  --navalha-on-accent:#fff;
  --navalha-on-surface:#111;
  --navalha-soft:color-mix(in srgb,var(--navalha-surface) 92%,var(--navalha-text) 8%);
  --navalha-border:color-mix(in srgb,var(--navalha-text) 20%,var(--navalha-surface) 80%);
  --navalha-muted:color-mix(in srgb,var(--navalha-text) 68%,var(--navalha-surface) 32%);
  color:var(--navalha-text);
  font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  max-width:1120px;
  margin:1.5rem auto;
  padding:clamp(1rem,4vw,2.5rem);
  border:1px solid var(--navalha-border);
  border-radius:20px;
  background:var(--navalha-surface);
  box-shadow:0 18px 55px color-mix(in srgb,var(--navalha-primary) 11%,transparent);
}
.navalha-embed *{box-sizing:border-box}
.navalha-embed [hidden]{display:none!important}
.navalha-embed a{color:var(--navalha-accent)}
.navalha-embed h2,.navalha-embed h3,.navalha-embed h4,.navalha-embed legend{color:var(--navalha-primary);line-height:1.15}
.navalha-heading h2{font-size:clamp(1.75rem,7vw,3rem);margin:.25rem 0}
.navalha-heading>p:last-child{margin:.5rem 0 1.5rem;color:var(--navalha-muted)}
.navalha-kicker{margin:0;color:var(--navalha-accent);font-size:.78rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.navalha-status{margin:0 0 1rem;padding:0}
.navalha-status:not(:empty){padding:.85rem 1rem;border:1px solid var(--navalha-accent);border-radius:10px;background:color-mix(in srgb,var(--navalha-accent) 10%,var(--navalha-surface));color:var(--navalha-text)}
.navalha-status.is-error{border-color:var(--navalha-accent);background:color-mix(in srgb,var(--navalha-accent) 12%,var(--navalha-surface));color:var(--navalha-text)}
.navalha-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin:0 0 1.5rem;padding:0;list-style:none}
.navalha-steps li{display:flex;align-items:center;gap:.4rem;padding:.6rem .25rem;border-bottom:3px solid var(--navalha-border);color:var(--navalha-muted)}
.navalha-steps span{display:grid;width:1.6rem;height:1.6rem;place-items:center;border-radius:50%;background:var(--navalha-soft);font-size:.8rem}
.navalha-steps [aria-current=step]{border-color:var(--navalha-accent);color:var(--navalha-primary);font-weight:800}
.navalha-steps [aria-current=step] span{background:var(--navalha-accent);color:var(--navalha-on-accent)}
.navalha-layout{display:grid;gap:1.2rem}
.navalha-panel{min-width:0;margin:0;padding:0;border:0}
.navalha-panel legend{display:block;width:100%;margin:0 0 .45rem;padding:0;font-size:1.45rem;font-weight:800}
.navalha-step-note{margin:.2rem 0 1rem;color:var(--navalha-muted);font-size:.9rem}
.navalha-label,.navalha-fields label{display:grid;gap:.35rem;margin-bottom:1rem;color:var(--navalha-primary);font-weight:700}
.navalha-embed input,.navalha-embed select,.navalha-embed textarea{width:100%;min-height:48px;padding:.75rem;border:1px solid var(--navalha-border);border-radius:10px;background:var(--navalha-surface);color:var(--navalha-text);font:inherit}
.navalha-embed input::placeholder,.navalha-embed textarea::placeholder{color:var(--navalha-muted)}
.navalha-embed input:focus,.navalha-embed select:focus,.navalha-embed textarea:focus,.navalha-embed button:focus-visible,.navalha-choice:focus-within,.navalha-slot:focus-within,.navalha-professional-card:focus-within{outline:3px solid color-mix(in srgb,var(--navalha-accent) 65%,transparent);outline-offset:2px}
.navalha-offerings{display:grid;gap:.8rem;margin-top:1rem}
.navalha-choice{display:block;cursor:pointer}
.navalha-choice input,.navalha-slot input,.navalha-professional-card input{position:absolute;width:1px;height:1px;min-height:0;padding:0;border:0;opacity:0}
.navalha-choice>span{display:grid;gap:.2rem;padding:.85rem;border:2px solid var(--navalha-border);border-radius:14px;background:var(--navalha-surface);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.navalha-service-card-body{grid-template-columns:78px minmax(0,1fr)!important;align-items:center;gap:.85rem!important}
.navalha-service-image{display:block;width:78px;height:78px;border-radius:12px;object-fit:cover;background:var(--navalha-soft)}
.navalha-service-copy{display:grid;gap:.15rem;min-width:0}
.navalha-choice small{color:var(--navalha-accent);font-weight:800;text-transform:uppercase}
.navalha-choice strong{font-size:1.08rem;overflow-wrap:anywhere}
.navalha-choice em{color:var(--navalha-muted);font-style:normal}
.navalha-choice input:checked+span{border-color:var(--navalha-accent);box-shadow:0 0 0 1px var(--navalha-accent),0 12px 28px color-mix(in srgb,var(--navalha-accent) 14%,transparent)}
.navalha-calendar{margin-top:1rem}
.navalha-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1rem}
.navalha-slot span{display:block;padding:.7rem .35rem;border:2px solid var(--navalha-border);border-radius:9px;text-align:center;font-weight:700;cursor:pointer}
.navalha-slot input:checked+span{border-color:var(--navalha-accent);background:var(--navalha-accent);color:var(--navalha-on-accent)}
.navalha-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.3rem}
.navalha-button,.navalha-link{min-height:46px;padding:.72rem 1.1rem;border:2px solid var(--navalha-primary);border-radius:10px;font:700 inherit;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.navalha-button{margin-left:auto;background:var(--navalha-primary);color:var(--navalha-on-primary)}
.navalha-button:hover{background:var(--navalha-accent);border-color:var(--navalha-accent);color:var(--navalha-on-accent)}
.navalha-button:disabled{cursor:wait;opacity:.65}
.navalha-link{background:transparent;color:var(--navalha-primary)}
.navalha-summary{align-self:start;padding:1rem;border:1px solid var(--navalha-border);border-radius:14px;background:var(--navalha-soft)}
.navalha-summary h3{margin-top:0}
.navalha-summary dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem .75rem;margin:0}
.navalha-summary dt{color:var(--navalha-muted)}
.navalha-summary dd{margin:0;text-align:right;font-weight:700}
.navalha-total{display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--navalha-border);font-size:1.1rem}
.navalha-fields{display:grid;gap:0 1rem}
.navalha-wide{grid-column:1/-1}
.navalha-consent{font-size:.9rem;color:var(--navalha-muted)}
.navalha-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.navalha-notice{padding:1rem;border-left:4px solid var(--navalha-accent);border-radius:7px;background:var(--navalha-soft)}
.navalha-success{padding:2rem 1rem;text-align:center}
.navalha-success>span{display:grid;width:3rem;height:3rem;margin:auto;place-items:center;border-radius:50%;background:var(--navalha-accent);color:var(--navalha-on-accent);font-size:1.5rem}
.navalha-grid,.navalha-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}
.navalha-card{padding:1rem;border:1px solid var(--navalha-border);border-radius:14px;background:var(--navalha-surface)}

/* Profissionais */
.navalha-professionals{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem}
.navalha-professional-card{display:block;cursor:pointer}
.navalha-professional-card>span{display:grid;justify-items:center;gap:.55rem;height:100%;padding:1rem;border:2px solid var(--navalha-border);border-radius:16px;background:var(--navalha-surface);text-align:center;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.navalha-professional-card img,.navalha-professional-placeholder{display:grid;width:112px;height:112px;place-items:center;border-radius:50%;object-fit:cover;background:var(--navalha-soft);color:var(--navalha-accent);font-size:2.5rem;font-weight:850}
.navalha-professional-card strong{font-size:1.08rem}
.navalha-professional-card small{color:var(--navalha-muted);font-weight:700}
.navalha-professional-card input:checked+span{border-color:var(--navalha-accent);box-shadow:0 0 0 1px var(--navalha-accent),0 12px 30px color-mix(in srgb,var(--navalha-accent) 15%,transparent)}
.navalha-professional-card input:checked+span small{color:var(--navalha-accent)}
.navalha-professional-card.is-unavailable{cursor:not-allowed;opacity:.42}
.navalha-professional-card.is-unavailable>span{filter:grayscale(1)}

/* Área do cliente */
.navalha-account-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}
.navalha-account-brand{display:flex;align-items:center;gap:.85rem}
.navalha-account-brand-logo{width:64px;height:64px;border-radius:13px;object-fit:contain;background:var(--navalha-soft);padding:.35rem}
.navalha-account-heading h2{margin:.25rem 0}
.navalha-account-heading p:last-child{margin:.4rem 0 0;color:var(--navalha-muted)}
.navalha-account-logout{padding:.55rem .8rem;border:1px solid var(--navalha-border);border-radius:9px;color:var(--navalha-primary);font-weight:700;text-decoration:none}
.navalha-account-logout:hover{border-color:var(--navalha-accent);color:var(--navalha-accent)}
.navalha-account-list{grid-template-columns:1fr}
.navalha-account-card{display:grid;gap:1rem}
.navalha-account-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.navalha-account-card-heading small{color:var(--navalha-muted);font-weight:700;text-transform:uppercase}
.navalha-account-card-heading h3{margin:.2rem 0 0}
.navalha-booking-status{display:inline-flex;padding:.35rem .65rem;border:1px solid color-mix(in srgb,var(--navalha-accent) 28%,var(--navalha-border));border-radius:999px;background:color-mix(in srgb,var(--navalha-accent) 10%,var(--navalha-surface));color:var(--navalha-text);font-size:.78rem;font-weight:800}
.navalha-booking-status.is-approved,.navalha-booking-status.is-confirmed,.navalha-booking-status.is-completed{background:color-mix(in srgb,var(--navalha-accent) 16%,var(--navalha-surface));border-color:color-mix(in srgb,var(--navalha-accent) 55%,var(--navalha-border))}
.navalha-booking-status.is-cancelled{opacity:.62}
.navalha-account-card dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem 1rem;margin:0}
.navalha-account-card dt{color:var(--navalha-muted)}
.navalha-account-card dd{min-width:0;margin:0;text-align:right;font-weight:700;overflow-wrap:anywhere}
.navalha-customer-cancel{justify-self:start;min-height:42px;padding:.6rem .9rem;border:1px solid var(--navalha-accent);border-radius:9px;background:transparent;color:var(--navalha-accent);font:700 inherit;cursor:pointer}
.navalha-customer-cancel:hover{background:var(--navalha-accent);color:var(--navalha-on-accent)}

/* Login de cliente e barbeiro */
.navalha-login-shell{max-width:660px;background:transparent;border:0;box-shadow:none;padding:clamp(.5rem,2vw,1.5rem)}
.navalha-login-card{position:relative;overflow:hidden;padding:clamp(1.35rem,5vw,2.5rem);border:1px solid var(--navalha-border);border-radius:22px;background:var(--navalha-surface);box-shadow:0 20px 60px color-mix(in srgb,var(--navalha-primary) 13%,transparent)}
.navalha-login-card::after{content:"";position:absolute;right:-80px;top:-80px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--navalha-accent) 24%,transparent),transparent 70%);pointer-events:none}
.navalha-login-logo{display:block;max-width:150px;max-height:78px;margin:0 0 1rem;object-fit:contain;object-position:left center}
.navalha-login-card h2{margin:.2rem 0 .5rem;font-size:clamp(1.65rem,5vw,2.35rem)}
.navalha-login-card>p:not(.navalha-kicker):not(.navalha-status){margin:.4rem 0 1.35rem;color:var(--navalha-muted)}
.navalha-login-card form{position:relative;z-index:1}
.navalha-login-card .login-username,.navalha-login-card .login-password{display:grid;gap:.35rem;margin:.8rem 0;color:var(--navalha-primary);font-weight:700}
.navalha-login-card .login-remember{display:flex;align-items:center;gap:.45rem;margin:.85rem 0;color:var(--navalha-muted);font-size:.9rem}
.navalha-login-card .login-remember input{width:auto;min-height:0}
.navalha-login-card .login-submit{margin:.8rem 0 0}
.navalha-login-card .login-submit input{border:1px solid var(--navalha-accent);background:var(--navalha-accent);color:var(--navalha-on-accent);font-weight:800;cursor:pointer}
.navalha-login-card .login-submit input:hover{box-shadow:0 9px 24px color-mix(in srgb,var(--navalha-accent) 24%,transparent)}
.navalha-login-links{margin-top:.85rem}
.navalha-login-links a{font-weight:750;text-decoration:none}
.navalha-create-account{margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--navalha-border)}
.navalha-create-account summary{cursor:pointer;color:var(--navalha-primary);font-weight:800}
.navalha-create-account>p{color:var(--navalha-muted);font-size:.9rem}
.navalha-create-account form{display:grid;gap:.8rem}
.navalha-create-account label{display:grid;gap:.3rem;color:var(--navalha-primary);font-weight:700}
.navalha-create-account .navalha-button{margin:0}

@media(min-width:720px){
  .navalha-layout{grid-template-columns:minmax(0,1fr) 300px;gap:2rem}
  .navalha-summary{position:sticky;top:1rem}
  .navalha-offerings{grid-template-columns:repeat(2,1fr)}
  .navalha-fields{grid-template-columns:repeat(2,1fr)}
  .navalha-slots{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:560px){
  .navalha-professionals{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
  .navalha-professional-card>span{padding:.8rem .5rem}
  .navalha-professional-card img,.navalha-professional-placeholder{width:82px;height:82px}
  .navalha-account-heading,.navalha-account-card-heading{display:grid}
  .navalha-account-logout{justify-self:start}
  .navalha-account-card dl{grid-template-columns:1fr}
  .navalha-account-card dd{text-align:left}
  .navalha-customer-cancel{width:100%}
}
@media(max-width:420px){
  .navalha-embed{margin:.75rem 0;padding:1rem;border-radius:14px}
  .navalha-steps li{display:grid;justify-items:center;font-size:.72rem}
  .navalha-steps li span{display:none}
  .navalha-slots{grid-template-columns:repeat(2,1fr)}
  .navalha-actions{position:sticky;bottom:0;z-index:4;padding:.75rem 0;background:color-mix(in srgb,var(--navalha-surface) 94%,transparent);backdrop-filter:blur(12px)}
  .navalha-service-card-body{grid-template-columns:64px minmax(0,1fr)!important}
  .navalha-service-image{width:64px;height:64px}
}
@media(prefers-reduced-motion:no-preference){
  .navalha-choice:hover>span,.navalha-professional-card:not(.is-unavailable):hover>span,.navalha-button:hover{transform:translateY(-2px)}
}

.navalha-account-contact{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.6rem .9rem;border:1px solid var(--navalha-accent);border-radius:9px;background:var(--navalha-accent);color:var(--navalha-on-accent)!important;font-weight:750;text-decoration:none}.navalha-account-contact:hover{box-shadow:0 8px 22px color-mix(in srgb,var(--navalha-accent) 24%,transparent)}
