/* JuntaPlay: compactacao somente da coluna de formularios. */
.jpa-main{padding-top:18px;padding-bottom:14px}
.jpa-main .jpa-stage{padding:14px 0}
.jpa-main .jpa-card{padding:22px clamp(20px,2.4vw,28px) 22px;border-radius:22px}
.jpa-main .jpa-tabs{margin-bottom:14px;padding:3px;gap:3px;border-radius:12px}
.jpa-main .jpa-tabs a{min-height:40px;font-size:14px;border-radius:10px}
.jpa-main .jpa-title{font-size:27px}
.jpa-main .jpa-sub{margin-top:5px;font-size:14px;line-height:1.45}
.jpa-main .jpa-google{min-height:44px;margin-top:14px;border-radius:12px;gap:9px;font-size:15px}
.jpa-main .jpa-google-note{margin-top:5px;font-size:12.4px;line-height:1.4}
.jpa-main .jpa-divider{margin:14px 0 3px;gap:10px;font-size:12px}
.jpa-main .jpa-form{margin-top:12px}
.jpa-main .jpa-field{margin-top:11px}
.jpa-main .jpa-field:first-child{margin-top:0}
.jpa-main .jpa-label{margin-bottom:4px;font-size:13.5px;line-height:1.35}
.jpa-main .jpa-input{height:44px;border-radius:11px;font-size:16px;padding-left:40px}
.jpa-main .jpa-control>svg{left:13px;width:18px;height:18px}
.jpa-main .jpa-input.has-toggle{padding-right:48px}
.jpa-main .jpa-toggle{width:44px;height:44px;right:1px;border-radius:10px}
.jpa-main .jpa-hint,.jpa-main .jpa-caps,.jpa-main .jpa-match{margin-top:4px;line-height:1.4}
.jpa-main .jpa-meter{margin-top:7px;gap:8px}
.jpa-main .jpa-meter__bar{gap:4px}
.jpa-main .jpa-meter__bar i{height:4px}
.jpa-main .jpa-meter__label{font-size:12px}
.jpa-main .jpa-rules{margin-top:6px;padding:8px 10px;gap:4px 10px;border-radius:10px}
.jpa-main .jpa-rules li{font-size:12.4px;line-height:1.3;gap:6px}
.jpa-main .legal-acceptance{margin-top:13px}
.jpa-main .legal-acceptance legend{margin-bottom:6px;font-size:13.5px}
.jpa-main .legal-acceptance label,.jpa-main .jpa-check{min-height:44px;padding:8px 10px;border-radius:11px;gap:8px;line-height:1.4}
.jpa-main .legal-acceptance label{margin-bottom:6px}
.jpa-main .jpa-optin{margin-top:3px}
.jpa-main .jpa-check strong{font-size:13.5px}
.jpa-main .jpa-check small{font-size:12.4px;line-height:1.4}
.jpa-main .jpa-btn{min-height:46px;margin-top:14px;border-radius:12px;font-size:15.5px}
.jpa-main .jpa-reassure{margin-top:8px;font-size:12.5px;line-height:1.4}
.jpa-main .jpa-switch{margin-top:12px;font-size:14px}
.jpa-main .jpa-alert{margin-top:12px;padding:10px 12px;gap:9px;border-radius:12px;font-size:13.5px}
.jpa-main .jpa-identity{margin-top:14px;padding:10px 12px;border-radius:12px}
.jpa-main .jpa-timer{margin-top:10px}
.jpa-main .jpa-resend{margin-top:12px;padding:10px 12px}
.jpa-main .jpa-otp input{height:48px;font-size:24px;border-radius:11px}
.jpa-main .jpa-tips{margin-top:10px}
.jpa-main .jpa-ref{margin-bottom:12px;padding:9px 11px}
.jpa-main .jpa-notice{margin-top:12px;font-size:12.5px;line-height:1.45}
.jpa-main .jpa-notice p{margin-top:6px;margin-bottom:6px}
@media(max-width:900px){
  .jpa-main{padding-top:14px;padding-bottom:8px}
  .jpa-main .jpa-stage{padding:14px 0 16px}
}
@media(max-width:520px){
  .jpa-main .jpa-card{padding:20px 18px;border-radius:20px}
  .jpa-main .jpa-title{font-size:25px}
}

