/*
 * psc_formset.css — styles for inline_formset_step.
 * Token-only (no raw hex); paired with psc_formset.js.
 */
:root {
  --psc-fs-navy:       var(--bk-navy, #1a1a2e);
  --psc-fs-gold:       var(--bk-gold, #c29954);
  --psc-fs-bg:         var(--bk-parchment, #f4f5f7);
  --psc-fs-card:       var(--bk-card, #ffffff);
  --psc-fs-border:     var(--bk-border, #e9ecef);
  --psc-fs-text:       var(--bk-text, #2d2d3a);
  --psc-fs-text-muted: var(--bk-text-muted, #6c757d);
  --psc-fs-danger:     var(--bk-red, #DC2626);
  --psc-fs-radius-sm:  var(--bk-radius-sm, 6px);
  --psc-fs-radius-pill: var(--bk-radius-pill, 9999px);
}

.psc-fset-header { display: flex; align-items: center; gap: 0.4rem; margin-bottom: 0.6rem; }
.psc-fset-header .material-symbols-outlined { color: var(--psc-fs-gold); }
.psc-fset-title { font-weight: 600; color: var(--psc-fs-navy); }
.psc-fset-count {
  margin-left: auto; font-size: 0.6rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--psc-fs-text-muted); background: var(--psc-fs-bg); border-radius: var(--psc-fs-radius-pill); padding: 0.15rem 0.55rem;
}
.psc-fset-table { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
.psc-fset-th {
  text-align: left; padding: 0.35rem 0.5rem; border-bottom: 2px solid var(--psc-fs-border);
  font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--psc-fs-text-muted);
}
.psc-fset-th-rm { width: 36px; }
.psc-fset-req { color: var(--psc-fs-danger); margin-left: 2px; }
.psc-fset-row td { padding: 0.25rem 0.4rem; border-bottom: 1px solid var(--psc-fs-border); }
.psc-fset-input {
  width: 100%; min-height: 40px; padding: 0.4rem 0.5rem;
  border: 1px solid var(--psc-fs-border); border-radius: var(--psc-fs-radius-sm); font-size: 0.82rem;
}
.psc-fset-input:focus-visible { outline: 2px solid var(--psc-fs-navy); outline-offset: 2px; }
.psc-fset-rm { min-height: 32px; min-width: 32px; color: var(--psc-fs-danger); }
.psc-fset-actions { display: flex; gap: 0.5rem; margin-top: 0.9rem; }

.psc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
