/* Tela de login — padrão Horbach (card branco sobre gradiente grafite→verde). */
:root{
  --primary:#2E9A38; --primary-hover:#237D2D; --primary-dark:#195C21;
  --primary-soft:rgba(46,154,56,.10);
  --dark-900:#111417; --text:#181C20; --muted:#6E7781; --border:#D0D7DE;
  --red:#C0392B; --red-soft:#FBE9E7; --green-soft:#E8F5EA;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Montserrat','Segoe UI',Arial,sans-serif;
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:24px 16px;color:var(--text);
  background:linear-gradient(135deg,var(--dark-900) 0%,var(--primary-dark) 130%);
}
.login-box{
  background:#fff;width:100%;max-width:380px;padding:40px 32px;
  border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.16);text-align:center;
}
.login-logo{display:block;height:44px;width:auto;margin:0 auto 22px}
.login-box h1{font-size:1.15rem;font-weight:700;margin-bottom:4px}
.login-box h1 strong{color:var(--primary)}
.login-subtitle{color:var(--muted);font-size:.85rem;margin-bottom:24px}
.field{margin-bottom:16px;text-align:left}
.field label{display:block;font-weight:700;font-size:.84rem;margin-bottom:6px}
.field input{
  width:100%;padding:10px 12px;border:1px solid var(--border);
  border-radius:6px;font-size:.9rem;font-family:inherit;background:#fff;
  transition:border-color .16s,box-shadow .16s;
}
.field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.btn{
  width:100%;padding:11px;margin-top:8px;border:none;border-radius:6px;
  background:var(--primary);color:#fff;font:inherit;font-weight:600;
  cursor:pointer;box-shadow:0 2px 8px rgba(46,154,56,.25);transition:background .16s;
}
.btn:hover{background:var(--primary-hover)}
.btn:focus-visible{outline:3px solid var(--primary-soft);outline-offset:2px}
.alert{
  padding:12px 16px;border-radius:6px;margin-bottom:18px;font-size:.86rem;text-align:left;
  background:var(--red-soft);color:var(--red);border-left:4px solid var(--red);
}
.alert--sucesso,.alert--info{background:var(--green-soft);color:var(--primary-dark);border-left-color:var(--primary)}
