/* ── Filter chips ─────────────────────────────────────────────────── */
.chip {
  border: 1px solid var(--line-strong);
  background: var(--surface);
  border-radius: var(--r-full);
  padding: var(--sp-1) var(--sp-3);
  font: inherit;
  font-size: var(--fs-base);
  font-weight: 600;
  cursor: pointer;
  color: var(--muted);
  transition:
    background-color var(--dur-1) var(--ease-out),
    border-color var(--dur-1) var(--ease-out),
    color var(--dur-1) var(--ease-out);
}
.chip:hover {
  color: var(--ink);
  border-color: var(--muted);
}
.chip.on {
  background: var(--accent);
  color: #fff;
  border-color: transparent;
}
.chip.on:hover {
  filter: brightness(1.1);
}

/* ── Buttons ──────────────────────────────────────────────────────── */
.btn-save,
.btn-cancel,
.btn-danger,
.btn-add {
  font: inherit;
  font-size: var(--fs-md);
  font-weight: 600;
  padding: var(--sp-2) var(--sp-4);
  border-radius: var(--r-md);
  cursor: pointer;
  transition:
    background-color var(--dur-1) var(--ease-out),
    border-color var(--dur-1) var(--ease-out);
}
.btn-save,
.btn-add {
  background: var(--accent);
  color: var(--accent-ink);
  border: 1px solid var(--accent);
}
.btn-save:hover,
.btn-add:hover {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
}
.btn-cancel {
  background: var(--surface);
  color: var(--ink-2);
  border: 1px solid var(--line-strong);
}
.btn-cancel:hover {
  background: var(--surface-2);
}
.btn-danger {
  background: var(--danger);
  color: #fff;
  border: 1px solid var(--danger);
}
.btn-danger:hover {
  filter: brightness(1.1);
}

/* ── Form fields ──────────────────────────────────────────────────── */
.modal-field {
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
  margin-bottom: var(--sp-3);
}
.modal-field label {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink-2);
}
.modal-field input,
.modal-field select,
.modal-field textarea {
  font: inherit;
  font-size: var(--fs-md);
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-md);
  background: var(--surface);
  color: var(--ink);
}
.modal-field input:focus-visible,
.modal-field select:focus-visible,
.modal-field textarea:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 1px;
}
.field-error {
  font-size: var(--fs-xs);
  color: var(--danger);
}
.field-hint {
  font-size: var(--fs-xs);
  color: var(--muted);
}

.modal-field select:disabled {
  background: var(--surface-2);
  color: var(--muted);
  cursor: not-allowed;
}
