.pa-card {
  background: var(--pa-color-surface);
  border: var(--pa-border-width) solid var(--pa-color-border);
  border-radius: var(--pa-radius-large);
  box-shadow: var(--pa-shadow-small);
  color: var(--pa-color-text-primary);
  overflow: hidden;
}

[data-pa-theme="glass"] .pa-card.pa-card--glass-control {
  -webkit-backdrop-filter: blur(var(--pa-glass-blur-surface)) saturate(var(--pa-glass-saturation));
  backdrop-filter: blur(var(--pa-glass-blur-surface)) saturate(var(--pa-glass-saturation));
  background: var(--pa-glass-control-surface);
  border-color: var(--pa-glass-control-border);
  color: var(--pa-glass-control-text);
  box-shadow: var(--pa-shadow-medium);
}
[data-pa-theme="glass"] .pa-card.pa-card--glass-control.pa-card--interactive:hover,
[data-pa-theme="glass"] .pa-card.pa-card--glass-control.pa-card--interactive:focus-visible {
  background: var(--pa-glass-control-surface);
  border-color: var(--pa-glass-control-border);
}
[data-pa-theme="glass"] .pa-card.pa-card--glass-control :where(.pa-card-title, .pa-card-subtitle, .pa-card-action, strong, small, b) {
  color: inherit;
}

.pa-card--interactive {
  cursor: pointer;
  transition: border-color var(--pa-transition-base), box-shadow var(--pa-transition-base), transform var(--pa-transition-base);
}

.pa-card--interactive:hover { border-color: var(--pa-color-border); box-shadow: var(--pa-shadow-small); transform: none; }
.pa-card--interactive:active { box-shadow: var(--pa-shadow-small); transform: translateY(0); }
.pa-card--interactive:focus-visible { outline: var(--pa-focus-width) solid var(--pa-color-focus); outline-offset: var(--pa-spacing-xs); }
.pa-card-header,
.pa-card-body,
.pa-card-footer { padding: var(--pa-spacing-m); }
.pa-card-header { border-bottom: var(--pa-border-width) solid var(--pa-color-border); }
.pa-card-footer { border-top: var(--pa-border-width) solid var(--pa-color-border); }
.pa-card-title { color: var(--pa-color-text-primary); font: var(--pa-font-weight-semibold) var(--pa-font-size-heading-s)/var(--pa-line-height-heading) var(--pa-font-family-heading); margin: 0; }
.pa-card-subtitle { color: var(--pa-color-text-secondary); font: var(--pa-font-weight-regular) var(--pa-font-size-body-small)/var(--pa-line-height-body) var(--pa-font-family-body); margin: var(--pa-spacing-xs) 0 0; }
.pa-card-action { color: var(--pa-color-text-secondary); }
.pa-card-actions { align-items: center; display: flex; flex-wrap: wrap; gap: var(--pa-spacing-s); }
.pa-choice-card { min-height: var(--pa-choice-card-min-height); padding: var(--pa-spacing-l); text-align: left; width: 100%; }

