/*
 * Estilos do Cadastro de Colaborador (v2), sobre o Bootstrap 4.1.
 * Seguem o Figma "Login e Cadastro do Colaborador", que usa a fonte
 * Inter e a paleta do Untitled UI.
 *
 * Organização: variáveis, base, e depois uma seção por tela ou componente, cada uma com as
 * próprias media queries logo abaixo. Pontos de quebra: 1280px e 760px (página inicial),
 * 991.98px (celular e tablet) e 575.98px (celular). As cores das imagens SVG embutidas
 * (data:) ficam no próprio SVG, porque variáveis CSS não chegam até elas.
 */
:root {
    --branco: #ffffff;
    --painel: var(--marca-primaria);
    --primaria: #1570ef;
    --link: var(--marca-primaria);
    --link-hover: var(--marca-primaria-hover);
    --alerta-info-borda: #2e90fa;
    --azul-claro: #d8e9ff;
    --titulo: #1d2939;
    --texto: #344054;
    --texto-suave: #667085;
    --placeholder: #98a2b3;
    --borda: #d0d5dd;
    --divisoria: #eaecf0;
    --desabilitado: #d9d9d9;
    --erro: #f04438;
    --erro-fundo: #fdecec;
    --sucesso: #085d3a;
    --sucesso-fundo: #ecfdf3;
    --sucesso-borda: #abefc6;
    --sucesso-destaque: #17b26a;
    --foco-borda: #84adff;
    --foco-anel: #d1e0ff;
    --area-envio-recuo-remover: 2rem;
    --area-envio-recuo-remover-celular: 3.25rem;
    --area-envio-remover-tamanho: 1.5rem;
    --area-envio-remover-tamanho-celular: 2.75rem;
    --area-envio-remover-distancia: .5rem;
    --area-envio-remover-raio: 4px;
    --area-envio-remover-icone: 12px;
    --remover-area-tamanho: 2.75rem;
    --etapas-acesso-espaco: .5rem;
    --etapas-acesso-linha-minima: .75rem;
    --etapas-acesso-numero-estreito: 2rem;
    --etapas-acesso-nome-estreito: 1rem;
    --sombra-campo: 0 1px 2px rgba(16, 24, 40, .05);
    --sombra-aviso: 0 12px 16px -4px rgba(16, 24, 40, .08), 0 4px 6px -2px rgba(16, 24, 40, .03);

    --marca-magenta: #a9258f;
    --marca-magenta-fundo: #f6e6f2;
    --marca-primaria: #271d67;
    --marca-primaria-hover: #1c1450;
    --botao-secundario: var(--marca-magenta);
    --botao-secundario-borda: #e3bcd9;
    --botao-secundario-fundo-hover: #fbf1f8;
    --marca-primaria-fundo: #f1f0f8;

    --logado-fundo: #f5f5f8;
    --logado-texto: #1f2333;
    --logado-texto-suave: #7d7b8e;
    --logado-texto-vazio: #a6a4b5;
    --logado-borda: #e6e5ec;
    --logado-divisoria: #f0eff4;
    --logado-iniciais-fundo: #edebf5;
    --topo-texto: rgba(255, 255, 255, .9);
    --topo-separador: rgba(255, 255, 255, .25);

    --erro-pagina-borda: #eeedf3;
    --erro-pagina-texto: #5b6075;
    --erro-pagina-rodape-fundo: #f8f7fb;
    --erro-pagina-rodape-texto: #6b6880;

    --raio: .5rem;
    --raio-cartao: 10px;
    --faixa-altura: 60px;
    --faixa-logo: 30px;
    --faixa-logo-celular: 1.6rem;
}

body {
    font-family: 'Inter', -apple-system, 'Segoe UI', Roboto, sans-serif;
    color: var(--texto);
    background: var(--branco);
}

