/* Estilos exclusivos: admin/login.html */
/* Ajuste pontual do popup de primeiro acesso: mantém CPF/CNPJ e E-mail exatamente na mesma linha. */
  #firstAccessForm{
    align-items:start;
  }
  #firstAccessForm > label{
    min-width:0;
    align-self:start;
    margin:0;
  }
  #firstAccessForm > label:nth-of-type(1),
  #firstAccessForm > label:nth-of-type(2){
    display:grid;
    grid-template-rows:auto 48px auto;
    gap:7px;
    align-content:start;
  }
  #firstAccessForm > label:nth-of-type(1) > span,
  #firstAccessForm > label:nth-of-type(2) > span{
    line-height:1.2;
    margin:0;
  }
  #firstAccessForm > label:nth-of-type(1) > input,
  #firstAccessForm > label:nth-of-type(2) > input{
    min-height:48px;
    height:48px;
    margin:0;
  }
  #firstAccessForm .cpf-cnpj-validation-msg{
    margin-top:0;
    min-height:15px;
  }
  .admin-remember-login{
    display:flex;
    align-items:center;
    gap:9px;
    margin:-2px 0 14px;
    color:#123b6d;
    font-size:14px;
    font-weight:400;
    cursor:pointer;
    user-select:none;
  }
  .admin-remember-login input{
    width:17px;
    height:17px;
    margin:0;
    accent-color:#0b9a68;
    cursor:pointer;
  }


/* REGRA GLOBAL FINAL: frontend sem negrito */
html body,
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body label, html body legend,
html body button, html body input, html body select, html body textarea, html body option,
html body p, html body span, html body small, html body a,
html body strong, html body b,
html body th, html body td, html body li,
html body [role="button"], html body [role="tab"], html body [class*="title"],
html body [class*="label"], html body [class*="heading"], html body [class*="caption"] {
  font-weight: 400 !important;
}
/* Mantem somente o peso estrutural exigido por fontes de icones. */
html body .fa, html body .fas, html body .fa-solid,
html body [class^="fa-"], html body [class*=" fa-"] {
  font-weight: 900 !important;
}
html body .far, html body .fa-regular {
  font-weight: 400 !important;
}


/* ===== Ajustes exclusivos da tela de login (2026-07-15) ===== */
/* Primeiro acesso: mantém os campos em duas colunas, alinhados e compactos. */
#firstAccessModal .login-modal{
  width:min(860px,calc(100vw - 32px))!important;
}
#firstAccessModal .login-modal-header{
  padding:18px 22px!important;
}
#firstAccessModal .login-modal-header h2{
  font-size:26px!important;
}
#firstAccessModal .login-modal-form{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px 14px!important;
  padding:18px 22px 20px!important;
  max-height:calc(100vh - 150px)!important;
  align-items:start!important;
}
#firstAccessModal .login-modal-form > label{
  display:grid!important;
  grid-template-rows:auto 42px!important;
  gap:6px!important;
  min-width:0!important;
  margin:0!important;
  align-self:start!important;
}
#firstAccessModal .login-modal-form > label > input{
  min-height:42px!important;
  height:42px!important;
  margin:0!important;
}
#firstAccessModal .login-modal-form > label.full{
  grid-column:1/-1!important;
}
#firstAccessModal .cpf-cnpj-validation-msg{
  grid-row:3!important;
  min-height:14px!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.15!important;
}
#firstAccessModal .login-modal-alert{
  padding:10px 12px!important;
}
#firstAccessModal .login-modal-actions{
  padding-top:12px!important;
}

/* Redefinição: reduz somente a largura desta janela. */
#resetPasswordModal .login-modal.small{
  width:min(720px,calc(100vw - 32px))!important;
}
#resetPasswordModal .login-modal-header{
  padding:18px 22px!important;
}
#resetPasswordModal .login-modal-form{
  gap:12px!important;
  padding:18px 22px 20px!important;
}

@media(max-width:760px){
  #firstAccessModal .login-modal-form{
    grid-template-columns:1fr!important;
  }
  #firstAccessModal .login-modal-form > label.full{
    grid-column:auto!important;
  }
  #resetPasswordModal .login-modal.small{
    width:calc(100vw - 20px)!important;
  }
}


/* ===== Login Administrativo | Prefeitura de Ibaté ===== */
body.admin-login-page{
  background:
    radial-gradient(circle at 14% 18%,rgba(11,58,120,.10),transparent 28%),
    linear-gradient(135deg,#f3f7fc 0%,#e8f0f8 52%,#dbe6f2 100%) !important;
}
.admin-login-shell{
  background:rgba(255,255,255,.98) !important;
  border:1px solid rgba(167,186,208,.42) !important;
  box-shadow:0 28px 64px rgba(16,39,67,.18) !important;
}
.admin-login-brand{
  padding:36px 42px !important;
  background:linear-gradient(180deg,#f9fbfe 0%,#eef4fb 100%) !important;
  color:#123b6d !important;
  border-right:1px solid #e3ecf6;
  display:flex;
}
.admin-login-brand::after{
  display:none !important;
}
.admin-login-brand-inner{
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.admin-login-brand h1{
  margin:0;
  width:100%;
  text-align:center;
  font-size:30px;
  line-height:1.2;
  color:#0b3a78 !important;
}
.admin-login-brand-image-wrap{
  flex:1;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 0 10px;
}
.admin-login-brand-image{
  display:block;
  width:min(78%,320px);
  max-width:100%;
  max-height:480px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 14px 26px rgba(11,58,120,.14));
}
.admin-login-logo,
.admin-login-brand p,
.admin-login-features{
  display:none !important;
}

@media(max-width:980px){
  .admin-login-brand{
    min-height:340px;
    padding:30px 28px !important;
    border-right:0;
    border-bottom:1px solid #e3ecf6;
  }
  .admin-login-brand h1{
    font-size:28px;
  }
  .admin-login-brand-image{
    width:min(64%,260px);
    max-height:290px;
  }
}

@media(max-width:760px){
  .admin-login-brand{
    min-height:300px;
    padding:24px 20px !important;
  }
  .admin-login-brand h1{
    font-size:25px;
  }
  .admin-login-brand-image-wrap{
    padding:18px 0 6px;
  }
  .admin-login-brand-image{
    width:min(72%,220px);
    max-height:240px;
  }
}
