:root{--auth-navy:#003756;--auth-blue:#0067b9;--auth-surface:#fff;--auth-bg:#f5f6f8;--auth-line:#e2e6ea;--auth-text:#101828;--auth-muted:#667085;--auth-danger:#d92d20;--auth-focus:rgba(20,121,184,.16)}*{box-sizing:border-box}.auth-page{min-height:100vh;margin:0;display:flex;flex-direction:column;background:var(--auth-bg);color:var(--auth-text);font:14px/1.5 Inter,Arial,sans-serif}.auth-header{height:88px;flex:none;display:flex;align-items:center;padding:0 clamp(24px,5vw,72px);background:#fff;border-bottom:1px solid var(--auth-line)}.auth-header a{display:flex;align-items:center}.auth-header img{display:block;width:164px;height:62px;object-fit:contain;object-position:left center}.auth-main{flex:1;display:grid;place-items:center;padding:56px 24px}.auth-form-wrap{width:min(100%,400px)}.auth-heading{margin-bottom:30px}.auth-heading h1{margin:0 0 7px;color:var(--auth-text);font-size:28px;line-height:1.25;letter-spacing:-.028em}.auth-heading p{margin:0;color:var(--auth-muted);font-size:14px}.auth-form-wrap form{display:grid;gap:8px}.auth-form-wrap label,.label-row label{color:#344054;font-size:13px;font-weight:600}.auth-form-wrap input:not([type=checkbox]){width:100%;height:48px;padding:0 12px;border:1px solid #cfd6dd;border-radius:var(--radius-sm,6px);background:#fff;color:var(--auth-text);font:14px Inter,Arial,sans-serif;transition:border-color .18s ease,box-shadow .18s ease}.auth-form-wrap input:not([type=checkbox]):hover{border-color:#98a2b3}.auth-form-wrap input:not([type=checkbox]):focus{outline:0;border-color:var(--auth-blue);box-shadow:0 0 0 3px var(--auth-focus)}.auth-form-wrap input::placeholder{color:#98a2b3}.label-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.label-row a,.auth-register a{color:#075e9f;font-size:12px;font-weight:600;text-decoration:none}.label-row a:hover,.auth-register a:hover{text-decoration:underline}.password-field{position:relative}.password-field input{padding-right:76px!important}.password-field button{position:absolute;top:0;right:0;height:48px;padding:0 13px;border:0;background:transparent;color:#075e9f;font:600 12px Inter,Arial,sans-serif;cursor:pointer}.password-field button:focus-visible{outline:2px solid var(--auth-blue);outline-offset:-4px;border-radius:4px}.remember-field{display:flex!important;align-items:center;gap:8px;margin:10px 0 13px;color:#475467!important;font-size:13px!important;font-weight:400!important}.remember-field input{width:16px;height:16px;margin:0;accent-color:var(--auth-blue)}.auth-submit{width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--auth-navy);border-radius:var(--radius-sm,6px);background:var(--auth-navy);color:#fff;font:600 14px Inter,Arial,sans-serif;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.auth-submit:hover{background:#01426a;border-color:#01426a}.auth-submit:active{transform:translateY(1px)}.auth-submit:focus-visible{outline:3px solid var(--auth-focus);outline-offset:2px}.auth-submit:disabled{cursor:wait;opacity:.72}.auth-submit .fa-spinner{font-size:13px}.auth-message{display:flex;align-items:flex-start;gap:9px;margin:0 0 18px;padding:10px 12px;border:1px solid;border-radius:var(--radius-sm,6px);font-size:12px;line-height:1.45}.auth-message i{margin-top:2px}.auth-message.danger{border-color:#fecdca;background:#fffbfa;color:#b42318}.auth-message.info{border-color:#b9d7ee;background:#f5faff;color:#175c8d}.field-error{margin:-3px 0 2px;color:var(--auth-danger);font-size:11px}.auth-register{margin:23px 0 0;color:var(--auth-muted);font-size:13px;text-align:center}.auth-footer{min-height:58px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,72px);border-top:1px solid var(--auth-line);background:#fff;color:#98a2b3;font-size:11px}.auth-footer a{color:inherit;text-decoration:none}.auth-footer a:hover{color:#475467}@media(max-width:640px){.auth-header{height:76px;padding:0 22px}.auth-header img{width:138px;height:52px}.auth-main{place-items:start center;padding:48px 22px}.auth-form-wrap{width:100%;max-width:420px}.auth-heading h1{font-size:25px}.auth-footer{min-height:58px;padding:0 22px}.auth-form-wrap input:not([type=checkbox]),.auth-submit,.password-field button{min-height:48px}}

/* Tela de acesso: composição central inspirada na referência aprovada. */
.auth-login-page{background:#fff;color:#292d32}
.auth-login-page .auth-main{display:block;min-height:0;padding:0}
.auth-login-page .auth-form-wrap{width:min(100%,592px);margin:0 auto;padding:clamp(74px,11vh,126px) 0 50px}
.auth-login-page .auth-login-logo{display:flex;justify-content:center;width:max-content;margin:0 auto}
.auth-login-page .auth-login-logo img{display:block;width:212px;height:84px;object-fit:contain}
.auth-login-page .auth-heading{margin:77px 0 54px;text-align:center}
.auth-login-page .auth-heading h1{margin:0 0 10px;color:#292d32;font-size:47px;font-weight:600;line-height:1.14;letter-spacing:-.045em}
.auth-login-page .auth-heading p{color:#68727e;font-size:21px;line-height:1.4}
.auth-login-page .auth-form-wrap form{gap:0}
.auth-login-page .auth-form-wrap label,.auth-login-page .label-row label{color:#292d32;font-size:18px;font-weight:600}
.auth-login-page .auth-form-wrap input:not([type=checkbox]){height:70px;margin:10px 0 31px;padding:0 18px;border-color:#ced6df;border-radius:7px;font-size:20px;box-shadow:none}
.auth-login-page .auth-form-wrap input:not([type=checkbox]):focus{border-color:#075a9b;box-shadow:0 0 0 3px rgba(7,90,155,.12)}
.auth-login-page .auth-form-wrap input::placeholder{color:#8c98a6}
.auth-login-page .label-row{margin:0}
.auth-login-page .password-field input{margin-bottom:0;padding-right:94px!important}
.auth-login-page .password-field button{height:70px;padding:0 24px;color:#07528d;font-size:17px;font-weight:500}
.auth-login-page .auth-options{display:flex;align-items:center;justify-content:space-between;margin:34px 0 46px}
.auth-login-page .auth-options>a{color:#07528d;font-size:17px;font-weight:500;text-decoration:none}
.auth-login-page .auth-options>a:hover{text-decoration:underline}
.auth-login-page .remember-field{gap:13px;margin:0;color:#30343a!important;font-size:17px!important;font-weight:500!important}
.auth-login-page .remember-field input{width:25px;height:25px;border:2px solid #92a0af;border-radius:6px;accent-color:#07528d}
.auth-login-page .auth-submit{height:72px;border:0;border-radius:7px;background:#004b86;font-size:20px;font-weight:600}
.auth-login-page .auth-submit:hover{background:#003f70}
.auth-login-page .auth-register{margin:22px 0 0;font-size:14px}
.auth-login-page .auth-footer{justify-content:center;min-height:0;padding:0 24px 62px;border:0;background:transparent;color:#6c7784;font-size:17px}
@media(max-width:640px){.auth-login-page .auth-form-wrap{padding:52px 22px 38px}.auth-login-page .auth-login-logo img{width:168px;height:67px}.auth-login-page .auth-heading{margin:52px 0 40px}.auth-login-page .auth-heading h1{font-size:34px}.auth-login-page .auth-heading p{font-size:17px}.auth-login-page .auth-form-wrap label,.auth-login-page .label-row label{font-size:16px}.auth-login-page .auth-form-wrap input:not([type=checkbox]){height:58px;margin:8px 0 25px;font-size:17px}.auth-login-page .password-field button{height:58px;font-size:15px}.auth-login-page .auth-options{margin:26px 0 34px}.auth-login-page .auth-options>a,.auth-login-page .remember-field{font-size:14px!important}.auth-login-page .remember-field{gap:9px}.auth-login-page .remember-field input{width:21px;height:21px}.auth-login-page .auth-submit{height:60px;font-size:18px}.auth-login-page .auth-footer{padding-bottom:34px;font-size:14px}}

/* Densidade operacional: versão compacta para caber sem rolagem em notebooks. */
.auth-login-page .auth-form-wrap{width:min(100%,480px);padding:clamp(38px,6vh,64px) 0 26px}
.auth-login-page .auth-login-logo img{width:164px;height:65px}
.auth-login-page .auth-heading{margin:38px 0 33px}
.auth-login-page .auth-heading h1{font-size:36px}
.auth-login-page .auth-heading p{font-size:17px}
.auth-login-page .auth-form-wrap label,.auth-login-page .label-row label{font-size:16px}
.auth-login-page .auth-form-wrap input:not([type=checkbox]){height:54px;margin:7px 0 20px;padding:0 15px;font-size:17px}
.auth-login-page .password-field input{padding-right:82px!important}
.auth-login-page .password-field button{height:54px;padding:0 18px;font-size:15px}
.auth-login-page .auth-options{margin:24px 0 29px}
.auth-login-page .auth-options>a,.auth-login-page .remember-field{font-size:14px!important}
.auth-login-page .remember-field{gap:9px}
.auth-login-page .remember-field input{width:21px;height:21px}
.auth-login-page .auth-submit{height:56px;font-size:17px}
.auth-login-page .auth-register{margin-top:15px;font-size:12px}
.auth-login-page .auth-footer{padding-bottom:30px;font-size:14px}
@media(max-width:640px){.auth-login-page .auth-form-wrap{width:100%;padding:34px 22px 24px}.auth-login-page .auth-login-logo img{width:146px;height:58px}.auth-login-page .auth-heading{margin:31px 0 28px}.auth-login-page .auth-heading h1{font-size:31px}.auth-login-page .auth-heading p{font-size:16px}.auth-login-page .auth-form-wrap input:not([type=checkbox]){height:52px;margin-bottom:18px}.auth-login-page .password-field button{height:52px}.auth-login-page .auth-options{margin:21px 0 25px}.auth-login-page .auth-submit{height:54px}.auth-login-page .auth-footer{padding-bottom:24px}}

/* Escala compacta solicitada para o acesso principal. */
.auth-login-page .auth-form-wrap{width:min(100%,400px);padding-top:30px;padding-bottom:18px}
.auth-login-page .auth-login-logo img{width:134px;height:53px}
.auth-login-page .auth-heading{margin:26px 0 24px}
.auth-login-page .auth-heading h1{font-size:30px}
.auth-login-page .auth-heading p{font-size:15px}
.auth-login-page .auth-form-wrap label,.auth-login-page .label-row label{font-size:14px}
.auth-login-page .auth-form-wrap input:not([type=checkbox]){height:48px;margin:6px 0 16px;font-size:15px}
.auth-login-page .password-field button{height:48px;font-size:14px}
.auth-login-page .auth-options{margin:18px 0 22px}
.auth-login-page .auth-options>a,.auth-login-page .remember-field{font-size:13px!important}
.auth-login-page .remember-field input{width:19px;height:19px}
.auth-login-page .auth-submit{height:50px;font-size:16px}
.auth-login-page .auth-register{margin-top:11px;font-size:11px}
.auth-login-page .auth-footer{padding-bottom:18px;font-size:12px}
.auth-commercial-access{display:flex;align-items:center;gap:11px;margin-top:14px;padding:11px 13px;border:1px solid #cbd9e6;border-radius:8px;color:#07528d;text-decoration:none;background:#f7fbff;transition:border-color .18s ease,background .18s ease,transform .18s ease}.auth-commercial-access:hover{border-color:#07528d;background:#eef8ff;transform:translateY(-1px)}.auth-commercial-access>i:first-child{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#dceefd;font-size:13px}.auth-commercial-access span{display:grid;gap:1px;flex:1}.auth-commercial-access strong{font-size:13px}.auth-commercial-access small{color:#667085;font-size:11px}.auth-commercial-access>i:last-child{font-size:12px}
@media(max-width:640px){.auth-login-page .auth-form-wrap{width:100%;padding:28px 22px 16px}.auth-login-page .auth-login-logo img{width:124px;height:49px}.auth-login-page .auth-heading{margin:24px 0 22px}.auth-login-page .auth-heading h1{font-size:28px}.auth-login-page .auth-heading p{font-size:14px}.auth-login-page .auth-form-wrap input:not([type=checkbox]),.auth-login-page .password-field button{height:48px}.auth-login-page .auth-options{margin:17px 0 20px}.auth-login-page .auth-submit{height:50px}}
