:root {
    --bg: #07111f;
    --panel: rgba(255, 255, 255, .06);
    --panel-border: rgba(255, 255, 255, .12);
    --text: #e7eefc;
    --muted: #64748b;
    --primary: #1ee6b6;
    --blue: #3b82f6;
    --danger: #ff5d6c;
    --radius: 18px;

    --bvms-bg: #f5f7fb;
    --bvms-sidebar-bg: #ffffff;
    --bvms-border: rgba(148, 163, 184, 0.22);
    --bvms-text: #0f172a;
    --bvms-muted: #64748b;
    --bvms-primary: #2563eb;
    --bvms-primary-soft: #e8eefc;
    --bvms-success: #22c55e;
    --bvms-shadow: 0 12px 35px rgba(15, 23, 42, 0.06);

    --v2-bg: #f6f8fb;
    --v2-surface: #ffffff;
    --v2-text: #0f172a;
    --v2-muted: #64748b;
    --v2-border: #e2e8f0;
    --v2-soft: #f1f5f9;
    --v2-primary: #5b3df5;
    --v2-primary-soft: rgba(91, 61, 245, 0.10);
    --v2-blue: #2563eb;
    --v2-green: #22c55e;
    --v2-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
    margin: 0;
    padding: 0;
}

body {
    font-family: Inter, Arial, Helvetica, sans-serif;
}

/* ===============================
   LOGIN / CADASTRO
================================ */

.guest-body {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: radial-gradient(circle at top, #0d2a46, var(--bg));
    color: var(--text);
}

.auth-wrapper {
    width: 100%;
    max-width: 420px;
}

.auth-card,
.panel,
.metric-card {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: var(--radius);
    padding: 24px;
    backdrop-filter: blur(16px);
    box-shadow: 0 20px 80px rgba(0, 0, 0, .25);
}

.auth-card {
    padding: 32px;
}

.auth-card h1 {
    margin: 0 0 10px;
    font-size: 28px;
}

.auth-card p,
.page-header p,
.muted {
    color: var(--muted);
}

label {
    display: block;
    margin: 16px 0 8px;
    font-weight: 700;
    font-size: 14px;
}

input,
select,
textarea {
    width: 100%;
    padding: 13px 14px;
    border-radius: 12px;
    border: 1px solid var(--panel-border);
    background: rgba(255, 255, 255, .08);
    color: var(--text);
    outline: 0;
}

input::placeholder,
textarea::placeholder {
    color: #6f8097;
}

select option {
    color: #111;
}

.btn-primary,
.btn-small {
    border: 0;
    cursor: pointer;
    font-weight: 700;
    border-radius: 12px;
}

.btn-primary {
    width: 100%;
    margin-top: 22px;
    padding: 14px;
    background: linear-gradient(135deg, var(--blue), var(--bvms-success));
    color: #ffffff;
}

.btn-small {
    padding: 8px 12px;
    background: rgba(255, 255, 255, .12);
    color: var(--text);
}

.auth-link {
    text-align: center;
    margin-top: 20px;
}

.auth-link a {
    color: var(--primary);
    text-decoration: none;
}

.alert-error,
.alert-success {
    padding: 12px;
    border-radius: 12px;
    margin: 15px 0;
}

.alert-error {
    background: rgba(255, 93, 108, .14);
    color: #ffb7bf;
}

.alert-success {
    background: rgba(30, 230, 182, .14);
    color: #047857;
}

/* ===============================
   APP BASE
================================ */

body.app-body {
    margin: 0 !important;
    min-height: 100vh !important;
    background: var(--v2-bg) !important;
    color: var(--v2-text) !important;
    overflow-x: hidden !important;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

body.app-body.theme-dark,
body.app-body.dark {
    --v2-bg: #07111f;
    --v2-surface: #111827;
    --v2-text: #f8fafc;
    --v2-muted: #94a3b8;
    --v2-border: rgba(255, 255, 255, 0.12);
    --v2-soft: #0f172a;
    --v2-primary-soft: rgba(91, 61, 245, 0.18);
    background: var(--v2-bg) !important;
}

.bvms-layout-shell {
    min-height: 100vh;
    display: flex;
    background: var(--v2-bg);
}

.bvms-main-shell {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.page-content,
body.app-body main.page-content {
    display: block !important;
    flex: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 28px 32px !important;
    background: var(--v2-bg) !important;
}

.page-content > *:first-child {
    margin-top: 0 !important;
}

/* ===============================
   SIDEBAR CLEAN
================================ */

.bvms-sidebar-clean {
    width: 268px;
    min-width: 268px;
    height: 100vh;
    position: sticky;
    top: 0;
    background: var(--v2-surface);
    border-right: 1px solid var(--v2-border);
    padding: 18px 14px;
    display: flex;
    flex-direction: column;
    z-index: 50;
    transition: width .22s ease, min-width .22s ease;
    overflow: hidden;
}

.sidebar-clean-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 18px;
}

.sidebar-clean-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--v2-text);
    text-decoration: none;
    font-weight: 900;
    min-width: 0;
}

.sidebar-clean-logo,
.sidebar-user-avatar,
.topbar-profile-clean span:first-child,
.profile-side-avatar {
    background: linear-gradient(135deg, var(--v2-blue), var(--v2-green));
    color: #ffffff;
    display: grid;
    place-items: center;
    font-weight: 900;
}

.sidebar-clean-logo {
    width: 38px;
    min-width: 38px;
    height: 38px;
    border-radius: 13px;
}

.sidebar-clean-brand-text {
    white-space: nowrap;
    font-size: 17px;
    letter-spacing: -0.03em;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-clean-toggle {
    width: 38px;
    min-width: 38px;
    height: 38px;
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    background: var(--v2-surface);
    color: var(--v2-text);
    display: grid;
    place-items: center;
    cursor: pointer;
}

.sidebar-clean-toggle:hover {
    background: var(--v2-soft);
}

.sidebar-user-card {
    width: 100%;
    border: 0;
    border-radius: 18px;
    background: var(--v2-soft);
    padding: 12px;
    display: grid;
    grid-template-columns: 42px 1fr 14px;
    gap: 10px;
    align-items: center;
    text-align: left;
    cursor: pointer;
    margin-bottom: 18px;
    transition: .18s ease;
    color: var(--v2-text);
}

.sidebar-user-card:hover {
    background: var(--v2-primary-soft);
}

.sidebar-user-avatar {
    width: 42px;
    min-width: 42px;
    height: 42px;
    border-radius: 14px;
    font-size: 13px;
}

.sidebar-user-copy {
    min-width: 0;
}

.sidebar-user-copy strong {
    display: block;
    color: var(--v2-text);
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-user-copy small {
    display: block;
    color: var(--v2-muted);
    font-size: 12px;
    margin-top: 2px;
}

.sidebar-user-chevron {
    color: var(--v2-muted);
    font-size: 12px;
}

.sidebar-clean-nav {
    display: grid;
    gap: 6px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 2px;
}

.sidebar-clean-link,
.sidebar-clean-sublink {
    min-height: 46px;
    border: 0;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 13px;
    text-decoration: none;
    background: transparent;
    color: #334155;
    font-weight: 800;
    border-radius: 16px;
    padding: 0 13px;
    cursor: pointer;
    transition: .18s ease;
    font-size: 14px;
}

body.theme-dark .sidebar-clean-link,
body.theme-dark .sidebar-clean-sublink,
body.dark .sidebar-clean-link,
body.dark .sidebar-clean-sublink {
    color: #cbd5e1;
}

.sidebar-clean-link i,
.sidebar-clean-sublink i {
    width: 22px;
    min-width: 22px;
    text-align: center;
    font-size: 17px;
    color: var(--v2-muted);
}

.sidebar-clean-link:hover,
.sidebar-clean-sublink:hover {
    background: var(--v2-soft);
    color: var(--v2-primary);
}

.sidebar-clean-link:hover i,
.sidebar-clean-sublink:hover i {
    color: var(--v2-primary);
}

.sidebar-clean-link.active,
.sidebar-clean-sublink.active {
    background: var(--v2-primary-soft);
    color: var(--v2-primary);
}

.sidebar-clean-link.active i,
.sidebar-clean-sublink.active i {
    color: var(--v2-primary);
}

.sidebar-more-button .sidebar-more-chevron {
    margin-left: auto;
    font-size: 12px;
    transition: transform .18s ease;
}

.sidebar-more-button.is-open .sidebar-more-chevron {
    transform: rotate(180deg);
}

.sidebar-more-content {
    display: none;
    gap: 4px;
    padding-left: 6px;
    margin: 2px 0 8px;
}

.sidebar-more-content.show {
    display: grid;
}

.sidebar-clean-sublink {
    min-height: 40px;
    font-size: 13px;
    padding-left: 16px;
}

.sidebar-mini-badge {
    margin-left: auto;
    min-width: 20px;
    height: 20px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #ef4444;
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
}

.sidebar-plan-card {
    margin-top: auto;
    display: grid;
    gap: 4px;
    text-decoration: none;
    background: linear-gradient(135deg, rgba(37, 99, 235, .10), rgba(34, 197, 94, .13));
    border: 1px solid rgba(34, 197, 94, .18);
    border-radius: 20px;
    padding: 16px;
}

.sidebar-plan-card small {
    color: var(--v2-muted);
    font-weight: 800;
    font-size: 12px;
}

.sidebar-plan-card strong {
    color: var(--v2-text);
    font-weight: 900;
}

.sidebar-plan-card span {
    color: var(--v2-muted);
    font-size: 12px;
}

/* SIDEBAR COLLAPSED */

body.sidebar-collapsed .bvms-sidebar-clean,
.bvms-sidebar-clean.sidebar-collapsed {
    width: 76px;
    min-width: 76px;
    padding-left: 10px;
    padding-right: 10px;
}

body.sidebar-collapsed .sidebar-clean-brand-text,
body.sidebar-collapsed .sidebar-user-copy,
body.sidebar-collapsed .sidebar-user-chevron,
body.sidebar-collapsed .sidebar-clean-link span,
body.sidebar-collapsed .sidebar-clean-sublink span,
body.sidebar-collapsed .sidebar-more-chevron,
body.sidebar-collapsed .sidebar-plan-card,
.bvms-sidebar-clean.sidebar-collapsed .sidebar-clean-brand-text,
.bvms-sidebar-clean.sidebar-collapsed .sidebar-user-copy,
.bvms-sidebar-clean.sidebar-collapsed .sidebar-user-chevron,
.bvms-sidebar-clean.sidebar-collapsed .sidebar-clean-link span,
.bvms-sidebar-clean.sidebar-collapsed .sidebar-clean-sublink span,
.bvms-sidebar-clean.sidebar-collapsed .sidebar-more-chevron,
.bvms-sidebar-clean.sidebar-collapsed .sidebar-plan-card {
    display: none !important;
}

body.sidebar-collapsed .sidebar-user-card,
.bvms-sidebar-clean.sidebar-collapsed .sidebar-user-card {
    display: flex;
    justify-content: center;
    padding: 10px;
}

body.sidebar-collapsed .sidebar-clean-link,
body.sidebar-collapsed .sidebar-clean-sublink,
.bvms-sidebar-clean.sidebar-collapsed .sidebar-clean-link,
.bvms-sidebar-clean.sidebar-collapsed .sidebar-clean-sublink {
    justify-content: center;
    padding: 0;
}

body.sidebar-collapsed .sidebar-more-content,
.bvms-sidebar-clean.sidebar-collapsed .sidebar-more-content {
    padding-left: 0;
}

/* ===============================
   TOPBAR CLEAN
================================ */

.bvms-topbar-clean {
    height: 72px;
    background: rgba(255, 255, 255, .88);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--v2-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 26px;
    position: sticky;
    top: 0;
    z-index: 40;
}

body.theme-dark .bvms-topbar-clean,
body.dark .bvms-topbar-clean {
    background: rgba(15, 23, 42, .88);
}

.topbar-company-clean {
    display: grid;
    gap: 2px;
}

.topbar-company-clean strong {
    color: var(--v2-text);
    font-weight: 900;
}

.topbar-company-clean small {
    color: var(--v2-muted);
    font-size: 12px;
}

.topbar-actions-clean {
    display: flex;
    align-items: center;
    gap: 10px;
}

.topbar-clean-icon {
    width: 42px;
    height: 42px;
    border: 1px solid var(--v2-border);
    border-radius: 15px;
    background: var(--v2-surface);
    color: var(--v2-text);
    display: grid;
    place-items: center;
    cursor: pointer;
    position: relative;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
}

.topbar-clean-icon:hover {
    color: var(--v2-primary);
    background: var(--v2-soft);
}

.topbar-clean-icon.has-badge span {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #ef4444;
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
    display: grid;
    place-items: center;
}

.topbar-assistant-button {
    background: linear-gradient(135deg, var(--v2-blue), var(--v2-green));
    color: #ffffff;
}

.topbar-profile-clean {
    border: 1px solid var(--v2-border);
    background: var(--v2-surface);
    border-radius: 999px;
    padding: 6px 10px 6px 6px;
    display: flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
    color: var(--v2-text);
}

.topbar-profile-clean span:first-child {
    width: 34px;
    height: 34px;
    border-radius: 12px;
}

.topbar-profile-copy {
    display: grid;
    text-align: left;
    line-height: 1.1;
}

.topbar-profile-copy strong {
    color: var(--v2-text);
    font-size: 13px;
    font-weight: 900;
}

.topbar-profile-copy small {
    color: var(--v2-muted);
    font-size: 11px;
}

/* ===============================
   FLOATING PANELS
================================ */

.bvms-panel-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .15);
    backdrop-filter: blur(2px);
    z-index: 80;
    opacity: 0;
    visibility: hidden;
    transition: .18s ease;
}

.bvms-panel-backdrop.show {
    opacity: 1;
    visibility: visible;
}

.floating-panel {
    position: fixed;
    top: 84px;
    right: 24px;
    width: min(440px, calc(100vw - 40px));
    background: var(--v2-surface);
    border: 1px solid var(--v2-border);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .18);
    padding: 18px;
    z-index: 90;
    display: none;
    color: var(--v2-text);
}

.floating-panel.show {
    display: block;
}

.floating-panel-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.floating-panel-head strong {
    font-weight: 900;
}

.floating-panel-head button {
    border: 0;
    background: transparent;
    cursor: pointer;
    color: var(--v2-muted);
}

.floating-panel-head a {
    text-decoration: none;
    color: var(--v2-primary);
    font-weight: 900;
}

.search-floating-panel {
    left: 50%;
    right: auto;
    width: min(760px, calc(100vw - 48px));
    transform: translateX(-50%);
}

.smart-search-box {
    height: 48px;
    border-radius: 16px;
    background: var(--v2-soft);
    border: 1px solid var(--v2-border);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    margin-bottom: 14px;
}

.smart-search-box input {
    border: 0 !important;
    background: transparent !important;
    outline: none !important;
    flex: 1 !important;
    color: var(--v2-text) !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.smart-search-results {
    display: grid;
    gap: 8px;
    max-height: 340px;
    overflow-y: auto;
}

.smart-search-results a {
    display: flex;
    gap: 12px;
    align-items: center;
    text-decoration: none;
    padding: 12px;
    border-radius: 16px;
    color: var(--v2-text);
}

.smart-search-results a:hover {
    background: var(--v2-soft);
}

.smart-search-results i {
    color: var(--v2-primary);
}

.smart-search-results strong {
    display: block;
    font-weight: 900;
}

.smart-search-results small {
    color: var(--v2-muted);
}

.empty-panel-state {
    padding: 18px;
    border-radius: 16px;
    background: var(--v2-soft);
    color: var(--v2-muted);
    text-align: center;
    font-weight: 800;
}

.mini-notification-list {
    display: grid;
    gap: 8px;
}

.mini-notification {
    display: grid;
    grid-template-columns: 10px 1fr;
    gap: 12px;
    text-decoration: none;
    color: var(--v2-text);
    padding: 12px;
    border-radius: 16px;
}

.mini-notification:hover,
.mini-notification.unread {
    background: var(--v2-soft);
}

.mini-notification strong {
    display: block;
    font-weight: 900;
}

.mini-notification small {
    color: var(--v2-muted);
    display: block;
}

.mini-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    margin-top: 6px;
    background: #38bdf8;
}

.mini-dot.success {
    background: #22c55e;
}

.mini-dot.warning {
    background: #f59e0b;
}

.mini-dot.danger {
    background: #ef4444;
}

.settings-shortcuts-clean {
    display: grid;
    gap: 8px;
}

.settings-shortcuts-clean a,
.settings-shortcuts-clean button {
    border: 0;
    width: 100%;
    background: transparent;
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 12px;
    align-items: center;
    text-align: left;
    text-decoration: none;
    padding: 12px;
    border-radius: 16px;
    color: var(--v2-text);
    cursor: pointer;
}

.settings-shortcuts-clean a:hover,
.settings-shortcuts-clean button:hover {
    background: var(--v2-soft);
}

.settings-shortcuts-clean i {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: var(--v2-primary-soft);
    color: var(--v2-primary);
    display: grid;
    place-items: center;
}

.settings-shortcuts-clean strong {
    display: block;
    font-weight: 900;
}

.settings-shortcuts-clean small {
    color: var(--v2-muted);
}

/* ===============================
   ASSISTANT DRAWER
================================ */

.assistant-clean-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: min(420px, 100vw);
    height: 100vh;
    background: var(--v2-surface);
    border-left: 1px solid var(--v2-border);
    box-shadow: -24px 0 70px rgba(15, 23, 42, .18);
    z-index: 100;
    transform: translateX(105%);
    transition: transform .22s ease;
    color: var(--v2-text);
}

.assistant-clean-drawer.show {
    transform: translateX(0);
}

.assistant-clean-head {
    height: 76px;
    border-bottom: 1px solid var(--v2-border);
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.assistant-clean-head span {
    display: block;
    color: var(--v2-primary);
    font-weight: 900;
}

.assistant-clean-head strong {
    display: block;
    font-size: 20px;
}

.assistant-clean-head button {
    border: 0;
    background: transparent;
    cursor: pointer;
    color: var(--v2-text);
}

.assistant-clean-body {
    padding: 20px;
    display: grid;
    gap: 12px;
}

.assistant-clean-body p {
    color: var(--v2-muted);
}

.assistant-clean-body a {
    display: block;
    text-decoration: none;
    padding: 14px;
    border-radius: 16px;
    background: var(--v2-soft);
    color: var(--v2-text);
    font-weight: 900;
}

.assistant-clean-body a:hover {
    background: var(--v2-primary-soft);
    color: var(--v2-primary);
}

.assistant-clean-note {
    margin-top: 8px;
    padding: 14px;
    border-radius: 16px;
    background: var(--v2-soft);
    color: var(--v2-muted);
}

/* ===============================
   PROFILE OFFCANVAS
================================ */

.profile-offcanvas-clean {
    width: 360px !important;
    border: 0;
    background: transparent;
}

.profile-offcanvas-clean .offcanvas-body {
    padding: 22px;
    display: flex;
    align-items: flex-start;
}

.profile-side-card {
    width: 100%;
    background: var(--v2-surface);
    border: 1px solid var(--v2-border);
    border-radius: 28px;
    padding: 24px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .18);
}

.profile-side-avatar {
    width: 68px;
    height: 68px;
    border-radius: 22px;
    margin: 0 auto 16px;
    font-size: 22px;
}

.profile-side-card h5 {
    text-align: center;
    margin: 0;
    font-weight: 900;
    color: var(--v2-text);
}

.profile-side-card p {
    text-align: center;
    color: var(--v2-muted);
    margin: 6px 0 22px;
    font-size: 13px;
}

.profile-side-menu {
    display: grid;
    gap: 8px;
}

.profile-side-menu a {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--v2-text);
    text-decoration: none;
    font-weight: 900;
    border-radius: 16px;
    padding: 0 12px;
}

.profile-side-menu a:hover {
    background: var(--v2-soft);
    color: var(--v2-primary);
}

.profile-side-menu i {
    width: 20px;
    color: var(--v2-muted);
}

.profile-side-logout {
    width: 100%;
    height: 48px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--v2-blue), var(--v2-green));
    color: #ffffff;
    font-weight: 900;
    cursor: pointer;
}

/* ===============================
   COMPONENTES PADRÃO
================================ */

.page-header {
    margin-bottom: 24px;
}

.page-header h1 {
    margin: 0 0 8px;
    letter-spacing: -0.04em !important;
}

.cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.metric-card {
    background: var(--v2-surface) !important;
    color: var(--v2-text) !important;
}

.metric-card span {
    display: block;
    color: var(--v2-muted);
    margin-bottom: 12px;
}

.metric-card strong {
    font-size: 26px;
}

.metric-card.highlight {
    border-color: rgba(34, 197, 94, .35) !important;
}

body.app-body .card,
body.app-body .panel,
body.app-body .metric-card {
    border-radius: 22px !important;
    border: 1px solid var(--v2-border) !important;
    box-shadow: var(--v2-shadow) !important;
}

.panel {
    background: var(--v2-surface) !important;
    color: var(--v2-text) !important;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.form-grid .btn-primary {
    grid-column: 1/-1;
}

.table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 18px;
}

.table th,
.table td {
    padding: 14px;
    border-bottom: 1px solid var(--v2-border);
    text-align: left;
}

.table th {
    color: var(--v2-muted);
    background: var(--v2-soft);
}

.table td:last-child {
    text-align: right;
}

.subtotal {
    background: var(--v2-soft);
    font-weight: 700;
}

.total {
    background: rgba(34, 197, 94, .12);
    color: #15803d;
    font-weight: 700;
}

body.app-body .btn,
body.app-body .btn-primary,
body.app-body .btn-outline-primary {
    border-radius: 14px !important;
}

/* =========================
   GOALS / OBJETIVOS CLEAN
========================= */

.goal-summary-card,
.goal-card-clean {
    background: var(--v2-surface);
    border: 1px solid var(--v2-border);
    color: var(--v2-text);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.goal-summary-card {
    border-radius: 18px;
    padding: 16px 18px;
}

.goal-summary-card span {
    display: block;
    color: var(--v2-muted);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
}

.goal-summary-card strong {
    font-size: 18px;
    color: var(--v2-text);
    font-weight: 800;
}

.goal-tabs {
    display: flex;
    gap: 28px;
    align-items: center;
    border-bottom: 1px solid var(--v2-border);
    padding-bottom: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.goal-tabs a {
    text-decoration: none;
    color: var(--v2-muted);
    font-weight: 700;
    font-size: 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid transparent;
}

.goal-tabs a.active {
    color: #0f766e;
    border-bottom-color: #0f766e;
}

.goal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
    gap: 20px;
}

.goal-card-clean {
    border-radius: 22px;
    padding: 18px;
}

.goal-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
}

.goal-card-head h5 {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--v2-text);
}

.goal-card-head small {
    color: var(--v2-muted);
    font-size: 12px;
    font-weight: 700;
}

.goal-card-main {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}

