/* Tela de acesso — layout dividido (mesmo padrão do GC²) */
body.vt-auth { margin: 0; min-height: 100vh; background: #fff; }
.vt-auth-split { display: flex; min-height: 100vh; width: 100%; }

.vt-auth-brand {
  width: 50%; min-height: 100vh; flex-direction: column; justify-content: space-between;
  padding: 3rem; color: #fff; position: relative; overflow: hidden;
  background-image:
    radial-gradient(1200px 600px at 15% -10%, rgba(234,115,23,.22), transparent 60%),
    linear-gradient(160deg, #14213d 0%, #0d1830 100%);
}
.vt-auth-brand-top i { font-size: 4.5rem; color: #ea7317; }
.vt-auth-brand h1 { font-size: 3.4rem; font-weight: 900; letter-spacing: -.03em; margin: 0; }
.vt-auth-tagline { font-size: .85rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: rgba(255,255,255,.7); margin: .75rem 0 0; }
.vt-auth-tour { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1.5rem; color: #ffb36b; font-weight: 600; font-size: .9rem; text-decoration: none; }
.vt-auth-tour:hover { gap: .75rem; color: #ffc891; }
.vt-auth-brand-foot { border-top: 1px solid rgba(255,255,255,.1); padding-top: 1.25rem; margin: 0; max-width: 24rem; font-size: .75rem; line-height: 1.6; color: rgba(255,255,255,.5); }

.vt-auth-side {
  width: 50%; min-height: 100vh; background: #14213d; display: flex; align-items: center; justify-content: center;
  padding: 2.5rem 1.5rem; border-top-left-radius: 7rem;
}
.vt-auth-box { width: 100%; max-width: 420px; }
.vt-auth-card { background: #fff; border-radius: 1rem; padding: 2.5rem 2rem; box-shadow: 0 20px 60px rgba(2,12,27,.35); }
.vt-auth-title { font-size: 1.25rem; font-weight: 700; color: #14213d; margin: 0; }
.vt-auth-sub { color: #64748b; font-size: .875rem; margin: .25rem 0 1.5rem; }
.vt-auth-label { display: block; margin-bottom: .5rem; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #64748b; }
.vt-auth-card .form-control, .vt-auth-card .form-select { background: #f8fafc; border: 1px solid #cbd5e1; font-size: .95rem; }
.vt-auth-card .form-control:focus, .vt-auth-card .form-select:focus { background: #fff; border-color: #ea7317; box-shadow: 0 0 0 4px rgba(234,115,23,.14); }
.vt-auth-eye { position: absolute; right: .75rem; top: 50%; transform: translateY(-50%); background: none; border: 0; color: #ea7317; font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.vt-auth-btn { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: .9rem; }
.vt-auth-credit { color: rgba(255,255,255,.55); font-size: .75rem; }
.vt-auth-credit strong { color: rgba(255,255,255,.8); }

@media (max-width: 991.98px) {
  .vt-auth-side { width: 100%; border-top-left-radius: 0; }
}

.vt-auth-btn { --bs-btn-bg:#ea7317; --bs-btn-border-color:#ea7317; --bs-btn-hover-bg:#d4640f; --bs-btn-hover-border-color:#d4640f; --bs-btn-active-bg:#bf590d; --bs-btn-active-border-color:#bf590d; --bs-btn-disabled-bg:#ea7317; --bs-btn-disabled-border-color:#ea7317; }
.vt-auth-label .text-primary { color:#ea7317 !important; }
.vt-auth-credit a, .vt-auth-credit a:visited { color: rgba(255,255,255,.7); text-decoration: none; }
.vt-auth-credit a:hover { color: #fff; }
