
:root{--navy:#1B3F6B;--navy2:#12355b;--gold:#F0AE0D;--turq:#4AB6B8;--ink:#17385e;--muted:#6d8294;--line:#dce6ed;--soft:#f6f9fb;--white:#fff;--shadow:0 25px 70px rgba(13,40,69,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff,#f7fafc);min-height:100vh}.site-header{height:108px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;position:sticky;top:0;z-index:50}.nav{width:min(1220px,calc(100% - 40px));margin:auto;display:flex;align-items:center;gap:34px}.brand img{width:95px;display:block}.links{display:flex;align-items:center;justify-content:center;gap:28px;flex:1}.links a{color:var(--navy);text-decoration:none;font-weight:700;font-size:14px}.links a:hover{color:var(--turq)}.quote{background:var(--gold);padding:15px 21px;border-radius:9px;color:var(--navy)!important}.page{width:min(1120px,calc(100% - 36px));margin:54px auto 90px}.hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:58px;align-items:start}.intro{padding:38px 0}.kicker{color:var(--turq);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800}.intro h1{font-size:clamp(38px,5vw,68px);line-height:1.02;margin:14px 0 22px;color:var(--navy)}.intro p{font-size:18px;line-height:1.65;color:var(--muted);max-width:520px}.panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:34px;box-shadow:var(--shadow)}.panel h2{font-size:27px;margin:0 0 8px;color:var(--navy)}.panel .lead{color:var(--muted);margin:0 0 26px;line-height:1.55}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:800;color:var(--navy)}.field input,.field select,.field textarea{width:100%;border:1px solid #cfdae3;border-radius:13px;background:#fbfdfe;padding:14px 15px;font:inherit;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--turq);box-shadow:0 0 0 3px rgba(74,182,184,.12)}textarea{min-height:150px;resize:vertical}.actions{display:flex;gap:14px;align-items:center;margin-top:24px}.btn{border:0;border-radius:11px;padding:15px 20px;font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:1;font-weight:900;letter-spacing:.02em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-gold{background:var(--gold);color:var(--navy)}.btn-navy{background:var(--navy);color:#fff}.btn-outline{background:#fff;border:1px solid var(--line);color:var(--navy)}.status{min-height:22px;margin-top:16px;font-size:13px;font-weight:700}.status.err{color:#c83a3a}.status.ok{color:#197b63}.note{margin-top:22px;padding:16px 18px;border-radius:15px;background:#f0f8f8;color:#4e6b78;font-size:13px;line-height:1.55}.back{margin-top:24px}.back a{color:var(--navy);font-weight:800;text-decoration:none}.footer{border-top:1px solid var(--line);padding:26px 20px;text-align:center;color:#8294a3;font-size:12px}.wa{position:fixed;right:24px;bottom:24px;width:62px;height:62px;border-radius:50%;background:#25d366;border:5px solid #fff;box-shadow:0 14px 34px rgba(0,0,0,.22);display:grid;place-items:center;z-index:60}.wa svg{width:32px;height:32px;fill:#fff}.wa-tip{position:absolute;right:72px;white-space:nowrap;background:#fff;color:#555;padding:11px 17px;border-radius:22px;box-shadow:0 10px 30px rgba(0,0,0,.15);opacity:0;visibility:hidden;transform:translateX(8px);transition:.18s}.wa:hover .wa-tip{opacity:1;visibility:visible;transform:none}
@media(max-width:860px){.site-header{height:86px}.nav{width:calc(100% - 28px)}.links{display:none}.brand img{width:78px}.quote{margin-left:auto}.hero{grid-template-columns:1fr;gap:22px}.intro{padding:16px 4px 0}.page{margin-top:28px}.panel{padding:24px}.grid{grid-template-columns:1fr}.field.full{grid-column:auto}.wa{right:18px;bottom:18px}.wa-tip{display:none}}



/* ==========================================================
   VETTA — HEADER UNIFICADO COM A HOME
   ========================================================== */
:root{--header-h:108px;--turquoise:var(--turq);}
a{color:inherit;text-decoration:none;}
.site-header{
  position:sticky!important;
  top:0;
  z-index:20000;
  height:var(--header-h)!important;
  display:block!important;
  background:rgba(255,255,255,.97)!important;
  border-bottom:0!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:2px;height:1px;
  background:rgba(27,63,107,.10);
  pointer-events:none;
}
.nav-container{
  width:min(calc(100% - 44px),1220px);
  margin-inline:auto;
}
.nav-wrap{
  height:100%;
  display:grid!important;
  grid-template-columns:130px 1fr auto;
  align-items:center;
  gap:28px!important;
}
.site-header .brand{
  width:94px;
  display:inline-flex;
  align-items:center;
}
.site-header .brand img{width:100%!important;height:auto;display:block;}
.primary-nav{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,2.2vw,34px)!important;
}
.primary-nav .nav-link{
  position:relative;
  color:var(--navy)!important;
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:.01em;
  padding:31px 0 27px;
  text-decoration:none!important;
  white-space:nowrap;
}
.primary-nav .nav-link::after{
  content:"";
  position:absolute;
  left:0;right:100%;bottom:20px;height:2px;
  background:var(--turq);
  transition:right .25s ease;
}
.primary-nav .nav-link:hover::after,.primary-nav .nav-link.active::after{right:0;}
.nav-actions{display:flex;align-items:center;gap:12px;}
.portal-lang-pill{
  min-width:94px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 14px;
  border:1px solid rgba(27,63,107,.13);
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  box-shadow:0 6px 18px rgba(27,63,107,.06);
  font:inherit;
}
.portal-lang-pill .lang-dot{width:8px;height:8px;border-radius:50%;background:var(--turq);flex:0 0 8px;}
.portal-lang-pill strong{font-size:13px;font-weight:800;letter-spacing:.02em;}
.portal-lang-pill svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;}
.header-quote{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border:1px solid transparent;
  border-radius:7px;
  background:var(--gold);
  color:var(--navy)!important;
  box-shadow:0 8px 28px rgba(240,174,13,.22);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.045em;
  line-height:1;
  text-decoration:none!important;
  white-space:nowrap;
  transition:transform .2s ease,box-shadow .2s ease;
}
.header-quote:hover{transform:translateY(-2px);box-shadow:0 13px 32px rgba(240,174,13,.28);text-decoration:none!important;}
.nav-toggle{display:none;background:none;border:0;padding:8px;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0;transition:.25s ease;}

