:root {
    color-scheme: light;
    --azul-marinho: #050b31;
    --azul-suave: #5b76a0;
    --laranja: #ff6c08;
    --link-azul: #0060ed;
    --linha: #d6dfef;
    --area-visivel-altura: 100vh;
    --projeto-unidade: min(.06906vw, calc(var(--area-visivel-altura) * .00095), 1.2px);
    /* The login panel and its controls use 80% of the original design dimensions. */
    --cartao-unidade: calc(var(--projeto-unidade) * .8);
    font-family: "Segoe UI", Arial, sans-serif;
    font-synthesis: none;
}

@supports (height: 100dvh) {
    :root { --area-visivel-altura: 100dvh; }
}

* { box-sizing: border-box; }
html, body { margin: 0; width: 100%; height: 100%; overflow: hidden; }
button, input { font: inherit; }
button { cursor: pointer; }
svg { display: block; }
[hidden] { display: none !important; }
.svg-biblioteca { position: absolute; width: 0; height: 0; overflow: hidden; }
.visualmente-oculto { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

.indus-autenticacao {
    height: var(--area-visivel-altura);
    color: var(--azul-marinho);
    background: #0a2c47;
    isolation: isolate;
}

.indus-autenticacao::before, .indus-autenticacao::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.indus-autenticacao::before {
    background: url("../images/login-industrial.webp") left center / cover no-repeat;
}

.indus-autenticacao::after {
    background:
        linear-gradient(90deg, rgba(0, 21, 45, .16) 0%, rgba(7, 34, 60, .04) 44%, rgba(94, 130, 176, .52) 73%, rgba(192, 213, 237, .75) 100%),
        linear-gradient(0deg, rgba(0, 18, 44, .87), transparent 34%, transparent 73%, rgba(0, 21, 43, .5));
}

.autenticacao-estrutura {
    display: flex;
    flex-direction: column;
    width: min(100%, 1920px);
    height: var(--area-visivel-altura);
    min-height: 0;
    margin-inline: auto;
    padding: calc(42 * var(--projeto-unidade)) calc(40 * var(--projeto-unidade));
    container: login-viewport / size;
}

.autenticacao-cabecalho {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex: 0 0 auto;
    gap: 24px;
    min-height: calc(139 * var(--projeto-unidade));
    padding-left: calc(23 * var(--projeto-unidade));
    color: #f5f8fd;
}

.autenticacao-marca { display: flex; align-items: flex-start; gap: calc(22 * var(--projeto-unidade)); min-width: 0; }
.marca-engrenagem { width: calc(103 * var(--projeto-unidade)); height: calc(103 * var(--projeto-unidade)); flex-shrink: 0; }
.marca-nome { font-size: calc(73 * var(--projeto-unidade)); font-weight: 750; line-height: 1.08; letter-spacing: -.01em; white-space: nowrap; }
.marca-nome span { color: #ff8900; }
.marca-slogan { display: flex; align-items: center; gap: calc(11 * var(--projeto-unidade)); margin: calc(17 * var(--projeto-unidade)) 0 0 3px; font-size: calc(17 * var(--projeto-unidade)); letter-spacing: .2em; white-space: nowrap; }
.marca-slogan span { color: #ff8a00; }
.cabecalho-slogan { display: grid; grid-template-columns: calc(50 * var(--projeto-unidade)) auto; align-items: center; gap: calc(24 * var(--projeto-unidade)); margin: calc(20 * var(--projeto-unidade)) calc(20 * var(--projeto-unidade)) 0 0; color: #dce6f6; font-size: calc(24 * var(--projeto-unidade)); line-height: 1.45; letter-spacing: .015em; }
.cabecalho-slogan > span { height: calc(7 * var(--projeto-unidade)); border-radius: 2px; background: #ff9400; }

.autenticacao-disposicao {
    display: grid;
    grid-template-columns: minmax(0, 1.0177fr) minmax(0, 1fr);
    flex: 1;
    min-width: 0;
    min-height: 0;
    align-items: stretch;
}

.industrial-apresentacao { position: relative; min-width: 0; min-height: 0; overflow: clip; color: #f8faff; }
.industrial-diagrama { position: absolute; top: calc(12 * var(--projeto-unidade)); left: calc(31 * var(--projeto-unidade)); width: calc(480 * var(--projeto-unidade)); height: calc(450 * var(--projeto-unidade)); }
.processo-rede { width: 100%; height: 100%; opacity: .78; }
.diagrama-engrenagem { position: absolute; fill: rgba(104, 170, 204, .48); stroke: none; }
.diagrama-engrenagem-pequena { top: calc(19 * var(--projeto-unidade)); left: calc(129 * var(--projeto-unidade)); width: calc(95 * var(--projeto-unidade)); height: calc(95 * var(--projeto-unidade)); }
.diagrama-engrenagem-grande { top: calc(141 * var(--projeto-unidade)); left: calc(153 * var(--projeto-unidade)); width: calc(140 * var(--projeto-unidade)); height: calc(140 * var(--projeto-unidade)); }
.producao-pilares { position: absolute; top: calc(79 * var(--projeto-unidade)); right: calc(38 * var(--projeto-unidade)); display: grid; gap: calc(8 * var(--projeto-unidade)); margin: 0; padding: 0; list-style: none; }
.producao-pilares li { display: flex; align-items: center; gap: calc(15 * var(--projeto-unidade)); color: #e7edf7; font-size: calc(18 * var(--projeto-unidade)); text-transform: uppercase; }
.pilar-icone { display: grid; place-items: center; width: calc(84 * var(--projeto-unidade)); height: calc(80 * var(--projeto-unidade)); border-radius: calc(13 * var(--projeto-unidade)); background: rgba(54, 98, 133, .32); }
.pilar-icone svg { width: calc(48 * var(--projeto-unidade)); height: calc(48 * var(--projeto-unidade)); fill: none; stroke: #c6d9ea; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.pilar-icone-limpo { background: transparent; }
.pilar-icone-limpo svg { color: #b6cfe2; }
.apresentacao-texto { position: absolute; bottom: calc(11 * var(--projeto-unidade)); left: calc(20 * var(--projeto-unidade)); }
.apresentacao-texto h2 { margin: 0; font-size: calc(58 * var(--projeto-unidade)); line-height: 1.04; font-weight: 750; letter-spacing: 0; text-shadow: 0 2px 18px rgba(0, 18, 40, .3); }
.apresentacao-texto h2 span { color: #ff9000; }
.apresentacao-destaque { display: block; width: calc(66 * var(--projeto-unidade)); height: calc(7 * var(--projeto-unidade)); margin: calc(27 * var(--projeto-unidade)) 0 calc(26 * var(--projeto-unidade)) 3px; border-radius: 4px; background: #ff8a00; }
.apresentacao-texto p { display: flex; align-items: center; gap: calc(28 * var(--projeto-unidade)); margin: 0 0 0 4px; color: #e1e7f6; font-size: calc(17 * var(--projeto-unidade)); text-transform: uppercase; letter-spacing: .17em; }
.apresentacao-texto p span { opacity: .85; }

.autenticacao-cartao {
    position: relative;
    top: -30px;
    align-self: center;
    justify-self: end;
    width: 80%;
    max-width: 640px;
    min-width: 0;
    padding: calc(44 * var(--cartao-unidade)) calc(63 * var(--cartao-unidade)) calc(41 * var(--cartao-unidade));
    border: 1px solid rgba(226, 234, 247, .9);
    border-radius: calc(21 * var(--cartao-unidade));
    background: linear-gradient(135deg, #fff, #fefeff 70%, #fff);
    box-shadow: 0 5px 12px rgba(5, 38, 70, .07), 0 22px 65px rgba(5, 38, 70, .16);
}

.cartao-destaque {
    display: block;
    width: calc(51 * var(--cartao-unidade));
    height: calc(8 * var(--cartao-unidade));
    margin-bottom: calc(29 * var(--cartao-unidade));
    border-radius: 5px;
    background: var(--laranja);
}

.autenticacao-cartao h1 { margin: 0; font-weight: 400; }
.autenticacao-cartao h1 > span { display: block; font-size: max(18px, calc(32 * var(--cartao-unidade))); line-height: 1.3; letter-spacing: -.025em; }
.autenticacao-cartao h1 > strong { display: block; margin-top: calc(1 * var(--cartao-unidade)); font-size: max(32px, calc(72 * var(--cartao-unidade))); line-height: 1.05; font-weight: 750; letter-spacing: 0; }
.autenticacao-introducao { margin: calc(14 * var(--cartao-unidade)) 0 calc(23 * var(--cartao-unidade)); color: var(--azul-suave); font-size: max(14px, calc(27 * var(--cartao-unidade))); line-height: 1.3; letter-spacing: -.02em; }
.autenticacao-formulario { display: grid; gap: calc(14 * var(--cartao-unidade)); }
.autenticacao-campo { position: relative; display: flex; align-items: center; min-width: 0; }

.autenticacao-campo input {
    width: 100%;
    height: max(36px, calc(70 * var(--cartao-unidade)));
    padding: 0 max(38px, calc(60 * var(--cartao-unidade))) 0 max(38px, calc(79 * var(--cartao-unidade)));
    border: 1.5px solid var(--linha);
    border-radius: max(7px, calc(13 * var(--cartao-unidade)));
    outline: none;
    background: transparent;
    color: #253d65;
    font-size: max(16px, calc(23 * var(--cartao-unidade)));
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.autenticacao-campo input::placeholder { opacity: 1; color: var(--azul-suave); }
.autenticacao-campo input:focus { border-color: #6987b3; box-shadow: 0 0 0 3px rgba(39, 100, 190, .1); }
.campo-icone { position: absolute; left: max(12px, calc(27 * var(--cartao-unidade))); width: max(18px, calc(32 * var(--cartao-unidade))); height: max(20px, calc(33 * var(--cartao-unidade))); color: #526e99; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.senha-alternar { position: absolute; right: max(4px, calc(15 * var(--cartao-unidade))); display: grid; place-items: center; width: max(32px, calc(44 * var(--cartao-unidade))); height: max(32px, calc(44 * var(--cartao-unidade))); padding: 0; border: 0; border-radius: 7px; color: #526e99; background: transparent; }
.senha-alternar:hover { background: #eef3fa; }
.senha-alternar svg { width: max(20px, calc(30 * var(--cartao-unidade))); height: max(20px, calc(30 * var(--cartao-unidade))); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.olho-risco { display: none; }
.senha-alternar[aria-pressed="true"] .olho-risco { display: block; }

.lembrar-acesso { position: relative; display: flex; align-items: center; gap: calc(20 * var(--cartao-unidade)); width: fit-content; min-height: 28px; margin-top: calc(4 * var(--cartao-unidade)); color: #2c446c; font-size: max(14px, calc(23 * var(--cartao-unidade))); line-height: 1.5; cursor: pointer; }
.lembrar-acesso input { position: absolute; left: 0; width: max(20px, calc(33 * var(--cartao-unidade))); height: max(20px, calc(33 * var(--cartao-unidade))); margin: 0; opacity: 0; cursor: pointer; }
.selecao-visual { position: relative; width: max(20px, calc(33 * var(--cartao-unidade))); height: max(20px, calc(33 * var(--cartao-unidade))); flex-shrink: 0; border: 1.5px solid #a9bbd3; border-radius: 5px; background: #fff; }
.lembrar-acesso input:checked + .selecao-visual { border-color: #0064ea; background: #0064ea; box-shadow: 0 2px 7px rgba(0, 96, 237, .12); }
.lembrar-acesso input:checked + .selecao-visual::after { content: ""; position: absolute; left: 27%; top: 14%; width: 29%; height: 54%; border-right: 2.5px solid #fff; border-bottom: 2.5px solid #fff; transform: rotate(43deg); }
.lembrar-acesso input:focus-visible + .selecao-visual { outline: 3px solid #2161bd; outline-offset: 3px; }

.autenticacao-enviar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(26 * var(--cartao-unidade));
    min-width: 0;
    height: max(40px, calc(76 * var(--cartao-unidade)));
    margin-top: calc(9 * var(--cartao-unidade));
    padding: 5px 16px;
    border: 1px solid #f25e06;
    border-radius: max(8px, calc(14 * var(--cartao-unidade)));
    background-color: #f66808;
    color: #fff;
    font-size: max(18px, calc(30 * var(--cartao-unidade)));
    font-weight: 650;
    box-shadow: 0 10px 22px rgba(209, 93, 11, .1);
    transition: background-color 240ms ease, box-shadow 240ms ease;
}

.autenticacao-enviar svg { width: max(20px, calc(36 * var(--cartao-unidade))); height: max(20px, calc(36 * var(--cartao-unidade))); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (hover: hover) and (pointer: fine) {
    .autenticacao-enviar:hover { background-color: #ee5f00; box-shadow: 0 10px 25px rgba(209, 93, 11, .2); }
}
.autenticacao-enviar:active { background-color: #df5600; }
.recuperacao-acoes { display: flex; justify-content: center; margin: calc(22 * var(--cartao-unidade)) 0 calc(28 * var(--cartao-unidade)); }
.recuperacao-botao { min-height: 28px; padding: 3px 6px; border: 0; border-radius: 4px; background: transparent; color: var(--link-azul); font-size: max(14px, calc(23 * var(--cartao-unidade))); font-weight: 550; line-height: 1.4; text-decoration: underline; text-underline-offset: 2px; }
.recuperacao-botao:hover { color: #003eaa; }
.recuperacao-alternativa { margin: 0; color: var(--azul-suave); font-size: 12px; text-align: center; line-height: 1.35; }

.autenticacao-beneficios { display: grid; grid-template-columns: .94fr 1.15fr 1.03fr; margin: 0 calc(-25 * var(--cartao-unidade)); padding: calc(31 * var(--cartao-unidade)) 0 0; border-top: 1.5px solid #dce3ee; list-style: none; color: #526e99; }
.autenticacao-beneficios li { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(13 * var(--cartao-unidade)); min-width: 0; min-height: calc(85 * var(--cartao-unidade)); padding-inline: 4px; text-align: center; }
.autenticacao-beneficios li + li { border-left: 1.5px solid #dce3ee; }
.autenticacao-beneficios svg { width: calc(49 * var(--cartao-unidade)); height: calc(49 * var(--cartao-unidade)); color: #627fa8; }
.autenticacao-beneficios li:first-child svg { color: #37577f; }
.autenticacao-beneficios span { font-size: max(11px, calc(20 * var(--cartao-unidade))); line-height: 1.3; letter-spacing: -.02em; }

.autenticacao-mensagem { margin: 0 0 calc(16 * var(--cartao-unidade)); padding: max(6px, calc(12 * var(--cartao-unidade))) max(8px, calc(14 * var(--cartao-unidade))); border: 1px solid #cdddef; border-radius: 7px; background: #eef5fd; color: #31547e; font-size: max(12px, calc(15 * var(--cartao-unidade))); line-height: 1.35; overflow-wrap: anywhere; }
.autenticacao-erro { border-color: #efc5c1; background: #fff4f2; color: #a4352c; }
button:focus-visible { outline: 3px solid #2161bd; outline-offset: 3px; }

.recuperacao-dialogo { width: min(400px, calc(100% - 24px)); max-height: calc(var(--area-visivel-altura) - 24px); padding: clamp(12px, 3vh, 28px); border: 1px solid var(--linha); border-radius: 16px; color: var(--azul-marinho); background: #fff; box-shadow: 0 24px 90px rgba(0, 20, 50, .25); }
.recuperacao-dialogo::backdrop { background: rgba(0, 17, 40, .65); backdrop-filter: blur(4px); }
.recuperacao-dialogo .cartao-destaque { width: 36px; height: 5px; margin-bottom: 18px; }
.recuperacao-dialogo h2 { margin: 0; font-size: clamp(20px, 3vh, 24px); line-height: 1.2; }
.recuperacao-dialogo p { margin: 12px 0 18px; color: #526e99; font-size: 14px; line-height: 1.45; }
.dialogo-fechar { width: 100%; min-height: 36px; border: 0; border-radius: 8px; background: #c64c00; color: #fff; font-weight: 650; }
.dialogo-fechar:hover { background: #b54400; }

@media (max-width: 1100px) and (min-width: 801px) {
    .marca-slogan { letter-spacing: .13em; gap: 7px; }
    .cabecalho-slogan { margin-right: 12px; gap: 14px; }
    .autenticacao-cartao { width: 90%; padding-inline: calc(48 * var(--cartao-unidade)); }
    .producao-pilares { right: 14px; }
    .producao-pilares li { font-size: max(10px, calc(18 * var(--projeto-unidade))); gap: 9px; }
    .apresentacao-texto p { gap: 15px; }
}

@media (max-width: 800px) {
    .indus-autenticacao {
        --projeto-unidade: min(.205vw, calc(var(--area-visivel-altura) * .0012), .8px);
        --cartao-unidade: calc(var(--projeto-unidade) * .8);
    }
    .indus-autenticacao::before { background-position: 26% center; }
    .indus-autenticacao::after { background: linear-gradient(180deg, rgba(0, 23, 48, .6), rgba(0, 23, 48, .76)); }
    .autenticacao-estrutura { width: min(100%, 640px); padding: max(10px, calc(25 * var(--projeto-unidade))) max(12px, calc(20 * var(--projeto-unidade))); }
    .autenticacao-cabecalho { min-height: 0; padding-left: 0; margin-bottom: calc(20 * var(--projeto-unidade)); }
    .autenticacao-marca { align-items: center; gap: calc(17.5 * var(--projeto-unidade)); }
    .marca-engrenagem { width: calc(70 * var(--projeto-unidade)); height: calc(70 * var(--projeto-unidade)); }
    .marca-nome { font-size: calc(52.5 * var(--projeto-unidade)); }
    .marca-slogan { margin-top: calc(11.25 * var(--projeto-unidade)); font-size: max(8px, calc(11.25 * var(--projeto-unidade))); gap: calc(7.5 * var(--projeto-unidade)); letter-spacing: .12em; }
    .cabecalho-slogan { display: none; }
    .autenticacao-disposicao { display: flex; flex-direction: column; justify-content: center; gap: calc(20 * var(--projeto-unidade)); }
    .industrial-apresentacao { flex: 0 0 auto; overflow: visible; }
    .industrial-diagrama, .producao-pilares { display: none; }
    .apresentacao-texto { position: static; }
    .apresentacao-texto h2 { font-size: calc(35 * var(--projeto-unidade)); line-height: 1.12; }
    .apresentacao-texto h2 br { display: none; }
    .apresentacao-texto h2 span { white-space: nowrap; }
    .apresentacao-destaque, .apresentacao-texto p { display: none; }
    .autenticacao-cartao { width: min(100%, max(260px, 80%)); max-width: 480px; padding: calc(33.75 * var(--cartao-unidade)) calc(30 * var(--cartao-unidade)); border-radius: 14px; }
    .cartao-destaque { width: calc(51.25 * var(--cartao-unidade)); height: calc(7.5 * var(--cartao-unidade)); margin-bottom: calc(28.75 * var(--cartao-unidade)); }
    .autenticacao-cartao h1 > span { font-size: max(16px, calc(28.75 * var(--cartao-unidade))); }
    .autenticacao-cartao h1 > strong { font-size: max(30px, calc(61.25 * var(--cartao-unidade))); }
    .autenticacao-introducao { font-size: max(14px, calc(22.5 * var(--cartao-unidade))); margin-block: calc(15 * var(--cartao-unidade)) calc(25 * var(--cartao-unidade)); line-height: 1.35; }
    .autenticacao-campo input { height: max(40px, calc(68.75 * var(--cartao-unidade))); padding-left: max(36px, calc(66.25 * var(--cartao-unidade))); padding-right: max(36px, calc(60 * var(--cartao-unidade))); }
    .campo-icone { left: max(12px, calc(25 * var(--cartao-unidade))); width: max(18px, calc(28.75 * var(--cartao-unidade))); height: max(20px, calc(31.25 * var(--cartao-unidade))); }
    .senha-alternar { right: 4px; }
    .lembrar-acesso { min-height: 28px; margin-top: 0; gap: calc(16.25 * var(--cartao-unidade)); font-size: max(14px, calc(21.25 * var(--cartao-unidade))); }
    .autenticacao-enviar { height: max(40px, calc(75 * var(--cartao-unidade))); margin-top: 0; }
    .recuperacao-acoes { margin-block: calc(17.5 * var(--cartao-unidade)) calc(23.75 * var(--cartao-unidade)); }
    .autenticacao-beneficios { margin-inline: calc(-12.5 * var(--cartao-unidade)); padding-top: calc(25 * var(--cartao-unidade)); }
    .autenticacao-beneficios span { font-size: max(11px, calc(16.25 * var(--cartao-unidade))); }
}

/* Height queries use the actual shell, including visual-viewport updates for keyboards. */
@container login-viewport (max-height: 700px) {
    .autenticacao-cartao { padding-block: calc(30 * var(--cartao-unidade)); }
    .cartao-destaque { margin-bottom: calc(20 * var(--cartao-unidade)); }
    .autenticacao-beneficios { padding-top: calc(20 * var(--cartao-unidade)); }
}

@media (max-width: 800px) {
    @container login-viewport (max-height: 700px) {
        .industrial-apresentacao, .autenticacao-beneficios { display: none; }
        .autenticacao-disposicao { gap: 0; }
    }
}

@container login-viewport (max-height: 520px) {
    .industrial-apresentacao, .autenticacao-introducao, .autenticacao-beneficios, .cartao-destaque, .marca-slogan, .cabecalho-slogan { display: none; }
    .autenticacao-cabecalho { min-height: 0; margin-bottom: 8px; padding-left: 0; }
    .autenticacao-marca { align-items: center; gap: 10px; }
    .marca-engrenagem { width: 36px; height: 36px; }
    .marca-nome { font-size: 29px; }
    .autenticacao-disposicao { display: flex; justify-content: flex-end; align-items: center; }
    .autenticacao-cartao { width: min(100%, 420px); padding: 14px 20px; border-radius: 12px; }
    .autenticacao-cartao h1 { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin-bottom: 12px; }
    .autenticacao-cartao h1 > span { font-size: 16px; }
    .autenticacao-cartao h1 > strong { margin: 0; font-size: 28px; }
    .autenticacao-formulario { gap: 8px; }
    .autenticacao-campo input { height: 36px; padding-left: 36px; padding-right: 36px; font-size: 16px; }
    .campo-icone { left: 12px; width: 18px; height: 20px; }
    .senha-alternar { right: 4px; width: 32px; height: 32px; }
    .senha-alternar svg { width: 20px; height: 20px; }
    .lembrar-acesso { min-height: 26px; margin-top: 0; gap: 8px; font-size: 14px; }
    .lembrar-acesso input, .selecao-visual { width: 20px; height: 20px; }
    .autenticacao-enviar { height: 40px; margin-top: 0; font-size: 18px; gap: 12px; }
    .autenticacao-enviar svg { width: 22px; height: 22px; }
    .recuperacao-acoes { margin: 10px 0 0; }
    .recuperacao-botao { min-height: 28px; font-size: 14px; }
    .autenticacao-mensagem { margin-bottom: 8px; padding: 6px 8px; font-size: 12px; }
}

@media (max-width: 800px) {
    @container login-viewport (max-height: 520px) {
        .autenticacao-disposicao { justify-content: center; }
    }
}

@container login-viewport (max-height: 350px) {
    .autenticacao-cabecalho { display: none; }
    .autenticacao-disposicao { justify-content: center; }
    .autenticacao-cartao { top: -10px; padding: 10px 14px; }
    .autenticacao-cartao h1 { margin-bottom: 8px; }
    .autenticacao-cartao h1 > span { font-size: 14px; }
    .autenticacao-cartao h1 > strong { font-size: 25px; }
    .autenticacao-formulario { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 8px; }
    .autenticacao-campo input { height: 34px; padding-left: 29px; padding-right: 30px; }
    .campo-icone { left: 9px; width: 16px; height: 18px; }
    .senha-alternar { right: 0; }
    .senha-alternar svg { width: 18px; height: 18px; }
    .lembrar-acesso { min-width: 0; gap: 5px; font-size: 12px; }
    .lembrar-acesso input, .selecao-visual { width: 18px; height: 18px; }
    .autenticacao-enviar { height: 34px; font-size: 16px; gap: 8px; padding: 4px 8px; }
    .autenticacao-enviar svg { width: 18px; height: 18px; }
    .recuperacao-acoes { margin-top: 8px; }
}

@media (max-height: 360px) {
    .recuperacao-dialogo { padding: 12px 16px; }
    .recuperacao-dialogo .cartao-destaque { display: none; }
    .recuperacao-dialogo p { margin: 10px 0 12px; font-size: 13px; line-height: 1.35; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; }
}