/* Nível 2 (24/10): formulário mais compacto. Somente a coluna do formulário (.jpa-main); a arte (.jpa-side) não muda. Textos preservados. */
.jpa-main .jpa-stage{padding:8px 0}
.jpa-main .jpa-card{padding:18px clamp(18px,2vw,24px) 18px}
.jpa-main .jpa-tabs{margin-bottom:12px}
.jpa-main .jpa-tabs a{min-height:36px;font-size:13.5px}
.jpa-main .jpa-title{font-size:25px}
.jpa-main .jpa-sub{margin-top:3px;font-size:13.5px;line-height:1.4}
.jpa-main .jpa-google{min-height:40px;margin-top:12px;font-size:14.5px}
.jpa-main .jpa-google-note{margin-top:4px;font-size:12px}
.jpa-main .jpa-divider{margin:10px 0 2px;font-size:11.5px}
.jpa-main .jpa-form{margin-top:10px}
.jpa-main .jpa-field{margin-top:8px}
.jpa-main .jpa-field:first-child{margin-top:0}
.jpa-main .jpa-label{margin-bottom:3px;font-size:13px;line-height:1.3}
.jpa-main .jpa-input{height:40px;border-radius:10px}
.jpa-main .jpa-control>svg{left:12px;width:17px;height:17px}
.jpa-main .jpa-input.has-toggle{padding-right:44px}
.jpa-main .jpa-toggle{width:40px;height:40px}
.jpa-main .jpa-hint,.jpa-main .jpa-caps,.jpa-main .jpa-match{margin-top:3px;font-size:12px;line-height:1.35}
.jpa-main .jpa-meter{margin-top:6px}
.jpa-main .jpa-rules{margin-top:5px;padding:6px 10px;gap:2px 10px}
.jpa-main .jpa-rules li{font-size:12px;line-height:1.25}
.jpa-main .jpa-rules li::before{width:14px;height:14px}
.jpa-main .legal-acceptance{margin-top:10px}
.jpa-main .legal-acceptance legend{margin-bottom:5px;font-size:13px}
.jpa-main .legal-acceptance label,.jpa-main .jpa-check{min-height:38px;padding:6px 10px;font-size:13.2px;line-height:1.35}
.jpa-main .legal-acceptance label{margin-bottom:5px}
.jpa-main .legal-acceptance input[type=checkbox],.jpa-main .jpa-check input[type=checkbox]{width:19px;height:19px}
.jpa-main .jpa-check strong{font-size:13.2px}
.jpa-main .jpa-check small{font-size:12px;line-height:1.35}
.jpa-main .jpa-btn{min-height:42px;margin-top:12px;font-size:15px}
.jpa-main .jpa-reassure{margin-top:6px;font-size:12px}
.jpa-main .jpa-switch{margin-top:9px;font-size:13.5px}
.jpa-main .jpa-alert{margin-top:10px;padding:8px 11px}
.jpa-main .jpa-notice{margin-top:10px}
@media(max-width:520px){
  /* No celular, alvos de toque continuam com 44 px. */
  .jpa-main .jpa-card{padding:16px 16px 16px}
  .jpa-main .jpa-input{height:44px}
  .jpa-main .jpa-toggle{width:44px;height:44px}
  .jpa-main .jpa-tabs a{min-height:40px}
  .jpa-main .jpa-google{min-height:44px}
  .jpa-main .legal-acceptance label,.jpa-main .jpa-check{min-height:42px}
  .jpa-main .jpa-btn{min-height:46px}
}

/* Nível 3 (24/10): o cadastro inteiro cabe numa tela de ~760 px, até "Já tem uma conta? Entrar".
   Só a coluna do formulário (.jpa-main); a arte (.jpa-side) não muda. Nenhum texto removido. */
.jpa-main{padding-top:12px}
.jpa-main .jpa-stage{padding:4px 0 8px}
.jpa-main .jpa-card{max-width:520px;padding:16px 20px 14px}
.jpa-main .jpa-tabs{margin-bottom:10px}
.jpa-main .jpa-tabs a{min-height:34px}
.jpa-main .jpa-title{font-size:24px}
.jpa-main .jpa-google{margin-top:10px;min-height:38px}
.jpa-main .jpa-divider{margin:8px 0 2px}
.jpa-main .jpa-form{margin-top:8px}
.jpa-main .jpa-row2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;align-items:start}
.jpa-main .jpa-row2>.jpa-field{margin-top:0}
.jpa-main [data-panel=register] .jpa-rules{grid-template-columns:repeat(3,auto);justify-content:space-between;gap:2px 8px}
.jpa-main [data-panel=register] .legal-acceptance{margin-top:9px}
.jpa-main [data-panel=register] .legal-acceptance legend{margin-bottom:4px}
.jpa-main [data-panel=register] .legal-acceptance label{display:inline-flex;vertical-align:top;align-items:center;width:calc(50% - 3px);min-height:50px;margin-bottom:6px}
.jpa-main [data-panel=register] .legal-acceptance label:nth-of-type(odd){margin-right:6px}
.jpa-main .jpa-btn{margin-top:10px}
.jpa-main .jpa-switch{margin-top:8px}
@media(max-width:520px){
  .jpa-main .jpa-row2{grid-template-columns:1fr}
  .jpa-main .jpa-row2>.jpa-field+.jpa-field{margin-top:8px}
  .jpa-main [data-panel=register] .jpa-rules{grid-template-columns:1fr;justify-content:normal;gap:2px 10px}
  .jpa-main [data-panel=register] .legal-acceptance label{display:flex;width:auto;min-height:42px;margin-right:0}
  .jpa-main .jpa-card{padding:16px 16px 16px}
}
