/* Search palette (Ctrl+K) — glass modal */
.ha-palette-overlay {
  position: fixed; inset: 0; z-index: 80;
  background: rgba(10, 20, 45, 0.4);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  display: none; align-items: flex-start; justify-content: center;
  padding-top: 14vh;
}
.ha-palette-overlay.open { display: flex; }
.ha-palette {
  width: 560px; max-width: calc(100vw - 40px);
  background: var(--glass-strong, rgba(255,255,255,0.72));
  border: 1px solid var(--glass-border-strong, rgba(0,83,253,0.35));
  border-radius: 20px;
  backdrop-filter: blur(28px) saturate(160%); -webkit-backdrop-filter: blur(28px) saturate(160%);
  box-shadow: 0 32px 80px rgba(0,0,0,0.3);
  overflow: hidden;
  font-family: var(--sans, -apple-system, system-ui, sans-serif);
  color: var(--ink, #17171A);
}
.ha-palette input {
  width: 100%; border: none; outline: none; background: transparent;
  padding: 18px 22px; font-size: 16px; font-weight: 300;
  color: var(--ink, #17171A); font-family: inherit;
  border-bottom: 1px solid var(--glass-border, rgba(255,255,255,0.65));
}
.ha-palette input::placeholder { color: var(--muted, #5C5C6E); }
.ha-palette-results { max-height: 320px; overflow-y: auto; padding: 8px; }
.ha-palette-item {
  display: flex; align-items: center; gap: 12px;
  padding: 11px 14px; border-radius: 12px; cursor: pointer;
  transition: background .12s;
}
.ha-palette-item.sel { background: var(--tint-strong, rgba(0,83,253,0.10)); }
.ha-palette-item .badge { flex-shrink: 0; }
.ha-palette-item .ti { flex: 1; min-width: 0; }
.ha-palette-item .ti .title { font-size: 14px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ha-palette-item .ti .sub { font-size: 12px; color: var(--muted, #5C5C6E); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ha-palette-empty { padding: 18px; text-align: center; color: var(--muted, #5C5C6E); font-size: 13px; font-weight: 300; }
.ha-palette-foot {
  padding: 10px 18px; border-top: 1px solid var(--glass-border, rgba(255,255,255,0.65));
  font-size: 11px; color: var(--muted, #5C5C6E); font-family: var(--mono, monospace);
  display: flex; gap: 14px;
}
