/* Empty state: <div class="sv-empty"> icon + .sv-empty__title + .sv-empty__text + .sv-empty__actions. */

.sv-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sv-space-2);
  padding: var(--sv-space-10) var(--sv-space-4);
  border: 1px dashed var(--sv-color-border-strong);
  border-radius: var(--sv-radius-lg);
  background: var(--sv-color-surface);
  text-align: center;
}
.sv-empty > .sv-icon,
.sv-empty__icon {
  box-sizing: content-box;
  width: 2rem;
  height: 2rem;
  margin-bottom: var(--sv-space-2);
  padding: 0.75rem;
  border-radius: var(--sv-radius-pill);
  background: var(--sv-color-surface-sunken);
  color: var(--sv-color-text-muted);
  stroke-width: 1.75;
}
.sv-empty__title {
  margin: 0;
  color: var(--sv-color-text);
  font-size: var(--sv-text-lg);
  font-weight: var(--sv-weight-semibold);
}
.sv-empty__text {
  max-width: 36rem;
  margin: 0;
  color: var(--sv-color-text-muted);
}
.sv-empty__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--sv-space-2);
  margin-top: var(--sv-space-3);
}
.sv-empty--compact { padding: var(--sv-space-6) var(--sv-space-4); border-style: solid; border-color: var(--sv-color-border); }
.sv-empty--compact > .sv-icon { width: 1.5rem; height: 1.5rem; padding: 0.5rem; }
.sv-empty--plain { border: 0; background: transparent; }
.sv-card .sv-empty { border: 0; }

/* Error pages (403/404, S-30). */
.sv-error-page { padding-block: var(--sv-space-12); }
.sv-error-page .sv-empty__code {
  margin: 0;
  color: var(--sv-color-text-muted);
  font-family: var(--sv-font-mono);
  font-size: var(--sv-text-sm);
  letter-spacing: 0.08em;
}
.sv-error-page .sv-empty__title { font-size: var(--sv-text-2xl); }
