/**
 * Projeto: BaseCNPJ
 * Arquivo: auth.css
 * Autor: Djeferson Capelli
 * Versão: 1.0.0
 * Descrição: Estilos compartilhados das páginas de login e registro
 */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html:not([data-theme="light"]){
  --auth-bg:#040d1a;--auth-text:#EEF2F8;--auth-muted:#8899BB;--auth-dim:#445577;
  --auth-card:rgba(255,255,255,.03);--auth-bd:rgba(255,255,255,.07);
  --auth-input:rgba(255,255,255,.05);--auth-input-bd:rgba(255,255,255,.1);
  --auth-accent:#3783FF;--auth-accent-h:#5B9BFF;--auth-danger:#E24B4A;
  --auth-danger-bg:rgba(226,75,74,.12);--auth-danger-bd:rgba(226,75,74,.3);
}
html[data-theme="light"]{
  --auth-bg:#f8fafc;--auth-text:#0f172a;--auth-muted:#475569;--auth-dim:#64748b;
  --auth-card:rgba(255,255,255,.95);--auth-bd:rgba(15,23,42,.12);
  --auth-input:#fff;--auth-input-bd:rgba(15,23,42,.14);
  --auth-accent:#2563eb;--auth-accent-h:#1d4ed8;--auth-danger:#b91c1c;
  --auth-danger-bg:rgba(220,38,38,.08);--auth-danger-bd:rgba(220,38,38,.25);
}

body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--auth-bg);color:var(--auth-text);min-height:100vh;
  display:flex;align-items:center;justify-content:center;padding:24px 16px}

.card{background:var(--auth-card);border:1px solid var(--auth-bd);
  border-radius:20px;padding:40px;width:100%;max-width:440px}

.logo{text-align:center;margin-bottom:32px;font-size:22px;font-weight:800}
.logo span{color:var(--auth-accent)}

h1{font-size:22px;font-weight:700;margin-bottom:8px;text-align:center}

.sub{font-size:14px;color:var(--auth-muted);text-align:center;margin-bottom:28px}

label{display:block;font-size:13px;font-weight:500;color:var(--auth-muted);margin-bottom:6px}

input[type=text],input[type=email],input[type=password]{
  width:100%;background:var(--auth-input);border:1px solid var(--auth-input-bd);
  border-radius:10px;padding:12px 14px;color:var(--auth-text);font-size:15px;outline:none;
  transition:border .2s}
input:focus{border-color:var(--auth-accent)}

.field{margin-bottom:16px}

.btn{width:100%;background:var(--auth-accent);border:none;border-radius:10px;
  padding:14px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;
  transition:background .2s;margin-top:4px}
.btn:hover{background:var(--auth-accent-h)}
.btn{display:flex;align-items:center;justify-content:center;gap:8px}
.btn:disabled{opacity:.7;cursor:not-allowed}
.btn-loader{display:inline-flex;align-items:center;gap:8px}
.btn-loader[hidden]{display:none}
.btn-spinner{animation:auth-spin .6s linear infinite}
@keyframes auth-spin{to{transform:rotate(360deg)}}

.erro{background:var(--auth-danger-bg);border:1px solid var(--auth-danger-bd);
  border-radius:8px;padding:12px 14px;color:var(--auth-danger);font-size:13px;margin-bottom:18px}
.sucesso{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);
  border-radius:8px;padding:14px;color:#22c55e;font-size:13px;line-height:1.6;margin-bottom:18px}

.links{text-align:center;margin-top:20px;font-size:13px;color:var(--auth-muted)}
.links a{color:var(--auth-accent);text-decoration:none}
.links a:hover{text-decoration:underline}

.divider,hr{border:none;border-top:1px solid var(--auth-bd);margin:20px 0}

.terms{font-size:12px;color:var(--auth-dim);text-align:center;margin-top:14px}
.terms a{color:var(--auth-accent);text-decoration:none}

.plan-chips{display:flex;gap:8px;margin-bottom:24px}
.plan-chip{flex:1;padding:10px;border:1px solid var(--auth-input-bd);border-radius:10px;
  text-align:center;font-size:12px;color:var(--auth-muted)}
.plan-chip strong{display:block;color:var(--auth-text);font-size:14px;margin-bottom:2px}
.plan-chip.free{border-color:rgba(55,131,255,.35)}

.senha-hint{color:var(--auth-dim)}
.forgot-link{float:right;color:var(--auth-accent);text-decoration:none;font-weight:400}