.goal-ring {
    --progress: 0;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: conic-gradient(#d1d5db calc((100 - var(--progress)) * 1%), #34d399 0);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(-90deg);
    flex-shrink: 0;
}

.goal-ring-inner {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--v2-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(90deg);
    box-shadow: inset 0 0 0 1px var(--v2-border);
}

.goal-ring-inner strong {
    font-size: 20px;
    font-weight: 800;
    color: var(--v2-text);
}

.goal-card-info {
    flex: 1;
}

.goal-info-line {
    margin-bottom: 10px;
}

.goal-info-line span {
    display: block;
    font-size: 12px;
    color: var(--v2-muted);
    font-weight: 700;
}

.goal-info-line strong {
    font-size: 14px;
    color: var(--v2-text);
    font-weight: 800;
}

.goal-legend {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}

.goal-legend-item {
    display: grid;
    grid-template-columns: 14px 1fr auto;
    gap: 8px;
    align-items: center;
}

.goal-legend-item small {
    color: var(--v2-muted);
    font-weight: 600;
}

.goal-legend-item strong {
    color: var(--v2-text);
    font-weight: 700;
    font-size: 13px;
}

.dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.dot-teal {
    background: #2dd4bf;
}

.dot-gray {
    background: #cbd5e1;
}

.goal-card-footer {
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 700;
}

/* ===============================
   DASHBOARD MODULAR
================================ */

body.app-body .bvms-widget-toolbar {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-bottom: 14px;
}

body.app-body .bvms-widget-toolbar button {
    border: 1px solid var(--v2-border);
    background: var(--v2-surface);
    color: var(--v2-text);
    border-radius: 14px;
    height: 40px;
    padding: 0 14px;
    font-weight: 850;
}

body.app-body .bvms-widget-editing [data-bvms-widget]:not([data-widget-fixed="1"]) {
    outline: 2px dashed rgba(91, 61, 245, .35);
    outline-offset: 4px;
    position: relative;
}

body.app-body .bvms-widget-remove {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 10px;
    background: rgba(15, 23, 42, .82);
    color: #fff;
    display: none;
    z-index: 3;
}

body.app-body .bvms-widget-editing [data-bvms-widget]:not([data-widget-fixed="1"]) .bvms-widget-remove {
    display: grid;
    place-items: center;
}

body.app-body [data-bvms-widget].is-hidden-widget {
    display: none !important;
}

body.app-body .widget-picker-list {
    display: grid;
    gap: 8px;
}

body.app-body .widget-picker-list button {
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    background: var(--v2-surface);
    color: var(--v2-text);
    padding: 12px;
    text-align: left;
    font-weight: 800;
}

/* =========================================================
   BVMS - Correção global de tema escuro para telas novas
   Corrige cards brancos em Vendas, Produtos, Importações etc.
========================================================= */

html,
body,
.app-shell,
.app-main,
.main-content,
.page-content {
    background: #06111f !important;
    color: #f8fafc !important;
}

.bvms-page,
.bvms-section,
.bvms-card,
.card,
.card-body,
.panel,
.box,
.summary-card,
.metric-card,
.filter-card,
.table-card,
.import-card,
.sales-card,
.product-card,
.category-card {
    background: #111827 !important;
    color: #f8fafc !important;
    border-color: rgba(148, 163, 184, 0.22) !important;
}

.bg-white,
.bg-light,
.bg-body,
.bg-body-tertiary,
.text-bg-light {
    background: #111827 !important;
    color: #f8fafc !important;
}

.text-dark,
.text-body,
.text-muted {
    color: #cbd5e1 !important;
}

h1, h2, h3, h4, h5, h6,
label,
th,
td,
p,
span {
    color: inherit;
}

/* Cards de indicadores */
.sales-summary-card,
.dashboard-card,
.kpi-card,
.stat-card {
    background: #111827 !important;
    color: #f8fafc !important;
    border: 1px solid rgba(148, 163, 184, 0.22) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.sales-summary-card strong,
.dashboard-card strong,
.kpi-card strong,
.stat-card strong {
    color: #f8fafc !important;
}

/* Formulários */
input,
select,
textarea,
.form-control,
.form-select {
    background: #020617 !important;
    color: #f8fafc !important;
    border-color: rgba(148, 163, 184, 0.28) !important;
}

input::placeholder,
textarea::placeholder {
    color: #94a3b8 !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus {
    background: #020617 !important;
    color: #f8fafc !important;
    border-color: #38bdf8 !important;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.18) !important;
}

/* Tabelas */
.table,
table {
    color: #f8fafc !important;
    background: transparent !important;
}

.table thead,
table thead,
.table th,
table th {
    background: #1e293b !important;
    color: #f8fafc !important;
    border-color: rgba(148, 163, 184, 0.22) !important;
}

.table tbody,
table tbody,
.table td,
table td {
    background: #111827 !important;
    color: #f8fafc !important;
    border-color: rgba(148, 163, 184, 0.16) !important;
}

.table tbody tr:hover,
table tbody tr:hover {
    background: #1e293b !important;
}

/* Bloco branco da tela de vendas */
.sales-period-box,
.period-box,
.period-filter,
.sales-filter,
.sales-metrics,
.sales-list,
.sales-panel {
    background: #111827 !important;
    color: #f8fafc !important;
    border: 1px solid rgba(148, 163, 184, 0.22) !important;
}

/* Botões */
.btn-secondary,
.btn-light,
.btn-outline-secondary {
    background: #1e293b !important;
    color: #f8fafc !important;
    border-color: rgba(148, 163, 184, 0.28) !important;
}

.btn-secondary:hover,
.btn-light:hover,
.btn-outline-secondary:hover {
    background: #334155 !important;
    color: #ffffff !important;
}

/* Modais */
.modal-content {
    background: #111827 !important;
    color: #f8fafc !important;
    border-color: rgba(148, 163, 184, 0.22) !important;
}

.modal-header,
.modal-footer {
    border-color: rgba(148, 163, 184, 0.18) !important;
}

/* Badges e textos auxiliares */
.badge,
.chip,
.pill {
    color: #f8fafc !important;
}

small,
.form-text,
.helper-text {
    color: #94a3b8 !important;
}

/* ===============================
   RESPONSIVO
================================ */

@media (max-width: 900px) {
    .bvms-sidebar-clean {
        width: 76px;
        min-width: 76px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .sidebar-clean-brand-text,
    .sidebar-user-copy,
    .sidebar-user-chevron,
    .sidebar-clean-link span,
    .sidebar-clean-sublink span,
    .sidebar-more-chevron,
    .sidebar-plan-card {
        display: none !important;
    }

    .sidebar-user-card,
    .sidebar-clean-link,
    .sidebar-clean-sublink {
        justify-content: center;
        padding-left: 0;
        padding-right: 0;
    }

    .topbar-profile-copy,
    .topbar-company-clean {
        display: none;
    }

    .bvms-topbar-clean {
        padding: 0 14px;
    }

    .page-content {
        padding: 18px !important;
    }

    .cards-grid,
    .form-grid {
        grid-template-columns: 1fr;
    }

    .topbar-actions-clean {
        gap: 6px;
    }

    .topbar-clean-icon {
        width: 38px;
        height: 38px;
    }
}

/* =========================================================
   BVMS ERP - FIX FINAL DE LAYOUT GLOBAL
   Objetivo: corrigir telas quebradas, padronizar cards, filtros,
   tabelas e reorganizar a parte inferior do dashboard.
   Cole/mande este bloco no FINAL de public/assets/css/app.css
========================================================= */

/* ---------- Tema base ---------- */
html[data-theme="light"],
html.theme-light {
  --bvms-page-bg: #f4f7fb;
  --bvms-sidebar-bg: #ffffff;
  --bvms-topbar-bg: rgba(255,255,255,.92);
  --bvms-surface: #ffffff;
  --bvms-surface-2: #f8fafc;
  --bvms-surface-3: #eef4fb;
  --bvms-text: #0f172a;
  --bvms-text-soft: #334155;
  --bvms-muted: #64748b;
  --bvms-border: #dbe3ef;
  --bvms-border-2: #cbd5e1;
  --bvms-primary: #2563eb;
  --bvms-primary-soft: #dbeafe;
  --bvms-success: #16a34a;
  --bvms-success-soft: #dcfce7;
  --bvms-warning: #d97706;
  --bvms-warning-soft: #fff7ed;
  --bvms-danger: #dc2626;
  --bvms-danger-soft: #fef2f2;
  --bvms-info: #0891b2;
  --bvms-info-soft: #ecfeff;
  --bvms-shadow: 0 12px 30px rgba(15, 23, 42, .075);
}

html[data-theme="dark"],
html.theme-dark,
body.theme-dark,
body.dark {
  --bvms-page-bg: #07111f;
  --bvms-sidebar-bg: #0f172a;
  --bvms-topbar-bg: rgba(15,23,42,.92);
  --bvms-surface: #111827;
  --bvms-surface-2: #162033;
  --bvms-surface-3: #1e293b;
  --bvms-text: #f8fafc;
  --bvms-text-soft: #e2e8f0;
  --bvms-muted: #94a3b8;
  --bvms-border: rgba(148, 163, 184, .22);
  --bvms-border-2: rgba(148, 163, 184, .34);
  --bvms-primary: #60a5fa;
  --bvms-primary-soft: rgba(37,99,235,.22);
  --bvms-success: #22c55e;
  --bvms-success-soft: rgba(34,197,94,.14);
  --bvms-warning: #f59e0b;
  --bvms-warning-soft: rgba(245,158,11,.14);
  --bvms-danger: #fb7185;
  --bvms-danger-soft: rgba(239,68,68,.15);
  --bvms-info: #22d3ee;
  --bvms-info-soft: rgba(34,211,238,.13);
  --bvms-shadow: 0 18px 45px rgba(0,0,0,.30);
}

body.app-body {
  background: var(--bvms-page-bg) !important;
  color: var(--bvms-text) !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: -.01em;
}

body.app-body .page-content,
body.app-body main.page-content,
body.app-body .main-content,
body.app-body .bvms-main-shell {
  background: var(--bvms-page-bg) !important;
  color: var(--bvms-text) !important;
}

body.app-body h1,
body.app-body h2,
body.app-body h3,
body.app-body h4,
body.app-body h5,
body.app-body h6 {
  color: var(--bvms-text) !important;
  font-weight: 760 !important;
  letter-spacing: -.045em !important;
}

body.app-body p,
body.app-body span,
body.app-body small,
body.app-body label,
body.app-body li,
body.app-body td,
body.app-body th {
  color: inherit;
}

body.app-body .text-muted,
body.app-body .muted,
body.app-body small,
body.app-body .stat-note,
body.app-body .stat-label,
body.app-body .section-description,
body.app-body .helper-text {
  color: var(--bvms-muted) !important;
}

/* ---------- Mini Bootstrap necessário para views que usam classes bootstrap ---------- */
body.app-body .row { display: flex !important; flex-wrap: wrap !important; margin-left: -.75rem !important; margin-right: -.75rem !important; }
body.app-body .row > * { box-sizing: border-box; padding-left: .75rem !important; padding-right: .75rem !important; max-width: 100%; }
body.app-body .col-12 { flex: 0 0 100% !important; max-width: 100% !important; }
body.app-body .col-md-2, body.app-body .col-md-3, body.app-body .col-md-4, body.app-body .col-md-6, body.app-body .col-lg-6, body.app-body .col-xl-4, body.app-body .col-xl-5, body.app-body .col-xl-7 { flex: 0 0 100%; max-width: 100%; }
@media (min-width: 768px) { body.app-body .col-md-2{flex:0 0 16.666%;max-width:16.666%;} body.app-body .col-md-3{flex:0 0 25%;max-width:25%;} body.app-body .col-md-4{flex:0 0 33.333%;max-width:33.333%;} body.app-body .col-md-6{flex:0 0 50%;max-width:50%;} }
@media (min-width: 992px) { body.app-body .col-lg-6{flex:0 0 50%;max-width:50%;} }
@media (min-width: 1200px) { body.app-body .col-xl-4{flex:0 0 33.333%;max-width:33.333%;} body.app-body .col-xl-5{flex:0 0 41.666%;max-width:41.666%;} body.app-body .col-xl-7{flex:0 0 58.333%;max-width:58.333%;} }
body.app-body .g-3 { row-gap: 1rem !important; } body.app-body .g-3 > * { margin-bottom: 1rem !important; }
body.app-body .g-4 { row-gap: 1.25rem !important; } body.app-body .g-4 > * { margin-bottom: 1.25rem !important; }
body.app-body .d-flex { display: flex !important; } body.app-body .d-block { display: block !important; } body.app-body .d-none { display: none !important; }
body.app-body .d-inline-flex { display: inline-flex !important; }
body.app-body .align-items-center { align-items: center !important; } body.app-body .align-items-start { align-items: flex-start !important; } body.app-body .align-items-end { align-items: flex-end !important; }
body.app-body .justify-content-between { justify-content: space-between !important; } body.app-body .justify-content-end { justify-content: flex-end !important; } body.app-body .justify-content-center { justify-content: center !important; }
body.app-body .flex-wrap { flex-wrap: wrap !important; }
body.app-body .gap-2 { gap: .5rem !important; } body.app-body .gap-3 { gap: 1rem !important; } body.app-body .gap-4 { gap: 1.25rem !important; }
body.app-body .mb-0 { margin-bottom: 0 !important; } body.app-body .mb-1 { margin-bottom: .25rem !important; } body.app-body .mb-2 { margin-bottom: .5rem !important; } body.app-body .mb-3 { margin-bottom: 1rem !important; } body.app-body .mb-4 { margin-bottom: 1.5rem !important; }
body.app-body .mt-1 { margin-top: .25rem !important; } body.app-body .mt-3 { margin-top: 1rem !important; } body.app-body .mt-4 { margin-top: 1.5rem !important; } body.app-body .my-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
body.app-body .p-3 { padding: 1rem !important; } body.app-body .p-4 { padding: 1.5rem !important; } body.app-body .px-3 { padding-left: 1rem !important; padding-right: 1rem !important; } body.app-body .px-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; } body.app-body .py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
body.app-body .h-100 { height: 100% !important; }
body.app-body .w-100 { width: 100% !important; }
body.app-body .text-center { text-align: center !important; } body.app-body .text-end, body.app-body .text-right { text-align: right !important; }
body.app-body .fw-bold { font-weight: 760 !important; } body.app-body .fw-semibold { font-weight: 660 !important; }
body.app-body .rounded-4 { border-radius: 18px !important; } body.app-body .rounded-pill { border-radius: 999px !important; }
body.app-body .shadow-sm { box-shadow: var(--bvms-shadow) !important; }
body.app-body .border-0 { border: 0 !important; }
body.app-body .border-bottom { border-bottom: 1px solid var(--bvms-border) !important; }

/* ---------- Componentes base ---------- */
body.app-body .card,
body.app-body .card-body,
body.app-body .panel,
body.app-body .box,
body.app-body .metric-card,
body.app-body .stat-card,
body.app-body .dash-panel,
body.app-body .dash-card,
body.app-body .table-card,
body.app-body .filter-card,
body.app-body .products-card,
body.app-body .cost-panel,
body.app-body .sales-table-card,
body.app-body .sales-filter-card,
body.app-body .sales-summary-card,
body.app-body .expenses-filter-card,
body.app-body .expenses-table-card,
body.app-body .expenses-summary-card,
body.app-body .expense-form-card,
body.app-body .expense-help-card,
body.app-body .dre-panel,
body.app-body .dre-table-panel,
body.app-body .dre-kpi-card,
body.app-body .imports-history-card,
body.app-body .preview-card,
body.app-body .preview-table-card,
body.app-body .smart-upload-card,
body.app-body .upload-card,
body.app-body .info-card,
body.app-body .history-item,
body.app-body .page-card,
body.app-body .goal-card-clean,
body.app-body .goal-summary-card {
  background: var(--bvms-surface) !important;
  color: var(--bvms-text) !important;
  border: 1px solid var(--bvms-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--bvms-shadow) !important;
}

body.app-body .card-body { padding: 1.25rem !important; }

body.app-body input,
body.app-body select,
body.app-body textarea,
body.app-body .form-control,
body.app-body .form-select {
  width: 100%;
  min-height: 42px;
  border-radius: 12px !important;
  border: 1px solid var(--bvms-border-2) !important;
  background: var(--bvms-surface) !important;
  color: var(--bvms-text) !important;
  padding: 10px 12px !important;
  outline: 0 !important;
}

body.app-body input::placeholder,
body.app-body textarea::placeholder { color: color-mix(in srgb, var(--bvms-muted) 75%, transparent) !important; }
body.app-body select option { background: var(--bvms-surface) !important; color: var(--bvms-text) !important; }
body.app-body input:focus,
body.app-body select:focus,
body.app-body textarea:focus,
body.app-body .form-control:focus,
body.app-body .form-select:focus {
  border-color: var(--bvms-primary) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--bvms-primary) 14%, transparent) !important;
}

body.app-body .form-label,
body.app-body label {
  color: var(--bvms-text-soft) !important;
  font-weight: 700 !important;
  font-size: .82rem !important;
  margin-bottom: 7px !important;
}

body.app-body .btn,
body.app-body button,
body.app-body .btn-primary,
body.app-body .btn-outline-primary,
body.app-body .btn-soft,
body.app-body .btn-sales-primary,
body.app-body .btn-sales-secondary,
body.app-body .btn-expense-primary,
body.app-body .btn-expense-secondary,
body.app-body .dash-action-primary,
body.app-body .dash-action-secondary,
body.app-body .btn-confirm-import,
body.app-body .btn-secondary-import,
body.app-body .btn-upload,
body.app-body .btn-template-header,
body.app-body .btn-view-import,
body.app-body .btn-delete-import {
  min-height: 40px;
  border-radius: 12px !important;
  font-weight: 720 !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
}

body.app-body .btn-primary,
body.app-body button[type="submit"],
body.app-body .btn-sales-primary,
body.app-body .btn-expense-primary,
body.app-body .dash-action-primary,
body.app-body .btn-confirm-import,
body.app-body .btn-upload {
  background: linear-gradient(135deg, #2563eb, #14b8a6) !important;
  color: #ffffff !important;
  border: 0 !important;
}
body.app-body .btn-success { background: #16a34a !important; color: #fff !important; border: 0 !important; }
body.app-body .btn-danger, body.app-body .btn-outline-danger, body.app-body .btn-delete-import, body.app-body .btn-small-danger { background: var(--bvms-danger-soft) !important; color: var(--bvms-danger) !important; border: 1px solid color-mix(in srgb, var(--bvms-danger) 28%, transparent) !important; }
body.app-body .btn-outline-primary,
body.app-body .btn-soft,
body.app-body .btn-sales-secondary,
body.app-body .btn-expense-secondary,
body.app-body .dash-action-secondary,
body.app-body .btn-secondary-import,
body.app-body .btn-view-import {
  background: var(--bvms-surface) !important;
  color: var(--bvms-primary) !important;
  border: 1px solid var(--bvms-border) !important;
}
body.app-body button:disabled,
body.app-body .btn:disabled { opacity: .48 !important; cursor: not-allowed !important; }

body.app-body .badge,
body.app-body .dash-pill,
body.app-body .sales-badge,
body.app-body .expenses-badge,
body.app-body .imports-badge,
body.app-body .bvms-chip,
body.app-body .status-pill,
body.app-body .type-pill,
body.app-body .origin-pill,
body.app-body .category-pill,
body.app-body .sku-code {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 6px 10px;
  background: var(--bvms-primary-soft) !important;
  color: var(--bvms-primary) !important;
  border: 1px solid color-mix(in srgb, var(--bvms-primary) 20%, transparent) !important;
  font-size: .78rem;
  font-weight: 720;
}
body.app-body .text-bg-primary { background: var(--bvms-primary-soft) !important; color: var(--bvms-primary) !important; }
body.app-body .text-bg-success, body.app-body .bg-success { background: var(--bvms-success-soft) !important; color: var(--bvms-success) !important; }
body.app-body .text-bg-danger { background: var(--bvms-danger-soft) !important; color: var(--bvms-danger) !important; }
body.app-body .bg-light { background: var(--bvms-surface-2) !important; color: var(--bvms-text) !important; }
body.app-body .bg-warning { background: var(--bvms-warning-soft) !important; color: var(--bvms-warning) !important; }

body.app-body .table-responsive { overflow-x: auto !important; width: 100%; }
body.app-body table,
body.app-body .table,
body.app-body .sales-table,
body.app-body .expenses-table,
body.app-body .dre-table,
body.app-body .preview-table,
body.app-body .product-table {
  width: 100%;
  border-collapse: collapse !important;
  color: var(--bvms-text) !important;
  background: transparent !important;
}
body.app-body th,
body.app-body .table th,
body.app-body .sales-table th,
body.app-body .expenses-table th,
body.app-body .dre-table th,
body.app-body .preview-table th,
body.app-body .product-table th {
  background: var(--bvms-surface-3) !important;
  color: var(--bvms-text-soft) !important;
  border-bottom: 1px solid var(--bvms-border) !important;
  padding: 12px 14px !important;
  font-size: .78rem !important;
  font-weight: 760 !important;
  text-transform: uppercase;
  letter-spacing: .035em;
  text-align: left;
}
body.app-body td,
body.app-body .table td,
body.app-body .sales-table td,
body.app-body .expenses-table td,
body.app-body .dre-table td,
body.app-body .preview-table td,
body.app-body .product-table td {
  background: transparent !important;
  color: var(--bvms-text) !important;
  border-bottom: 1px solid var(--bvms-border) !important;
  padding: 12px 14px !important;
  vertical-align: middle;
}
body.app-body tbody tr:hover td { background: color-mix(in srgb, var(--bvms-primary) 5%, transparent) !important; }
body.app-body .table-highlight, body.app-body .subtotal { background: var(--bvms-surface-2) !important; font-weight: 760 !important; }
body.app-body .table-total, body.app-body .total { background: var(--bvms-success-soft) !important; color: var(--bvms-success) !important; font-weight: 760 !important; }

/* ---------- Sidebar e topbar consistentes ---------- */
body.app-body .bvms-sidebar-clean {
  background: var(--bvms-sidebar-bg) !important;
  color: var(--bvms-text) !important;
  border-right: 1px solid var(--bvms-border) !important;
}
body.app-body .sidebar-clean-brand,
body.app-body .sidebar-clean-brand-text,
body.app-body .sidebar-user-copy strong,
body.app-body .sidebar-plan-card strong { color: var(--bvms-text) !important; }
body.app-body .sidebar-user-card,
body.app-body .sidebar-plan-card { background: var(--bvms-surface-2) !important; color: var(--bvms-text) !important; border: 1px solid var(--bvms-border) !important; }
body.app-body .sidebar-clean-link,
body.app-body .sidebar-clean-sublink { color: var(--bvms-text-soft) !important; background: transparent !important; }
body.app-body .sidebar-clean-link:hover,
body.app-body .sidebar-clean-sublink:hover,
body.app-body .sidebar-clean-link.active,
body.app-body .sidebar-clean-sublink.active { background: var(--bvms-primary-soft) !important; color: var(--bvms-primary) !important; }
body.app-body .sidebar-clean-link i,
body.app-body .sidebar-clean-sublink i { color: var(--bvms-muted) !important; }
body.app-body .sidebar-clean-link.active i,
body.app-body .sidebar-clean-sublink.active i { color: var(--bvms-primary) !important; }
body.app-body .bvms-topbar-clean { background: var(--bvms-topbar-bg) !important; color: var(--bvms-text) !important; border-bottom: 1px solid var(--bvms-border) !important; }
body.app-body .topbar-clean-icon,
body.app-body .topbar-profile-clean { background: var(--bvms-surface) !important; color: var(--bvms-text) !important; border: 1px solid var(--bvms-border) !important; }

/* ---------- Headers de páginas ---------- */
body.app-body .page-header,
body.app-body .sales-header-row,
body.app-body .expenses-header,
body.app-body .imports-header,
body.app-body .dre-hero-card,
body.app-body .page-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 18px;
  padding: 22px !important;
  border-radius: 20px !important;
  background: var(--bvms-surface) !important;
  border: 1px solid var(--bvms-border) !important;
  box-shadow: var(--bvms-shadow) !important;
}
body.app-body .page-header h1,
body.app-body .sales-title-block h1,
body.app-body .expenses-header h1,
body.app-body .imports-header h1,
body.app-body .dre-hero-copy h1,
body.app-body .page-hero h1 {
  margin: 8px 0 6px !important;
  font-size: clamp(28px, 2.8vw, 38px) !important;
  line-height: 1.05 !important;
}
body.app-body .page-header p,
body.app-body .sales-title-block p,
body.app-body .expenses-header p,
body.app-body .imports-header p,
body.app-body .dre-hero-copy p,
body.app-body .page-hero p { color: var(--bvms-muted) !important; margin: 0 !important; }

/* ---------- Dashboard: reorganização inferior ---------- */
body.app-body .dashboard-exec,
body.app-body .dashboard-exec-clean,
body.app-body .ux-page,
body.app-body .sales-page,
body.app-body .expenses-page,
body.app-body .imports-page,
body.app-body .dre-page-clean,
body.app-body .bvms-products-page { display: grid !important; gap: 18px !important; }

body.app-body .dashboard-top-row,
body.app-body .dashboard-brief {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 220px !important;
  gap: 14px !important;
  align-items: stretch !important;
  padding: 16px !important;
  border-radius: 20px !important;
  background: var(--bvms-surface) !important;
  border: 1px solid var(--bvms-border) !important;
  box-shadow: var(--bvms-shadow) !important;
}
body.app-body .dashboard-top-row > div:first-child,
body.app-body .dashboard-brief-main {
  border-radius: 18px !important;
  padding: 22px !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--bvms-primary) 7%, var(--bvms-surface)), color-mix(in srgb, var(--bvms-success) 4%, var(--bvms-surface))) !important;
  border: 1px solid var(--bvms-border) !important;
}
body.app-body .dashboard-top-row h1 { margin: 8px 0 5px !important; font-size: clamp(30px, 3vw, 42px) !important; }
body.app-body .dashboard-actions { display: flex !important; gap: 10px !important; margin-top: 14px !important; flex-wrap: wrap !important; }