.pa-skeleton-list { display: grid; gap: var(--pa-spacing-s); }
.pa-skeleton-card {
  background: var(--pa-color-surface-soft);
  border: var(--pa-border-width) solid var(--pa-color-border);
  border-radius: var(--pa-radius-large);
  display: block;
  min-height: 76px;
  overflow: hidden;
  position: relative;
}
.pa-skeleton-card::after {
  animation: paSkeletonShimmer 1.15s ease-in-out infinite;
  background: linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--pa-color-text-primary) 12%, transparent) 45%, transparent 70%);
  content: "";
  inset: 0;
  position: absolute;
  transform: translateX(-100%);
}
[data-pa-theme="glass"] .pa-skeleton-card {
  background: var(--pa-glass-control-surface);
  border-color: var(--pa-glass-control-border);
  -webkit-backdrop-filter: blur(var(--pa-glass-blur-surface)) saturate(var(--pa-glass-saturation));
  backdrop-filter: blur(var(--pa-glass-blur-surface)) saturate(var(--pa-glass-saturation));
}
@keyframes paSkeletonShimmer { to { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { .pa-skeleton-card::after { animation: none; } }

/*
 * Kokonaisuuskortti on Hallinnan yhteinen avattu käsittelypinta.
 * Järjestys: tiivistelmä, osapuolet, kohteet, lisätiedot ja historia.
 */
.pa-composition-card {
  background: var(--pa-color-surface);
  border: var(--pa-border-width) solid var(--pa-color-border);
  border-radius: var(--pa-radius-large);
  color: var(--pa-color-text-primary);
  display: grid;
  gap: var(--pa-spacing-m);
  overflow: hidden;
  padding: var(--pa-spacing-l);
}
.pa-composition-card > header {
  border-bottom: var(--pa-border-width) solid var(--pa-color-border);
  display: grid;
  gap: var(--pa-spacing-xs);
  padding-bottom: var(--pa-spacing-m);
}
.pa-composition-card > header small,
.pa-party-card small,
.pa-subject-card small {
  color: var(--pa-color-accent);
  font: var(--pa-font-weight-semibold) var(--pa-font-size-caption)/1.25 var(--pa-font-family-ui);
  letter-spacing: var(--pa-letter-spacing-label);
  text-transform: uppercase;
}
.pa-composition-card > header strong,
.pa-party-card strong,
.pa-subject-card strong { color: var(--pa-color-text-primary); }
.pa-party-card,
.pa-subject-card {
  align-items: center;
  background: var(--pa-color-surface-soft);
  border: var(--pa-border-width) solid var(--pa-color-border);
  border-radius: var(--pa-radius-medium);
  color: var(--pa-color-text-primary);
  display: flex;
  gap: var(--pa-spacing-m);
  justify-content: space-between;
  min-width: 0;
  padding: var(--pa-spacing-m);
}
.pa-party-card > span,
.pa-subject-card > span { display: grid; gap: var(--pa-spacing-xs); min-width: 0; }
.pa-party-card em,
.pa-subject-card em { color: var(--pa-color-text-secondary); font-style: normal; }
.pa-history-card {
  border: 0;
  border-block: var(--pa-border-width) solid var(--pa-color-border);
  border-radius: 0;
  color: var(--pa-color-text-primary);
  margin: 0;
  padding: 0;
}
.pa-history-card > summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: var(--pa-spacing-m);
  justify-content: space-between;
  list-style: none;
  min-height: var(--pa-control-height);
  padding-block: var(--pa-spacing-s);
}
.pa-history-card > summary::-webkit-details-marker { display: none; }
.pa-history-card > summary > span {
  color: var(--pa-color-accent);
  font: var(--pa-font-weight-semibold) var(--pa-font-size-caption)/1.25 var(--pa-font-family-ui);
  letter-spacing: var(--pa-letter-spacing-label);
  text-transform: uppercase;
}
.pa-history-card > summary > strong { color: var(--pa-color-text-secondary); font-size: var(--pa-font-size-body-small); }
.pa-history-card__body { border-top: var(--pa-border-width) solid var(--pa-color-border); padding-block: var(--pa-spacing-m); }
.pa-audit-log { display: grid; gap: 0; list-style: none; margin: 0; padding: 0; }
.pa-audit-log > li { align-items: center; border-top: var(--pa-border-width) solid var(--pa-color-border); display: flex; gap: var(--pa-spacing-m); justify-content: space-between; padding-block: var(--pa-spacing-s); }
.pa-audit-log > li > span { display: grid; gap: 2px; }
.pa-audit-log small,
.pa-audit-log time { color: var(--pa-color-text-secondary); font-size: var(--pa-font-size-caption); }
.pa-composition-card:hover,
.pa-party-card:hover,
.pa-subject-card:hover { box-shadow: none; transform: none; }
@media (max-width: 640px) {
  .pa-composition-card { border-radius: var(--pa-radius-medium); padding: var(--pa-spacing-m); }
  .pa-party-card,
  .pa-subject-card { align-items: flex-start; }
}
