:root {
    --brand: #2b7cc4;
    --brand-dark: #1f5f99;
    --brand-teal: #36b6a8;
    --bs-primary: #2b7cc4;
    --bs-primary-rgb: 43, 124, 196;
    --bs-link-color: #2b7cc4;
    --bs-link-hover-color: #1f5f99;
}
body { background: #f4f7fb; }
.btn-primary { --bs-btn-bg: var(--brand); --bs-btn-border-color: var(--brand); --bs-btn-hover-bg: var(--brand-dark); --bs-btn-hover-border-color: var(--brand-dark); --bs-btn-active-bg: var(--brand-dark); }
.btn-outline-primary { --bs-btn-color: var(--brand); --bs-btn-border-color: var(--brand); --bs-btn-hover-bg: var(--brand); --bs-btn-hover-border-color: var(--brand); }
.text-brand { color: var(--brand) !important; }
.bg-brand-soft { background: rgba(43, 124, 196, .12); }
.navbar .nav-link.active { color: var(--brand) !important; }
.card { border: 0; box-shadow: 0 1px 3px rgba(16, 40, 80, .08); }
.card-header { background: #fff; font-weight: 600; }
.stat-card .icon { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; font-size: 1.4rem; }
.login-wrap { min-height: 100vh; display: grid; place-items: center; background: linear-gradient(135deg, #e8f2fb 0%, #e3f6f3 100%); }
.login-card { width: 100%; max-width: 420px; }
.table td, .table th { vertical-align: middle; }
.font-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .85em; word-break: break-all; }
.form-label { font-weight: 500; font-size: .9rem; }
.resumo-valor { font-size: 1.6rem; font-weight: 700; }
pre.xml { max-height: 420px; overflow: auto; background: #0f172a; color: #e2e8f0; padding: 1rem; border-radius: .5rem; font-size: .78rem; }
