*,
*::before,
*::after {
    box-sizing: border-box;
}

:root,
html[data-theme="light"] {
    --primaria: #0e7c86;
    --primaria-hover: #0a636b;
    --primaria-on: #ffffff;
    --navy: #1b3a4b;
    --titulos: #1b3a4b;
    --recompensa: #e8a317;
    --fundo: #f4f8fa;
    --thead: #f8fafb;
    --superficie: #ffffff;
    --texto: #0f2a36;
    --muted: #5a7380;
    --sucesso: #2f9e7a;
    --erro: #c45c5c;
    --borda: #e0e7eb;
    --hover: #f8fafb;
    --selecao: rgba(14, 124, 134, 0.08);
    --sombra: 0 4px 12px rgba(15, 42, 54, 0.03);
    --sidebar: #1b3a4b;
    --sidebar-texto: #a9bcc6;
    --sidebar-marca: #ffffff;
    --sidebar-ativo: #ffffff;
    --sidebar-ativo-fundo: rgba(14, 124, 134, 0.2);
    --sidebar-borda: transparent;
    --foco-anel: rgba(14, 124, 134, 0.15);
    --badge-ok-fundo: rgba(47, 158, 122, 0.1);
    --badge-ok-borda: transparent;
    --badge-off-fundo: rgba(90, 115, 128, 0.12);
    --badge-off-borda: transparent;
    color-scheme: light;
}

html[data-theme="dark"] {
    --primaria: #20a3af;
    --primaria-hover: #1a8a94;
    --primaria-on: #0b181e;
    --navy: #ebf1f5;
    --titulos: #ebf1f5;
    --recompensa: #f0b831;
    --fundo: #0b181e;
    --thead: #0b181e;
    --superficie: #142933;
    --texto: #c2d1d9;
    --muted: #7a96a6;
    --sucesso: #38b88f;
    --erro: #e06666;
    --borda: #233a47;
    --hover: #1a3340;
    --selecao: rgba(32, 163, 175, 0.16);
    --sombra: 0 8px 24px rgba(0, 0, 0, 0.2);
    --sidebar: #142933;
    --sidebar-texto: #7a96a6;
    --sidebar-marca: #ebf1f5;
    --sidebar-ativo: #20a3af;
    --sidebar-ativo-fundo: rgba(32, 163, 175, 0.15);
    --sidebar-borda: #233a47;
    --foco-anel: rgba(32, 163, 175, 0.25);
    --badge-ok-fundo: rgba(56, 184, 143, 0.15);
    --badge-ok-borda: rgba(56, 184, 143, 0.3);
    --badge-off-fundo: rgba(122, 150, 166, 0.15);
    --badge-off-borda: rgba(122, 150, 166, 0.3);
    color-scheme: dark;
}

html,
body {
    margin: 0;
    min-height: 100%;
    font-family: Outfit, "Segoe UI", sans-serif;
    background: #071821;
    color: #e8f1f5;
}

a {
    color: inherit;
}

h1:focus {
    outline: none;
}

#blazor-error-ui {
    display: none;
}

.blazor-error-boundary {
    background: #b32121;
    padding: 1rem;
    color: white;
}
