/** Material-inspired surfaces using shadcn tokens — modest radius, outlined fields. */

export const ruleEngineSurface = {
  pageCard:
    "overflow-hidden rounded-lg border border-border bg-card shadow-sm",
  pageCardToolbar: "border-b border-border bg-muted/30 px-3 py-2.5 sm:px-4 sm:py-3",
  dialog: "max-h-[90vh] overflow-y-auto rounded-lg border-border sm:max-w-lg",
  dialogSm: "rounded-lg border-border sm:max-w-md",
} as const;

export const ruleEngineField = {
  label: "text-sm font-medium text-foreground",
  requiredMark: "text-destructive",
  input:
    "h-10 w-full rounded-md border border-input bg-background px-3 text-sm shadow-xs transition-[color,box-shadow] placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/30",
  textarea:
    "min-h-[96px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm shadow-xs transition-[color,box-shadow] placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/30",
  selectTrigger:
    "h-10 w-full rounded-md border border-input bg-background px-3 text-sm shadow-xs transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/30 data-[placeholder]:text-muted-foreground",
  selectContent: "rounded-md border-border shadow-md",
  switchRow: "flex min-h-10 items-center justify-between gap-3 rounded-md border border-border bg-muted/20 px-3",
  switchHint: "text-xs text-muted-foreground",
} as const;

export const ruleEngineToolbar = {
  search:
    "h-9 rounded-md border border-input bg-background pl-9 text-sm shadow-xs placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/30 sm:h-10 sm:pl-10",
  viewToggleGroup:
    "flex h-9 items-center rounded-md border border-border bg-muted/40 p-0.5 sm:h-10",
  viewToggleBtn:
    "inline-flex h-7 items-center gap-1 rounded-sm px-2 text-xs font-medium transition-colors sm:h-8 sm:gap-1.5 sm:px-3 sm:text-sm",
  viewToggleActive: "bg-background text-foreground shadow-sm",
  viewToggleIdle: "text-muted-foreground hover:bg-background/60 hover:text-foreground",
  actionBtn: "h-9 rounded-md shadow-xs sm:h-10",
  primaryBtn: "h-9 gap-1.5 rounded-md px-3 text-xs font-medium shadow-xs sm:h-10 sm:gap-2 sm:px-4 sm:text-sm",
} as const;

export const ruleEngineCard = {
  article:
    "group flex flex-col overflow-hidden rounded-lg border border-border bg-card shadow-sm transition-shadow duration-200 hover:shadow-md",
  header: "border-b border-border bg-muted/25 px-3 py-2.5 sm:px-4 sm:py-3.5",
  avatar:
    "flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-muted text-xs font-semibold text-muted-foreground sm:h-10 sm:w-10 sm:text-sm",
  title: "truncate text-sm font-semibold text-foreground sm:text-[15px]",
  meta: "text-xs text-muted-foreground",
  detailLabel:
    "text-[10px] font-medium uppercase tracking-wide text-muted-foreground sm:text-[11px]",
  detailValue: "mt-0.5 text-xs text-foreground sm:text-sm",
  footer: "mt-auto border-t border-border bg-muted/20 px-2 py-2 sm:px-3 sm:py-2.5",
  skeleton: "animate-pulse rounded-lg border border-border bg-muted/30 p-3 sm:p-4",
} as const;

export const ruleEngineTable = {
  headerCell:
    "h-11 bg-muted/50 text-xs font-semibold uppercase tracking-wide text-muted-foreground",
  bodyCell: "py-3.5 text-sm text-foreground",
} as const;
