/* páginas de entrada (login, cadastro, senha) — mesmo layout do umenvio, marca mrrfy */
.auth { min-height: 100vh; display: flex; }
body { overflow: auto; }
.auth-left { flex: 1; display: flex; flex-direction: column; justify-content: space-between; padding: 44px 52px; color: #fff; position: relative; overflow: hidden;
  background: radial-gradient(60% 50% at 80% 10%, rgba(46,144,250,.55), transparent 70%), linear-gradient(150deg, #102a56, #1570ef); }
.auth-left::after { content: ""; position: absolute; right: -140px; bottom: -140px; width: 420px; height: 420px; border-radius: 50%; background: rgba(255,255,255,.07); }
.auth-right { flex: 1; display: flex; align-items: center; justify-content: center; padding: 28px; }
.auth-form { width: 100%; max-width: 420px; }
.auth-logo { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 20px; letter-spacing: -.03em; color: inherit; text-decoration: none; }
.auth-logo .mk { width: 34px; height: 34px; border-radius: 10px; background: rgba(255,255,255,.18); display: inline-flex; align-items: center; justify-content: center; }
.auth-logo .mk svg { width: 19px; height: 19px; }
.auth h1 { margin: 0 0 4px; font-size: 24px; font-weight: 800; letter-spacing: -.03em; }
.auth .lead { margin: 0 0 20px; font-size: 13.5px; color: var(--muted); }
.auth .erro { display: none; font-size: 12.5px; font-weight: 600; color: var(--critical); background: rgba(220,38,38,.08); border: 1px solid rgba(220,38,38,.25); border-radius: 10px; padding: 9px 12px; }
.auth .ok { display: none; font-size: 13px; color: var(--good-text); background: rgba(12,163,12,.08); border: 1px solid rgba(12,163,12,.25); border-radius: 10px; padding: 10px 12px; }
.auth-left h2 { font-size: 30px; line-height: 1.2; letter-spacing: -.02em; margin: 0 0 16px; max-width: 460px; }
.auth-left ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; font-size: 14.5px; max-width: 440px; }
.auth-left li { display: flex; gap: 10px; align-items: flex-start; opacity: .95; }
.auth-left li svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; }
.auth-left .mini { font-size: 12px; opacity: .7; }
.planos-mini { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.planos-mini label { border: 1px solid var(--hairline); border-radius: 12px; padding: 10px 12px; cursor: pointer; background: rgba(255,255,255,.7); font-size: 12.5px; }
.planos-mini label b { display: block; font-size: 13.5px; }
.planos-mini input { display: none; }
.planos-mini label:has(input:checked) { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
@media (max-width: 900px) { .auth-left { display: none; } }
