.terms-consent{display:grid!important;grid-template-columns:22px 1fr;align-items:start;gap:10px;margin-top:4px;color:#a9b9cf!important;font-size:.79rem!important;line-height:1.5}
.terms-consent input{width:18px;height:18px;margin:2px 0 0;accent-color:#5f5cff}
.terms-consent span{display:block}.terms-consent a{color:#64d7ff;text-decoration:underline;text-underline-offset:2px}.terms-version-note{margin:-4px 0 3px!important;font-size:.7rem!important;color:#7185a3!important}
.terms-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 28px}.terms-meta span{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.035);color:#91a5c0;font-size:.76rem}
.legal-callout{margin:20px 0;padding:18px 20px;border:1px solid rgba(83,208,255,.24);border-radius:18px;background:linear-gradient(135deg,rgba(40,120,255,.09),rgba(116,78,255,.08));color:#b9c8db;line-height:1.65}.legal-callout strong{color:#eef6ff}
.legal-list{color:#95a7bf;line-height:1.7;padding-left:22px}.legal-list li{margin:7px 0}.legal-version{font-size:.78rem;color:#7e91ac;margin-top:8px}

/* V2.17.2 — cadastro mobile/iPhone */
.legal-reader-modal{position:fixed;inset:0;z-index:1000;display:none;background:#07101f}
.legal-reader-modal.open{display:block}
.legal-reader-shell{height:100%;height:100dvh;display:grid;grid-template-rows:auto 1fr;background:#07101f;color:#eef6ff}
.legal-reader-toolbar{min-height:58px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.1);background:#0d1930;position:relative;z-index:2}
.legal-reader-toolbar strong{text-align:center;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.legal-reader-back,.legal-reader-close{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#eef6ff;border-radius:11px;min-height:40px;padding:8px 11px;font:inherit;font-weight:750;cursor:pointer}
.legal-reader-close{width:42px;font-size:1.4rem;padding:0}
.legal-reader-loading{position:absolute;top:72px;left:50%;transform:translateX(-50%);z-index:3;color:#91a5c0;font-size:.82rem;background:#0d1930;border:1px solid rgba(255,255,255,.1);padding:8px 12px;border-radius:999px}
.legal-reader-loading.hidden{display:none}
#legalReaderFrame{width:100%;height:100%;border:0;background:#07101f}
html.legal-reader-open,body.legal-reader-open{overflow:hidden!important;height:100%!important}

/* A página legal embutida mantém somente o conteúdo útil para leitura. */
body.legal-embedded .site-header,body.legal-embedded .footer,body.legal-embedded .legal-back{display:none!important}
body.legal-embedded .legal{padding-top:24px!important;padding-bottom:48px!important}

/* O modal de autenticação deve caber e rolar em telas pequenas e com teclado iOS aberto. */
@media (max-width:700px), (max-height:760px){
  #authModal{overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 0 env(safe-area-inset-bottom)}
  #authModal .modal-backdrop{position:fixed!important}
  #authModal .auth-card{
    margin:max(8px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))!important;
    max-width:none!important;
    width:auto!important;
    max-height:calc(var(--shlt-vvh,100dvh) - max(16px,env(safe-area-inset-top)) - max(18px,env(safe-area-inset-bottom)))!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding:22px 18px calc(24px + env(safe-area-inset-bottom))!important;
  }
  #authModal .auth-card::-webkit-scrollbar{width:4px}
  #authModal .auth-card::-webkit-scrollbar-thumb{background:rgba(100,215,255,.28);border-radius:99px}
  #registerForm .btn[type="submit"]{position:sticky;bottom:0;z-index:4;margin-top:4px;box-shadow:0 -10px 22px rgba(7,16,31,.82),0 12px 32px rgba(68,93,255,.28)}
  .terms-consent{grid-template-columns:24px 1fr!important;font-size:.82rem!important}
  .terms-consent input{width:20px;height:20px}
}

@media (max-width:420px){
  .legal-reader-back span{display:none}
  .legal-reader-toolbar{grid-template-columns:44px 1fr 44px}
  #authModal .modal-brand{margin-bottom:10px}
  #authModal .modal-card h3{font-size:1.45rem}
  #authModal .modal-lead{font-size:.86rem;line-height:1.45}
}

/* V2.18.1 revisão iOS — evita zoom automático do Safari em login/cadastro.
   iOS aplica zoom ao focar inputs cujo font-size calculado é menor que 16px. */
html,body{-webkit-text-size-adjust:100%}

@media (max-width:900px){
  #authModal .auth-form input:not([type="checkbox"]),
  #authModal .auth-form select,
  #authModal .auth-form textarea{
    font-size:16px!important;
    line-height:1.25!important;
    min-height:48px;
    touch-action:manipulation;
  }
}

/* Fallback específico para Safari/iOS, inclusive iPad em modo desktop. */
@supports (-webkit-touch-callout:none){
  #authModal .auth-form input:not([type="checkbox"]),
  #authModal .auth-form select,
  #authModal .auth-form textarea{
    font-size:16px!important;
    line-height:1.25!important;
    min-height:48px;
  }
  #authModal .auth-card{
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }
}
