/* Static, synthetic scenarios. No external fonts, assets, or runtime CSS. */
.workbench [hidden] { display:none!important; }
.demo-context { border:1px solid #3d5946; border-radius:8px; padding:18px; margin-bottom:18px; background:#121d16; }
.demo-context .graph-label { margin-bottom:14px; }
.demo-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.demo-fields label,.demo-sharing label,.demo-panel>label,.demo-role-selectors label { display:grid; gap:7px; min-width:0; color:#d4e3d7; font-size:.82rem; }
.demo-fields select,.demo-sharing select,.demo-panel select,.team-panel input { width:100%; min-width:0; padding:9px; border:1px solid #65806c; border-radius:5px; background:#0e1713; color:#e5eee7; font:inherit; }
.workbench select:focus-visible,.workbench summary:focus-visible { outline:3px solid #6de1a4; outline-offset:3px; }
.workbench select:disabled { opacity:.65; }
.demo-conversation-list { display:flex; flex-wrap:wrap; gap:9px; margin-top:15px; }
.demo-conversation-list .selected { border-color:#8de9b2; box-shadow:inset 0 0 0 1px #8de9b2; }
.demo-sharing { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin-top:18px; padding-top:16px; border-top:1px solid #3d5946; }
.demo-sharing>label { flex:1 1 270px; }
.demo-sharing>p { flex-basis:100%; margin:0; }
.demo-chat-context { margin:0; padding:9px 13px; color:#afc9b8; border-bottom:1px solid #304437; font-size:.74rem; overflow-wrap:anywhere; }
.demo-request-state { padding:0 12px 13px; font-size:.78rem; color:#d4e3d7; }
.demo-request-state[data-state="uncertain"] { border-left:3px solid #edc66a; }
.demo-request-state[data-state="rejected"] { border-left:3px solid #f4a7a2; }
.demo-request-state[data-state="accepted"] { border-left:3px solid #8de9b2; }
.demo-request-state p { margin:9px 0; }
.demo-request-state code { display:block; margin:7px 0 12px; color:#a9efcb; font-size:.74rem; overflow-wrap:anywhere; }
.composer textarea:disabled { opacity:.75; cursor:not-allowed; }
.demo-review { margin-top:22px; padding-top:18px; border-top:1px solid #4b6754; }
.demo-review h5 { margin:0 0 12px; color:#e5eee7; font-size:1rem; font-weight:600; }
.demo-review>.text-button { margin-top:10px; }
.demo-action-row { display:flex; flex-wrap:wrap; align-items:start; gap:8px; }
.demo-model-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px; }
.demo-panel { padding:20px; border:1px solid #3d5946; border-radius:8px; min-width:0; background:#121d16; }
.demo-panel h4 { margin:0 0 18px; font-size:1rem; line-height:1.5; }
.demo-panel .demo-toggle { display:flex; align-items:start; gap:10px; margin:16px 0; }
.demo-toggle input { flex:0 0 18px; width:18px; height:18px; margin:3px 0 0; accent-color:#6de1a4; }
.demo-role-selectors { display:grid; gap:14px; margin-top:20px; }
.demo-inbox { grid-column:1/-1; }
.demo-empty { margin:15px 0; padding:20px; border:1px dashed #65806c; border-radius:5px; color:#afc9b8; font-size:.85rem; }
.demo-notice { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; padding:14px; margin:12px 0; border:1px solid #486951; border-radius:5px; }
.demo-notice strong { flex-basis:100%; font-size:.85rem; }
.demo-notice p { flex:1 1 290px; min-width:0; overflow-wrap:anywhere; color:#afc9b8; font-size:.75rem; }
.demo-notice span { font-size:.75rem; }
.demo-manifest { overflow-x:auto; padding:20px; border-top:1px solid #486951; color:#d4e3d7; font-size:.82rem; }
.demo-manifest summary { cursor:pointer; color:#b3e3c6; font-size:.9rem; }
.demo-manifest p { margin:16px 0 0; max-width:100ch; }
.demo-manifest table { margin-top:18px; width:100%; border-collapse:collapse; }
.demo-manifest th,.demo-manifest td { padding:10px; text-align:left; vertical-align:top; border:1px solid #486951; }
.demo-manifest th { color:#b3e3c6; }
.workbench .text-button { min-height:36px; }
#archive-person { margin:6px 0 0 5px; }
@media(max-width:820px) {
  .demo-fields,.demo-model-grid { grid-template-columns:1fr; }
  .demo-inbox { grid-column:auto; }
  .demo-context,.demo-panel,.demo-manifest { padding:14px; }
  .demo-sharing { align-items:start; }
  .demo-sharing>label { flex-basis:100%; }
  .demo-manifest table { min-width:650px; }
  #archive-person { margin-left:0; }
}
