.st-section { margin-bottom: var(--nn-space-8); }
.st-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--nn-space-3); margin-bottom: var(--nn-space-3); }
.st-heading h2 { margin: 0; }
.st-full { width: 100%; font-family: var(--nn-font-mono); resize: vertical; }
.st-options { gap: var(--nn-space-2) var(--nn-space-4); }

.st-seasons { margin-bottom: var(--nn-space-4); }
.st-season-headers { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: var(--nn-space-3); margin-bottom: var(--nn-space-3); }
.st-seasons .nn-small { margin: var(--nn-space-2) 0 0; }

.st-table-wrap { overflow-x: auto; border: var(--nn-border-width) solid var(--nn-border-subtle); border-radius: var(--nn-radius); }
/* 列の幅は期の数に合わせて main.js が grid-template-columns を付ける */
.staff-grid { display: grid; gap: var(--nn-space-2); align-items: center; padding: var(--nn-space-2); }
.staff-grid--header { background: var(--nn-bg-subtle); color: var(--nn-text-subtle); font-size: var(--nn-font-size-xs); font-weight: 700; }
.staff-row { border-top: var(--nn-border-width) solid var(--nn-border-muted); }
.staff-row input { width: 100%; min-width: 0; }
.st-cell-actions { flex-wrap: nowrap; gap: 0; }
.st-cell-actions .nn-button { padding: 0 var(--nn-space-2); white-space: nowrap; }
.st-row-actions { margin-top: var(--nn-space-3); }
