@layer components {
  .topbar {
    display: flex;
    align-items: center;
    gap: var(--inline-space-l);
    padding: 0.75rem var(--block-space-xl);
    min-height: var(--topbar-height);
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-line);

    @media (max-width: 90ch) { padding: 0.75rem var(--block-space); flex-wrap: wrap; }
  }

  .topbar__search {
    position: relative;
    flex: 1;
    max-width: 30rem;
    display: flex;
    align-items: center;
    gap: 0.625rem;
    height: 2.5rem;
    padding: 0 0.875rem;
    border-radius: var(--radius);
    border: 1px solid var(--color-line-strong);
    color: var(--color-ink-muted);

    & svg { width: 18px; height: 18px; flex: none; }
    & input { flex: 1; border: 0; background: transparent; color: var(--color-ink); outline: none; min-width: 0; }
    &:focus-within { border-color: var(--color-accent); }
  }

  .topbar__counters { margin-left: auto; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }

  .counter {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    border-radius: var(--radius);
    background: var(--color-chip);
    color: var(--color-ink-muted);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;

    &:hover { text-decoration: none; background: var(--color-line); }
  }

  .counter--todo { background: var(--color-danger-soft); color: var(--color-danger-ink); }
}
