.column-setup-page { min-height: 100vh; background: var(--bg); }
.column-setup-container { width: min(1180px, 94%); margin: 1.5rem auto; }
.column-setup-card { min-height: 620px; padding: 2rem; border: 1px solid var(--border-light); border-radius: 16px; background: var(--surf); box-shadow: 0 10px 30px rgba(0,0,0,.04); }
.column-setup-header h1 { margin: .25rem 0; font-size: 1.65rem; }
.column-setup-header p { color: var(--sec); line-height: 1.5; }
.column-setup-eyebrow { color: var(--navy-primary); font-size: .75rem; font-weight: 800; letter-spacing: .08em; }
.column-step-progress { display: flex; align-items: center; justify-content: center; gap: .8rem; margin: 1.5rem 0; }
.column-step { display: flex; align-items: center; gap: .4rem; color: var(--muted); font-family: var(--font-head); font-size: .82rem; font-weight: 700; letter-spacing: .04em; }
.column-step span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #f1f5f9; font-family: var(--mono); }
.column-step.active { color: var(--navy-primary); }
.column-step.active span { background: var(--navy-primary); color: #fff; }
.column-step.completed { color: var(--ok); }
.column-step.completed span { background: var(--ok-bg); color: var(--ok); }
.column-step-line { width: 42px; height: 2px; background: var(--border-light); }
.column-setup-tip { padding: .7rem .9rem; border-radius: 8px; background: var(--navy-badge-bg); color: var(--navy-primary); font-size: .84rem; }
.column-setup-tip kbd { padding: .08rem .3rem; border: 1px solid #cbd5e1; border-bottom-width: 2px; border-radius: 4px; background: #fff; color: var(--text); font: inherit; }
.column-source-meta { margin: .8rem 0 .45rem; color: var(--sec); font-size: .8rem; }
.column-sheet-wrap { max-height: 390px; overflow: auto; border: 1px solid var(--border-light); border-radius: 8px; background: #fff; user-select: none; }
.column-sheet { min-width: 100%; border-collapse: separate; border-spacing: 0; white-space: nowrap; font-size: .78rem; }
.column-sheet th, .column-sheet td { max-width: 230px; padding: .55rem .7rem; overflow: hidden; border-right: 1px solid var(--border-light); border-bottom: 1px solid var(--border-light); text-overflow: ellipsis; cursor: cell; }
.column-sheet th { position: sticky; top: 0; z-index: 2; background: #f8fafc; color: var(--navy-primary); text-align: left; }
.column-sheet th:hover, .column-sheet td:hover { outline: 2px solid #60a5fa; outline-offset: -2px; }
.column-sheet .selected-column { background: var(--navy-highlight); }
.column-sheet th.selected-column::before { content: "SELECTED"; display: block; margin-bottom: .2rem; color: var(--navy-primary); font-size: .58rem; font-weight: 800; }
.column-selection-summary { display: flex; gap: .5rem; margin-top: .75rem; padding: .65rem .8rem; border-radius: 8px; background: #f8fafc; color: var(--sec); font-size: .82rem; }
.column-selection-summary strong { color: var(--text); }
.column-setup-error { min-height: 1.2rem; margin: .35rem 0; color: #b91c1c; font-size: .8rem; }
.column-setup-actions { display: flex; gap: .8rem; margin-top: .4rem; }
.column-setup-actions .btn-cta { flex: 1; }
@media (max-width: 680px) {
  .column-setup-card { padding: 1.1rem; }
  .column-step-progress { gap: .35rem; }
  .column-step-line { width: 16px; }
  .column-step { font-size: .68rem; }
  .column-setup-actions { flex-direction: column-reverse; }
}
