/* Estilos da tela de instalação e da tela de login — reaproveitam os
   tokens definidos em style.css (cores, tipografia). */

.pagina-instalacao {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 16px;
    background: var(--cor-fundo);
    background-image: radial-gradient(circle at top left, rgba(47,111,94,0.06), transparent 45%);
}

.instalacao__caixa {
    width: 100%;
    max-width: 560px;
    background: var(--cor-superficie);
    border-radius: var(--raio-modal);
    border: 1px solid var(--cor-borda);
    box-shadow: 0 24px 60px rgba(32,46,41,0.10);
    overflow: hidden;
}

.instalacao__caixa--login { max-width: 420px; }

.instalacao__topo {
    padding: 28px 32px 20px;
    border-bottom: 1px solid var(--cor-borda);
    text-align: center;
}

.instalacao__topo .topbar__mark {
    margin: 0 auto 10px;
}

.instalacao__topo h1 {
    font-size: 1.3rem;
}

.instalacao__topo p {
    margin-top: 6px;
}

.instalacao__passos {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 14px;
    margin: 0;
    padding: 16px 32px;
    background: var(--cor-superficie-alt);
    font-size: 0.78rem;
    color: var(--cor-tinta-fraca);
    border-bottom: 1px solid var(--cor-borda);
}

.instalacao__passos li.is-atual {
    color: var(--cor-primaria-escura);
    font-weight: 700;
}

.instalacao__passos li.is-concluido {
    color: var(--cor-tinta-suave);
}

.instalacao__passos li.is-concluido::after {
    content: ' ✓';
}

.instalacao__conteudo {
    padding: 28px 32px 32px;
}

.instalacao__conteudo h2 {
    margin-bottom: 8px;
}

.instalacao__conteudo > .hint {
    margin-bottom: 18px;
}

.form-instalacao {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 6px;
}

.form-instalacao .btn {
    align-self: flex-start;
    margin-top: 6px;
}

.lista-requisitos {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.lista-requisitos li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.88rem;
    padding: 8px 12px;
    border-radius: var(--raio-botao);
    background: var(--cor-superficie-alt);
}

.requisito__icone {
    font-weight: 700;
    width: 20px;
    text-align: center;
}

.requisito--ok .requisito__icone { color: var(--cor-primaria); }
.requisito--falha { background: var(--cor-erro-fraca); }
.requisito--falha .requisito__icone { color: var(--cor-erro); }

code {
    background: var(--cor-superficie-alt);
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 0.85em;
}
