.auth-locked { visibility: hidden; }
.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.auth-panel { width: 100%; max-width: 430px; background: #1e293b; border: 1px solid #334155; border-radius: 20px; padding: 34px; box-shadow: 0 20px 60px #0004; }
.auth-logo { color: #10b981; font-size: 38px; text-align: center; }
.auth-panel h1 { font-size: 25px; text-align: center; font-weight: 800; margin: 8px 0; }
.auth-subtitle { text-align: center; color: #94a3b8; margin-bottom: 28px; font-size: 14px; }
.auth-panel h2 { font-size: 18px; font-weight: 700; margin-bottom: 22px; }
.auth-panel label { display: block; font-size: 13px; color: #cbd5e1; margin-bottom: 7px; }
.auth-panel input { display: block; width: 100%; background: #0f172a; border: 1px solid #334155; border-radius: 9px; padding: 13px; margin-bottom: 18px; color: white; }
.auth-panel input:focus { outline: 2px solid #10b981; outline-offset: 1px; }
.auth-primary { display: block; width: 100%; padding: 13px; border-radius: 9px; background: #10b981; color: white; font-weight: 700; cursor: pointer; }
.auth-primary:hover { background: #059669; }
.auth-primary:disabled { opacity: .6; }
.auth-link { display: block; text-align: center; margin: 18px auto 0; background: none; border: none; color: #6ee7b7; cursor: pointer; font-size: 13px; }
#authStatus { min-height: 24px; color: #6ee7b7; font-size: 13px; margin-top: 16px; text-align: center; }
#authStatus.auth-error { color: #f87171; }

/* Bandeiras SVG sem caixas, iguais às do painel */
.auth-flags{display:flex;justify-content:flex-end;gap:9px;margin-bottom:12px}
.auth-flags button{border:0;background:transparent;padding:2px;cursor:pointer;line-height:0;border-radius:3px}
.auth-flags img{width:25px;height:18px;object-fit:cover;display:block}
.auth-flags button[aria-pressed="true"]{outline:2px solid #10b981;outline-offset:2px}
.auth-flags button:focus-visible{outline:2px solid white;outline-offset:2px}
.auth-link:disabled{opacity:.55;cursor:not-allowed}
/* FINANCE PRO — FUNDO FINANCEIRO ORIGINAL */

body:has(.auth-page) {
  background:
    radial-gradient(
      ellipse at 15% 20%,
      rgba(16,185,129,.18),
      transparent 42%
    ),
    radial-gradient(
      ellipse at 90% 80%,
      rgba(14,165,233,.14),
      transparent 44%
    ),
    #0b1220;

  color: #f8fafc;
  position: relative;
  isolation: isolate;
}

/* Gráficos financeiros translúcidos */

body:has(.auth-page)::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;

  background-image:
    linear-gradient(
      rgba(7,15,29,.55),
      rgba(7,15,29,.70)
    ),
    url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQwIDkwMCI+PGRlZnM+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTTcyIDBIMFY3MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjOWJkNmU4IiBzdHJva2Utb3BhY2l0eT0iLjE0Ii8+PC9wYXR0ZXJuPjxsaW5lYXJHcmFkaWVudCBpZD0ibGluZSIgeDE9IjAiIHkxPSIxIiB4Mj0iMSIgeTI9IjAiPjxzdG9wIHN0b3AtY29sb3I9IiMyMmQzZWUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMzNGQzOTkiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB3aWR0aD0iMTQ0MCIgaGVpZ2h0PSI5MDAiIGZpbGw9InVybCgjZ3JpZCkiLz48ZyBvcGFjaXR5PSIuMjgiIGZpbGw9IiMzNGQzOTkiPjxyZWN0IHg9Ijk1IiB5PSI1ODAiIHdpZHRoPSI2MiIgaGVpZ2h0PSIxNDAiIHJ4PSI4Ii8+PHJlY3QgeD0iMTkwIiB5PSI1MDAiIHdpZHRoPSI2MiIgaGVpZ2h0PSIyMjAiIHJ4PSI4Ii8+PHJlY3QgeD0iMjg1IiB5PS");}