/* FAGIS Prefeituras - autenticação municipal */
html,body{height:100%}
body.fagis-municipal{background:var(--fagis-bg,#eef6fc)!important}
body.fagis-municipal .app-content.content,
body.fagis-municipal .content-wrapper,
body.fagis-municipal .content-body{height:100%!important;min-height:0!important;padding:0!important;margin:0!important}

.municipal-auth{height:100dvh;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden;background:radial-gradient(circle at 12% 10%,rgba(67,161,232,.15),transparent 34%),radial-gradient(circle at 90% 90%,rgba(44,184,116,.12),transparent 30%),var(--fagis-bg,#eef6fc)}
.municipal-auth-shell{width:min(1480px,calc(100vw - 32px));height:calc(100dvh - 32px);min-height:0;display:grid;grid-template-columns:58% 42%;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 26px 85px rgba(25,62,98,.18)}
.municipal-auth-visual{position:relative;color:#fff;padding:clamp(28px,4.5vh,48px) clamp(34px,4vw,56px);display:flex;min-height:0;flex-direction:column;justify-content:space-between;overflow:hidden;background-size:cover;background-position:center}
.municipal-auth-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,43,83,.08),rgba(3,36,69,.78));z-index:0;pointer-events:none}
.municipal-auth-visual:after{content:"";position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(180deg,transparent,rgba(3,33,64,.72));z-index:0;pointer-events:none}
.municipal-auth-prefeitura,.municipal-auth-copy,.municipal-auth-highlights{position:relative;z-index:1}
.municipal-auth-prefeitura img{width:min(390px,78%);max-height:clamp(68px,11vh,105px);object-fit:contain;object-position:left center}
.municipal-auth-copy{max-width:650px;margin-top:auto;margin-bottom:clamp(14px,2.5vh,28px)}
.municipal-auth-copy h1{font-size:clamp(2.15rem,4vw,4rem);line-height:1.02;color:#fff;margin:0 0 clamp(10px,2vh,20px);font-weight:800;letter-spacing:-.04em}
.municipal-auth-copy h1 span{color:var(--fagis-secondary,#7fe2a5)}
.municipal-auth-copy p{font-size:clamp(.88rem,1.35vw,1.08rem);line-height:1.55;max-width:590px;color:rgba(255,255,255,.93);margin:0}
.municipal-auth-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.28)}
.municipal-auth-highlight{display:flex;gap:9px;align-items:center;font-size:clamp(.69rem,.9vw,.82rem);font-weight:600;line-height:1.25}
.municipal-auth-highlight svg{width:19px;height:19px;flex:0 0 auto}

.municipal-auth-form-side{height:100%;min-height:0;display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vh,48px) clamp(42px,4vw,64px);background:#fff;overflow:hidden}
.municipal-auth-form{width:min(470px,100%);max-height:100%;display:flex;flex-direction:column;justify-content:center}
.municipal-auth-government-logo{display:block;max-width:min(340px,88%);max-height:clamp(72px,12vh,104px);object-fit:contain;object-position:center;margin:0 auto 8px}
.municipal-auth-product-label{text-align:center;color:#48627e;font-size:clamp(.66rem,.8vw,.77rem);letter-spacing:.07em;text-transform:uppercase;font-weight:700;margin-bottom:clamp(18px,3vh,34px)}
.municipal-auth-form h2{font-size:clamp(1.55rem,2.5vw,2rem);font-weight:800;color:#10233d;margin:0 0 6px}
.municipal-auth-form .lead{font-size:clamp(.82rem,1vw,.95rem);line-height:1.5;color:#6f8094;margin:0 0 clamp(16px,2.8vh,26px)}
.municipal-auth-form .form-label{font-weight:700;color:#243b57;font-size:.78rem;margin-bottom:5px}
.municipal-auth-form .input-group,.municipal-auth-form .form-control{border-radius:10px}
.municipal-auth-form>.auth-forgot-password-form .form-control,
.municipal-auth-form>.auth-reset-password-form .form-control{height:46px;border:1px solid #d7e1ec;box-shadow:none!important}
.municipal-auth-form .input-group{border:1px solid #d7e1ec;overflow:hidden;min-height:46px}
.municipal-auth-form .input-group .form-control,.municipal-auth-form .input-group-text{border:0!important;box-shadow:none!important;background:#fff;min-height:44px}
.municipal-auth-form .input-group-text{color:#7890a8}
.municipal-auth-form .btn-primary{height:48px;font-size:.95rem;border-radius:10px!important;background:var(--fagis-primary,#0b6bd3)!important;border-color:var(--fagis-primary,#0b6bd3)!important;box-shadow:none!important}
.municipal-auth-form .btn-primary:hover{background:var(--fagis-primary-hover,#095bb4)!important;border-color:var(--fagis-primary-hover,#095bb4)!important}
.municipal-auth-form a{color:var(--fagis-primary,#0b6bd3)!important}
.municipal-auth-back{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:18px;font-size:.86rem;font-weight:600;text-decoration:none}
.municipal-auth-back svg{width:16px;height:16px}
.municipal-auth-footer{margin-top:clamp(17px,2.8vh,28px);padding-top:clamp(13px,2vh,20px);border-top:1px solid #e5edf5;text-align:center;color:#8493a4;font-size:.70rem;line-height:1.45}
.municipal-auth-footer strong{color:#4c627a}
.municipal-auth-security{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:8px;color:#668079;font-size:.68rem}
.municipal-auth-security svg{width:13px;height:13px;color:var(--fagis-secondary,#28a36a)}
.municipal-auth-icon-badge{width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--fagis-primary,#0b6bd3) 10%,white);color:var(--fagis-primary,#0b6bd3);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.municipal-auth-icon-badge svg{width:24px;height:24px}
.municipal-auth-form .alert{border-radius:10px;margin-bottom:14px}

@media(max-height:760px) and (min-width:992px){
  .municipal-auth{padding:10px}.municipal-auth-shell{height:calc(100dvh - 20px);width:min(1480px,calc(100vw - 20px));border-radius:18px}
  .municipal-auth-visual{padding:24px 38px}.municipal-auth-prefeitura img{max-height:70px}.municipal-auth-copy h1{font-size:2.45rem}.municipal-auth-copy p{font-size:.86rem}.municipal-auth-highlights{padding-top:10px}
  .municipal-auth-form-side{padding:20px 52px}.municipal-auth-government-logo{max-height:70px}.municipal-auth-product-label{margin-bottom:15px}.municipal-auth-form .lead{margin-bottom:14px}.municipal-auth-footer{margin-top:14px;padding-top:11px}
}
@media(max-width:991.98px){
  html,body{height:auto;overflow:auto!important}.app-content.content,.content-wrapper,.content-body{height:auto!important;overflow:visible!important}
  .municipal-auth{height:auto;min-height:100dvh;padding:18px;overflow:visible}.municipal-auth-shell{grid-template-columns:1fr;height:auto;min-height:calc(100dvh - 36px)}
  .municipal-auth-visual{min-height:300px;padding:30px}.municipal-auth-copy{margin:48px 0 18px}.municipal-auth-copy h1{font-size:2.25rem}.municipal-auth-highlights{display:none}
  .municipal-auth-form-side{height:auto;padding:38px 30px}.municipal-auth-prefeitura img{max-height:72px}
}
@media(max-width:575.98px){
  .municipal-auth{padding:0}.municipal-auth-shell{width:100%;min-height:100dvh;border-radius:0}.municipal-auth-visual{min-height:220px;padding:24px}.municipal-auth-copy{margin-top:34px;margin-bottom:0}.municipal-auth-copy h1{font-size:1.75rem;margin-bottom:0}.municipal-auth-copy p{display:none}
  .municipal-auth-form-side{padding:30px 22px}.municipal-auth-government-logo{max-width:245px;max-height:78px}.municipal-auth-product-label{margin-bottom:22px}.municipal-auth-footer{margin-top:22px}
}
