/* src/styles/reset.css */
*,
*::before,
*::after {
  box-sizing: border-box;
}
:where(html) {
  text-size-adjust: 100%;
}

/* src/styles/tokens.css */
:root {
  --vf-color-white: #ffffff;
  --vf-color-slate-50: #f8fafc;
  --vf-color-slate-100: #f1f5f9;
  --vf-color-slate-200: #e2e8f0;
  --vf-color-slate-300: #cbd5e1;
  --vf-color-slate-500: #64748b;
  --vf-color-slate-700: #334155;
  --vf-color-slate-900: #0f172a;
  --vf-color-blue-50: #eff6ff;
  --vf-color-blue-100: #dbeafe;
  --vf-color-blue-600: #2563eb;
  --vf-color-blue-700: #1d4ed8;
  --vf-color-red-600: #dc2626;
  --vf-color-amber-600: #d97706;
  --vf-color-green-600: #059669;
  --vf-color-sky-600: #0284c7;
  --vf-font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  --vf-font-size-xs: 12px;
  --vf-font-size-sm: 13px;
  --vf-font-size-md: 14px;
  --vf-font-size-lg: 16px;
  --vf-font-size-xl: 20px;
  --vf-line-height-tight: 1.25;
  --vf-line-height-md: 1.5;
  --vf-space-1: 4px;
  --vf-space-2: 8px;
  --vf-space-3: 12px;
  --vf-space-4: 16px;
  --vf-space-5: 20px;
  --vf-space-6: 24px;
  --vf-radius-sm: 4px;
  --vf-radius-md: 6px;
  --vf-radius-lg: 8px;
  --vf-shadow-sm: 0 1px 2px rgb(15 23 42 / 8%);
  --vf-shadow-md: 0 10px 24px rgb(15 23 42 / 10%);
  --vf-z-base: 0;
  --vf-z-sticky: 20;
  --vf-z-dropdown: 40;
  --vf-z-popover: 50;
  --vf-z-tooltip: 60;
  --vf-z-overlay: 70;
  --vf-z-dialog: 80;
  --vf-z-toast: 90;
  --vf-z-base: 0;
  --vf-z-sticky: 20;
  --vf-z-dropdown: 40;
  --vf-z-popover: 50;
  --vf-z-tooltip: 60;
  --vf-z-overlay: 70;
  --vf-z-dialog: 80;
  --vf-z-toast: 90;
  --vf-transition-fast: 140ms ease;
  --vf-bg: var(--vf-color-slate-50);
  --vf-surface: var(--vf-color-white);
  --vf-surface-subtle: var(--vf-color-slate-100);
  --vf-surface-raised: var(--vf-color-white);
  --vf-text: #172033;
  --vf-text-muted: #64748b;
  --vf-text-strong: #0f172a;
  --vf-border: #d8e0ea;
  --vf-border-strong: #b8c4d4;
  --vf-primary: var(--vf-color-blue-600);
  --vf-primary-hover: var(--vf-color-blue-700);
  --vf-primary-soft: var(--vf-color-blue-100);
  --vf-danger: var(--vf-color-red-600);
  --vf-danger-soft: #fee2e2;
  --vf-warning: var(--vf-color-amber-600);
  --vf-warning-soft: #fef3c7;
  --vf-success: var(--vf-color-green-600);
  --vf-success-soft: #dcfce7;
  --vf-info: var(--vf-color-sky-600);
  --vf-info-soft: #e0f2fe;
  --vf-focus-ring: #2563eb;
  --vf-control-height: 36px;
  --vf-control-padding-x: 12px;
  --vf-row-height: 44px;
}

/* src/styles/themes.css */
[data-theme=light],
.vf-theme-light {
  color-scheme: light;
}
[data-theme=dark],
.vf-theme-dark {
  color-scheme: dark;
  --vf-bg: #0f172a;
  --vf-surface: #172033;
  --vf-surface-subtle: #1e293b;
  --vf-surface-raised: #1f2a3a;
  --vf-text: #e5e7eb;
  --vf-text-muted: #94a3b8;
  --vf-text-strong: #f8fafc;
  --vf-border: #334155;
  --vf-border-strong: #475569;
  --vf-primary: #60a5fa;
  --vf-primary-hover: #93c5fd;
  --vf-primary-soft: #1e3a5f;
  --vf-danger: #f87171;
  --vf-danger-soft: #451a1a;
  --vf-warning: #fbbf24;
  --vf-warning-soft: #422006;
  --vf-success: #34d399;
  --vf-success-soft: #052e1b;
  --vf-info: #38bdf8;
  --vf-info-soft: #082f49;
  --vf-focus-ring: #93c5fd;
}
[data-theme=enterprise],
.vf-theme-enterprise {
  --vf-bg: #eef2f7;
  --vf-surface: #ffffff;
  --vf-surface-subtle: #f6f8fb;
  --vf-text: #182233;
  --vf-text-muted: #526174;
  --vf-border: #cbd5e1;
  --vf-border-strong: #94a3b8;
  --vf-primary: #1d4ed8;
  --vf-primary-hover: #1e40af;
  --vf-primary-soft: #dbeafe;
}
@media (prefers-color-scheme: dark) {
  [data-theme=system],
  .vf-theme-system {
    color-scheme: dark;
    --vf-bg: #0f172a;
    --vf-surface: #172033;
    --vf-surface-subtle: #1e293b;
    --vf-surface-raised: #1f2a3a;
    --vf-text: #e5e7eb;
    --vf-text-muted: #94a3b8;
    --vf-text-strong: #f8fafc;
    --vf-border: #334155;
    --vf-border-strong: #475569;
    --vf-primary: #60a5fa;
    --vf-primary-hover: #93c5fd;
    --vf-primary-soft: #1e3a5f;
    --vf-focus-ring: #93c5fd;
  }
}

/* src/styles/density.css */
[data-density=compact],
.vf-density-compact {
  --vf-control-height: 30px;
  --vf-control-padding-x: 10px;
  --vf-font-size-md: 13px;
  --vf-row-height: 36px;
}
[data-density=standard],
.vf-density-standard {
  --vf-control-height: 36px;
  --vf-control-padding-x: 12px;
  --vf-row-height: 44px;
}
[data-density=comfortable],
.vf-density-comfortable {
  --vf-control-height: 42px;
  --vf-control-padding-x: 14px;
  --vf-font-size-md: 15px;
  --vf-row-height: 52px;
}

/* src/styles/utilities.css */
.vf-text-muted {
  color: var(--vf-text-muted);
}
.vf-text-strong {
  color: var(--vf-text-strong);
  font-weight: 700;
}
.vf-truncate {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* src/styles/accessibility.css */
.vf-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.vf-focus-ring:focus-visible {
  outline: 2px solid var(--vf-focus-ring);
  outline-offset: 2px;
}

/* src/styles/index.css */
