/* Crew hub — the Crew destination's header (title, summary strip, segment tabs)
 * and the segment page frame. Accent: UV.
 * The strip doubles as navigation; the tabs repeat it as a plain tab row.
 */

@layer components {
  .crew-segment {
    --crew-accent: var(--color-accent);

    display: grid;
    gap: var(--block-space);
    max-width: 64rem;
    margin-inline: auto;
  }

  .crew-hub {
    display: grid;
    gap: 0.875rem;
  }

  .crew-hub__title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 0.75rem;

    & h1 {
      font-size: 1.75rem;
      font-weight: 800;
      letter-spacing: -0.01em;
    }
  }

  .crew-hub__count {
    color: var(--color-ink-muted);
    font-size: 0.875rem;
  }

  .crew-hub__invite {
    margin-inline-start: auto;
    display: inline-flex;
    align-items: center;
    min-height: var(--touch-min);
    color: var(--color-link);
    font-weight: 600;
    text-decoration: none;

    &:focus-visible { outline: 2px solid var(--color-link); outline-offset: 2px; }
  }

  /* ── Strip ── */

  .crew-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    overflow: hidden;
  }

  .crew-strip__cell {
    display: grid;
    align-content: start;
    gap: 0.125rem;
    min-width: 0;
    padding: 0.75rem 0.875rem;
    color: var(--color-ink);
    text-decoration: none;
    transition: background 150ms ease;

    & + & { border-inline-start: 1px solid var(--color-border); }

    &[aria-current="page"] {
      background: color-mix(in oklch, var(--crew-accent) 9%, transparent);
      box-shadow: inset 0 -3px 0 var(--crew-accent);
    }

    &:focus-visible { outline: 2px solid var(--crew-accent); outline-offset: -2px; }

    @media (hover: hover) {
      &:not([aria-current="page"]):hover { background: color-mix(in oklch, var(--color-ink) 4%, transparent); }
    }
  }

  .crew-strip__label {
    color: var(--color-ink-muted);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .crew-strip__value {
    font-family: "Outfit", system-ui, sans-serif;
    font-size: clamp(1.0625rem, 4.5cqi, 1.5rem);
    font-weight: 800;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;

    & small {
      color: var(--color-ink-muted);
      font-size: 0.9375rem;
      font-weight: 600;
    }
  }

  .crew-strip__value--positive { color: var(--color-positive); }
  .crew-strip__value--negative { color: var(--color-negative); }

  .crew-strip__detail {
    color: var(--color-ink-muted);
    font-size: 0.75rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* ── Tabs ── */

  .crew-tabs {
    display: flex;
    gap: 0.25rem;
    border-block-end: 1px solid var(--color-border);
  }

  .crew-tabs__tab {
    display: inline-flex;
    align-items: center;
    min-height: var(--touch-min);
    padding-inline: 0.875rem;
    margin-block-end: -1px;
    border-block-end: 2px solid transparent;
    color: var(--color-ink-muted);
    font-weight: 600;
    text-decoration: none;

    &[aria-current="page"] {
      color: var(--color-ink);
      border-color: var(--crew-accent);
    }

    &:focus-visible { outline: 2px solid var(--crew-accent); outline-offset: -2px; }

    @media (hover: hover) {
      &:not([aria-current="page"]):hover { color: var(--color-ink); }
    }
  }
}
