.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;background:
  radial-gradient(circle at 10% 15%,rgba(0,206,209,.14),transparent 34%),
  radial-gradient(circle at 90% 80%,rgba(0,0,128,.09),transparent 30%),
  var(--page-bg)}
.login-shell{width:min(900px,100%);display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:54px;align-items:center}
.login-brand{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding:30px}
.login-logo{width:auto;max-width:220px;height:110px;object-fit:contain}
.login-brand h1{margin:0 0 8px;color:var(--brand-navy);font-size:30px;line-height:1.1}
.login-brand p{max-width:430px;margin:0;color:var(--text-muted);font-size:14px;line-height:1.6}
.login-card{overflow:hidden;box-shadow:var(--shadow-md)}
.login-header{padding:24px 24px 15px}
.login-eyebrow{color:var(--brand-teal);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.login-header h2{margin:4px 0 3px;color:var(--brand-navy);font-size:22px}
.login-header p{margin:0;color:var(--text-muted);font-size:12px}
.login-body{display:flex;flex-direction:column;gap:15px;padding:12px 24px 24px}
.login-body .campo label{display:block;margin-bottom:4px;color:var(--text-muted);font-size:11px;font-weight:700}
.login-body .campo input{width:100%;min-height:40px;font-size:13px}
.login-body .btn{width:100%;min-height:40px;margin-top:2px}
.erro{padding:9px 10px;background:var(--danger-bg);border:1px solid #efb6b1;border-radius:var(--radius-sm);color:var(--danger);font-size:11px}
.erro-campo{margin-top:4px;color:var(--danger);font-size:11px}
@media (max-width:760px){
  .login-shell{max-width:410px;grid-template-columns:1fr;gap:12px}
  .login-brand{align-items:center;padding:0 20px 14px;text-align:center}
  .login-logo{height:78px;max-width:170px}
  .login-brand h1{font-size:22px}
  .login-brand p{display:none}
}
