/* Tela de login */
.auth-body { background: #fff; }
.login { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.login__brand {
  position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; gap: 32px;
  padding: 36px 48px; color: #fff;
  background:
    radial-gradient(900px 500px at 85% 15%, rgba(0,152,218,.32), transparent 60%),
    radial-gradient(600px 400px at 0% 100%, rgba(0,152,218,.18), transparent 60%),
    linear-gradient(160deg, #0E2238 0%, #071423 100%);
}
.login__brand::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 44px 44px; mask-image: linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent);
}
.login__brand-top, .login__pitch, .login__foot { position: relative; z-index: 1; }
.login__drum { position: absolute; right: -120px; top: 50%; transform: translateY(-50%); width: 560px; height: 560px; opacity: .9; }
.login__drum svg { width: 100%; height: 100%; }
.login__drum-spin { transform-origin: 200px 200px; animation: drum 22s linear infinite; }
@keyframes drum { to { transform: rotate(360deg); } }
.login__pitch { max-width: 440px; }
.login__eyebrow { display: inline-block; font: 700 12px/1 var(--font); letter-spacing: .18em; text-transform: uppercase; color: #5CC6F2; margin-bottom: 14px; }
.login__pitch h2 { color: #fff; font: 800 34px/1.15 var(--font-head); letter-spacing: -.02em; }
.login__pitch ul { list-style: none; padding: 0; margin: 26px 0 0; display: flex; flex-direction: column; gap: 12px; }
.login__pitch li { display: flex; align-items: center; gap: 12px; color: #CFE0EE; font-size: 14.5px; }
.login__pitch li .ico { width: 32px; height: 32px; padding: 7px; border-radius: 9px; background: rgba(0,152,218,.18); color: #7FD3F5; }
.login__foot { color: #6F8AA5; font-size: 12.5px; }

.login__form-wrap { display: grid; place-items: center; padding: 32px 24px; background: #fff; }
.login__form-wrap--full { grid-column: 1 / -1; background: var(--bg); }
.login__form { width: 100%; max-width: 400px; display: flex; flex-direction: column; gap: 18px; }
.login__form-wrap--full .login__form { background: #fff; padding: 32px; border-radius: 18px; border: 1px solid var(--line); box-shadow: var(--shadow); }
.login__form h1 { font-size: 28px; }
.login__mobile-logo { display: none; margin-bottom: 8px; }
.input--lg { height: 46px; font-size: 15px; border-radius: 11px; }
.login__pass { position: relative; }
.login__pass .input { padding-right: 46px; }
.login__eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border: 0; background: transparent; color: var(--ink-3); border-radius: 8px; display: grid; place-items: center; }
.login__eye .ico { position: static; transform: none; width: 18px; height: 18px; color: inherit; }
.login__eye:hover { background: var(--surface-3); }
.login__demo { display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; color: var(--amber); background: var(--amber-bg); border: 1px solid #F3E2B5; border-radius: 10px; padding: 10px 12px; }

@media (max-width: 900px) {
  .login { grid-template-columns: minmax(0, 1fr); }
  .login__brand { display: none; }
  .login__mobile-logo { display: flex; }
  .login__form-wrap { align-items: start; padding-top: 12vh; }
}
@media (prefers-reduced-motion: reduce) { .login__drum-spin { animation: none; } }
