/* =============================================================================
   STAFF DOMAIN v2 — scoped styles
   =============================================================================
   Deliberately scoped under .sd2-scope rather than added to :root.
   The existing portal's global CSS variables (--bdr, --rmd, --font, etc.,
   used across 25,000+ lines) are NOT touched — that would risk breaking
   every other page, which the "no breaking existing functionality" rule
   rules out. Instead, this borrows the actual token VALUES from the
   Complaints portal's css/tokens.css (per the TCL Platform Standards §6
   recommendation) as a locally-scoped variable set. When the platform-wide
   token migration happens (§6's flagged follow-up), this block is what
   gets deleted — everything below would just resolve to the global tokens
   directly.
*/
#page-staff-domain.page { max-width:2000px; }
.sd2-scope {
  --sd2-forest-500: #2f8058;
  --sd2-forest-600: #276948;
  --sd2-forest-50:  #edf7f1;
  --sd2-slate-900:  #111417;
  --sd2-slate-500:  #5a6578;
  --sd2-slate-400:  #7c8a9a;
  --sd2-slate-150:  #dde3ea;
  --sd2-slate-100:  #eef1f4;
  --sd2-slate-50:   #f6f8fa;

  --sd2-bg-surface: #ffffff;
  --sd2-bg-hover:   var(--sd2-slate-100);
  --sd2-border:     var(--sd2-slate-150);
  --sd2-text-primary:   var(--sd2-slate-900);
  --sd2-text-secondary: var(--sd2-slate-500);
  --sd2-text-tertiary:  var(--sd2-slate-400);
  --sd2-accent:     var(--sd2-forest-500);
  --sd2-accent-hover: var(--sd2-forest-600);
  --sd2-radius-sm: 6px;
  --sd2-radius-md: 10px;
  --sd2-radius-lg: 14px;
  /* ~25% more than before across the board — the old scale was
     8/12/16/20; cards read as packed rather than composed. */
  --sd2-space-2: 10px;
  --sd2-space-3: 15px;
  --sd2-space-4: 20px;
  --sd2-space-5: 25px;
  /* The only two non-green, non-grey colours anywhere in this module now:
     amber for "needs attention," red for "inactive." Everything that used
     to reach for a one-off blue/orange/purple hex value should use one of
     these two, or var(--sd2-accent), or nothing. */
  --sd2-amber: #9a5a0a;
  --sd2-amber-bg: #fef3e2;
  --sd2-red: #b3261e;
  --sd2-red-bg: #fdeaea;
  /* A real type scale, per the brief: Employee Name 32 / Section Heading
     20 / Card Heading 16 / Body 14 / Metadata 12 — five deliberate
     levels, not the five-or-six ad hoc sizes (12/13/14/15/16) that had
     accumulated with no hierarchy behind them. */
  --sd2-fs-name: 32px;
  --sd2-fs-section: 20px;
  --sd2-fs-card: 16px;
  --sd2-fs-body: 14px;
  --sd2-fs-meta: 12px;
  font-family: 'Poppins','DM Sans',system-ui,sans-serif;
  color: var(--sd2-text-primary);
  font-size: 14px;
}

.sd2-scope .sd2-toolbar { display:flex; align-items:center; gap: 8px; margin-bottom: var(--sd2-space-4); flex-wrap: wrap; }
.sd2-scope .sd2-msel { position:relative; }
.sd2-scope .sd2-msel-count { color:var(--sd2-forest-600); font-weight:700; }
.sd2-scope .sd2-msel-panel { display:none; position:absolute; top:calc(100% + 4px); left:0; z-index:20; min-width:210px; max-height:280px; overflow-y:auto; background:var(--sd2-bg-surface); border:1px solid var(--sd2-border); border-radius:var(--sd2-radius-md); box-shadow:0 8px 24px rgba(17,20,23,.12); padding:6px; }
.sd2-scope .sd2-msel-panel.sd2-msel-open { display:block; }
.sd2-scope .sd2-msel-option { display:flex; align-items:center; gap:8px; padding:7px 8px; font-size:13px; color:var(--sd2-text-primary); border-radius:var(--sd2-radius-sm); cursor:pointer; white-space:nowrap; }
.sd2-scope .sd2-msel-option:hover { background:var(--sd2-bg-hover); }
.sd2-scope .sd2-msel-empty { font-size:12.5px; color:var(--sd2-text-tertiary); padding:8px; }
.sd2-scope .sd2-search-input, .sd2-scope input, .sd2-scope select {
  font-family: inherit; font-size: 13.5px; padding: 8px 12px; border: 1px solid var(--sd2-border);
  border-radius: var(--sd2-radius-sm); background: var(--sd2-bg-surface); color: var(--sd2-text-primary);
}
/* .tcl-btn* rules removed — Staff Domain's buttons now use the
   genuinely-global .tcl-btn* system defined above (see
   tcl-canonical-buttons), sourced from Team Schedule's look. Deleted
   rather than renamed: keeping a same-specificity scoped rule around
   would have silently out-ranked the new global one for anything inside
   .sd2-scope. */

