/* SíndicoFlex — identidade visual da autenticação. Carregado após app.css. */
body.auth-body{margin:0;min-height:100vh;background:#DCE3EB;color:#183153;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.auth-body *, .auth-body *::before,.auth-body *::after{box-sizing:border-box}
.auth-body .auth-layout{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);min-height:100vh;width:100%;max-width:none;margin:0;padding:0;gap:0}
.auth-body .auth-brand{position:relative;display:flex;min-height:100vh;overflow:hidden;background:linear-gradient(145deg,#082F80 0%,#073D9D 56%,#0756AE 100%);color:#fff;padding:clamp(36px,6vw,88px)}
.auth-body .auth-brand-content{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-width:620px}
.auth-body .auth-brand-logo{display:flex;align-items:center;gap:14px;font-size:clamp(25px,2.6vw,34px);font-weight:800;letter-spacing:-.04em}
.auth-body .brand-mark{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:15px;background:#15D4E5;color:#082F80;font-size:29px;font-weight:900;box-shadow:0 8px 25px rgba(0,0,0,.1)}
.auth-body .brand-highlight{color:#15D4E5}
.auth-body .auth-brand-message{margin:auto 0;padding:70px 0}
.auth-body .auth-eyebrow,.auth-body .auth-heading-kicker{font-size:12px;font-weight:800;letter-spacing:.14em}
.auth-body .auth-eyebrow{color:#8BF0F6}
.auth-body .auth-brand h1{margin:22px 0 20px;color:#fff;font-size:clamp(35px,4vw,59px);line-height:1.12;letter-spacing:-.045em;font-weight:800}
.auth-body .auth-brand h1 span{color:#8CEAF3}
.auth-body .auth-brand-message p{max-width:480px;color:#D8E8FF;font-size:17px;line-height:1.7}
.auth-body .auth-brand-bottom{color:#C7DDFB;font-size:13px}
.auth-body .auth-decor{position:absolute;right:-190px;bottom:-210px;width:520px;height:520px;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:0 0 0 65px rgba(255,255,255,.035),0 0 0 135px rgba(255,255,255,.025);pointer-events:none}
.auth-body .auth-panel{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:48px 30px;background:#F5F8FC}
.auth-body .auth-card{width:100%;max-width:450px;padding:0;margin:0;background:transparent;border:0;box-shadow:none;border-radius:0}
.auth-body .auth-mobile-brand{display:none}
.auth-body .auth-heading-kicker{color:#0876CE}
.auth-body .auth-heading h2{margin:14px 0 10px;color:#082F80;font-size:clamp(29px,3vw,39px);line-height:1.18;letter-spacing:-.04em}
.auth-body .auth-heading .subtitle{margin:0 0 32px;color:#64748B;font-size:15px;line-height:1.65}
.auth-body .auth-form{display:flex;flex-direction:column;gap:22px}
.auth-body .auth-field{display:flex;flex-direction:column;gap:9px}
.auth-body .auth-field label{color:#1F3556;font-size:14px;font-weight:700}
.auth-body .auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.auth-body .auth-label-row a{color:#0876CE;text-decoration:none;font-size:13px;font-weight:700}
.auth-body .auth-label-row a:hover{text-decoration:underline}
.auth-body .auth-field input{display:block;width:100%;height:54px;min-width:0;padding:0 16px;border:1px solid #CCD7E5;border-radius:12px;background:#fff;color:#183153;font:inherit;font-size:15px;outline:none;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.auth-body .auth-field input::placeholder{color:#94A3B8}
.auth-body .auth-field input:focus{border-color:#0876CE;box-shadow:0 0 0 4px rgba(8,118,206,.12)}
.auth-body .auth-password-wrap{position:relative}
.auth-body .auth-password-wrap input{padding-right:91px}
.auth-body .auth-password-toggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#0876CE;font:inherit;font-size:13px;font-weight:700;padding:10px;cursor:pointer}
.auth-body .auth-password-toggle:focus-visible,.auth-body a:focus-visible,.auth-body button:focus-visible{outline:3px solid #15D4E5;outline-offset:3px}
.auth-body .auth-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;margin-top:5px;padding:13px 20px;border:0;border-radius:12px;background:#082F80;color:#fff;font:inherit;font-size:15px;font-weight:750;cursor:pointer;transition:background .15s,transform .15s}
.auth-body .auth-submit:hover{background:#0876CE;transform:translateY(-1px)}
.auth-body .auth-trust-note{display:flex;justify-content:center;gap:8px;margin-top:27px;color:#718096;font-size:13px;text-align:center}
.auth-body .auth-trust-note span{color:#0876CE}
.auth-body .auth-card-bottom{margin:52px 0 0;text-align:center;color:#8997A8;font-size:12px}
.auth-body .alert{margin-bottom:24px}
/* Outras páginas de autenticação continuam utilizando os componentes existentes. */
.auth-body .auth-card>.form-stack:not(.auth-form){display:flex;flex-direction:column;gap:12px}
@media(max-width:900px){.auth-body .auth-layout{grid-template-columns:minmax(0,1fr)}.auth-body .auth-brand{display:none}.auth-body .auth-panel{padding:35px 22px}.auth-body .auth-mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:48px;color:#082F80;font-size:25px;letter-spacing:-.04em}.auth-body .auth-mobile-brand span span,.auth-body .auth-mobile-brand strong>span{color:#0876CE}.auth-body .auth-mobile-brand .brand-mark{width:40px;height:40px;flex-basis:40px;font-size:24px;border-radius:12px}}
@media(max-width:480px){.auth-body .auth-panel{align-items:flex-start;min-height:100dvh;padding:34px 22px}.auth-body .auth-mobile-brand{margin-bottom:42px}.auth-body .auth-heading h2{font-size:30px}.auth-body .auth-card-bottom{margin-top:46px}}
@media(prefers-reduced-motion:reduce){.auth-body .auth-submit,.auth-body .auth-field input{transition:none}}

/* Logomarca oficial SíndicoFlex: versão com transparência e cores originais. */
.auth-body .auth-brand-logo{align-self:flex-start;max-width:100%;padding:13px 19px;border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(0,20,65,.18)}
.auth-body .auth-logo-image{display:block;width:min(100%,320px);height:auto;object-fit:contain}
.auth-body .auth-mobile-brand .auth-logo-image{width:min(100%,260px)}
@media(max-width:900px){.auth-body .auth-mobile-brand{max-width:100%}}