body.app-body .bvms-period-widget-dashboard,
body.app-body .dashboard-period-pill { min-width: 0 !important; }
body.app-body .bvms-period-summary,
body.app-body .dashboard-period-pill {
  width: 100% !important;
  min-height: 110px !important;
  padding: 16px !important;
  border-radius: 16px !important;
  border: 1px solid var(--bvms-border) !important;
  background: var(--bvms-surface) !important;
  color: var(--bvms-text) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  box-shadow: none !important;
}
body.app-body .bvms-period-summary i,
body.app-body .dashboard-period-pill i { width: 40px; height: 40px; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(135deg, #2563eb, #14b8a6); color: #fff; font-style: normal; }

body.app-body .erp-data-flow { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 12px !important; }
body.app-body .erp-flow-card {
  padding: 16px !important;
  border-radius: 16px !important;
  background: var(--bvms-surface) !important;
  border: 1px solid var(--bvms-border) !important;
  box-shadow: var(--bvms-shadow) !important;
}
body.app-body .erp-flow-card small { color: var(--bvms-muted) !important; }
body.app-body .erp-flow-card strong { display: inline; color: var(--bvms-text) !important; font-size: 1rem !important; }
body.app-body .erp-flow-card span { color: var(--bvms-text-soft) !important; }

body.app-body .dashboard-alert-strip,
body.app-body .dashboard-alert-strip-clean {
  padding: 14px !important;
  border-radius: 18px !important;
  background: var(--bvms-surface) !important;
  color: var(--bvms-text) !important;
  border: 1px solid var(--bvms-border) !important;
  box-shadow: var(--bvms-shadow) !important;
}
body.app-body .dashboard-alert-inline-list { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 10px !important; }
body.app-body .dashboard-alert-inline { display: grid !important; grid-template-columns: 36px 1fr auto !important; gap: 10px !important; align-items: start !important; padding: 12px !important; border-radius: 14px !important; background: var(--bvms-surface-2) !important; border: 1px solid var(--bvms-border) !important; }
body.app-body .dashboard-alert-inline > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; background: var(--bvms-primary-soft); }
body.app-body .dashboard-alert-inline small, body.app-body .dashboard-alert-inline em { display: block; color: var(--bvms-muted) !important; font-size: .82rem; }
body.app-body .dashboard-alert-inline b { align-self: start; padding: 4px 8px; border-radius: 999px; background: var(--bvms-primary-soft); color: var(--bvms-primary); font-size: .72rem; }
body.app-body .dashboard-alert-inline-danger { background: var(--bvms-danger-soft) !important; border-color: color-mix(in srgb, var(--bvms-danger) 26%, transparent) !important; }
body.app-body .dashboard-alert-inline-warning { background: var(--bvms-warning-soft) !important; border-color: color-mix(in srgb, var(--bvms-warning) 26%, transparent) !important; }

body.app-body .dash-main-grid { display: grid !important; grid-template-columns: minmax(0, 2.2fr) minmax(280px, .8fr) !important; gap: 18px !important; }
body.app-body .dash-big-card,
body.app-body .dash-progress-card {
  min-height: 220px !important;
  border-radius: 20px !important;
  padding: 24px !important;
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid var(--bvms-border) !important;
  box-shadow: var(--bvms-shadow) !important;
}
body.app-body .dash-big-card { background: linear-gradient(135deg, rgba(34,197,94,.92), rgba(20,184,166,.90)) !important; color: #052e16 !important; }
body.app-body .dash-big-card.negative { background: linear-gradient(135deg, #fecaca, #f87171) !important; color: #450a0a !important; }
body.app-body .dash-big-card h2 { color: inherit !important; font-size: clamp(42px, 5vw, 68px) !important; margin: 18px 0 !important; }
body.app-body .dash-big-card span, body.app-body .dash-big-card p { color: inherit !important; }
body.app-body .dash-progress-card { background: var(--bvms-surface) !important; color: var(--bvms-text) !important; display: grid; place-items: center; text-align: center; }

body.app-body .dash-metrics-grid,
body.app-body .dash-fixed-metrics { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 14px !important; }
body.app-body .dash-metric,
body.app-body .dash-mini {
  padding: 17px !important;
  border-radius: 18px !important;
  background: var(--bvms-surface) !important;
  border: 1px solid var(--bvms-border) !important;
  box-shadow: var(--bvms-shadow) !important;
}
body.app-body .dash-metric span,
body.app-body .dash-mini span { display:block; color: var(--bvms-muted) !important; font-weight: 700; font-size: .82rem; }
body.app-body .dash-metric strong,
body.app-body .dash-mini strong { display:block; margin-top:8px; color: var(--bvms-text) !important; font-size: 1.45rem; }

/* Parte inferior do dashboard: evita seis colunas espremidas */
body.app-body .dashboard-sortable-area {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}
body.app-body .dashboard-sortable-area .dash-panel,
body.app-body .dashboard-sortable-area .dash-mini {
  grid-column: span 4 !important;
  min-height: 210px !important;
}
body.app-body .dashboard-sortable-area .dashboard-wide,
body.app-body .dashboard-sortable-area .dash-panel-large {
  grid-column: span 8 !important;
}
body.app-body .dash-panel-header { display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: 12px !important; margin-bottom: 12px !important; }
body.app-body .dash-panel-header span { display: inline-flex; padding: 5px 10px; border-radius: 999px; background: var(--bvms-primary-soft); color: var(--bvms-primary) !important; font-size: .74rem; font-weight: 760; }
body.app-body .dash-panel-header h2 { margin: 7px 0 0 !important; font-size: 1.1rem !important; }
body.app-body .dash-chart-box { min-height: 230px !important; border-radius: 16px !important; background: linear-gradient(180deg, color-mix(in srgb, var(--bvms-primary) 5%, transparent), transparent) !important; border: 1px dashed var(--bvms-border) !important; padding: 10px !important; }
body.app-body .dash-empty { display: grid; place-items: center; min-height: 130px; border: 1px dashed var(--bvms-border-2); border-radius: 16px; color: var(--bvms-muted); text-align: center; padding: 18px; font-weight: 700; }

/* ---------- Sales ---------- */
body.app-body .sales-header-actions { display:flex; gap:10px; flex-wrap:wrap; }
body.app-body .ux-guide-grid { display:grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap:12px !important; }
body.app-body .ux-guide-card { display:flex; gap:12px; align-items:flex-start; padding:14px !important; border-radius:16px !important; background:var(--bvms-surface) !important; border:1px solid var(--bvms-border) !important; box-shadow:var(--bvms-shadow) !important; }
body.app-body .ux-guide-icon { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border-radius:12px; background:var(--bvms-primary-soft); color:var(--bvms-primary); }
body.app-body .ux-guide-card strong { display:block; margin-bottom:4px; }
body.app-body .ux-guide-card span { color:var(--bvms-muted) !important; font-size:.86rem; }
body.app-body .sales-summary-grid,
body.app-body .expenses-summary-grid,
body.app-body .dre-kpi-grid,
body.app-body .stat-grid { display:grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap:14px !important; }
body.app-body .sales-summary-grid { grid-template-columns: repeat(6, minmax(0,1fr)) !important; }
body.app-body .sales-period-strip { display:grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap:14px !important; }
body.app-body .sales-period-strip > div { padding:17px; border-radius:16px; background:var(--bvms-surface); border:1px solid var(--bvms-border); box-shadow:var(--bvms-shadow); }
body.app-body .sales-summary-card span,
body.app-body .expenses-summary-card span { display:block; color:var(--bvms-muted) !important; font-weight:700; margin-bottom:8px; }
body.app-body .sales-summary-card strong,
body.app-body .expenses-summary-card strong { color:var(--bvms-text) !important; font-size:1.25rem; }
body.app-body .sales-table { min-width: 1100px; }
body.app-body .profit-positive { color: var(--bvms-success) !important; font-weight:760; }
body.app-body .profit-negative { color: var(--bvms-danger) !important; font-weight:760; }

/* ---------- Products ---------- */
body.app-body .bvms-products-page .stat-grid { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
body.app-body .bvms-products-page .filter-grid { display:grid !important; grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr 1fr auto !important; gap:12px !important; align-items:end !important; }
body.app-body .bvms-products-page .cost-filter-grid { display:grid !important; grid-template-columns: 1fr 1fr 1.3fr auto auto !important; gap:12px !important; align-items:end !important; }
body.app-body .bvms-products-page .cost-mini-grid { display:grid !important; grid-template-columns: repeat(5, minmax(0,1fr)) !important; gap:12px !important; }
body.app-body .bvms-products-page .cost-mini-card { padding:14px; border-radius:16px; background:var(--bvms-surface-2); border:1px solid var(--bvms-border); }
body.app-body .bvms-products-page .product-table { min-width: 1180px; }
body.app-body .product-name-main { color:var(--bvms-text) !important; font-weight:760; }
body.app-body .product-name-sub { color:var(--bvms-muted) !important; font-size:.82rem; }
body.app-body .bar-row { display:grid; grid-template-columns:90px 1fr 100px; gap:10px; align-items:center; margin:8px 0; }
body.app-body .bar-track { height:9px; background:var(--bvms-surface-3); border-radius:999px; overflow:hidden; }
body.app-body .bar-fill { height:100%; border-radius:999px; background:linear-gradient(90deg,#2563eb,#14b8a6); }

/* ---------- Imports ---------- */
body.app-body .smart-steps { display:grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap:12px !important; }
body.app-body .step-card { padding:14px 16px; border-radius:16px; background:var(--bvms-surface); border:1px solid var(--bvms-border); display:flex; align-items:center; gap:10px; color:var(--bvms-text); }
body.app-body .step-card span { width:32px; height:32px; border-radius:999px; display:grid; place-items:center; background:var(--bvms-surface-3); color:var(--bvms-text); font-weight:760; }
body.app-body .step-card.active { border-color:color-mix(in srgb,var(--bvms-primary) 45%,transparent); }
body.app-body .step-card.active span { background:var(--bvms-primary); color:#fff; }
body.app-body .smart-upload-card { display:grid !important; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr) !important; gap:22px !important; padding:26px !important; }
body.app-body .smart-file-drop,
body.app-body .file-drop { min-height:120px; display:grid; place-items:center; text-align:center; border:2px dashed var(--bvms-border-2) !important; border-radius:18px; background:var(--bvms-surface-2) !important; color:var(--bvms-text) !important; padding:18px; cursor:pointer; }
body.app-body .upload-form { display:grid; gap:12px; }
body.app-body .imports-info-grid,
body.app-body .preview-metrics { display:grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap:14px !important; }
body.app-body .preview-metrics { grid-template-columns: repeat(5,minmax(0,1fr)) !important; }
body.app-body .preview-metrics > div { padding:13px; border-radius:14px; background:var(--bvms-surface-2); border:1px solid var(--bvms-border); }
body.app-body .history-list { display:grid; gap:10px; }
body.app-body .history-item { display:grid !important; grid-template-columns: minmax(0,1fr) auto auto !important; gap:14px !important; align-items:center !important; padding:14px !important; }
body.app-body .history-main { display:flex; gap:12px; align-items:center; min-width:0; }
body.app-body .history-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; background:var(--bvms-info-soft); color:var(--bvms-info); font-weight:760; font-size:.75rem; }
body.app-body .history-stats { display:flex; gap:8px; flex-wrap:wrap; }
body.app-body .history-stats span { padding:6px 9px; border-radius:999px; background:var(--bvms-surface-2); border:1px solid var(--bvms-border); color:var(--bvms-text-soft); font-size:.78rem; }
body.app-body .history-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
body.app-body .preview-table-wrap { overflow:auto; max-height:460px; border-radius:16px; border:1px solid var(--bvms-border); }
body.app-body .column-map-button { width:100%; min-width:120px; display:grid !important; gap:4px; background:transparent !important; border:0 !important; padding:0 !important; color:inherit !important; }
body.app-body .column-map-button small { color:var(--bvms-muted) !important; }

/* ---------- Expenses / DRE / Statement / Planning ---------- */
body.app-body .expenses-grid,
body.app-body .dre-content-grid { display:grid !important; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr) !important; gap:18px !important; align-items:start !important; }
body.app-body .expenses-grid { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr) !important; }
body.app-body .expenses-filter-form,
body.app-body .expense-form,
body.app-body .dre-filter-fields { display:grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap:12px !important; align-items:end !important; }
body.app-body .expense-form { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
body.app-body .expense-type-options { display:flex; gap:10px; flex-wrap:wrap; }
body.app-body .erp-dre-formula { display:grid; gap:8px; margin:16px 0; }
body.app-body .erp-dre-step { padding:12px; border-radius:14px; background:var(--bvms-surface-2); border:1px solid var(--bvms-border); }
body.app-body .dre-side-stack { display:grid; gap:18px; }
body.app-body .dre-table { min-width:720px; }
body.app-body .dre-ranking-list,
body.app-body .dre-ratio-list { display:grid; gap:10px; }
body.app-body .dre-ranking-item { padding:12px; border-radius:14px; background:var(--bvms-surface-2); border:1px solid var(--bvms-border); display:flex; justify-content:space-between; gap:12px; }
body.app-body .page-header + .card,
body.app-body .page-header + .row { margin-top: 0 !important; }
body.app-body .alert { padding:14px 16px; border-radius:14px; border:1px solid var(--bvms-border); background:var(--bvms-info-soft); color:var(--bvms-text); }
body.app-body .alert-info { background:var(--bvms-info-soft) !important; color:var(--bvms-info) !important; }
body.app-body .alert-warning { background:var(--bvms-warning-soft) !important; color:var(--bvms-warning) !important; }
body.app-body .alert-danger { background:var(--bvms-danger-soft) !important; color:var(--bvms-danger) !important; }
body.app-body .alert-success { background:var(--bvms-success-soft) !important; color:var(--bvms-success) !important; }

/* ---------- Modais ---------- */
body.app-body .bvms-modal,
body.app-body .import-modal,
body.app-body .bvms-modal-backdrop,
body.app-body .import-modal-backdrop { z-index: 3000; }
body.app-body .bvms-modal-backdrop,
body.app-body .import-modal { display:none; }
body.app-body .bvms-modal-backdrop.is-open,
body.app-body .import-modal.is-open { display:flex !important; position:fixed; inset:0; align-items:center; justify-content:center; background:rgba(15,23,42,.58); backdrop-filter:blur(4px); padding:18px; }
body.app-body .bvms-edit-modal,
body.app-body .import-modal-card,
body.app-body .bvms-modal-card { width:min(820px,100%); max-height:92vh; overflow:auto; border-radius:20px; background:var(--bvms-surface); color:var(--bvms-text); border:1px solid var(--bvms-border); box-shadow:0 28px 80px rgba(0,0,0,.25); }
body.app-body .modal-head,
body.app-body .modal-body,
body.app-body .modal-foot,
body.app-body .import-modal-header,
body.app-body .column-map-body,
body.app-body .column-map-actions { padding:18px 20px; }
body.app-body .modal-foot,
body.app-body .column-map-actions { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; border-top:1px solid var(--bvms-border); }
body.app-body .modal-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:12px; }

/* ---------- Responsivo ---------- */
@media (max-width: 1280px) {
  body.app-body .sales-summary-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  body.app-body .erp-data-flow { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  body.app-body .dashboard-alert-inline-list { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  body.app-body .dashboard-sortable-area .dash-panel,
  body.app-body .dashboard-sortable-area .dash-mini { grid-column: span 6 !important; }
  body.app-body .dashboard-sortable-area .dashboard-wide,
  body.app-body .dashboard-sortable-area .dash-panel-large { grid-column: span 12 !important; }
  body.app-body .bvms-products-page .filter-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width: 980px) {
  body.app-body .dashboard-top-row,
  body.app-body .dashboard-brief,
  body.app-body .smart-upload-card,
  body.app-body .expenses-grid,
  body.app-body .dre-content-grid { grid-template-columns: 1fr !important; }
  body.app-body .dash-main-grid,
  body.app-body .dash-metrics-grid,
  body.app-body .dash-fixed-metrics,
  body.app-body .sales-period-strip,
  body.app-body .sales-summary-grid,
  body.app-body .expenses-summary-grid,
  body.app-body .dre-kpi-grid,
  body.app-body .stat-grid,
  body.app-body .ux-guide-grid,
  body.app-body .imports-info-grid,
  body.app-body .preview-metrics,
  body.app-body .bvms-products-page .stat-grid,
  body.app-body .bvms-products-page .cost-mini-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.app-body .history-item { grid-template-columns: 1fr !important; }
}
@media (max-width: 700px) {
  body.app-body .page-content, body.app-body main.page-content { padding: 16px !important; }
  body.app-body .dashboard-top-row,
  body.app-body .sales-header-row,
  body.app-body .expenses-header,
  body.app-body .imports-header,
  body.app-body .page-hero { padding: 16px !important; }
  body.app-body .erp-data-flow,
  body.app-body .dashboard-alert-inline-list,
  body.app-body .dashboard-sortable-area,
  body.app-body .dash-main-grid,
  body.app-body .dash-metrics-grid,
  body.app-body .sales-summary-grid,
  body.app-body .sales-period-strip,
  body.app-body .ux-guide-grid,
  body.app-body .smart-steps,
  body.app-body .bvms-products-page .filter-grid,
  body.app-body .bvms-products-page .cost-filter-grid,
  body.app-body .bvms-products-page .cost-mini-grid,
  body.app-body .expenses-filter-form,
  body.app-body .expense-form,
  body.app-body .dre-filter-fields,
  body.app-body .modal-grid { grid-template-columns: 1fr !important; }
  body.app-body .dashboard-sortable-area .dash-panel,
  body.app-body .dashboard-sortable-area .dash-mini,
  body.app-body .dashboard-sortable-area .dashboard-wide,
  body.app-body .dashboard-sortable-area .dash-panel-large { grid-column: span 1 !important; }
}
    --mini-purple: #7c3aed;
    --mini-green: #10b981;
    --mini-orange: #f59e0b;
    --mini-red: #ef4444;
    --mini-glow-blue: rgba(31, 131, 255, .20);
    --mini-glow-cyan: rgba(0, 199, 232, .18);
}

html[data-theme="dark"],
html.theme-dark,
body.theme-dark,
body.dark {
    --mini-bg: #06101e;
    --mini-surface: #0d1a2f;
    --mini-surface-2: #111f36;
    --mini-surface-3: #162942;
    --mini-text: #edf6ff;
    --mini-muted: #92a3bf;
    --mini-border: rgba(135, 176, 230, .17);
    --mini-shadow: 0 22px 60px rgba(0, 0, 0, .30);
    --mini-blue: #23a4ff;
    --mini-cyan: #14f1d9;
    --mini-teal: #0ee6c4;
    --mini-purple: #9b5cff;
    --mini-green: #16d69b;
    --mini-orange: #ffb14a;
    --mini-red: #ff5675;
    --mini-glow-blue: rgba(35, 164, 255, .23);
    --mini-glow-cyan: rgba(20, 241, 217, .18);
}

body.app-body .page-content:has(.bvms-dashboard-minimal),
body.app-body main.page-content:has(.bvms-dashboard-minimal) {
    background:
        radial-gradient(circle at 16% 0%, rgba(35, 164, 255, .12), transparent 28%),
        radial-gradient(circle at 78% 8%, rgba(20, 241, 217, .09), transparent 26%),
        var(--mini-bg) !important;
    color: var(--mini-text) !important;
    padding: 22px 24px 30px !important;
}

.bvms-dashboard-minimal,
.bvms-dashboard-minimal * {
    box-sizing: border-box;
}

.bvms-dashboard-minimal {
    color: var(--mini-text);
    display: grid;
    gap: 14px;
    font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
    font-size: 14px;
}

.bvms-dashboard-minimal h1,
.bvms-dashboard-minimal h2,
.bvms-dashboard-minimal h3,
.bvms-dashboard-minimal p,
.bvms-dashboard-minimal span,
.bvms-dashboard-minimal small,
.bvms-dashboard-minimal strong,
.bvms-dashboard-minimal a,
.bvms-dashboard-minimal button {
    color: inherit;
}

.mini-dash-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: end;
    padding: 18px;
    border: 1px solid var(--mini-border);
    border-radius: 24px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--mini-surface) 92%, transparent), color-mix(in srgb, var(--mini-surface-2) 90%, transparent));
    box-shadow: var(--mini-shadow);
}

.mini-eyebrow,
.mini-panel-head span {
    display: inline-flex;
    align-items: center;
    width: max-content;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--mini-blue) 13%, transparent);
    color: var(--mini-blue) !important;
    font-size: 12px;
    font-weight: 700;
}

.mini-title-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.mini-dash-title h1 {
    margin: 0 !important;
    color: var(--mini-text) !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    letter-spacing: -0.055em !important;
    line-height: 1.03 !important;
    font-weight: 760 !important;
}

.mini-dash-title p {
    margin: 8px 0 0 !important;
    color: var(--mini-muted) !important;
    max-width: 820px;
    font-size: 14px;
}

.mini-period-trigger {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0 12px;
    border-radius: 14px;
    border: 1px solid var(--mini-border);
    background: var(--mini-surface-2);
    color: var(--mini-text);
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
}

.mini-period-trigger span {
    color: var(--mini-muted);
    font-size: 11px;
    font-weight: 650;
}

.mini-period-trigger strong {
    font-size: 13px;
    font-weight: 720;
}

.mini-period-trigger i {
    color: var(--mini-cyan);
}

.mini-module-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.mini-module-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 13px;
    border: 1px solid var(--mini-border);
    background: var(--mini-surface-2);
    text-decoration: none;
    color: var(--mini-text) !important;
    font-weight: 650;
    font-size: 13px;
}

.mini-module-tabs a:hover,
.mini-period-trigger:hover {
    border-color: color-mix(in srgb, var(--mini-blue) 45%, var(--mini-border));
    box-shadow: 0 0 0 3px var(--mini-glow-blue);
}

.mini-module-tabs a:nth-child(1) i { color: var(--mini-blue); }
.mini-module-tabs a:nth-child(2) i { color: var(--mini-purple); }
.mini-module-tabs a:nth-child(3) i { color: var(--mini-cyan); }
.mini-module-tabs a:nth-child(4) i { color: var(--mini-green); }
.mini-module-tabs a:nth-child(5) i { color: var(--mini-orange); }

.mini-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.mini-kpi-card,
.mini-panel {
    border: 1px solid var(--mini-border);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--mini-surface) 98%, transparent), color-mix(in srgb, var(--mini-surface-2) 96%, transparent));
    border-radius: 20px;
    box-shadow: var(--mini-shadow);
}

.mini-kpi-card {
    position: relative;
    overflow: hidden;
    min-height: 130px;
    padding: 15px;
}

.mini-kpi-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 18% 0%, var(--card-glow, var(--mini-glow-blue)), transparent 48%);
    opacity: .85;
}

.mini-kpi-card > * {
    position: relative;
    z-index: 1;
}

.mini-kpi-card span {
    display: block;
    color: var(--mini-muted) !important;
    font-size: 12px;
    font-weight: 680;
}

.mini-kpi-card strong {
    display: block;
    margin-top: 8px;
    color: var(--mini-text) !important;
    font-size: clamp(19px, 1.55vw, 25px);
    line-height: 1;
    font-weight: 780;
    letter-spacing: -0.04em;
}

.mini-kpi-card small {
    display: block;
    margin-top: 7px;
    color: var(--mini-muted) !important;
    font-size: 11px;
}

.mini-spark {
    height: 34px;
    margin-top: 10px;
}

.mini-spark canvas {
    width: 100% !important;
    height: 34px !important;
}

.accent-blue { --card-glow: rgba(35, 164, 255, .18); }
.accent-cyan { --card-glow: rgba(20, 241, 217, .16); }
.accent-purple { --card-glow: rgba(155, 92, 255, .16); }
.accent-orange { --card-glow: rgba(255, 177, 74, .16); }
.accent-green { --card-glow: rgba(22, 214, 155, .16); }
.accent-red { --card-glow: rgba(255, 86, 117, .16); }

.accent-ring {
    display: grid;
    grid-template-columns: 1fr 70px;
    gap: 10px;
    align-items: center;
}

.mini-ring {
    --p: 0;
    width: 66px;
    height: 66px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: conic-gradient(var(--mini-cyan) calc(var(--p) * 1%), color-mix(in srgb, var(--mini-muted) 18%, transparent) 0);
    box-shadow: 0 0 22px var(--mini-glow-cyan);
}

.mini-ring b {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--mini-surface);
    color: var(--mini-text);
    font-size: 13px;
}

.mini-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px;
}

.mini-panel {
    min-height: 220px;
    padding: 15px;
    color: var(--mini-text);
    overflow: hidden;
}

.mini-dre-flow { grid-column: span 4; }
.mini-evolution-panel { grid-column: span 5; }
.mini-cost-panel { grid-column: span 3; }
.mini-product-panel,
.mini-plan-panel,
.mini-alert-panel,
.mini-import-panel,
.mini-cash-panel,
.mini-goal-panel { grid-column: span 2; }

.mini-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.mini-panel-head h2 {
    margin: 7px 0 0 !important;
    color: var(--mini-text) !important;
    font-size: 17px !important;
    letter-spacing: -0.035em !important;
    font-weight: 740 !important;
}

.mini-panel-head a,
.mini-panel-head small,
.mini-panel-head b {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--mini-surface-3);
    color: var(--mini-blue) !important;
    text-decoration: none;
    font-weight: 700;
    font-size: 12px;
    white-space: nowrap;
}

.mini-panel-head b {
    min-width: 28px;
    padding: 0;
    background: color-mix(in srgb, var(--mini-red) 18%, transparent);
    color: var(--mini-red) !important;
}

.mini-chart {
    min-height: 180px;
    width: 100%;
}

.mini-chart.tall {
    height: 230px;
}

.mini-chart.donut {
    height: 190px;
    width: 190px;
    max-width: 100%;
}

.mini-chart canvas {
    width: 100% !important;
    height: 100% !important;
}

.mini-dre-badges {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--mini-border);
}

.mini-dre-badges span {
    color: var(--mini-muted) !important;
    font-size: 11px;
    text-align: center;
}

.mini-dre-badges strong {
    display: block;
    color: var(--mini-text) !important;
    margin-top: 3px;
    font-size: 13px;
}

.mini-donut-layout {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 12px;
    align-items: center;
}

.mini-cost-list {
    display: grid;
    gap: 10px;
}

.mini-cost-list span {
    display: grid;
    grid-template-columns: 10px 1fr;
    gap: 8px;
    color: var(--mini-muted) !important;
    font-size: 12px;
}

.mini-cost-list i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-top: 5px;
}

.mini-cost-list strong {
    display: block;
    color: var(--mini-text) !important;
    margin-top: 2px;
    font-size: 13px;
}

.c-purple { background: var(--mini-purple); }
.c-cyan { background: var(--mini-cyan); }
.c-orange { background: var(--mini-orange); }

.mini-product-bars,
.mini-alert-list,
.mini-progress-stack {
    display: grid;
    gap: 10px;
}

.mini-product-line div,
.mini-goal-line,
.mini-progress-stack div {
    display: grid;
    gap: 4px;
}

.mini-product-line div {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.mini-product-line span,
.mini-progress-stack span,
.mini-goal-line span,
.mini-alert-item span,
.mini-two-cols span,
.mini-plan-table span {
    color: var(--mini-muted) !important;
    font-size: 12px;
    font-weight: 620;
}

.mini-product-line strong,
.mini-progress-stack strong,
.mini-goal-line strong,
.mini-two-cols strong,
.mini-plan-table strong {
    color: var(--mini-text) !important;
    font-size: 13px;
    font-weight: 720;
}

.mini-product-line em,
.mini-progress-stack em,
.mini-goal-line em {
    position: relative;
    display: block;
    width: 100%;
    height: 7px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--mini-muted) 16%, transparent);
    overflow: hidden;
}

.mini-product-line em i,
.mini-progress-stack em i,
.mini-goal-line em i {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--mini-blue), var(--mini-cyan));
    box-shadow: 0 0 16px var(--mini-glow-cyan);
}

.mini-plan-table {
    display: grid;
    gap: 8px;
}

.mini-plan-table div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: center;
    padding: 10px;
    border-radius: 14px;
    background: var(--mini-surface-2);
}

.mini-plan-table em {
    color: var(--mini-green);
    font-style: normal;
    font-size: 12px;
    font-weight: 720;
}

.mini-alert-item {
    display: grid;
    grid-template-columns: 30px 1fr auto;
    gap: 10px;
    align-items: start;
    padding: 10px;
    border-radius: 14px;
    background: var(--mini-surface-2);
    border: 1px solid var(--mini-border);
}

.mini-alert-item i {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    font-style: normal;
    font-weight: 800;
}

.mini-alert-item strong {
    display: block;
    color: var(--mini-text) !important;
    font-size: 13px;
    font-weight: 720;
}

.mini-alert-item em {
    align-self: start;
    padding: 4px 7px;
    border-radius: 999px;
    font-style: normal;
    font-size: 10px;
    font-weight: 740;
}

.mini-alert-item.danger i,
.mini-alert-item.danger em { background: color-mix(in srgb, var(--mini-red) 18%, transparent); color: var(--mini-red); }
.mini-alert-item.warning i,
.mini-alert-item.warning em { background: color-mix(in srgb, var(--mini-orange) 18%, transparent); color: var(--mini-orange); }
.mini-alert-item.info i,
.mini-alert-item.info em { background: color-mix(in srgb, var(--mini-blue) 16%, transparent); color: var(--mini-blue); }
.mini-alert-item.success i,
.mini-alert-item.success em { background: color-mix(in srgb, var(--mini-green) 16%, transparent); color: var(--mini-green); }

.mini-empty-state {
    display: grid;
    place-items: center;
    min-height: 130px;
    padding: 18px;
    border-radius: 16px;
    background: var(--mini-surface-2);
    border: 1px dashed var(--mini-border);
    color: var(--mini-muted);
    text-align: center;
    font-weight: 650;
}

.mini-gauge {
    --p: 0;
    width: 138px;
    height: 74px;
    margin: 4px auto 16px;
    border-radius: 999px 999px 18px 18px;
    display: grid;
    place-items: end center;
    padding-bottom: 10px;
    background: conic-gradient(from 270deg, var(--mini-red) 0 25%, var(--mini-orange) 25% 48%, var(--mini-green) 48% calc(var(--p) * 1%), color-mix(in srgb, var(--mini-muted) 17%, transparent) 0 100%);
    box-shadow: 0 0 28px color-mix(in srgb, var(--mini-green) 22%, transparent);
}

.mini-gauge div {
    width: 88px;
    height: 52px;
    border-radius: 999px 999px 16px 16px;
    display: grid;
    place-items: center;
    background: var(--mini-surface);
}

.mini-gauge strong {
    color: var(--mini-text) !important;
    font-size: 20px;
    line-height: 1;
}

.mini-gauge span {
    color: var(--mini-muted) !important;
    font-size: 11px;
}

.mini-two-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.mini-two-cols span {
    padding: 10px;
    border-radius: 14px;
    background: var(--mini-surface-2);
}

.mini-panel-head small.good { color: var(--mini-green) !important; }
.mini-panel-head small.warn { color: var(--mini-orange) !important; }
.mini-panel-head small.bad { color: var(--mini-red) !important; }

.mini-goal-line small {
    color: var(--mini-muted) !important;
    font-size: 12px;
}

.mini-dash-footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 4px 6px 0;
    color: var(--mini-muted);
    font-size: 12px;
}

.mini-dash-footer button {
    border: 0;
    background: transparent;
    color: var(--mini-blue);
    cursor: pointer;
    font-weight: 700;
}

.mini-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: grid;
    place-items: center;
    padding: 22px;
    background: rgba(5, 12, 23, .52);
    backdrop-filter: blur(4px);
}

.mini-modal-overlay[hidden] {
    display: none !important;
}

.mini-period-modal {
    width: min(520px, 100%);
    border: 1px solid var(--mini-border);
    border-radius: 24px;
    background: var(--mini-surface);
    color: var(--mini-text);
    box-shadow: 0 32px 100px rgba(0, 0, 0, .28);
    overflow: hidden;
}

.mini-period-modal header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--mini-border);
}

.mini-period-modal header span,
.mini-period-modal header small {
    display: block;
    color: var(--mini-muted);
    font-size: 12px;
    font-weight: 650;
}

.mini-period-modal header strong {
    display: block;
    margin: 4px 0;
    font-size: 21px;
    color: var(--mini-text);
}

.mini-period-modal header button {
    width: 36px;
    height: 36px;
    border-radius: 13px;
    border: 1px solid var(--mini-border);
    background: var(--mini-surface-2);
    color: var(--mini-text);
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
}

