/* Explore and Import: query bar, filter chips, grouped bars, totals, drop zone and import preview. */
.exp-top { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin-bottom: 12px; }
.exp-src { flex: 0 1 240px; min-width: 200px; }
.exp-search { flex: 1 1 260px; min-width: 0; }
.exp-chips, .exp-build, .exp-quick, .exp-totals { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.exp-chips { margin-bottom: 10px; }
.exp-chip { gap: 4px; max-width: 100%; }
.exp-chip .icon-btn { width: 22px; height: 22px; }
.exp-build { margin-bottom: 12px; }
.exp-grow { flex: 1 1 auto; }
.exp-sort { display: inline-flex; align-items: center; gap: 6px; }
.exp-sort .input { width: auto; max-width: 220px; }
.exp-quick { margin-bottom: 12px; }
.exp-card { margin-bottom: 0; }
.exp-track { height: 8px; min-width: 60px; background: var(--sunk); border-radius: 4px; overflow: hidden; }
.exp-fill { height: 100%; background: var(--m); border-radius: 4px; }
.exp-barcell { width: 32%; }
.exp-totals { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); color: var(--text-2); font-size: 13px; gap: 16px; }
.exp-totals strong { margin-left: 4px; color: var(--text); }
.exp-pop { min-width: 220px; max-height: 50vh; overflow: auto; padding: 6px; }
.exp-check { display: flex; align-items: center; gap: 8px; padding: 6px 4px; }
.exp-form { display: grid; gap: 12px; }
.exp-form .input { width: 100%; }
.exp-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.exp-list { max-height: 50vh; overflow: auto; }
.exp-drop { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 22px 16px; font: inherit; color: var(--text-2); background: transparent; border: 1px dashed var(--line-strong); border-radius: var(--radius); cursor: pointer; }
.exp-drop:hover { color: var(--text); border-color: var(--brand); }
.exp-map { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.exp-unused { color: var(--text-3); text-decoration: line-through; }
.exp-warn { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 8px 10px; border-radius: var(--radius-sm); background: var(--warn-bg); color: var(--warn-ink); }
.exp-rows { margin: 0 0 10px; color: var(--text-2); }
.exp-sub { margin: 14px 0 6px; font-size: 13px; font-weight: 600; }
.exp-errs { max-height: 220px; overflow: auto; margin: 0; padding-left: 20px; color: var(--bad-ink); font-size: 13px; }
.exp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
@media (max-width: 700px) {
  .exp-src, .exp-search { flex: 1 1 100%; }
  .exp-row2 { grid-template-columns: 1fr; }
  .exp-sort { width: 100%; }
  .exp-sort .input { flex: 1; max-width: none; }
}
