/* complementos do app real (o visual base vem de style.css, igual ao protótipo) */
.boot{min-height:70vh;display:grid;place-items:center;color:var(--fg3);font-size:15px}
.auth{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:40px 0}
.auth .card{background:var(--card);border-radius:22px;padding:28px 22px}
.spin{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--line2);border-top-color:var(--accent-btn);animation:sp .8s linear infinite;margin:0 auto}
@keyframes sp{to{transform:rotate(360deg)}}
.btn[disabled]{opacity:.6;pointer-events:none}
.av.img{object-fit:cover}
.note{background:var(--accent-soft);color:var(--accent-ink);border-radius:14px;padding:12px 14px;font-size:14px;margin:12px 0}
.legal{font-size:12px;color:var(--fg3);text-align:center;margin-top:18px}
.legal a{color:var(--fg2)}
.su-code{letter-spacing:.3em}
.gbtn{background:var(--card);color:var(--fg);border:1px solid var(--line2);gap:10px;margin-top:4px}
.or{display:flex;align-items:center;gap:12px;color:var(--fg3);font-size:13px;margin:16px 0}
.or::before,.or::after{content:"";flex:1;height:.5px;background:var(--line2)}
.gsi-wrap{display:flex;justify-content:center;min-height:44px;margin-top:4px}
.gsi-wrap>div{width:100%!important}
.gsi-wrap iframe{margin:0 auto!important}
.pushcard{display:flex;gap:12px;align-items:flex-start;background:var(--card);border-radius:18px;padding:16px;margin:4px 0 14px;color:var(--accent)}
.pushcard b{color:var(--fg);font-size:16px}
.pushcard p{margin:4px 0 0;color:var(--fg2);font-size:14px;line-height:1.45}
.pushcard .btn{width:auto;padding:0 18px;min-height:40px;font-size:15px}
