/* ============================================================
   GiraDesk Authentication V200
   Visual premium inspirado no layout de referência aprovado,
   usando a identidade GiraDesk e preservando branding multi-tenant.
   Camada de override: não altera formulários, rotas ou autenticação.
   ============================================================ */

:root{
  --gd-auth-green:#0d5b3c;
  --gd-auth-green-dark:#083f2b;
  --gd-auth-green-soft:#eaf7ef;
  --gd-auth-green-softer:#f5fbf7;
  --gd-auth-orange:#de7607;
  --gd-auth-ink:#153026;
  --gd-auth-muted:#728078;
  --gd-auth-line:#dfe7e2;
  --gd-auth-surface:#ffffff;
  --gd-auth-page:#f2f5f3;
  --gd-auth-shadow:0 30px 80px rgba(16,57,40,.12);
}

html,body{min-height:100%}
body.ax137-auth{
  min-height:100vh !important;
  margin:0 !important;
  overflow-x:hidden !important;
  color:var(--gd-auth-ink) !important;
  background:
    radial-gradient(circle at 4% 5%,rgba(13,91,60,.06),transparent 25%),
    radial-gradient(circle at 96% 95%,rgba(222,118,7,.045),transparent 24%),
    var(--gd-auth-page) !important;
  font-family:"Manrope","Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif !important;
}
body.ax137-auth::before{display:none !important}

