/* ═══════════════════════════════════════════════════════════════
   SMART SEARCH — Global search bar & results
   ═══════════════════════════════════════════════════════════════ */
.ss-wrap { position: relative; padding: var(--space-3) var(--space-3) var(--space-2); border-bottom: 1px solid var(--border-subtle); }
.ss-input-wrap { position: relative; display: flex; align-items: center; }
.ss-icon { position: absolute; left: var(--space-3); font-size: var(--text-sm); pointer-events: none; z-index: 1; color: var(--text-muted); }
.ss-input { width: 100%; padding: var(--space-2) var(--space-8); font-size: var(--text-sm); }
.ss-spinner { position: absolute; right: 30px; width: 14px; height: 14px; border: 2px solid var(--border-default);
  border-top-color: var(--accent); border-radius: 50%; animation: spin 0.6s linear infinite; }
.ss-clear { position: absolute; right: var(--space-2); cursor: pointer; font-size: var(--text-sm); color: var(--text-muted);
  padding: 2px var(--space-1); border-radius: 3px; }
.ss-clear:hover { color: var(--text-primary); background: var(--bg-hover); }

.ss-dropdown { position: absolute; top: 100%; left: var(--space-3); right: var(--space-3); background: var(--bg-surface);
  border: 1px solid var(--border-default); border-radius: var(--radius-lg); box-shadow: var(--shadow-xl);
  max-height: 420px; overflow-y: auto; z-index: 1000; margin-top: var(--space-1); }
.ss-group-header { padding: var(--space-2) var(--space-3) var(--space-1); font-size: var(--text-xs); font-weight: var(--weight-semibold);
  text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); border-top: 1px solid var(--border-subtle); }
.ss-group-header:first-child { border-top: none; }
.ss-result { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); cursor: pointer; transition: background var(--duration-fast); }
.ss-result:hover, .ss-result.ss-active { background: var(--bg-hover); }
.ss-result-icon { font-size: var(--text-md); flex-shrink: 0; width: 24px; text-align: center; }
.ss-result-body { flex: 1; min-width: 0; }
.ss-result-name { font-size: var(--text-sm); font-weight: var(--weight-medium); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-result-meta { font-size: var(--text-xs); color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-total { padding: var(--space-2) var(--space-3); font-size: var(--text-xs); color: var(--text-muted); text-align: center; border-top: 1px solid var(--border-subtle); }
.ss-empty { padding: var(--space-5) var(--space-3); text-align: center; font-size: var(--text-sm); color: var(--text-muted); }
