/*
 * Stetworth /app — the repository working set (the GitHub curation
 * step), cut from style.css's "The repository working set" section
 * unchanged and in the original order.  The shared .working-set-badge
 * pill treatment stays in style.css's Status pills section, and the
 * task-detail integration-snapshot rows that closed the section stay
 * behind in style.css too: their state tags must beat the shared
 * pill groups there on source order at equal specificity.
 */
/*
 * Load order is load-bearing: the /app shell links every split sheet
 * BEFORE style.css.  That keeps both source-order contracts intact —
 * a rule kept behind in style.css still beats its shared group there
 * by file order, and the responsive tail at the end of style.css
 * still overrides this sheet's base rules at equal specificity.
 * This sheet declares no design-token block of its own and carries
 * no media block of any kind — every width, motion and paged
 * override for these rules lives in style.css's responsive tail
 * (docs/APP.md#the-split-stylesheets).
 */

/* ---------------------------------------------------------------
 * The repository working set — the GitHub curation step.
 *
 * A panel above the provider cards, on screen only while the step is
 * open (after a connect, or from "Manage repositories").  Composes the
 * existing palette and the `.panel` / `.btn` primitives; every state a
 * row carries — pre-selected, dormant, fork, newly added — is rendered
 * in words as a badge, never in color alone.
 * --------------------------------------------------------------- */
.working-set {
    margin-bottom: var(--s-4);
}

.working-set-panel {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

.working-set-title {
    font-family: var(--font-accent);
    font-size: var(--fs-title);
    color: var(--c-ink);
    margin: 0;
}

.working-set-lede,
.working-set-empty,
.working-set-truncated {
    font-size: var(--fs-body);
    color: var(--c-ink-muted);
    margin: 0;
}

.working-set-error {
    margin: 0;
    font-size: var(--fs-ui);
    color: var(--c-status-failed);
}

.working-set-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    margin: 0;
    padding: 0;
}

.working-set-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--s-2) var(--s-3);
    border: 1px solid var(--c-rule);
    border-radius: var(--radius-sm);
    background: var(--c-paper);
    padding: var(--s-2) var(--s-3);
}

/* A selected row is marked by more than its checkbox: the border
   strengthens so the pre-selected block reads as a group at a glance. */
.working-set-row-selected {
    border-color: var(--c-rule-strong);
}

.working-set-check {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    cursor: pointer;
}

.working-set-checkbox:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

.working-set-name {
    font-family: var(--font-body);
    font-size: var(--fs-ui);
    font-weight: 500;
    color: var(--c-ink);
}

.working-set-badges {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--s-2);
}

.working-set-description {
    flex: 1 1 16rem;
    font-family: var(--font-body);
    font-size: var(--fs-ui);
    color: var(--c-ink);
    background: var(--c-paper);
    border: 1px solid var(--c-rule);
    border-radius: var(--radius-sm);
    padding: 0.3rem var(--s-2);
}

.working-set-description:focus {
    outline: none;
    border-color: var(--c-burnished);
    box-shadow: var(--sh-well), var(--focus-ring);
}

/* The demoted group — dormant repositories and forks — collapsed by
   default and promotable out of, so a long tail never buries the few
   repositories someone is actually working in. */
.working-set-more {
    border-top: 1px solid var(--c-rule);
    padding-top: var(--s-3);
}

.working-set-more-summary {
    font-size: var(--fs-ui);
    font-weight: 500;
    color: var(--c-ink-muted);
    cursor: pointer;
}

summary.working-set-more-summary:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

.working-set-list-more {
    margin-top: var(--s-3);
}

.working-set-actions {
    display: flex;
    align-items: center;
    gap: var(--s-2);
}

