.division-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 14px; }
.division-card { display: flex; flex-direction: column; gap: 12px; padding: 18px; color: var(--text-primary); text-decoration: none; }
.division-card:hover { border-color: var(--border-gold); text-decoration: none; color: var(--text-primary); }
.division-card__icon { width: 40px; height: 40px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; background: var(--accent-subtle); color: var(--gold-300); }
.division-card__icon .ic { width: 20px; height: 20px; }
.division-card__name { font: 600 16px/1.3 var(--font-sans); }
.division-card__desc { font-size: 13px; color: var(--text-muted); }
.stack-avatars { display: flex; }
.stack-avatars .avatar { margin-left: -6px; box-shadow: 0 0 0 2px var(--surface-2); border-radius: 99px; }
.stack-avatars .avatar:first-child { margin-left: 0; }

.matrix { width: 100%; border-collapse: collapse; font-size: 13px; }
.matrix th { padding: 10px 6px; vertical-align: bottom; }
.matrix th:first-child { text-align: left; padding: 10px 18px; }
.matrix td { text-align: center; padding: 8px; border-top: 1px solid var(--border-subtle); }
.matrix td:first-child { text-align: left; padding: 10px 18px; color: var(--text-secondary); min-width: 220px; }
.matrix .ic { color: var(--gold-300); }
.matrix__group td { background: var(--surface-1); font: var(--text-label); color: var(--text-muted); text-align: left; padding: 8px 18px; }
.matrix__vertical { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; }

.stage-btn {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  border: 1px dashed var(--border-strong);
  background: transparent;
  color: var(--text-disabled);
  cursor: pointer;
  transition: all var(--dur-fast);
}
button.stage-btn:hover { border-color: var(--gold-500); color: var(--gold-300); background: var(--accent-subtle); }
.stage-btn.is-done { border-style: solid; border-color: color-mix(in srgb, var(--success) 50%, transparent); background: var(--success-subtle); color: var(--success-fg); }
button.stage-btn.is-done:hover { border-color: var(--danger); color: var(--danger-fg); background: var(--danger-subtle); }
span.stage-btn { cursor: default; }
