/* #60 — Design system multi-tenant (docs/systemDesign.md): este arquivo NÃO contém valores de
   marca. O bloco :root abaixo é apenas o FALLBACK de pré-render (tema base Revelar); em runtime o
   MainLayout injeta as --hp-* resolvidas pelo TenantThemeService (base + branding do tenant). */
:root {
    --hp-primary: #68344c;
    --hp-tertiary: #7A1050;
    --hp-secondary: #B88F6E;
    --hp-text: #101010;
    --hp-muted: #707070;
    --hp-appbar-gradient: linear-gradient(135deg, var(--hp-primary) 0%, var(--hp-tertiary) 100%);
}

html, body {
    font-family: 'Roboto', sans-serif;
    background-color: #F5F5F5;
    color: var(--hp-text);
}

h1, h2, h3, h4, h5, h6,
.mud-typography-h1, .mud-typography-h2, .mud-typography-h3,
.mud-typography-h4, .mud-typography-h5, .mud-typography-h6,
.mud-typography-subtitle1, .mud-typography-subtitle2 {
    font-family: 'Poppins', sans-serif;
}

/* AppBar */
.mud-appbar {
    background: var(--hp-appbar-gradient) !important;
}

/* Nav menu */

/* #64 — precisa ser CSS global pra realmente aplicar no `.mud-drawer` (`::deep` do CSS isolado não
   alcança o elemento de um componente filho). Evita que
   o "scroll anchoring" padrão do navegador compense sozinho quando um MudNavGroup expande/colapsa
   acima da posição visível. */
.mud-drawer {
    overflow-anchor: none;
}

.mud-nav-link.active {
    background-color: color-mix(in srgb, var(--hp-primary) 8%, transparent) !important;
    color: var(--hp-primary) !important;
    border-left: 3px solid var(--hp-primary);
}

.mud-nav-link:hover {
    background-color: color-mix(in srgb, var(--hp-secondary) 10%, transparent) !important;
}

/* Menu lateral: itens de 1º nível (grupos E links soltos, ex.: Painel/Cultura/Comunicados/Canal de Denúncias)
   todos em negrito; itens de submenu em peso normal — inclusive o ativo, que só ganha cor/borda (o
   `.active` do MudBlazor sobe o peso pra 500 e fazia só alguns itens parecerem "mais fortes"). */
.mud-navmenu > .mud-nav-item > .mud-nav-link,
.mud-navmenu > .mud-nav-item > .mud-nav-link .mud-nav-link-text,
.mud-navmenu > .mud-nav-group > .mud-nav-link,
.mud-navmenu > .mud-nav-group > button,
.mud-navmenu > .mud-nav-group > .mud-nav-link .mud-nav-link-text,
.mud-navmenu > .mud-nav-group > button .mud-nav-link-text {
    font-weight: 600;
}

.mud-navmenu .mud-nav-group .mud-collapse-container .mud-nav-link,
.mud-navmenu .mud-nav-group .mud-collapse-container .mud-nav-link .mud-nav-link-text {
    font-weight: 400;
}

/* Cards */
.mud-card {
    border-radius: 12px !important;
    transition: box-shadow 0.2s ease;
}

.mud-card:hover {
    box-shadow: 0 4px 20px color-mix(in srgb, var(--hp-primary) 12%, transparent) !important;
}

/* Buttons */
.mud-button-filled.mud-button-filled-primary {
    background: var(--hp-appbar-gradient) !important;
}

.mud-button-filled.mud-button-filled-secondary {
    background: linear-gradient(135deg, var(--hp-secondary), color-mix(in srgb, var(--hp-secondary) 80%, white)) !important;
}

/* Tables */
.mud-table-head .mud-table-cell {
    background-color: var(--hp-primary) !important;
    color: #FFFFFF !important;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
}

.mud-table-row:hover td {
    background-color: color-mix(in srgb, var(--hp-secondary) 8%, transparent) !important;
}

/* Chips e badges */
.mud-chip.mud-chip-color-primary {
    background-color: color-mix(in srgb, var(--hp-primary) 12%, transparent) !important;
    color: var(--hp-primary) !important;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #F5F5F5; }
::-webkit-scrollbar-thumb { background: var(--hp-secondary); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--hp-primary); }

/* Login page */
.login-container {
    min-height: 100vh;
    background: linear-gradient(135deg, var(--hp-primary) 0%, var(--hp-tertiary) 50%, var(--hp-secondary) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-card {
    border-radius: 16px !important;
    overflow: hidden;
}

/* Blazor error boundary */
.blazor-error-boundary {
    background: #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

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

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