/* Tela de login — externa por design: a CSP do servidor bloqueia estilo inline. */
body { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 24px; }
.login-wrap { width: 100%; max-width: 400px; }
.login-card {
  background: var(--surface); border: 1px solid var(--border); border-radius: 18px;
  box-shadow: var(--shadow-lg); overflow: hidden;
}
.login-card .topo { height: 4px; background: var(--grad-marca); }
.login-card .corpo { padding: 32px 30px 30px; }
.login-logo { display: block; height: 44px; width: auto; margin: 0 auto 22px; }
.login-card h1 { font-size: 17px; font-weight: 600; text-align: center; margin: 0 0 4px; color: var(--ink); }
.login-card .sub {
  text-align: center; font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--magenta); font-weight: 500; margin-bottom: 26px;
}
.login-card label {
  display: block; font-size: 11px; font-weight: 600; letter-spacing: .08em;
  text-transform: uppercase; color: var(--ink-mute); margin: 0 0 5px;
}
.login-card input {
  width: 100%; font-family: inherit; font-size: 15px; color: var(--ink);
  padding: 11px 13px; border: 1px solid var(--border-str); border-radius: var(--radius-sm);
  background: var(--surface); margin-bottom: 16px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.login-card input:focus-visible {
  outline: none; border-color: var(--magenta); box-shadow: 0 0 0 3px rgba(237,53,171,.16);
}
.login-card button {
  width: 100%; font-family: inherit; font-size: 14.5px; font-weight: 500; color: #fff;
  background: var(--ink); border: none; padding: 12px; border-radius: var(--radius-sm);
  cursor: pointer; margin-top: 4px; transition: background-color .18s ease;
}
.login-card button:hover { background: var(--burgundy); }
.login-card button:focus-visible { outline: 2px solid var(--magenta); outline-offset: 2px; }
.erro {
  background: #FEF1EF; border: 1px solid #F8CFC7; color: #A3200B;
  font-size: 13px; padding: 10px 13px; border-radius: var(--radius-sm); margin-bottom: 18px;
}
.aviso { text-align: center; font-size: 11.5px; color: var(--ink-mute); margin-top: 20px; line-height: 1.5; }
