/* Kodz: modal de cadastro e login (mesmo estilo da landing: tinta #232A3B, azul #3865F4, papel #F8F7F3, cantos 24px) */
.kz-ov{position:fixed;inset:0;background:rgba(35,42,59,.45);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;overflow:auto;font-family:Arial,Helvetica,sans-serif;color:#232A3B}
.kz-ov[hidden],.kz-ov [hidden]{display:none!important}
.kz-card{background:#fff;border:1px solid #E5E6EA;border-radius:24px;width:min(430px,100%);padding:30px 30px 26px;text-align:center;position:relative;margin:auto;animation:kzpop .18s ease-out;box-shadow:0 30px 80px rgba(35,42,59,.18)}
@keyframes kzpop{from{transform:scale(.96);opacity:0}}
.kz-x{position:absolute;top:12px;right:16px;border:0;background:none;font-size:26px;color:#677084;cursor:pointer}
.kz-cod{width:96px;height:96px;margin:0 auto}.kz-cod svg{width:100%;height:100%;overflow:visible}
.kz-card h2{font-size:22px;margin:6px 0 0;letter-spacing:-.4px}
.kz-tabs{display:flex;gap:8px;margin:18px 0}
.kz-tab{flex:1;border:1px solid #E5E6EA;background:#F8F7F3;border-radius:12px;padding:9px 0;font-size:14px;cursor:pointer;color:#677084;font-family:inherit}
.kz-tab.on{background:#E9EEFF;border-color:#3865F4;color:#3865F4;font-weight:700}
.kz-form{display:flex;flex-direction:column;gap:13px;text-align:left}
.kz-form label{font-size:13px;color:#677084;display:flex;flex-direction:column;gap:6px}
.kz-in{font-family:inherit;font-size:15px;border:1px solid #E5E6EA;border-radius:12px;padding:11px 14px;outline:none;transition:border-color .12s,box-shadow .12s;width:100%;box-sizing:border-box;color:#232A3B}
.kz-in:focus{border-color:#3865F4;box-shadow:0 0 0 3px #E9EEFF}
.kz-pw{position:relative;display:block}.kz-pw .kz-in{padding-right:46px}
.kz-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;width:36px;height:36px;border-radius:9px;cursor:pointer;color:#677084;display:flex;align-items:center;justify-content:center}
.kz-eye:hover,.kz-eye:focus-visible{background:#F1F3F8;color:#3865F4;outline:none}
.kz-eye svg{width:20px;height:20px}
.kz-meter{height:6px;border-radius:99px;background:#EEF0F4;overflow:hidden;margin-top:2px}
.kz-meter span{display:block;height:100%;width:0;border-radius:99px;transition:width .25s,background .25s}
.kz-meter-lbl{font-size:12px;margin-top:4px;color:#677084}
.kz-meter-lbl b[data-n=fraca]{color:#B53C48}.kz-meter-lbl b[data-n=média]{color:#A15932}.kz-meter-lbl b[data-n=forte]{color:#287958}
.kz-check{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;font-size:12px;color:#8994A9}
.kz-check li::before{content:"○";margin-right:6px}
.kz-check li.ok{color:#287958}.kz-check li.ok::before{content:"✓"}
.kz-btn{font-family:inherit;font-size:15px;border:0;border-radius:12px;padding:13px 22px;cursor:pointer;background:#3865F4;color:#fff;transition:box-shadow .12s,transform .12s,opacity .12s}
.kz-btn:hover:not(:disabled){box-shadow:0 6px 20px rgba(56,101,244,.35);transform:translateY(-1px)}
.kz-btn:disabled{opacity:.45;cursor:not-allowed}
.kz-link{background:none;border:0;color:#3865F4;font-size:13px;cursor:pointer;padding:0;font-family:inherit;align-self:flex-end}
.kz-err{margin-top:12px;font-size:13px;color:#B53C48;background:rgba(181,60,72,.08);border:1px solid rgba(181,60,72,.25);border-radius:12px;padding:10px 14px;text-align:left}
.kz-msg{margin-top:12px;font-size:13px;color:#287958;background:rgba(40,121,88,.08);border:1px solid rgba(40,121,88,.25);border-radius:12px;padding:10px 14px;text-align:left}
.kz-ok h3{font-size:19px;margin:10px 0 0}.kz-ok p{color:#677084;font-size:14px;margin:8px 0 18px}
.kz-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #E5E6EA;border-radius:999px;padding:6px 14px;font-size:13px}
@media (prefers-reduced-motion:reduce){.kz-card{animation:none}}

/* toque: 16px evita o zoom do iOS no foco; alvos de 44px */
@media (pointer:coarse){.kz-in{font-size:16px;min-height:44px}.kz-tab,.kz-btn{min-height:44px}.kz-link{min-height:44px;padding:0 4px}.kz-x{width:44px;height:44px;top:6px;right:8px}}

/* Entrar com Google: botão oficial (logo G colorido, fundo branco, borda neutra) no raio e na tipografia do Kodz */
.kz-google{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;border:1px solid #DADCE0;border-radius:12px;background:#fff;color:#1F1F1F;font-size:15px;font-weight:500;text-decoration:none;font-family:inherit;transition:background .12s,box-shadow .12s}
.kz-google:hover{background:#F8FAFF;box-shadow:0 1px 3px rgba(35,42,59,.12)}
.kz-google svg{width:18px;height:18px}
.kz-ou{display:flex;align-items:center;gap:10px;color:#8994A9;font-size:12px;margin:14px 0}.kz-ou::before,.kz-ou::after{content:"";flex:1;height:1px;background:#E5E6EA}
