/* ── Wizard: Evaluation Wizard ─────────────────────────── */

/* Overview table */
.wiz-filter { display:flex; align-items:center; gap:16px; flex-wrap:wrap }
.wiz-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch }
.wiz-tbl { width:100%; border-collapse:collapse; min-width:600px }
.wiz-tbl th, .wiz-tbl td { padding:10px 14px; text-align:center; border-bottom:1px solid var(--border) }
.wiz-tbl th { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--text-4) }
.wiz-tbl td:first-child, .wiz-tbl th:first-child { text-align:left; font-weight:600 }
.wiz-tbl tbody tr:hover { background:var(--surface-2) }

.wiz-cell-partial { font-size:11px; color:var(--text-4); margin-bottom:4px }

/* Score bubble in overview table */
.wiz-score-bubble {
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%;
  font-family:var(--mono); font-size:15px; font-weight:800;
  border:2px solid currentColor;
}
.wiz-score-bubble.essential  { color:#34d399; background:rgba(52,211,153,.12); border-color:rgba(52,211,153,.35) }
.wiz-score-bubble.strong     { color:#4ade80; background:rgba(74,222,128,.12); border-color:rgba(74,222,128,.35) }
.wiz-score-bubble.developing { color:#fbbf24; background:rgba(251,191,36,.12); border-color:rgba(251,191,36,.35) }
.wiz-score-bubble.atrisk     { color:#fb923c; background:rgba(251,146,60,.12); border-color:rgba(251,146,60,.35) }
.wiz-score-bubble.critical   { color:#f87171; background:rgba(248,113,113,.12); border-color:rgba(248,113,113,.35) }
[data-theme="light"] .wiz-score-bubble.essential  { color:#0d9668 }
[data-theme="light"] .wiz-score-bubble.strong     { color:#15803d }
[data-theme="light"] .wiz-score-bubble.developing { color:#b45309 }
[data-theme="light"] .wiz-score-bubble.atrisk     { color:#c2410c }
[data-theme="light"] .wiz-score-bubble.critical   { color:#dc2626 }

.wiz-eval-btn {
  font-size:13px; font-weight:600; padding:8px 20px;
  border-radius:var(--md-shape-full); border:1.5px dashed var(--accent);
  background:transparent; color:var(--accent); cursor:pointer;
  transition:background .15s, color .15s;
}
.wiz-eval-btn:hover { background:var(--accent); color:var(--md-on-primary) }

/* Wizard flow container */
.wiz-flow { max-width:800px; margin:0 auto }

/* Wizard header */
.wiz-header {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:20px; flex-wrap:wrap; gap:12px;
}
.wiz-title { font-size:18px; font-weight:700; color:var(--text-1) }
.wiz-subtitle { font-size:13px; color:var(--text-4) }
.wiz-close { background:none; border:none; color:var(--text-4); cursor:pointer; font-size:20px; padding:4px 8px }
.wiz-close:hover { color:var(--text-1) }

/* Step indicator */
.wiz-steps {
  display:flex; gap:0; margin-bottom:24px;
  border-bottom:2px solid var(--border); padding-bottom:0;
}
.wiz-step {
  flex:1; text-align:center; padding:10px 8px 12px;
  font-size:13px; font-weight:600; color:var(--text-4);
  border-bottom:3px solid transparent; margin-bottom:-2px;
  cursor:pointer; transition:color .15s, border-color .15s;
  display:flex; align-items:center; justify-content:center; gap:6px;
}
.wiz-step.active { color:var(--accent); border-bottom-color:var(--accent) }
.wiz-step.done { color:var(--success) }
.wiz-step-num {
  width:28px; height:28px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:700;
  background:var(--surface-2); color:var(--text-4);
}
.wiz-step.active .wiz-step-num { background:var(--accent); color:var(--md-on-primary) }
.wiz-step.done .wiz-step-num { background:var(--success); color:#fff }

/* Step content area */
.wiz-content { min-height:200px }

/* Navigation buttons */
.wiz-nav {
  display:flex; justify-content:space-between; align-items:center;
  margin-top:24px; padding-top:16px; border-top:1px solid var(--border);
}
.wiz-nav-left, .wiz-nav-right { display:flex; gap:8px }

/* PAM step */
.wiz-pam-dates { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 }
.wiz-pam-chip {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 12px; border-radius:var(--radius);
  background:var(--primary-container); color:var(--on-primary-container);
  font-family:var(--mono); font-size:13px; font-weight:500;
}
.wiz-pam-chip button {
  background:none; border:none; color:inherit; cursor:pointer;
  font-size:16px; opacity:.6; padding:0 2px;
}
.wiz-pam-chip button:hover { opacity:1 }
.wiz-pam-empty { color:var(--text-4); font-style:italic; padding:12px 0 }

/* NPS step */
.wiz-nps-ref {
  background:var(--surface-2); border-radius:var(--radius);
  padding:12px 16px; margin-bottom:16px; font-size:13px; color:var(--text-3);
}
.wiz-nps-ref strong { color:var(--text-2) }
.wiz-nps-grid {
  display:flex; flex-wrap:wrap; gap:6px; margin:16px 0;
}
.wiz-nps-btn {
  width:44px; height:44px; border-radius:var(--radius);
  border:2px solid var(--border); background:var(--surface-1);
  color:var(--text-2); font-weight:700; font-size:15px;
  cursor:pointer; transition:all .15s;
}
.wiz-nps-btn:hover { border-color:var(--accent); color:var(--accent) }
.wiz-nps-btn.det { border-color:var(--danger); background:var(--danger-bg); color:var(--danger) }
.wiz-nps-btn.pas { border-color:var(--warning); background:var(--warning-bg); color:var(--warning) }
.wiz-nps-btn.pro { border-color:var(--success); background:var(--success-bg); color:var(--success) }
.wiz-nps-cat {
  display:inline-block; padding:4px 12px; border-radius:var(--radius);
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
}

/* NSS step */
.wiz-nss-copy {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 14px; border-radius:var(--radius);
  border:1px solid var(--accent); background:transparent;
  color:var(--accent); font-size:12px; font-weight:600;
  cursor:pointer; margin-bottom:12px;
}
.wiz-nss-copy:hover { background:var(--accent); color:var(--md-on-primary) }
.wiz-nss-score-bar {
  display:flex; align-items:center; gap:12px;
  padding:12px 16px; border-radius:var(--radius);
  background:var(--surface-2); margin-top:16px;
}
.wiz-nss-score-num { font-size:24px; font-weight:800; font-family:var(--mono) }

/* DFS step */
.wiz-dfs-display {
  background:var(--surface-2); border-radius:var(--radius);
  padding:16px; margin:12px 0;
}
.wiz-dfs-display .wiz-dfs-row {
  display:flex; justify-content:space-between; padding:6px 0;
  border-bottom:1px solid var(--border); font-size:13px;
}
.wiz-dfs-display .wiz-dfs-row:last-child { border-bottom:none }
.wiz-dfs-display .wiz-dfs-label { color:var(--text-4) }
.wiz-dfs-display .wiz-dfs-val { font-weight:600; color:var(--text-1) }
.wiz-dfs-warn {
  padding:16px; border-radius:var(--radius);
  background:var(--warning-bg); color:var(--warning);
  font-weight:500; margin:12px 0;
}

/* Summary step */
.wiz-summary { text-align:center; padding:24px 0 }
.wiz-summary-score {
  font-size:56px; font-weight:900; font-family:var(--mono);
  color:var(--accent); margin:12px 0 4px;
}
.wiz-summary-rating { font-size:16px; font-weight:600; margin-bottom:20px }
.wiz-summary-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
  max-width:500px; margin:0 auto;
}
.wiz-summary-item {
  background:var(--surface-2); border-radius:var(--radius); padding:14px;
}
.wiz-summary-item-label { font-size:11px; color:var(--text-4); text-transform:uppercase; letter-spacing:.04em }
.wiz-summary-item-val { font-size:20px; font-weight:700; margin-top:4px }
.wiz-summary-item-sub { font-size:11px; color:var(--text-4); margin-top:2px }

/* Field rows */
.wiz-field { margin-bottom:14px }
.wiz-field label { display:block; font-size:12px; font-weight:600; color:var(--text-4); margin-bottom:4px; text-transform:uppercase; letter-spacing:.03em }

/* Responsive */
@media (max-width:600px) {
  .wiz-summary-grid { grid-template-columns:1fr }
  .wiz-steps { font-size:11px }
  .wiz-step { padding:8px 4px 10px }
}