.ax137-page{
  min-height:100vh !important;
  display:grid !important;
  grid-template-rows:1fr auto !important;
  padding:clamp(18px,2.4vw,34px) !important;
  background:transparent !important;
}
.ax137-main{
  width:min(1280px,100%) !important;
  min-height:0 !important;
  margin:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.ax137-auth-panel{
  width:100% !important;
  min-height:min(790px,calc(100vh - 76px)) !important;
  display:grid !important;
  grid-template-columns:minmax(420px,.94fr) minmax(470px,1.06fr) !important;
  overflow:hidden !important;
  border:1px solid rgba(13,91,60,.10) !important;
  border-radius:28px !important;
  background:#fff !important;
  box-shadow:var(--gd-auth-shadow) !important;
  backdrop-filter:none !important;
}

/* ============================================================
   Coluna do formulário
   ============================================================ */
.ax137-form-side{
  order:1 !important;
  min-width:0 !important;
  padding:clamp(44px,5vw,76px) clamp(38px,5vw,72px) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  background:#fff !important;
}

.ax137-form-logo{
  width:100% !important;
  min-height:84px !important;
  max-height:108px !important;
  margin:0 0 34px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  overflow:visible !important;
  text-align:left !important;
}
.ax137-form-logo img,
.ax137-form-logo img[data-logo],
.ax137-form-logo.ax164-custom-logo img,
.ax137-form-logo.ax164-custom-logo img[data-logo],
.ax137-form-logo.ax164-default-logo img,
.ax137-form-logo.ax164-default-logo img[data-logo]{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:min(320px,84%) !important;
  max-height:102px !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:left center !important;
  transform:none !important;
}
.ax137-form-logo.ax164-default-logo img,
.ax137-form-logo.ax164-default-logo img[data-logo]{
  max-width:min(245px,76%) !important;
  max-height:84px !important;
}

.ax137-label{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  min-height:26px !important;
  margin:0 0 14px !important;
  padding:0 10px !important;
  border:1px solid #d8eadf !important;
  border-radius:999px !important;
  color:var(--gd-auth-green-dark) !important;
  background:#eef8f2 !important;
  font-size:10px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}
.ax137-title{
  margin:0 0 8px !important;
  color:var(--gd-auth-green-dark) !important;
  font-family:"Manrope","Poppins",system-ui,sans-serif !important;
  font-size:clamp(29px,2.6vw,38px) !important;
  font-weight:800 !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  text-align:left !important;
}
.ax137-subtitle{
  max-width:500px !important;
  margin:0 0 28px !important;
  color:var(--gd-auth-muted) !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1.65 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-align:left !important;
}

.ax137-form{display:grid !important;gap:16px !important}
.ax137-field{
  display:grid !important;
  gap:8px !important;
  color:#263d33 !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.ax137-field>span{
  color:#263d33 !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.ax137-control{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  min-height:54px !important;
  overflow:hidden !important;
  border:1px solid var(--gd-auth-line) !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 1px 1px rgba(14,58,41,.02) !important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease !important;
}
.ax137-control:hover{border-color:#ccd9d1 !important}
.ax137-control:focus-within{
  border-color:var(--ax137-auth-primary,var(--gd-auth-green)) !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(13,91,60,.08) !important;
}
.ax137-control>i{
  flex:0 0 48px !important;
  width:48px !important;
  color:#779187 !important;
  font-size:13px !important;
  font-style:normal !important;
  text-align:center !important;
}
.ax137-control input{
  width:100% !important;
  min-width:0 !important;
  height:52px !important;
  padding:0 13px 0 0 !important;
  border:0 !important;
  outline:0 !important;
  color:#22382f !important;
  background:transparent !important;
  font-family:inherit !important;
  font-size:13px !important;
  font-weight:500 !important;
}
.ax137-control input::placeholder{color:#9aa7a1 !important;opacity:1 !important}
.ax137-toggle{
  flex:0 0 auto !important;
  height:34px !important;
  margin-right:10px !important;
  padding:0 11px !important;
  border:0 !important;
  border-radius:8px !important;
  color:#496158 !important;
  background:#f0f4f1 !important;
  font-size:9px !important;
  font-weight:800 !important;
  cursor:pointer !important;
  transition:.18s ease !important;
}
.ax137-toggle:hover{color:var(--gd-auth-green-dark) !important;background:#e5efe9 !important}

.ax137-options{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin-top:-2px !important;
}
.ax137-options label{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  color:#6d7d75 !important;
  font-size:11px !important;
  font-weight:600 !important;
}
.ax137-options input{width:15px !important;height:15px !important;accent-color:var(--ax137-auth-primary,var(--gd-auth-green)) !important}
.ax137-options a,
.ax161-member-forgot a,
.ax137-secondary a,
.ax137-recovery-link{
  color:var(--ax137-auth-primary,var(--gd-auth-green)) !important;
  font-size:11px !important;
  font-weight:800 !important;
  text-decoration:none !important;
  text-transform:none !important;
}
.ax137-options a:hover,
.ax161-member-forgot a:hover,
.ax137-secondary a:hover,
.ax137-recovery-link:hover{text-decoration:underline !important}

.ax161-member-forgot{
  display:flex !important;
  justify-content:flex-end !important;
  margin:-5px 0 2px !important;
}

.ax137-submit,
.ax137-submit:link,
.ax137-submit:visited,
button.ax137-submit,
a.ax137-submit{
  position:relative !important;
  width:100% !important;
  min-height:52px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  padding:0 20px !important;
  border:0 !important;
  border-radius:9px !important;
  color:#fff !important;
  background:linear-gradient(135deg,var(--ax137-auth-primary,var(--gd-auth-green)) 0%,#0b6c45 100%) !important;
  box-shadow:0 9px 22px rgba(13,91,60,.16) !important;
  font-family:inherit !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:.02em !important;
  text-align:center !important;
  text-decoration:none !important;
  cursor:pointer !important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease !important;
}
.ax137-submit:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 12px 28px rgba(13,91,60,.21) !important;
  filter:saturate(1.04) !important;
}
.ax137-submit i{font-size:16px !important;font-style:normal !important;line-height:1 !important}

.ax137-secondary{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  margin-top:24px !important;
  padding:18px 18px 0 !important;
  border-top:1px solid #e7ece9 !important;
  color:#7a8781 !important;
  font-size:11px !important;
  text-align:center !important;
}
.ax137-secondary::before{
  content:"ou" !important;
  position:absolute !important;
  top:-8px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  padding:0 10px !important;
  color:#a2ada7 !important;
  background:#fff !important;
  font-size:10px !important;
}
.ax137-secondary a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:0 14px !important;
  border:1px solid #dce5df !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 3px 10px rgba(16,57,40,.04) !important;
}
.ax137-secondary a:hover{background:#f6faf7 !important;text-decoration:none !important}
.ax137-note{display:none !important}

.ax137-alert{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  margin:0 0 18px !important;
  padding:12px 14px !important;
  border-radius:10px !important;
  font-size:12px !important;
  line-height:1.5 !important;
}
.ax137-alert b{width:22px !important;height:22px !important;display:grid !important;place-items:center !important;border-radius:50% !important;flex:0 0 auto !important}
.ax137-alert p{margin:1px 0 0 !important}
.ax137-alert.error{color:#75531c !important;background:#fff8e9 !important;border:1px solid #eedcaf !important}
.ax137-alert.error b{color:#fff !important;background:#a7771a !important}
.ax137-alert.success{color:#145b39 !important;background:#eef9f2 !important;border:1px solid #cfe9d8 !important}
.ax137-alert.success b{color:#fff !important;background:#17724a !important}

.ax137-recovery-actions{display:flex !important;justify-content:flex-start !important;margin-top:16px !important}
.ax137-recovery-link{
  min-height:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 13px !important;
  border:1px solid #dce6df !important;
  border-radius:9px !important;
  background:#fff !important;
  box-shadow:none !important;
}
.ax137-recovery-link:hover{background:#f5faf7 !important;transform:none !important;box-shadow:none !important;text-decoration:none !important}

.ax137-strength{display:grid !important;gap:6px !important}
.ax137-strength>div{height:5px !important;border-radius:999px !important;background:#edf1ef !important;overflow:hidden !important}
.ax137-strength i{display:block !important;width:0;height:100% !important;border-radius:inherit !important;background:var(--ax137-auth-primary,var(--gd-auth-green)) !important;transition:width .2s !important}
.ax137-strength span,.ax137-match{font-size:10px !important;color:#819088 !important}
.ax137-match.ok{color:#17623f !important}.ax137-match.error{color:#8a6415 !important}

/* ============================================================
   Coluna institucional / visual
   ============================================================ */
.ax137-side-panel{
  order:2 !important;
  position:relative !important;
  min-width:0 !important;
  overflow:hidden !important;
  isolation:isolate !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  padding:clamp(48px,5vw,78px) !important;
  color:var(--gd-auth-green-dark) !important;
  text-align:center !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(13,91,60,.10) 0 15%,transparent 15.2%),
    radial-gradient(circle at 0% 100%,rgba(222,118,7,.06) 0 13%,transparent 13.2%),
    radial-gradient(circle at 80% 78%,rgba(13,91,60,.055),transparent 28%),
    linear-gradient(145deg,#f9fcfa 0%,#eef8f2 58%,#e8f5ed 100%) !important;
  border-left:1px solid #e3eee7 !important;
}
.ax137-side-panel::before{
  content:"" !important;
  position:absolute !important;
  inset:auto -120px -120px auto !important;
  width:420px !important;
  height:420px !important;
  border:1px solid rgba(13,91,60,.09) !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:
    0 0 0 52px rgba(13,91,60,.018),
    0 0 0 105px rgba(13,91,60,.012) !important;
  pointer-events:none !important;
  z-index:-1 !important;
}
.ax137-side-panel::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:9% !important;
  top:11% !important;
  width:58px !important;
  height:4px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--gd-auth-orange),rgba(222,118,7,.18)) !important;
  opacity:.9 !important;
}
.ax137-side-panel>*{position:relative !important;z-index:1 !important}
.ax137-side-kicker{
  min-height:auto !important;
  margin:0 0 13px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  color:#47705e !important;
  background:transparent !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}
.ax137-side-panel h2{
  max-width:560px !important;
  margin:0 0 16px !important;
  color:var(--gd-auth-green-dark) !important;
  font-family:"Manrope","Poppins",system-ui,sans-serif !important;
  font-size:clamp(30px,3.1vw,44px) !important;
  font-weight:800 !important;
  line-height:1.08 !important;
  letter-spacing:-.045em !important;
  text-align:center !important;
}
.ax137-side-panel>p{
  max-width:510px !important;
  margin:0 auto !important;
  color:#678076 !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1.75 !important;
  text-align:center !important;
}

.ax160-visual{
  position:relative !important;
  width:min(520px,100%) !important;
  height:320px !important;
  margin:34px auto 0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  isolation:isolate !important;
}
.ax160-spirit{
  position:absolute !important;
  inset:-10px -10px 10px !important;
  z-index:-1 !important;
  pointer-events:none !important;
}
.ax160-spirit::before,
.ax160-spirit::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:48% !important;
  transform:translate(-50%,-50%) rotate(-8deg) !important;
  border-radius:50% !important;
  border:1px solid rgba(13,91,60,.13) !important;
}
.ax160-spirit::before{width:420px !important;height:230px !important}
.ax160-spirit::after{width:335px !important;height:280px !important;transform:translate(-50%,-50%) rotate(18deg) !important}
.ax160-aura{
  position:absolute !important;
  left:50% !important;
  top:48% !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  border:1px solid rgba(13,91,60,.09) !important;
  box-shadow:none !important;
}
.ax160-aura-one{width:300px !important;height:210px !important}
.ax160-aura-two{width:455px !important;height:260px !important;border-color:rgba(13,91,60,.07) !important}
.ax160-light{
  width:34px !important;
  height:34px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid #d7e8de !important;
  border-radius:50% !important;
  color:var(--gd-auth-green) !important;
  background:#fff !important;
  box-shadow:0 7px 18px rgba(13,91,60,.09) !important;
  font-size:14px !important;
  font-weight:900 !important;
  text-shadow:none !important;
}
.ax160-light-one{left:5% !important;top:27% !important}
.ax160-light-two{right:4% !important;top:31% !important;opacity:1 !important}
.ax160-light-three{right:10% !important;bottom:20% !important;font-size:19px !important;opacity:1 !important}

.ax160-laptop{
  width:min(410px,88%) !important;
  filter:drop-shadow(0 22px 32px rgba(13,72,48,.16)) !important;
}
.ax160-screen{
  padding:7px !important;
  border:1px solid rgba(13,91,60,.22) !important;
  border-radius:14px 14px 9px 9px !important;
  background:linear-gradient(145deg,#174c38,#0c3828) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 0 0 1px rgba(13,91,60,.04) !important;
}
.ax160-screen-top{background:#f8faf9 !important}
.ax160-screen-top b{color:var(--gd-auth-green-dark) !important}
.ax160-dashboard{background:#f5f8f6 !important}
.ax160-mini-aside{background:linear-gradient(180deg,#0d5b3c,#08442f) !important}
.ax160-cards i{border-color:#dfe9e3 !important}
.ax160-cards i:after{background:var(--gd-auth-orange) !important;opacity:.65 !important}
.ax160-chart{border-color:#dfe9e3 !important;background:linear-gradient(#edf3ef 1px,transparent 1px) 0 0/100% 17px,#fff !important}
.ax160-chart span{background:linear-gradient(180deg,#2b8760,#0d5b3c) !important}
.ax160-chart b{border-color:rgba(222,118,7,.22) !important}
.ax160-base{background:linear-gradient(180deg,#d9e1dc,#96a39c) !important}
.ax160-spiritual-caption{
  margin-top:18px !important;
  color:#6d8278 !important;
  font-size:9px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
}
.ax160-spiritual-caption i{background:linear-gradient(90deg,transparent,var(--gd-auth-orange)) !important;opacity:.65 !important}

.ax137-metrics,.ax137-feature-list,.ax137-side-footer{display:none !important}
.ax137-footer{
  padding-top:15px !important;
  color:#8b9891 !important;
  font-size:9px !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
  text-align:center !important;
}

/* Portal do membro fora da sessão usa o mesmo layout */
.mp-login-wrap{min-height:100vh !important}
body.ax137-member-login-page .member-ax137-page{min-height:100vh !important}

/* ============================================================
   Responsividade
   ============================================================ */
@media(max-width:1100px){
  .ax137-auth-panel{
    min-height:min(720px,calc(100vh - 54px)) !important;
    grid-template-columns:minmax(390px,.98fr) minmax(420px,1.02fr) !important;
  }
  .ax137-form-side{padding:42px 44px !important}
  .ax137-side-panel{padding:46px 38px !important}
  .ax137-side-panel h2{font-size:34px !important}
  .ax160-visual{height:275px !important}
  .ax160-laptop{width:min(350px,88%) !important}
  .ax160-spirit::before{width:360px !important;height:205px !important}
  .ax160-spirit::after{width:290px !important;height:245px !important}
}

@media(max-width:900px){
  .ax137-page{padding:18px !important}
  .ax137-main{width:min(620px,100%) !important}
  .ax137-auth-panel{
    min-height:0 !important;
    grid-template-columns:1fr !important;
    border-radius:22px !important;
  }
  .ax137-form-side{order:1 !important;padding:42px 44px 48px !important}
  .ax137-side-panel{
    order:2 !important;
    min-height:210px !important;
    padding:32px 38px !important;
    border-left:0 !important;
    border-top:1px solid #e3eee7 !important;
  }
  .ax137-side-panel::after{left:38px !important;top:28px !important}
  .ax137-side-kicker{margin-top:12px !important}
  .ax137-side-panel h2{max-width:500px !important;font-size:28px !important;margin-bottom:10px !important}
  .ax137-side-panel>p{max-width:500px !important;font-size:12px !important}
  .ax160-visual{display:none !important}
  .ax137-form-logo{justify-content:center !important;text-align:center !important;margin-bottom:30px !important}
  .ax137-form-logo img,
  .ax137-form-logo img[data-logo],
  .ax137-form-logo.ax164-custom-logo img,
  .ax137-form-logo.ax164-custom-logo img[data-logo],
  .ax137-form-logo.ax164-default-logo img,
  .ax137-form-logo.ax164-default-logo img[data-logo]{
    margin:auto !important;
    object-position:center !important;
  }
}

@media(max-width:620px){
  body.ax137-auth{background:#fff !important}
  .ax137-page{display:block !important;padding:0 !important;background:#fff !important}
  .ax137-main{display:block !important;width:100% !important}
  .ax137-auth-panel{
    min-height:100vh !important;
    display:block !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  .ax137-form-side{
    min-height:100vh !important;
    padding:34px 24px 42px !important;
    justify-content:center !important;
  }
  .ax137-side-panel{display:none !important}
  .ax137-form-logo{
    min-height:92px !important;
    max-height:112px !important;
    margin:0 auto 30px !important;
    justify-content:center !important;
  }
  .ax137-form-logo img,
  .ax137-form-logo img[data-logo],
  .ax137-form-logo.ax164-custom-logo img,
  .ax137-form-logo.ax164-custom-logo img[data-logo]{
    max-width:min(300px,88%) !important;
    max-height:104px !important;
    object-position:center !important;
  }
  .ax137-form-logo.ax164-default-logo img,
  .ax137-form-logo.ax164-default-logo img[data-logo]{max-width:min(230px,76%) !important;max-height:82px !important}
  .ax137-label{margin-left:auto !important;margin-right:auto !important}
  .ax137-title{text-align:center !important;font-size:30px !important}
  .ax137-subtitle{margin-left:auto !important;margin-right:auto !important;text-align:center !important}
  .ax137-options{align-items:center !important;flex-direction:row !important}
  .ax161-member-forgot{justify-content:center !important;margin-top:0 !important}
  .ax137-secondary{display:flex !important}
  .ax137-footer{display:none !important}
  .ax137-recovery-actions{justify-content:center !important}
}

@media(max-width:390px){
  .ax137-form-side{padding-inline:18px !important}
  .ax137-options{align-items:flex-start !important;flex-direction:column !important}
  .ax137-title{font-size:28px !important}
  .ax137-control>i{flex-basis:42px !important;width:42px !important}
  .ax137-toggle{font-size:8px !important;padding-inline:8px !important}
}
