/*
 * Cores semânticas (não são pele — ficam fixas em todo clone).
 * Verde = sucesso/ativo, vermelho = perigo, âmbar = atenção, dourado = destaque, roxo = admin.
 * Recalibradas pra ler bem em fundo claro (mais escuras/saturadas do que a versão de fundo escuro).
 */

body {
    background-color: #faf4ee;
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* Evita o rodapé grudar no header em página com pouco conteúdo (categoria vazia, telas de login, etc.) */
.main-conteudo {
    min-height: 80vh;
}

.card,
.card-admin {
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, .05);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(20, 15, 10, .04), 0 8px 24px -4px rgba(20, 15, 10, .06);
}

.text-secundario {
    color: #6b6560;
}

.badge-sucesso {
    background: rgba(34, 197, 94, .12);
    color: #15803d;
    border: 1px solid rgba(34, 197, 94, .3);
    border-radius: 999px;
}

.badge-perigo {
    background: rgba(239, 68, 68, .12);
    color: #dc2626;
    border: 1px solid rgba(239, 68, 68, .3);
    border-radius: 999px;
}

.badge-atencao {
    background: rgba(245, 158, 11, .12);
    color: #b45309;
    border: 1px solid rgba(245, 158, 11, .3);
    border-radius: 999px;
}

.badge-destaque {
    background: rgba(192, 133, 82, .14);
    color: #93582f;
    border: 1px solid rgba(192, 133, 82, .35);
    border-radius: 999px;
}

.badge-admin {
    background: rgba(124, 58, 237, .12);
    color: #6d28d9;
    border: 1px solid rgba(124, 58, 237, .3);
    border-radius: 999px;
}

.btn-sucesso {
    background-color: #22c55e;
    border-color: #22c55e;
    color: #06210f;
}

.btn-perigo {
    background-color: #ef4444;
    border-color: #ef4444;
    color: #fff;
}

.btn-atencao {
    background-color: #f59e0b;
    border-color: #f59e0b;
    color: #1a1206;
}

.flex-truncate {
    min-width: 0;
}

/* Respiro mínimo acima dos cards estreitos e centralizados (login/cadastro, recuperar/redefinir senha) */
.col-md-5.mx-auto {
    margin-top: 10vh;
}

/* Transição suave entre os painéis de login/cadastro em usuario/_form-auth.php */
.auth-painel {
    transition: opacity .2s ease, transform .2s ease;
    opacity: 1;
    transform: translateY(0);
}

.auth-painel.auth-saindo {
    opacity: 0;
    transform: translateY(-6px);
}

.auth-painel.auth-entrando {
    opacity: 0;
    transform: translateY(6px);
}

/* Inputs mais arredondados e com anel de foco na cor de marca em vez do azul padrão do Bootstrap */
.form-control,
.form-select {
    border-radius: 10px;
    border-color: rgba(0, 0, 0, .12);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--cor-primaria);
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--cor-primaria) 18%, transparent);
}

.form-floating > label {
    color: #6b6560;
    transition: transform .15s ease-in-out, background-color .15s ease-in-out;
}

/* Label "cortando" a borda de cima quando flutua, tipo ---Nome---, em vez de ficar solto dentro da caixa */
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label {
    top: 0;
    left: .5rem;
    height: auto;
    width: auto;
    max-width: none;
    padding: 0 .4rem;
    background-color: #fff;
    border-radius: 4px;
    transform: translateY(-50%) scale(.82);
}

/* Botão de mostrar/ocultar senha embutido no próprio campo */
.tem-toggle-senha .form-control {
    padding-right: 2.75rem;
}

.btn-toggle-senha {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #6b6560;
    z-index: 5;
}

.btn-toggle-senha:hover {
    color: var(--cor-primaria);
}

/* Autofill do Chrome/Edge pinta o campo de azul por padrão — força de volta pro branco do tema */
.form-control:-webkit-autofill,
.form-control:-webkit-autofill:hover,
.form-control:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
    -webkit-text-fill-color: #1a1a1a;
    transition: background-color 5000s ease-in-out 0s;
}

/* Safari iOS dá zoom automático ao focar input com font-size < 16px e não volta sozinho */
@media (max-width: 767.98px) {
    input,
    select,
    textarea {
        font-size: 16px;
    }
}
