:root {
    /* Identidade & Cores Globais */
    --cor-primaria: #2563eb;
    --cor-primaria-hover: #1d4ed8;
    --cor-primaria-texto: #ffffff;
    --cor-fundo: #f8fafc;
    --cor-card-bg: #ffffff;
    --cor-borda: #e2e8f0;
    --cor-texto: #1e293b;
    --cor-texto-suave: #64748b;
    --cor-branco: #ffffff;
    
    /* Barra Lateral / Sidebar */
    --cor-menu-bg: #1d2531;
    --cor-menu-texto: #8b9eb0;
    --cor-menu-hover: rgba(255, 255, 255, 0.08);
    
    /* Configurações do Logo no Menu */
    --logo-max-height: 36px;
    --logo-max-width: 100%;
    --logo-bg-color: #ffffff;
    --logo-padding: 4px 8px;
    --logo-border-radius: 6px;

    /* Botão Secundário */
    --btn-secundario-bg: #1e293b;
    --btn-secundario-hover: #0f172a;
    --btn-secundario-texto: #ffffff;
    --btn-secundario-borda: #334155;

    /* Botão Sucesso */
    --btn-sucesso-bg: #10b981;
    --btn-sucesso-hover: #059669;
    --btn-sucesso-texto: #ffffff;

    /* Botão Perigo / Excluir */
    --btn-perigo-bg: #ef4444;
    --btn-perigo-hover: #dc2626;
    --btn-perigo-texto: #ffffff;

    /* Botão Aviso / Pendente */
    --btn-aviso-bg: #f59e0b;
    --btn-aviso-hover: #d97706;
    --btn-aviso-texto: #ffffff;

    /* Botão Info / Visualizar */
    --btn-info-bg: #0284c7;
    --btn-info-hover: #0369a1;
    --btn-info-texto: #ffffff;

    /* Tabelas */
    --tabela-cabecalho-bg: #f8fafc;
    --tabela-cabecalho-texto: #475569;
    --tabela-hover-bg: #f1f5f9;
    --tabela-zebra-bg: #f8fafc;
    --fonte-tamanho-th: 12px;
    --fonte-peso-th: 700;
    --fonte-tamanho-td: 13px;

    /* Tipografia Completa: Fontes, Tamanhos e Pesos */
    --fonte-familia-base: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --fonte-tamanho-base: 14px;
    --fonte-peso-base: 400;

    /* Títulos H1 */
    --fonte-familia-h1: inherit;
    --fonte-tamanho-h1: 24px;
    --fonte-peso-h1: 700;
    --cor-h1: #0f172a;

    /* Títulos H2 */
    --fonte-familia-h2: inherit;
    --fonte-tamanho-h2: 20px;
    --fonte-peso-h2: 700;
    --cor-h2: #0f172a;

    /* Títulos H3 */
    --fonte-familia-h3: inherit;
    --fonte-tamanho-h3: 16px;
    --fonte-peso-h3: 600;
    --cor-h3: #1e293b;

    /* Títulos H4 / H5 */
    --fonte-familia-h4: inherit;
    --fonte-tamanho-h4: 14px;
    --fonte-peso-h4: 600;
    --cor-h4: #1e293b;

    /* Formulários & Labels */
    --fonte-tamanho-label: 13px;
    --fonte-peso-label: 700;
    --cor-label: #0f172a;
    --fonte-tamanho-input: 14px;

    /* Menu Lateral */
    --fonte-tamanho-menu: 14px;
    --fonte-peso-menu: 500;
    --fonte-tamanho-menu-categoria: 11px;

    /* Badges & Tags */
    --fonte-tamanho-badge: 11px;
    --fonte-peso-badge: 700;

    /* Textos Suaves & Small */
    --fonte-tamanho-small: 12px;
    
    /* Botões */
    --fonte-tamanho-btn: 14px;
    --fonte-peso-btn: 700;

    /* Estrutura & Sombras */
    --raio-borda: 10px;
    --sombra-card: 0 1px 3px 0 rgba(15, 23, 42, 0.04), 0 1px 2px -1px rgba(15, 23, 42, 0.03);
    --sombra-elevada: 0 10px 25px -5px rgba(15, 23, 42, 0.08), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
    --sombra-modal: 0 25px 50px -12px rgba(15, 23, 42, 0.25);
    --transicao-padrao: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

*, *::before, *::after { 
    box-sizing: border-box; 
}

::selection {
    background-color: #3b82f6;
    color: #ffffff;
}

/* Scrollbars customizadas e modernas */
::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

body {
    font-family: var(--fonte-familia-base);
    font-size: var(--fonte-tamanho-base);
    font-weight: var(--fonte-peso-base);
    margin: 0;
    background-color: var(--cor-fundo);
    color: var(--cor-texto);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, .titulo-h1 {
    font-family: var(--fonte-familia-h1);
    font-size: var(--fonte-tamanho-h1);
    font-weight: var(--fonte-peso-h1);
    color: var(--cor-h1);
    letter-spacing: -0.02em;
}

h2, .titulo-h2 {
    font-family: var(--fonte-familia-h2);
    font-size: var(--fonte-tamanho-h2);
    font-weight: var(--fonte-peso-h2);
    color: var(--cor-h2);
    letter-spacing: -0.015em;
}

h3, .titulo-h3 {
    font-family: var(--fonte-familia-h3);
    font-size: var(--fonte-tamanho-h3);
    font-weight: var(--fonte-peso-h3);
    color: var(--cor-h3);
}

h4, .titulo-h4, h5, .titulo-h5 {
    font-family: var(--fonte-familia-h4);
    font-size: var(--fonte-tamanho-h4);
    font-weight: var(--fonte-peso-h4);
    color: var(--cor-h4);
}

p {
    font-size: var(--fonte-tamanho-base);
    line-height: 1.5;
}

small, .texto-pequeno {
    font-size: var(--fonte-tamanho-small);
}

.texto-suave {
    color: var(--cor-texto-suave);
}