.mini-period-form {
    display: grid;
    gap: 14px;
    padding: 18px 20px;
}

.mini-period-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

 .mini-period-tabs button,
.mini-btn {
    min-height: 42px;
    border-radius: 13px;
    border: 1px solid var(--mini-border);
    background: var(--mini-surface-2);
    color: var(--mini-text);
    cursor: pointer;
    font-weight: 800;
}

.mini-period-tabs button.active,
.mini-btn.primary {
    background: linear-gradient(135deg, var(--mini-blue), var(--mini-cyan));
    border-color: transparent;
    color: #ffffff !important;
    box-shadow: 0 12px 28px var(--mini-glow-blue);
}

.mini-btn.ghost {
    background: transparent;
    color: var(--mini-muted) !important;
}

.mini-period-fields {
    display: grid;
    gap: 8px;
}

.mini-period-fields.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mini-period-fields[hidden] {
    display: none !important;
}

.mini-period-fields label {
    color: var(--mini-muted) !important;
    font-size: 12px;
    font-weight: 800;
}

.mini-period-fields input,
.mini-period-fields select {
    width: 100%;
    min-height: 44px;
    border-radius: 13px;
    border: 1px solid var(--mini-border);
    background: var(--mini-surface-2);
    color: var(--mini-text);
    padding: 0 12px;
    outline: none;
}

.mini-period-fields input:focus,
.mini-period-fields select:focus {
    border-color: color-mix(in srgb, var(--mini-blue) 60%, var(--mini-border));
    box-shadow: 0 0 0 3px var(--mini-glow-blue);
}

.mini-period-form footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 4px;
}

/* =========================================================
   BVMS - Ajuste específico da parte inferior do Dashboard minimalista
========================================================= */
body.app-body .bvms-dashboard-minimal .mini-dashboard-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}
body.app-body .bvms-dashboard-minimal .mini-panel {
  min-height: 215px !important;
}
body.app-body .bvms-dashboard-minimal .mini-evolution-panel,
body.app-body .bvms-dashboard-minimal .mini-dre-panel,
body.app-body .bvms-dashboard-minimal .mini-cost-panel {
  grid-column: span 4 !important;
}
body.app-body .bvms-dashboard-minimal .mini-product-panel,
body.app-body .bvms-dashboard-minimal .mini-plan-panel,
body.app-body .bvms-dashboard-minimal .mini-alert-panel,
body.app-body .bvms-dashboard-minimal .mini-import-panel,
body.app-body .bvms-dashboard-minimal .mini-cash-panel,
body.app-body .bvms-dashboard-minimal .mini-goal-panel {
  grid-column: span 4 !important;
}
@media (max-width: 1280px) {
  body.app-body .bvms-dashboard-minimal .mini-evolution-panel,
  body.app-body .bvms-dashboard-minimal .mini-dre-panel,
  body.app-body .bvms-dashboard-minimal .mini-cost-panel,
  body.app-body .bvms-dashboard-minimal .mini-product-panel,
  body.app-body .bvms-dashboard-minimal .mini-plan-panel,
  body.app-body .bvms-dashboard-minimal .mini-alert-panel,
  body.app-body .bvms-dashboard-minimal .mini-import-panel,
  body.app-body .bvms-dashboard-minimal .mini-cash-panel,
  body.app-body .bvms-dashboard-minimal .mini-goal-panel { grid-column: span 6 !important; }
}
@media (max-width: 760px) {
  body.app-body .bvms-dashboard-minimal .mini-dashboard-grid { grid-template-columns: 1fr !important; }
  body.app-body .bvms-dashboard-minimal .mini-panel { grid-column: span 1 !important; }
}

/* =========================================================
   BVMS - Ajustes produtos: seleção e exclusão
========================================================= */
.bulk-actions-clean {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 14px;
    padding: 10px 12px;
    border: 1px solid var(--v2-border, rgba(148,163,184,.22));
    border-radius: 14px;
    background: rgba(148, 163, 184, 0.06);
}
.actions-cell {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    white-space: nowrap;
}
.btn-danger-soft,
.btn-table-danger {
    border: 1px solid rgba(239, 68, 68, .35);
    color: #fecaca;
    background: rgba(239, 68, 68, .10);
    border-radius: 12px;
    font-weight: 800;
    cursor: pointer;
}
.btn-danger-soft {
    min-height: 38px;
    padding: 0 14px;
}
.btn-table-danger {
    min-height: 34px;
    padding: 0 10px;
}
html[data-theme="light"] .btn-danger-soft,
html[data-theme="light"] .btn-table-danger,
body.theme-light .btn-danger-soft,
body.theme-light .btn-table-danger {
    color: #b91c1c;
    background: #fff1f2;
    border-color: #fecaca;
}
.btn-danger-soft:hover,
.btn-table-danger:hover {
    background: #dc2626;
    border-color: #dc2626;
    color: #fff;
}
.product-checkbox,
#selectAllProducts {
    width: 18px !important;
    height: 18px !important;
    accent-color: var(--v2-primary, #2563eb);
}

/* =========================================================
   BVMS - Correção visual das telas clean (Vendas/ERP)
   Evita página sem CSS quando a view usa classes *-clean.
========================================================= */
body.app-body .sales-page-clean,
body.app-body .clean-page,
body.app-body .module-page-clean {
    display: grid !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    color: var(--v2-text) !important;
}

