.dvc-portal,
.dvc-card,
.dvc-alert {
  box-sizing: border-box;
  font-family: var(--dvc-font-sans);
  color: var(--dvc-color-text);
}

.dvc-portal *,
.dvc-card * { box-sizing: border-box; }

.dvc-eyebrow {
  margin: 0 0 var(--dvc-size-2);
  color: var(--dvc-color-gold-dark);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.dvc-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: var(--dvc-size-2);
  padding: 0.75rem 1.1rem;
  border: 1px solid transparent;
  border-radius: var(--dvc-radius-sm);
  font: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.dvc-button:hover { transform: translateY(-1px); }
.dvc-button:focus-visible { outline: none; box-shadow: var(--dvc-focus); }
.dvc-button:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }
.dvc-button--primary { background: var(--dvc-color-ink); color: #fff; }
.dvc-button--primary:hover { background: var(--dvc-color-ink-soft); color: #fff; }
.dvc-button--secondary { background: var(--dvc-color-gold); color: #111; }
.dvc-button--ghost { border-color: var(--dvc-color-border); background: #fff; color: var(--dvc-color-ink); }

.dvc-card,
.dvc-case-card,
.dvc-empty-state {
  border: 1px solid var(--dvc-color-border);
  border-radius: var(--dvc-radius-lg);
  background: var(--dvc-color-surface);
  box-shadow: var(--dvc-shadow-sm);
}

.dvc-card { padding: var(--dvc-size-6); }
.dvc-card label { display: block; margin-bottom: var(--dvc-size-2); font-weight: 700; }
.dvc-card select,
.dvc-card input,
.dvc-card textarea {
  width: 100%;
  min-height: 48px;
  margin-bottom: var(--dvc-size-5);
  border: 1px solid var(--dvc-color-border);
  border-radius: var(--dvc-radius-sm);
  background: #fff;
  padding: 0.75rem;
  font: inherit;
}
.dvc-card select:focus,
.dvc-card input:focus,
.dvc-card textarea:focus { outline: none; box-shadow: var(--dvc-focus); border-color: var(--dvc-color-gold); }

.dvc-alert {
  margin: var(--dvc-size-4) 0;
  padding: var(--dvc-size-4);
  border-left: 4px solid currentColor;
  border-radius: var(--dvc-radius-sm);
  background: var(--dvc-color-surface-muted);
}
.dvc-alert--success { color: var(--dvc-color-success); }
.dvc-alert--error { color: var(--dvc-color-error); }
.dvc-alert--info { color: var(--dvc-color-info); }

.dvc-status {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  background: var(--dvc-color-surface-muted);
  color: var(--dvc-color-ink);
  font-size: 0.78rem;
  font-weight: 700;
}
