.purchases-query { box-sizing:border-box; display:grid; gap:16px; width:100%; max-width:960px; min-width:0; margin:28px auto 0; padding-top:28px; border-top:1px solid var(--border); color:var(--text); }
.purchases-query-heading,.purchases-query-section-title,.purchases-query-result-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.purchases-query-step { display:grid; gap:14px; min-width:0; }
.purchases-query-step-label { display:flex; align-items:center; gap:9px; color:var(--text); }
.purchases-query-step-label > span { display:grid; flex:none; width:24px; height:24px; place-items:center; border-radius:50%; background:var(--accent-dim); color:var(--nav-active-fg); font-size:.7rem; font-weight:900; }
.purchases-query-step-label > strong { font-size:.84rem; }
.purchases-query-heading h3,.purchases-query-section-title h4,.purchases-query-result-head h4 { margin:0 0 5px; color:var(--text); }
.purchases-query-heading > div > p:last-child,.purchases-query-section-title p,.purchases-query-result-head p { margin:0; color:var(--muted); font-size:.8rem; }
.purchases-query-kicker { margin:0 0 5px; color:var(--accent); font-size:.69rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.purchases-query-badge { flex:none; padding:7px 11px; border-radius:999px; background:var(--accent-dim); color:var(--nav-active-fg); font-size:.73rem; font-weight:800; }
.purchases-query-upload { min-height:135px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; width:100%; border:1.5px dashed var(--border); border-radius:14px; background:var(--surface); color:var(--text); cursor:pointer; transition:.18s; }
.purchases-query-upload:hover,.purchases-query-upload.is-dragging { border-color:var(--accent); background:var(--accent-dim); }
.purchases-query-upload.has-file { border-style:solid; border-color:var(--pill-ok-fg); }
.purchases-query-upload > span:last-child { color:var(--muted); }
.purchases-query-upload-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; background:var(--accent-dim); color:var(--accent); font-weight:900; }
.purchases-query-message:empty { display:none; }
.purchases-query-message { padding:10px 12px; border-radius:8px; font-size:.8rem; }
.purchases-query-message.is-loading { background:var(--accent-dim); color:var(--nav-active-fg); }
.purchases-query-message.is-success { background:var(--pill-ok-bg); color:var(--pill-ok-fg); }
.purchases-query-message.is-error { background:var(--pill-err-bg); color:var(--pill-err-fg); }
.purchases-query-workspace { display:grid; gap:16px; min-width:0; }
.purchases-query-columns,.purchases-query-config,.purchases-query-result { min-width:0; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.purchases-query-section-title > span { padding:5px 8px; border-radius:999px; background:var(--surface2); color:var(--muted); font-size:.7rem; }
.purchases-query-column-chips { display:flex; flex-wrap:wrap; gap:7px; margin:13px 0; }
.purchases-query-column-chip { border:1px solid var(--border); border-radius:999px; padding:6px 9px; background:var(--bg); color:var(--muted); font:600 .7rem inherit; cursor:pointer; }

.purchases-query-column-chip.is-selected { background:var(--accent-dim); color:var(--nav-active-fg); box-shadow:inset 0 0 0 1px var(--accent); }
.purchases-query-preview,.purchases-query-table-wrap { width:100%; max-width:100%; overflow:auto; border:1px solid var(--border); border-radius:9px; }
.purchases-query-preview { max-height:430px; }
.purchases-query-preview-note { margin:-2px 0 7px; color:var(--muted); font-size:.71rem; }
.purchases-query-preview table,.purchases-query-table-wrap table { width:100%; border-collapse:collapse; background:var(--surface); color:var(--text); font-size:.76rem; }
.purchases-query-preview th,.purchases-query-preview td,.purchases-query-table-wrap th,.purchases-query-table-wrap td { padding:8px 9px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); text-align:left; white-space:nowrap; }
.purchases-query-preview th,.purchases-query-table-wrap th { position:sticky; top:0; background:var(--surface2); color:var(--text); }
.purchases-query-config { position:relative; display:grid; gap:12px; }
.purchases-query-config label { display:grid; gap:6px; color:var(--text); font-size:.77rem; font-weight:700; }
.purchases-query-config label > span { display:flex; justify-content:space-between; gap:8px; }
.purchases-query-config label small { color:var(--muted); font-weight:500; }
.purchases-query-config input,.purchases-query-config select { min-height:39px; width:100%; box-sizing:border-box; border:1px solid var(--border); border-radius:8px; padding:8px 10px; background:var(--bg); color:var(--text); font:inherit; }
.purchases-query-config input:focus,.purchases-query-config select:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-dim); }
.purchases-query-config-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.purchases-query-suggestions { position:absolute; z-index:20; top:75px; left:16px; right:16px; display:grid; padding:5px; border:1px solid var(--border); border-radius:8px; background:var(--surface2); box-shadow:0 10px 25px rgba(0,0,0,.22); }
.purchases-query-suggestions button { padding:7px 9px; border:0; border-radius:5px; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.purchases-query-suggestions button:hover { background:var(--accent-dim); color:var(--nav-active-fg); }
.purchases-query-submit { justify-self:end; min-width:160px; }
.purchases-query-result { display:grid; gap:12px; }
.purchases-query-output { display:grid; gap:12px; min-width:0; }
.purchases-query-warnings { max-height:220px; overflow:auto; padding:11px 13px; border:1px solid color-mix(in srgb,var(--pill-warn-fg) 28%,transparent); border-radius:8px; background:var(--pill-warn-bg); color:var(--pill-warn-fg); font-size:.73rem; }
.purchases-query-warnings strong { display:block; margin-bottom:6px; }
.purchases-query-warnings ul { display:grid; gap:4px; margin:0; padding-left:18px; }
.purchases-query-groups-badge { justify-self:start; padding:7px 10px; border:1px solid var(--accent); border-radius:999px; background:var(--accent-dim); color:var(--nav-active-fg); font-size:.73rem; font-weight:800; }
.purchases-query-group { min-width:0; overflow:hidden; border:1px solid var(--border); border-radius:10px; background:var(--surface2); }
.purchases-query-group summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; color:var(--text); cursor:pointer; list-style:none; }
.purchases-query-group summary::-webkit-details-marker { display:none; }
.purchases-query-group summary::before { content:"›"; flex:none; color:var(--accent); font-size:1.1rem; font-weight:900; transition:transform .18s; }
.purchases-query-group[open] summary::before { transform:rotate(90deg); }
.purchases-query-group summary strong { flex:1; min-width:0; overflow-wrap:anywhere; }
.purchases-query-group summary span { flex:none; color:var(--muted); font-size:.72rem; }
.purchases-query-group .purchases-query-table-wrap { border-width:1px 0 0; border-radius:0; }
.purchases-query-single-group { display:grid; gap:10px; min-width:0; }
.purchases-query-single-group-head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 14px; border:1px solid var(--border); border-radius:10px; background:var(--surface2); color:var(--text); }
.purchases-query-single-group-head span { color:var(--muted); font-size:.72rem; }
.purchases-query-subtotal td { border-top:2px solid var(--accent) !important; background:var(--accent-dim); font-weight:800; }
.purchases-query-subtotal td.is-target { color:var(--accent); }
.purchases-query-grand-total { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 17px; border:1px solid var(--accent); border-radius:10px; background:var(--accent-dim); color:var(--nav-active-fg); box-shadow:0 0 22px color-mix(in srgb,var(--accent) 20%,transparent); }
.purchases-query-grand-total strong { letter-spacing:.08em; }
.purchases-query-grand-total span { color:var(--accent); font-size:1.08rem; font-weight:900; }
.purchases-query-total td { border-top:2px solid var(--accent) !important; background:var(--accent-dim); font-weight:800; }
.purchases-query-total td.is-target { color:var(--accent); }
html[data-theme="neon"] .purchases-query-columns,html[data-theme="neon"] .purchases-query-config,html[data-theme="neon"] .purchases-query-result { box-shadow:inset 0 0 18px rgba(0,255,198,.025); }
@media (max-width:760px) {
  .purchases-query-heading,.purchases-query-section-title,.purchases-query-result-head { flex-direction:column; }
  .purchases-query-config-grid { grid-template-columns:1fr; }
  .purchases-query-group summary { align-items:flex-start; flex-wrap:wrap; }
  .purchases-query-group summary span { width:100%; padding-left:22px; }
  .purchases-query-submit,.purchases-query-result-head .btn { width:100%; }
}
