:root {
  color-scheme: light;

  --ui-color-primary-50: #f5f9ff;
  --ui-color-primary-100: #eaf3ff;
  --ui-color-primary-200: #d6e8ff;
  --ui-color-primary-300: #b7d5fa;
  --ui-color-primary-400: #82b2f2;
  --ui-color-primary-500: #4b8ce8;
  --ui-color-primary-600: #1769e0;

  --ui-color-gray-25: #fcfcfd;
  --ui-color-gray-50: #f9fafb;
  --ui-color-gray-100: #f2f4f7;
  --ui-color-gray-200: #e4e7ec;
  --ui-color-gray-300: #d0d5dd;
  --ui-color-gray-500: #667085;
  --ui-color-gray-600: #475467;
  --ui-color-gray-700: #344054;
  --ui-color-gray-900: #101828;

  --ui-color-success-50: #ecfdf3;
  --ui-color-success-600: #15803d;
  --ui-color-warning-50: #fffaeb;
  --ui-color-warning-600: #b45309;
  --ui-color-danger-50: #fef3f2;
  --ui-color-danger-600: #b91c1c;
  --ui-color-info-50: #eff6ff;
  --ui-color-info-600: #2563eb;

  --ui-color-canvas: #f5f7fa;
  --ui-color-surface: #ffffff;
  --ui-color-surface-subtle: #f9fafb;
  --ui-color-text: #111827;
  --ui-color-text-secondary: #344054;
  --ui-color-text-muted: #667085;
  --ui-color-text-disabled: #98a2b3;
  --ui-color-border: #e5e7eb;
  --ui-color-border-strong: #d0d5dd;

  --ui-font-sans: "Microsoft YaHei", "PingFang SC", "Segoe UI", Arial, sans-serif;
  --ui-font-size-xs: 12px;
  --ui-font-size-sm: 14px;
  --ui-font-size-md: 16px;
  --ui-font-size-lg: 20px;
  --ui-font-size-xl: 24px;
  --ui-line-height-xs: 18px;
  --ui-line-height-sm: 22px;
  --ui-line-height-md: 24px;
  --ui-line-height-lg: 28px;
  --ui-line-height-xl: 32px;
  --ui-font-weight-regular: 400;
  --ui-font-weight-medium: 500;
  --ui-font-weight-semibold: 600;
  --ui-font-weight-bold: 700;

  --ui-space-1: 4px;
  --ui-space-2: 8px;
  --ui-space-3: 12px;
  --ui-space-4: 16px;
  --ui-space-6: 24px;
  --ui-space-8: 32px;
  --ui-space-10: 40px;
  --ui-space-12: 48px;

  --ui-radius-control: 6px;
  --ui-radius-card: 10px;
  --ui-radius-pill: 999px;

  --ui-shadow-subtle: 0 1px 2px rgba(16, 24, 40, 0.05);
  --ui-shadow-floating: 0 12px 32px rgba(16, 24, 40, 0.12);

  --ui-control-height-compact: 32px;
  --ui-control-height-standard: 40px;
  --ui-icon-size: 16px;
  --ui-icon-size-lg: 20px;
  --ui-page-padding: 24px;
  --ui-section-gap: 16px;

  --ui-duration-fast: 120ms;
  --ui-duration-normal: 180ms;
  --ui-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ui-focus-ring: 0 0 0 3px rgba(23, 105, 224, 0.2);
}

/* Semantic required markers must retain their color inside legacy label styles. */
.required, .ui-required, .module-required {
  color: var(--ui-color-danger-600) !important;
}

/* tabs-a：同级链接 Tabs。生产宏 partials/ui_tabs.html 的 ui_link_tabs；文档中心、文件中心与各列表页共用。 */
.ui-link-tabs {
  display: flex;
  align-items: center;
  gap: var(--ui-space-1);
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 var(--ui-space-1);
  border-bottom: 1px solid var(--ui-color-gray-100);
  scrollbar-width: thin;
}

.ui-link-tab {
  position: relative;
  flex: 0 0 auto;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: var(--ui-space-2);
  padding: 0 var(--ui-space-3);
  color: var(--ui-color-text-secondary);
  font-size: var(--ui-font-size-sm);
  font-weight: var(--ui-font-weight-medium);
  text-decoration: none;
  white-space: nowrap;
}

.ui-link-tab:hover {
  color: var(--ui-color-primary-600);
  background: var(--ui-color-primary-50);
}

.ui-link-tab.active {
  color: var(--ui-color-primary-600);
  font-weight: var(--ui-font-weight-semibold);
}

.ui-link-tab.active::after {
  content: "";
  position: absolute;
  right: var(--ui-space-2);
  bottom: 0;
  left: var(--ui-space-2);
  height: 2px;
  border-radius: var(--ui-radius-pill) var(--ui-radius-pill) 0 0;
  background: var(--ui-color-primary-600);
}

.ui-link-tab:focus-visible {
  outline: none;
  border-radius: var(--ui-radius-control);
  box-shadow: inset var(--ui-focus-ring);
}

.ui-link-tab b {
  color: var(--ui-color-text-muted);
  font-size: var(--ui-font-size-xs);
  font-weight: var(--ui-font-weight-medium);
}

/* tabs-a 分段变体 is-segment：卡片标题下方的视图切换。DOM、键盘与无障碍行为与默认变体一致，仅改变外观密度。 */
.ui-link-tabs.is-segment {
  width: max-content;
  max-width: 100%;
  gap: 2px;
  padding: 3px;
  border-bottom: 0;
  border-radius: var(--ui-radius-pill);
  background: var(--ui-color-gray-100);
}

.ui-link-tabs.is-segment .ui-link-tab {
  min-height: 34px;
  padding: 0 var(--ui-space-3);
  border-radius: var(--ui-radius-pill);
  font-size: var(--ui-font-size-xs);
}

.ui-link-tabs.is-segment .ui-link-tab.active {
  background: var(--ui-color-surface);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .08);
}

.ui-link-tabs.is-segment .ui-link-tab.active::after {
  right: var(--ui-space-3);
  bottom: 5px;
  left: var(--ui-space-3);
}

@media (max-width: 1280px) {
  .ui-link-tab { padding-inline: var(--ui-space-2); }
}
