/* =========================================================
   FUTURE OS 5.7.3e — PUBLIC LIGHT EXPERIENCE
   Shared visual contract for login, password and onboarding.
   ========================================================= */

.public-theme-control,
.theme-btn{
  position:fixed!important;
  top:16px!important;
  left:16px!important;
  z-index:99999!important;
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid var(--future-border)!important;
  border-radius:14px!important;
  background:var(--future-surface)!important;
  color:var(--future-text)!important;
  box-shadow:var(--future-shadow-sm)!important;
  cursor:pointer!important;
}

/* ---------- LOGIN ---------- */
html[data-theme="light"] body.login-public-page,
html[data-theme="light"] body:has(.login-shell){
  background:
    radial-gradient(850px 580px at 6% 96%,rgba(25,205,187,.10),transparent 68%),
    radial-gradient(800px 560px at 96% 3%,rgba(142,142,147,.10),transparent 68%),
    #F5F5F7!important;
  color:#1C1C1E!important;
}
html[data-theme="light"] body:has(.login-shell)::before{
  opacity:.18!important;
  background-image:
    linear-gradient(rgba(58,58,60,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(58,58,60,.055) 1px,transparent 1px)!important;
}
html[data-theme="light"] .login-stage{
  background:linear-gradient(145deg,#FFFFFF 0%,#F1F1F3 100%)!important;
  border-color:rgba(28,28,30,.11)!important;
  box-shadow:0 34px 90px rgba(28,28,30,.13)!important;
}
html[data-theme="light"] .login-stage::before{
  border-color:rgba(25,205,187,.22)!important;
  box-shadow:0 0 100px rgba(25,205,187,.10),inset 0 0 70px rgba(25,205,187,.05)!important;
}
html[data-theme="light"] .login-intro,
html[data-theme="light"] .brand-copy strong,
html[data-theme="light"] .intro-copy h1,
html[data-theme="light"] .trust-item strong{
  color:#1C1C1E!important;
}
html[data-theme="light"] .intro-copy p{
  color:#3A3A3C!important;
}
html[data-theme="light"] .trust-item{
  border-color:rgba(28,28,30,.10)!important;
}
html[data-theme="light"] .trust-item span,
html[data-theme="light"] .intro-footer{
  color:#8E8E93!important;
}
html[data-theme="light"] .login-panel-wrap{
  background:transparent!important;
}
html[data-theme="light"] .login-panel{
  background:linear-gradient(145deg,#3A3A3C,#1C1C1E)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 28px 70px rgba(28,28,30,.24)!important;
  color:#FFFFFF!important;
}
html[data-theme="light"] .login-panel h2,
html[data-theme="light"] .login-panel label,
html[data-theme="light"] .login-panel .panel-mobile-brand strong{
  color:#FFFFFF!important;
}
html[data-theme="light"] .login-panel .subtitle,
html[data-theme="light"] .login-meta,
html[data-theme="light"] .secure-line,
html[data-theme="light"] .back-link a,
html[data-theme="light"] .admin-recovery-link a,
html[data-theme="light"] .panel-mobile-brand span{
  color:#D1D1D6!important;
}
html[data-theme="light"] .login-panel .input-wrap,
html[data-theme="light"] .login-panel input{
  background:#FFFFFF!important;
  color:#1C1C1E!important;
  border-color:#D1D1D6!important;
}
html[data-theme="light"] .login-panel input::placeholder{
  color:#8E8E93!important;
}
html[data-theme="light"] .login-panel .input-wrap i,
html[data-theme="light"] .login-panel #btn-olho{
  color:#636366!important;
}
html[data-theme="light"] .login-panel .or span{
  background:rgba(255,255,255,.16)!important;
}
html[data-theme="light"] .login-panel .or small{
  color:#AEAEB2!important;
}
html[data-theme="light"] #login-erro{
  color:#FFD5D8!important;
  background:rgba(198,62,72,.22)!important;
  border-color:rgba(255,174,180,.26)!important;
}
html[data-theme="light"] .production-login-chip{
  color:#1C1C1E!important;
  background:rgba(255,255,255,.92)!important;
  border-color:rgba(28,28,30,.12)!important;
}

/* ---------- PASSWORD PAGES ---------- */
.public-auth-body{
  min-height:100vh!important;
  padding:24px!important;
  display:grid!important;
  place-items:center!important;
  background:var(--future-bg)!important;
  color:var(--future-text)!important;
}
.public-auth-card{
  width:min(520px,100%)!important;
  padding:32px!important;
  border:1px solid var(--future-border)!important;
  border-radius:26px!important;
  background:var(--future-surface)!important;
  color:var(--future-text)!important;
  box-shadow:var(--future-shadow-lg)!important;
}
.public-auth-logo{
  width:72px!important;
  height:88px!important;
  display:block!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
.public-auth-card h1{
  color:var(--future-text)!important;
  font-size:34px!important;
  line-height:1.05!important;
  margin:18px 0 9px!important;
}
.public-auth-card p,
.public-auth-card .back{
  color:var(--future-text-secondary)!important;
}
.public-auth-card label{
  color:var(--future-text-secondary)!important;
}
.public-auth-card input{
  width:100%!important;
  height:56px!important;
  box-sizing:border-box!important;
  padding:0 15px!important;
  border:1px solid var(--future-border-strong)!important;
  border-radius:15px!important;
  background:var(--future-bg)!important;
  color:var(--future-text)!important;
}
.public-auth-card button[type="submit"],
.public-auth-card #send{
  width:100%!important;
  min-height:54px!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#58E7D6,#19CDBB)!important;
  color:#1C1C1E!important;
  font-weight:800!important;
  box-shadow:0 14px 30px rgba(25,205,187,.18)!important;
}
html[data-theme="light"] .public-auth-body{
  background:
    radial-gradient(780px 520px at 4% 100%,rgba(25,205,187,.10),transparent 68%),
    radial-gradient(720px 500px at 100% 0%,rgba(142,142,147,.10),transparent 68%),
    #F5F5F7!important;
}
html[data-theme="light"] .public-auth-card{
  background:#FFFFFF!important;
  color:#1C1C1E!important;
  border-color:rgba(28,28,30,.11)!important;
  box-shadow:0 30px 80px rgba(28,28,30,.13)!important;
}
html[data-theme="light"] .public-auth-card h1{
  color:#1C1C1E!important;
}
html[data-theme="light"] .public-auth-card p,
html[data-theme="light"] .public-auth-card label,
html[data-theme="light"] .public-auth-card .back{
  color:#636366!important;
}
html[data-theme="light"] .public-auth-card input{
  background:#F5F5F7!important;
  color:#1C1C1E!important;
  border-color:#C7C7CC!important;
}
html[data-theme="light"] .public-auth-card .msg.success{
  background:#ECF9F3!important;
  color:#126645!important;
  border:1px solid #B8E8D3!important;
}
html[data-theme="light"] .public-auth-card .msg.error{
  background:#FFF1F2!important;
  color:#A3212D!important;
  border:1px solid #F1B8BE!important;
}

/* ---------- CLIENT ONBOARDING ---------- */
html[data-theme="light"] .onboarding-body{
  background:
    radial-gradient(850px 580px at 5% 0%,rgba(25,205,187,.10),transparent 68%),
    radial-gradient(760px 540px at 100% 100%,rgba(142,142,147,.11),transparent 70%),
    #F5F5F7!important;
  color:#1C1C1E!important;
}
html[data-theme="light"] .onboarding-brand{
  color:#1C1C1E!important;
}
html[data-theme="light"] .onboarding-logo{
  background:linear-gradient(145deg,#58E7D6,#19CDBB)!important;
  color:#1C1C1E!important;
  border-color:rgba(28,28,30,.08)!important;
  box-shadow:0 14px 28px rgba(25,205,187,.18)!important;
}
html[data-theme="light"] .onboarding-card{
  background:#FFFFFF!important;
  border-color:rgba(28,28,30,.11)!important;
  box-shadow:0 28px 80px rgba(28,28,30,.13)!important;
}
html[data-theme="light"] .onboarding-intro h1,
html[data-theme="light"] .onboarding-step-title strong,
html[data-theme="light"] .onboarding-lgpd strong,
html[data-theme="light"] .onboarding-success h2{
  color:#1C1C1E!important;
}
html[data-theme="light"] .onboarding-intro p,
html[data-theme="light"] .onboarding-grid label,
html[data-theme="light"] .onboarding-cep-help,
html[data-theme="light"] .onboarding-lgpd span,
html[data-theme="light"] .onboarding-footer,
html[data-theme="light"] .onboarding-success p{
  color:#636366!important;
}
html[data-theme="light"] .onboarding-person-type{
  background:#ECECEF!important;
  border:1px solid #D1D1D6!important;
}
html[data-theme="light"] .onboarding-person-type button{
  color:#636366!important;
}
html[data-theme="light"] .onboarding-person-type button.active{
  background:#3A3A3C!important;
  color:#FFFFFF!important;
  box-shadow:0 8px 20px rgba(28,28,30,.15)!important;
}
html[data-theme="light"] .onboarding-grid input{
  background:#FFFFFF!important;
  color:#1C1C1E!important;
  border-color:#C7C7CC!important;
  box-shadow:0 4px 14px rgba(28,28,30,.04)!important;
}
html[data-theme="light"] .onboarding-grid input:focus{
  border-color:#19CDBB!important;
  box-shadow:0 0 0 4px rgba(25,205,187,.12)!important;
}
html[data-theme="light"] .onboarding-lgpd,
html[data-theme="light"] .fm-feedback{
  background:#F1F1F3!important;
  color:#1C1C1E!important;
  border-color:#D1D1D6!important;
}
html[data-theme="light"] .fm-feedback-danger{
  background:#FFF1F2!important;
  color:#A3212D!important;
  border-color:#F1B8BE!important;
}
html[data-theme="light"] .onboarding-footer a{
  color:#3A3A3C!important;
}

@media(max-width:900px){
  html[data-theme="light"] .login-stage{
    background:transparent!important;
  }
  html[data-theme="light"] .login-panel-wrap{
    background:#F5F5F7!important;
  }
}
@media(max-width:560px){
  .public-auth-body{padding:14px!important}
  .public-auth-card{padding:24px 18px!important;border-radius:22px!important}
  .public-auth-card h1{font-size:29px!important}
  .public-theme-control,.theme-btn{top:10px!important;left:10px!important}
}


/* =========================================================
   FUTURE OS 5.7.3f — OFFICIAL ONBOARDING BRAND
   ========================================================= */
.onboarding-logo{
  width:56px!important;
  height:68px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 56px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.onboarding-logo img{
  display:block!important;
  width:48px!important;
  height:62px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
}
html[data-theme="light"] .onboarding-logo{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html[data-theme="light"] .onboarding-logo img{
  content:url("../assets/logo-preto.png?v=5.7.3f");
}
html[data-theme="dark"] .onboarding-logo img{
  content:url("../assets/logo-white.png?v=5.7.3f");
}
.onboarding-brand{
  gap:15px!important;
}
@media(max-width:560px){
  .onboarding-logo{
    width:48px!important;
    height:59px!important;
    flex-basis:48px!important;
  }
  .onboarding-logo img{
    width:42px!important;
    height:54px!important;
  }
  .onboarding-brand{
    gap:12px!important;
  }
}
