/* 实验: sheet list on the left, one sheet on the right. */
.lab-host { flex: 1; min-width: 0; min-height: 0; overflow: hidden; background: var(--surface-subtle, #f7f7f4); }
.lab-host[hidden], .workspace[data-app-view="lab"] .document-workspace, .workspace[data-app-view="lab"] #assistant-panel,
.workspace[data-app-view="lab"] #resize-assistant, .workspace[data-app-view="lab"] #toggle-assistant { display: none !important; }
.lab-page { display: grid; grid-template-columns: minmax(240px, 300px) 1fr; height: 100%; }
@media (max-width: 860px) { .lab-page { grid-template-columns: 1fr; } }
.lab-list { border-right: 1px solid #e3e7dc; padding: 16px 12px; overflow-y: auto; display: flex; flex-direction: column; gap: 6px; background: #fbfcf8; }
.lab-list-head { display: flex; align-items: center; gap: 6px; }
.lab-list-head h2 { margin: 0 auto 0 0; font-size: 18px; }
.lab-filters { display: flex; gap: 4px; flex-wrap: wrap; margin: 4px 0 6px; }
.lab-filters button { border: 1px solid #dfe4d8; background: #fff; border-radius: 999px; padding: 2px 10px; font-size: 12px; cursor: pointer; }
.lab-filters button.active { background: #17261e; color: #fff; border-color: #17261e; }
.lab-row { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; background: #fff; border: 1px solid #e6eadf; border-radius: 9px; padding: 9px 11px; cursor: pointer; }
.lab-row.active { border-color: #17261e; box-shadow: 0 0 0 1px #17261e; }
.lab-status { font-size: 12px; font-weight: 600; color: #5b6b5f; }
.lab-status.draft, .lab-status.awaiting_results { color: #a56b00; } .lab-status.running { color: #2f6f9f; } .lab-status.done { color: #2e7d4f; } .lab-status.failed { color: #b3261e; }
.lab-detail { overflow-y: auto; padding: 22px 28px 60px; display: flex; flex-direction: column; gap: 16px; }
.lab-detail-head h2 { margin: 4px 0 10px; }
.lab-facts { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; margin: 0 0 10px; }
.lab-facts dt { color: #6b776d; } .lab-facts dd { margin: 0; }
.lab-actions { gap: 8px; flex-wrap: wrap; }
.lab-section { background: #fff; border: 1px solid #e3e7dc; border-radius: 12px; padding: 14px 18px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.lab-section h3 { margin: 0; font-size: 15px; }
.lab-markdown { width: 100%; }
.lab-fill label, .lab-form label { display: flex; flex-direction: column; gap: 4px; width: 100%; font-size: 13px; }
.lab-form { display: flex; flex-direction: column; gap: 10px; min-width: min(640px, 88vw); }
.lab-files { margin: 0; padding-left: 18px; }
.lab-empty { padding: 40px; }

/* 假设库: one folded line above the list; opened, its rows look like sheet rows. */
.lab-library { display: flex; flex-direction: column; gap: 6px; }
.lab-library-toggle { justify-content: flex-start; text-align: left; background: transparent; border: 1px dashed #d3dacd; border-radius: 9px; padding: 7px 11px; font-size: 13px; color: #3c4b41; }
.lab-library-toggle.refuted { border-color: #e2b4af; color: #9b4343; }
.lab-status.holding { color: #2e7d4f; } .lab-status.refuted { color: #b3261e; } .lab-status.pending, .lab-status.weak { color: #a56b00; } .lab-status.withdrawn { color: #8a948c; }
.lab-verdict { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; padding: 4px 0; font-size: 13px; }
.lab-verdict.FALSE > span, .lab-verdict.ERR > span { color: #b3261e; }
.lab-verdict.TRUE > span { color: #2e7d4f; }
.lab-verdict button.active { border-color: #17261e; }
.lab-code pre { white-space: pre-wrap; background: #f6f7f3; border-radius: 8px; padding: 10px; overflow-x: auto; }
.lab-prediction { color: #3c4b41; }
.review-tag { display: inline-block; font-size: 11px; font-weight: 600; color: #9b4343; background: #fbeceb; border-radius: 6px; padding: 1px 6px; vertical-align: middle; cursor: help; }
.lab-tested { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
