/* ============================================================
   MyTrello — tema "Prisma" para as telas de autenticação (Shield)
   Estiliza as views próprias (auth/login, auth/register) e também as
   classes que o Shield usa nas telas restantes (magic link, 2FA, ativação).
   ============================================================ */
:root{
  --bg:#F4F1EC; --surface:#FFFFFF; --ink:#1B1A2A; --ink-soft:#5B5A6E; --ink-faint:#9794A6;
  --line:#E7E3DA; --c-violet:#7C6BF0; --c-blue:#2E8FE6; --c-green:#1EB583;
  --radius:18px; --shadow-lift:0 2px 4px rgba(27,26,42,.05), 0 18px 40px -16px rgba(27,26,42,.28);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;min-height:100vh;display:grid;place-items:center;padding:32px 18px;
  background-image:
    radial-gradient(900px 500px at 88% -8%, rgba(124,107,240,.12), transparent 60%),
    radial-gradient(800px 480px at 8% 108%, rgba(30,181,131,.12), transparent 60%);
}
a{color:var(--c-blue);text-decoration:none;font-weight:600}
a:hover{text-decoration:underline}

.auth-wrap{width:100%;max-width:430px;display:flex;flex-direction:column;align-items:center;gap:20px}
.auth-brand{display:flex;align-items:center;gap:12px;font-family:"Bricolage Grotesque",sans-serif;
  font-weight:800;font-size:25px;letter-spacing:-.02em;color:var(--ink)}
.auth-brand:hover{text-decoration:none}
.auth-logo{width:36px;height:36px;border-radius:10px;position:relative;overflow:hidden;
  background:conic-gradient(from 210deg,#7C6BF0,#2E8FE6,#1EB583,#F2992E,#E85C8A,#7C6BF0);
  box-shadow:0 6px 16px -3px rgba(124,107,240,.5)}
.auth-logo::after{content:"";position:absolute;inset:7px;border-radius:5px;background:var(--surface)}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-lift);width:100%}
.card-body{padding:30px 28px}
.card-title{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:22px;
  letter-spacing:-.02em;color:var(--ink);margin-bottom:6px}
.auth-sub{color:var(--ink-soft);font-size:14px;margin-bottom:22px}

/* campos (rótulo acima do input via column-reverse) */
.form-floating{display:flex;flex-direction:column-reverse;margin-bottom:14px}
.form-floating > label{font-size:12.5px;font-weight:700;color:var(--ink-soft);margin-bottom:6px}
.form-control{width:100%;border:1px solid var(--line);border-radius:11px;background:#FBFAF7;
  padding:12px 14px;font:inherit;font-size:14.5px;color:var(--ink);transition:.18s}
.form-control::placeholder{color:var(--ink-faint)}
.form-control:focus{outline:none;border-color:var(--c-blue);box-shadow:0 0 0 4px rgba(46,143,230,.12);background:#fff}

.form-check{margin:2px 0 4px;font-size:13.5px;color:var(--ink-soft)}
.form-check-label{display:flex;align-items:center;gap:8px;cursor:pointer}
.form-check-input{width:16px;height:16px;accent-color:var(--c-violet);cursor:pointer}

.d-grid{margin:20px 0 4px}
.btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:inherit;
  font-weight:600;font-size:14.5px;border-radius:11px;border:none;transition:.18s;text-decoration:none}
.btn-primary{width:100%;height:46px;background:var(--ink);color:#fff;box-shadow:0 8px 18px -7px rgba(27,26,42,.5)}
.btn-primary:hover{transform:translateY(-1px);text-decoration:none}

.alert{border-radius:12px;padding:11px 14px;font-size:13.5px;font-weight:600;margin-bottom:16px;line-height:1.45}
.alert-danger{background:#FBE7E7;color:#C0392B;border:1px solid #F3C2C2}
.alert-success{background:#EAF7F0;color:#13965F;border:1px solid #BFE6D4}

.text-center{text-align:center}
p{font-size:13.5px;color:var(--ink-soft);line-height:1.5}
p.text-center{margin-top:16px}

/* espaçamentos usados pelas telas do Shield (2FA, magic link). Ficam por
   último para que "card-title mb-5" tenha o respiro maior dessas telas. */
.mb-2{margin-bottom:12px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:20px}.mb-5{margin-bottom:24px}
