/* Identidade unificada dos logins — escopo exclusivo da autenticacao */
body:has(.auth-screen){background:#eef3f8}
.auth-screen{min-height:100svh;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.auth-visual{position:relative;overflow:hidden;padding:clamp(30px,5vw,76px);background:radial-gradient(circle at 12% 18%,#21b9b13b,transparent 34%),linear-gradient(145deg,#102942 0%,#173b62 64%,#20577c 100%)}
.auth-visual:after{content:"";position:absolute;right:-110px;bottom:12%;width:340px;height:340px;border:1px solid #ffffff16;border-radius:50%;pointer-events:none}
.auth-visual .brand{position:relative;z-index:1;display:inline-flex;max-width:340px;min-height:55px}
.auth-visual .brand img{display:block;width:min(100%,310px);max-height:95px;object-fit:contain;object-position:left center}
.auth-visual .brand-mark{display:none}
.auth-visual h1{font-size:clamp(33px,3.7vw,56px);max-width:620px;line-height:1.1;letter-spacing:-1.8px}
.auth-visual p{font-size:clamp(14px,1.1vw,17px);max-width:470px}
.auth-tag{font-size:11px;letter-spacing:2px}
.auth-form-side{padding:clamp(22px,4vw,70px);background:radial-gradient(circle at 100% 0%,#e1f2f2 0,transparent 38%),#f4f7fb}
.auth-form{width:min(100%,430px);padding:clamp(24px,3vw,42px);border:1px solid #e2eaf2;border-radius:24px;background:#fff;box-shadow:0 22px 70px #15395613}
.auth-form h2{font-size:clamp(24px,2vw,30px);line-height:1.2;letter-spacing:-.8px;margin:10px 0}
.auth-form .muted{line-height:1.5}
.auth-form .form-label{margin:17px 0 7px;font-size:13px;color:#344a63}
.auth-form .field{min-height:49px;border-radius:12px;background:#f8fafc;border-color:#dbe5ef;font-size:16px;padding:12px 14px}
.auth-form .field:focus{background:#fff;border-color:#2799a8;box-shadow:0 0 0 4px #2799a81b}
.auth-form .button.block{min-height:50px;border-radius:12px;background:linear-gradient(110deg,#1c5887,#208d9c);font-size:15px;box-shadow:0 9px 22px #20638b25}
.auth-form a{color:#176f92!important}
.auth-password-wrap{position:relative}
.auth-password-wrap .field{padding-right:53px}
.auth-password-toggle{position:absolute;right:6px;top:5px;width:40px;height:40px;border:0;background:transparent;border-radius:9px;display:grid;place-items:center;cursor:pointer;color:#60758a}
.auth-password-toggle:hover,.auth-password-toggle:focus-visible{background:#e8f3f6;color:#125d7b}
.auth-password-toggle svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:850px){
.auth-screen{display:flex;flex-direction:column;min-height:100svh}
.auth-visual{min-height:0;padding:23px 22px 28px;gap:18px}
.auth-visual .brand{min-height:42px}
.auth-visual .brand img{width:min(100%,230px);max-height:65px}
.auth-visual h1{font-size:clamp(24px,6vw,32px);letter-spacing:-.9px;margin:8px 0}
.auth-visual p{font-size:13px;line-height:1.5;margin:0;max-width:520px}
.auth-visual>div:last-child{display:none}
.auth-form-side{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:20px 16px 32px}
.auth-form{max-width:470px;padding:23px 21px;border-radius:20px;box-shadow:0 10px 32px #1539560d}
.auth-form h2{font-size:25px}
}
@media(max-width:380px){.auth-visual{padding:18px 17px 22px}.auth-form-side{padding:13px 12px 24px}.auth-form{padding:19px 16px}.auth-visual p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.auth-form .button{transition:none}}
