/* Catalog-exclusive styling: no global renderer modification */
.q-catalog .q-catalog-filters { display:flex; gap:12px; align-items:end; flex-wrap:wrap; margin:20px 0; }
.q-catalog .q-catalog-filters label { display:flex; flex-direction:column; gap:5px; font-size:13px; }
.q-catalog .q-catalog-filters input,.q-catalog .q-catalog-filters select { padding:10px; min-width:100px; border:1px solid #94a3b8; border-radius:7px; background:transparent; color:inherit; }
.q-catalog .q-catalog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px; margin:20px 0; }
.q-catalog .q-catalog-item { border:1px solid #cbd5e1; border-radius:10px; padding:14px; min-width:0; }
.q-catalog .q-catalog-item p { font-size:12px; opacity:.75; }
.q-catalog .q-catalog-item img { width:100%; height:170px; object-fit:contain; }

/* Draft selection: page-local state, separate from final test paper composer. */
.q-exam-selection { border-top:2px solid #94a3b8; margin:30px 0; padding-top:20px; }
.q-exam-selection-header { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.q-exam-selection-header h2 { font-size:19px; margin:0; }
.q-exam-selection-header span { font-size:14px; font-weight:400; }
.q-exam-selected { padding-left:20px; }
.q-exam-row { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:8px 0; }
.q-exam-row span { flex:1; min-width:180px; overflow-wrap:anywhere; }
.q-exam-row button { border:1px solid #94a3b8; border-radius:6px; padding:6px 10px; background:transparent; color:inherit; cursor:pointer; }
.q-exam-row button:disabled { opacity:.45; cursor:default; }
.q-exam-pick { width:100%; margin-top:6px; }

/* v0.11.24 - bank-scoped six-step cascading curriculum filter */
.q-catalog .q-catalog-taxonomy { margin:20px 0 12px; padding:14px; border:1px solid #cbd5e1; border-radius:10px; }
.q-catalog .q-catalog-taxonomy-header { display:flex; flex-wrap:wrap; align-items:center; gap:8px 15px; margin-bottom:12px; }
.q-catalog .q-catalog-taxonomy-header span { font-size:12px; opacity:.75; }
.q-catalog .q-catalog-levels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.q-catalog .q-catalog-levels label { min-width:0; display:flex; flex-direction:column; gap:6px; font-size:13px; }
.q-catalog .q-catalog-levels select { min-width:0; width:100%; padding:10px 8px; border:1px solid #94a3b8; border-radius:7px; background:transparent; color:inherit; }
.q-catalog .q-catalog-levels select:disabled { opacity:.5; }
.q-catalog .q-catalog-taxonomy [data-catalog-unit-status] { margin:10px 0 0; }
.q-catalog .q-catalog-staged-note { border-left:3px solid #64748b; padding-left:8px; line-height:1.5; }
@media (max-width:800px) { .q-catalog .q-catalog-levels { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:500px) { .q-catalog .q-catalog-levels { grid-template-columns:minmax(0,1fr); } }

/* v0.11.25 - choose the owned search bank directly in the search page. */
.q-catalog .q-catalog-bank-picker {display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;padding:14px;border:1px solid #cbd5e1;border-radius:10px;background:rgba(148,163,184,.06);}
.q-catalog .q-catalog-bank-picker label {display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;}
.q-catalog .q-catalog-bank-picker select {width:min(100%,360px);min-width:240px;padding:10px;border:1px solid #94a3b8;border-radius:7px;background:transparent;color:inherit;}
.q-catalog .q-catalog-bank-picker span {font-size:13px;color:inherit;}
@media (max-width:500px) {.q-catalog .q-catalog-bank-picker label,.q-catalog .q-catalog-bank-picker select{width:100%;min-width:0;}}

/* v0.11.27: original question preview, 2-column editorial cards */
.q-catalog .q-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.q-catalog .q-catalog-item{padding:16px;min-width:0;background:#fff;color:#20354d}
.q-catalog .q-catalog-item>strong{display:block;font-size:15px;line-height:1.55}
.q-catalog .q-catalog-item>p{opacity:1;font-size:12px;color:#596d82;line-height:1.6}
.q-catalog .q-catalog-item>img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;margin:10px auto}
.q-catalog .q-catalog-preview-shell{margin-top:10px}
.q-catalog .q-catalog-preview-toggle{width:100%}
.q-catalog .q-catalog-preview-body[hidden]{display:none!important}
.q-catalog .q-catalog-preview-body{max-width:100%;padding-top:8px;overflow-wrap:anywhere}
.q-catalog .q-catalog-preview-status{font-size:12px;color:#546980;margin:4px 0 8px}
.q-catalog .q-catalog-preview-alert{font-size:12px;background:#fff3ee;color:#8d2f21;border:1px solid #ecc5bd;padding:8px;border-radius:6px}
.q-catalog .q-catalog-preview-body .q-ai-rendered-question{display:block;border:0;padding:0;background:transparent}
.q-catalog .q-catalog-preview-body .q-ai-render-pane{display:block;min-width:0;padding:8px 0;background:#fff}
.q-catalog .q-catalog-preview-body .q-ai-render-sheet,.q-catalog .q-catalog-preview-body .q-ai-render-sheet p{font-size:15px;line-height:1.75}
.q-catalog .q-catalog-preview-body .q-ai-render-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px}
.q-catalog .q-catalog-preview-body .q-ai-render-choices li{min-width:0;font-size:14px}
.q-catalog .q-catalog-preview-body .q-ai-visual-preview{max-width:100%;overflow:hidden;margin:8px 0}
.q-catalog .q-catalog-preview-body .q-ai-visual-preview svg{max-width:100%;width:100%;height:auto;display:block}
.q-catalog .q-catalog-preview-body .q-ai-inline-math,.q-catalog .q-catalog-preview-body .q-ai-display-math{display:inline-flex;max-width:100%;vertical-align:middle}
.q-catalog .q-catalog-preview-body .q-ai-inline-math svg,.q-catalog .q-catalog-preview-body .q-ai-display-math svg{max-width:100%}
.q-catalog .q-catalog-preview-body .q-ai-math-unrendered{background:#fff2de;border:1px dashed #c78c4f;color:#80491d}
.q-catalog .q-catalog-solution-details{margin:9px 0;border-top:1px solid #d8e3ef;padding-top:10px}
.q-catalog .q-catalog-solution-details>summary{font-size:13px;font-weight:700;color:#315781;cursor:pointer}
.q-catalog .q-exam-pick{margin-top:10px}
@media(max-width:900px){.q-catalog .q-catalog-grid{grid-template-columns:minmax(0,1fr)}}
