/* ==================================================================================================
   Ajustes de base que nao pertencem ao tema.
   --------------------------------------------------------------------------------------------------
   As cores do app vivem em css/theme.css, que carrega depois deste arquivo. **Nada de cor de marca
   aqui.** O template do Blazor trazia `.btn-primary` e `a` com azul literal, e como este arquivo vem
   depois do Bootstrap, aquelas declaracoes venciam a variavel `--bs-btn-bg` que o tema define — o
   botao continuava azul por mais que o tema fosse verde. Foram removidas; se uma cor precisar voltar
   a ser declarada, o lugar e o tema.
   ================================================================================================== */

html, body {
    font-family: 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1:focus {
    outline: none;
}

/* ---- Validacao ---- */
.valid.modified:not([type=checkbox]) {
    outline: 1px solid var(--ag-leaf-mid, #3E7D50);
}

.invalid {
    outline: 1px solid var(--bs-danger, #dc3545);
}

.validation-message {
    color: var(--bs-danger, #dc3545);
}

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* ---- Erro nao tratado ---- */

/* Barra de falha do circuito (`#blazor-error-ui`, em MainLayout.razor).

   **`display: none` e o estado NORMAL dela.** Quem a mostra e o proprio runtime do Blazor, ao perder
   o circuito. Sem esta regra o `div` fica visivel em toda pagina, o tempo todo — e o efeito nao e so
   feio: a barra deixa de significar alguma coisa. Quando o circuito cair de verdade, o usuario vera
   exatamente o que ja via, e nao vai recarregar.

   Foi o que aconteceu aqui: o bloco veio do template do Blazor, se perdeu na limpeza que tirou as
   cores literais deste arquivo, e o defeito passou despercebido porque a barra sem estilo nenhum
   renderiza no fim do fluxo do documento, abaixo da dobra.

   **Valores literais, sem token do tema, de proposito.** Esta barra tem de aparecer justamente nas
   situacoes em que algo deu errado — inclusive `css/theme.css` nao ter carregado. Uma barra de erro
   que depende do tema para ser legivel e uma barra de erro que some quando mais se precisa dela. */
#blazor-error-ui {
    color-scheme: light only;
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    box-sizing: border-box;
    padding: .6rem 1.25rem .7rem 1.25rem;
    background: #FEF6E7;
    color: #8A5A0B;
    border-top: 1px solid #E8CE95;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, .2);
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: .75rem;
    top: .5rem;
}

/* Superficie do `<ErrorBoundary>`, que e outra coisa: aquela troca o conteudo de um trecho da tela
   que lancou; esta barra fala do circuito inteiro. */
.blazor-error-boundary {
    background: #b32121;
    padding: 1rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "Ocorreu um erro."
}

/* As classes `.ag-auth-*` moravam aqui por herança da Fase 2, antes de existir tema — e usavam token
   de marca, contrariando a regra escrita no topo deste arquivo. Mudaram para `css/theme.css`, junto
   das demais superfícies do app. */
