:root {
    /* Cores principais */
    --cor-principal: #0151A9;
    --cor-principal-escura: #1b2280;

    /* Cores secundárias e status */
    --cor-secundaria: #F4F2EE;
    --cor-active: #b9dbe6;
    --cor-warning: #f7d690;
    --cor-danger: #FF492D;
    --cor-info: #88d3dd;
    --cor-success: #bfdfbbcc;

    /* Cores texto/interface */
    --cor-texto: #606062;
    --cor-hover: #86b2dd;
    --cor-hover-texto: #444446;
    --cor-borda: #dededf;
    --cor-fundo: #f0f2f5;
    --cor-primary: #0151A9;
    --cor-primary-escuro: #2980b9;

    /* Extras */
    --cor-sidebar: #f0f4f9;
    --card-background: #ffffff;

    /* Sombras */
    --shadow-light: 0 4px 12px rgba(0, 0, 0, 0.08);
    --shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.12);

    /* Bordas */
    --border-color: #e9ecef;
    --border-radius: 12px;

    /* Fonte */
    --fonte-padrao: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --fonte-size-padrao:  1rem;
    --fonte-size-mobile: 1rem;

    /* Texto */
    --text-color: #2c3e50;
}

body {
    background-color: var(--cor-fundo);
    color: var(--cor-texto);
    font-family: var(--fonte-padrao);
    font-weight: 500;
    font-size: var(--fonte-size-padrao);
    line-height: 1.6;
    margin: 0;
}

.container {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.page-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 3rem;
    color: var(--text-color);
}

/* Utilitários de cores */
.text-create { color: var(--cor-principal) !important; }
.text-primary { color: var(--cor-primary) !important; }

.bg-danger { background-color: var(--cor-danger) !important; color: black !important; }
.bg-active { background-color: var(--cor-active) !important; color: black !important; }
.bg-warning { background-color: var(--cor-warning) !important; color: black !important; }
.bg-success { background-color: var(--cor-success) !important; color: white !important; }
.bg-create { background-color: var(--cor-principal) !important; color: white !important; }
.bg-danger-escura { background-color: #8b0000 !important; color: white !important; }
.bg-success-escura { background-color: rgb(15, 134, 45) !important; color: white !important; }
.bg-primary { background-color: var(--cor-primary) !important; color: white !important; }

hr { margin: 0; }

/* ===== Responsividade ===== */

/* Tablets grandes (<= 992px) */
@media (max-width: 992px) {
    .page-title {
        font-size: 2.2rem;
        margin-bottom: 2rem;
    }
    .container {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
}

/* Tablets pequenos e celulares grandes (<= 768px) */
@media (max-width: 768px) {
    body {
        font-size: var(--fonte-size-mobile);
    }
    .page-title {
        font-size: 1.8rem;
    }
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    table {
        font-size: 0.9rem;
    }
}

/* Celulares pequenos (<= 576px) */
@media (max-width: 576px) {
    .page-title {
        font-size: 1.6rem;
    }
    .container {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }
    .btn, button, input, select, textarea {
        font-size: 0.9rem;
    }
}