/* ==========================================================
   CADASTRO — CHECKBOX EM LINHA, À ESQUERDA
   ========================================================== */
.terms-row{
  grid-column:1 / -1;
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:10px!important;
  width:100%;
  margin-top:2px;
}
.terms-row input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  margin:1px 0 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:3px!important;
  box-shadow:none!important;
  accent-color:var(--navy);
  justify-self:start!important;
  align-self:start!important;
}
.terms-row label{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:var(--navy);
  font-size:13px;
  font-weight:800;
  line-height:1.4;
  cursor:pointer;
}
#register-form .actions{justify-content:flex-start;}

@media(max-width:1080px){
  :root{--header-h:94px;}
  .nav-wrap{grid-template-columns:100px 1fr auto;gap:15px!important;}
  .site-header .brand{width:80px;}
  .primary-nav{gap:16px!important;}
  .primary-nav .nav-link{font-size:12px!important;}
  .portal-lang-pill{min-width:86px;height:38px;padding:0 11px;}
  .header-quote{min-height:40px;padding:0 13px;font-size:10px;}
}

@media(max-width:820px){
  :root{--header-h:94px;}
  body.nav-open{overflow:hidden;}
  body.nav-open::before{
    content:"";position:fixed;inset:var(--header-h) 0 0;z-index:19500;
    background:rgba(8,28,50,.14);
  }
  .site-header{position:fixed!important;left:0;right:0;top:0;z-index:20000!important;height:var(--header-h)!important;}
  .site-header::after{bottom:5px;}
  body{padding-top:var(--header-h);}
  .nav-container{width:min(calc(100% - 28px),1220px);}
  .nav-wrap{grid-template-columns:1fr auto auto!important;gap:10px!important;}
  .site-header .brand{width:72px;}
  .nav-toggle{display:block;grid-column:3;grid-row:1;z-index:22000;}
  .nav-actions{grid-column:2;grid-row:1;}
  .nav-actions .header-quote{display:none;}
  .portal-lang-pill{min-width:86px;height:42px;padding:0 12px;}
  .primary-nav{
    position:fixed!important;
    top:calc(var(--header-h) + 8px)!important;
    right:16px!important;
    left:auto!important;
    width:min(360px,calc(100vw - 32px))!important;
    height:auto!important;
    max-height:calc(100vh - var(--header-h) - 24px)!important;
    display:flex!important;
    flex-direction:column;
    align-items:stretch!important;
    gap:0!important;
    padding:10px!important;
    border:1px solid rgba(27,63,107,.10);
    border-radius:22px;
    background:#fff!important;
    box-shadow:0 24px 60px rgba(12,34,58,.20),0 4px 14px rgba(12,34,58,.08);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px) scale(.97);
    transform-origin:top right;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
    z-index:21000!important;
    overflow:auto;
  }
  .primary-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);}
  .primary-nav .nav-link{
    padding:13px 14px!important;
    border-radius:13px;
    font-size:15px!important;
  }
  .primary-nav .nav-link::after{display:none;}
  .primary-nav .nav-link:hover,.primary-nav .nav-link.active{background:var(--soft);}
  .page{margin-top:28px;}
  .terms-row{grid-column:auto;}
}