.sd2-scope .sd2-card-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--sd2-space-4); align-items:start; }
.sd2-scope .sd2-staff-card {
  background:var(--sd2-bg-surface); border:1px solid var(--sd2-border); border-radius:var(--sd2-radius-lg);
  padding:16px; cursor:pointer; display:flex; flex-direction:column; gap:8px;
  min-height:116px; box-sizing:border-box;
  transition: box-shadow 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.sd2-scope .sd2-staff-card:hover { box-shadow:0 4px 16px rgba(17,20,23,.08); border-color:var(--sd2-slate-400); transform:translateY(-1px); }
.sd2-scope .sd2-avatar { display:inline-flex; align-items:center; justify-content:center; font-weight:700; letter-spacing:.3px; }
.sd2-scope .sd2-staff-card { min-height:0; gap:10px; padding:14px; }
.sd2-scope .sd2-tag { font-size:10.5px; font-weight:700; padding:2px 8px; border-radius:20px; white-space:nowrap; vertical-align:middle; }
.sd2-scope .sd2-tag-pt { background:#dbeafe; color:#1d4ed8; }
.sd2-scope .sd2-tag-ac { background:#dcfce7; color:#166534; }
.sd2-scope .sd2-tag-ws { background:#ccfbf1; color:#0f766e; }
/* Compact header (11 Oct 2026) */
.sd2-scope .sd2-view-toggle { display:flex; gap:2px; background:var(--sd2-slate-100); border-radius:var(--sd2-radius-md); padding:2px; }
.sd2-scope .sd2-more-menu { position:absolute; right:0; top:100%; margin-top:4px; background:#fff; border:1px solid var(--sd2-border,#e5e5e5); border-radius:10px; box-shadow:0 6px 18px rgba(0,0,0,.12); z-index:80; min-width:240px; padding:6px; }
.sd2-scope .sd2-more-menu button, .sd2-scope .sd2-more-menu a { display:block; width:100%; text-align:left; padding:7px 10px; font-size:12.5px; color:var(--sd2-text-secondary,#374151); background:none; border:none; border-radius:6px; cursor:pointer; text-decoration:none; font-family:inherit; box-sizing:border-box; }
.sd2-scope .sd2-more-menu button:hover, .sd2-scope .sd2-more-menu a:hover { background:var(--sd2-slate-100,#f1f5f9); }
.sd2-scope .sd2-more-label { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--sd2-text-tertiary); padding:8px 10px 2px; border-top:1px solid var(--sd2-border,#eee); margin-top:4px; }
.sd2-scope .sd2-seg { display:flex; gap:2px; background:var(--sd2-slate-100,#f1f5f9); border-radius:8px; padding:2px; }
.sd2-scope .sd2-seg button { border:none; background:none; padding:6px 8px; border-radius:6px; font-size:12.5px; font-weight:600; color:var(--sd2-text-secondary,#555); cursor:pointer; font-family:inherit; white-space:nowrap; }
.sd2-scope .sd2-seg button span { color:var(--sd2-text-tertiary); font-weight:500; }
.sd2-scope .sd2-seg button.on { background:#fff; color:var(--g,#1E5C1E); box-shadow:0 1px 2px rgba(0,0,0,.08); }
.sd2-scope .sd2-banner-stats { color:#fff; font-size:13px; text-align:right; position:relative; }
.sd2-scope .sd2-banner-stat { display:inline-block; margin-left:16px; font-size:13px; cursor:default; }
.sd2-scope .sd2-banner-stat b { font-size:20px; font-weight:700; margin-right:3px; }
.sd2-scope .sd2-banner-note { font-size:11px; opacity:.8; margin-top:2px; }
.sd2-scope .sd2-oneline { flex-wrap:wrap; }
.sd2-scope .sd2-filters-panel { position:absolute; left:0; top:100%; margin-top:4px; z-index:80; background:#fff; border:1px solid var(--sd2-border,#e5e5e5); border-radius:10px; box-shadow:0 6px 18px rgba(0,0,0,.12); padding:8px 10px; width:280px; max-height:70vh; overflow-y:auto; }
.sd2-scope .sd2-fsec { padding:6px 0; border-bottom:1px solid var(--sd2-border,#eee); }
.sd2-scope .sd2-fsec:last-of-type { border-bottom:none; }
.sd2-scope .sd2-fsec-title { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--sd2-text-tertiary); padding:2px 8px 4px; }
.sd2-scope .sd2-sort { border:1px solid var(--sd2-border,#e5e5e5); background:#fff; padding:6px 8px; border-radius:8px; font-size:12.5px; font-family:inherit; color:var(--sd2-text-secondary,#555); }
.sd2-scope:not(.sd2-selecting) .sd2-bulk-check { display:none; }
.sd2-scope .sd2-staff-card-top { display:flex; align-items:center; gap:10px; }
.sd2-scope .sd2-staff-card-top .sd2-staff-name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sd2-scope .sd2-staff-name { font-size:14.5px; font-weight:600; letter-spacing:-.1px; color:var(--sd2-text-primary); line-height:1.3; }
.sd2-scope .sd2-staff-position { font-size:12.5px; color:var(--sd2-text-secondary); margin-top:1px; }
.sd2-scope .sd2-staff-meta { font-size:12px; color:var(--sd2-text-tertiary); letter-spacing:.1px; }
.sd2-scope .sd2-staff-card .sd2-staff-meta { white-space:normal; line-height:1.35; }
.sd2-scope .sd2-staff-card-bottom { display:flex; align-items:center; gap:6px; margin-top:auto; padding-top:6px; border-top:1px solid var(--sd2-slate-100); }
.sd2-scope .sd2-staff-card-bottom .sd2-tl-material-check { margin-left:auto; }
.sd2-scope .sd2-tl-material-spacer { margin-left:auto; }
.sd2-scope .sd2-staff-card-actions { display:flex; gap:6px; margin-top:2px; }
.sd2-scope .sd2-tl-material-check { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; letter-spacing:.2px; color:var(--sd2-forest-600); cursor:pointer; width:fit-content; background:var(--sd2-forest-50); border:1px solid var(--sd2-forest-500); border-radius:20px; padding:3px 9px 3px 7px; transition:background 150ms ease; white-space:nowrap; }
.sd2-scope .sd2-tl-material-check:hover { background:#fff; }
.sd2-scope .sd2-tl-material-check input { accent-color:var(--sd2-forest-500); }
.sd2-scope .sd2-readiness-pill { display:inline-flex; align-items:center; gap:3px; font-size:10px; font-weight:700; line-height:1; padding:4px 9px; border-radius:999px; cursor:pointer; white-space:nowrap; background:#fff; border:1px solid var(--sd2-border); color:var(--sd2-text-tertiary); transition:background 120ms ease, border-color 120ms ease, color 120ms ease; }
.sd2-scope .sd2-readiness-pill-check { display:none; }
.sd2-scope .sd2-readiness-pill.on .sd2-readiness-pill-check { display:inline; }
.sd2-scope .sd2-readiness-pill.tone-amber.on { background:#fef3c7; border-color:#fde68a; color:#92400e; }
.sd2-scope .sd2-readiness-pill.tone-indigo.on { background:#e0e7ff; border-color:#c7d2fe; color:#3730a3; }
.sd2-scope .sd2-readiness-pill.tone-green.on { background:#dcfce7; border-color:#bbf7d0; color:#166534; }
.sd2-scope .sd2-readiness-pill.tone-purple.on { background:#f3e8ff; border-color:#e9d5ff; color:#6b21a8; }
.sd2-scope .sd2-readiness-pill.tone-blue.on { background:#dbeafe; border-color:#bfdbfe; color:#1e40af; }
/* .tcl-btn-active removed too — see the note above. */
.sd2-scope .sd2-board-scroll { display:flex; flex-wrap:wrap; gap:16px; align-items:flex-start; }
.sd2-scope .sd2-board-column { flex:1 1 0; min-width:220px; background:var(--sd2-slate-50); border:1px solid var(--sd2-border); border-radius:var(--sd2-radius-lg); display:flex; flex-direction:column; max-height:calc(100vh - 260px); transition:background 150ms ease, border-color 150ms ease; }
.sd2-scope .sd2-board-column.sd2-drag-over { background:var(--sd2-forest-50); border-color:var(--sd2-forest-500); }
.sd2-scope .sd2-board-column-header { display:flex; align-items:center; justify-content:space-between; padding:13px 15px; font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.6px; color:var(--sd2-text-secondary); border-bottom:1px solid var(--sd2-border); flex-shrink:0; }
.sd2-scope .sd2-board-column-count { font-size:11px; font-weight:700; color:var(--sd2-text-secondary); background:var(--sd2-bg-surface); border:1px solid var(--sd2-border); border-radius:20px; padding:1px 8px; letter-spacing:0; text-transform:none; }
.sd2-scope .sd2-board-column-body { padding:10px; display:flex; flex-direction:column; gap:10px; overflow-y:auto; min-height:60px; }
/* Cards keep their full height in a long column (11 Oct 2026: they were
   squeezed and their tags spilled over the next card). */
.sd2-scope .sd2-board-column-body > * { flex-shrink:0; }
.sd2-scope .sd2-board-empty { font-size:12px; color:var(--sd2-text-tertiary); text-align:center; padding:20px 10px; }
.sd2-scope .sd2-staff-card[draggable="true"] { cursor:grab; }
.sd2-scope .sd2-staff-card.sd2-tl-material-highlight { background:#fefce8; border-color:#facc15; box-shadow:inset 3px 0 0 #eab308; }
.sd2-scope .sd2-staff-row.sd2-tl-material-highlight { background:#fefce8; box-shadow:inset 3px 0 0 #eab308; }
.sd2-scope .sd2-staff-row.sd2-tl-material-highlight:hover { background:#fef9c3; }
.sd2-scope .sd2-staff-card.sd2-dragging { opacity:.4; }

.sd2-scope .sd2-staff-list { display:flex; flex-direction:column; gap:1px; background:var(--sd2-border); border:1px solid var(--sd2-border); border-radius:var(--sd2-radius-lg); overflow:hidden; }
.sd2-scope .sd2-staff-row {
  display:flex; align-items:center; gap:10px; background:var(--sd2-bg-surface);
  padding:10px 14px; cursor:pointer; transition:background 120ms ease;
}
.sd2-scope .sd2-staff-row:hover { background:var(--sd2-bg-hover); }
.sd2-scope .sd2-staff-row-header {
  cursor:default; background:var(--sd2-slate-50); padding-top:9px; padding-bottom:9px;
  font-size:10.5px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; color:var(--sd2-text-tertiary);
}
.sd2-scope .sd2-staff-row-header:hover { background:var(--sd2-slate-50); }
.sd2-scope .sd2-col { min-width:0; }
.sd2-scope .sd2-col-name { flex:1 1 140px; min-width:100px; }
.sd2-scope .sd2-col-name .sd2-staff-name, .sd2-scope .sd2-col-name .sd2-staff-meta { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sd2-scope .sd2-col-contact { flex:1 1 130px; min-width:80px; font-size:13px; color:var(--sd2-text-secondary); }
.sd2-scope .sd2-staff-row-email { font-size:13px; color:var(--sd2-text-secondary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sd2-scope .sd2-col-position { flex:1 1 110px; min-width:80px; font-size:13px; color:var(--sd2-text-secondary); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sd2-scope .sd2-col-tl { flex:0 1 120px; min-width:0; overflow:hidden; }
.sd2-scope .sd2-col-manager { flex:1 1 100px; min-width:0; font-size:12.5px; color:var(--sd2-text-tertiary); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sd2-scope .sd2-col-health { flex:0 0 34px; display:flex; align-items:center; gap:4px; }
.sd2-scope .sd2-col-status { flex:0 0 auto; }
@media (max-width: 1000px) {
  .sd2-scope .sd2-col-manager { display:none; }
}
@media (max-width: 820px) {
  .sd2-scope .sd2-col-contact { display:none; }
}
@media (max-width: 640px) {
  .sd2-scope .sd2-col-position { display:none; }
}
.sd2-scope .sd2-compliance-row { display:flex; gap:5px; flex-wrap:wrap; }
.sd2-scope .sd2-compliance-dot {
  width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700; flex-shrink:0; cursor:default;
}
.sd2-scope .sd2-compliance-dot.is-valid { background:var(--sd2-forest-50); color:var(--sd2-forest-600); }
.sd2-scope .sd2-compliance-dot.is-missing { background:var(--sd2-amber-bg); color:var(--sd2-amber); }

.sd2-scope .sd2-card { background:var(--sd2-bg-surface); border:1px solid var(--sd2-border); border-radius:var(--sd2-radius-lg); padding: var(--sd2-space-5); }
.sd2-scope .sd2-card-title { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--sd2-text-secondary); margin-bottom: var(--sd2-space-3); }
.sd2-scope .sd2-profile-tab { background:none; border:none; padding:10px 16px; font-size:13px; font-weight:600; font-family:'Poppins','DM Sans',system-ui,sans-serif; color:var(--sd2-text-secondary); cursor:pointer; border-bottom:2.5px solid transparent; white-space:nowrap; transition:color .15s,border-color .15s; }
.sd2-scope .sd2-profile-tab:hover { color:var(--sd2-text-primary); }
.sd2-scope .sd2-profile-tab.active { color:var(--sd2-forest-600); border-bottom-color:var(--sd2-forest-600); }
.sd2-scope .sd2-profile-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--sd2-space-4); }
.sd2-scope .sd2-kv { display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px solid var(--sd2-slate-50); font-size:13px; }
.sd2-scope .sd2-kv span { color: var(--sd2-text-secondary); }

.sd2-scope .sd2-edit-field { display:flex; flex-direction:column; gap:5px; font-size:12.5px; font-weight:600; color:var(--sd2-text-secondary); }
.sd2-scope .sd2-edit-field input, .sd2-scope .sd2-edit-field select { width:100%; box-sizing:border-box; font-weight:400; color:var(--sd2-text-primary); }
.sd2-scope .sd2-edit-section-title { font-size:14px; font-weight:700; color:var(--sd2-text-primary); margin:24px 0 2px; padding-top:20px; border-top:1px solid var(--sd2-slate-50); }
.sd2-scope .sd2-edit-section-title:first-of-type { margin-top:0; padding-top:0; border-top:none; }
.sd2-scope .sd2-edit-section-desc { font-size:12.5px; color:var(--sd2-text-tertiary); margin:2px 0 14px; line-height:1.4; }
.sd2-scope .sd2-compliance-item { border:1px solid var(--sd2-border); border-radius:var(--sd2-radius-md); padding:12px 14px; margin-bottom:10px; }
.sd2-scope .sd2-compliance-item-label { font-size:13px; font-weight:600; color:var(--sd2-text-primary); margin-bottom:8px; }
.sd2-scope .sd2-status-radio-row { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
.sd2-scope .sd2-status-radio { display:none; }
.sd2-scope .sd2-status-radio-label {
  font-size:12px; font-weight:600; padding:5px 12px; border-radius:20px; border:1px solid var(--sd2-border);
  color:var(--sd2-text-secondary); cursor:pointer; background:#fff;
}
.sd2-scope .sd2-status-radio:checked + .sd2-status-radio-label.tone-none { background:var(--sd2-slate-100); border-color:var(--sd2-slate-400); color:var(--sd2-text-primary); }
.sd2-scope .sd2-status-radio:checked + .sd2-status-radio-label.tone-positive { background:var(--sd2-forest-50); border-color:var(--sd2-forest-500); color:var(--sd2-forest-600); }
.sd2-scope .sd2-status-radio:checked + .sd2-status-radio-label.tone-warning { background:var(--sd2-amber-bg); border-color:var(--sd2-amber); color:var(--sd2-amber); }
.sd2-scope .sd2-status-radio:checked + .sd2-status-radio-label.tone-negative { background:var(--sd2-red-bg); border-color:var(--sd2-red); color:var(--sd2-red); }
.sd2-scope .sd2-advanced-toggle { font-size:12.5px; font-weight:600; color:var(--sd2-text-secondary); cursor:pointer; padding:10px 0; user-select:none; }
.sd2-scope .sd2-advanced-toggle:hover { color:var(--sd2-text-primary); }
.sd2-scope .sd2-save-bar {
  position:sticky; bottom:0; left:0; right:0; background:#fff; border-top:1px solid var(--sd2-border);
  padding:12px 4px; margin:20px -4px -4px; display:flex; align-items:center; gap:10px; z-index:5;
  box-shadow:0 -4px 12px rgba(17,20,23,.05);
}
.sd2-scope .sd2-dirty-indicator { font-size:12px; color:var(--sd2-amber); display:flex; align-items:center; gap:5px; }
.sd2-scope .sd2-dirty-indicator .dot { width:6px; height:6px; border-radius:50%; background:var(--sd2-amber); }

.sd2-scope .tcl-status-chip { display:inline-flex; padding:2px 9px; border-radius:999px; font-size:11.5px; font-weight:600; }
.sd2-scope .tcl-status-chip--positive { background: var(--sd2-forest-50); color: var(--sd2-forest-600); }
.sd2-scope .tcl-status-chip--neutral { background: var(--sd2-slate-100); color: var(--sd2-text-secondary); }
.sd2-scope .tcl-status-chip--warning { background: var(--sd2-amber-bg); color: var(--sd2-amber); }
.sd2-scope .tcl-status-chip--negative { background: var(--sd2-red-bg); color: var(--sd2-red); }
.sd2-scope .tcl-status-chip--progress { background: var(--sd2-slate-100); color: var(--sd2-text-secondary); }

.sd2-scope .sd2-wizard-overlay { display:none; position:fixed; inset:0; background:rgba(17,20,23,.4); align-items:center; justify-content:center; z-index:999; }
.sd2-scope .sd2-wizard-modal { background:var(--sd2-bg-surface); border-radius:var(--sd2-radius-lg); padding: var(--sd2-space-5); width:480px; max-width:92vw; max-height:86vh; overflow:auto; }
.sd2-scope .sd2-wizard-modal label { display:flex; flex-direction:column; gap:4px; margin-bottom: var(--sd2-space-3); font-size:12.5px; color:var(--sd2-text-secondary); }
.sd2-scope .sd2-wizard-modal input, .sd2-scope .sd2-wizard-modal select { width:100%; box-sizing:border-box; }
.sd2-scope .sd2-step { font-size:11px; color:var(--sd2-text-tertiary); white-space:nowrap; }
.sd2-scope .sd2-step-active { color: var(--sd2-accent); font-weight:700; }
.sd2-scope .sd2-step-done { color: var(--sd2-text-secondary); }
.sd2-scope .sd2-step-arrow { color: var(--sd2-slate-150); font-size:11px; }
.sd2-scope .sd2-wizard-stepper { display:flex; align-items:center; gap:6px; margin-bottom: var(--sd2-space-4); flex-wrap:wrap; }
.sd2-scope .sd2-wizard-footer { display:flex; justify-content:space-between; margin-top: var(--sd2-space-4); }

.sd2-scope .sd2-search-result { padding:8px 12px; cursor:pointer; border-bottom:1px solid var(--sd2-slate-50); font-size:13px; }
.sd2-scope .sd2-search-result:hover { background: var(--sd2-bg-hover); }
.sd2-scope #sd2-global-search-results { display:none; position:absolute; top:100%; left:0; right:0; background:var(--sd2-bg-surface); border:1px solid var(--sd2-border); border-radius:var(--sd2-radius-sm); z-index: 50; max-height:280px; overflow:auto; box-shadow:0 4px 12px rgba(0,0,0,.08); }
.sd2-scope .sd2-search-wrap { position:relative; }

.sd2-scope .sd2-task-summary { display:flex; gap: var(--sd2-space-4); margin-bottom: var(--sd2-space-3); font-size:13px; }
.sd2-scope .sd2-task-row { padding:6px 0; border-bottom:1px solid var(--sd2-slate-50); font-size:13px; display:flex; align-items:center; gap:8px; }

/* Migration Dashboard — reuses every .sd2-* rule above via the shared
   .sd2-scope class; only the one genuinely new element needs its own rule. */
.sd2-scope .mig-stat { font-size:26px; font-weight:700; }

