/* ══════════════════════════════════════════════════════════════════
   auth.css — Visual premium para login, registro, recuperar-senha
   ══════════════════════════════════════════════════════════════════ */

body {
  background: #F7F5F0 !important;
  -webkit-font-smoothing: antialiased;
}

/* ── PANEL ESQUERDO ───────────────────────────────────────────── */
.panel {
  background: linear-gradient(160deg, #050505 0%, #0a0a0a 40%, #1a1a1a 75%, rgba(250,190,18,.25) 100%) !important;
}
.panel::before {
  border-color: rgba(255,255,255,.06) !important;
  animation: panelRing 20s linear infinite;
}
@keyframes panelRing {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.ring {
  border-color: rgba(250,190,18,.08) !important;
}
.ptitle {
  font-size: 2.4rem !important;
  letter-spacing: -.02em;
}
.ptitle span {
  background: linear-gradient(135deg, #fabe12, #fabe12, #fabe12) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
.icon {
  background: rgba(250,190,18,.1) !important;
  border-color: rgba(250,190,18,.25) !important;
  box-shadow: 0 8px 32px rgba(250,190,18,.15);
}

/* ── FORM AREA ────────────────────────────────────────────────── */
.la {
  background: var(--bg, #F7F5F0);
}
h2 {
  letter-spacing: -.02em !important;
}
.brand .bi {
  background: linear-gradient(135deg, #fabe12, #fabe12) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 10px rgba(250,190,18,.2);
}

/* ── INPUTS ───────────────────────────────────────────────────── */
input[type=email], input[type=password], input[type=text] {
  height: 50px !important;
  border-radius: 12px !important;
  border: 1.5px solid #E8E4DA !important;
  transition: all .25s cubic-bezier(.4,0,.2,1) !important;
  background: #fff !important;
}
input:focus {
  border-color: #fabe12 !important;
  box-shadow: 0 0 0 3px rgba(250,190,18,.1), 0 2px 8px rgba(250,190,18,.06) !important;
}
input.erro {
  border-color: #EF4444 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.08) !important;
}

/* ── TOKEN DIGIT (recuperar-senha) ────────────────────────────── */
.token-digit,
input.token-digit,
input.token-digit[type=text] {
  width: 52px !important;
  height: 60px !important;
  padding: 0 !important;
  text-align: center !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  border: 1.5px solid #E8E4DA !important;
  color: #0F172A !important;
  background: #fff !important;
  caret-color: #fabe12;
}
.token-digit:focus,
input.token-digit:focus {
  border-color: #fabe12 !important;
  box-shadow: 0 0 0 3px rgba(250,190,18,.12) !important;
}
.token-digit.filled,
input.token-digit.filled {
  border-color: #fabe12 !important;
  background: #fefce8 !important;
}

/* ── BUTTONS ──────────────────────────────────────────────────── */
.bp {
  height: 52px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #fabe12, #fabe12) !important;
  box-shadow: 0 4px 18px rgba(250,190,18,.3) !important;
  font-weight: 700 !important;
  transition: all .25s cubic-bezier(.4,0,.2,1) !important;
  position: relative;
  overflow: hidden;
}
.bp::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent);
  transition: left .5s;
}
.bp:hover:not(:disabled) {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(250,190,18,.4) !important;
}
.bp:hover:not(:disabled)::before {
  left: 100%;
}

/* ── GOOGLE BUTTON ────────────────────────────────────────────── */
.bg {
  border-radius: 12px !important;
  height: 52px !important;
  border: 1.5px solid #E8E4DA !important;
  transition: all .25s cubic-bezier(.4,0,.2,1) !important;
}
.bg:hover {
  border-color: rgba(250,190,18,.3) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.06) !important;
  transform: translateY(-1px);
}

/* ── ERROR MSG ────────────────────────────────────────────────── */
.msg-erro {
  border-radius: 12px !important;
}

/* ── LINKS ────────────────────────────────────────────────────── */
.fgt:hover, .sg a:hover {
  color: #fabe12 !important;
}

/* ── RESPONSIVE ───────────────────────────────────────────────── */
@media (max-width: 768px) {
  .la {
    padding: 32px 20px !important;
  }
}

/* ── SCROLLBAR ────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-thumb { background: rgba(0,0,0,.12); border-radius: 3px; }

::selection {
  background: rgba(250,190,18,.2);
  color: #0F172A;
}
