*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f3f6fa;color:#10233f}.container{max-width:1100px;margin:auto;padding:24px}.brand{background:#fff;border-radius:18px;padding:22px;margin-bottom:20px;box-shadow:0 5px 20px #0001}.brand h1{margin:0;color:#0877d1}.brand h1 span{color:#c89b2c}.brand p{margin:6px 0 0}.card{background:#fff;border-radius:18px;padding:24px;margin-bottom:20px;box-shadow:0 5px 20px #0001}.card h2{margin-top:0;border-bottom:2px solid #dce8f5;padding-bottom:10px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid .full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-weight:700}input,select,textarea{width:100%;border:1px solid #cad8e7;border-radius:10px;padding:13px;font-size:16px;background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid #99c8f0;border-color:#0877d1}input[readonly]{background:#eef3f8}.check{display:flex;flex-direction:row;align-items:flex-start;font-weight:400;margin:12px 0}.check input{width:auto;margin-top:2px}.notice{background:#eef7ff;border-left:5px solid #0877d1;border-radius:10px;padding:15px}.hidden{display:none!important}.actions{text-align:center;margin:25px 0}button{border:0;border-radius:11px;padding:14px 22px;background:#0877d1;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.secondary{background:#e8eef5;color:#17324d}.modal{position:fixed;inset:0;background:#0008;display:flex;align-items:center;justify-content:center;padding:18px;z-index:1000}.modal-box{width:min(1240px,96vw);max-height:96vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;position:relative}.close{position:absolute;right:15px;top:10px;background:transparent;color:#345;font-size:30px;padding:4px}.summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-item{border:1px solid #d7e2ee;background:#f8fafc;border-radius:12px;padding:13px;min-height:72px}.summary-item span{display:block;font-size:12px;color:#526d88;text-transform:uppercase;margin-bottom:6px}.summary-item strong{word-break:break-word}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.hint{font-size:13px;color:#526d88}.ok{color:#16833d}.error{color:#c62828}body.modal-open{overflow:hidden}@media(max-width:720px){.container{padding:10px}.grid,.summary{grid-template-columns:1fr}.grid .full{grid-column:auto}.card{padding:17px}.modal{padding:0}.modal-box{width:100vw;height:100vh;max-height:none;border-radius:0;padding:18px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}@media print{body{background:#fff}.actions,.modal{display:none!important}}
label small{font-weight:400;color:#60758a}.modal-actions button:disabled{opacity:.65;cursor:wait}

.uploads-grid input[type=file]{padding:10px;background:#f8fafc}.uploads-grid label{min-width:0}

.assinatura-box{max-width:760px}
.signature-wrap{background:#fff;border:2px dashed #9db2c7;border-radius:14px;padding:12px;margin-top:16px;text-align:center}
#signatureCanvas{width:100%;height:260px;display:block;background:#fff;border-radius:8px;touch-action:none}
.signature-line{height:1px;background:#5e7185;margin:0 25px 5px}
.signature-wrap small{color:#60758a}
@media(max-width:720px){#signatureCanvas{height:320px}.assinatura-box .modal-actions{position:sticky;bottom:0;background:#fff;padding-top:12px}}

/* Tipo de cliente: cartões responsivos e totalmente clicáveis */
.tipo-pessoa{
  min-width:0;
  margin:0 0 22px;
  padding:0;
  border:0;
}
.tipo-pessoa legend{
  width:100%;
  margin:0 0 11px;
  padding:0;
  color:#10233f;
  font-size:16px;
  font-weight:700;
}
.tipo-pessoa-opcoes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.tipo-pessoa-card{
  display:block;
  min-width:0;
  margin:0;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.tipo-pessoa-card>input{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
.tipo-pessoa-visual{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:82px;
  padding:15px 44px 15px 15px;
  border:2px solid #cad8e7;
  border-radius:15px;
  background:#fff;
  box-shadow:0 3px 12px rgba(16,35,63,.06);
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.tipo-pessoa-card:hover .tipo-pessoa-visual{
  border-color:#78b8eb;
  background:#f7fbff;
  transform:translateY(-1px);
}
.tipo-pessoa-card>input:focus-visible+.tipo-pessoa-visual{
  outline:3px solid rgba(8,119,209,.22);
  outline-offset:2px;
}
.tipo-pessoa-card>input:checked+.tipo-pessoa-visual{
  border-color:#0877d1;
  background:linear-gradient(135deg,#eef7ff,#f9fcff);
  box-shadow:0 0 0 3px rgba(8,119,209,.11),0 8px 20px rgba(8,119,209,.10);
}
.tipo-pessoa-icone{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  min-width:46px;
  border-radius:14px;
  color:#0877d1;
  background:#e7f3ff;
  transition:color .18s ease,background .18s ease;
}
.tipo-pessoa-icone svg{
  width:25px;
  height:25px;
  fill:currentColor;
}
.tipo-pessoa-card>input:checked+.tipo-pessoa-visual .tipo-pessoa-icone{
  color:#fff;
  background:#0877d1;
}
.tipo-pessoa-texto{
  display:block;
  min-width:0;
  text-align:left;
  line-height:1.25;
}
.tipo-pessoa-texto strong{
  display:block;
  color:#10233f;
  font-size:16px;
  font-weight:800;
}
.tipo-pessoa-texto small{
  display:block;
  margin-top:4px;
  color:#60758a;
  font-size:13px;
  font-weight:500;
}
.tipo-pessoa-marcador{
  position:absolute;
  top:50%;
  right:15px;
  width:21px;
  height:21px;
  border:2px solid #aebfd0;
  border-radius:50%;
  background:#fff;
  transform:translateY(-50%);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.tipo-pessoa-card>input:checked+.tipo-pessoa-visual .tipo-pessoa-marcador{
  border:6px solid #0877d1;
  box-shadow:0 0 0 3px rgba(8,119,209,.10);
}
@media(max-width:720px){
  .tipo-pessoa-opcoes{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .tipo-pessoa-visual{
    flex-direction:column;
    justify-content:center;
    gap:8px;
    min-height:128px;
    padding:14px 9px 12px;
    text-align:center;
  }
  .tipo-pessoa-icone{
    width:44px;
    height:44px;
    min-width:44px;
  }
  .tipo-pessoa-texto{
    text-align:center;
  }
  .tipo-pessoa-texto strong{
    font-size:15px;
  }
  .tipo-pessoa-texto small{
    font-size:12px;
  }
  .tipo-pessoa-marcador{
    top:10px;
    right:10px;
    width:18px;
    height:18px;
    transform:none;
  }
  .tipo-pessoa-card>input:checked+.tipo-pessoa-visual .tipo-pessoa-marcador{
    border-width:5px;
  }
}
@media(max-width:350px){
  .tipo-pessoa-opcoes{grid-template-columns:1fr}
  .tipo-pessoa-visual{
    min-height:78px;
    flex-direction:row;
    justify-content:flex-start;
    padding:13px 42px 13px 13px;
  }
  .tipo-pessoa-texto{text-align:left}
  .tipo-pessoa-marcador{
    top:50%;
    right:13px;
    transform:translateY(-50%);
  }
}
.hidden{display:none!important}


/* Cloudflare Turnstile e campo antirobô */
.hp-field{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.turnstile-box{
  margin-top:18px;
  padding:16px;
  border:1px solid #d6e3ef;
  border-radius:14px;
  background:#f7fbff;
}
.turnstile-box h3{
  margin:0 0 5px;
  color:#10233f;
  font-size:17px;
}
.turnstile-box p{
  margin:0 0 12px;
  color:#526d88;
  font-size:14px;
}
.turnstile-container{
  width:100%;
  min-height:65px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.turnstile-container iframe{max-width:100%}
.turnstile-status{
  display:block;
  min-height:19px;
  margin-top:8px;
  color:#526d88;
  font-weight:600;
  text-align:center;
}
.turnstile-status.ok{color:#16833d}
.turnstile-status.error{color:#c62828}
#finalizarCadastro:disabled{
  opacity:.58;
  cursor:not-allowed;
}
@media(max-width:720px){
  .turnstile-box{padding:13px}
  .turnstile-container{justify-content:flex-start}
  .turnstile-container>div{max-width:100%!important}
  .assinatura-box .modal-actions{
    position:static;
    padding-top:0;
  }
}


/* Contrato SCM v1.0 */
.telemarketing-opcoes{
  margin-top:18px;padding:16px;border:1px solid #d5e1ec;border-radius:13px;background:#f8fbfe;
}
.telemarketing-opcoes legend{padding:0 7px;font-weight:800;color:#15324d}
.telemarketing-opcoes .check{margin:8px 0}
.telemarketing-opcoes small{display:block;margin-top:8px;color:#5f7285;line-height:1.45}
.contrato-aceite-box{
  margin:18px 0;padding:17px;border:1px solid #bcd8f0;border-radius:15px;background:linear-gradient(180deg,#f5faff,#edf7ff);
}
.contrato-aceite-box h3{margin:0 0 7px;color:#075bab}
.contrato-aceite-box p{margin:0 0 12px;color:#405a72;line-height:1.45}
.contrato-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;margin-bottom:12px;border-radius:999px;background:#075bab;color:#fff!important;font-weight:800;text-decoration:none}
.contrato-link:hover{filter:brightness(1.08)}
.contrato-check{margin:10px 0!important;padding:11px 12px;border:1px solid #d5e4f1;border-radius:11px;background:#fff}
.contrato-check input{flex:0 0 auto}
@media(max-width:600px){
  .contrato-aceite-box{padding:14px}
  .contrato-link{width:100%;text-align:center}
  .contrato-check{align-items:flex-start}
}


/* Identidade visual oficial - logo fornecida pela MINAS INTERNET */
.brand{display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.brand-logo{display:block;width:min(250px,72vw);height:auto;max-height:165px;object-fit:contain}
@media(max-width:720px){
  .brand{padding:16px 12px}
  .brand-logo{width:min(210px,78vw);max-height:138px}
}