/* VETTA — checkbox de autorização do cadastro */
#register-form .terms-row{
  grid-column:1 / -1!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  margin:2px 0 0!important;
  padding:0!important;
  cursor:pointer!important;
}
#register-form .terms-row input[type="checkbox"]{
  appearance:auto!important;-webkit-appearance:checkbox!important;
  display:block!important;position:static!important;float:none!important;
  flex:0 0 18px!important;width:18px!important;min-width:18px!important;max-width:18px!important;
  height:18px!important;min-height:18px!important;max-height:18px!important;
  margin:1px 0 0!important;padding:0!important;border:0!important;border-radius:3px!important;box-shadow:none!important;
  transform:none!important;accent-color:var(--navy)!important;
}
#register-form .terms-row span{
  display:block!important;flex:1 1 auto!important;margin:0!important;padding:0!important;
  color:var(--navy)!important;font-size:13px!important;font-weight:800!important;line-height:1.4!important;text-align:left!important;
}


.field input.is-invalid{
  border-color:#df4d4d!important;
  box-shadow:0 0 0 3px rgba(223,77,77,.10)!important;
  background:#fffafa!important;
}
.password-rules{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-top:-4px;
}
.password-rules.full{grid-column:1/-1}
.password-rules span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:6px 10px;
  border:1px solid #dce6ed;
  border-radius:999px;
  background:#f8fafc;
  color:#6d8294;
  font-size:10px;
  font-weight:700;
  transition:.18s ease;
}
.password-rules span i{
  width:17px;
  height:17px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e5edf2;
  color:#8fa2b2;
  font-style:normal;
  font-size:10px;
}
.password-rules span.ok{
  border-color:rgba(74,182,184,.35);
  background:rgba(74,182,184,.08);
  color:#247b7f;
}
.password-rules span.ok i{
  background:#4AB6B8;
  color:#fff;
}
@media(max-width:560px){
  .password-rules{display:grid;grid-template-columns:1fr;gap:7px}
  .password-rules span{border-radius:12px}
}

/* Continuação inteligente de cotação — V25 */
.quote-register-context{margin:0 0 18px;padding:17px 18px;border:1px solid rgba(74,182,184,.28);border-radius:16px;background:linear-gradient(135deg,rgba(74,182,184,.10),rgba(255,255,255,.96))}
.quote-register-context[hidden]{display:none!important}
.quote-register-kicker{display:block;color:#2f9295;font-size:10px;font-weight:900;letter-spacing:.12em}
.quote-register-context>strong{display:block;margin-top:6px;color:#1B3F6B;font-size:17px;line-height:1.35}
.quote-register-context>p{margin:7px 0 0;color:#647d94;font-size:12px;line-height:1.6}
.quote-register-chip{display:inline-flex;align-items:center;min-height:30px;margin-top:11px;padding:0 11px;border-radius:999px;background:#fff;border:1px solid rgba(27,63,107,.10);color:#1B3F6B;font-size:10px;font-weight:900}
.quote-register-pending{margin-top:14px;padding:14px 15px;border-radius:12px;background:#eaf8f3;border:1px solid rgba(74,182,184,.30);color:#176d54;font-size:12px;line-height:1.6}

/* Validação de confirmação — V31 */
.password-rules span.bad{
  border-color:rgba(205,55,55,.28);
  background:rgba(205,55,55,.06);
  color:#b02a2a;
}
.password-rules span.bad i{
  background:#fde8e8;
  color:#b02a2a;
}