body.app-body .page-hero-clean {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 18px !important;
    padding: 24px !important;
    border-radius: 24px !important;
    background: linear-gradient(135deg, color-mix(in srgb, var(--v2-primary) 7%, var(--v2-surface)), var(--v2-surface)) !important;
    border: 1px solid var(--v2-border) !important;
    box-shadow: var(--v2-shadow) !important;
}
body.app-body .page-hero-clean h1 {
    margin: 8px 0 8px !important;
    font-size: clamp(30px, 3vw, 44px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.04em !important;
    color: var(--v2-text) !important;
}
body.app-body .page-hero-clean p {
    margin: 0 !important;
    max-width: 820px !important;
    color: var(--v2-muted) !important;
    font-weight: 600 !important;
}
body.app-body .page-chip {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    background: var(--v2-primary-soft) !important;
    color: var(--v2-primary) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}
body.app-body .hero-actions-clean,
body.app-body .filter-actions-clean,
body.app-body .modal-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

body.app-body .btn-primary-soft,
body.app-body .btn-secondary-soft,
body.app-body .btn-table {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 40px !important;
    padding: 0 14px !important;
    border-radius: 13px !important;
    border: 1px solid transparent !important;
    font-weight: 900 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease !important;
}
body.app-body .btn-primary-soft {
    background: linear-gradient(135deg, var(--v2-primary), #14b8a6) !important;
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(37, 99, 235, .18) !important;
}
body.app-body .btn-secondary-soft {
    background: var(--v2-surface) !important;
    color: var(--v2-text) !important;
    border-color: var(--v2-border) !important;
}
body.app-body .btn-primary-soft:hover,
body.app-body .btn-secondary-soft:hover,
body.app-body .btn-table:hover {
    transform: translateY(-1px) !important;
}
body.app-body .btn-table {
    min-height: 34px !important;
    padding: 0 10px !important;
    background: var(--v2-soft) !important;
    color: var(--v2-text) !important;
    border-color: var(--v2-border) !important;
}
body.app-body .btn-table.danger {
    background: #fff1f2 !important;
    color: #be123c !important;
    border-color: #fecdd3 !important;
}
body.app-body.theme-dark .btn-table.danger,
body.app-body.dark .btn-table.danger {
    background: rgba(239,68,68,.12) !important;
    color: #fecaca !important;
    border-color: rgba(239,68,68,.28) !important;
}

body.app-body .filter-card-clean,
body.app-body .cost-alert-card,
body.app-body .table-card-clean {
    padding: 16px !important;
    border-radius: 22px !important;
    background: var(--v2-surface) !important;
    border: 1px solid var(--v2-border) !important;
    box-shadow: var(--v2-shadow) !important;
}
body.app-body .cost-alert-card {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    background: #fff7ed !important;
    border-color: #fed7aa !important;
    color: #7c2d12 !important;
}
body.app-body.theme-dark .cost-alert-card,
body.app-body.dark .cost-alert-card {
    background: rgba(251,146,60,.12) !important;
    border-color: rgba(251,146,60,.28) !important;
    color: #fed7aa !important;
}
body.app-body .cost-alert-card p { margin: 4px 0 0 !important; }

body.app-body .bvms-period-summary {
    appearance: none !important;
    cursor: pointer !important;
    text-align: left !important;
}
body.app-body .bvms-period-summary small {
    display: block !important;
    margin-bottom: 5px !important;
    color: var(--v2-muted) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}
body.app-body .bvms-period-summary strong {
    display: block !important;
    color: var(--v2-text) !important;
    font-size: 20px !important;
    line-height: 1.1 !important;
}
body.app-body .bvms-dynamic-filter-panel[hidden],
body.app-body [hidden] { display: none !important; }
body.app-body .bvms-dynamic-filter-panel {
    margin-top: 14px !important;
    animation: bvmsFilterOpen .16s ease both !important;
}
@keyframes bvmsFilterOpen {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

body.app-body .sales-period-tabs {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin: 0 0 14px !important;
}
body.app-body .sales-period-tab {
    min-height: 38px !important;
    padding: 0 13px !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: 12px !important;
    background: var(--v2-soft) !important;
    color: var(--v2-text) !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}
body.app-body .sales-period-tab.active {
    background: var(--v2-primary) !important;
    border-color: var(--v2-primary) !important;
    color: #fff !important;
}
body.app-body .filter-grid-clean,
body.app-body .modal-form-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: end !important;
}
body.app-body .filter-grid-clean label,
body.app-body .modal-form-grid label {
    grid-column: span 3 !important;
    margin: 0 !important;
    color: var(--v2-text) !important;
    font-weight: 900 !important;
    font-size: 13px !important;
}
body.app-body .filter-grid-clean label:has(input[name="search"]) { grid-column: span 6 !important; }
body.app-body .filter-actions-clean { grid-column: span 3 !important; justify-content: flex-start !important; }
body.app-body .filter-grid-clean input,
body.app-body .filter-grid-clean select,
body.app-body .modal-form-grid input,
body.app-body .modal-form-grid select,
body.app-body .modal-form-grid textarea {
    width: 100% !important;
    min-height: 42px !important;
    margin-top: 7px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    border: 1px solid var(--v2-border) !important;
    background: var(--v2-surface) !important;
    color: var(--v2-text) !important;
    box-shadow: none !important;
}
body.app-body .filter-grid-clean input::placeholder { color: var(--v2-muted) !important; }

body.app-body .kpi-grid-clean {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 12px !important;
}
body.app-body .kpi-clean {
    min-height: 108px !important;
    padding: 16px !important;
    border-radius: 20px !important;
    background: var(--v2-surface) !important;
    border: 1px solid var(--v2-border) !important;
    box-shadow: var(--v2-shadow) !important;
}
body.app-body .kpi-clean span {
    display: block !important;
    color: var(--v2-muted) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}
body.app-body .kpi-clean strong {
    display: block !important;
    margin-top: 10px !important;
    color: var(--v2-text) !important;
    font-size: clamp(20px, 2vw, 28px) !important;
    line-height: 1.1 !important;
}
body.app-body .kpi-clean.warning { border-color: #f59e0b !important; background: #fffbeb !important; }
body.app-body.theme-dark .kpi-clean.warning,
body.app-body.dark .kpi-clean.warning { background: rgba(245,158,11,.12) !important; }

body.app-body .table-card-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}
body.app-body .table-card-head h2 {
    margin: 0 0 4px !important;
    color: var(--v2-text) !important;
    font-size: 24px !important;
    letter-spacing: -.03em !important;
}
body.app-body .table-card-head p {
    margin: 0 !important;
    color: var(--v2-muted) !important;
    font-weight: 700 !important;
}
body.app-body .table-responsive {
    width: 100% !important;
    overflow-x: auto !important;
    border-radius: 18px !important;
    border: 1px solid var(--v2-border) !important;
}
body.app-body .erp-table {
    width: 100% !important;
    min-width: 1180px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin: 0 !important;
    background: var(--v2-surface) !important;
    color: var(--v2-text) !important;
}
body.app-body .erp-table th,
body.app-body .erp-table td {
    padding: 14px 14px !important;
    border-bottom: 1px solid var(--v2-border) !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}
body.app-body .erp-table th {
    background: var(--v2-soft) !important;
    color: var(--v2-muted) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}
body.app-body .erp-table td strong { color: var(--v2-text) !important; }
body.app-body .erp-table td small {
    display: block !important;
    margin-top: 3px !important;
    color: var(--v2-muted) !important;
    font-size: 12px !important;
}
body.app-body .table-chip,
body.app-body .status-ok,
body.app-body .status-warning {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 26px !important;
    padding: 3px 9px !important;
    border-radius: 999px !important;
    font-weight: 900 !important;
    font-size: 12px !important;
}
body.app-body .table-chip { background: var(--v2-primary-soft) !important; color: var(--v2-primary) !important; }
body.app-body .status-ok { background: #dcfce7 !important; color: #166534 !important; }
body.app-body .status-warning { background: #fef3c7 !important; color: #92400e !important; }
body.app-body .text-profit { color: #16a34a !important; }
body.app-body .text-loss { color: #dc2626 !important; }
body.app-body .muted-small { color: var(--v2-muted) !important; font-size: 12px !important; font-weight: 700 !important; }

body.app-body .pagination-clean {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    margin-top: 14px !important;
}
body.app-body .pagination-clean a {
    display: inline-flex !important;
    min-width: 38px !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    border: 1px solid var(--v2-border) !important;
    background: var(--v2-surface) !important;
    color: var(--v2-text) !important;
    text-decoration: none !important;
    font-weight: 900 !important;
}
body.app-body .pagination-clean a.active {
    background: var(--v2-primary) !important;
    border-color: var(--v2-primary) !important;
    color: #fff !important;
}

body.app-body .simple-modal[hidden] { display: none !important; }
body.app-body .simple-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2000 !important;
    display: grid !important;
    place-items: center !important;
    padding: 20px !important;
    background: rgba(15,23,42,.58) !important;
    backdrop-filter: blur(6px) !important;
}
body.app-body .simple-modal-card {
    width: min(560px, 100%) !important;
    max-height: 90vh !important;
    overflow: auto !important;
    position: relative !important;
    padding: 22px !important;
    border-radius: 22px !important;
    background: var(--v2-surface) !important;
    color: var(--v2-text) !important;
    border: 1px solid var(--v2-border) !important;
    box-shadow: 0 24px 80px rgba(15,23,42,.28) !important;
}
body.app-body .simple-modal-card.wide { width: min(980px, 100%) !important; }
body.app-body .simple-modal-card h3 { margin: 0 0 6px !important; color: var(--v2-text) !important; }
body.app-body .simple-modal-card p { margin: 0 0 16px !important; color: var(--v2-muted) !important; }
body.app-body .simple-modal-close {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    width: 38px !important;
    height: 38px !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: 12px !important;
    background: var(--v2-soft) !important;
    color: var(--v2-text) !important;
    font-size: 24px !important;
    cursor: pointer !important;
}
body.app-body .manual-sale-form .check-line {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
body.app-body .manual-sale-form .check-line input {
    width: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
}

@media (max-width: 1200px) {
    body.app-body .kpi-grid-clean { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    body.app-body .filter-grid-clean label,
    body.app-body .modal-form-grid label { grid-column: span 4 !important; }
    body.app-body .filter-grid-clean label:has(input[name="search"]) { grid-column: span 8 !important; }
}
@media (max-width: 900px) {
    body.app-body .page-hero-clean { flex-direction: column !important; }
    body.app-body .hero-actions-clean { justify-content: flex-start !important; }
    body.app-body .kpi-grid-clean { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    body.app-body .filter-grid-clean label,
    body.app-body .filter-grid-clean label:has(input[name="search"]),
    body.app-body .modal-form-grid label,
    body.app-body .filter-actions-clean { grid-column: 1 / -1 !important; }
}
@media (max-width: 640px) {
    body.app-body main.page-content { padding: 18px 14px !important; }
    body.app-body .kpi-grid-clean { grid-template-columns: 1fr !important; }
    body.app-body .page-hero-clean,
    body.app-body .filter-card-clean,
    body.app-body .table-card-clean { padding: 16px !important; border-radius: 18px !important; }
}


/* =========================================================
   BVMS ERP - HOTFIX UI Produtos / Margem / Categorias
   Corrige telas que ficaram cruas ou com tabela escura fora do tema.
   Mantém o visual limpo sem alterar regra de negócio.
========================================================= */
body.app-body .products-cost-page,
body.app-body .product-margin-page,
body.app-body .category-management-page {
  width: 100% !important;
  max-width: 100% !important;
  color: var(--bvms-text, #0f172a) !important;
}

body.app-body .products-cost-page > *,
body.app-body .product-margin-page > *,
body.app-body .category-management-page > * {
  max-width: 100% !important;
}

body.app-body .products-cost-page .page-hero-clean,
body.app-body .category-management-page .page-header,
body.app-body .product-margin-page .page-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 22px !important;
  padding: 24px !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--bvms-primary, #2563eb) 8%, var(--bvms-surface, #fff)), var(--bvms-surface, #fff)) !important;
  color: var(--bvms-text, #0f172a) !important;
  box-shadow: var(--bvms-shadow, 0 12px 30px rgba(15,23,42,.075)) !important;
}

body.app-body .products-cost-page h1,
body.app-body .category-management-page h1,
body.app-body .product-margin-page h1 {
  margin: 8px 0 8px !important;
  color: var(--bvms-text, #0f172a) !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.055em !important;
}

body.app-body .products-cost-page h2,
body.app-body .category-management-page h2,
body.app-body .product-margin-page h2,
body.app-body .products-cost-page h4,
body.app-body .category-management-page h4,
body.app-body .product-margin-page h4 {
  color: var(--bvms-text, #0f172a) !important;
  letter-spacing: -.035em !important;
}

body.app-body .products-cost-page p,
body.app-body .category-management-page p,
body.app-body .product-margin-page p {
  color: var(--bvms-muted, #64748b) !important;
  line-height: 1.55 !important;
}

body.app-body .products-cost-page .filter-card-clean,
body.app-body .products-cost-page .table-card-clean,
body.app-body .products-cost-page .cost-flow-card,
body.app-body .products-cost-page .cost-alert-card,
body.app-body .category-management-page .card,
body.app-body .product-margin-page .panel {
  margin-bottom: 22px !important;
  padding: 22px !important;
  border-radius: 22px !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  background: var(--bvms-surface, #ffffff) !important;
  color: var(--bvms-text, #0f172a) !important;
  box-shadow: var(--bvms-shadow, 0 12px 30px rgba(15,23,42,.075)) !important;
}

body.app-body .products-cost-page .cost-flow-card {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
body.app-body .products-cost-page .cost-flow-card > div {
  padding: 14px !important;
  border-radius: 16px !important;
  background: var(--bvms-surface-2, #f8fafc) !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
}
body.app-body .products-cost-page .cost-flow-card strong,
body.app-body .products-cost-page .cost-flow-card span {
  display: block !important;
}
body.app-body .products-cost-page .cost-flow-card span {
  margin-top: 4px !important;
  color: var(--bvms-muted, #64748b) !important;
  font-size: .85rem !important;
}

body.app-body .products-cost-page .filter-grid-clean,
body.app-body .product-margin-page .filter-form {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: end !important;
}
body.app-body .products-cost-page .filter-grid-clean label {
  grid-column: span 3 !important;
  margin: 0 !important;
}
body.app-body .products-cost-page .filter-grid-clean label:first-of-type {
  grid-column: span 6 !important;
}
body.app-body .products-cost-page .filter-actions-clean,
body.app-body .product-margin-page .filter-form button {
  grid-column: span 3 !important;
}
body.app-body .product-margin-page .filter-form label,
body.app-body .product-margin-page .filter-form input {
  grid-column: span 4 !important;
}

body.app-body .products-cost-page input,
body.app-body .products-cost-page select,
body.app-body .products-cost-page textarea,
body.app-body .category-management-page input,
body.app-body .category-management-page select,
body.app-body .category-management-page textarea,
body.app-body .product-margin-page input,
body.app-body .product-margin-page select,
body.app-body .product-margin-page textarea {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 14px !important;
  border: 1px solid var(--bvms-border-2, #cbd5e1) !important;
  background: var(--bvms-surface, #fff) !important;
  color: var(--bvms-text, #0f172a) !important;
  padding: 10px 13px !important;
  box-shadow: none !important;
}

body.app-body .products-cost-page input[type="checkbox"],
body.app-body .category-management-page input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  padding: 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  accent-color: var(--bvms-primary, #2563eb) !important;
}

body.app-body .products-cost-page .check-line,
body.app-body .category-management-page .form-check {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 32px !important;
  margin: 0 !important;
}

body.app-body .products-cost-page .btn-primary-soft,
body.app-body .products-cost-page .btn-secondary-soft,
body.app-body .products-cost-page .btn-danger-soft,
body.app-body .category-management-page .btn,
body.app-body .product-margin-page .btn-primary,
body.app-body .product-margin-page button[type="submit"] {
  min-height: 40px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border-radius: 14px !important;
  border: 1px solid transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}
body.app-body .products-cost-page .btn-primary-soft,
body.app-body .category-management-page .btn-primary,
body.app-body .product-margin-page .btn-primary,
body.app-body .product-margin-page button[type="submit"] {
  background: linear-gradient(135deg, #2563eb, #14b8a6) !important;
  color: #fff !important;
  border-color: transparent !important;
}
body.app-body .products-cost-page .btn-secondary-soft,
body.app-body .category-management-page .btn-outline-primary,
body.app-body .category-management-page .btn-outline-secondary {
  background: var(--bvms-surface-2, #f8fafc) !important;
  color: var(--bvms-primary, #2563eb) !important;
  border-color: var(--bvms-border, #dbe3ef) !important;
}
body.app-body .products-cost-page .btn-danger-soft,
body.app-body .category-management-page .btn-outline-danger,
body.app-body .category-management-page .btn-danger {
  background: var(--bvms-danger-soft, #fef2f2) !important;
  color: var(--bvms-danger, #dc2626) !important;
  border-color: color-mix(in srgb, var(--bvms-danger, #dc2626) 28%, transparent) !important;
}

body.app-body .products-cost-page .bulk-actions-clean,
body.app-body .category-management-page .d-flex.flex-wrap.align-items-center.justify-content-between {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-bottom: 14px !important;
}

body.app-body .products-cost-page .table-responsive,
body.app-body .category-management-page .table-responsive,
body.app-body .product-margin-page .table-responsive {
  width: 100% !important;
  overflow-x: auto !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  border-radius: 18px !important;
  background: var(--bvms-surface, #fff) !important;
}
body.app-body .product-margin-page .panel > table.table {
  display: table !important;
  overflow: hidden !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  border-radius: 18px !important;
}

body.app-body .products-cost-page table,
body.app-body .products-cost-page .erp-table,
body.app-body .category-management-page table,
body.app-body .category-management-page .table,
body.app-body .product-margin-page table,
body.app-body .product-margin-page .table {
  width: 100% !important;
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: var(--bvms-surface, #fff) !important;
  color: var(--bvms-text, #0f172a) !important;
}
body.app-body .products-cost-page .erp-table { min-width: 1180px !important; }
body.app-body .category-management-page .table { min-width: 760px !important; }
body.app-body .product-margin-page .table { min-width: 860px !important; margin-top: 12px !important; }

body.app-body .products-cost-page table thead,
body.app-body .products-cost-page table th,
body.app-body .category-management-page table thead,
body.app-body .category-management-page table th,
body.app-body .product-margin-page table thead,
body.app-body .product-margin-page table th {
  background: var(--bvms-surface-3, #eef4fb) !important;
  color: var(--bvms-text-soft, #334155) !important;
  border-bottom: 1px solid var(--bvms-border, #dbe3ef) !important;
  padding: 13px 14px !important;
  font-size: .77rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .055em !important;
  white-space: nowrap !important;
}
body.app-body .products-cost-page table td,
body.app-body .category-management-page table td,
body.app-body .product-margin-page table td {
  background: var(--bvms-surface, #fff) !important;
  color: var(--bvms-text, #0f172a) !important;
  border-bottom: 1px solid var(--bvms-border, #dbe3ef) !important;
  padding: 14px !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}
body.app-body .products-cost-page table tbody tr:hover td,
body.app-body .category-management-page table tbody tr:hover td,
body.app-body .product-margin-page table tbody tr:hover td {
  background: color-mix(in srgb, var(--bvms-primary, #2563eb) 5%, var(--bvms-surface, #fff)) !important;
}

body.app-body .products-cost-page table td strong,
body.app-body .category-management-page table td strong,
body.app-body .product-margin-page table td strong {
  color: var(--bvms-text, #0f172a) !important;
}
body.app-body .products-cost-page table td small,
body.app-body .category-management-page table td small,
body.app-body .product-margin-page table td small {
  color: var(--bvms-muted, #64748b) !important;
}

body.app-body .products-cost-page .kpi-grid-clean {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-bottom: 22px !important;
}
body.app-body .products-cost-page .kpi-clean {
  padding: 18px !important;
  border-radius: 20px !important;
  background: var(--bvms-surface, #fff) !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  box-shadow: var(--bvms-shadow, 0 12px 30px rgba(15,23,42,.075)) !important;
}
body.app-body .products-cost-page .kpi-clean span {
  color: var(--bvms-muted, #64748b) !important;
}
body.app-body .products-cost-page .kpi-clean strong {
  color: var(--bvms-text, #0f172a) !important;
}

body.app-body .products-cost-page .erp-tabs {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin: 0 0 16px !important;
}
body.app-body .products-cost-page .erp-tabs a {
  padding: 10px 14px !important;
  border-radius: 999px !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  color: var(--bvms-text-soft, #334155) !important;
  background: var(--bvms-surface, #fff) !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}
body.app-body .products-cost-page .erp-tabs a.active {
  color: #fff !important;
  background: var(--bvms-primary, #2563eb) !important;
  border-color: var(--bvms-primary, #2563eb) !important;
}

body.app-body .category-management-page .alert,
body.app-body .products-cost-page .bvms-alert,
body.app-body .products-cost-page .cost-alert-card {
  border-radius: 18px !important;
  padding: 15px 17px !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
}
body.app-body .category-management-page .alert-warning,
body.app-body .products-cost-page .cost-alert-card {
  background: var(--bvms-warning-soft, #fff7ed) !important;
  color: var(--bvms-warning, #d97706) !important;
}
body.app-body .category-management-page .alert-success,
body.app-body .products-cost-page .bvms-alert.success {
  background: var(--bvms-success-soft, #dcfce7) !important;
  color: var(--bvms-success, #16a34a) !important;
}
body.app-body .category-management-page .alert-danger,
body.app-body .products-cost-page .bvms-alert.danger {
  background: var(--bvms-danger-soft, #fef2f2) !important;
  color: var(--bvms-danger, #dc2626) !important;
}
body.app-body .category-management-page .alert-info {
  background: var(--bvms-info-soft, #ecfeff) !important;
  color: var(--bvms-info, #0891b2) !important;
}

body.app-body .category-management-page .modal-content {
  background: var(--bvms-surface, #fff) !important;
  color: var(--bvms-text, #0f172a) !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  border-radius: 22px !important;
}
body.app-body .category-management-page .modal-header,
body.app-body .category-management-page .modal-footer {
  border-color: var(--bvms-border, #dbe3ef) !important;
}

@media (max-width: 1200px) {
  body.app-body .products-cost-page .kpi-grid-clean,
  body.app-body .products-cost-page .cost-flow-card { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.app-body .products-cost-page .filter-grid-clean label,
  body.app-body .products-cost-page .filter-grid-clean label:first-of-type,
  body.app-body .products-cost-page .filter-actions-clean { grid-column: span 6 !important; }
}
@media (max-width: 760px) {
  body.app-body .products-cost-page .page-hero-clean,
  body.app-body .category-management-page .page-header,
  body.app-body .product-margin-page .page-header { flex-direction: column !important; padding: 18px !important; border-radius: 18px !important; }
  body.app-body .products-cost-page .kpi-grid-clean,
  body.app-body .products-cost-page .cost-flow-card { grid-template-columns: 1fr !important; }
  body.app-body .products-cost-page .filter-grid-clean,
  body.app-body .product-margin-page .filter-form { grid-template-columns: 1fr !important; }
  body.app-body .products-cost-page .filter-grid-clean label,
  body.app-body .products-cost-page .filter-grid-clean label:first-of-type,
  body.app-body .products-cost-page .filter-actions-clean,
  body.app-body .product-margin-page .filter-form label,
  body.app-body .product-margin-page .filter-form input,
  body.app-body .product-margin-page .filter-form button { grid-column: 1 / -1 !important; }
  body.app-body .products-cost-page .table-card-clean,
  body.app-body .products-cost-page .filter-card-clean,
  body.app-body .category-management-page .card,
  body.app-body .product-margin-page .panel { padding: 16px !important; border-radius: 18px !important; }
}


/* =========================================================
   BVMS - Dashboard v4: filtro funcional, alertas no topo e DRE em planilha
========================================================= */
body.app-body .bvms-dashboard-minimal .mini-alerts-under-title {
    display: grid !important;
    gap: 10px !important;
    padding: 14px !important;
    border-radius: 20px !important;
    border: 1px solid var(--mini-border) !important;
    background: linear-gradient(135deg, color-mix(in srgb, var(--mini-surface) 96%, transparent), color-mix(in srgb, var(--mini-surface-2) 94%, transparent)) !important;
    box-shadow: var(--mini-shadow) !important;
}
body.app-body .bvms-dashboard-minimal .mini-alerts-summary {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
}
body.app-body .bvms-dashboard-minimal .mini-alerts-summary span {
    display: block !important;
    color: var(--mini-muted) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}
body.app-body .bvms-dashboard-minimal .mini-alerts-summary strong {
    display: block !important;
    margin-top: 3px !important;
    color: var(--mini-text) !important;
    font-size: 14px !important;
}
body.app-body .bvms-dashboard-minimal .mini-alerts-summary b {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
}
body.app-body .bvms-dashboard-minimal .mini-alerts-summary b.danger {
    background: color-mix(in srgb, var(--mini-red) 18%, transparent) !important;
    color: var(--mini-red) !important;
}
body.app-body .bvms-dashboard-minimal .mini-alerts-summary b.success {
    background: color-mix(in srgb, var(--mini-green) 16%, transparent) !important;
    color: var(--mini-green) !important;
}
body.app-body .bvms-dashboard-minimal .mini-alerts-inline-list {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
}
body.app-body .bvms-dashboard-minimal .mini-dre-statement-panel {
    grid-column: span 4 !important;
}
body.app-body .bvms-dashboard-minimal .mini-dre-sheet {
    display: grid !important;
    gap: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--mini-border) !important;
    border-radius: 16px !important;
    background: var(--mini-surface-2) !important;
}
body.app-body .bvms-dashboard-minimal .mini-dre-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    min-height: 39px !important;
    padding: 9px 11px !important;
    border-bottom: 1px solid var(--mini-border) !important;
}
body.app-body .bvms-dashboard-minimal .mini-dre-row:last-child {
    border-bottom: 0 !important;
}
body.app-body .bvms-dashboard-minimal .mini-dre-row span {
    color: var(--mini-muted) !important;
    font-size: 12px !important;
    font-weight: 720 !important;
}
body.app-body .bvms-dashboard-minimal .mini-dre-row strong {
    color: var(--mini-text) !important;
    font-size: 13px !important;
    font-weight: 820 !important;
    text-align: right !important;
}
body.app-body .bvms-dashboard-minimal .mini-dre-row.subtotal {
    background: color-mix(in srgb, var(--mini-blue) 10%, transparent) !important;
}
body.app-body .bvms-dashboard-minimal .mini-dre-row.result {
    min-height: 44px !important;
    background: color-mix(in srgb, var(--mini-cyan) 12%, transparent) !important;
}
body.app-body .bvms-dashboard-minimal .mini-dre-row.negative strong {
    color: var(--mini-orange) !important;
}
body.app-body .bvms-dashboard-minimal .mini-dre-row.result.positive strong,
body.app-body .bvms-dashboard-minimal .mini-dre-row.positive strong {
    color: var(--mini-green) !important;
}
body.app-body .bvms-dashboard-minimal .mini-dre-row.result.negative strong {
    color: var(--mini-red) !important;
}
body.app-body .bvms-dashboard-minimal .mini-period-trigger,
body.app-body .bvms-dashboard-minimal [data-mini-period],
body.app-body .bvms-dashboard-minimal .mini-btn {
    pointer-events: auto !important;
    user-select: none !important;
}
@media (max-width: 1280px) {
    body.app-body .bvms-dashboard-minimal .mini-alerts-inline-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px) {
    body.app-body .bvms-dashboard-minimal .mini-alerts-inline-list { grid-template-columns: 1fr !important; }
    .mini-period-fields.two { grid-template-columns: 1fr !important; }
}

/* =========================================================
   BVMS - Dashboard v5: modal sólido + alertas por nível
   Corrige variáveis fora do container do dashboard e melhora contraste.
========================================================= */
body.bvms-modal-open {
    overflow: hidden !important;
}

.mini-modal-overlay,
.mini-period-modal {
    --mini-bg: #07111f;
    --mini-surface: #0d1a2f;
    --mini-surface-2: #111f36;
    --mini-surface-3: #162942;
    --mini-text: #edf6ff;
    --mini-muted: #92a3bf;
    --mini-border: rgba(135, 176, 230, .22);
    --mini-blue: #23a4ff;
    --mini-cyan: #14f1d9;
    --mini-green: #16d69b;
    --mini-orange: #ffb14a;
    --mini-red: #ff5675;
    --mini-glow-blue: rgba(35, 164, 255, .26);
}

.mini-modal-overlay {
    background: rgba(3, 9, 18, .74) !important;
    backdrop-filter: blur(10px) saturate(125%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(125%) !important;
}

.mini-period-modal {
    background:
        radial-gradient(circle at 20% 0%, rgba(35, 164, 255, .12), transparent 34%),
        linear-gradient(180deg, #0d1a2f 0%, #091426 100%) !important;
    border: 1px solid rgba(135, 176, 230, .26) !important;
    box-shadow: 0 34px 110px rgba(0, 0, 0, .62), 0 0 0 1px rgba(255,255,255,.03) inset !important;
}

.mini-period-form [hidden],
.mini-period-fields[hidden],
body.app-body .mini-period-form [hidden] {
    display: none !important;
    visibility: hidden !important;
}

.mini-period-tabs button {
    transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

.mini-period-tabs button:not(.active):hover {
    border-color: rgba(35, 164, 255, .38) !important;
    box-shadow: 0 0 0 3px rgba(35, 164, 255, .12) !important;
}

body.app-body .bvms-dashboard-minimal .mini-alerts-under-title {
    padding: 14px !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(35, 164, 255, .12), transparent 36%),
        linear-gradient(135deg, rgba(13, 26, 47, .98), rgba(10, 22, 40, .98)) !important;
}

body.app-body .bvms-dashboard-minimal .mini-alerts-inline-list {
    align-items: stretch !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item {
    position: relative !important;
    min-height: 96px !important;
    padding: 12px 12px 12px 14px !important;
    overflow: hidden !important;
    background: rgba(17, 31, 54, .82) !important;
    border: 1px solid rgba(135, 176, 230, .16) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .18) !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 4px !important;
    background: var(--alert-color, var(--mini-blue)) !important;
    box-shadow: 0 0 18px var(--alert-glow, rgba(35, 164, 255, .24)) !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: radial-gradient(circle at 0% 0%, var(--alert-soft, rgba(35, 164, 255, .09)), transparent 58%) !important;
    pointer-events: none !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item > * {
    position: relative !important;
    z-index: 1 !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item i {
    background: var(--alert-soft-strong, rgba(35, 164, 255, .16)) !important;
    color: var(--alert-color, var(--mini-blue)) !important;
    box-shadow: 0 0 0 1px var(--alert-border, rgba(35, 164, 255, .22)) inset !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item em {
    background: var(--alert-soft-strong, rgba(35, 164, 255, .16)) !important;
    color: var(--alert-color, var(--mini-blue)) !important;
    border: 1px solid var(--alert-border, rgba(35, 164, 255, .22)) !important;
    white-space: nowrap !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item strong {
    color: #f7fbff !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item span {
    color: #aebdd3 !important;
    line-height: 1.35 !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item.danger {
    --alert-color: var(--mini-red);
    --alert-soft: rgba(255, 86, 117, .10);
    --alert-soft-strong: rgba(255, 86, 117, .17);
    --alert-border: rgba(255, 86, 117, .28);
    --alert-glow: rgba(255, 86, 117, .26);
    border-color: rgba(255, 86, 117, .24) !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item.warning {
    --alert-color: var(--mini-orange);
    --alert-soft: rgba(255, 177, 74, .10);
    --alert-soft-strong: rgba(255, 177, 74, .17);
    --alert-border: rgba(255, 177, 74, .30);
    --alert-glow: rgba(255, 177, 74, .25);
    border-color: rgba(255, 177, 74, .23) !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item.info {
    --alert-color: var(--mini-blue);
    --alert-soft: rgba(35, 164, 255, .10);
    --alert-soft-strong: rgba(35, 164, 255, .16);
    --alert-border: rgba(35, 164, 255, .27);
    --alert-glow: rgba(35, 164, 255, .24);
}

body.app-body .bvms-dashboard-minimal .mini-alert-item.success {
    --alert-color: var(--mini-green);
    --alert-soft: rgba(22, 214, 155, .10);
    --alert-soft-strong: rgba(22, 214, 155, .16);
    --alert-border: rgba(22, 214, 155, .26);
    --alert-glow: rgba(22, 214, 155, .22);
}

@media (max-width: 760px) {
    .mini-period-modal { border-radius: 20px !important; }
    .mini-period-tabs { grid-template-columns: 1fr !important; }
    body.app-body .bvms-dashboard-minimal .mini-alerts-summary { align-items: flex-start !important; flex-direction: column !important; }
}

/* =========================================================
   BVMS - Dashboard v6: visualização dos alertas mais limpa
   Mantém o estilo do layout, mas remove o bloco pesado e aplica
   cores por nível de aviso com melhor leitura.
========================================================= */
body.app-body .bvms-dashboard-minimal .mini-alerts-under-title {
    margin-top: 18px !important;
    padding: 14px !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 0 0, rgba(35, 164, 255, .10), transparent 32%),
        linear-gradient(135deg, rgba(248, 251, 255, .78), rgba(237, 246, 255, .64)) !important;
    border: 1px solid rgba(135, 176, 230, .34) !important;
    box-shadow: 0 18px 48px rgba(15, 38, 77, .10) !important;
    color: #07111f !important;
}

body.app-body.dark .bvms-dashboard-minimal .mini-alerts-under-title,
body.app-body.theme-dark .bvms-dashboard-minimal .mini-alerts-under-title,
html.dark body.app-body .bvms-dashboard-minimal .mini-alerts-under-title,
[data-theme="dark"] body.app-body .bvms-dashboard-minimal .mini-alerts-under-title {
    background:
        radial-gradient(circle at 0 0, rgba(35, 164, 255, .13), transparent 34%),
        linear-gradient(135deg, rgba(13, 26, 47, .96), rgba(9, 20, 38, .96)) !important;
    border-color: rgba(135, 176, 230, .24) !important;
    box-shadow: 0 22px 56px rgba(0, 0, 0, .22) !important;
    color: var(--mini-text) !important;
}

body.app-body .bvms-dashboard-minimal .mini-alerts-summary {
    min-height: 34px !important;
    padding: 0 4px 2px !important;
}

body.app-body .bvms-dashboard-minimal .mini-alerts-summary span {
    color: #45617f !important;
    letter-spacing: .01em !important;
}

body.app-body .bvms-dashboard-minimal .mini-alerts-summary strong {
    color: #07111f !important;
    font-size: 15px !important;
}

body.app-body.dark .bvms-dashboard-minimal .mini-alerts-summary span,
body.app-body.theme-dark .bvms-dashboard-minimal .mini-alerts-summary span,
html.dark body.app-body .bvms-dashboard-minimal .mini-alerts-summary span,
[data-theme="dark"] body.app-body .bvms-dashboard-minimal .mini-alerts-summary span {
    color: #9fb1cb !important;
}

body.app-body.dark .bvms-dashboard-minimal .mini-alerts-summary strong,
body.app-body.theme-dark .bvms-dashboard-minimal .mini-alerts-summary strong,
html.dark body.app-body .bvms-dashboard-minimal .mini-alerts-summary strong,
[data-theme="dark"] body.app-body .bvms-dashboard-minimal .mini-alerts-summary strong {
    color: #f4f9ff !important;
}

body.app-body .bvms-dashboard-minimal .mini-alerts-inline-list {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(220px, 1fr)) !important;
    gap: 12px !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 12px !important;
    min-height: 88px !important;
    padding: 13px 13px 13px 16px !important;
    border-radius: 18px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.86), rgba(247,250,255,.70)) !important;
    border: 1px solid var(--alert-border, rgba(35, 164, 255, .20)) !important;
    box-shadow: 0 14px 34px rgba(17, 37, 68, .08) !important;
}

body.app-body.dark .bvms-dashboard-minimal .mini-alert-item,
body.app-body.theme-dark .bvms-dashboard-minimal .mini-alert-item,
html.dark body.app-body .bvms-dashboard-minimal .mini-alert-item,
[data-theme="dark"] body.app-body .bvms-dashboard-minimal .mini-alert-item {
    background:
        radial-gradient(circle at 0 0, var(--alert-soft, rgba(35, 164, 255, .09)), transparent 62%),
        linear-gradient(135deg, rgba(17, 31, 54, .86), rgba(12, 24, 43, .86)) !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, .20) !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item::before {
    width: 5px !important;
    border-radius: 999px !important;
    top: 14px !important;
    bottom: 14px !important;
    left: 0 !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item::after {
    background: linear-gradient(135deg, var(--alert-soft, rgba(35, 164, 255, .08)), transparent 70%) !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item i {
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 12px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    color: var(--alert-color, var(--mini-blue)) !important;
    background: var(--alert-soft-strong, rgba(35, 164, 255, .13)) !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item div {
    min-width: 0 !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item strong {
    display: block !important;
    color: #07111f !important;
    font-size: 13px !important;
    font-weight: 880 !important;
    line-height: 1.2 !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item span {
    display: block !important;
    margin-top: 5px !important;
    color: #526b8a !important;
    font-size: 12px !important;
    line-height: 1.38 !important;
}

body.app-body.dark .bvms-dashboard-minimal .mini-alert-item strong,
body.app-body.theme-dark .bvms-dashboard-minimal .mini-alert-item strong,
html.dark body.app-body .bvms-dashboard-minimal .mini-alert-item strong,
[data-theme="dark"] body.app-body .bvms-dashboard-minimal .mini-alert-item strong {
    color: #f8fbff !important;
}

body.app-body.dark .bvms-dashboard-minimal .mini-alert-item span,
body.app-body.theme-dark .bvms-dashboard-minimal .mini-alert-item span,
html.dark body.app-body .bvms-dashboard-minimal .mini-alert-item span,
[data-theme="dark"] body.app-body .bvms-dashboard-minimal .mini-alert-item span {
    color: #b7c6dc !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item em {
    align-self: start !important;
    padding: 5px 9px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
    background: var(--alert-soft-strong, rgba(35, 164, 255, .13)) !important;
    color: var(--alert-color, var(--mini-blue)) !important;
    border: 1px solid var(--alert-border, rgba(35, 164, 255, .22)) !important;
}

body.app-body .bvms-dashboard-minimal .mini-alert-item.danger,
body.app-body .bvms-dashboard-minimal .mini-alert-item.critical {
    --alert-color: #ef365f;
    --alert-soft: rgba(239, 54, 95, .11);
    --alert-soft-strong: rgba(239, 54, 95, .16);
    --alert-border: rgba(239, 54, 95, .34);
    --alert-glow: rgba(239, 54, 95, .24);
}

body.app-body .bvms-dashboard-minimal .mini-alert-item.warning {
    --alert-color: #e68112;
    --alert-soft: rgba(230, 129, 18, .12);
    --alert-soft-strong: rgba(230, 129, 18, .16);
    --alert-border: rgba(230, 129, 18, .34);
    --alert-glow: rgba(230, 129, 18, .22);
}

body.app-body .bvms-dashboard-minimal .mini-alert-item.info,
body.app-body .bvms-dashboard-minimal .mini-alert-item.observation {
    --alert-color: #178fe8;
    --alert-soft: rgba(23, 143, 232, .11);
    --alert-soft-strong: rgba(23, 143, 232, .15);
    --alert-border: rgba(23, 143, 232, .32);
    --alert-glow: rgba(23, 143, 232, .22);
}

body.app-body .bvms-dashboard-minimal .mini-alert-item.success,
body.app-body .bvms-dashboard-minimal .mini-alert-item.ok {
    --alert-color: #0ba775;
    --alert-soft: rgba(11, 167, 117, .11);
    --alert-soft-strong: rgba(11, 167, 117, .15);
    --alert-border: rgba(11, 167, 117, .31);
    --alert-glow: rgba(11, 167, 117, .20);
}

body.app-body .bvms-dashboard-minimal .mini-alerts-summary b.danger {
    background: rgba(239, 54, 95, .13) !important;
    color: #ef365f !important;
    border: 1px solid rgba(239, 54, 95, .25) !important;
}

body.app-body .bvms-dashboard-minimal .mini-alerts-summary b.success {
    background: rgba(11, 167, 117, .13) !important;
    color: #0ba775 !important;
    border: 1px solid rgba(11, 167, 117, .24) !important;
}

@media (max-width: 1400px) {
    body.app-body .bvms-dashboard-minimal .mini-alerts-inline-list {
        grid-template-columns: repeat(2, minmax(260px, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body.app-body .bvms-dashboard-minimal .mini-alerts-under-title {
        padding: 12px !important;
        border-radius: 20px !important;
    }
    body.app-body .bvms-dashboard-minimal .mini-alerts-inline-list {
        grid-template-columns: 1fr !important;
    }
    body.app-body .bvms-dashboard-minimal .mini-alert-item {
        grid-template-columns: 34px minmax(0, 1fr) !important;
    }
    body.app-body .bvms-dashboard-minimal .mini-alert-item em {
        grid-column: 2 !important;
        width: max-content !important;
    }
}


/* =========================================================
   BVMS - Dashboard v7: filtro corrigido + gráficos/cards melhores
   Mantém o layout BVMS, corrige contraste do modal e redefine a
   área analítica para parecer mais profissional e legível.
========================================================= */
body.app-body .bvms-dashboard-minimal {
    --mini-card-radius: 24px;
}

body.app-body .bvms-dashboard-minimal .mini-dashboard-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: stretch !important;
}

body.app-body .bvms-dashboard-minimal .mini-panel,
body.app-body .bvms-dashboard-minimal .mini-kpi-card {
    border-radius: var(--mini-card-radius) !important;
    border: 1px solid rgba(135, 176, 230, .22) !important;
    background:
        radial-gradient(circle at 0 0, rgba(35, 164, 255, .055), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,.84), rgba(245,249,255,.66)) !important;
    box-shadow: 0 18px 44px rgba(15, 38, 77, .08) !important;
}

body.app-body.dark .bvms-dashboard-minimal .mini-panel,
body.app-body.theme-dark .bvms-dashboard-minimal .mini-panel,
html.dark body.app-body .bvms-dashboard-minimal .mini-panel,
[data-theme="dark"] body.app-body .bvms-dashboard-minimal .mini-panel,
body.app-body.dark .bvms-dashboard-minimal .mini-kpi-card,
body.app-body.theme-dark .bvms-dashboard-minimal .mini-kpi-card,
html.dark body.app-body .bvms-dashboard-minimal .mini-kpi-card,
[data-theme="dark"] body.app-body .bvms-dashboard-minimal .mini-kpi-card {
    background:
        radial-gradient(circle at 0 0, rgba(35, 164, 255, .10), transparent 40%),
        linear-gradient(180deg, rgba(13, 26, 47, .96), rgba(9, 20, 38, .94)) !important;
    border-color: rgba(135, 176, 230, .20) !important;
    box-shadow: 0 22px 54px rgba(0,0,0,.22) !important;
}

body.app-body .bvms-dashboard-minimal .mini-dre-statement-panel { grid-column: span 4 !important; }
body.app-body .bvms-dashboard-minimal .mini-evolution-panel { grid-column: span 5 !important; }
body.app-body .bvms-dashboard-minimal .mini-cost-panel { grid-column: span 3 !important; }
body.app-body .bvms-dashboard-minimal .mini-product-panel,
body.app-body .bvms-dashboard-minimal .mini-plan-panel,
body.app-body .bvms-dashboard-minimal .mini-import-panel { grid-column: span 4 !important; }
body.app-body .bvms-dashboard-minimal .mini-cash-panel,
body.app-body .bvms-dashboard-minimal .mini-goal-panel { grid-column: span 3 !important; }

body.app-body .bvms-dashboard-minimal .mini-panel-head {
    padding-bottom: 10px !important;
    margin-bottom: 14px !important;
    border-bottom: 1px solid rgba(135, 176, 230, .16) !important;
}

body.app-body .bvms-dashboard-minimal .mini-panel-head span {
    background: rgba(35, 164, 255, .10) !important;
    color: #178fe8 !important;
}

body.app-body .bvms-dashboard-minimal .mini-panel-head h2 {
    font-size: 18px !important;
    letter-spacing: -.045em !important;
}

body.app-body .bvms-dashboard-minimal .mini-chart.tall {
    height: 280px !important;
    padding: 8px 6px 0 !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(35,164,255,.045), rgba(20,241,217,.025)) !important;
}

body.app-body .bvms-dashboard-minimal .mini-cost-panel .mini-panel-head {
    margin-bottom: 6px !important;
}

body.app-body .bvms-dashboard-minimal .mini-donut-layout {
    display: grid !important;
    grid-template-columns: minmax(170px, 210px) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 18px !important;
    min-height: 250px !important;
}

body.app-body .bvms-dashboard-minimal .mini-chart.donut {
    width: min(210px, 100%) !important;
    height: 210px !important;
    margin: 0 auto !important;
    padding: 8px !important;
    border-radius: 999px !important;
    background: radial-gradient(circle, rgba(255,255,255,.72), rgba(236,244,255,.28)) !important;
}

body.app-body.dark .bvms-dashboard-minimal .mini-chart.donut,
body.app-body.theme-dark .bvms-dashboard-minimal .mini-chart.donut,
html.dark body.app-body .bvms-dashboard-minimal .mini-chart.donut,
[data-theme="dark"] body.app-body .bvms-dashboard-minimal .mini-chart.donut {
    background: radial-gradient(circle, rgba(17,31,54,.88), rgba(9,20,38,.32)) !important;
}

body.app-body .bvms-dashboard-minimal .mini-donut-legend {
    display: grid !important;
    gap: 10px !important;
}

body.app-body .bvms-dashboard-minimal .mini-donut-legend span {
    display: grid !important;
    grid-template-columns: 10px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.55) !important;
    border: 1px solid rgba(135,176,230,.16) !important;
    color: #4b6382 !important;
    font-weight: 760 !important;
}

body.app-body .bvms-dashboard-minimal .mini-donut-legend span::before {
    content: "" !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: #14f1d9 !important;
    box-shadow: 0 0 0 4px rgba(20,241,217,.12) !important;
}
body.app-body .bvms-dashboard-minimal .mini-donut-legend span:nth-child(1)::before { background: #8b5cf6 !important; box-shadow: 0 0 0 4px rgba(139,92,246,.13) !important; }
body.app-body .bvms-dashboard-minimal .mini-donut-legend span:nth-child(2)::before { background: #14f1d9 !important; box-shadow: 0 0 0 4px rgba(20,241,217,.13) !important; }
body.app-body .bvms-dashboard-minimal .mini-donut-legend span:nth-child(3)::before { background: #ff9c39 !important; box-shadow: 0 0 0 4px rgba(255,156,57,.13) !important; }

body.app-body .bvms-dashboard-minimal .mini-donut-legend strong {
    font-size: 13px !important;
    color: #07111f !important;
    text-align: right !important;
}

body.app-body.dark .bvms-dashboard-minimal .mini-donut-legend span,
body.app-body.theme-dark .bvms-dashboard-minimal .mini-donut-legend span,
html.dark body.app-body .bvms-dashboard-minimal .mini-donut-legend span,
[data-theme="dark"] body.app-body .bvms-dashboard-minimal .mini-donut-legend span {
    background: rgba(17,31,54,.72) !important;
    color: #aebdd3 !important;
}
body.app-body.dark .bvms-dashboard-minimal .mini-donut-legend strong,
body.app-body.theme-dark .bvms-dashboard-minimal .mini-donut-legend strong,
html.dark body.app-body .bvms-dashboard-minimal .mini-donut-legend strong,
[data-theme="dark"] body.app-body .bvms-dashboard-minimal .mini-donut-legend strong {
    color: #f8fbff !important;
}

body.app-body .bvms-dashboard-minimal .mini-dre-sheet {
    border-radius: 18px !important;
    background: transparent !important;
    border: 0 !important;
    gap: 8px !important;
}

body.app-body .bvms-dashboard-minimal .mini-dre-row {
    min-height: 42px !important;
    border: 1px solid rgba(135,176,230,.14) !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.50) !important;
}

body.app-body.dark .bvms-dashboard-minimal .mini-dre-row,
body.app-body.theme-dark .bvms-dashboard-minimal .mini-dre-row,
html.dark body.app-body .bvms-dashboard-minimal .mini-dre-row,
[data-theme="dark"] body.app-body .bvms-dashboard-minimal .mini-dre-row {
    background: rgba(17,31,54,.62) !important;
}

/* Modal do filtro: menos borrado, contraste correto e campos escuros no tema escuro */
.mini-modal-overlay {
    background: rgba(3, 9, 18, .58) !important;
    backdrop-filter: blur(6px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(115%) !important;
}

.mini-period-modal {
    width: min(620px, calc(100vw - 32px)) !important;
    border-radius: 26px !important;
}

.mini-period-modal header {
    padding: 20px 22px 16px !important;
}

.mini-period-form {
    padding: 18px 22px 22px !important;
    gap: 16px !important;
}

.mini-period-tabs {
    padding: 5px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.05) !important;
    border: 1px solid rgba(135,176,230,.16) !important;
}

.mini-period-tabs button {
    border: 0 !important;
    min-height: 44px !important;
    background: transparent !important;
}

.mini-period-tabs button.active {
    color: #fff !important;
    background: linear-gradient(135deg, #238dff, #14f1d9) !important;
    box-shadow: 0 12px 24px rgba(35,164,255,.24) !important;
}

.mini-period-fields input,
.mini-period-fields select {
    min-height: 48px !important;
    font-weight: 720 !important;
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: rgba(135,176,230,.34) !important;
}

body.app-body.dark .mini-period-fields input,
body.app-body.theme-dark .mini-period-fields input,
html.dark body.app-body .mini-period-fields input,
[data-theme="dark"] body.app-body .mini-period-fields input,
body.app-body.dark .mini-period-fields select,
body.app-body.theme-dark .mini-period-fields select,
html.dark body.app-body .mini-period-fields select,
[data-theme="dark"] body.app-body .mini-period-fields select {
    background: #111f36 !important;
    color: #f8fbff !important;
    border-color: rgba(135,176,230,.30) !important;
}

.mini-period-fields label {
    margin-bottom: 2px !important;
    letter-spacing: .01em !important;
}

.mini-period-fields.two {
    gap: 12px !important;
}

.mini-period-form footer {
    margin-top: 4px !important;
}

@media (max-width: 1320px) {
    body.app-body .bvms-dashboard-minimal .mini-dre-statement-panel,
    body.app-body .bvms-dashboard-minimal .mini-evolution-panel,
    body.app-body .bvms-dashboard-minimal .mini-cost-panel,
    body.app-body .bvms-dashboard-minimal .mini-product-panel,
    body.app-body .bvms-dashboard-minimal .mini-plan-panel,
    body.app-body .bvms-dashboard-minimal .mini-import-panel,
    body.app-body .bvms-dashboard-minimal .mini-cash-panel,
    body.app-body .bvms-dashboard-minimal .mini-goal-panel { grid-column: span 6 !important; }
}

@media (max-width: 840px) {
    body.app-body .bvms-dashboard-minimal .mini-dashboard-grid { grid-template-columns: 1fr !important; }
    body.app-body .bvms-dashboard-minimal .mini-panel { grid-column: span 1 !important; }
    body.app-body .bvms-dashboard-minimal .mini-donut-layout { grid-template-columns: 1fr !important; }
    body.app-body .bvms-dashboard-minimal .mini-chart.tall { height: 240px !important; }
    .mini-period-fields.two { grid-template-columns: 1fr !important; }
}

/* =========================================================
   BVMS UI HOTFIX V8 - consistência visual de tabelas/forms
   Corrige DRE, Vendas, Categorias e Auditoria sem alterar backend.
   ========================================================= */
:root {
    --bvms-table-bg: rgba(255,255,255,.92);
    --bvms-table-head-bg: #eaf2fb;
    --bvms-table-border: rgba(123, 151, 185, .22);
    --bvms-table-text: #07111f;
    --bvms-table-muted: #5d708c;
    --bvms-table-hover: rgba(35, 164, 255, .055);
}

/* Tabelas operacionais no tema claro: evita linhas pretas com texto invisível */
body.app-body:not(.dark):not(.theme-dark) .sales-page-clean table,
body.app-body:not(.dark):not(.theme-dark) .category-management-page table,
body.app-body:not(.dark):not(.theme-dark) .dre-page-clean table,
body.app-body:not(.dark):not(.theme-dark) table.audit-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
    color: var(--bvms-table-text) !important;
    background: transparent !important;
}

body.app-body:not(.dark):not(.theme-dark) .sales-page-clean table thead th,
body.app-body:not(.dark):not(.theme-dark) .category-management-page table thead th,
body.app-body:not(.dark):not(.theme-dark) .dre-page-clean table thead th,
body.app-body:not(.dark):not(.theme-dark) table.audit-table thead th {
    background: var(--bvms-table-head-bg) !important;
    color: #182840 !important;
    border-bottom: 1px solid var(--bvms-table-border) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    padding: 14px 16px !important;
    white-space: nowrap !important;
}

body.app-body:not(.dark):not(.theme-dark) .sales-page-clean table tbody tr,
body.app-body:not(.dark):not(.theme-dark) .category-management-page table tbody tr,
body.app-body:not(.dark):not(.theme-dark) .dre-page-clean table tbody tr,
body.app-body:not(.dark):not(.theme-dark) table.audit-table tbody tr {
    background: var(--bvms-table-bg) !important;
    color: var(--bvms-table-text) !important;
}

body.app-body:not(.dark):not(.theme-dark) .sales-page-clean table tbody td,
body.app-body:not(.dark):not(.theme-dark) .category-management-page table tbody td,
body.app-body:not(.dark):not(.theme-dark) .dre-page-clean table tbody td,
body.app-body:not(.dark):not(.theme-dark) table.audit-table tbody td {
    background: var(--bvms-table-bg) !important;
    color: var(--bvms-table-text) !important;
    border-bottom: 1px solid var(--bvms-table-border) !important;
    padding: 14px 16px !important;
    vertical-align: middle !important;
    font-weight: 700 !important;
}

body.app-body:not(.dark):not(.theme-dark) .sales-page-clean table tbody tr:hover td,
body.app-body:not(.dark):not(.theme-dark) .category-management-page table tbody tr:hover td,
body.app-body:not(.dark):not(.theme-dark) .dre-page-clean table tbody tr:hover td,
body.app-body:not(.dark):not(.theme-dark) table.audit-table tbody tr:hover td {
    background: var(--bvms-table-hover) !important;
}

body.app-body:not(.dark):not(.theme-dark) .sales-page-clean table .text-muted,
body.app-body:not(.dark):not(.theme-dark) .category-management-page table .text-muted,
body.app-body:not(.dark):not(.theme-dark) .dre-page-clean table .text-muted,
body.app-body:not(.dark):not(.theme-dark) table.audit-table .text-muted {
    color: var(--bvms-table-muted) !important;
}

/* DRE: planilha realmente parecida com demonstrativo, sem faixas escuras vazias */
body.app-body:not(.dark):not(.theme-dark) .dre-page-clean .dre-table tbody tr.table-highlight td {
    background: #f2f8ff !important;
    color: #07111f !important;
    border-top: 1px solid rgba(35, 164, 255, .18) !important;
    border-bottom: 1px solid rgba(35, 164, 255, .18) !important;
}

body.app-body:not(.dark):not(.theme-dark) .dre-page-clean .dre-table tbody tr.table-total td {
    background: linear-gradient(90deg, rgba(219, 255, 232, .95), rgba(232, 255, 248, .95)) !important;
    color: #042416 !important;
    border-top: 1px solid rgba(16, 185, 129, .28) !important;
    border-bottom: 1px solid rgba(16, 185, 129, .28) !important;
}

body.app-body:not(.dark):not(.theme-dark) .dre-page-clean .dre-table td:first-child {
    min-width: 270px !important;
}

body.app-body:not(.dark):not(.theme-dark) .dre-page-clean .dre-table .text-right {
    text-align: right !important;
    font-variant-numeric: tabular-nums !important;
}

/* Vendas: quando não houver registros, não exibir um bloco preto vazio */
body.app-body:not(.dark):not(.theme-dark) .sales-page-clean .table-card-clean,
body.app-body:not(.dark):not(.theme-dark) .sales-page-clean .sales-table-wrapper,
body.app-body:not(.dark):not(.theme-dark) .sales-page-clean .table-responsive,
body.app-body:not(.dark):not(.theme-dark) .category-management-page .table-responsive,
body.app-body:not(.dark):not(.theme-dark) .dre-page-clean .table-responsive,
body.app-body:not(.dark):not(.theme-dark) .card .table-responsive {
    border-radius: 20px !important;
    overflow: auto !important;
    border: 1px solid var(--bvms-table-border) !important;
    background: #ffffff !important;
}

body.app-body:not(.dark):not(.theme-dark) .sales-page-clean table tbody:empty::after {
    content: 'Nenhum registro encontrado para este filtro.';
    display: block;
    padding: 18px;
    color: var(--bvms-table-muted);
    background: #fff;
    font-weight: 800;
}

/* Categorias: checkboxes e ações normalizados */
.category-management-page input[type="checkbox"],
.sales-page-clean input[type="checkbox"],
table.audit-table input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 6px !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

.category-management-page th:first-child,
.category-management-page td:first-child,
.sales-page-clean th:first-child,
.sales-page-clean td:first-child {
    width: 52px !important;
    min-width: 52px !important;
    text-align: center !important;
}

body.app-body:not(.dark):not(.theme-dark) .category-management-page .card,
body.app-body:not(.dark):not(.theme-dark) .sales-page-clean .card,
body.app-body:not(.dark):not(.theme-dark) .dre-page-clean .dre-panel,
body.app-body:not(.dark):not(.theme-dark) .card.border-0.shadow-sm.rounded-4 {
    background: rgba(255,255,255,.88) !important;
    border: 1px solid rgba(123, 151, 185, .22) !important;
    box-shadow: 0 18px 44px rgba(15, 38, 77, .08) !important;
}

/* Auditoria: tabela legível e badges sem perder o padrão */
body.app-body:not(.dark):not(.theme-dark) table.audit-table .badge {
    box-shadow: none !important;
    font-weight: 900 !important;
}

body.app-body:not(.dark):not(.theme-dark) table.audit-table td:nth-child(5) {
    min-width: 280px !important;
    color: #22324a !important;
}

body.app-body:not(.dark):not(.theme-dark) .audit-details-row td {
    background: #f7fbff !important;
    color: #07111f !important;
}

/* Botões gradiente com espaçamento consistente */
.category-management-page .btn,
.sales-page-clean .btn,
.dre-page-clean .btn,
.card .btn-primary,
.card .btn-outline-primary {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

/* Dark mode preservado, porém com contraste correto */
body.app-body.dark .sales-page-clean table tbody td,
body.app-body.theme-dark .sales-page-clean table tbody td,
html.dark body.app-body .sales-page-clean table tbody td,
[data-theme="dark"] body.app-body .sales-page-clean table tbody td,
body.app-body.dark .category-management-page table tbody td,
body.app-body.theme-dark .category-management-page table tbody td,
html.dark body.app-body .category-management-page table tbody td,
[data-theme="dark"] body.app-body .category-management-page table tbody td,
body.app-body.dark .dre-page-clean table tbody td,
body.app-body.theme-dark .dre-page-clean table tbody td,
html.dark body.app-body .dre-page-clean table tbody td,
[data-theme="dark"] body.app-body .dre-page-clean table tbody td,
body.app-body.dark table.audit-table tbody td,
body.app-body.theme-dark table.audit-table tbody td,
html.dark body.app-body table.audit-table tbody td,
[data-theme="dark"] body.app-body table.audit-table tbody td {
    background: rgba(10, 20, 38, .92) !important;
    color: #eef6ff !important;
    border-bottom-color: rgba(135,176,230,.16) !important;
}

body.app-body.dark .sales-page-clean table thead th,
body.app-body.theme-dark .sales-page-clean table thead th,
html.dark body.app-body .sales-page-clean table thead th,
[data-theme="dark"] body.app-body .sales-page-clean table thead th,
body.app-body.dark .category-management-page table thead th,
body.app-body.theme-dark .category-management-page table thead th,
html.dark body.app-body .category-management-page table thead th,
[data-theme="dark"] body.app-body .category-management-page table thead th,
body.app-body.dark .dre-page-clean table thead th,
body.app-body.theme-dark .dre-page-clean table thead th,
html.dark body.app-body .dre-page-clean table thead th,
[data-theme="dark"] body.app-body .dre-page-clean table thead th,
body.app-body.dark table.audit-table thead th,
body.app-body.theme-dark table.audit-table thead th,
html.dark body.app-body table.audit-table thead th,
[data-theme="dark"] body.app-body table.audit-table thead th {
    background: rgba(18, 34, 61, .98) !important;
    color: #dcecff !important;
    border-bottom-color: rgba(135,176,230,.18) !important;
}

body.app-body.dark .category-management-page table .text-muted,
body.app-body.theme-dark .category-management-page table .text-muted,
html.dark body.app-body .category-management-page table .text-muted,
[data-theme="dark"] body.app-body .category-management-page table .text-muted,
body.app-body.dark table.audit-table .text-muted,
body.app-body.theme-dark table.audit-table .text-muted,
html.dark body.app-body table.audit-table .text-muted,
[data-theme="dark"] body.app-body table.audit-table .text-muted {
    color: #9fb2ce !important;
}

/* Evita estouro horizontal nas telas de ERP */
.sales-page-clean,
.category-management-page,
.dre-page-clean,
.audit-table {
    max-width: 100%;
}

.sales-page-clean .table-responsive,
.category-management-page .table-responsive,
.dre-page-clean .table-responsive,
.audit-table {
    scrollbar-width: thin;
}

/* =========================================================
   BVMS v9 - Extrato compacto com filtro em popup
   ========================================================= */
body.app-body.statement-filter-is-open {
    overflow: hidden;
}

.statement-page-clean {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 0 2px 28px;
}

.statement-hero-clean {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 28px 32px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 24px;
    background:
        radial-gradient(circle at top left, rgba(99, 102, 241, 0.09), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,0.96), rgba(248,250,252,0.86));
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

body.theme-dark .statement-hero-clean,
body.dark .statement-hero-clean,
html[data-theme="dark"] .statement-hero-clean {
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.18), transparent 30%),
        linear-gradient(135deg, rgba(15, 23, 42, 0.95), rgba(2, 10, 24, 0.92));
    border-color: rgba(148, 163, 184, 0.18);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.28);
}

.statement-eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 24px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(99, 102, 241, 0.12);
    color: #4f46e5;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.theme-dark .statement-eyebrow,
body.dark .statement-eyebrow,
html[data-theme="dark"] .statement-eyebrow {
    background: rgba(56, 189, 248, 0.12);
    color: #7dd3fc;
}

.statement-hero-clean h1 {
    margin: 10px 0 6px;
    font-size: clamp(2rem, 3vw, 3.2rem);
    line-height: 1;
    font-weight: 950;
    letter-spacing: -0.055em;
    color: #020617;
}

.statement-hero-clean p,
.statement-table-head p,
.statement-filter-modal-head p {
    margin: 0;
    color: #64748b;
    font-weight: 700;
}

body.theme-dark .statement-hero-clean h1,
body.dark .statement-hero-clean h1,
html[data-theme="dark"] .statement-hero-clean h1,
body.theme-dark .statement-table-head h2,
body.dark .statement-table-head h2,
html[data-theme="dark"] .statement-table-head h2,
body.theme-dark .statement-filter-modal h2,
body.dark .statement-filter-modal h2,
html[data-theme="dark"] .statement-filter-modal h2 {
    color: #f8fafc;
}

body.theme-dark .statement-hero-clean p,
body.dark .statement-hero-clean p,
html[data-theme="dark"] .statement-hero-clean p,
body.theme-dark .statement-table-head p,
body.dark .statement-table-head p,
html[data-theme="dark"] .statement-table-head p,
body.theme-dark .statement-filter-modal-head p,
body.dark .statement-filter-modal-head p,
html[data-theme="dark"] .statement-filter-modal-head p {
    color: #9fb5d0;
}

.statement-filter-trigger,
.statement-filter-secondary,
.statement-btn-submit {
    border: 0;
    color: #ffffff;
    background: linear-gradient(135deg, #2563eb, #14b8a6);
    box-shadow: 0 16px 32px rgba(37, 99, 235, 0.22);
}

.statement-filter-trigger {
    min-width: 260px;
    display: inline-grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 2px 12px;
    padding: 14px 16px;
    border-radius: 18px;
    text-align: left;
    cursor: pointer;
}

.statement-filter-trigger span {
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.statement-filter-trigger strong {
    font-size: 0.98rem;
    line-height: 1.1;
}

.statement-filter-trigger i {
    grid-row: span 2;
    font-size: 1.05rem;
}

.statement-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.statement-summary-card {
    min-height: 124px;
    padding: 20px 22px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.07);
    overflow: hidden;
    position: relative;
}

.statement-summary-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    opacity: 0.8;
}

.statement-summary-entry::before { background: #22c55e; }
.statement-summary-exit::before { background: #f97316; }
.statement-summary-balance.is-positive::before { background: #14b8a6; }
.statement-summary-balance.is-negative::before { background: #ef4444; }
.statement-summary-count::before { background: #3b82f6; }

body.theme-dark .statement-summary-card,
body.dark .statement-summary-card,
html[data-theme="dark"] .statement-summary-card {
    background: rgba(15, 23, 42, 0.88);
    border-color: rgba(148, 163, 184, 0.2);
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.24);
}

.statement-summary-card span {
    display: block;
    margin-bottom: 10px;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.statement-summary-card strong {
    display: block;
    color: #020617;
    font-size: clamp(1.6rem, 2vw, 2.2rem);
    line-height: 1;
    font-weight: 950;
    letter-spacing: -0.035em;
}

.statement-summary-card small {
    display: block;
    margin-top: 10px;
    color: #64748b;
    font-weight: 700;
}

body.theme-dark .statement-summary-card span,
body.dark .statement-summary-card span,
html[data-theme="dark"] .statement-summary-card span,
body.theme-dark .statement-summary-card small,
body.dark .statement-summary-card small,
html[data-theme="dark"] .statement-summary-card small {
    color: #9fb5d0;
}

body.theme-dark .statement-summary-card strong,
body.dark .statement-summary-card strong,
html[data-theme="dark"] .statement-summary-card strong {
    color: #ffffff;
}

.statement-table-card {
    padding: 22px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
}

body.theme-dark .statement-table-card,
body.dark .statement-table-card,
html[data-theme="dark"] .statement-table-card {
    background: rgba(15, 23, 42, 0.9);
    border-color: rgba(148, 163, 184, 0.2);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.25);
}

.statement-table-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}

.statement-table-head h2 {
    margin: 8px 0 4px;
    color: #020617;
    font-size: 1.5rem;
    font-weight: 950;
    letter-spacing: -0.04em;
}

.statement-filter-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 14px;
    font-weight: 900;
    cursor: pointer;
}

.statement-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 18px;
}

.statement-table {
    width: 100%;
    min-width: 920px;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
}

.statement-table thead th {
    padding: 15px 16px;
    background: #eef4fb;
    color: #334155;
    font-size: 0.76rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(148, 163, 184, 0.24);
}

.statement-table tbody td {
    padding: 15px 16px;
    color: #0f172a;
    font-weight: 750;
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
    background: rgba(255, 255, 255, 0.78);
}

.statement-table tbody tr:last-child td {
    border-bottom: 0;
}

.statement-table tbody tr:hover td {
    background: rgba(59, 130, 246, 0.06);
}

body.theme-dark .statement-table-wrap,
body.dark .statement-table-wrap,
html[data-theme="dark"] .statement-table-wrap {
    border-color: rgba(148, 163, 184, 0.18);
}

body.theme-dark .statement-table thead th,
body.dark .statement-table thead th,
html[data-theme="dark"] .statement-table thead th {
    background: rgba(30, 41, 59, 0.98);
    color: #cbd5e1;
    border-bottom-color: rgba(148, 163, 184, 0.18);
}

body.theme-dark .statement-table tbody td,
body.dark .statement-table tbody td,
html[data-theme="dark"] .statement-table tbody td {
    background: rgba(15, 23, 42, 0.84);
    color: #e5edf8;
    border-bottom-color: rgba(148, 163, 184, 0.15);
}

body.theme-dark .statement-table tbody tr:hover td,
body.dark .statement-table tbody tr:hover td,
html[data-theme="dark"] .statement-table tbody tr:hover td {
    background: rgba(30, 41, 59, 0.95);
}

.statement-description {
    max-width: 380px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.statement-pill {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 950;
}

.statement-pill-entry,
.statement-pill-success {
    color: #047857;
    background: rgba(34, 197, 94, 0.14);
    border: 1px solid rgba(34, 197, 94, 0.25);
}

.statement-pill-exit {
    color: #b45309;
    background: rgba(249, 115, 22, 0.14);
    border: 1px solid rgba(249, 115, 22, 0.25);
}

.statement-pill-warning {
    color: #b45309;
    background: rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.25);
}

.statement-pill-secondary {
    color: #475569;
    background: rgba(100, 116, 139, 0.14);
    border: 1px solid rgba(100, 116, 139, 0.22);
}

body.theme-dark .statement-pill-entry,
body.dark .statement-pill-entry,
html[data-theme="dark"] .statement-pill-entry,
body.theme-dark .statement-pill-success,
body.dark .statement-pill-success,
html[data-theme="dark"] .statement-pill-success {
    color: #86efac;
}

body.theme-dark .statement-pill-exit,
body.dark .statement-pill-exit,
html[data-theme="dark"] .statement-pill-exit,
body.theme-dark .statement-pill-warning,
body.dark .statement-pill-warning,
html[data-theme="dark"] .statement-pill-warning {
    color: #fdba74;
}

.statement-value-entry { color: #16a34a !important; font-weight: 950 !important; }
.statement-value-exit { color: #dc2626 !important; font-weight: 950 !important; }

body.theme-dark .statement-value-entry,
body.dark .statement-value-entry,
html[data-theme="dark"] .statement-value-entry { color: #86efac !important; }
body.theme-dark .statement-value-exit,
body.dark .statement-value-exit,
html[data-theme="dark"] .statement-value-exit { color: #fca5a5 !important; }

.statement-empty-state {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 22px;
    border: 1px dashed rgba(59, 130, 246, 0.35);
    border-radius: 18px;
    background: rgba(59, 130, 246, 0.08);
    color: #1e3a8a;
}

.statement-empty-state strong {
    font-size: 1rem;
    font-weight: 950;
}

.statement-empty-state span {
    color: #64748b;
    font-weight: 700;
}

body.theme-dark .statement-empty-state,
body.dark .statement-empty-state,
html[data-theme="dark"] .statement-empty-state {
    background: rgba(37, 99, 235, 0.12);
    color: #bfdbfe;
}

.statement-filter-overlay[hidden] {
    display: none !important;
}

.statement-filter-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(2, 6, 23, 0.56);
    backdrop-filter: blur(10px);
}

.statement-filter-modal {
    width: min(560px, calc(100vw - 32px));
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 26px;
    background: #ffffff;
    color: #0f172a;
    box-shadow: 0 30px 90px rgba(2, 6, 23, 0.35);
    overflow: hidden;
}

body.theme-dark .statement-filter-modal,
body.dark .statement-filter-modal,
html[data-theme="dark"] .statement-filter-modal {
    background: #081527;
    color: #e5edf8;
    border-color: rgba(96, 165, 250, 0.28);
    box-shadow: 0 32px 95px rgba(0, 0, 0, 0.55);
}

.statement-filter-modal-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 24px 26px 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.statement-filter-modal-head h2 {
    margin: 8px 0 4px;
    font-size: 1.35rem;
    font-weight: 950;
    letter-spacing: -0.035em;
}

.statement-filter-close {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 14px;
    background: transparent;
    color: inherit;
    display: grid;
    place-items: center;
    cursor: pointer;
}

.statement-filter-form {
    padding: 18px 26px 24px;
}

.statement-filter-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 6px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 18px;
    background: rgba(148, 163, 184, 0.08);
}

.statement-filter-tab {
    min-height: 42px;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: #475569;
    font-weight: 950;
    cursor: pointer;
}

.statement-filter-tab.is-active {
    color: #ffffff;
    background: linear-gradient(135deg, #2563eb, #14b8a6);
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.22);
}

body.theme-dark .statement-filter-tab,
body.dark .statement-filter-tab,
html[data-theme="dark"] .statement-filter-tab {
    color: #cbd5e1;
}

.statement-filter-fields {
    margin-top: 18px;
}

.statement-filter-field,
.statement-filter-period {
    display: none;
}

.statement-filter-field.is-visible,
.statement-filter-period.is-visible {
    display: block;
}

.statement-filter-period.is-visible {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.statement-filter-field span {
    display: block;
    margin-bottom: 8px;
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 900;
}

body.theme-dark .statement-filter-field span,
body.dark .statement-filter-field span,
html[data-theme="dark"] .statement-filter-field span {
    color: #9fb5d0;
}

.statement-filter-field input {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 14px;
    background: #ffffff;
    color: #0f172a;
    font-weight: 850;
    outline: none;
}

.statement-filter-field input:focus {
    border-color: rgba(37, 99, 235, 0.7);
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

body.theme-dark .statement-filter-field input,
body.dark .statement-filter-field input,
html[data-theme="dark"] .statement-filter-field input {
    background: #ffffff;
    color: #0f172a;
}

.statement-filter-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.statement-btn-cancel,
.statement-btn-submit {
    min-height: 42px;
    padding: 0 16px;
    border-radius: 14px;
    font-weight: 950;
    cursor: pointer;
}

.statement-btn-cancel {
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: transparent;
    color: #475569;
}

body.theme-dark .statement-btn-cancel,
body.dark .statement-btn-cancel,
html[data-theme="dark"] .statement-btn-cancel {
    color: #cbd5e1;
}

.statement-btn-submit {
    border: 0;
}

@media (max-width: 1100px) {
    .statement-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .statement-hero-clean,
    .statement-table-head {
        align-items: stretch;
        flex-direction: column;
    }

    .statement-filter-trigger,
    .statement-filter-secondary {
        width: 100%;
    }

    .statement-summary-grid,
    .statement-filter-period.is-visible {
        grid-template-columns: 1fr;
    }

    .statement-hero-clean,
    .statement-table-card {
        padding: 20px;
        border-radius: 20px;
    }
}

/* =========================================================
   BVMS v11 - páginas compactas: Despesas, Backup e Auditoria
========================================================= */
.bvms-clean-page {
    display: grid;
    gap: 18px;
    padding: 22px 28px 34px;
}
.bvms-clean-hero {
    border: 1px solid var(--border, #dbe4f0);
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,250,252,.88));
    border-radius: 24px;
    padding: 24px 26px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    box-shadow: 0 18px 50px rgba(15,23,42,.06);
}
.bvms-clean-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    border-radius: 999px;
    padding: 7px 13px;
    margin-bottom: 12px;
    color: #2563eb;
    background: rgba(37,99,235,.12);
    border: 1px solid rgba(37,99,235,.22);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.bvms-clean-pill.warning { color: #b45309; background: rgba(245,158,11,.15); border-color: rgba(245,158,11,.25); }
.bvms-clean-hero h1 {
    margin: 0;
    color: var(--text, #071126);
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: .98;
    letter-spacing: -.04em;
    font-weight: 950;
}
.bvms-clean-hero p,
.bvms-table-head p,
.bvms-info-card small,
.bvms-metric-card small {
    color: var(--muted, #5b6b82);
}
.bvms-clean-hero p { margin: 12px 0 0; max-width: 780px; font-weight: 650; }
.bvms-clean-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.btn-primary-soft,
.btn-secondary-soft,
.btn-danger-soft {
    border: 0;
    border-radius: 14px;
    padding: 12px 18px;
    font-weight: 950;
    line-height: 1;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
    white-space: nowrap;
}
.btn-primary-soft { color: #fff !important; background: linear-gradient(135deg,#4f46e5,#06b6d4); box-shadow: 0 16px 32px rgba(37,99,235,.20); }
.btn-secondary-soft { color: #2563eb !important; background: rgba(37,99,235,.08); border: 1px solid rgba(37,99,235,.18); }
.btn-danger-soft { color: #dc2626 !important; background: rgba(239,68,68,.10); border: 1px solid rgba(239,68,68,.18); }
.btn-primary-soft:hover,
.btn-secondary-soft:hover,
.btn-danger-soft:hover { transform: translateY(-1px); }
.btn-primary-soft.compact,
.btn-secondary-soft.compact,
.btn-danger-soft.compact { padding: 9px 12px; min-height: 34px; border-radius: 11px; font-size: 13px; }
.btn-primary-soft:disabled,
.btn-secondary-soft:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.bvms-period-strip {
    border: 1px solid var(--border, #dbe4f0);
    background: var(--surface, #fff);
    border-radius: 20px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    box-shadow: 0 14px 32px rgba(15,23,42,.05);
}
.bvms-period-strip span { color: var(--muted, #64748b); font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .05em; }
.bvms-period-strip strong { color: var(--text, #071126); font-size: 18px; }
.bvms-period-strip small { color: var(--muted, #64748b); margin-left: auto; font-weight: 800; }
.bvms-metric-grid,
.bvms-clean-grid { display: grid; gap: 14px; }
.bvms-metric-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.bvms-clean-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bvms-clean-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bvms-metric-card,
.bvms-info-card,
.bvms-table-card {
    border: 1px solid var(--border, #dbe4f0);
    background: rgba(255,255,255,.92);
    border-radius: 22px;
    box-shadow: 0 16px 44px rgba(15,23,42,.06);
}
.bvms-metric-card,
.bvms-info-card { padding: 18px; min-height: 110px; }
.bvms-metric-card span,
.bvms-info-card span {
    display: block;
    color: var(--muted, #64748b);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 8px;
}
.bvms-metric-card strong { display: block; color: var(--text, #071126); font-size: clamp(20px, 2vw, 29px); line-height: 1; margin-bottom: 10px; }
.bvms-info-card strong { display: block; color: var(--text, #071126); font-size: 17px; line-height: 1.2; margin-bottom: 6px; }
.bvms-metric-card.success,
.bvms-info-card.success-soft { background: linear-gradient(135deg, rgba(236,253,245,.95), rgba(255,255,255,.95)); border-color: rgba(16,185,129,.22); }
.bvms-metric-card.warning,
.bvms-info-card.warning-soft { background: linear-gradient(135deg, rgba(255,251,235,.96), rgba(255,255,255,.95)); border-color: rgba(245,158,11,.25); }
.bvms-info-card.danger-soft { background: linear-gradient(135deg, rgba(254,242,242,.96), rgba(255,255,255,.95)); border-color: rgba(239,68,68,.22); }
.bvms-table-card { padding: 18px; overflow: hidden; }
.bvms-table-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.bvms-table-head h2 { margin: 0 0 6px; color: var(--text,#071126); font-size: 22px; letter-spacing: -.02em; }
.bvms-table-head p { margin: 0; font-weight: 650; }
.bvms-clean-table { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; border-radius: 18px; }
.bvms-clean-table thead th {
    background: #eaf1f8;
    color: #0f1b33;
    padding: 14px 16px;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
    border: 0;
}
.bvms-clean-table tbody td {
    background: #fff;
    color: #0f172a;
    padding: 15px 16px;
    border-top: 1px solid rgba(203,213,225,.9);
    vertical-align: middle;
}
.bvms-clean-table tbody td small { color: #64748b; font-weight: 700; }
.bvms-empty-row,
.bvms-empty-state {
    padding: 24px !important;
    text-align: center;
    color: var(--muted, #64748b) !important;
    font-weight: 850;
    background: rgba(248,250,252,.85) !important;
    border-radius: 16px;
}
.bvms-empty-state.compact { padding: 14px !important; text-align: left; }
.bvms-status-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 950;
    border: 1px solid transparent;
    white-space: nowrap;
}
.bvms-status-pill.success { color: #047857; background: rgba(16,185,129,.13); border-color: rgba(16,185,129,.22); }
.bvms-status-pill.warning { color: #b45309; background: rgba(245,158,11,.14); border-color: rgba(245,158,11,.26); }
.bvms-status-pill.info { color: #0369a1; background: rgba(14,165,233,.13); border-color: rgba(14,165,233,.24); }
.bvms-status-pill.neutral { color: #475569; background: rgba(100,116,139,.12); border-color: rgba(100,116,139,.20); }
.bvms-inline-form { margin: 0; display: inline-flex; }
.bvms-clean-modal-card { max-width: 640px; width: min(94vw, 640px); background: #071426 !important; border: 1px solid rgba(148,163,184,.24) !important; color: #f8fafc; }
.bvms-clean-modal-card .mini-modal-head { border-bottom: 1px solid rgba(148,163,184,.20); margin: -24px -24px 18px; padding: 22px 24px 16px; display: flex; justify-content: space-between; gap: 14px; }
.bvms-clean-modal-card .mini-modal-head span { color: #94a3b8; font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; }
.bvms-clean-modal-card .mini-modal-head h2 { color: #fff; margin: 4px 0 0; font-size: 22px; }
.bvms-clean-modal-card .mini-modal-head p { color: #94a3b8; margin: 6px 0 0; font-weight: 800; }
.bvms-clean-form { display: grid; gap: 14px; }
.bvms-clean-form label { color: #94a3b8; display: grid; gap: 8px; font-size: 13px; font-weight: 900; }
.bvms-clean-form input,
.bvms-clean-form select {
    width: 100%;
    min-height: 46px;
    border-radius: 13px;
    border: 1px solid rgba(148,163,184,.28);
    background: #fff;
    color: #0f172a;
    padding: 0 14px;
    font-weight: 750;
}
.bvms-form-grid.two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.bvms-radio-box,
.bvms-checkbox-box {
    border: 1px solid rgba(148,163,184,.24);
    border-radius: 16px;
    padding: 12px 14px;
    min-height: 84px;
    display: grid;
    gap: 8px;
    align-content: center;
}
.bvms-radio-box legend { color: #94a3b8; font-size: 13px; font-weight: 900; margin-bottom: 4px; }
.bvms-radio-box label,
.bvms-checkbox-box { color: #e2e8f0; font-size: 14px; display: flex; align-items: center; gap: 8px; }
.bvms-radio-box input,
.bvms-checkbox-box input { width: 16px !important; min-height: 16px !important; height: 16px !important; padding: 0; }
.bvms-period-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.bvms-period-tabs .period-tab {
    border: 1px solid rgba(148,163,184,.24);
    border-radius: 13px;
    background: rgba(15,23,42,.72);
    color: #e5e7eb;
    padding: 12px 10px;
    font-weight: 950;
}
.bvms-period-tabs .period-tab.active { border-color: transparent; background: linear-gradient(135deg,#38bdf8,#2dd4bf); color: #fff; box-shadow: 0 12px 26px rgba(45,212,191,.18); }
.bvms-modal-actions { display: flex; justify-content: flex-end; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.bvms-modal-actions.left { justify-content: flex-start; margin-top: 18px; }
.backup-export-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.backup-export-card {
    border: 1px solid var(--border, #dbe4f0);
    background: rgba(248,250,252,.86);
    border-radius: 20px;
    padding: 16px;
    display: grid;
    gap: 12px;
    min-height: 190px;
}
.backup-export-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg,#4f46e5,#06b6d4);
    font-weight: 950;
}
.backup-export-card h3 { color: var(--text,#071126); margin: 0 0 6px; font-size: 18px; }
.backup-export-card p { color: var(--muted,#64748b); margin: 0; font-weight: 650; }
.backup-confirm-card .bvms-clean-grid { margin: 12px 0; }
.audit-details-row td { padding: 0 !important; background: rgba(241,245,249,.65) !important; }
.audit-details-box { margin: 10px; padding: 18px; border: 1px solid var(--border,#dbe4f0); border-radius: 18px; background: rgba(255,255,255,.94); }
.audit-details-grid,
.audit-metadata-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.audit-details-grid article,
.audit-description-box,
.audit-metadata-item { border: 1px solid rgba(203,213,225,.78); border-radius: 16px; padding: 13px; background: rgba(248,250,252,.85); }
.audit-details-grid span,
.audit-description-box span,
.audit-metadata-item span { display: block; color: var(--muted,#64748b); font-size: 12px; font-weight: 950; margin-bottom: 5px; text-transform: uppercase; letter-spacing: .04em; }
.audit-details-grid strong,
.audit-description-box strong,
.audit-metadata-item strong { display: block; color: var(--text,#071126); word-break: break-word; }
.audit-description-box { margin: 12px 0; }
body.theme-dark .bvms-clean-page { background: transparent; }
body.theme-dark .bvms-clean-hero,
body.theme-dark .bvms-period-strip,
body.theme-dark .bvms-metric-card,
body.theme-dark .bvms-info-card,
body.theme-dark .bvms-table-card {
    background: rgba(15,23,42,.88);
    border-color: rgba(148,163,184,.18);
    box-shadow: none;
}
body.theme-dark .bvms-clean-hero h1,
body.theme-dark .bvms-period-strip strong,
body.theme-dark .bvms-metric-card strong,
body.theme-dark .bvms-info-card strong,
body.theme-dark .bvms-table-head h2 { color: #f8fafc; }
body.theme-dark .bvms-clean-table thead th { background: rgba(226,232,240,.09); color: #e2e8f0; }
body.theme-dark .bvms-clean-table tbody td { background: #0f172a; color: #f8fafc; border-color: rgba(148,163,184,.18); }
body.theme-dark .bvms-clean-table tbody td small { color: #93a4bb; }
body.theme-dark .bvms-empty-row,
body.theme-dark .bvms-empty-state { background: rgba(15,23,42,.75) !important; color: #cbd5e1 !important; }
body.theme-dark .backup-export-card,
body.theme-dark .audit-details-box,
body.theme-dark .audit-details-grid article,
body.theme-dark .audit-description-box,
body.theme-dark .audit-metadata-item { background: rgba(15,23,42,.72); border-color: rgba(148,163,184,.18); }
body.theme-dark .backup-export-card h3,
body.theme-dark .audit-details-grid strong,
body.theme-dark .audit-description-box strong,
body.theme-dark .audit-metadata-item strong { color: #f8fafc; }
body.theme-dark .audit-details-row td { background: rgba(2,6,23,.85) !important; }
body.theme-dark .bvms-status-pill.neutral { color: #cbd5e1; background: rgba(148,163,184,.12); }
@media (max-width: 1180px) {
    .bvms-metric-grid-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bvms-clean-grid-4,
    .backup-export-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .audit-details-grid,
    .audit-metadata-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .bvms-clean-page { padding: 16px; }
    .bvms-clean-hero { flex-direction: column; padding: 20px; }
    .bvms-clean-actions { width: 100%; justify-content: stretch; }
    .bvms-clean-actions > * { flex: 1 1 auto; }
    .bvms-metric-grid-5,
    .bvms-clean-grid-4,
    .bvms-clean-grid-3,
    .backup-export-grid,
    .audit-details-grid,
    .audit-metadata-grid,
    .bvms-form-grid.two { grid-template-columns: 1fr; }
    .bvms-period-strip small { margin-left: 0; width: 100%; }
    .bvms-period-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* =========================================================
   BVMS ERP - Produtos v12: abas no topo e Aplicar Custos limpo
========================================================= */
body.app-body .products-cost-page .products-hero-clean {
  align-items: flex-start !important;
  gap: 18px !important;
}

body.app-body .products-cost-page .products-hero-main {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

body.app-body .products-cost-page .products-tabs-inline {
  margin: 18px 0 0 !important;
  padding: 6px !important;
  width: fit-content !important;
  max-width: 100% !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--bvms-surface-2, #f8fafc) 78%, transparent) !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45) !important;
}

body.app-body .products-cost-page .products-tabs-inline a {
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 9px 14px !important;
  border-radius: 14px !important;
  font-size: .9rem !important;
}

body.app-body .products-cost-page .products-tabs-inline a.active {
  background: linear-gradient(135deg, #2563eb, #14b8a6) !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .18) !important;
}

body.app-body .products-cost-page .apply-costs-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 0 0 16px !important;
  padding: 18px 20px !important;
  border-radius: 22px !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  background: linear-gradient(135deg, color-mix(in srgb, #2563eb 6%, var(--bvms-surface, #fff)), var(--bvms-surface, #fff)) !important;
  box-shadow: var(--bvms-shadow, 0 12px 30px rgba(15,23,42,.075)) !important;
}

body.app-body .products-cost-page .apply-costs-head h2 {
  margin: 0 0 4px !important;
  font-size: 1.35rem !important;
}

body.app-body .products-cost-page .apply-costs-head p {
  margin: 0 !important;
  max-width: 760px !important;
}

body.app-body .products-cost-page .smart-cost-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr) !important;
  gap: 18px !important;
  align-items: start !important;
  margin-bottom: 22px !important;
}

body.app-body .products-cost-page .smart-cost-form-card,
body.app-body .products-cost-page .smart-cost-side-card {
  min-width: 0 !important;
  padding: 22px !important;
  border-radius: 22px !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  background: var(--bvms-surface, #ffffff) !important;
  color: var(--bvms-text, #0f172a) !important;
  box-shadow: var(--bvms-shadow, 0 12px 30px rgba(15,23,42,.075)) !important;
}

body.app-body .products-cost-page .smart-cost-form-card h2,
body.app-body .products-cost-page .smart-cost-side-card h3 {
  margin: 0 0 6px !important;
}

body.app-body .products-cost-page .smart-cost-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 18px !important;
}

body.app-body .products-cost-page .smart-cost-form > label,
body.app-body .products-cost-page .smart-cost-form > .cost-preview-box,
body.app-body .products-cost-page .smart-cost-form > button {
  grid-column: 1 / -1 !important;
}

body.app-body .products-cost-page .smart-cost-row {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.app-body .products-cost-page .smart-cost-form label,
body.app-body .products-cost-page .modal-form-grid label {
  display: grid !important;
  gap: 7px !important;
  color: var(--bvms-text-soft, #334155) !important;
  font-size: .82rem !important;
  font-weight: 850 !important;
}

body.app-body .products-cost-page .smart-cost-form .check-line {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  background: var(--bvms-surface-2, #f8fafc) !important;
  color: var(--bvms-text-soft, #334155) !important;
}

body.app-body .products-cost-page .cost-preview-box {
  padding: 16px !important;
  border-radius: 18px !important;
  border: 1px dashed color-mix(in srgb, var(--bvms-primary, #2563eb) 38%, var(--bvms-border, #dbe3ef)) !important;
  background: color-mix(in srgb, var(--bvms-primary, #2563eb) 5%, var(--bvms-surface-2, #f8fafc)) !important;
  color: var(--bvms-text, #0f172a) !important;
}

body.app-body .products-cost-page .cost-preview-box strong {
  display: block !important;
  margin-bottom: 6px !important;
  color: var(--bvms-text, #0f172a) !important;
}

body.app-body .products-cost-page .cost-preview-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 10px !important;
}

body.app-body .products-cost-page .cost-preview-grid span {
  padding: 12px !important;
  border-radius: 14px !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  background: var(--bvms-surface, #fff) !important;
  color: var(--bvms-muted, #64748b) !important;
  font-size: .82rem !important;
}

body.app-body .products-cost-page .cost-preview-grid b {
  display: block !important;
  margin-top: 3px !important;
  color: var(--bvms-text, #0f172a) !important;
  font-size: .95rem !important;
}

body.app-body .products-cost-page .missing-cost-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 16px 0 !important;
  display: grid !important;
  gap: 10px !important;
}

body.app-body .products-cost-page .missing-cost-list li {
  padding: 13px !important;
  border-radius: 16px !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  background: var(--bvms-surface-2, #f8fafc) !important;
}

body.app-body .products-cost-page .missing-cost-list strong,
body.app-body .products-cost-page .missing-cost-list span {
  display: block !important;
}

body.app-body .products-cost-page .missing-cost-list span {
  margin-top: 3px !important;
  color: var(--bvms-muted, #64748b) !important;
  font-size: .84rem !important;
}

body.app-body .products-cost-page .help-note-clean {
  padding: 14px !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--bvms-info, #0891b2) 8%, var(--bvms-surface, #fff)) !important;
  border: 1px solid color-mix(in srgb, var(--bvms-info, #0891b2) 20%, var(--bvms-border, #dbe3ef)) !important;
  color: var(--bvms-text-soft, #334155) !important;
  line-height: 1.5 !important;
}

body.app-body .products-cost-page .simple-modal[hidden] {
  display: none !important;
}

body.app-body .products-cost-page .simple-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9990 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: rgba(15, 23, 42, .62) !important;
  backdrop-filter: blur(8px) !important;
}

body.app-body .products-cost-page .simple-modal-card {
  width: min(720px, 100%) !important;
  max-height: calc(100vh - 48px) !important;
  overflow: auto !important;
  position: relative !important;
  padding: 24px !important;
  border-radius: 24px !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  background: var(--bvms-surface, #fff) !important;
  color: var(--bvms-text, #0f172a) !important;
  box-shadow: 0 24px 80px rgba(15, 23, 42, .28) !important;
}

body.app-body .products-cost-page .simple-modal-close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 14px !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  background: var(--bvms-surface-2, #f8fafc) !important;
  color: var(--bvms-text, #0f172a) !important;
  font-size: 1.2rem !important;
}

body.app-body .products-cost-page .modal-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 16px !important;
}

body.app-body .products-cost-page .modal-form-grid .check-line,
body.app-body .products-cost-page .modal-form-grid .modal-actions {
  grid-column: 1 / -1 !important;
}

@media (prefers-color-scheme: dark) {
  body.app-body .products-cost-page .products-tabs-inline {
    background: rgba(15, 23, 42, .42) !important;
  }
}

body.app-body.theme-dark .products-cost-page .products-tabs-inline,
body.app-body.dark .products-cost-page .products-tabs-inline,
html.dark body.app-body .products-cost-page .products-tabs-inline {
  background: rgba(15, 23, 42, .42) !important;
}

@media (max-width: 1100px) {
  body.app-body .products-cost-page .smart-cost-layout {
    grid-template-columns: 1fr !important;
  }
  body.app-body .products-cost-page .cost-preview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.app-body .products-cost-page .products-tabs-inline {
    width: 100% !important;
  }
  body.app-body .products-cost-page .products-tabs-inline a {
    flex: 1 1 100% !important;
  }
  body.app-body .products-cost-page .apply-costs-head {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  body.app-body .products-cost-page .smart-cost-form,
  body.app-body .products-cost-page .smart-cost-row,
  body.app-body .products-cost-page .modal-form-grid,
  body.app-body .products-cost-page .cost-preview-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   BVMS ERP - v15 Categorias + Margem por produto
   Corrige checkboxes/seleção em categorias e deixa margem mais limpa.
========================================================= */
body.app-body .category-management-page {
  padding-bottom: 28px !important;
}

body.app-body .category-management-page .row.g-4.mb-4,
body.app-body .category-management-page .row.g-4 {
  row-gap: 18px !important;
}

body.app-body .category-management-page .card {
  overflow: hidden !important;
  margin-bottom: 18px !important;
}

body.app-body .category-management-page .card .card-body {
  padding: 20px !important;
}

body.app-body .category-management-page .d-flex.flex-wrap.align-items-center.justify-content-between.gap-2.mb-3 {
  min-height: 46px !important;
  padding: 10px 12px !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--bvms-surface-2, #f8fafc) 88%, transparent) !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
}

body.app-body .category-management-page label.form-check,
body.app-body .category-management-page .form-check {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--bvms-text, #0f172a) !important;
  line-height: 1.2 !important;
}

body.app-body .category-management-page .form-check .form-check-label,
body.app-body .category-management-page .form-check-label,
body.app-body .category-management-page label.form-check span {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  overflow: visible !important;
  color: var(--bvms-text, #0f172a) !important;
  font-size: .86rem !important;
  font-weight: 800 !important;
}

body.app-body .category-management-page input.form-check-input,
body.app-body .category-management-page input[type="checkbox"].form-check-input,
body.app-body .category-management-page input[type="checkbox"] {
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 18px !important;
  border-radius: 6px !important;
  border: 1px solid var(--bvms-border-2, #cbd5e1) !important;
  background-color: var(--bvms-surface, #fff) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

body.app-body .category-management-page table td:first-child,
body.app-body .category-management-page table th:first-child {
  width: 54px !important;
  min-width: 54px !important;
  text-align: center !important;
}

body.app-body .category-management-page table td:first-child input.form-check-input {
  display: inline-block !important;
}

body.app-body .category-management-page .btn.js-bulk-delete-button {
  opacity: 1 !important;
  min-height: 38px !important;
}

body.app-body .category-management-page .btn.js-bulk-delete-button:disabled {
  opacity: .45 !important;
  cursor: not-allowed !important;
}

body.app-body .category-management-page .table-responsive {
  max-height: none !important;
}

body.app-body .category-management-page .table td,
body.app-body .category-management-page .table th {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

body.app-body .category-management-page .badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 24px !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
}

body.app-body .product-margin-page.bvms-margin-clean {
  display: grid !important;
  gap: 18px !important;
  padding-bottom: 28px !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-hero-clean {
  align-items: center !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-hero-clean .badge {
  display: inline-flex !important;
  padding: 7px 12px !important;
  border: 1px solid color-mix(in srgb, var(--bvms-primary, #2563eb) 22%, transparent) !important;
  background: color-mix(in srgb, var(--bvms-primary, #2563eb) 12%, transparent) !important;
  color: var(--bvms-primary, #2563eb) !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-filter-inline {
  min-width: min(360px, 100%) !important;
  padding: 14px !important;
  border-radius: 18px !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  background: color-mix(in srgb, var(--bvms-surface, #fff) 78%, transparent) !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-filter-inline label {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--bvms-muted, #64748b) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .055em !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-filter-row {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 10px !important;
  align-items: center !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-filter-row input {
  min-height: 42px !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-filter-row button {
  min-height: 42px !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-kpi-card {
  padding: 18px !important;
  border-radius: 20px !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  background: var(--bvms-surface, #fff) !important;
  box-shadow: var(--bvms-shadow, 0 12px 30px rgba(15,23,42,.075)) !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-kpi-card span,
body.app-body .product-margin-page.bvms-margin-clean .margin-kpi-card small {
  display: block !important;
  color: var(--bvms-muted, #64748b) !important;
  font-weight: 800 !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-kpi-card span {
  font-size: .76rem !important;
  text-transform: uppercase !important;
  letter-spacing: .055em !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-kpi-card strong {
  display: block !important;
  margin: 8px 0 4px !important;
  color: var(--bvms-text, #0f172a) !important;
  font-size: clamp(1.25rem, 2vw, 1.75rem) !important;
  letter-spacing: -.04em !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-kpi-card.is-negative strong { color: var(--bvms-danger, #dc2626) !important; }
body.app-body .product-margin-page.bvms-margin-clean .margin-kpi-card.is-positive strong { color: var(--bvms-success, #16a34a) !important; }

body.app-body .product-margin-page.bvms-margin-clean .margin-ranking-panel {
  overflow: hidden !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-panel-title {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-panel-title span {
  display: block !important;
  margin-bottom: 4px !important;
  color: var(--bvms-muted, #64748b) !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .055em !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-panel-title h2 {
  margin: 0 !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-panel-title > strong {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: var(--bvms-surface-2, #f8fafc) !important;
  border: 1px solid var(--bvms-border, #dbe3ef) !important;
  color: var(--bvms-muted, #64748b) !important;
  white-space: nowrap !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-empty-state {
  padding: 26px !important;
  border-radius: 18px !important;
  border: 1px dashed var(--bvms-border-2, #cbd5e1) !important;
  background: var(--bvms-surface-2, #f8fafc) !important;
  text-align: center !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-empty-state strong {
  display: block !important;
  color: var(--bvms-text, #0f172a) !important;
  margin-bottom: 6px !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-empty-state p {
  margin: 0 !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-table-wrap {
  border-radius: 18px !important;
  overflow: auto !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-ranking-table td:first-child strong {
  display: block !important;
  min-width: 210px !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 76px !important;
  min-height: 28px !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  border: 1px solid transparent !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-pill.success {
  color: var(--bvms-success, #16a34a) !important;
  background: var(--bvms-success-soft, #dcfce7) !important;
  border-color: color-mix(in srgb, var(--bvms-success, #16a34a) 25%, transparent) !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-pill.warning {
  color: var(--bvms-warning, #d97706) !important;
  background: var(--bvms-warning-soft, #fff7ed) !important;
  border-color: color-mix(in srgb, var(--bvms-warning, #d97706) 25%, transparent) !important;
}

body.app-body .product-margin-page.bvms-margin-clean .margin-pill.danger {
  color: var(--bvms-danger, #dc2626) !important;
  background: var(--bvms-danger-soft, #fef2f2) !important;
  border-color: color-mix(in srgb, var(--bvms-danger, #dc2626) 25%, transparent) !important;
}

@media (max-width: 1100px) {
  body.app-body .product-margin-page.bvms-margin-clean .margin-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.app-body .product-margin-page.bvms-margin-clean .margin-kpi-grid,
  body.app-body .product-margin-page.bvms-margin-clean .margin-filter-row {
    grid-template-columns: 1fr !important;
  }
  body.app-body .category-management-page .d-flex.flex-wrap.align-items-center.justify-content-between.gap-2.mb-3,
  body.app-body .product-margin-page.bvms-margin-clean .margin-panel-title {
    align-items: stretch !important;
    flex-direction: column !important;
  }
}


/* =========================================================
   V16 - Correção modo noturno landing/cadastro
   Mantém textos legíveis em páginas públicas e remove conflito
   de inputs globais escuros dentro do cadastro.
========================================================= */
body.guest-body.theme-dark,
body.guest-body.dark {
    background: #07111f !important;
    color: #f8fafc !important;
}

html[data-theme="dark"] .register-wizard-page,
html.theme-dark .register-wizard-page {
    background:
        radial-gradient(circle at top left, rgba(56, 189, 248, .12), transparent 30%),
        radial-gradient(circle at top right, rgba(34, 197, 94, .10), transparent 28%),
        linear-gradient(180deg, #07111f 0%, #0b1628 100%) !important;
    color: #f8fafc !important;
}

html[data-theme="dark"] .register-wizard-page .wizard-card,
html.theme-dark .register-wizard-page .wizard-card,
html[data-theme="dark"] .register-wizard-page .plan-option,
html.theme-dark .register-wizard-page .plan-option {
    background: #111827 !important;
    border-color: rgba(148, 163, 184, .24) !important;
    color: #f8fafc !important;
}

html[data-theme="dark"] .register-wizard-page .field-group input,
html.theme-dark .register-wizard-page .field-group input,
html[data-theme="dark"] .register-wizard-page .field-group select,
html.theme-dark .register-wizard-page .field-group select {
    background: #0b1220 !important;
    color: #f8fafc !important;
    border-color: rgba(148, 163, 184, .34) !important;
}

html[data-theme="dark"] .register-wizard-page .wizard-brand,
html.theme-dark .register-wizard-page .wizard-brand,
html[data-theme="dark"] .register-wizard-page .wizard-card h1,
html.theme-dark .register-wizard-page .wizard-card h1,
html[data-theme="dark"] .register-wizard-page label,
html.theme-dark .register-wizard-page label,
html[data-theme="dark"] .register-wizard-page .plan-option li,
html.theme-dark .register-wizard-page .plan-option li {
    color: #f8fafc !important;
}

/* =========================================================
   V17 - Correção final do cadastro público
   Corrige inputs escuros no modo claro e botão de tema sem estilo.
========================================================= */
html[data-theme="light"] body.guest-body,
html.theme-light body.guest-body {
    background: #f4f7fb !important;
    color: #0f172a !important;
}

html[data-theme="light"] body.guest-body .register-wizard-page,
html.theme-light body.guest-body .register-wizard-page {
    --bvms-bg: #f8fafc !important;
    --bvms-bg-soft: #eef4fb !important;
    --bvms-surface: #ffffff !important;
    --bvms-surface-soft: #f1f5f9 !important;
    --bvms-text: #0f172a !important;
    --bvms-muted: #64748b !important;
    --bvms-border: #dbe3ef !important;
    --bvms-input-bg: #ffffff !important;
    --bvms-input-text: #0f172a !important;
    --bvms-input-border: #cbd5e1 !important;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, .10), transparent 30%),
        radial-gradient(circle at top right, rgba(34, 197, 94, .09), transparent 28%),
        linear-gradient(180deg, #f8fafc 0%, #eef4fb 100%) !important;
    color: #0f172a !important;
}

html[data-theme="light"] body.guest-body .register-wizard-page .wizard-card,
html.theme-light body.guest-body .register-wizard-page .wizard-card,
html[data-theme="light"] body.guest-body .register-wizard-page .plan-option,
html.theme-light body.guest-body .register-wizard-page .plan-option {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #dbe3ef !important;
}

html[data-theme="light"] body.guest-body .register-wizard-page .field-group input,
html.theme-light body.guest-body .register-wizard-page .field-group input,
html[data-theme="light"] body.guest-body .register-wizard-page .field-group select,
html.theme-light body.guest-body .register-wizard-page .field-group select {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
    -webkit-text-fill-color: #0f172a !important;
    caret-color: #2563eb !important;
}

html[data-theme="light"] body.guest-body .register-wizard-page .field-group input[readonly],
html.theme-light body.guest-body .register-wizard-page .field-group input[readonly] {
    background: #eaf2ff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}

html[data-theme="light"] body.guest-body .register-wizard-page .field-group input::placeholder,
html.theme-light body.guest-body .register-wizard-page .field-group input::placeholder {
    color: #64748b !important;
    opacity: 1 !important;
}

body.guest-body .theme-toggle,
.register-wizard-page .theme-toggle,
.landing-page .theme-toggle {
    width: 54px !important;
    height: 36px !important;
    min-width: 54px !important;
    padding: 0 5px !important;
    border: 1px solid rgba(148, 163, 184, .34) !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    background: rgba(255, 255, 255, .78) !important;
    color: #0f172a !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .08) !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    line-height: 1 !important;
}

html[data-theme="dark"] body.guest-body .theme-toggle,
html.theme-dark body.guest-body .theme-toggle {
    background: #0f172a !important;
    color: #f8fafc !important;
    border-color: rgba(148, 163, 184, .28) !important;
}

body.guest-body .theme-toggle span,
.register-wizard-page .theme-toggle span,
.landing-page .theme-toggle span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
}

html[data-theme="light"] body.guest-body .register-wizard-page label,
html.theme-light body.guest-body .register-wizard-page label,
html[data-theme="light"] body.guest-body .register-wizard-page .wizard-card h1,
html.theme-light body.guest-body .register-wizard-page .wizard-card h1,
html[data-theme="light"] body.guest-body .register-wizard-page .wizard-brand,
html.theme-light body.guest-body .register-wizard-page .wizard-brand {
    color: #0f172a !important;
}


/* V18 backup - cadastro público: regra sem depender de data-theme */
body.guest-body .register-wizard-page .field-group input:not([type=checkbox]):not([type=radio]),
body.guest-body .register-wizard-page .field-group select {
  background: #ffffff !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  border-color: #cbd5e1 !important;
}
html[data-theme=dark] body.guest-body .register-wizard-page .field-group input:not([type=checkbox]):not([type=radio]),
html[data-theme=dark] body.guest-body .register-wizard-page .field-group select,
html.theme-dark body.guest-body .register-wizard-page .field-group input:not([type=checkbox]):not([type=radio]),
html.theme-dark body.guest-body .register-wizard-page .field-group select {
  background: #0b1220 !important;
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
  border-color: rgba(148, 163, 184, .34) !important;
}

/* =========================================================
   BVMS ERP v19 - ajustes de consistência + configurações pro
========================================================= */
body.app-body:not(.dark):not(.theme-dark) .bvms-clean-page .bvms-metric-card strong,
body.app-body:not(.dark):not(.theme-dark) .bvms-clean-page .bvms-info-card strong,
body.app-body:not(.dark):not(.theme-dark) .bvms-clean-page .bvms-period-strip strong,
body.app-body:not(.dark):not(.theme-dark) .bvms-clean-page .bvms-table-head h2 {
    color: #071126 !important;
    opacity: 1 !important;
}
body.app-body:not(.dark):not(.theme-dark) .bvms-clean-page .bvms-metric-card span,
body.app-body:not(.dark):not(.theme-dark) .bvms-clean-page .bvms-info-card span,
body.app-body:not(.dark):not(.theme-dark) .bvms-clean-page .bvms-metric-card small,
body.app-body:not(.dark):not(.theme-dark) .bvms-clean-page .bvms-info-card small,
body.app-body:not(.dark):not(.theme-dark) .bvms-clean-page .bvms-table-head p {
    color: #52637a !important;
    opacity: 1 !important;
}
body.app-body:not(.dark):not(.theme-dark) .bvms-clean-page .bvms-clean-table thead th,
body.app-body:not(.dark):not(.theme-dark) .statement-page-clean .statement-table thead th {
    background: #eaf1f8 !important;
    color: #0f1b33 !important;
}
body.app-body:not(.dark):not(.theme-dark) .bvms-clean-page .bvms-clean-table tbody td,
body.app-body:not(.dark):not(.theme-dark) .statement-page-clean .statement-table tbody td {
    background: #ffffff !important;
    color: #0f172a !important;
    border-top-color: rgba(203,213,225,.95) !important;
    opacity: 1 !important;
}
body.app-body:not(.dark):not(.theme-dark) .bvms-clean-page .bvms-clean-table tbody tr:hover td,
body.app-body:not(.dark):not(.theme-dark) .statement-page-clean .statement-table tbody tr:hover td {
    background: #f8fbff !important;
}
body.app-body:not(.dark):not(.theme-dark) .bvms-clean-page .bvms-clean-table small,
body.app-body:not(.dark):not(.theme-dark) .statement-page-clean .statement-table small {
    color: #64748b !important;
    opacity: 1 !important;
}
body.app-body:not(.dark):not(.theme-dark) .bvms-status-pill.success,
body.app-body:not(.dark):not(.theme-dark) .settings-chip.success {
    color: #047857 !important;
    background: #dcfce7 !important;
    border-color: #bbf7d0 !important;
}
body.app-body:not(.dark):not(.theme-dark) .bvms-status-pill.info {
    color: #0369a1 !important;
    background: #e0f2fe !important;
    border-color: #bae6fd !important;
}
body.app-body:not(.dark):not(.theme-dark) .bvms-status-pill.neutral {
    color: #475569 !important;
    background: #f1f5f9 !important;
    border-color: #e2e8f0 !important;
}

.settings-pro-page {
    display: grid;
    gap: 16px;
    padding: 18px 8px 36px;
    color: var(--text, #071126);
}
.settings-pro-hero,
.settings-pro-card,
.settings-pro-summary article,
.settings-pro-tabs {
    border: 1px solid var(--border, #dbe4f0);
    background: rgba(255,255,255,.92);
    box-shadow: 0 16px 42px rgba(15,23,42,.06);
}
.settings-pro-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    padding: 24px 26px;
    border-radius: 24px;
    background:
        radial-gradient(circle at left top, rgba(99,102,241,.08), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.9));
}
.settings-pro-pill,
.settings-card-head span {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    border-radius: 999px;
    padding: 6px 10px;
    background: rgba(37,99,235,.10);
    color: #2563eb;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.settings-pro-hero h1 {
    margin: 12px 0 8px;
    color: #071126;
    font-size: clamp(30px, 3.1vw, 48px);
    line-height: .98;
    letter-spacing: -.045em;
    font-weight: 950;
}
.settings-pro-hero p,
.settings-card-head p,
.settings-pro-summary small,
.settings-muted {
    color: #5b6b82;
    font-weight: 700;
}
.settings-pro-actions,
.settings-card-head.with-switch,
.settings-modal-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}
.settings-btn,
.settings-save-bar,
.settings-inline-form button {
    border: 0;
    min-height: 40px;
    border-radius: 14px;
    padding: 0 16px;
    font-weight: 950;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.settings-btn.primary,
.settings-save-bar {
    color: #fff !important;
    background: linear-gradient(135deg,#4f46e5,#06b6d4,#22c55e);
    box-shadow: 0 16px 32px rgba(37,99,235,.18);
}
.settings-btn.secondary,
.settings-inline-form button.ghost {
    color: #2563eb !important;
    background: rgba(37,99,235,.08);
    border: 1px solid rgba(37,99,235,.18);
}
.settings-pro-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.settings-pro-summary article {
    border-radius: 20px;
    padding: 16px 18px;
}
.settings-pro-summary span {
    display: block;
    color: #64748b;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
    margin-bottom: 7px;
}
.settings-pro-summary strong {
    display: block;
    color: #071126;
    font-size: 18px;
    line-height: 1.2;
    margin-bottom: 5px;
}
.settings-pro-tabs {
    position: sticky;
    top: 76px;
    z-index: 5;
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 8px;
    border-radius: 18px;
    width: fit-content;
    max-width: 100%;
}
.settings-pro-tabs a {
    min-height: 34px;
    padding: 0 14px;
    border-radius: 12px;
    color: #475569;
    font-weight: 950;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}
.settings-pro-tabs a:hover {
    background: rgba(37,99,235,.08);
    color: #2563eb;
}
.settings-pro-form,
.settings-pro-grid {
    display: grid;
    gap: 16px;
}
.settings-pro-grid {
    grid-template-columns: minmax(0, 1.42fr) minmax(320px, .58fr);
    align-items: stretch;
}
.settings-pro-card {
    border-radius: 24px;
    padding: 20px;
}
.settings-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 16px;
}
.settings-card-head.compact { margin-bottom: 12px; }
.settings-card-head h2 {
    margin: 8px 0 5px;
    color: #071126;
    font-size: 22px;
    font-weight: 950;
    letter-spacing: -.035em;
}
.settings-card-head p { margin: 0; }
.settings-form-grid {
    display: grid;
    gap: 12px;
}
.settings-form-grid.one { grid-template-columns: 1fr; }
.settings-form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.settings-form-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.settings-form-grid .span-2 { grid-column: span 2; }
.settings-form-grid label {
    display: grid;
    gap: 7px;
    color: #0f172a;
    font-size: 13px;
    font-weight: 950;
}
.settings-form-grid input,
.settings-form-grid select,
.settings-inline-form select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #cbd8ea;
    border-radius: 14px;
    background: #fff;
    color: #0f172a;
    padding: 0 13px;
    font-weight: 750;
    outline: none;
}
.settings-form-grid input:focus,
.settings-form-grid select:focus,
.settings-inline-form select:focus {
    border-color: #38bdf8;
    box-shadow: 0 0 0 4px rgba(56,189,248,.16);
}
.settings-switch {
    display: inline-grid;
    grid-template-columns: auto 50px;
    gap: 10px;
    align-items: center;
    color: #475569;
    font-weight: 950;
}
.settings-switch input { position: absolute; opacity: 0; pointer-events: none; }
.settings-switch i {
    position: relative;
    width: 50px;
    height: 28px;
    border-radius: 999px;
    background: #cbd5e1;
    box-shadow: inset 0 1px 3px rgba(15,23,42,.18);
}
.settings-switch i::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    transition: transform .18s ease;
}
.settings-switch input:checked + i { background: linear-gradient(135deg,#2563eb,#14b8a6); }
.settings-switch input:checked + i::after { transform: translateX(22px); }
.settings-note,
.settings-empty {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(14,165,233,.08);
    border: 1px solid rgba(14,165,233,.18);
    color: #075985;
    font-weight: 800;
}
.settings-save-bar {
    width: 100%;
    min-height: 50px;
    font-size: 15px;
}
.settings-table-wrap {
    overflow-x: auto;
    border: 1px solid #dbe4f0;
    border-radius: 18px;
}
.settings-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}
.settings-table thead th {
    background: #eaf1f8;
    color: #0f1b33;
    padding: 13px 14px;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
    white-space: nowrap;
}
.settings-table tbody td {
    background: #fff;
    color: #0f172a;
    padding: 13px 14px;
    border-top: 1px solid #e2e8f0;
    vertical-align: middle;
}
.settings-inline-form {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}
.settings-inline-form.right { justify-content: flex-end; }
.settings-inline-form select { min-width: 160px; min-height: 36px; border-radius: 12px; }
.settings-inline-form button { min-height: 34px; padding: 0 12px; border-radius: 11px; color: #fff; background: #2563eb; }
.settings-chip {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    margin-left: 7px;
    font-size: 12px;
    font-weight: 950;
    border: 1px solid transparent;
}
.settings-chip.primary { color: #2563eb; background: rgba(37,99,235,.10); border-color: rgba(37,99,235,.18); }
.settings-chip.neutral { color: #475569; background: #f1f5f9; border-color: #e2e8f0; }
.settings-chip.warning { color: #b45309; background: #fef3c7; border-color: #fde68a; }
.settings-modal[hidden] { display: none !important; }
.settings-modal {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    place-items: center;
    padding: 18px;
}
.settings-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2,6,23,.58);
    backdrop-filter: blur(10px);
}
.settings-modal-card {
    position: relative;
    width: min(720px, 94vw);
    border: 1px solid rgba(148,163,184,.24);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(2,6,23,.28);
    padding: 20px;
}
.settings-modal-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}
.settings-modal-head span {
    color: #2563eb;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.settings-modal-head h2 { margin: 5px 0; color: #071126; font-size: 24px; }
.settings-modal-head p { margin: 0; color: #64748b; font-weight: 700; }
.settings-modal-head button {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    border: 1px solid #dbe4f0;
    background: #f8fafc;
    color: #0f172a;
    font-size: 24px;
    font-weight: 900;
    cursor: pointer;
}
.settings-modal-actions { margin-top: 2px; }

body.theme-dark .settings-pro-page,
body.dark .settings-pro-page { color: #f8fafc; }
body.theme-dark .settings-pro-hero,
body.theme-dark .settings-pro-card,
body.theme-dark .settings-pro-summary article,
body.theme-dark .settings-pro-tabs,
body.dark .settings-pro-hero,
body.dark .settings-pro-card,
body.dark .settings-pro-summary article,
body.dark .settings-pro-tabs {
    background: rgba(15,23,42,.88);
    border-color: rgba(148,163,184,.18);
    box-shadow: none;
}
body.theme-dark .settings-pro-hero,
body.dark .settings-pro-hero {
    background:
        radial-gradient(circle at left top, rgba(56,189,248,.12), transparent 34%),
        linear-gradient(135deg, rgba(15,23,42,.94), rgba(2,6,23,.88));
}
body.theme-dark .settings-pro-hero h1,
body.theme-dark .settings-card-head h2,
body.theme-dark .settings-pro-summary strong,
body.theme-dark .settings-form-grid label,
body.theme-dark .settings-table tbody td,
body.dark .settings-pro-hero h1,
body.dark .settings-card-head h2,
body.dark .settings-pro-summary strong,
body.dark .settings-form-grid label,
body.dark .settings-table tbody td { color: #f8fafc; }
body.theme-dark .settings-pro-hero p,
body.theme-dark .settings-card-head p,
body.theme-dark .settings-pro-summary small,
body.theme-dark .settings-pro-summary span,
body.theme-dark .settings-muted,
body.dark .settings-pro-hero p,
body.dark .settings-card-head p,
body.dark .settings-pro-summary small,
body.dark .settings-pro-summary span,
body.dark .settings-muted { color: #9fb5d0; }
body.theme-dark .settings-pro-tabs a,
body.dark .settings-pro-tabs a { color: #cbd5e1; }
body.theme-dark .settings-form-grid input,
body.theme-dark .settings-form-grid select,
body.theme-dark .settings-inline-form select,
body.dark .settings-form-grid input,
body.dark .settings-form-grid select,
body.dark .settings-inline-form select {
    background: rgba(2,6,23,.58);
    color: #f8fafc;
    border-color: rgba(148,163,184,.24);
}
body.theme-dark .settings-table-wrap,
body.dark .settings-table-wrap { border-color: rgba(148,163,184,.18); }
body.theme-dark .settings-table thead th,
body.dark .settings-table thead th { background: rgba(226,232,240,.08); color: #e2e8f0; }
body.theme-dark .settings-table tbody td,
body.dark .settings-table tbody td { background: rgba(15,23,42,.66); border-color: rgba(148,163,184,.16); }
body.theme-dark .settings-modal-card,
body.dark .settings-modal-card { background: #071426; border-color: rgba(148,163,184,.22); }
body.theme-dark .settings-modal-head h2,
body.dark .settings-modal-head h2 { color: #fff; }
body.theme-dark .settings-modal-head p,
body.dark .settings-modal-head p { color: #9fb5d0; }
body.theme-dark .settings-modal-head button,
body.dark .settings-modal-head button { background: rgba(15,23,42,.9); color: #fff; border-color: rgba(148,163,184,.24); }

@media (max-width: 1120px) {
    .settings-pro-grid,
    .settings-pro-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .settings-form-grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .settings-pro-page { padding: 14px 0 28px; }
    .settings-pro-hero,
    .settings-card-head.with-switch { flex-direction: column; }
    .settings-pro-actions,
    .settings-card-head.with-switch { align-items: stretch; }
    .settings-pro-actions > *, .settings-card-head.with-switch > button { width: 100%; }
    .settings-pro-grid,
    .settings-pro-summary,
    .settings-form-grid.two,
    .settings-form-grid.four { grid-template-columns: 1fr; }
    .settings-form-grid .span-2 { grid-column: auto; }
    .settings-pro-tabs { position: static; width: 100%; overflow-x: auto; }
    .settings-table tbody td { white-space: nowrap; }
}


/* BVMS v21 - correção definitiva da tela de Configurações
   Mantém o novo padrão, mas remove conflitos globais que deslocavam títulos,
   apagavam textos e deixavam tabelas escuras no modo claro. */
.settings-pro-page {
    width: 100% !important;
    max-width: 100% !important;
    padding: 18px 18px 42px !important;
    gap: 14px !important;
    box-sizing: border-box !important;
}
.settings-pro-page *,
.settings-pro-page *::before,
.settings-pro-page *::after {
    box-sizing: border-box;
}
.settings-pro-hero,
.settings-pro-card,
.settings-pro-summary article,
.settings-pro-tabs {
    position: relative;
    overflow: visible !important;
    text-align: left !important;
}
.settings-pro-hero {
    align-items: center !important;
    min-height: 132px;
}
.settings-pro-hero > div:first-child,
.settings-card-head > div,
.settings-card-head.with-switch > div,
.settings-modal-head > div {
    margin: 0 !important;
    text-align: left !important;
}
.settings-card-head,
.settings-card-head.with-switch,
.settings-modal-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    text-align: left !important;
    width: 100% !important;
}
.settings-card-head.with-switch > div,
.settings-card-head > div:first-child {
    flex: 1 1 auto !important;
    max-width: 780px !important;
}
.settings-card-head.with-switch .settings-switch,
.settings-card-head.with-switch .settings-btn {
    flex: 0 0 auto !important;
    margin-left: auto !important;
}
.settings-card-head h2,
.settings-modal-head h2,
.settings-pro-hero h1 {
    opacity: 1 !important;
    text-align: left !important;
}
.settings-card-head p,
.settings-pro-hero p,
.settings-pro-summary small,
.settings-form-grid label,
.settings-note,
.settings-table,
.settings-table * {
    opacity: 1 !important;
}
.settings-pro-tabs {
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    align-self: flex-start !important;
}
.settings-pro-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr) !important;
    align-items: stretch !important;
}
.settings-pro-card {
    padding: 18px 20px !important;
}
.settings-pro-form {
    gap: 14px !important;
}
.settings-form-grid.four {
    grid-template-columns: minmax(190px, .9fr) minmax(260px, 1.45fr) minmax(190px, .8fr) minmax(160px, .7fr) !important;
}
.settings-form-grid.two {
    grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
}
.settings-form-grid .span-2 {
    grid-column: span 2 !important;
}
.settings-form-grid label {
    min-width: 0 !important;
}
.settings-save-bar {
    margin-top: 2px !important;
}
.settings-table-wrap {
    width: 100% !important;
    overflow-x: auto !important;
}
.settings-table {
    min-width: 880px !important;
}
.settings-table th,
.settings-table td {
    text-align: left !important;
}
.settings-table .text-end,
.settings-table th.text-end,
.settings-table td.text-end {
    text-align: right !important;
}
.settings-inline-form {
    max-width: 100% !important;
}
.settings-inline-form select {
    width: auto !important;
    max-width: 190px !important;
}

body.app-body:not(.dark):not(.theme-dark) .settings-pro-page {
    color: #071126 !important;
}
body.app-body:not(.dark):not(.theme-dark) .settings-pro-hero,
body.app-body:not(.dark):not(.theme-dark) .settings-pro-card,
body.app-body:not(.dark):not(.theme-dark) .settings-pro-summary article,
body.app-body:not(.dark):not(.theme-dark) .settings-pro-tabs,
body:not(.dark):not(.theme-dark) .settings-pro-hero,
body:not(.dark):not(.theme-dark) .settings-pro-card,
body:not(.dark):not(.theme-dark) .settings-pro-summary article,
body:not(.dark):not(.theme-dark) .settings-pro-tabs {
    background: rgba(255,255,255,.96) !important;
    border-color: #d7e2ef !important;
    box-shadow: 0 16px 38px rgba(15,23,42,.06) !important;
}
body.app-body:not(.dark):not(.theme-dark) .settings-pro-hero,
body:not(.dark):not(.theme-dark) .settings-pro-hero {
    background: radial-gradient(circle at left top, rgba(99,102,241,.08), transparent 34%), linear-gradient(135deg,#fff,#f8fbff) !important;
}
body.app-body:not(.dark):not(.theme-dark) .settings-pro-hero h1,
body.app-body:not(.dark):not(.theme-dark) .settings-card-head h2,
body.app-body:not(.dark):not(.theme-dark) .settings-pro-summary strong,
body.app-body:not(.dark):not(.theme-dark) .settings-form-grid label,
body.app-body:not(.dark):not(.theme-dark) .settings-table tbody td,
body:not(.dark):not(.theme-dark) .settings-pro-hero h1,
body:not(.dark):not(.theme-dark) .settings-card-head h2,
body:not(.dark):not(.theme-dark) .settings-pro-summary strong,
body:not(.dark):not(.theme-dark) .settings-form-grid label,
body:not(.dark):not(.theme-dark) .settings-table tbody td {
    color: #071126 !important;
}
body.app-body:not(.dark):not(.theme-dark) .settings-pro-hero p,
body.app-body:not(.dark):not(.theme-dark) .settings-card-head p,
body.app-body:not(.dark):not(.theme-dark) .settings-pro-summary small,
body.app-body:not(.dark):not(.theme-dark) .settings-pro-summary span,
body.app-body:not(.dark):not(.theme-dark) .settings-muted,
body:not(.dark):not(.theme-dark) .settings-pro-hero p,
body:not(.dark):not(.theme-dark) .settings-card-head p,
body:not(.dark):not(.theme-dark) .settings-pro-summary small,
body:not(.dark):not(.theme-dark) .settings-pro-summary span,
body:not(.dark):not(.theme-dark) .settings-muted {
    color: #50627a !important;
}
body.app-body:not(.dark):not(.theme-dark) .settings-form-grid input,
body.app-body:not(.dark):not(.theme-dark) .settings-form-grid select,
body.app-body:not(.dark):not(.theme-dark) .settings-inline-form select,
body:not(.dark):not(.theme-dark) .settings-form-grid input,
body:not(.dark):not(.theme-dark) .settings-form-grid select,
body:not(.dark):not(.theme-dark) .settings-inline-form select {
    background: #fff !important;
    color: #0f172a !important;
    border-color: #cbd8ea !important;
}
body.app-body:not(.dark):not(.theme-dark) .settings-table-wrap,
body:not(.dark):not(.theme-dark) .settings-table-wrap {
    border-color: #d7e2ef !important;
    background: #fff !important;
}
body.app-body:not(.dark):not(.theme-dark) .settings-table thead th,
body:not(.dark):not(.theme-dark) .settings-table thead th {
    background: #eaf1f8 !important;
    color: #0f1b33 !important;
    border-color: #d7e2ef !important;
}
body.app-body:not(.dark):not(.theme-dark) .settings-table tbody td,
body:not(.dark):not(.theme-dark) .settings-table tbody td {
    background: #fff !important;
    color: #0f172a !important;
    border-top-color: #e2e8f0 !important;
}
body.app-body:not(.dark):not(.theme-dark) .settings-table tbody tr:hover td,
body:not(.dark):not(.theme-dark) .settings-table tbody tr:hover td {
    background: #f8fbff !important;
}
body.app-body:not(.dark):not(.theme-dark) .settings-chip.success,
body:not(.dark):not(.theme-dark) .settings-chip.success {
    color: #047857 !important;
    background: #dcfce7 !important;
    border-color: #bbf7d0 !important;
}
body.app-body:not(.dark):not(.theme-dark) .settings-chip.primary,
body:not(.dark):not(.theme-dark) .settings-chip.primary {
    color: #2563eb !important;
    background: #dbeafe !important;
    border-color: #bfdbfe !important;
}
body.app-body:not(.dark):not(.theme-dark) .settings-note,
body:not(.dark):not(.theme-dark) .settings-note {
    color: #075985 !important;
    background: #e0f2fe !important;
    border-color: #bae6fd !important;
}

@media (max-width: 1180px) {
    .settings-pro-grid,
    .settings-pro-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .settings-form-grid.four {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 760px) {
    .settings-pro-page { padding: 14px 10px 30px !important; }
    .settings-pro-hero,
    .settings-card-head,
    .settings-card-head.with-switch,
    .settings-modal-head {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .settings-pro-actions,
    .settings-card-head.with-switch .settings-btn,
    .settings-card-head.with-switch .settings-switch {
        width: 100% !important;
        margin-left: 0 !important;
    }
    .settings-pro-grid,
    .settings-pro-summary,
    .settings-form-grid.two,
    .settings-form-grid.four {
        grid-template-columns: 1fr !important;
    }
    .settings-form-grid .span-2 { grid-column: auto !important; }
    .settings-pro-tabs { width: 100% !important; overflow-x: auto !important; }
}