.pagina { display: flex; min-height: 100vh; }
.coluna-conteudo { flex: 1 1 50%; display: flex; justify-content: center; padding: 2.5rem 1.5rem; }
.conteudo { width: 100%; max-width: 560px; }
.bloco-centro { margin-top: 18vh; max-width: 450px; }
.bloco-login { margin-right: auto; margin-left: auto; }
.bloco-login .titulo { font-size: 1.75rem; }
.bloco-login .subtitulo { font-size: .9375rem; margin-bottom: 1.75rem; }
.bloco-login .form-group { margin-bottom: 1.25rem; }
.bloco-login .form-control { font-size: .9375rem; }
.bloco-login .link { font-size: .9375rem; }
.bloco-login .acoes { margin-top: 1.5rem; }
.bloco-login .botao { height: 2.75rem; font-size: 1rem; }

.painel-marca {
    flex: 1 1 50%;
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3rem;
    padding: 2rem;
    background: var(--painel) url('../img/logo-verbena-pagina.png') no-repeat center / cover;
}
.painel-logo { display: none; filter: brightness(0) invert(1); }

@media (max-width: 991.98px) {
    .pagina { flex-direction: column-reverse; }
    .painel-marca { position: static; flex: none; height: var(--faixa-altura); padding: 0 1rem; gap: 1.25rem; background: var(--painel); }
    .painel-logo { display: block; width: auto; height: var(--faixa-logo-celular); }
    .coluna-conteudo { padding: 1.75rem 1rem 2rem; }
    .bloco-centro { margin-top: 1rem; }
    .bloco-login .titulo { font-size: 1.5rem; }
}

.pagina-logada { background: var(--logado-fundo); }
.topo {
    position: sticky; top: 0; z-index: 1000;
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    height: var(--faixa-altura); padding: 0 2.5rem; background: var(--marca-primaria);
}
.topo-marcas { display: flex; align-items: center; gap: 1.25rem; }
.topo-logo { height: var(--faixa-logo); width: auto; filter: brightness(0) invert(1); }
.topo-usuario { display: flex; align-items: center; gap: 1.125rem; font-size: .8125rem; color: var(--topo-texto); }
.topo-separador { width: 1px; height: 18px; background: var(--topo-separador); }
.topo-sair, .topo-sair:hover { color: var(--branco); font-weight: 500; text-decoration: none; }
.area-logada { padding: 1.75rem 2.5rem 2rem; }

@media (max-width: 991.98px) {
    .topo { padding: 0 1rem; }
    .topo-logo { height: var(--faixa-logo-celular); }
    .topo-nome, .topo-separador { display: none; }
}

