body {
  font-family: var(--font-body);
  background: var(--color-bg);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
}

/* ---- Scrollbar ---- */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--color-bg-surface); }
::-webkit-scrollbar-thumb { background: var(--color-border-strong); border-radius: 3px; }

/* ---- Typography ---- */
h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-text);
}

/* ---- Forms ---- */
.form-group { display: flex; flex-direction: column; gap: var(--space-2); }
.form-label { font-size: .82rem; font-weight: 600; color: var(--color-text-muted); letter-spacing: .04em; text-transform: uppercase; }
.form-input {
  padding: 12px var(--space-4);
  background: var(--color-bg-card);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  color: var(--color-text);
  font-size: .95rem;
  transition: border-color var(--transition);
}
.form-input:focus { outline: none; border-color: var(--color-primary); }
.form-input::placeholder { color: var(--color-text-dim); }
.form-input.error { border-color: var(--color-primary); }
.form-error { font-size: .8rem; color: var(--color-primary); min-height: 1em; }

/* ---- Section ---- */
.section-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  color: var(--color-text);
  letter-spacing: -.01em;
}
.section-title .accent { color: var(--color-primary); }

.section-eyebrow {
  font-size: .75rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--color-primary);
  display: flex; align-items: center; gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.section-eyebrow::before, .section-eyebrow::after {
  content: '';
  height: 1px; background: var(--color-primary);
  flex: 0 0 24px;
}

.divider {
  width: 40px; height: 2px;
  background: var(--color-primary);
  margin: var(--space-5) 0;
}

/* ---- Badge ---- */
.badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: var(--radius-full);
  font-size: .72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em;
}
.badge--new       { background: rgba(196,20,20,.1); color: var(--color-primary); }
.badge--in_progress { background: rgba(234,179,8,.12); color: #92650a; }
.badge--ready     { background: rgba(34,197,94,.12); color: #166534; }
.badge--done      { background: rgba(0,0,0,.06); color: var(--color-text-dim); }
