html { font-size: var(--lp-font-size-base, 16px); }
body, .lptech-app, .main-content, .page-content, .card, .table, .form-control, .form-select, .dropdown-menu {
    color: var(--lp-text-color, #0f172a);
    font-size: 1rem;
}
body { color: var(--lp-text-color, #0f172a) !important; }
a, .btn-link, .text-primary, .nav-link.active, .dropdown-item:active { color: var(--lp-primary, #0ea5e9); }
a:hover, .btn-link:hover { color: var(--lp-primary-dark, #0284c7); }
.btn-primary, .bg-primary, .page-item.active .page-link, .form-check-input:checked, .nav-pills .nav-link.active {
    background-color: var(--lp-primary, #0ea5e9) !important;
    border-color: var(--lp-primary, #0ea5e9) !important;
    color: #fff !important;
}
.btn-outline-primary, .border-primary, .page-link { border-color: rgba(var(--lp-primary-rgb, 14,165,233), .45) !important; color: var(--lp-primary, #0ea5e9) !important; }
.btn-outline-primary:hover, .page-link:hover { background-color: rgba(var(--lp-primary-rgb, 14,165,233), .1) !important; color: var(--lp-primary-dark, #0284c7) !important; }
.sidebar, .main-sidebar, .menu-lateral, .app-sidebar {
    background: linear-gradient(180deg, var(--lp-sidebar-start, #0f172a) 0%, var(--lp-sidebar-end, #111827) 100%) !important;
}
.top-navbar, .navbar, .navbar-light, .lp-topbar { background: var(--lp-topbar-bg, #ffffff) !important; }
.page-eyebrow, .lp-page-kicker, .brand-subtitle, .text-muted, .small.text-muted, small.text-muted { color: var(--lp-text-muted, #64748b) !important; }
.card, .modal-content, .dropdown-menu { border-color: rgba(var(--lp-text-rgb, 15,23,42), .08) !important; }
.form-control:focus, .form-select:focus, .btn:focus, .page-link:focus {
    border-color: rgba(var(--lp-primary-rgb, 14,165,233), .65) !important;
    box-shadow: 0 0 0 .2rem rgba(var(--lp-primary-rgb, 14,165,233), .18) !important;
}
.brand-logo-image {
    width: 42px;
    height: 42px;
    object-fit: contain;
    border-radius: 10px;
    background: rgba(255,255,255,.08);
    padding: 4px;
    flex-shrink: 0;
}
.sidebar.collapsed .brand-logo-image { width: 34px; height: 34px; }
.brand-logo { gap: .75rem; }
.footer { border-top: 1px solid rgba(var(--lp-text-rgb, 15,23,42), .08); }
.hero-kicker, .hero-title, .signal-title, .erp-badge, .topbar-pill, .hero-mini-value, [class*="title"], [class*="heading"] { word-break: break-word; }
[class*="bg-primary"], [style*="#0ea5e9"], [style*="#0284c7"] { accent-color: var(--lp-primary, #0ea5e9); }


/* Normalização visual agressiva para telas com HTML inline e páginas isoladas */
:root {
    color-scheme: light;
}
html, body {
    color: var(--lp-text-color, #0f172a) !important;
}
body {
    font-size: var(--lp-font-size-base, 16px) !important;
}
body * {
    accent-color: var(--lp-primary, #0ea5e9);
}
body [style*="#0ea5e9"], body [style*="#0284c7"], body [style*="#2563eb"], body [style*="#1d4ed8"] {
    border-color: var(--lp-primary, #0ea5e9) !important;
}
body [style*="color:#0ea5e9"],
body [style*="color: #0ea5e9"],
body [style*="color:#0284c7"],
body [style*="color: #0284c7"],
body [style*="color:#2563eb"],
body [style*="color: #2563eb"],
body [style*="color:#1d4ed8"],
body [style*="color: #1d4ed8"] {
    color: var(--lp-primary, #0ea5e9) !important;
}
body [style*="background:#0ea5e9"],
body [style*="background: #0ea5e9"],
body [style*="background-color:#0ea5e9"],
body [style*="background-color: #0ea5e9"],
body [style*="background:#0284c7"],
body [style*="background: #0284c7"],
body [style*="background:#2563eb"],
body [style*="background: #2563eb"],
body [style*="background:#1d4ed8"],
body [style*="background: #1d4ed8"] {
    background: var(--lp-primary, #0ea5e9) !important;
    background-color: var(--lp-primary, #0ea5e9) !important;
    color: #fff !important;
}
.navbar-brand, .brand-title, .page-title, .card-title, .modal-title, h1, h2, h3, h4, h5, h6 {
    color: var(--lp-text-color, #0f172a);
}
.table thead th, .table thead td {
    color: var(--lp-text-color, #0f172a);
    border-bottom-color: rgba(var(--lp-text-rgb, 15,23,42), .12) !important;
}
.badge.bg-primary, .badge.text-bg-primary, .alert-primary {
    background-color: var(--lp-primary, #0ea5e9) !important;
    border-color: var(--lp-primary, #0ea5e9) !important;
}
.pagination .active > .page-link,
.pagination .page-link.active,
.nav-pills .show > .nav-link,
.nav-pills .nav-link.active,
.list-group-item.active {
    background-color: var(--lp-primary, #0ea5e9) !important;
    border-color: var(--lp-primary, #0ea5e9) !important;
}
input[type="checkbox"]:checked,
input[type="radio"]:checked {
    background-color: var(--lp-primary, #0ea5e9) !important;
    border-color: var(--lp-primary, #0ea5e9) !important;
}
.footer, footer, .app-footer {
    color: var(--lp-text-color, #0f172a) !important;
}

/* Parâmetros são a fonte final de identidade, inclusive nos módulos legados. */
body.lptech-app .sidebar,
body.lptech-app .sidebar-header {
    background: linear-gradient(180deg, var(--lp-sidebar-start), var(--lp-sidebar-end)) !important;
}
body.lptech-app .top-navbar { background: var(--lp-topbar-bg) !important; }
body.lptech-app :is(.form-control, .form-select, .table, .dropdown-item, .page-title, .lp-page-heading) {
    color: var(--lp-text-color);
    --bs-table-color: var(--lp-text-color);
}
body.lptech-app :is(.btn-light, .btn-outline-secondary, .btn-outline-dark) {
    color: var(--lp-text-color);
}
body.lptech-app :is(.form-label, .lp-page-description, .lp-module-copy, .fin-note, .reports-card-note, .kpi-card-pro .sub) {
    color: var(--lp-text-muted);
}
body.lptech-app :is(.btn-primary, .lp-btn-primary) {
    background: var(--lp-primary) !important;
    border-color: var(--lp-primary) !important;
    color: #fff !important;
}
body.lptech-app :is(.btn-primary, .lp-btn-primary):is(:hover, :active, :focus-visible) {
    background: var(--lp-primary-dark) !important;
    border-color: var(--lp-primary-dark) !important;
}
body.lptech-app .btn-outline-primary {
    background: transparent !important;
    color: var(--lp-primary) !important;
    border-color: var(--lp-primary) !important;
}
body.lptech-app .btn-outline-primary:hover {
    background: var(--lp-primary) !important;
    color: #fff !important;
}

/* Cabeçalhos escuros usam a paleta do menu, com texto de contraste. */
body.lptech-app :is(.erp-hero, .lp-menuia-hero, .reports-hero, .cotas-hero, .logs-hero-card, .lp-module-hero),
body.lptech-app.module-vendas .page-header-custom {
    background: linear-gradient(135deg, var(--lp-sidebar-start), var(--lp-sidebar-end)) !important;
    color: #fff;
}
body.lptech-app :is(.erp-hero, .lp-menuia-hero, .reports-hero, .cotas-hero, .logs-hero-card, .lp-module-hero) :is(p, .lp-module-copy, .text-muted) {
    color: color-mix(in srgb, var(--lp-text-muted) 20%, white) !important;
}
body.lptech-app :is(.erp-hero, .lp-menuia-hero, .reports-hero, .cotas-hero, .logs-hero-card, .lp-module-hero) :is(.btn-outline-secondary, .btn-outline-light) {
    color: #fff !important;
    border-color: #ffffff80 !important;
}
body.lptech-app :is(.erp-hero, .lp-menuia-hero, .reports-hero, .cotas-hero, .logs-hero-card, .lp-module-hero) :is(.btn-outline-secondary, .btn-outline-light):hover {
    background: #ffffff20 !important;
}
