.nv-onboarding-form { gap: var(--spacing-xl); }
.nv-onboarding-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-md); }
.nv-onboarding-optional,
.nv-onboarding-hint,
.nv-onboarding-preview { color: var(--color-text-muted); font-size: var(--nv-type-footnote-size); letter-spacing: var(--nv-type-footnote-tracking); }
.nv-onboarding-hint,
.nv-onboarding-preview { margin: 0; line-height: var(--line-height-relaxed); }
.nv-onboarding-file { width: 100%; color: var(--color-text-secondary); font: inherit; }
.nv-onboarding-file::file-selector-button { margin-inline-end: var(--spacing-md); padding: var(--spacing-sm) var(--spacing-md); border: 0; border-radius: var(--button-radius); background: var(--color-surface-muted); color: var(--color-text-primary); font: inherit; cursor: pointer; }
.nv-onboarding-error { margin: 0; padding: var(--spacing-md); border-radius: var(--component-radius-sm); background: var(--color-error-soft); color: var(--color-error); font-size: var(--nv-type-footnote-size); letter-spacing: var(--nv-type-footnote-tracking); line-height: var(--nv-type-footnote-line); }
.nv-onboarding-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--spacing-md); }
.nv-onboarding-template { color: var(--color-text-secondary); font-size: var(--nv-type-footnote-size); letter-spacing: var(--nv-type-footnote-tracking); text-underline-offset: 3px; }
.nv-onboarding-review { min-width: 0; border-radius: var(--component-radius-sm); background: var(--color-surface-muted); overflow: hidden; }
.nv-onboarding-review__scroll { max-height: 260px; overflow: auto; }
.nv-onboarding-review table { width: 100%; border-collapse: collapse; font-size: var(--nv-type-footnote-size); letter-spacing: var(--nv-type-footnote-tracking); }
.nv-onboarding-review th, .nv-onboarding-review td { padding: var(--spacing-sm) var(--spacing-md); text-align: left; vertical-align: top; border-bottom: 1px solid var(--color-border-subtle); white-space: nowrap; }
.nv-onboarding-review th { position: sticky; top: 0; z-index: 1; background: var(--color-surface-muted); color: var(--color-text-muted); font-weight: 500; }
.nv-onboarding-review td:nth-child(3) { max-width: 200px; overflow: hidden; text-overflow: ellipsis; }
.nv-onboarding-review tr[data-invalid="true"] td:last-child { color: var(--color-error); font-weight: 500; white-space: normal; }
.nv-onboarding-history { color: var(--color-text-secondary); font-size: var(--nv-type-footnote-size); letter-spacing: var(--nv-type-footnote-tracking); }
.nv-onboarding-history summary { cursor: pointer; color: var(--color-text-primary); font-weight: 500; }
.nv-onboarding-history [data-import-history] { padding-top: var(--spacing-sm); }
.nv-onboarding-history ul { display: grid; gap: var(--spacing-sm); margin: 0; padding: 0; list-style: none; }
.nv-onboarding-toast { position: fixed; right: 24px; bottom: 24px; z-index: 1200; max-width: min(360px, calc(100vw - 32px)); padding: 12px 14px; border: 0; border-radius: 14px; background: var(--dash-popover-bg, var(--color-surface-raised)); color: var(--color-text-primary); box-shadow: 0 18px 44px rgba(0, 0, 0, .28); font-size: var(--nv-type-footnote-size); letter-spacing: var(--nv-type-footnote-tracking); font-weight: var(--nv-type-weight-medium); opacity: 0; transform: translateY(10px); pointer-events: none; transition: opacity var(--dash-transition, 160ms ease), transform var(--dash-transition, 160ms ease); }
.nv-onboarding-toast.is-visible { opacity: 1; transform: translateY(0); }
@media (max-width: 600px) { .nv-onboarding-form__row { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .nv-onboarding-toast { right: 16px; bottom: 16px; } }
@media (prefers-reduced-motion: reduce) { .nv-onboarding-toast { transition: none; } }
