/* Login uses the same appearance preference as the client dashboard. */
.portal-login { background: var(--page-bg); color: var(--ink); }
.portal-login .login-layout { background: var(--page-bg); }
.portal-login .welcome-panel {
  background: #202c45;
  border-right-color: #3e4c65;
  color: #f1f4fb;
}
.portal-login .welcome-panel .brand { color: #f1f4fb; }
.portal-login .welcome-panel .brand-dot,
.portal-login .welcome-panel .purple { color: #d7ebaa; }
.portal-login .welcome-panel .eyebrow { color: #d7ebaa; }
.portal-login .welcome-panel .eyebrow > span { background: #d7ebaa; }
.portal-login .welcome-description { color: #d5ddeb; }
.portal-login .welcome-footer { color: #b9c6da; }
.portal-login .illustration-orbit { border-color: #53617a; }
.portal-login .illustration-brand {
  background: #33425d;
  border-color: #596782;
  box-shadow: 0 12px 30px #0002;
}
.portal-login .illustration-chip {
  background: #2c3c54;
  border-color: #56667f;
  color: #f1f4fb;
  box-shadow: 0 8px 24px #0002;
}
.portal-login .illustration-chip div > span { color: #c2cfdf; }
.portal-login .whatsapp-icon { background: #3e503b; color: #d7ebaa; }
.portal-login .message-icon { background: #384f6e; color: #c8dbf9; }
.portal-login .access-panel { background: var(--page-bg); }
.portal-login .login-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 20px;
}
.portal-login .back {
  position: static;
  align-self: auto;
  color: var(--muted);
  min-height: 44px;
}
.portal-login .back:hover { color: var(--ink); }
.portal-login .login-toolbar .theme-control { margin: 0; }
.portal-login .login-toolbar .theme-control label { margin: 0; }
.portal-login .login-main {
  max-width: 450px;
  margin-top: auto;
  margin-bottom: auto;
  padding: 36px 0;
}
.portal-login .login-main h2 { color: var(--ink); }
.portal-login .login-intro,
.portal-login .step-label,
.portal-login .client-note,
.portal-login .field-hint,
.portal-login .access-footer,
.portal-login .muted { color: var(--muted); }
.portal-login .access-icon {
  background: var(--surface-alt);
  border-color: var(--line-strong);
  color: var(--accent-text);
}
.portal-login label { color: var(--ink); }
.portal-login input {
  background: var(--field-bg);
  color: var(--ink);
  border-color: var(--line-strong);
  box-shadow: none;
}
.portal-login input::placeholder { color: var(--muted); opacity: 1; }
.portal-login input:hover { border-color: var(--accent-text); }
.portal-login input:focus {
  border-color: var(--accent-text);
  outline: 2px solid var(--accent-text);
  outline-offset: 2px;
  box-shadow: none;
}
.portal-login input:-webkit-autofill {
  -webkit-text-fill-color: var(--ink);
  -webkit-box-shadow: 0 0 0 1000px var(--field-bg) inset;
  caret-color: var(--ink);
}
.portal-login .text-button,
.portal-login .client-note a { color: var(--accent-text); }
.portal-login .text-button.muted { color: var(--muted); }
.portal-login .password-toggle { color: var(--muted); }
.portal-login .password-toggle:hover {
  background: var(--surface-alt);
  color: var(--ink);
}
.portal-login .primary {
  background: var(--purple);
  border-color: var(--purple);
  color: #fff;
  box-shadow: none;
}
.portal-login .primary:hover:not(:disabled) {
  background: var(--purple);
  filter: brightness(.94);
  box-shadow: none;
}
.portal-login .access-note {
  background: var(--surface);
  border-color: var(--line-strong);
  color: var(--muted);
}
.portal-login .access-note p,
.portal-login .access-note svg { color: var(--muted); }
.portal-login .notice {
  background: var(--surface-alt);
  border-color: var(--line-strong);
  color: var(--ink);
}
.portal-login .notice[data-tone="error"] {
  background: var(--danger-bg);
  border-color: var(--danger-border);
  color: var(--danger-text);
}
.portal-login .notice[data-tone="success"] {
  background: var(--success-bg, var(--surface-alt));
  border-color: var(--success-border, var(--line-strong));
  color: var(--success-text, var(--ink));
}
.portal-login .skip-link { background: var(--surface); color: var(--ink); }
.portal-login :focus-visible { outline-color: var(--accent-text); }
.portal-login .access-footer a:hover { color: var(--accent-text); }
@media (max-width: 800px) {
  .portal-login .welcome-panel { background: #202c45; }
  .portal-login .access-panel { padding-top: 16px; }
  .portal-login .login-toolbar { gap: 8px 12px; }
  .portal-login .login-toolbar .theme-control { margin-left: auto; }
  .portal-login .login-main { padding: 26px 0 32px; }
}
@media (max-width: 380px) {
  .portal-login .login-toolbar { align-items: flex-end; }
  .portal-login .login-toolbar .theme-control {
    display: grid;
    gap: 5px;
  }
  .portal-login .login-toolbar .theme-control label { font-size: 12px; }
}

/* Nova senha com código por e-mail */
#reset-code{font-size:25px;letter-spacing:12px;font-variant-numeric:tabular-nums;text-align:center;padding-left:28px}
.portal-login .label-spaced{margin-top:22px}
