/* Ápice · Login · estilos da página (externalizados de views/Auth/Login.handlebars para CSP style-src 'self') */
body { display:flex; align-items:center; justify-content:center; min-height:100vh; margin:0;
       background:var(--bg-login, #23262B);
       background-image:radial-gradient(120% 90% at 50% -10%, var(--bg-login, #23262B) 0%, var(--bg-login-2, #16181B) 100%); }
.login-card { width:360px; max-width:calc(100vw - 32px); background:var(--bg-content); border:1px solid var(--border); border-radius:14px; box-shadow:0 24px 60px rgba(0,0,0,.45); overflow:hidden; }
.login-head { padding:30px 28px 10px; text-align:center; }
.login-logo { display:flex; align-items:center; justify-content:center; gap:12px; }
.login-logo img { width:38px; height:38px; }
.login-brand { font-family:'Playfair Display',serif; font-size:36px; font-weight:700; color:var(--text-primary); letter-spacing:.5px; line-height:1; }
.login-sub { font-size:12px; color:var(--text-muted); margin-top:8px; letter-spacing:.3px; }
.login-body { padding:16px 28px 28px; }
.login-body label { display:block; font-size:12px; font-weight:600; color:var(--text-secondary); margin-bottom:6px; }
.login-label-mt { margin-top:14px; }
.login-input { width:100%; padding:10px 12px; border:1px solid var(--border-strong); border-radius:8px; font-size:14px; background:var(--bg-content); color:var(--text-primary); box-sizing:border-box; }
.login-input:focus { outline:none; border-color:var(--blue); }
.login-btn { width:100%; margin-top:16px; padding:11px; border:none; border-radius:8px; background:var(--blue); color:#fff; font-size:14px; font-weight:600; cursor:pointer; }
.login-btn:hover { background:var(--blue-hover); }
.login-erro { margin-top:14px; padding:10px 12px; border-radius:8px; background:var(--red-light); color:var(--red); font-size:12px; line-height:1.4; }
.login-todo { margin-top:16px; font-size:10px; color:var(--text-muted); text-align:center; line-height:1.5; }
