/* Telas de conta (cadastro, entrar, senha, verificação, boas-vindas) — PC-021/022/023.
   Só complementa tokens/base/components; mobile-first (390 px). */
body.conta{background:var(--c-ground);min-height:100vh;display:flex;flex-direction:column}
.conta-topo{padding:16px var(--gutter);display:flex;justify-content:center}
.conta-marca img{height:32px;width:auto;display:block}
.conta-main{flex:1;width:100%;min-width:0;max-width:440px;margin:0 auto;padding:8px var(--gutter) 32px}
.conta-main-largo{max-width:560px}
.conta-cartao{min-width:0;overflow-wrap:anywhere;background:var(--c-surface);border-radius:var(--r-xl);box-shadow:var(--sh-1);padding:24px 20px;display:grid;gap:18px}
.conta-cartao h1{font-size:var(--t-2xl);line-height:1.15;margin:0}
.conta-cartao .sub{color:var(--c-ink-2);margin:-8px 0 0}
.conta-form{display:grid;gap:16px}
.conta-endereco{display:flex;align-items:stretch;border:1px solid var(--c-muted-readable);border-radius:var(--r-md);background:var(--c-surface-2);overflow:hidden}
.conta-endereco:focus-within{outline:2px solid var(--c-brand);outline-offset:3px}
.conta-endereco span{display:flex;align-items:center;padding:0 0 0 12px;color:var(--c-ink-2);font-size:var(--t-sm);white-space:nowrap}
.field .conta-endereco input{border:0;background:transparent;padding-left:2px;outline:none;min-width:0}
.conta-status{font-size:var(--t-sm);min-height:1.4em}
.conta-status.ok{color:var(--c-brand)}
.conta-status.nao{color:var(--c-danger)}
.conta-sugestoes{display:flex;flex-wrap:wrap;gap:8px}
.conta-sugestoes button{border:1px solid var(--c-line);background:var(--c-surface);border-radius:var(--r-pill);padding:8px 14px;min-height:40px;cursor:pointer;color:var(--c-ink)}
.conta-sugestoes button:hover,.conta-sugestoes button:focus-visible{border-color:var(--c-brand)}
.conta-senha{position:relative}
.field .conta-senha input{padding-right:96px}
.conta-senha button{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--c-brand);font-weight:600;min-height:40px;padding:0 10px;cursor:pointer}
.conta-medidor{height:6px;border-radius:var(--r-pill);background:var(--c-line);overflow:hidden}
.conta-medidor i{display:block;height:100%;width:0;background:var(--c-danger);transition:width .2s var(--ease),background .2s var(--ease)}
.conta-medidor[data-nivel="2"] i{width:66%;background:var(--c-warn)}
.conta-medidor[data-nivel="3"] i{width:100%;background:var(--c-brand)}
.conta-medidor[data-nivel="1"] i{width:33%}
.conta-check{display:flex;gap:10px;align-items:flex-start;font-size:var(--t-sm);line-height:1.45}
.conta-check input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--c-brand)}
.conta-acoes{display:grid;gap:12px}
.conta-acoes .btn{width:100%}
.conta-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:var(--t-sm)}
.conta-rodape{text-align:center;color:var(--c-ink-2);font-size:var(--t-xs);padding:16px var(--gutter) 24px}
.conta-rodape p{margin:4px 0}
.conta-passos{display:flex;gap:6px;justify-content:center}
.conta-passos span{width:28px;height:6px;border-radius:var(--r-pill);background:var(--c-line)}
.conta-passos span[aria-current="step"],.conta-passos span.feito{background:var(--c-brand)}
.conta-foto{display:grid;justify-items:center;gap:12px}
.conta-foto-previa{width:160px;height:160px;border-radius:50%;background:var(--c-surface-2);border:2px dashed var(--c-line);overflow:hidden;display:grid;place-items:center;color:var(--c-ink-2)}
.conta-foto-previa img,.conta-foto-previa canvas{width:100%;height:100%;object-fit:cover;display:block}
.conta-recorte{display:grid;gap:8px;width:100%}
.conta-recorte input[type=range]{width:100%}
.conta-dupla{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:12px}
@media (min-width:640px){.conta-cartao{padding:32px}}
/* Onda 4: UF antes da cidade (autocomplete IBGE por UF) */
.conta-dupla-uf{grid-template-columns:96px minmax(0,1fr)}
/* Autocomplete de cidade (IBGE local, cidades.js) */
.cidades{position:relative;min-width:0}
.cidades-lista{list-style:none;margin:0;padding:6px;position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--sh-2);max-height:min(320px,45vh);overflow:auto;overscroll-behavior:contain}
.cidades-lista li{min-height:44px;display:flex;align-items:center;padding:8px 12px;border-radius:var(--r-sm);cursor:pointer}
.cidades-lista li:hover,.cidades-lista [aria-selected=true]{background:var(--c-brand-soft);color:var(--c-brand)}
