/* The assistant workbench is scoped to its own offcanvas and never styles documents. */
#assistantHelpPanel.assistant-workspace {
  --workspace-accent: var(--bs-primary, #344c8c);
  --workspace-muted: var(--bs-secondary-color, #687386);
  --workspace-line: var(--bs-border-color, #dee2e6);
  --workspace-surface: var(--bs-tertiary-bg, #f5f7fa);
  --bs-offcanvas-width: min(660px, 100vw);
  width: min(660px, 100vw); max-width: 100vw; background: var(--bs-body-bg, #fff);
  box-shadow: -12px 0 48px rgba(20, 33, 56, .1);
}
#assistantHelpPanel.assistant-workspace-expanded { --bs-offcanvas-width: min(1120px, 100vw); width: min(1120px, 100vw); }
.assistant-workspace-header { padding: 17px 20px; border-bottom: 1px solid var(--workspace-line); flex: 0 0 auto; gap: 8px; }
.assistant-workspace-brand { display: flex; align-items: center; gap: 11px; min-width: 0; }
.assistant-workspace-brand-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: var(--workspace-accent); color: #fff; font-size: 1.2rem; flex: 0 0 auto; }
.assistant-workspace-brand h5 { font-weight: 700; font-size: 1rem; margin: 0 0 3px; }
.assistant-workspace-brand p { margin: 0; font-size: .72rem; color: var(--workspace-muted); }
.assistant-workspace-header-button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; color: var(--workspace-muted); min-width: 32px; min-height: 32px; white-space: nowrap; }
.assistant-workspace-header-button:hover { background: var(--workspace-surface); color: var(--workspace-accent); }
.assistant-workspace-body { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.assistant-workspace-context { padding: 13px 20px 11px; border-bottom: 1px solid var(--workspace-line); background: var(--workspace-surface); flex: 0 0 auto; max-height: 36vh; overflow: auto; }
.assistant-workspace-context-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: .73rem; }
.assistant-workspace-eyebrow { color: var(--workspace-muted); font-weight: 600; font-size: .7rem; letter-spacing: .025em; }
.assistant-workspace-page { display: flex; align-items: center; gap: 7px; margin: 5px 0; font-weight: 650; font-size: .86rem; }
.assistant-workspace-page > i { color: var(--workspace-accent); }
.assistant-workspace-context-summary { font-size: .75rem; color: var(--workspace-muted); margin: 0 0 10px; }
.assistant-workspace-context .assistant-help-chip-list { display: flex; gap: 6px; flex-wrap: wrap; }
.assistant-workspace-context .assistant-help-chip { border: 1px solid var(--workspace-line); background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #263247); font-weight: 400; font-size: .75rem; padding: 6px 9px; border-radius: 7px; text-align: left; line-height: 1.4; }
.assistant-workspace-context .assistant-help-chip:hover { border-color: var(--workspace-accent); color: var(--workspace-accent); }
.assistant-workspace-context .assistant-help-chip:disabled { opacity: .55; cursor: default; }
.assistant-workspace-context-details { display: flex; gap: 10px 20px; flex-wrap: wrap; margin-top: 10px; }
.assistant-workspace-context details { font-size: .73rem; min-width: 0; }
.assistant-workspace-context details[open] { flex-basis: 100%; }
.assistant-workspace-context details > summary { cursor: pointer; color: var(--workspace-muted); }
.assistant-workspace-count { font-size: .68rem; background: var(--bs-body-bg, #fff); padding: 0 5px; border-radius: 5px; margin-left: 3px; }
.assistant-workspace-recent-list { display: grid; gap: 5px; margin-top: 9px; }
.assistant-workspace-recent-button { display: flex; flex-direction: column; gap: 3px; border: 1px solid transparent; border-radius: 7px; padding: 8px 9px; text-align: left; background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #263247); min-width: 0; width: 100%; }
.assistant-workspace-recent-button:hover, .assistant-workspace-recent-button[aria-current="true"] { border-color: var(--workspace-accent); }
.assistant-workspace-recent-button:disabled { opacity: .55; }
.assistant-workspace-recent-title { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; font-size: .77rem; }
.assistant-workspace-recent-meta { display: flex; justify-content: space-between; gap: 8px; color: var(--workspace-muted); font-size: .68rem; }
.assistant-workspace-retention { font-size: .68rem; color: var(--workspace-muted); margin: 8px 0 0; }
.assistant-workspace-main { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; min-height: 0; }
.assistant-workspace-activity { padding: 10px 20px; border-bottom: 1px solid var(--workspace-line); background: var(--bs-body-bg, #fff); flex: 0 0 auto; }
.assistant-workspace-activity-line { display: flex; justify-content: space-between; gap: 10px; font-size: .77rem; font-weight: 600; margin-bottom: 7px; }
.assistant-workspace-activity-line .small { font-weight: 400; color: var(--workspace-muted); white-space: nowrap; }
.assistant-workspace-progress { background: var(--workspace-surface); overflow: hidden; border-radius: 8px; height: 4px; }
.assistant-workspace-progress > span { display: block; background: var(--workspace-accent); height: 100%; width: 0; transition: width .2s; }
.assistant-workspace-scroll { flex: 1 1 auto; overflow-y: auto; overflow-x: hidden; padding: 20px; min-height: 100px; overscroll-behavior: contain; scroll-behavior: smooth; }
.assistant-workspace #assistantHelpResult { margin: 0; padding: 0; border: 0; background: transparent; min-height: 0; }
.assistant-workspace-empty { text-align: center; margin: auto; padding: 24px 10px; max-width: 440px; color: var(--workspace-muted); }
.assistant-workspace-empty-icon { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 16px; color: var(--workspace-accent); background: var(--workspace-surface); font-size: 1.55rem; margin-bottom: 15px; }
.assistant-workspace-empty h6 { color: var(--bs-body-color, #263247); font-size: 1.05rem; font-weight: 650; margin-bottom: 10px; }
.assistant-workspace-empty p { font-size: .81rem; line-height: 1.7; margin-bottom: 18px; }
.assistant-workspace-capabilities { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 15px; font-size: .71rem; }
.assistant-workspace-capabilities i { margin-right: 5px; color: var(--workspace-accent); }
.assistant-workspace-turn { padding-bottom: 25px; margin-bottom: 24px; border-bottom: 1px solid var(--workspace-line); }
.assistant-workspace-turn:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.assistant-workspace-question { padding: 12px 15px; margin: 0 0 17px 32px; background: var(--workspace-surface); border: 1px solid var(--workspace-line); border-radius: 12px 12px 3px 12px; font-size: .87rem; font-weight: 500; white-space: pre-wrap; overflow-wrap: anywhere; }
.assistant-workspace-answer { font-size: .84rem; line-height: 1.65; overflow-wrap: anywhere; }
.assistant-workspace-answer-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.assistant-workspace-answer-heading > strong { display: flex; align-items: center; gap: 6px; font-size: .78rem; }
.assistant-workspace-answer-heading i { color: var(--workspace-accent); }
.assistant-workspace-status { display: inline-flex; gap: 5px; align-items: center; padding: 2px 7px; border-radius: 5px; background: var(--workspace-surface); color: var(--workspace-muted); font-size: .69rem; font-weight: 500; white-space: nowrap; }
.assistant-workspace-status[data-status="awaiting_approval"], .assistant-workspace-status[data-status="needs_input"] { background: var(--bs-warning-bg-subtle, #fff5dd); color: var(--bs-warning-text-emphasis, #805b13); }
.assistant-workspace-status[data-status="completed"] { background: var(--bs-success-bg-subtle, #eaf6ef); color: var(--bs-success-text-emphasis, #286347); }
.assistant-workspace-status[data-status="inflight"], .assistant-workspace-status[data-status="running"] { background: var(--bs-primary-bg-subtle, #edf2fd); color: var(--workspace-accent); }
.assistant-workspace-status[data-status="failed"], .assistant-workspace-status[data-status="uncertain"] { background: var(--bs-danger-bg-subtle, #fcebec); color: var(--bs-danger-text-emphasis, #842029); }
.assistant-workspace-run-summary { font-size: .82rem; margin: 0 0 12px; }
.assistant-workspace-plan-heading { font-size: .71rem; color: var(--workspace-muted); display: flex; justify-content: space-between; margin-bottom: 6px; }
.assistant-workspace-step { border: 1px solid var(--workspace-line); border-radius: 9px; margin-top: 7px; overflow: hidden; }
.assistant-workspace-step[data-step-status="awaiting_approval"] { border-color: var(--bs-warning-border-subtle, #e4c88a); }
.assistant-workspace-step[data-step-status="inflight"] { border-color: var(--bs-primary-border-subtle, #acc0ed); }
.assistant-workspace-step > summary { list-style: none; padding: 11px 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer; font-weight: 550; font-size: .8rem; }
.assistant-workspace-step > summary::-webkit-details-marker { display: none; }
.assistant-workspace-step-heading { display: flex; align-items: center; gap: 8px; min-width: 0; }
.assistant-workspace-step-number { display: inline-grid; place-items: center; border-radius: 6px; background: var(--workspace-surface); color: var(--workspace-muted); font-size: .7rem; width: 22px; height: 22px; flex: 0 0 auto; }
.assistant-workspace-step-chevron { font-size: .65rem; color: var(--workspace-muted); transition: transform .15s; }
.assistant-workspace-step[open] .assistant-workspace-step-chevron { transform: rotate(180deg); }
.assistant-workspace-step-body { padding: 0 13px 13px; }
.assistant-workspace-step-intent { font-size: .72rem; color: var(--workspace-muted); margin-bottom: 8px; }
.assistant-workspace-prose { white-space: pre-wrap; margin-bottom: 12px; }
.assistant-workspace-result-section { margin: 12px 0; }
.assistant-workspace-result-heading { font-size: .72rem; font-weight: 650; color: var(--workspace-muted); margin-bottom: 8px; }
.assistant-workspace-kv { display: grid; grid-template-columns: minmax(85px, 1fr) minmax(0, 3fr); gap: 5px 12px; margin: 0; padding: 11px; background: var(--workspace-surface); border-radius: 7px; font-size: .77rem; }
.assistant-workspace-kv dt { font-weight: 500; color: var(--workspace-muted); }
.assistant-workspace-kv dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.assistant-workspace-changes { font-size: .76rem; table-layout: fixed; margin-bottom: 0; }
.assistant-workspace-changes th, .assistant-workspace-changes td { overflow-wrap: anywhere; white-space: normal; vertical-align: top; padding: 8px; }
.assistant-workspace-changes th { font-weight: 550; }
.assistant-workspace-changes td:last-child { background: var(--bs-success-bg-subtle, #eaf6ef); }
.assistant-workspace-approval { padding: 12px; border-radius: 7px; background: var(--bs-warning-bg-subtle, #fff5dd); margin-top: 12px; }
.assistant-workspace-approval-title { display: flex; align-items: center; gap: 6px; font-size: .79rem; font-weight: 650; margin-bottom: 5px; }
.assistant-workspace-approval p { font-size: .75rem; }
.assistant-workspace-approval-buttons { display: flex; gap: 7px; flex-wrap: wrap; }
.assistant-workspace-step-actions { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 10px; }
.assistant-workspace-warning { color: var(--bs-danger-text-emphasis, #842029); }
.assistant-workspace-error { padding: 10px 12px; background: var(--bs-danger-bg-subtle, #fcebec); border-radius: 7px; }
.assistant-workspace-item { padding: 9px 0; border-bottom: 1px solid var(--workspace-line); }
.assistant-workspace-link { display: inline-block; margin-right: 6px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.assistant-workspace-evidence { margin-top: 12px; padding-top: 9px; border-top: 1px dashed var(--workspace-line); }
.assistant-workspace-evidence > summary { font-size: .74rem; font-weight: 550; cursor: pointer; color: var(--workspace-muted); }
.assistant-workspace-evidence-item { padding: 7px 0 0; font-size: .73rem; }
.assistant-workspace-evidence-item p { margin: 3px 0 0; color: var(--workspace-muted); white-space: pre-wrap; }
.assistant-workspace-missing { background: var(--bs-warning-bg-subtle, #fff5dd); border-radius: 7px; padding: 10px; margin-top: 10px; font-size: .77rem; }
.assistant-workspace-composer { padding: 11px 20px max(14px, env(safe-area-inset-bottom)); flex: 0 0 auto; background: var(--bs-body-bg, #fff); border-top: 1px solid var(--workspace-line); }
.assistant-workspace-meta { font-size: .73rem; line-height: 1.5; color: var(--workspace-muted); margin-bottom: 8px; max-height: 64px; overflow-y: auto; }
.assistant-workspace-input-box { border: 1px solid var(--workspace-line); border-radius: 10px; background: var(--bs-body-bg, #fff); }
.assistant-workspace-input-box:focus-within { border-color: var(--workspace-accent); box-shadow: 0 0 0 2px var(--bs-primary-bg-subtle, #edf2fd); }
.assistant-workspace-composer textarea.form-control { min-height: 72px; max-height: 140px; height: 72px; resize: vertical; border: 0; box-shadow: none; background: transparent; font-size: .84rem; padding: 11px 12px 5px; }
.assistant-workspace-composer textarea.form-control:disabled { background: var(--workspace-surface); }
.assistant-workspace-composer-controls { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px 8px; flex-wrap: wrap; }
.assistant-workspace-composer-controls .form-select { width: auto; max-width: 155px; font-size: .73rem; border: 0; background-color: var(--workspace-surface); padding-top: 6px; padding-bottom: 6px; }
.assistant-workspace-run-controls { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; margin-left: auto; }
.assistant-workspace-run-controls .btn { font-size: .73rem; min-height: 31px; padding: 5px 8px; display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.assistant-workspace-input-hints { display: flex; justify-content: space-between; gap: 10px; font-size: .66rem; color: var(--workspace-muted); margin-top: 7px; }
.assistant-workspace-pending { display: flex; align-items: center; gap: 8px; color: var(--workspace-muted); font-size: .79rem; padding: 8px 0; }
.assistant-workspace-spinner { width: 13px; height: 13px; border: 2px solid var(--workspace-line); border-top-color: var(--workspace-accent); border-radius: 50%; animation: assistant-workspace-spin 1s linear infinite; display: inline-block; }
.assistant-workspace [hidden] { display: none !important; }
@keyframes assistant-workspace-spin { to { transform: rotate(360deg); } }
@media (min-width: 768px) {
  .assistant-workspace-expanded .assistant-workspace-body { flex-direction: row; }
  .assistant-workspace-expanded .assistant-workspace-context { width: 246px; border-bottom: 0; border-right: 1px solid var(--workspace-line); max-height: none; flex: 0 0 246px; padding: 20px 16px; }
  .assistant-workspace-expanded .assistant-workspace-context-heading { flex-wrap: wrap; }
  .assistant-workspace-expanded .assistant-workspace-page { margin-top: 12px; }
  .assistant-workspace-expanded .assistant-workspace-context-summary { margin: 8px 0 16px; line-height: 1.6; }
  .assistant-workspace-expanded .assistant-help-chip-list { flex-direction: column; }
  .assistant-workspace-expanded .assistant-help-chip { width: 100%; }
  .assistant-workspace-expanded .assistant-workspace-context-details { display: block; margin-top: 24px; }
  .assistant-workspace-expanded .assistant-workspace-context details { margin-top: 20px; }
  .assistant-workspace-expanded .assistant-workspace-scroll { padding: 25px 30px; }
  .assistant-workspace-expanded .assistant-workspace-empty { padding-top: 60px; }
}
@media (max-width: 575.98px) {
  .assistant-workspace-header { padding: 12px; }
  .assistant-workspace-brand { gap: 8px; }
  .assistant-workspace-brand-icon { width: 32px; height: 32px; border-radius: 10px; }
  .assistant-workspace-brand p { font-size: .64rem; }
  .assistant-workspace-header-button { font-size: .74rem; }
  .assistant-workspace-context, .assistant-workspace-scroll, .assistant-workspace-composer, .assistant-workspace-activity { padding-left: 12px; padding-right: 12px; }
  .assistant-workspace-context { max-height: 29vh; }
  .assistant-workspace-context-summary { display: none; }
  .assistant-workspace-context .assistant-help-chip-list { flex-wrap: nowrap; overflow-x: auto; padding: 2px 0; }
  .assistant-workspace-context .assistant-help-chip { flex: 0 0 auto; max-width: 260px; }
  .assistant-workspace-kv { grid-template-columns: minmax(65px, 1fr) minmax(0, 2fr); gap: 5px 8px; }
  .assistant-workspace-question { margin-left: 20px; }
  .assistant-workspace-empty { padding: 10px 5px; }
  .assistant-workspace-empty-icon { width: 38px; height: 38px; font-size: 1.2rem; margin-bottom: 10px; }
  .assistant-workspace-empty h6 { font-size: .93rem; }
  .assistant-workspace-empty p { font-size: .76rem; margin-bottom: 12px; }
  .assistant-workspace-capabilities { font-size: .64rem; gap: 8px; }
  .assistant-workspace-composer-controls { gap: 5px; }
  .assistant-workspace-composer-controls .form-select { max-width: 126px; font-size: .68rem; }
  .assistant-workspace-step > summary { padding: 10px; gap: 6px; }
}
@media (max-height: 650px) { .assistant-workspace-context { max-height: 24vh; } .assistant-workspace-empty { padding: 8px; } .assistant-workspace-composer textarea.form-control { min-height: 56px; height: 56px; } }
@media (prefers-reduced-motion: reduce) { .assistant-workspace *, .assistant-workspace *::before { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
/* Applied briefly only after the user chooses a guided target; never clicks it. */
.assistant-help-highlight { outline: 3px solid var(--bs-primary, #344c8c); outline-offset: 4px; }
@media print { #assistantHelpPanel.assistant-workspace { display: none !important; } .assistant-help-highlight { outline: none !important; } }