.inicio { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 1.75rem; align-items: start; }
.inicio-lateral { position: sticky; top: var(--lateral-topo, calc(var(--faixa-altura) + 1.75rem)); }
.perfil {
    display: flex; flex-direction: column; padding: 1.75rem;
    background: var(--branco); border: 1px solid var(--logado-borda); border-radius: var(--raio-cartao);
}
.perfil-iniciais {
    display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 1rem;
    border-radius: 50%; background: var(--logado-iniciais-fundo); color: var(--marca-primaria); font-size: 1.125rem; font-weight: 600;
}
.perfil-nome { margin: 0; font-size: 1.2rem; font-weight: 600; line-height: 1.3; color: var(--marca-primaria); }
.perfil-vinculo { margin: .25rem 0 0; font-size: .8125rem; color: var(--logado-texto-suave); }
.perfil-resumo { margin: 1.25rem 0 0; border-top: 1px solid var(--logado-divisoria); }
.perfil-resumo div {
    display: flex; justify-content: space-between; gap: .75rem; padding: .875rem 0;
    border-bottom: 1px solid var(--logado-divisoria); font-size: .8125rem;
}
.perfil-resumo dt { font-weight: 400; color: var(--logado-texto-suave); }
.perfil-resumo dd { margin: 0; font-weight: 500; text-align: right; color: var(--logado-texto); }
.perfil-acoes { display: flex; flex-direction: column; gap: .625rem; padding-top: 1.5rem; }
.perfil-acoes form { margin: 0; }
.perfil-acoes .botao { width: 100%; height: 2.75rem; font-size: .875rem; }
.botao-desabilitado { opacity: .5; cursor: not-allowed; }
.documentos-enviados {
    margin-top: 1.25rem; padding: 1.5rem 1.75rem;
    background: var(--branco); border: 1px solid var(--logado-borda); border-radius: var(--raio-cartao);
}
.documentos-enviados-titulo { margin: 0 0 .5rem; font-size: .95rem; font-weight: 600; color: var(--logado-texto); }
.documentos-enviados-lista { margin: 0; padding: 0; list-style: none; }
.documento-enviado { display: flex; align-items: center; gap: .75rem; padding: .75rem 0; border-bottom: 1px solid var(--logado-divisoria); }
.documento-enviado:last-child { border-bottom: 0; padding-bottom: 0; }
.documento-enviado-icone {
    flex-shrink: 0; width: 2rem; height: 2rem; border-radius: var(--raio);
    background: var(--marca-primaria-fundo) no-repeat center / 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22'%3E%3Cpath fill='%23271d67' d='M2 0h9l7 7v13a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2z'/%3E%3Cpath fill='%23fff' fill-opacity='.6' d='M11 0v5a2 2 0 0 0 2 2h5z'/%3E%3C/svg%3E");
}
.documento-pendente .documento-enviado-icone { background-color: var(--logado-fundo); opacity: .5; }
.documento-enviado-texto { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.documento-enviado-nome { font-size: .8125rem; font-weight: 500; line-height: 1.35; color: var(--logado-texto); }
.documento-enviado-detalhe { font-size: .75rem; color: var(--logado-texto-suave); }
.documento-pendente .documento-enviado-detalhe { color: var(--logado-texto-vazio); }
.documento-enviado-link {
    flex-shrink: 0; padding: .375rem .625rem; border-radius: var(--raio);
    font-size: .8125rem; font-weight: 500; color: var(--link); text-decoration: none;
}
.documento-enviado-link:hover, .documento-enviado-link:focus { background: var(--marca-primaria-fundo); color: var(--link-hover); text-decoration: none; }

.inicio-principal .titulo { margin-bottom: .25rem; font-size: 1.75rem; font-weight: 600; letter-spacing: -.01em; color: var(--marca-primaria); }
.inicio-principal .subtitulo { margin-bottom: 1.5rem; font-size: .8125rem; color: var(--logado-texto-suave); }
.inicio-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.cartao-dados { background: var(--branco); border: 1px solid var(--logado-borda); border-radius: var(--raio-cartao); }
.cartao-dados-largura-2 { grid-column: span 2; }
.cartao-dados-largura-3 { grid-column: span 3; }
.cartao-dados-topo { padding: 1.25rem 1.75rem; border-bottom: 1px solid var(--logado-divisoria); }
.cartao-dados-titulo { margin: 0; font-size: .95rem; font-weight: 600; color: var(--logado-texto); }
.cartao-dados-campos { display: grid; gap: 1.5rem 2rem; margin: 0; padding: 1.75rem; }
.cartao-dados-colunas-1 { grid-template-columns: minmax(0, 1fr); }
.cartao-dados-colunas-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cartao-dados-colunas-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cartao-dados-colunas-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.campo-dado-largura-2 { grid-column: span 2; }
.campo-dado-largura-3 { grid-column: span 3; }
.campo-dado dt { margin-bottom: .375rem; font-size: .8125rem; font-weight: 400; color: var(--logado-texto-suave); }
.campo-dado dd { margin: 0; font-size: 1rem; font-weight: 500; color: var(--logado-texto); overflow-wrap: anywhere; }
.campo-dado dd.campo-dado-vazio { font-weight: 400; color: var(--logado-texto-vazio); }

@media (max-width: 1280px) {
    .inicio { grid-template-columns: minmax(0, 1fr); }
    .inicio-lateral { position: static; }
    .inicio-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cartao-dados-largura-3 { grid-column: span 2; }
}
@media (max-width: 760px) {
    .area-logada { padding: 1.25rem 1rem; }
    .inicio-grade { grid-template-columns: minmax(0, 1fr); }
    .cartao-dados-largura-2, .cartao-dados-largura-3 { grid-column: auto; }
    .cartao-dados-campos { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 1.25rem; }
    .campo-dado-largura-3 { grid-column: span 2; }
}

.titulo { color: var(--marca-primaria); font-weight: 700; font-size: 2rem; line-height: 1.25; letter-spacing: -.01em; margin-bottom: .5rem; }
.subtitulo { color: var(--texto-suave); font-size: 1rem; margin-bottom: 2rem; }
.link, a { color: var(--link); font-weight: 600; }
.link:hover, a:hover { color: var(--link-hover); }
.link:hover { text-decoration: underline; }
.link-sair { display: inline-block; font-size: .9rem; margin-bottom: 1.5rem; }
.link-email { font-style: italic; font-weight: 400; }

@media (max-width: 991.98px) {
    .titulo { font-size: 1.5rem; }
}

label { color: var(--texto); font-weight: 500; font-size: .9rem; margin-bottom: .375rem; }
.form-group { margin-bottom: 1.5rem; }
.form-control {
    height: 2.75rem;
    border: 1px solid var(--borda);
    border-radius: var(--raio);
    color: var(--titulo);
    box-shadow: var(--sombra-campo);
}
.form-control::placeholder { color: var(--placeholder); }
.form-control:focus { border-color: var(--foco-borda); box-shadow: 0 0 0 4px var(--foco-anel); }
.form-control[readonly] { background: var(--desabilitado); color: var(--texto-suave); }
select.form-control { appearance: none; -webkit-appearance: none; padding-right: 2.5rem;
    background: var(--branco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23667085' stroke-width='1.5'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 1rem center; }
.obrigatorio { color: var(--erro); }

.grupo-radio legend { margin-bottom: .5rem; font-size: .9rem; font-weight: 500; color: var(--texto); }
.opcao-radio {
    display: flex; align-items: center; gap: .625rem; margin-bottom: .5rem; padding: .625rem .875rem;
    border: 1px solid var(--borda); border-radius: var(--raio); font-weight: 400; color: var(--titulo); cursor: pointer;
}
.opcao-radio:hover { border-color: var(--foco-borda); }
.opcao-radio:has(input:checked) { border-color: var(--marca-primaria); background: var(--marca-primaria-fundo); }
.opcao-radio input { margin: 0; accent-color: var(--marca-primaria); }

.caixa-confirmacao { display: flex; align-items: flex-start; gap: .625rem; margin: 0; font-weight: 400; color: var(--titulo); cursor: pointer; }
.caixa-confirmacao input { flex-shrink: 0; width: 1.125rem; height: 1.125rem; margin: .125rem 0 0; accent-color: var(--marca-primaria); }

.com-icone { padding-left: 2.5rem; }
.campo-icone { position: relative; }
.campo-icone::before {
    content: ''; position: absolute; z-index: 1; left: .875rem; top: 50%; width: 18px; height: 18px;
    transform: translateY(-50%); background: no-repeat center / contain; pointer-events: none;
}
.icone-usuario::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101828' stroke-width='1.6'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6 8-6s8 2 8 6'/%3E%3C/svg%3E"); }
.icone-cadeado::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23101828'%3E%3Cpath d='M7 10V7a5 5 0 0110 0v3h1a1 1 0 011 1v9a1 1 0 01-1 1H6a1 1 0 01-1-1v-9a1 1 0 011-1h1zm2 0h6V7a3 3 0 00-6 0v3z'/%3E%3C/svg%3E"); }

.campo-senha { position: relative; }
.campo-senha .form-control { padding-right: 2.75rem; }
.mostrar-senha {
    position: absolute; right: .375rem; top: 50%; width: 2.25rem; height: 2.25rem; transform: translateY(-50%);
    border: 0; border-radius: var(--raio); background: transparent no-repeat center / 24px; cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101828' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' d='M2 8c2.8 4 6.2 6 10 6s7.2-2 10-6M4.6 11.4L3 13.5M8.8 13.4l-.9 2.4M15.2 13.4l.9 2.4M19.4 11.4l1.6 2.1'/%3E%3C/svg%3E");
}
.mostrar-senha[aria-pressed="true"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101828' stroke-width='1.5'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}
.mostrar-senha:focus-visible { outline: 2px solid var(--foco-borda); outline-offset: 2px; }

.com-erro label { color: var(--erro); }
.com-erro .form-control, .form-control.is-invalid { border-color: var(--erro); }
.invalid-feedback { color: var(--erro); font-size: .85rem; }
.invalid-feedback:not(:empty)::before { content: 'ⓘ '; }

.area-envio {
    display: flex; flex-direction: column; align-items: center; gap: .5rem;
    padding: 2rem 1rem; text-align: center; cursor: pointer; font-weight: 400;
    background: var(--marca-primaria-fundo); border: 2px dotted var(--marca-primaria); border-radius: var(--raio);
}
.area-envio small { color: var(--texto); }
.area-envio-icone { width: 28px; height: 28px; border-radius: 4px; background: var(--marca-primaria) no-repeat center / 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M12 20V5M6 11l6-6 6 6'/%3E%3C/svg%3E"); }
.com-erro .area-envio { background: var(--erro-fundo); border-color: var(--erro); color: var(--erro); }
.com-erro .area-envio-icone { background-color: var(--erro); }
.envio-arquivo { position: relative; }
.area-envio-titulo { max-width: 100%; padding: 0 var(--area-envio-recuo-remover); overflow-wrap: anywhere; }
.area-envio.com-arquivo { border-style: solid; border-width: 1px; }
.area-envio.arrastando { border-style: solid; border-color: var(--marca-primaria); background: var(--branco); }
.area-envio.com-arquivo .area-envio-icone { background-color: transparent; background-size: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23271d67'%3E%3Cpath d='M6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm7 1.5V9h5.5zM8 13v1.5h8V13zm0 3.5V18h8v-1.5z'/%3E%3C/svg%3E"); }
.area-envio-remover {
    position: absolute; top: var(--area-envio-remover-distancia); right: var(--area-envio-remover-distancia);
    width: var(--area-envio-remover-tamanho); height: var(--area-envio-remover-tamanho); padding: 0;
    border: 1px solid var(--texto-suave); border-radius: var(--area-envio-remover-raio);
    background: var(--branco) no-repeat center / var(--area-envio-remover-icone);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23344054' stroke-width='2'%3E%3Cpath d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E");
}

@media (max-width: 575.98px) {
    .area-envio-titulo { padding: 0 var(--area-envio-recuo-remover-celular); }
    .area-envio-remover { width: var(--area-envio-remover-tamanho-celular); height: var(--area-envio-remover-tamanho-celular); }
}

.botao {
    display: inline-flex; align-items: center; justify-content: center; gap: .75rem;
    min-width: 8rem; height: 3rem; padding: 0 1.5rem; border-radius: var(--raio);
    font-size: 1.125rem; font-weight: 500; border: 1px solid transparent; text-decoration: none;
}
button.botao:not(:disabled) { cursor: pointer; }
.botao-primario { background: var(--marca-primaria); color: var(--branco); }
.botao-primario:hover { background: var(--marca-primaria-hover); color: var(--branco); text-decoration: none; }
.botao-secundario { background: var(--branco); color: var(--botao-secundario); border-color: var(--botao-secundario-borda); }
.botao-secundario:hover { background: var(--botao-secundario-fundo-hover); color: var(--botao-secundario); border-color: var(--botao-secundario); text-decoration: none; }
.botao-contorno { background: var(--branco); color: var(--marca-primaria); border-color: var(--marca-primaria); }
.botao-contorno:hover { background: var(--marca-primaria-fundo); color: var(--marca-primaria); text-decoration: none; }
.seta { width: .55rem; height: .55rem; border: solid currentColor; border-width: 2px 2px 0 0; transform: rotate(45deg); }
.seta-esquerda { transform: rotate(-135deg); }
.acoes { display: flex; justify-content: space-between; margin-top: 2.5rem; }
.acoes-direita { justify-content: flex-end; margin-top: 1rem; }
.divisor { border-color: var(--divisoria); margin: 2.25rem 0 1rem; }

@media (max-width: 575.98px) {
    .acoes { flex-direction: column-reverse; gap: .75rem; }
    .acoes:not(.acoes-direita) { margin-top: 2rem; }
    .acoes .botao { width: 100%; }
    .divisor { margin-top: 1.75rem; }
}

.etapas { display: flex; align-items: center; list-style: none; padding: 0; margin: 0 0 2.5rem; }
.etapa { display: flex; align-items: center; gap: .6rem; flex: 0 0 auto; }
.etapa + .etapa::before { content: ''; display: block; width: 3rem; height: 1px; background: var(--placeholder); margin-right: .6rem; }
.etapa.concluida + .etapa::before, .etapa.atual + .etapa::before { background: var(--marca-primaria); }
.etapa-numero {
    width: 2.25rem; height: 2.25rem; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--texto-suave); color: var(--texto-suave); font-weight: 500;
}
.etapa.concluida .etapa-numero, .etapa.atual .etapa-numero { background: var(--marca-primaria); border-color: var(--marca-primaria); color: var(--branco); }
.etapa-nome { color: var(--marca-primaria); font-weight: 500; font-size: 1.1rem; white-space: nowrap; margin-right: .6rem; }

@media (max-width: 991.98px) {
    .etapas { justify-content: space-between; }
    .etapa + .etapa::before { width: .75rem; margin-right: .25rem; }
    .etapa { gap: .25rem; }
    .etapa-numero { width: 1.9rem; height: 1.9rem; font-size: .85rem; }
    .etapa-nome { display: none; }
}
@media (min-width: 992px) {
    .coluna-conteudo .etapas { width: 100%; }
    .coluna-conteudo .etapa { gap: var(--etapas-acesso-espaco); }
    .coluna-conteudo .etapa + .etapa { flex: 1 0 auto; }
    .coluna-conteudo .etapa.atual { flex-shrink: 1; min-width: 0; }
    .coluna-conteudo .etapa + .etapa::before {
        flex: 1 1 0; width: auto; min-width: var(--etapas-acesso-linha-minima); margin-right: 0;
    }
    .coluna-conteudo .etapa-numero { flex-shrink: 0; }
    .coluna-conteudo .etapa-nome { min-width: 0; margin-right: var(--etapas-acesso-espaco); white-space: normal; line-height: 1.2; }
}
@media (min-width: 992px) and (max-width: 1279.98px) {
    .coluna-conteudo .etapa-numero { width: var(--etapas-acesso-numero-estreito); height: var(--etapas-acesso-numero-estreito); }
    .coluna-conteudo .etapa-nome { font-size: var(--etapas-acesso-nome-estreito); }
}

.alerta { border-radius: var(--raio); padding: 1rem 1.25rem; margin-bottom: 1.5rem; }
.alerta-info { background: var(--azul-claro); color: var(--primaria); border: 1px solid var(--alerta-info-borda); }
.alerta-erro { background: var(--erro-fundo); color: var(--erro); border: 1px solid var(--erro); }
.alerta-sucesso {
    display: flex; align-items: center; gap: .75rem; padding-top: .875rem; padding-bottom: .875rem;
    background: var(--sucesso-fundo); color: var(--sucesso); font-weight: 500;
    border: 1px solid var(--sucesso-borda); border-left: 4px solid var(--sucesso-destaque);
}
.alerta-sucesso::before {
    content: ''; flex-shrink: 0; width: 1.5rem; height: 1.5rem; background: no-repeat center / contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%2317b26a'/%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.alerta-sucesso .alerta-fechar { top: 50%; transform: translateY(-50%); }
.alerta-texto { white-space: pre-line; }

.aviso-conta { margin: -.5rem 0 1.5rem; padding-left: 1.5rem; color: var(--titulo); background: no-repeat left .15rem / 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d2939' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-5M12 8h.01'/%3E%3C/svg%3E"); }

.universidade-vinculo legend { margin-bottom: .375rem; font-size: .9rem; font-weight: 500; color: var(--texto); }
.universidade-vinculo.com-erro legend { color: var(--erro); }
.universidade-vinculo .form-group { margin-bottom: 0; }
.cartao-opcao {
    display: flex; align-items: center; gap: 1rem; width: 100%; margin: 0; padding: 1rem 1.25rem;
    border: 1px solid var(--borda); border-radius: var(--raio-cartao); font-weight: 400; color: var(--titulo); cursor: pointer;
}
.cartao-opcao:hover { border-color: var(--foco-borda); }
.cartao-opcao:has(input:checked) { border: 2px solid var(--marca-primaria); }
.cartao-opcao-texto { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.cartao-opcao-titulo { font-size: 1.05rem; font-weight: 600; }
.cartao-opcao small { color: var(--texto); }
.cartao-opcao-selo { flex-shrink: 0; padding: .25rem .75rem; border-radius: var(--raio); background: var(--azul-claro); color: var(--primaria); font-weight: 500; }
.cartao-opcao input { flex-shrink: 0; width: 1.25rem; height: 1.25rem; margin: 0; accent-color: var(--marca-primaria); }
.com-erro .cartao-opcao { border-color: var(--erro); color: var(--titulo); }
.divisor-ou { display: flex; align-items: center; gap: .75rem; margin: .5rem 0; color: var(--texto); }
.divisor-ou::before, .divisor-ou::after { content: ''; flex: 1; border-top: 1px solid var(--borda); }

@media (max-width: 575.98px) {
    .cartao-opcao { flex-wrap: wrap; gap: .5rem .75rem; padding: .875rem 1rem; }
    .cartao-opcao-texto { flex-basis: calc(100% - 2rem); }
    .cartao-opcao-selo { order: 3; }
    .cartao-opcao input { order: 2; }
}

.grupo-radio-linha legend { margin-bottom: 1rem; font-size: 1rem; font-weight: 400; line-height: 1.6; color: var(--titulo); }
.grupo-radio-linha legend strong { font-weight: 700; }
.grupo-radio-linha .opcao-radio {
    display: inline-flex; flex-direction: row-reverse; margin: 0 4rem 0 0; padding: 0; border: 0; background: transparent;
}
.grupo-radio-linha .opcao-radio:has(input:checked) { background: transparent; }
.grupo-radio-linha .opcao-radio input { width: 1.25rem; height: 1.25rem; }
.grupo-radio.com-erro legend { color: var(--erro); }
.grupo-areas { margin-bottom: 1.5rem; }
.grupo-areas > legend { margin-bottom: 1rem; font-size: .95rem; font-weight: 400; color: var(--texto); }
.grupo-areas.com-erro > legend { color: var(--erro); }
.area-atuacao-linha { display: flex; align-items: center; gap: .5rem; }
.area-atuacao-linha select { flex: 1; min-width: 0; text-overflow: ellipsis; }
.remover-area {
    flex-shrink: 0; width: var(--remover-area-tamanho); height: var(--remover-area-tamanho); padding: 0;
    border: 1px solid var(--borda); border-radius: var(--raio); background: var(--branco) no-repeat center / 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23344054' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M3 6h18M8 6V4h8v2M6 6l1 14h10l1-14M10 10v6M14 10v6'/%3E%3C/svg%3E");
}
.remover-area:hover:not(:disabled) { border-color: var(--foco-borda); }
.remover-area:disabled { opacity: .4; cursor: not-allowed; }
.adicionar-area { padding: 0; border: 0; background: transparent; color: var(--primaria); font-weight: 500; }
.adicionar-area:hover:not(:disabled) { text-decoration: underline; }
.adicionar-area:disabled { color: var(--placeholder); cursor: not-allowed; }
.grupo-areas-interesse .form-group { margin-bottom: .75rem; }

@media (max-width: 575.98px) {
    .grupo-radio-linha .opcao-radio { margin-right: 2.5rem; }
}

.avisos { position: fixed; top: 1.5rem; z-index: 1050; width: 90%; max-width: 480px; transform: translateX(-50%); }
.avisos-coluna { left: 25%; }
.avisos-centro { left: 50%; top: calc(var(--faixa-altura) + 1rem); }
.avisos .alerta { margin-bottom: .75rem; transition: opacity .3s; box-shadow: var(--sombra-aviso); }
.avisos .alerta.saindo { opacity: 0; }
.alerta-com-fechar { position: relative; padding-right: 2.75rem; }
.alerta-fechar {
    position: absolute; top: .5rem; right: .75rem; padding: 0 .25rem;
    border: 0; background: transparent; color: inherit; font-size: 1.5rem; line-height: 1; opacity: .7; cursor: pointer;
}
.alerta-fechar:hover, .alerta-fechar:focus { opacity: 1; }

@media (max-width: 991.98px) {
    .avisos-coluna { left: 50%; }
    .avisos-coluna { top: 1rem; }
}

.pagina-erro { display: flex; flex-direction: column; min-height: 100vh; }
.erro-topo {
    display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.75rem;
    border-bottom: 1px solid var(--erro-pagina-borda);
}
.erro-topo-logo { height: 2.5rem; width: auto; }
.erro-conteudo {
    flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; padding: 2rem 1.5rem;
}
.erro-imagem { width: 100%; max-width: 300px; height: auto; margin-bottom: .75rem; }
.erro-selo {
    display: inline-block; margin-bottom: .75rem; padding: .2rem .65rem; border-radius: 999px;
    font-size: .75rem; font-weight: 500; color: var(--marca-magenta); background: var(--marca-magenta-fundo);
}
.erro-titulo { font-size: 1.75rem; font-weight: 600; line-height: 1.25; color: var(--marca-primaria); margin-bottom: .5rem; }
.erro-texto { max-width: 26rem; color: var(--erro-pagina-texto); line-height: 1.6; margin-bottom: 1.25rem; }
.erro-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.erro-acoes .botao { height: 2.5rem; min-width: 0; padding: 0 1rem; gap: .5rem; font-size: .95rem; }
.erro-faixa { height: 4px; background: linear-gradient(to right, var(--marca-primaria) 75%, var(--marca-magenta) 75%); }
.erro-rodape-texto {
    display: flex; flex-wrap: wrap; justify-content: space-between; gap: .375rem 1rem;
    padding: .75rem 1.75rem; background: var(--erro-pagina-rodape-fundo); font-size: .75rem; color: var(--erro-pagina-rodape-texto);
}
.erro-rodape-link, .erro-rodape-link:hover { font-weight: 500; color: var(--erro-pagina-rodape-texto); }

@media (min-width: 992px) {
    .erro-topo { padding: 1.25rem 3rem; }
    .erro-topo-logo { height: 3.25rem; }
    .erro-imagem { max-width: 440px; margin-bottom: 1.25rem; }
    .erro-selo { font-size: .9rem; padding: .3rem .9rem; margin-bottom: 1rem; }
    .erro-titulo { font-size: 2.5rem; margin-bottom: .75rem; }
    .erro-texto { max-width: 34rem; font-size: 1.15rem; margin-bottom: 1.75rem; }
    .erro-acoes { gap: .75rem; }
    .erro-acoes .botao { height: 3.25rem; padding: 0 1.75rem; font-size: 1.1rem; }
    .erro-rodape-texto { padding: 1rem 3rem; font-size: .875rem; }
}
@media (max-width: 991.98px) {
    .erro-topo { padding: .75rem 1rem; }
    .erro-topo-logo { height: 1.9rem; }
    .erro-rodape-texto { padding: .75rem 1rem; justify-content: center; text-align: center; }
}

.lista-arquivos { margin-bottom: 1.5rem; }
.lista-arquivos-titulo { font-size: 1.125rem; font-weight: 600; color: var(--titulo); }
.lista-arquivos ul, .lista-documentos { list-style: none; padding: 0; margin: 0; border: 1px solid var(--borda); border-radius: var(--raio); }
.lista-arquivos li, .lista-documentos li { display: flex; align-items: center; gap: .75rem; padding: .875rem 1rem; }
.lista-arquivos li + li, .lista-documentos li + li { border-top: 1px solid var(--divisoria); }
.arquivo-nome { flex: 1; }
.arquivo-icone {
    flex-shrink: 0; width: 18px; height: 22px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22'%3E%3Cpath fill='%231570ef' d='M2 0h9l7 7v13a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2z'/%3E%3Cpath fill='%23fff' fill-opacity='.6' d='M11 0v5a2 2 0 0 0 2 2h5z'/%3E%3Cpath fill='%23fff' d='M4 11h10v1.5H4zM4 15h7v1.5H4z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.lista-documentos { margin-bottom: 1.5rem; color: var(--titulo); }
.lista-documentos li { align-items: flex-start; }

.confirmar-saida, .cancelar-atualizacao { max-width: none; }
.confirmar-saida .acoes, .cancelar-atualizacao .acoes { flex-wrap: wrap; gap: .75rem; }
.confirmar-saida .acoes .botao, .cancelar-atualizacao .acoes .botao { flex: 1 1 auto; }

.confirmar-chave-pix, .trocar-senha { max-width: 560px; margin-top: 10vh; margin-right: auto; margin-left: auto; }
@media (max-width: 575.98px) {
    .confirmar-chave-pix, .trocar-senha { margin-top: 1rem; }
}
