/* ============================================================
   SEARCH V2 – chip input, ODER/UND, scope toggle
   ============================================================ */
.search-box {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
  min-height: 52px; padding: 8px 12px 8px 44px; position: relative;
  border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; cursor: text;
  transition: box-shadow .15s, border-color .15s;
}
.search-box:focus-within { border-color: transparent; box-shadow: 0 0 0 2px var(--fc-primary, #1e3c3c); }
.search-box-icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); }
.search-chip-list { display: contents; }
.search-chip {
  display: inline-flex; align-items: center; gap: 6px; max-width: 100%;
  padding: 4px 6px 4px 10px; border-radius: 999px; font-size: 14px; font-weight: 600;
  background: color-mix(in srgb, var(--fc-primary, #1e3c3c) 10%, white);
  color: var(--fc-primary, #1e3c3c); border: 1px solid color-mix(in srgb, var(--fc-primary, #1e3c3c) 25%, white);
}
.search-chip button {
  width: 20px; height: 20px; border-radius: 999px; border: none; cursor: pointer;
  background: transparent; color: inherit; font-size: 11px; display: inline-flex; align-items: center; justify-content: center;
}
.search-chip button:hover { background: rgba(220, 38, 38, .12); color: #dc2626; }
.search-chip-op {
  font-size: 11px; font-weight: 800; letter-spacing: .04em; color: #64748b; cursor: pointer;
  padding: 2px 6px; border-radius: 6px; user-select: none;
}
.search-chip-op:hover { background: #f1f5f9; color: var(--fc-primary, #1e3c3c); }
.search-box-input { flex: 1 1 220px; min-width: 160px; border: none; outline: none; font-size: 17px; padding: 6px 4px; background: transparent; }
.search-box-right { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.search-options-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: -6px; }
.search-seg { display: inline-flex; align-items: center; gap: 2px; padding: 3px; background: #f1f5f9; border-radius: 10px; }
.search-seg-label { font-size: 12px; color: #64748b; padding: 0 8px 0 6px; }
.search-seg button {
  font-size: 12px; font-weight: 600; color: #475569; border: none; background: transparent;
  padding: 5px 10px; border-radius: 8px; cursor: pointer; display: inline-flex; align-items: center; gap: 5px;
}
.search-seg button.active { background: #fff; color: var(--fc-primary, #1e3c3c); box-shadow: 0 1px 3px rgba(15, 23, 42, .12); }
.search-seg-hint { font-weight: 400; color: #94a3b8; }
.search-help-btn { font-size: 12px; color: #64748b; background: none; border: none; cursor: pointer; margin-left: auto; }
.search-help-btn:hover { color: var(--fc-primary, #1e3c3c); }
.search-help {
  font-size: 13px; color: #334155; background: #f8fafc; border: 1px solid #e2e8f0;
  border-radius: 10px; padding: 12px 14px; display: grid; gap: 6px; line-height: 1.5;
}
.search-help kbd, .search-help code { background: #fff; border: 1px solid #e2e8f0; border-radius: 4px; padding: 0 5px; font-size: 12px; }
.search-match-snippet mark { background: #fef08a; color: inherit; padding: 0 1px; border-radius: 2px; }
.search-match-source { display: inline-block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 1px 6px; border-radius: 4px; margin-right: 4px; }
.search-match-source.position { background: #dcfce7; color: #166534; }
.search-match-source.fulltext { background: #e0f2fe; color: #075985; }
.search-match-source.name { background: #f1f5f9; color: #475569; }
