/* LOGIN LIMPO - independente do dashboard */
html,
body{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  min-height:100vh !important;
  overflow-x:hidden !important;
  background:
    radial-gradient(circle at 20% 10%, rgba(55,110,190,.16), transparent 32%),
    radial-gradient(circle at 90% 20%, rgba(45,105,190,.14), transparent 30%),
    linear-gradient(180deg,#061827 0%,#081f38 100%) !important;
  color:#f4f8ff !important;
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  zoom:1 !important;
  transform:none !important;
}

body.tl-login-page{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:100vh !important;
  padding:32px !important;
  box-sizing:border-box !important;
}

/* esconder sidebar/layout do dashboard se aparecer no login */
body.tl-login-page aside,
body.tl-login-page .sidebar,
body.tl-login-page nav.sidebar,
body.tl-login-page .app-sidebar,
body.tl-login-page .dashboard-sidebar{
  display:none !important;
}

body.tl-login-page main,
body.tl-login-page .main,
body.tl-login-page .main-content,
body.tl-login-page .content,
body.tl-login-page .page-content,
body.tl-login-page .app-main,
body.tl-login-page .dashboard-content{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  max-width:none !important;
  min-height:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* cartão final do login */
.tl-login-card-final{
  width:min(560px, calc(100vw - 48px)) !important;
  max-width:560px !important;
  margin:0 auto !important;
  padding:34px 34px 30px !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#14375f 0%,#102d4f 100%) !important;
  border:1px solid rgba(88,142,219,.36) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.42) !important;
  box-sizing:border-box !important;
  transform:none !important;
  zoom:1 !important;
}

.tl-login-logo{
  width:150px !important;
  height:82px !important;
  margin:0 auto 18px !important;
  border-radius:22px !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  border:1px solid rgba(88,142,219,.25) !important;
}

.tl-login-logo img{
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  padding:10px !important;
  box-sizing:border-box !important;
  display:block !important;
}

.tl-login-card-final h1,
.tl-login-card-final h2,
.tl-login-card-final h3{
  margin:0 0 24px !important;
  text-align:center !important;
  color:#fff !important;
  font-size:30px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}

.tl-login-card-final label{
  display:block !important;
  margin:0 0 7px !important;
  color:#dce8f8 !important;
  font-size:14px !important;
  font-weight:700 !important;
}

.tl-login-card-final input[type="email"],
.tl-login-card-final input[type="text"],
.tl-login-card-final input[type="password"]{
  width:100% !important;
  height:48px !important;
  min-height:48px !important;
  margin:0 0 16px !important;
  padding:10px 14px !important;
  border-radius:14px !important;
  background:#061d35 !important;
  border:1px solid rgba(74,146,220,.58) !important;
  color:#fff !important;
  font-size:15px !important;
  box-shadow:none !important;
  outline:none !important;
  box-sizing:border-box !important;
}

.tl-login-card-final input:focus{
  border-color:#6aa5ff !important;
  box-shadow:0 0 0 3px rgba(57,115,244,.18) !important;
}

.tl-login-card-final button,
.tl-login-card-final input[type="submit"],
.tl-login-card-final .btn{
  width:100% !important;
  height:48px !important;
  min-height:48px !important;
  border-radius:14px !important;
  border:1px solid #3a70e8 !important;
  background:linear-gradient(180deg,#477df5,#3169e8) !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:850 !important;
  cursor:pointer !important;
}

.tl-login-card-final a{
  color:#8db4ff !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

.tl-login-card-final p,
.tl-login-card-final small{
  color:#b9c9df !important;
  text-align:center !important;
  font-size:13px !important;
}

/* remover logos duplicados/fallbacks */
body.tl-login-page .tl-brand-logo,
body.tl-login-page .tl-brand-text,
body.tl-login-page .tl-login-stable-logo,
body.tl-login-page .tl-login-logo-clean,
body.tl-login-page .tl-login-logo-fixed,
body.tl-login-page [class*="fallback"],
body.tl-login-page [class*="initial"]{
  display:none !important;
}

@media(max-width:640px){
  body.tl-login-page{
    padding:18px !important;
  }

  .tl-login-card-final{
    width:100% !important;
    padding:26px 20px 24px !important;
    border-radius:20px !important;
  }

  .tl-login-logo{
    width:132px !important;
    height:76px !important;
  }

  .tl-login-card-final h1,
  .tl-login-card-final h2,
  .tl-login-card-final h3{
    font-size:26px !important;
  }
}
