/* Page-only composition for applicants.html.
   Shared rules live in assets/app.css, which loads first. Tokens only. */

.applicants-list { display: grid; gap: var(--s-4); }

button.kpi[aria-pressed="true"] { border-color: var(--primary); box-shadow: inset 0 0 0 1px var(--primary); }

.stage-strip { --od-cols: 2; --od-gap: var(--s-3); }
@media (min-width: 768px) { .stage-strip { --od-cols: 3; } }
@media (min-width: 1280px) { .stage-strip { --od-cols: 5; } }

.applicants-toolbar { --od-gap: var(--s-4); flex-wrap: wrap; }
.applicants-toolbar > .toolbar-stage { flex: 1 1 100%; }
.applicants-toolbar > .toolbar-search { flex: 2 1 240px; }
.applicants-toolbar > .toolbar-role { flex: 1 1 210px; }
.applicants-toolbar > .toolbar-owner { flex: 1 1 190px; }

tr.is-rejected a.row-title { color: var(--ink-muted); }

.bulk-actions { --od-gap: var(--s-2); flex-wrap: wrap; }
