/* Ndovu UI: role-based tokens, scoped to the owning interface root. */
.ndovu-ui{
 --nd-accent:#0053e2;--nd-accent-foreground:#fff;--nd-action:#0053e2;--nd-action-foreground:#fff;
 --nd-canvas:#f4f6fa;--nd-surface:#fff;--nd-subtle:#edf3ff;--nd-text:#172439;--nd-secondary:#526176;--nd-muted:var(--nd-secondary);
 --nd-border:#e3e8f0;--nd-control-border:#758195;--nd-focus:#0053e2;
 --nd-success:#22633b;--nd-warning:#805500;--nd-error:#b42318;--nd-info:#175c8c;
 --nd-accent-hover:color-mix(in srgb,var(--nd-accent),#000 8%);--nd-accent-pressed:color-mix(in srgb,var(--nd-accent),#000 16%);
 --nd-action-hover:color-mix(in srgb,var(--nd-action),#000 12%);--nd-selection:color-mix(in srgb,var(--nd-action) 9%,var(--nd-surface));
 --nd-disabled-bg:color-mix(in srgb,var(--nd-text) 8%,var(--nd-surface));--nd-disabled-text:color-mix(in srgb,var(--nd-text) 65%,var(--nd-surface));
 --nd-success-bg:color-mix(in srgb,var(--nd-success) 8%,var(--nd-surface));--nd-warning-bg:color-mix(in srgb,var(--nd-warning) 8%,var(--nd-surface));
 --nd-error-bg:color-mix(in srgb,var(--nd-error) 7%,var(--nd-surface));--nd-info-bg:color-mix(in srgb,var(--nd-info) 7%,var(--nd-surface));
 --nd-overlay:rgb(0 0 0 / .55);--nd-shadow:0 12px 32px rgb(0 0 0 / .12);
 --nd-space-1:4px;--nd-space-2:8px;--nd-space-3:12px;--nd-space-4:16px;--nd-space-6:24px;--nd-space-8:32px;--nd-space-12:48px;
 --nd-radius-control:8px;--nd-radius-panel:12px;--nd-radius-dialog:16px;--nd-control-height:44px;--nd-density:1;--nd-duration:160ms;
 --nd-type-small:.8125rem;--nd-type-label:.875rem;--nd-type-body:1rem;--nd-type-section:1.5rem;--nd-type-title:2rem;
 accent-color:var(--nd-action);color:var(--nd-text)
}
.ndovu-ui ::selection{background:var(--nd-action);color:var(--nd-action-foreground)}
@media(prefers-reduced-motion:reduce){.ndovu-ui{--nd-duration:0ms}}
