.qst-section { margin-bottom: 18px; }
.qst-section-title { font-size: 12px; font-weight: 600; color: var(--subtext); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 10px; }
.qst-section-subtitle { font-size: 13px; color: var(--muted); margin-bottom: 14px; }
.qst-list { display: grid; gap: 10px; }
.qst-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; }
.qst-row.qst-packaging { grid-template-columns: minmax(0,1.5fr) repeat(2, minmax(0,120px)); }
.qst-row.qst-packaging-loose { grid-template-columns: minmax(0,1.5fr) minmax(0,120px); }
.qst-label { font-size: 13px; color: var(--text); }
.qst-input { width: 100%; max-width: 120px; padding: 10px; border: 1px solid var(--card-border); border-radius: 6px; background: var(--bg); color: var(--text); }
.qst-input[type=number]::-webkit-inner-spin-button, .qst-input[type=number]::-webkit-outer-spin-button { margin: 0; }
.qst-unit { white-space: nowrap; font-size: 12px; color: var(--muted); }
.qst-controls { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.qst-empty { color: var(--muted); font-size: 13px; padding: 12px 0; }
.qst-section-heading { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-bottom: 10px; }
