:root {
  /* Color aliases follow each app's Element Plus theme and runtime accent. */
  --adc-color-brand: #277186;
  --adc-color-primary: var(--el-color-primary, var(--adc-color-brand));
  --adc-color-primary-hover: var(--el-color-primary-light-3, #689caa);
  --adc-color-primary-subtle: var(--el-color-primary-light-9, #e9f1f3);
  --adc-color-success: var(--el-color-success, #67c23a);
  --adc-color-warning: var(--el-color-warning, #e6a23c);
  --adc-color-danger: var(--el-color-danger, #f56c6c);
  --adc-color-info: var(--el-color-info, #909399);
  --adc-color-text-primary: var(--el-text-color-primary, #303133);
  --adc-color-text-regular: var(--el-text-color-regular, #606266);
  --adc-color-text-secondary: var(--el-text-color-secondary, #909399);
  --adc-color-surface: var(--el-bg-color, #ffffff);
  --adc-color-surface-page: var(--el-bg-color-page, #f2f3f5);
  --adc-color-surface-overlay: var(--el-bg-color-overlay, #ffffff);

  /* Border aliases keep light/dark values owned by the active app theme. */
  --adc-border-width: 1px;
  --adc-border-style: solid;
  --adc-color-border: var(--el-border-color, #dcdfe6);
  --adc-color-border-light: var(--el-border-color-light, #e4e7ed);
  --adc-color-border-lighter: var(--el-border-color-lighter, #ebeef5);

  /* One radius scale with semantic aliases. */
  --adc-radius-xs: 4px;
  --adc-radius-sm: 8px;
  --adc-radius-md: 12px;
  --adc-radius-lg: 16px;
  --adc-radius-xl: 20px;
  --adc-radius-full: 9999px;
  --adc-radius-small: var(--adc-radius-sm);
  --adc-radius-control: var(--adc-radius-md);
  --adc-radius-card: var(--adc-radius-lg);
  --adc-radius-dialog: var(--adc-radius-xl);
  --adc-radius-round: var(--adc-radius-full);

  /* Four-pixel spacing grid. */
  --adc-space-1: 4px;
  --adc-space-2: 8px;
  --adc-space-3: 12px;
  --adc-space-4: 16px;
  --adc-space-5: 20px;
  --adc-space-6: 24px;
  --adc-space-8: 32px;
  --adc-space-10: 40px;
  --adc-space-12: 48px;

  /* Control density shared by Element adapters and native action primitives. */
  --adc-control-height-sm: 32px;
  --adc-control-height-md: 40px;
  --adc-control-height-lg: 48px;
  --adc-control-height: var(--adc-control-height-md);
  --adc-icon-target-size: var(--adc-control-height-md);

  /* Keyboard focus uses a solid outline plus a softer outer ring. */
  --adc-focus-outline-width: 2px;
  --adc-focus-outline-offset: 2px;
  --adc-focus-outline-color: var(--adc-color-primary);
  --adc-focus-ring-width: 3px;
  --adc-focus-ring-color: var(--el-color-primary-light-7, #bed4db);

  /* Elevation aliases retain app/theme ownership through Element variables. */
  --adc-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.06);
  --adc-shadow-sm: var(--el-box-shadow-light, 0 2px 8px rgba(0, 0, 0, 0.08));
  --adc-shadow-md: var(--el-box-shadow, 0 8px 24px rgba(0, 0, 0, 0.1));
  --adc-shadow-lg: var(--el-box-shadow-dark, 0 16px 48px rgba(0, 0, 0, 0.14));

  /* Motion tokens are reduced to zero when the user requests less motion. */
  --adc-motion-duration-fast: 120ms;
  --adc-motion-duration-normal: 200ms;
  --adc-motion-duration-slow: 300ms;
  --adc-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --adc-motion-easing-enter: cubic-bezier(0, 0, 0, 1);
  --adc-motion-easing-exit: cubic-bezier(0.3, 0, 1, 1);

  /* Shared stacking bands; third-party overlays must remain explicit. */
  --adc-layer-document: 0;
  --adc-layer-sticky: 100;
  --adc-layer-navigation: 200;
  --adc-layer-floating: 1000;
  --adc-layer-overlay: 2000;
  --adc-layer-toast: 3000;
  --adc-layer-third-party: 1000000;

  /* Shared type scale; font files remain app-owned for now. */
  --adc-font-family-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
    'Helvetica Neue', Arial, 'PingFang SC', 'Microsoft YaHei', 'Noto Sans CJK SC', sans-serif;
  --adc-font-size-xs: 12px;
  --adc-font-size-sm: 14px;
  --adc-font-size-md: 16px;
  --adc-font-size-lg: 18px;
  --adc-font-size-xl: 20px;
  --adc-font-size-2xl: 24px;
  --adc-font-size-3xl: 32px;
  --adc-font-weight-regular: 400;
  --adc-font-weight-medium: 500;
  --adc-font-weight-semibold: 600;
  --adc-font-weight-bold: 700;
  --adc-line-height-tight: 1.25;
  --adc-line-height-normal: 1.5;
  --adc-line-height-relaxed: 1.75;
  --adc-letter-spacing: 0;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --adc-motion-duration-fast: 0ms;
    --adc-motion-duration-normal: 0ms;
    --adc-motion-duration-slow: 0ms;
  }
}

.adc-pagination button,
.adc-pagination .el-pager li {
  border-radius: var(--adc-radius-round) !important;
}