.qb-pill{background:var(--bg-info);height:22px;color:var(--text-info);text-transform:lowercase;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.qb-pill--ok{background:var(--bg-ok);color:var(--text-ok)}.qb-pill--warn{background:var(--bg-warn);color:var(--text-warn)}.qb-pill--danger{background:var(--bg-danger);color:var(--text-danger)}.qb-pill--muted{background:var(--bg-secondary);color:var(--text-secondary)}.qb-dashboard-summary,.qb-summary-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin-bottom:18px;display:grid}.qb-dashboard-stat,.qb-metric{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);color:inherit;gap:4px;padding:12px 14px;text-decoration:none;display:grid}.qb-dashboard-stat>span,.qb-metric span{color:var(--text-secondary);align-items:center;gap:5px;font-size:12px;display:inline-flex}.qb-dashboard-stat strong,.qb-metric strong{justify-content:space-between;align-items:center;gap:8px;font-size:22px;line-height:1;display:flex}.qb-dashboard-stat strong svg{color:var(--text-secondary)}.qb-dashboard-stat:hover,.qb-dashboard-stat:focus-visible{border-color:var(--text-primary);background:var(--bg-secondary)}.qb-dashboard-stat.is-active{border-color:var(--border-selected);background:var(--bg-selected);color:var(--text-selected)}.qb-dashboard-stat.is-active>span,.qb-dashboard-stat.is-active strong,.qb-dashboard-stat.is-active strong svg{color:var(--text-selected)}.qb-dashboard-stat--ok strong,.qb-metric--ok strong{color:var(--text-ok)}.qb-dashboard-stat--warn strong,.qb-metric--warn strong{color:var(--text-warn)}.qb-dashboard-stat--danger strong,.qb-metric--danger strong{color:var(--text-danger)}.qb-dashboard-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.qb-dashboard-search input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);width:min(320px,72vw);min-height:36px;padding:0 12px}.qb-dashboard-chips,.qb-card__chips,.qb-card__foot,.qb-pill-row{flex-wrap:wrap;gap:6px;display:flex}.qb-dashboard-chip{border:1px solid var(--border);background:var(--bg-primary);min-height:32px;color:var(--text-secondary);border-radius:999px;align-items:center;padding:0 12px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.qb-qbe-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px;display:flex}.qb-qbe-actions__message{color:var(--text-secondary);font-size:12px}.qb-qbe-actions__message.is-ok{color:var(--text-ok)}.qb-qbe-actions__message.is-warn{color:var(--text-warn)}.qb-dashboard-chip:hover,.qb-card:hover,.qb-row:hover,.qb-btn:hover:not(:disabled){border-color:var(--text-primary)}.qb-dashboard-chip.is-active{border-color:var(--border-selected);background:var(--bg-selected);color:var(--text-selected)}.qb-card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.qb-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);color:inherit;flex-direction:column;gap:14px;padding:18px;text-decoration:none;transition:border-color .14s,transform .14s;display:flex}.qb-card:hover{transform:translateY(-1px)}.qb-card--coming_soon,.qb-card--needs_content,.qb-row.is-inactive{background:var(--bg-secondary)}.qb-card__head{justify-content:space-between;gap:10px;display:flex}.qb-card__title h3{margin:0 0 7px;font-size:16px;line-height:1.25}.qb-card__arrow{color:var(--text-secondary)}.qb-card__stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:12px 0;display:grid}.qb-card__stats dt{color:var(--text-secondary);font-size:11px}.qb-card__stats dd{margin:2px 0 0;font-size:18px;font-weight:800}.qb-card__stats-ok{color:var(--text-ok)}.qb-card__stats-warn{color:var(--text-warn)}.qb-card__spread{justify-content:space-between;align-items:flex-end;gap:6px;height:48px;display:flex}.qb-card__spread-col{flex-direction:column;flex:1;justify-content:flex-end;gap:4px;display:flex}.qb-card__spread-bar{background:var(--bg-info);border-radius:3px;width:100%;min-height:4px}.qb-card__spread-col small{color:var(--text-secondary);text-align:center;font-size:10px}.qb-card__empty{color:var(--text-secondary);text-align:center;padding:12px 0;font-size:12px}.qb-card__signal{border-radius:999px;align-items:center;min-height:22px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.qb-card__signal--ok{background:var(--bg-ok);color:var(--text-ok)}.qb-card__signal--warn{background:var(--bg-warn);color:var(--text-warn)}.qb-card__signal--muted{background:var(--bg-secondary);color:var(--text-secondary)}.qb-course-console{gap:14px;display:grid}.qb-course-health{grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;display:grid}.qb-course-tabs{z-index:12;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-primary) 94%, transparent);gap:6px;padding:7px;display:flex;position:sticky;top:56px;overflow-x:auto}.qb-course-tab{border-radius:var(--radius-sm);min-height:34px;color:var(--text-secondary);background:0 0;border:1px solid #0000;flex:none;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:750;display:inline-flex}.qb-course-tab:hover{border-color:var(--border);background:var(--bg-secondary);color:var(--text-primary)}.qb-course-tab.is-active{border-color:var(--border-selected);background:var(--bg-selected);color:var(--text-selected)}.qb-course-tab__count{background:var(--bg-primary);min-width:20px;height:20px;color:inherit;border-radius:999px;place-items:center;padding:0 6px;font-size:10.5px;display:inline-grid}.qb-course-tab-panel{min-width:0}.qb-tab-stack{gap:14px;display:grid}.qb-tab-intro{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);gap:4px;padding:14px 16px;display:grid}.qb-tab-intro h2,.qb-overview-hero h2{margin:0;font-size:16px}.qb-tab-intro p,.qb-overview-hero p{max-width:760px;color:var(--text-secondary);margin:0;font-size:12px;line-height:1.45}.qb-overview-hero{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.qb-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.qb-overview-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);gap:10px;padding:14px;display:grid}.qb-overview-panel__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.qb-overview-panel__head h3{align-items:center;gap:7px;margin:0;font-size:14px;display:inline-flex}.qb-overview-panel__description{color:var(--text-secondary);margin:-2px 0 2px;font-size:12px;line-height:1.45}.qb-action-list{gap:8px;display:grid}.qb-action-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);gap:8px;padding:10px;display:grid}.qb-action-row strong,.qb-action-row span,.qb-action-row small,.qb-action-row em{display:block}.qb-action-row strong{font-size:13px}.qb-action-row span,.qb-action-row small,.qb-action-row em{color:var(--text-secondary);font-size:11.5px;line-height:1.35}.qb-action-row em{color:var(--text-muted);font-style:normal}.qb-action-row--warn{border-color:color-mix(in srgb, var(--text-warn) 24%, var(--border))}.qb-action-row--danger{border-color:color-mix(in srgb, var(--text-danger) 28%, var(--border))}.qb-bulk-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);gap:10px;margin-bottom:14px;padding:12px;display:grid}.qb-bulk-panel__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.qb-bulk-panel__head h3{margin:0 0 3px;font-size:13px}.qb-bulk-panel__head p,.qb-bulk-panel__head span{color:var(--text-secondary);margin:0;font-size:12px}.qb-bulk-panel__head p{gap:8px;display:inline-flex}.qb-bulk-panel__quick{flex-wrap:wrap;gap:8px;display:flex}.qb-import-generate-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:start;gap:14px;display:grid}.qb-gap-panel,.qb-run-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);gap:14px;margin-bottom:16px;padding:16px;display:grid}.qb-run-list{gap:8px;display:grid}.qb-qbe-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);gap:12px;padding:14px;display:grid}.qb-qbe-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.qb-qbe-card__top h3{margin:0 0 4px;font-size:14px;line-height:1.3}.qb-qbe-card__top p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.4}.qb-qbe-card__facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.qb-qbe-card__facts div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);min-width:0;padding:8px 9px}.qb-qbe-card__facts dt{color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase;margin:0 0 3px;font-size:10px;font-weight:800}.qb-qbe-card__facts dd{color:var(--text-primary);margin:0;font-size:12px;font-weight:750;line-height:1.3}.qb-qbe-card__foot{flex-wrap:wrap;gap:6px;display:flex}.qb-qbe-card__foot span{background:var(--bg-primary);min-height:22px;color:var(--text-secondary);border-radius:999px;align-items:center;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.qb-qbe-card__actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-top:10px;display:flex}.qb-run-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);gap:10px;padding:13px;display:grid}.qb-run-row--danger{border-color:color-mix(in srgb, var(--text-danger) 30%, var(--border))}.qb-run-row--warn{border-color:color-mix(in srgb, var(--text-warn) 28%, var(--border))}.qb-run-row--ok{border-color:color-mix(in srgb, var(--text-ok) 24%, var(--border))}.qb-run-row__main{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.qb-run-row h3{margin:0 0 3px;font-size:13.5px}.qb-run-row p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.35}.qb-run-progress{background:var(--bg-primary);border:1px solid var(--border);border-radius:999px;height:7px;overflow:hidden}.qb-run-progress span{border-radius:inherit;background:var(--accent);min-width:4px;height:100%;display:block}.qb-run-kpis{grid-template-columns:repeat(7,minmax(82px,1fr));gap:7px;display:grid}.qb-run-kpis--compact{grid-template-columns:repeat(5,minmax(88px,1fr))}.qb-run-kpi{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);min-height:44px;padding:8px 9px}.qb-run-kpi span{color:var(--text-secondary);text-transform:uppercase;margin-bottom:3px;font-size:10.5px;font-weight:750;display:block}.qb-run-kpi strong{color:var(--text-primary);font-size:13px}.qb-run-kpi--ok strong{color:var(--text-ok)}.qb-run-kpi--warn strong{color:var(--text-warn)}.qb-run-kpi--danger strong{color:var(--text-danger)}.qb-external-job-meta{flex-wrap:wrap;gap:6px;display:flex}.qb-external-job-meta span{overflow-wrap:anywhere;background:var(--bg-primary);min-width:0;color:var(--text-secondary);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700}.qb-external-job-failure{border-left:3px solid var(--text-danger);padding-left:9px}.qb-run-stages{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.qb-run-stage{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);grid-template-columns:auto 1fr;align-items:flex-start;gap:7px;padding:8px;display:grid}.qb-run-stage svg{color:var(--text-secondary);margin-top:1px}.qb-run-stage strong{margin-bottom:2px;font-size:11.5px;display:block}.qb-run-stage span{color:var(--text-secondary);font-size:11px;line-height:1.3}.qb-run-stage--ok svg,.qb-run-stage--ok strong{color:var(--text-ok)}.qb-run-stage--warn svg,.qb-run-stage--warn strong{color:var(--text-warn)}.qb-run-stage--danger svg,.qb-run-stage--danger strong{color:var(--text-danger)}.qb-run-issues{gap:6px;display:grid}.qb-run-issues--empty{color:var(--text-secondary);font-size:12px}.qb-run-issue{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);grid-template-columns:auto 1fr;gap:7px;padding:8px;display:grid}.qb-run-issue svg{margin-top:1px}.qb-run-issue strong{margin-bottom:2px;font-size:11.5px;display:block}.qb-run-issue span{color:var(--text-secondary);font-size:11.5px;line-height:1.35}.qb-run-issue--warn svg,.qb-run-issue--warn strong{color:var(--text-warn)}.qb-run-issue--danger svg,.qb-run-issue--danger strong{color:var(--text-danger)}.qb-run-items{flex-wrap:wrap;gap:6px;display:flex}.qb-run-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding-top:10px;display:flex}.qb-run-actions .button{gap:6px}.qb-run-actions .feedback{margin:0;padding:6px 8px;font-size:11.5px}.qb-run-item{border:1px solid var(--border);background:var(--bg-primary);min-height:24px;color:var(--text-secondary);font-family:var(--font-mono,ui-monospace, monospace);border-radius:999px;align-items:center;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.qb-run-item--ok{background:var(--bg-ok);color:var(--text-ok);border-color:#0000}.qb-run-item--warn{background:var(--bg-warn);color:var(--text-warn);border-color:#0000}.qb-run-item--danger{background:var(--bg-danger);color:var(--text-danger);border-color:#0000}.qb-run-item--muted{background:var(--bg-primary);color:var(--text-secondary)}.qb-gap-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.qb-gap-head h2{align-items:center;gap:7px;margin:0 0 4px;font-size:15px;display:inline-flex}.qb-gap-head p{max-width:760px;color:var(--text-secondary);margin:0;font-size:12px;line-height:1.45}.qb-gap-stats{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;display:grid}.qb-gap-list{gap:8px;display:grid}.qb-gap-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);grid-template-columns:minmax(260px,1fr) minmax(140px,180px);gap:10px 14px;padding:13px;display:grid}.qb-gap-row--healthy{background:var(--bg-ok)}.qb-gap-row--empty{border-color:var(--text-warn)}.qb-gap-row__main{gap:8px;display:grid}.qb-gap-row__title{gap:9px;min-width:0;display:flex}.qb-gap-row__title svg{color:var(--text-secondary);flex:none;margin-top:2px}.qb-gap-row--healthy .qb-gap-row__title svg{color:var(--text-ok)}.qb-gap-row--empty .qb-gap-row__title svg,.qb-gap-row--needs_questions .qb-gap-row__title svg,.qb-gap-row--needs_metadata .qb-gap-row__title svg{color:var(--text-warn)}.qb-gap-row__title h3{margin:0 0 3px;font-size:13.5px}.qb-gap-row__title p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.35}.qb-gap-progress{color:var(--text-secondary);text-align:right;align-content:start;gap:7px;font-size:12px;font-weight:800;display:grid}.qb-gap-bar{background:var(--border);border-radius:999px;height:7px;overflow:hidden}.qb-gap-bar i{border-radius:inherit;background:var(--text-info);height:100%;display:block}.qb-gap-row--healthy .qb-gap-bar i{background:var(--text-ok)}.qb-gap-difficulty,.qb-gap-missing{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.qb-gap-difficulty{color:var(--text-secondary);grid-column:1/-1;font-size:11px}.qb-gap-difficulty span{background:var(--bg-primary);border-radius:5px;padding:3px 6px}.qb-gap-missing{grid-column:1/-1}.qb-gap-row__footer{border-top:1px dashed var(--border);grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;display:flex}.qb-gap-row__footer p{margin:0;font-size:12px;line-height:1.4}.qb-course-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:14px;display:grid}.qb-course-main,.qb-aside-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);padding:16px}.qb-course-side{gap:12px;display:grid;position:sticky;top:16px}.qb-aside-panel h2,.qb-section-head h2{align-items:center;gap:7px;margin:0 0 4px;font-size:15px;display:inline-flex}.qb-aside-panel>p,.qb-section-head p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.45}.qb-section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.qb-count-pill{background:var(--bg-info);min-width:22px;height:22px;color:var(--text-info);border-radius:999px;place-items:center;padding:0 7px;font-size:11px;display:inline-grid}.qb-count-muted{color:var(--text-secondary);margin-left:6px;font-size:12px}.qb-filter-bar{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);gap:10px;margin-bottom:14px;padding:12px;display:grid}.qb-filter-bar__search{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);align-items:center;gap:8px;min-height:36px;padding:0 12px;display:flex}.qb-filter-bar__search input{background:0 0;border:0;outline:0;flex:1;min-width:0}.qb-filter-bar__selects{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.qb-gap-filter-bar{margin-bottom:0}.qb-gap-filter-field{gap:4px;display:grid}.qb-gap-filter-field span{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:10.5px;font-weight:800}.qb-gap-filter-bar__meta{min-height:28px;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.qb-filter-bar__selects select,.qb-select,.qb-input,.qb-textarea,.question-bank-form input,.question-bank-form select,.question-bank-form textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);width:100%;color:var(--text-primary)}.qb-filter-bar__selects select,.qb-select,.question-bank-form input,.question-bank-form select{min-height:34px;padding:0 10px}.qb-gap-more{border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);text-align:center;padding:10px 12px;font-size:12px}.qb-row-list{gap:8px;display:grid}.qb-row-shell{border-radius:var(--radius-md);border:1px solid #0000;grid-template-columns:36px minmax(0,1fr);align-items:stretch;display:grid}.qb-row-shell.is-selected{border-color:var(--border-selected);background:var(--bg-selected);color:var(--text-selected)}.qb-row-select{place-items:start center;padding-top:16px;display:grid}.qb-row-select input{width:16px;height:16px;accent-color:var(--text-primary)}.qb-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);text-align:left;cursor:pointer;gap:8px;width:100%;padding:14px 16px;display:grid}.qb-row__lead,.qb-row__signals{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qb-row__id{background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--font-mono,ui-monospace, monospace);border-radius:4px;padding:2px 7px;font-size:11px}.qb-row__type{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.qb-row__prompt{-webkit-line-clamp:2;color:var(--text-primary);-webkit-box-orient:vertical;margin:0;font-size:13.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.qb-row__meta{color:var(--text-secondary);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.qb-row__meta-item{flex-direction:column;gap:1px;display:flex}.qb-row__meta-item--right{text-align:right;margin-left:auto}.qb-row__meta-label{color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.qb-row__signals{border-top:1px dashed var(--border);padding-top:8px}.qb-row__state,.qb-row__health{background:var(--bg-secondary);height:22px;color:var(--text-secondary);border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.qb-row__state--on,.qb-row__health--ok{background:var(--bg-ok);color:var(--text-ok)}.qb-row__health--warn{background:var(--bg-warn);color:var(--text-warn)}.qb-row__health--danger{background:var(--bg-danger);color:var(--text-danger)}.qb-empty{border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);text-align:center;place-items:center;gap:6px;padding:36px 18px;display:grid}.qb-empty span{color:var(--text-secondary);font-size:12px}.qb-empty--large{padding:60px 24px}.qb-empty--compact{padding:16px 12px}.qb-btn{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);min-height:34px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-weight:700;display:inline-flex}.qb-btn--primary{border-color:var(--text-primary);background:var(--text-primary);color:var(--bg-primary)}.qb-btn--ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.qb-btn--ghost-danger{color:var(--text-danger);background:0 0;border-color:#0000}.qb-btn--danger{border-color:var(--text-danger);background:var(--text-danger);color:#fff}.qb-btn--wide{width:100%;text-decoration:none}.qb-btn--small{min-height:28px;padding:0 9px;font-size:12px}.qb-btn.is-disabled{pointer-events:none;opacity:.55}.qb-btn:disabled{cursor:not-allowed;opacity:.55}.qb-spinner{animation:.8s linear infinite qb-spin}@keyframes qb-spin{to{transform:rotate(360deg)}}.qb-governance-panel{gap:12px;display:grid}.qb-selection-strip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);gap:6px;padding:10px;display:grid}.qb-selection-strip>span{color:var(--text-secondary);font-size:12px}.qb-selection-strip__actions,.qb-import-box__actions{flex-wrap:wrap;gap:6px;display:flex}.qb-bulk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.qb-import-box{border-top:1px solid var(--border);gap:8px;padding-top:12px;display:grid}.qb-import-box__heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.qb-import-box__heading strong{margin-bottom:3px;font-size:13px;display:block}.qb-import-box__heading p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.45}.qb-import-box__links{flex-wrap:wrap;gap:6px;display:flex}.qb-import-box__file-input{display:none}.qb-import-box label{gap:6px;display:grid}.qb-import-box label span{color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.qb-import-box textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);width:100%;color:var(--text-primary);font-family:var(--font-mono,ui-monospace, monospace);resize:vertical;padding:9px 10px;font-size:12px;line-height:1.45}.qb-governance-message{color:var(--text-secondary);align-items:center;gap:6px;margin:0;font-size:12px;line-height:1.45;display:inline-flex}.qb-governance-message--ok{color:var(--text-ok)}.qb-governance-message--error{color:var(--text-danger)}.qb-modal-backdrop{z-index:90;background:#0f1a2480;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.qb-modal{border:1px solid var(--border);background:var(--bg-primary);border-radius:14px;flex-direction:column;width:min(980px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 64px #0f1a2438}.qb-modal__head,.qb-modal__foot{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.qb-modal__foot{border-top:1px solid var(--border);border-bottom:0}.qb-modal__crumb{min-width:0;color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.qb-modal__crumb code{background:var(--bg-secondary);border-radius:4px;padding:2px 7px}.qb-modal__close{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.qb-modal__body{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);min-height:0;display:grid;overflow:hidden}.qb-modal__main,.qb-modal__side{padding:18px 20px;overflow-y:auto}.qb-modal__main{border-right:1px solid var(--border)}.qb-modal__side{background:var(--bg-secondary);flex-direction:column;gap:16px;display:flex}.qb-modal__loading{color:var(--text-secondary);place-items:center;gap:8px;padding:56px 24px;display:grid}.qb-modal__loading--error,.qb-foot-error{color:var(--text-danger)}.qb-section-label,.qb-side-group__label,.question-bank-form label span{color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:5px;margin:18px 0 6px;font-size:10px;font-weight:800;display:flex}.qb-section-label:first-child{margin-top:0}.qb-meta{color:var(--text-secondary);margin:0;font-size:12px}.qb-textarea,.qb-input{resize:vertical;padding:10px 12px;font-size:13.5px;line-height:1.5}.qb-textarea--prompt{font-size:14.5px}.qb-input--inline{width:auto;min-height:28px;padding:0 10px}.qb-code{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);font-family:var(--font-mono,ui-monospace, monospace);margin:0;padding:12px 14px;font-size:12.5px;line-height:1.55;overflow-x:auto}.qb-code--json{font-size:11.5px}.qb-choices{gap:6px;margin:0;padding:0;list-style:none;display:grid}.qb-choices__item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);align-items:center;gap:10px;padding:9px 12px;display:flex}.qb-choices__item.is-correct{border-color:var(--text-ok);background:var(--bg-ok);color:var(--text-ok);font-weight:700}.qb-choices__letter{width:16px;color:var(--text-tertiary);font-family:var(--font-mono,ui-monospace, monospace);font-weight:800}.qb-choices__label{flex:1}.qb-media{gap:8px;display:grid}.qb-media__item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);gap:3px;padding:10px;text-decoration:none;display:grid}.qb-media__item span{overflow-wrap:anywhere;color:var(--text-secondary);font-size:12px}.qb-side-group{gap:6px;display:grid}.qb-side-group__label{margin:0}.qb-side-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.qb-side-card small,.qb-side-card__body,.qb-lineage small,.qb-timestamps{color:var(--text-secondary);font-size:11.5px}.qb-qbe-trace{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);gap:8px;padding:10px 12px;display:grid}.qb-qbe-trace__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.qb-qbe-trace__head>div{gap:2px;display:grid}.qb-qbe-trace__head small{color:var(--text-secondary);font-size:11.5px;font-weight:700}.qb-qbe-trace dl{grid-template-columns:minmax(70px,auto) minmax(0,1fr);gap:4px 8px;margin:0;font-size:11.5px;display:grid}.qb-qbe-trace dt{color:var(--text-secondary)}.qb-qbe-trace dd{overflow-wrap:anywhere;margin:0}.qb-qbe-trace__check{color:var(--text-secondary);margin:0;font-size:11.5px}.qb-qbe-trace__summary{color:var(--text-secondary);margin:0;font-size:11.5px;line-height:1.35}.qb-health-row{justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.qb-health-row__value{align-items:center;gap:4px;font-weight:700;display:inline-flex}.qb-health-row__value--ok{color:var(--text-ok)}.qb-health-row__value--warn{color:var(--text-warn)}.qb-health-row__value--danger{color:var(--text-danger)}.qb-stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.qb-stat-pill{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);gap:1px;padding:7px 9px;display:grid}.qb-stat-pill small{color:var(--text-secondary);font-size:10px}.qb-stat-pill--warn strong{color:var(--text-warn)}.qb-difficulty{align-items:center;gap:8px;display:flex}.qb-tag-editor{gap:8px;display:grid}.qb-tag-list{flex-wrap:wrap;gap:5px;display:flex}.qb-tag{background:var(--bg-primary);border-radius:999px;align-items:center;gap:4px;padding:4px 7px;display:inline-flex}.qb-tag button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.qb-switch{background:var(--border-strong);cursor:pointer;border:0;border-radius:999px;align-items:center;width:42px;height:24px;padding:3px;display:inline-flex}.qb-switch.is-on{background:var(--text-ok)}.qb-switch__thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .14s}.qb-switch.is-on .qb-switch__thumb{transform:translate(18px)}.qb-archive-confirm,.qb-modal__foot-right{align-items:center;gap:8px;margin-left:auto;display:flex}.question-bank-form{gap:10px;display:grid}.question-bank-form label{gap:5px;display:grid}.question-bank-form label span{margin:0}.question-bank-form label small{color:var(--text-secondary);font-size:11px;line-height:1.4}.question-bank-form textarea{resize:vertical;min-height:80px;padding:8px 10px}.question-bank-form__split{grid-template-columns:minmax(0,1fr) 86px;gap:8px;display:grid}.question-bank-form__split--wide{grid-template-columns:minmax(0,1fr) 104px}.question-bank-form__variant-total{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);align-content:end;gap:3px;padding:8px 10px;display:grid}.question-bank-form__variant-total span,.question-bank-form__variant-total small{color:var(--text-secondary);font-size:11px}.question-bank-form__variant-total strong{color:var(--text-primary);font-size:22px;line-height:1}.question-bank-form__distribution{border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;padding:10px;display:grid}.question-bank-form__distribution legend{color:var(--text-secondary);padding:0 4px;font-size:12px;font-weight:700}.question-bank-form__distribution label{gap:4px}.question-bank-form__distribution input{min-width:0}.question-bank-form__distribution small{color:var(--text-secondary);grid-column:1/-1;font-size:11px;line-height:1.4}.question-bank-form__actions{gap:8px;display:grid}@media (max-width:1100px){.qb-course-layout,.qb-course-health,.qb-overview-grid,.qb-import-generate-grid,.qb-qbe-card__facts,.qb-gap-row,.qb-modal__body{grid-template-columns:minmax(0,1fr)}.qb-course-side{position:static}.qb-modal__main{border-right:0;border-bottom:1px solid var(--border)}.qb-run-kpis,.qb-run-stages{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.qb-card-grid{grid-template-columns:minmax(0,1fr)}.qb-modal-backdrop{padding:8px}.qb-modal{max-height:calc(100vh - 16px)}.qb-modal__foot,.qb-archive-confirm,.qb-modal__foot-right{flex-wrap:wrap}.qb-run-row__main{display:grid}.qb-run-kpis,.qb-run-stages{grid-template-columns:minmax(0,1fr)}}
