:root{
  --blue:#2563eb;
  --blue-dark:#1d4ed8;
  --ink:#132238;
  --muted:#64748b;
  --line:#dce4ef;
  --surface:#ffffff;
  --page:#edf3fb;
  --danger:#dc2626;
  --success:#16a34a;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;background:var(--page);color:var(--ink)}
body{min-height:100dvh}
button,input{font:inherit}
a{color:inherit}

.signup-layout{min-height:100dvh;display:grid;grid-template-columns:minmax(360px,41%) minmax(600px,59%);overflow:hidden}
.signup-showcase{position:relative;min-height:100dvh;padding:clamp(30px,4vw,56px);display:flex;flex-direction:column;color:#fff;overflow:hidden;background:radial-gradient(circle at 12% 12%,rgba(56,189,248,.28),transparent 31%),radial-gradient(circle at 90% 80%,rgba(37,99,235,.35),transparent 34%),linear-gradient(145deg,#07111f 0%,#0b2442 58%,#103a67 100%)}
.signup-showcase::before,.signup-showcase::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}
.signup-showcase::before{width:360px;height:360px;right:-190px;top:70px}
.signup-showcase::after{width:480px;height:480px;left:-250px;bottom:-260px}
.signup-brand{position:relative;z-index:1;display:inline-flex;align-items:center;gap:11px;width:max-content;text-decoration:none;color:#fff}
.brand-symbol{width:42px;height:42px;display:grid!important;place-items:center;border-radius:13px;background:linear-gradient(135deg,#2563eb,#38bdf8);box-shadow:0 12px 28px rgba(37,99,235,.32)}
.signup-brand strong{font-size:1.2rem;letter-spacing:-.025em}.signup-brand strong span{color:#7dd3fc}
.showcase-content{position:relative;z-index:1;margin:auto 0;max-width:590px;padding:28px 0}
.intro-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(147,197,253,.32);border-radius:999px;background:rgba(37,99,235,.18);color:#bfdbfe;font-size:.65rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;backdrop-filter:blur(12px)}
.intro-badge .material-icons-round{font-size:16px}
.showcase-content h1{max-width:570px;margin:19px 0 14px;font-size:clamp(2.25rem,4vw,4.4rem);line-height:1.01;letter-spacing:-.055em}
.showcase-content>p{max-width:520px;margin:0;color:#c2d2e6;font-size:.92rem;line-height:1.65}
.showcase-highlights{display:grid;gap:9px;margin-top:27px;max-width:530px}
.showcase-highlights article{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.055);backdrop-filter:blur(10px)}
.showcase-highlights article>.material-icons-round{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:10px;background:rgba(96,165,250,.16);color:#93c5fd;font-size:18px}
.showcase-highlights strong,.showcase-highlights small{display:block}
.showcase-highlights strong{font-size:.75rem}.showcase-highlights small{margin-top:2px;color:#aebfd3;font-size:.61rem;line-height:1.4}
.showcase-footer{position:relative;z-index:1;display:flex;align-items:center;gap:7px;color:#8fa7c2;font-size:.61rem}.showcase-footer .material-icons-round{font-size:15px}

.signup-workspace{min-width:0;min-height:100dvh;padding:0 clamp(24px,4vw,60px) 18px;display:grid;grid-template-rows:62px minmax(0,1fr) auto;align-items:center;background:radial-gradient(circle at 100% 0,#dbeafe 0,transparent 28%),linear-gradient(180deg,#f7faff 0%,#edf3fb 100%)}
.signup-topbar{width:min(760px,100%);height:62px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:.68rem}
.signup-topbar p{margin:0}.signup-topbar a{color:var(--blue-dark);font-weight:800;text-decoration:none}.signup-topbar a:hover{text-decoration:underline;text-underline-offset:3px}
.secure-status{display:inline-flex;align-items:center;gap:6px}.secure-status .material-icons-round{font-size:16px;color:var(--success)}
.signup-card{width:min(760px,100%);margin:auto;padding:clamp(22px,2.6vw,30px);border:1px solid rgba(203,213,225,.82);border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 28px 75px rgba(37,62,102,.12);backdrop-filter:blur(18px)}
.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.card-heading>div>span{display:block;margin-bottom:5px;color:var(--blue-dark);font-size:.59rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.card-heading h2{margin:0;font-size:1.38rem;letter-spacing:-.035em}.card-heading p{margin:5px 0 0;color:var(--muted);font-size:.68rem}
.trial-chip{flex:0 0 auto;padding:7px 10px;border:1px solid #bbf7d0;border-radius:999px;background:#f0fdf4;color:#15803d;font-size:.6rem;font-weight:800}

.stepper{list-style:none;display:flex;align-items:flex-start;margin:0 0 20px;padding:0}
.step{color:#94a3b8;display:grid;justify-items:center;gap:4px;min-width:66px}
.step span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e7edf5;font-size:.68rem;font-weight:900;transition:.18s ease}
.step small{font-size:.59rem;font-weight:800}
.step.active span{background:var(--blue);color:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.11)}.step.active small{color:var(--blue-dark)}
.step.completed span{background:var(--success);color:#fff}.step.completed small{color:#15803d}
.step-line{height:2px;flex:1;margin-top:14px;background:#e2e8f0}.step-line.completed{background:#86efac}

.form-alert{margin:-5px 0 15px;padding:10px 12px;border:1px solid #fecaca;border-radius:11px;background:#fff1f2;color:#991b1b;font-size:.67rem;line-height:1.45}
.form-step{display:none;min-height:245px}.form-step.active{display:block;animation:stepIn .2s ease}
@keyframes stepIn{from{opacity:.2;transform:translateX(7px)}to{opacity:1;transform:none}}
.step-heading{display:flex;align-items:center;gap:11px;margin-bottom:15px}
.step-heading>.material-icons-round{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;background:#eff6ff;color:var(--blue);font-size:20px}
.step-heading h3{margin:0;font-size:1.02rem;letter-spacing:-.025em}.step-heading p{margin:3px 0 0;color:var(--muted);font-size:.65rem}
.field-grid{display:grid;gap:11px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
label{display:block;margin-bottom:11px;color:#34445a;font-size:.68rem;font-weight:750}label>span[aria-hidden="true"]{color:#dc2626}label small{font-weight:550;color:#94a3b8}
input{display:block;width:100%;height:43px;margin-top:6px;padding:0 12px;border:1px solid #cbd5e1;border-radius:10px;background:#f9fbfd;color:#172033;outline:0;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
input::placeholder{color:#a3afbf}input:hover{border-color:#aebdd0}input:focus{border-color:#60a5fa;background:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.09)}input[aria-invalid="true"]{border-color:#f87171;background:#fff7f7;box-shadow:0 0 0 3px rgba(239,68,68,.08)}
.field-error{display:block;margin:5px 0 0;color:#b91c1c;font-size:.59rem;font-weight:600;line-height:1.35}
.step-tip{display:flex;align-items:center;gap:6px;margin:1px 0 0;color:#718096;font-size:.61rem}.step-tip .material-icons-round{font-size:16px;color:#3b82f6}
.password-field{position:relative;display:block}.password-field input{padding-right:44px}.password-toggle{position:absolute;right:5px;top:11px;width:33px;height:33px;border:0;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;display:grid;place-items:center}.password-toggle:hover{background:#edf4ff;color:var(--blue-dark)}.password-toggle .material-icons-round{font-size:18px}
.password-meter{margin-top:0}.password-strength{height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden}.password-strength span{display:block;height:100%;width:0;background:#ef4444;transition:.2s}.helper{display:block;margin-top:6px;color:#8795a8;font-size:.6rem}

.signup-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.plan-option{position:relative;min-height:105px;margin:0;padding:13px;border:1px solid #dbe3ee;border-radius:14px;background:#fff;cursor:pointer;transition:.16s ease}
.plan-option:hover{transform:translateY(-2px);border-color:#a8c5f7;box-shadow:0 10px 24px rgba(37,99,235,.08)}
.plan-option input{position:absolute;opacity:0;pointer-events:none}.plan-option.selected{border-color:var(--blue);background:#eff6ff;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.plan-option strong,.plan-option small,.plan-option em{display:block}.plan-option strong{font-size:.76rem}.plan-option em{margin:7px 0 5px;color:#0f172a;font-style:normal;font-size:1rem;font-weight:900}.plan-option em small{display:inline;font-size:.55rem;font-weight:650}.plan-option>small{color:#64748b;font-size:.57rem;line-height:1.4}
.plan-badge{position:absolute;right:9px;top:9px;padding:4px 6px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.48rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.consent-box{display:grid;gap:8px;margin-top:12px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.consent-row{display:flex;align-items:flex-start;gap:9px;margin:0;line-height:1.42;font-weight:500}.consent-row input{width:auto;height:auto;flex:0 0 auto;margin:2px 0 0;accent-color:var(--blue)}.consent-row span{font-size:.59rem;color:#526176}
.privacy-note{display:flex;gap:8px;margin-top:9px;padding:9px 10px;border-radius:10px;background:#eff6ff;color:#48617e}.privacy-note .material-icons-round{font-size:17px;color:var(--blue)}.privacy-note p{margin:0;font-size:.57rem;line-height:1.45}

.form-actions{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid #e2e8f0}

/* Garante que as ações de cada etapa não apareçam fora do momento correto. */
.form-actions [hidden]{display:none!important}
.form-actions>span{justify-self:center;color:#94a3b8;font-size:.61rem;font-weight:750}
.primary-button,.secondary-button{height:41px;padding:0 14px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:.68rem;font-weight:820;cursor:pointer;transition:.16s ease}
.primary-button{justify-self:end;border:0;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 9px 20px rgba(37,99,235,.2)}.primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(37,99,235,.26)}
.secondary-button{justify-self:start;border:1px solid #cbd5e1;background:#fff;color:#475569}.secondary-button:hover{background:#f8fafc;border-color:#aebdd0}
.primary-button:disabled{opacity:.65;cursor:wait;transform:none}.material-icons-round{font-size:18px}
.signup-legal{width:min(760px,100%);margin:10px auto 0;color:#8a98aa;text-align:center;font-size:.56rem;line-height:1.45}
.swal2-container{z-index:var(--ct-layer-dialog,2100)!important}

@media (max-width:1080px){
  .signup-layout{grid-template-columns:minmax(310px,36%) minmax(560px,64%)}
  .signup-showcase{padding:30px}.showcase-content h1{font-size:2.65rem}.showcase-content>p{font-size:.82rem}
  .signup-workspace{padding-inline:26px}
}
@media (max-width:900px){
  .signup-layout{display:block;overflow:visible}.signup-showcase{display:none}.signup-workspace{min-height:100dvh;padding:0 22px 20px}.signup-card{margin:auto}.signup-topbar{height:58px}
}
@media (max-width:620px){
  .signup-workspace{padding:0 14px 16px}.signup-topbar{height:54px}.secure-status{display:none}.signup-topbar{justify-content:flex-end}
  .signup-card{padding:19px 16px;border-radius:19px}.card-heading{margin-bottom:16px}.card-heading h2{font-size:1.18rem}.trial-chip{display:none}
  .step{min-width:54px}.step small{font-size:.54rem}.form-step{min-height:0}.field-grid.two,.signup-plans{grid-template-columns:1fr}
  .signup-plans{max-height:245px;overflow:auto;padding:2px}.plan-option{min-height:89px}
  .form-actions{grid-template-columns:1fr 1fr}.form-actions>span{grid-column:1/-1;grid-row:2}.primary-button,.secondary-button{width:100%;justify-self:stretch}.primary-button{margin-left:0}
  .signup-legal{font-size:.53rem}
}
@media (max-height:720px) and (min-width:901px){
  .signup-showcase{padding-block:26px}.showcase-content{padding:15px 0}.showcase-content h1{font-size:2.45rem;margin:14px 0 10px}.showcase-highlights{margin-top:18px}.showcase-highlights article{padding:8px 11px}
  .signup-workspace{grid-template-rows:52px minmax(0,1fr) auto;padding-bottom:10px}.signup-topbar{height:52px}.signup-card{padding:20px 24px}.card-heading{margin-bottom:13px}.stepper{margin-bottom:14px}.form-step{min-height:220px}.form-actions{margin-top:13px;padding-top:12px}.signup-legal{margin-top:5px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
.plan-option:focus-within{outline:3px solid #93c5fd;outline-offset:2px}
.consent-row input[aria-invalid="true"]{outline:2px solid #ef4444;outline-offset:2px}

/* ========================================================================== 
   REGISTRO 2026 — AUTOCOMPLETE DE CIDADE, CABEÇALHO E ALINHAMENTO
   ========================================================================== */
.signup-topbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
}
.signup-accessibility-slot{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.signup-accessibility-slot .ct-a11y-toolbar-button{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  flex-basis:36px!important;
  border-color:#d6e0ed!important;
  box-shadow:none!important;
  background:rgba(255,255,255,.72)!important;
}

.step-heading{
  min-height:44px;
  align-items:center;
}
.step-heading-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.step-heading-copy h3{
  line-height:1.2;
}
.step-heading-copy p{
  line-height:1.42;
}
.form-step[data-step-panel="2"] .step-heading{
  margin-bottom:18px;
}
.form-step[data-step-panel="2"] .step-heading>.material-icons-round{
  align-self:center;
}

.form-field{
  min-width:0;
  margin-bottom:11px;
}
.form-field>label{
  margin-bottom:6px;
}
.field-helper{
  display:block;
  margin-top:6px;
  color:#7b8ba0;
  font-size:.59rem;
  font-weight:550;
  line-height:1.4;
}
.city-autocomplete{
  position:relative;
}
.city-autocomplete>input{
  margin-top:0;
  padding-left:39px;
  padding-right:42px;
}
.city-search-icon{
  position:absolute;
  left:12px;
  top:50%;
  z-index:2;
  transform:translateY(-50%);
  color:#7c8ba0;
  font-size:19px;
  pointer-events:none;
}
.city-loading{
  position:absolute;
  right:12px;
  top:50%;
  z-index:3;
  transform:translateY(-50%);
  color:#2563eb;
  font-size:18px;
  animation:citySpinner .8s linear infinite;
}
.city-loading[hidden]{display:none!important}
@keyframes citySpinner{to{transform:translateY(-50%) rotate(360deg)}}
.city-suggestions{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 7px);
  z-index:1200;
  max-height:260px;
  overflow:auto;
  overscroll-behavior:contain;
  padding:6px;
  border:1px solid #d7e1ed;
  border-radius:13px;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.18);
}
.city-suggestions[hidden]{display:none!important}
.city-option{
  width:100%;
  min-height:43px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#24344b;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px;
  text-align:left;
}
.city-option:hover,
.city-option.is-active{
  background:#eff6ff;
  color:#1d4ed8;
}
.city-option strong{
  display:block;
  font-size:.68rem;
}
.city-option small{
  flex:0 0 auto;
  color:#718096;
  font-size:.58rem;
  font-weight:750;
}
.city-option-empty{
  padding:13px 12px;
  color:#718096;
  font-size:.64rem;
  line-height:1.45;
}
.city-form-field.city-selected .city-search-icon{
  color:#16a34a;
}
.city-form-field.city-selected input{
  border-color:#86efac;
  background:#f7fff9;
}

@media(max-width:640px){
  .signup-topbar-actions{gap:7px}
  .signup-topbar-actions p{font-size:.63rem}
  .signup-accessibility-slot .ct-a11y-toolbar-button{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    flex-basis:34px!important;
  }
  .city-suggestions{position:fixed;left:14px;right:14px;top:auto;max-height:42vh}
}
