/* Primeira etapa da identidade visual: somente acesso e recuperação de senha. */
#app.app--login .login-page--organized,
#app.app--login .login-page--recovery {
  background:linear-gradient(135deg,var(--primary-tint) 0%,var(--bg) 56%,var(--bg) 100%);
}
#app.app--login .login-page--organized::before { opacity:.018; }
#app.app--login :is(.login-page--organized,.login-page--recovery) .login-card {
  padding:28px;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:0 8px 32px #1e2a380c;
  gap:16px;
}
#app.app--login .login-page--organized .login__brand-logo { margin:0 0 4px; }
#app.app--login .login-page--organized .login__brand-logo .brand { justify-content:center; }
#app.app--login .login-page--organized .login__brand-logo .brand__symbol { width:40px;height:40px; }
#app.app--login .login-page--organized .login__brand-logo .brand__name { font-size:23px; }
#app.app--login .login-page--organized .login-language {
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;
  padding-bottom:16px;border-bottom:1px solid var(--border);
}
#app.app--login .login-page--organized .login-language label { color:var(--text-muted);font-size:13px; }
#app.app--login .login-page--organized .login-language select {
  display:block;max-width:100%;min-height:40px;padding:8px 30px 8px 12px;
  border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:13px;
}
#app.app--login .login-page--organized .login-card__heading { text-align:center; }
#app.app--login .login-page--organized .login-card__heading h2 { font-size:24px;letter-spacing:-.025em;margin-bottom:6px; }
#app.app--login :is(.login-page--organized,.login-page--recovery) .form-field { gap:8px; }
#app.app--login :is(.login-page--organized,.login-page--recovery) .form-field input {
  min-height:48px;background:var(--surface);border:1px solid #a9bbce;border-radius:10px;
}
#app.app--login .login-page--organized .login-password button { min-height:40px;right:4px; }
#app.app--login .login-page--organized .login-submit { justify-content:center;gap:12px;background:var(--primary-hover);font-size:14px; }
#app.app--login .login-page--organized .login-submit:hover { filter:brightness(.95); }
#app.app--login .login-page--organized .login-submit:disabled { filter:none; }
#app.app--login .login-page--organized .login-support { border:0;padding:0;text-align:center; }
#app.app--login .login-page--organized .login-support [data-role="recuperar"] {
  min-height:44px;padding:8px 12px;background:transparent;color:var(--primary-hover);font-size:13px;
}
#app.app--login .login-page--organized .login-support [data-role="recuperar"]:hover { text-decoration:underline; }
#app.app--login .login-page--organized .login-support:last-child {
  display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;
  border-top:1px solid var(--border);padding-top:12px;
}
#app.app--login .login-page--organized .login-support a { display:inline-flex;align-items:center;min-height:32px; }
#app.app--login .login-page--organized .login-intro__eyebrow { letter-spacing:.12em; }
#app.app--login .login-page--organized .login-map-topic>summary { border-radius:14px;box-shadow:0 2px 8px #1e2a3810; }
#app.app--login .login-page--organized .login-map-topic__description { border-radius:14px;box-shadow:0 6px 20px #1e2a381c; }
#app.app--login .login-page--organized .login-guide { border-radius:14px;background:var(--surface); }
#app.app--login .login-page--organized .login-guide>summary { min-height:48px; }
#app.app--login .login-page--organized .login-error { border-left:3px solid var(--danger); }
#app.app--login .login-page--organized .login-notice { border-left:3px solid var(--warning); }
#app.app--login .login-page--organized :is(button,select,input,a,summary):focus-visible { outline:2px solid var(--primary-hover);outline-offset:3px; }
@media(min-width:1101px) {
  #app.app--login .login-page--organized .login-plant-scene { margin-top:calc(22px - 11.88cqw); }
  #app.app--login .login-page--organized .login-map-topic--history { top:76%; }
}
@media(min-width:851px) and (max-height:760px) {
  #app.app--login :is(.login-page--organized,.login-page--recovery) .login-card { padding:24px;gap:12px; }
  #app.app--login .login-page--organized .login-language { padding-bottom:12px; }
}
@media(max-width:850px) {
  #app.app--login .login-page--organized .login-map-topic>summary { border-radius:50%; }
  #app.app--login .login-page--organized .login-intro--plant { order:2; }
  #app.app--login .login-page--organized .login-card { order:1; }
}
@media(max-width:420px) {
  #app.app--login :is(.login-page--organized,.login-page--recovery) .login-card { padding:22px 18px; }
  #app.app--login .login-page--organized .login__brand-logo .brand__name { font-size:21px; }
}
