:root {
    /* Cores principais */
    --cor-primaria:      #949494;
    --cor-secundaria:    #326295;
    --cor-fundo:         #e3e3e3;
    --cor-texto:         #212529;

    /* Cores de feedback */
    --cor-sucesso:       #27ae60;
    --cor-perigo:        #e74c3c;
    --cor-aviso:         #f39c12;

    /* Tabelas */
    --cor-tabela-header: #083b54;

    /* Tipografia */
    --fonte-familia:     'Poppins', system-ui, sans-serif;
    --tamanho-fonte:     14px;

    /* Layout */
    --raio-borda:        6px;
}

/* ── Corpo ── */
body {
    background-color: var(--cor-fundo);
    color: var(--cor-texto);
    font-family: var(--fonte-familia);
    font-size: var(--tamanho-fonte);
}

/* ── Navbar ── */
.navbar {
    background-color: var(--cor-primaria) !important;
}

/* ── Botões ── */
.btn-primary {
    background-color: var(--cor-secundaria);
    border-color: var(--cor-secundaria);
    border-radius: var(--raio-borda);
}
.btn-primary:hover, .btn-primary:focus {
    background-color: var(--cor-secundaria);
    border-color: var(--cor-secundaria);
    filter: brightness(0.87);
}
.btn-success {
    background-color: var(--cor-sucesso);
    border-color: var(--cor-sucesso);
    border-radius: var(--raio-borda);
}
.btn-danger {
    background-color: var(--cor-perigo);
    border-color: var(--cor-perigo);
    border-radius: var(--raio-borda);
}
.btn-warning {
    background-color: var(--cor-aviso);
    border-color: var(--cor-aviso);
    border-radius: var(--raio-borda);
}
.btn {
    border-radius: var(--raio-borda);
}

/* ── Links ── */
a {
    color: var(--cor-secundaria);
}
a:hover {
    filter: brightness(0.85);
}

/* ── Cards ── */
.card {
    border-radius: var(--raio-borda);
}
.card-obra {
    border-left-color: var(--cor-secundaria);
    border-radius: var(--raio-borda);
}

/* ── Abas ── */
.nav-tabs .nav-link.active {
    color: var(--cor-secundaria);
    border-color: var(--cor-secundaria);
    border-bottom-color: var(--cor-secundaria);
}

/* ── Tabelas ── */
.table-medicao th,
.titulo-n1 {
    background-color: var(--cor-tabela-header) !important;
    color: #fff !important;
}

/* ── Badges de status ── */
.badge-aberta  { background-color: var(--cor-aviso); }
.badge-fechada { background-color: var(--cor-sucesso); }
.badge-aprovada { background-color: var(--cor-secundaria); }

/* ── Inputs / formulários ── */
.form-control, .form-select {
    border-radius: var(--raio-borda);
}
