:root{--azul:#26416e;--bg:#f5f7fb;--border:#e5e7eb;--muted:#64748b}
*{box-sizing:border-box}html,body{height:100%}
body.login-body{margin:0;background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;color:#0f172a;display:flex;align-items:center;justify-content:center;padding:24px}
.login-container{width:100%;max-width:420px;background:#fff;border:2px solid var(--border);border-radius:16px;box-shadow:0 10px 28px rgba(0,0,0,.08);padding:28px;text-align:center}
.brand-logo-login{height:90px;width:auto;margin-bottom:10px}
.login-form{display:grid;gap:10px;margin-top:10px;text-align:left}
.login-form label{font-weight:700;color:var(--azul);font-size:.95rem}
.login-form input{padding:.7rem .9rem;border:2px solid var(--border);border-radius:12px;background:#fafafa;font-size:1rem}
.login-form input:focus{outline:none;border-color:var(--azul);box-shadow:0 0 0 3px rgba(38,65,110,.12);background:#fff}
.btn-login{margin-top:6px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--azul);color:#fff;border:none;border-radius:12px;padding:.75rem 1rem;font-weight:800;cursor:pointer}
.btn-login:hover{filter:brightness(1.05)}
.login-error{display:flex;align-items:center;gap:8px;background:#fef2f2;border:2px solid #fecaca;color:#991b1b;border-radius:10px;padding:10px;margin:10px 0;text-align:left}
.login-restore{margin-top:12px;font-size:.95rem;color:var(--muted)}
.login-restore a{color:var(--azul);text-decoration:none;font-weight:700}
.login-restore a:hover{text-decoration:underline}
