/* Independent one-screen five-stage AI production pathway. */
.q-ai-unified-overview{margin:16px 0;min-width:0}
.q-ai-stage-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0 14px}
.q-ai-stage-item{padding:11px 8px;border:1px solid #cddae8;border-radius:9px;background:#f9fbfe;font-size:13px;min-width:0;overflow-wrap:anywhere;color:#40546b}
.q-ai-stage-item strong{display:block;margin-bottom:5px;font-size:13px}
.q-ai-stage-item[data-stage-status=active]{border-color:#4478af;background:#eaf3ff;color:#133e66}
.q-ai-stage-item[data-stage-status=done]{border-color:#8eadc8;background:#f0f7f3;color:#23513b}
.q-ai-stage-item[data-stage-status=pending]{opacity:.74}
.q-ai-unified-panel{margin:16px 0;border:1px solid #d0ddea;border-radius:9px;padding:14px;min-width:0}
.q-ai-unified-panel h3{margin:0 0 9px;font-size:17px}
.q-ai-unified-panel p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.q-ai-unified-panel textarea{width:100%;box-sizing:border-box;max-width:100%;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}
.q-ai-unified-panel .q-actions{display:flex;gap:9px;flex-wrap:wrap}
.q-ai-unified-panel [hidden]{display:none!important}
.q-ai-unified-decision{margin-top:14px;padding:10px;border:1px solid #b8cbdf;border-radius:8px;min-width:0}
.q-ai-unified-decision legend{padding:0 4px;font-weight:700;font-size:14px}
.q-ai-unified-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.q-ai-unified-decision [aria-pressed=true]{background:#dff0e4}
.q-ai-unified-deleted{border-color:#cc9999!important;background:#fff9f9}
.q-ai-unified-deleted .q-ai-render-preview{opacity:.65}
.q-ai-unified-status{padding:7px 2px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.q-ai-unified-status[data-error='1']{color:#a33}
.q-ai-unified-stage-action{margin:12px 0;display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:820px){.q-ai-stage-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.q-ai-stage-strip{grid-template-columns:minmax(0,1fr)}.q-ai-unified-actions>*{min-width:0;flex:1 1 44%}}

/* Q5-I: per-item local visual E2 candidate, never a registration approval. */
.q-ai-e2-candidate-result{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px;margin:12px 0;max-width:100%;min-width:0}
.q-ai-e2-candidate-result>p,.q-ai-e2-candidate-result>button{grid-column:1/-1}
.q-ai-e2-candidate-figure{margin:0;min-width:0;padding:8px;border:1px solid #ccd8e7;border-radius:8px;background:#fff}
.q-ai-e2-candidate-figure img{width:100%;height:auto;max-height:390px;object-fit:contain;display:block}
.q-ai-e2-candidate-figure figcaption{overflow-wrap:anywhere;font-size:12px;color:#4c5a70;margin-top:5px}
[data-ai-publication-items] li{overflow-wrap:anywhere;min-width:0;margin-bottom:14px}
[data-ai-publication-items] button{max-width:100%;white-space:normal;text-align:left;margin:6px 0}

/* v0.11.01: reference-first grouped review (only this modal). */
.q-ai-review-group-nav{display:flex;gap:7px;overflow-x:auto;padding:11px 1px;scrollbar-width:thin}
.q-ai-review-group-nav[hidden],.q-ai-review-bulk[hidden]{display:none!important}
.q-ai-group-tab{border:1px solid #b8c9da;border-radius:9px;background:#f4f7fb;color:#24435e;padding:10px;flex:0 0 auto;cursor:pointer;font-size:12px}
.q-ai-group-tab[data-group-state=complete]{background:#e0f3e7;border-color:#8abd9c}
.q-ai-group-tab[data-group-state=partial]{background:#fff3df;border-color:#d1b27b}
.q-ai-group-tab[aria-current=page]{outline:2px solid #2668ae;outline-offset:1px;font-weight:750}
.q-ai-group-heading{font-size:17px;margin:9px 0 13px;border-bottom:1px solid #d6e0ee;padding:0 0 10px}
.q-ai-review-bulk{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:13px 0}
.q-ai-review-bulk [data-ai-review-bulk-progress]{flex:1 1 100%;font-size:12px;min-height:17px}
.q-ai-review-pages .q-ai-review-item[data-review-role=reference]{border:2px solid #7b9ec6;background:#edf5ff}
.q-ai-twin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;min-width:0}
.q-ai-review-pages .q-ai-review-item[data-review-role=twin]{min-width:0;padding:12px;border:2px solid #cbd6e2;background:#f3f6fa;transition:background-color .12s,border-color .12s}
.q-ai-review-pages .q-ai-review-item[data-review-role=twin][data-render-state=pending]{background:#fff6e7;border-color:#e8c28a}
.q-ai-review-pages .q-ai-review-item[data-review-role=twin][data-render-state=ready][data-decision=undecided]{background:#eaf4ff;border-color:#9bbfe7}
.q-ai-review-pages .q-ai-review-item[data-review-role=twin][data-decision=approved]{background:#e2f6e9;border-color:#7caf8c}
.q-ai-review-pages .q-ai-review-item[data-review-role=twin][data-decision=deleted]{background:#f4e8eb!important;border-color:#c18e9b!important;opacity:.78}
.q-ai-review-pages .q-ai-review-item[data-review-role=twin][data-render-state=error]:not([data-decision=deleted]){background:#fff0ea;border-color:#e5a397}
.q-ai-review-pages .q-ai-review-item[data-review-role=twin] .q-ai-render-pane{padding:12px}
.q-ai-review-pages .q-ai-review-item[data-review-role=twin] .q-ai-render-columns{grid-template-columns:minmax(0,1fr)}
.q-ai-review-pages .q-ai-review-item[data-review-role=twin] h3{font-size:14px}
@media(max-width:900px){.q-ai-twin-grid{grid-template-columns:minmax(0,1fr)}}

/* Q5-P: in-modal real upload progress; never confuse bytes sent with server acceptance. */
.q-ai-transfer-panel{display:grid;gap:7px;margin:16px 0;padding:14px;border:2px solid #88a7c5;border-radius:10px;background:#f1f6fc}
.q-ai-transfer-panel[hidden]{display:none}
.q-ai-transfer-panel progress{display:block;width:100%;height:15px;accent-color:#3776ba}
.q-ai-transfer-panel p{margin:0;overflow-wrap:anywhere}
.q-ai-transfer-panel[data-transfer-state=done]{background:#e2f6e9;border-color:#6ba47c}
.q-ai-transfer-panel[data-transfer-state=failed]{background:#fff0ea;border-color:#c67465}
/* v0.11.05: in-tab work survives reauthentication performed in a separate tab. */
.q-ai-transfer-panel [hidden]{display:none!important}
.q-ai-transfer-panel [data-ai-transfer-login]{text-decoration:none;white-space:normal;text-align:center}
