/*
 * Compartilhado por todas as páginas anônimas de Conta (Entrar, TrocaObrigatoria,
 * EsqueciSenha, RedefinirSenha, Bloqueado) que usam _LayoutConta.cshtml.
 * Segue o mockup "Autenticação - DevTrack" (Stitch), traduzido para os tokens --dt-*
 * já existentes em devtrack-theme.css (sem introduzir cores/fontes novas).
 */
.dt-card-pad {
    max-width: 55rem;
}

.dt-conta-shell {
    background-color: var(--dt-bg);
}

.dt-conta-card {
    box-shadow: var(--dt-shadow-md);
    padding: var(--dt-xl);
}

.dt-conta-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--dt-sm);
    margin-bottom: var(--dt-md);
}

.dt-conta-brand-title {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--dt-primary);
    margin: 0;
}

.dt-conta-subtitle {
    text-align: center;
    color: var(--dt-on-variant);
    font-size: 0.8125rem;
    margin-top: var(--dt-xs);
    margin-bottom: 0;
}

.dt-conta-badge-seguranca {
    display: inline-flex;
    align-items: center;
    gap: var(--dt-xs);
    padding: var(--dt-xs) var(--dt-md);
    border-radius: 9999px;
    background-color: var(--dt-surface-container);
    color: var(--dt-on-variant);
    font-size: 0.75rem;
    font-weight: 500;
}

.dt-badge-ativo {
    background-color: var(--dt-ativo-bg);
    color: var(--dt-ativo-fg);
    border-radius: var(--dt-radius-sm);
    padding: 2px var(--dt-xs);
    font-size: 0.8125rem;
    text-transform: uppercase;
}

.dt-badge-inativo {
    background-color: var(--dt-inativo-bg);
    color: var(--dt-inativo-fg);
    border-radius: var(--dt-radius-sm);
    padding: 2px var(--dt-xs);
    font-size: 0.8125rem;
    text-transform: uppercase;
}

/*
 * Segurança da conta / Configuração do aplicativo autenticador (feature 017).
 * Segue o layout do mockup "Configuração de 2FA - DevTrack" (Stitch, mesmo design system
 * "DevTrack Utility System"), traduzido dos tokens do mockup para os --dt-* já existentes
 * em devtrack-theme.css (sem introduzir cores/fontes novas). Usado em
 * Views/SegurancaConta/*.cshtml (telas autenticadas, layout padrão), por isso este arquivo é
 * referenciado explicitamente via @section Styles ali, em vez de herdado do _LayoutConta.
 */

/* Cabeçalho do cartão "Aplicativo Autenticador": título + status à esquerda, ação à direita. */
.dt-2fa-card-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--dt-md);
    border-bottom: 1px solid var(--dt-border);
    padding-bottom: var(--dt-md);
    margin-bottom: var(--dt-lg);
}

.dt-2fa-status-linha {
    display: flex;
    align-items: center;
    gap: var(--dt-sm);
    margin-top: var(--dt-xs);
}

/* Grade do passo a passo de configuração: passos numerados à esquerda, QR Code à direita
   (3/2 colunas em telas largas, empilhado em telas estreitas — mesma proporção do mockup). */
.dt-setup-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--dt-lg);
    align-items: start;
}

@media (min-width: 992px) {
    .dt-setup-grid {
        grid-template-columns: 3fr 2fr;
    }
}

.dt-setup-passos {
    display: flex;
    flex-direction: column;
    gap: var(--dt-lg);
}

.dt-setup-passo {
    display: flex;
    gap: var(--dt-md);
}

.dt-step-numero {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 9999px;
    background-color: var(--dt-surface-container);
    border: 1px solid var(--dt-border);
    color: var(--dt-on-variant);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.8125rem;
    flex-shrink: 0;
}

/* Painel do QR Code: fundo levemente destacado, código branco centralizado + legenda. */
.dt-qrcode-painel {
    background-color: var(--dt-surface-low);
    border: 1px solid var(--dt-border);
    border-radius: var(--dt-radius);
    padding: var(--dt-md);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.dt-qrcode-wrapper {
    width: 12rem;
    height: 12rem;
    background-color: #ffffff;
    border: 1px solid var(--dt-border);
    border-radius: var(--dt-radius-sm);
    padding: var(--dt-sm);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .dt-qrcode-wrapper svg {
        width: 100%;
        height: 100%;
    }

.dt-qrcode-legenda {
    font-size: 0.75rem;
    color: var(--dt-on-variant);
    margin-top: var(--dt-md);
    text-align: center;
}

/* Chave manual: linha com a chave à esquerda e o botão de copiar à direita (passo 2). */
.dt-chave-manual-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dt-sm);
    margin-top: var(--dt-sm);
    padding: var(--dt-sm) var(--dt-md);
    background-color: var(--dt-surface-low);
    border: 1px solid var(--dt-border);
    border-radius: var(--dt-radius-sm);
}

.dt-chave-manual {
    font-family: "JetBrains Mono", "Courier New", monospace;
    font-size: 0.875rem;
    color: var(--dt-on-variant);
    letter-spacing: 0.04em;
    word-break: break-all;
}

/* Campo do código de 6 dígitos: centralizado, espaçado, monoespaçado (passo 3). */
.dt-input-codigo {
    max-width: 8rem;
    text-align: center;
    letter-spacing: 0.3em;
    font-size: 1.125rem;
    font-family: "JetBrains Mono", "Courier New", monospace;
}

/* Códigos de recuperação: painel com fundo levemente destacado + grade densa (US3). */
.dt-codigos-recuperacao-painel {
    background-color: var(--dt-surface-low);
    border: 1px solid var(--dt-border);
    border-radius: var(--dt-radius);
    padding: var(--dt-md);
}

.dt-lista-codigos-recuperacao {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--dt-sm);
    list-style: none;
    padding: 0;
    margin: 0;
}

@media (min-width: 768px) {
    .dt-lista-codigos-recuperacao {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.dt-lista-codigos-recuperacao li {
    padding: var(--dt-sm) var(--dt-md);
    background-color: #ffffff;
    border: 1px solid var(--dt-border);
    border-radius: var(--dt-radius-sm);
    text-align: center;
    font-family: "JetBrains Mono", "Courier New", monospace;
}

@media print {
    .dt-sidebar, .dt-appbar, .dt-bottom-nav, #btnContinuar, .form-check, .dt-acoes-codigos-recuperacao {
        display: none !important;
    }

    .dt-lista-codigos-recuperacao {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
