:root,
html[data-theme='dark'] {
    --accent: var(--tema-cor, #0a84ff);
    --accent-soft: color-mix(in srgb, var(--accent) 16%, transparent);
    --accent-strong: color-mix(in srgb, var(--accent) 74%, #ffffff 26%);

    --bg-base: #0b0b0c;
    --bg-elevated: #111113;

    --text-primary: #f5f5f7;
    --text-secondary: #d2d2d7;
    --text-muted: #a1a1a6;

    --surface: #1c1c1e;
    --surface-strong: #202125;
    --surface-alt: #24262b;
    --surface-border: rgba(255, 255, 255, 0.10);
    --surface-shadow: 0 10px 26px rgba(0, 0, 0, 0.26);

    --control-bg: #26292e;
    --control-bg-hover: #2e3239;
    --control-border: rgba(255, 255, 255, 0.16);
    --control-border-strong: rgba(255, 255, 255, 0.26);
}

html[data-theme='light'] {
    --accent: var(--tema-cor, #0071e3);
    --accent-soft: color-mix(in srgb, var(--accent) 16%, transparent);
    --accent-strong: color-mix(in srgb, var(--accent) 82%, #0a0a0a 18%);

    --bg-base: #f5f5f7;
    --bg-elevated: #ffffff;

    --text-primary: #1d1d1f;
    --text-secondary: #424245;
    --text-muted: #6e6e73;

    --surface: #ffffff;
    --surface-strong: #ffffff;
    --surface-alt: #f7f7f9;
    --surface-border: rgba(0, 0, 0, 0.08);
    --surface-shadow: 0 8px 26px rgba(0, 0, 0, 0.08);

    --control-bg: #ffffff;
    --control-bg-hover: #ffffff;
    --control-border: rgba(0, 0, 0, 0.14);
    --control-border-strong: rgba(0, 0, 0, 0.24);
}

.valor-pos,
.status-positive,
.positivo {
    color: #16a34a;
}

.valor-neg,
.status-negative,
.negativo {
    color: #dc2626;
}
