/* Setup wizard shell (spec §2.2). */

.wizard-body { min-height: 100vh; background: var(--color-bg); }
.wizard-shell {
  max-width: 720px; margin: 0 auto; padding: var(--space-8) var(--space-5);
  min-height: 100vh; display: flex; flex-direction: column; gap: var(--space-6);
}
.wizard-header { display: flex; flex-direction: column; align-items: center; gap: var(--space-4); }
.wizard-brand {
  font-weight: var(--weight-bold); font-size: var(--text-lg);
  color: var(--color-primary); letter-spacing: -0.01em;
  display: flex; align-items: center; gap: var(--space-2);
}
.wizard-progress {
  display: flex; gap: 6px; list-style: none; margin: 0; padding: 0;
}
.wizard-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--color-border-strong);
  transition: background var(--dur-sm) var(--ease-out), transform var(--dur-sm) var(--ease-out);
}
.wizard-dot.is-done { background: var(--color-primary); }
.wizard-dot.is-current { background: var(--color-primary); transform: scale(1.4); }

.wizard-main {
  flex: 1;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: var(--space-8);
  animation: wizardIn var(--dur-md) var(--ease-out);
}
@keyframes wizardIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

.wizard-main h1 { font-size: var(--text-3xl); line-height: var(--lh-3xl); font-weight: var(--weight-semibold); margin: 0 0 var(--space-2); letter-spacing: -0.01em; }
.wizard-main .lede { color: var(--color-text-muted); margin-bottom: var(--space-6); }

.wizard-footer {
  display: flex; justify-content: space-between; align-items: center;
  color: var(--color-text-muted); font-size: var(--text-sm);
}

.wizard-actions { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); margin-top: var(--space-6); }
.wizard-actions.end { justify-content: flex-end; }

/* Setup module list */
.module-list { display: flex; flex-direction: column; gap: var(--space-3); }
.module-list h2 {
  font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .06em;
  color: var(--color-text-muted); margin: var(--space-4) 0 var(--space-2);
}
.module-item {
  display: flex; justify-content: space-between; align-items: center;
  padding: var(--space-3) var(--space-4);
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}
.module-item .m-icon { color: var(--color-primary); font-size: 1.2rem; margin-right: var(--space-3); }
.module-item .m-name { font-weight: var(--weight-medium); color: var(--color-text); }
.module-item .m-desc { color: var(--color-text-muted); font-size: var(--text-sm); }
.module-item .m-lock { color: var(--color-text-muted); font-size: var(--text-sm); }

/* Branding preview panel */
.brand-preview {
  padding: var(--space-4);
  background: var(--color-surface-alt);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
}
.brand-preview .preview-btn {
  background: var(--preview-primary, var(--color-primary));
  color: #fff; padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-sm); border: 0;
  font-weight: var(--weight-medium);
}

/* Tabbed sections inside the wizard (Curriculum step JCE vs MSCE) */
.tab-group { margin-top: var(--space-4); }
.tab-group .tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: var(--space-4);
}
.tab-group .tab {
  appearance: none;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  padding: var(--space-2) var(--space-4);
  margin-bottom: -1px;
  font: inherit;
  font-weight: var(--weight-medium);
  color: var(--color-text-muted);
  cursor: pointer;
  transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.tab-group .tab:hover { color: var(--color-text); }
.tab-group .tab.is-active {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}
.tab-group .tab:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: var(--radius-xs);
}
.tab-group .tab-panel[hidden] { display: none; }
