/* AI Projects extends Sibyla's restrained operational visual language: one continuous workbench,
   explicit state, and context kept beside the transcript instead of hidden in dialogs. */
.ai-brandmark { width: 34px; border-radius: var(--sib-radius-sm); font-size: 11px; letter-spacing: -.02em; }
.ai-page-head, .ai-chat-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sib-sp-4); }
.ai-page-head .btn { flex: 0 0 auto; }
.ai-title-line { display: flex; align-items: center; gap: var(--sib-sp-3); }
.ai-title-line h2 { margin: 0; }
.ai-project-index { display: grid; gap: var(--sib-sp-4); }
.ai-project-row { display: grid; grid-template-columns: minmax(16rem, 1.15fr) auto minmax(15rem, .85fr); gap: var(--sib-sp-5); align-items: start; margin: 0; }
.ai-project-copy p { max-width: 68ch; margin: var(--sib-sp-2) 0; color: var(--sib-text-body); }
.ai-meta { display: flex; gap: var(--sib-sp-3); flex-wrap: wrap; color: var(--sib-muted); font-size: var(--sib-fs-sm); }
.ai-meta span + span::before { content: "·"; margin-right: var(--sib-sp-3); }
.ai-project-action { padding-top: 2px; }
.ai-recent { border-left: 1px solid var(--sib-line); padding-left: var(--sib-sp-4); }
.ai-recent h3 { margin: 0 0 var(--sib-sp-2); font-size: var(--sib-fs-body); }
.ai-session-line { display: flex; justify-content: space-between; gap: var(--sib-sp-3); padding: 6px 0; color: var(--sib-text-body); }
.ai-session-line:hover span { color: var(--sib-brand-dark); }
.ai-muted { color: var(--sib-muted); }
.ai-empty { max-width: 44rem; }
.ai-empty h2 { margin-top: 0; }
.ai-project-facts { display: flex; flex-wrap: wrap; gap: var(--sib-sp-2) var(--sib-sp-5); padding: var(--sib-sp-3) 0 var(--sib-sp-5); color: var(--sib-muted); }
.ai-project-facts strong { color: var(--sib-text-label); margin-right: var(--sib-sp-1); }
.ai-session-list h2 { margin-top: 0; }
.ai-session-list h3 { color: var(--sib-muted); font-size: var(--sib-fs-sm); text-transform: uppercase; letter-spacing: .04em; }
.ai-session-row { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(8rem, .45fr) auto 8rem; gap: var(--sib-sp-3); align-items: center; padding: 10px var(--sib-sp-2); border-top: 1px solid var(--sib-line); color: var(--sib-text-body); }
.ai-session-row:hover { background: var(--sib-brand-tint-bg); text-decoration: none; }
.ai-session-row time { color: var(--sib-muted); text-align: right; font-size: var(--sib-fs-sm); }
.ai-session-title { font-weight: var(--sib-fw-semibold); color: var(--sib-ink); }
.ai-new-session { max-width: 42rem; }
.ai-worktree-origin { display: grid; grid-template-columns: max-content 1fr; gap: 3px var(--sib-sp-3); padding: var(--sib-sp-3) 0 var(--sib-sp-4); margin-bottom: var(--sib-sp-4); border-bottom: 1px solid var(--sib-line); }
.ai-worktree-origin > span { color: var(--sib-muted); font-size: var(--sib-fs-sm); font-weight: var(--sib-fw-semibold); }
.ai-worktree-origin p, .ai-worktree-origin small { grid-column: 1 / -1; margin: var(--sib-sp-1) 0 0; }
.ai-worktree-origin p { color: var(--sib-warning); }
.ai-readonly-fields, .ai-context dl { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: var(--sib-sp-2) var(--sib-sp-3); margin: 0 0 var(--sib-sp-5); }
.ai-readonly-fields dt, .ai-context dt { color: var(--sib-muted); font-size: var(--sib-fs-sm); font-weight: var(--sib-fw-semibold); }
.ai-readonly-fields dd, .ai-context dd { margin: 0; min-width: 0; }
.ai-readonly-fields dd small, .ai-context dd small { display: block; overflow-wrap: anywhere; margin-top: 2px; }
.ai-project-picker { border: 1px solid var(--sib-line); border-radius: var(--sib-radius); padding: var(--sib-sp-3); }
.ai-project-picker legend { color: var(--sib-text-label); font-size: var(--sib-fs-sm); font-weight: var(--sib-fw-semibold); padding: 0 var(--sib-sp-1); }
.ai-check-row { display: grid !important; grid-template-columns: auto 1fr; align-items: start; padding: var(--sib-sp-2); }
.ai-check-row span small { display: block; font-weight: normal; overflow-wrap: anywhere; }
.ai-form-actions { display: flex; gap: var(--sib-sp-2); align-items: center; }
.ai-chat-head { margin-bottom: var(--sib-sp-4); }
.ai-chat-head h1 { margin: var(--sib-sp-1) 0 0; font-size: var(--sib-fs-h2); }
.ai-chat-layout { display: grid; grid-template-columns: minmax(30rem, 1fr) minmax(17rem, 21rem); gap: var(--sib-sp-4); align-items: start; min-width: 0; max-width: 100%; }
.ai-transcript { padding: 0; overflow: hidden; margin: 0; min-width: 0; max-width: 100%; box-sizing: border-box; }
.ai-message-list { min-height: 28rem; max-height: calc(100vh - 22rem); overflow-y: auto; padding: var(--sib-sp-5); display: flex; flex-direction: column; gap: var(--sib-sp-4); }
.ai-chat-empty { margin: auto; max-width: 34rem; text-align: center; color: var(--sib-muted); }
.ai-chat-empty h2 { color: var(--sib-ink); }
.ai-message { max-width: min(46rem, 88%); position: relative; }
.ai-message p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.ai-message time { display: block; color: var(--sib-muted); font-size: var(--sib-fs-xs); margin-top: 4px; }
.ai-message-user { align-self: flex-end; box-sizing: border-box; background: var(--sib-brand-tint-bg); border-radius: var(--sib-radius) var(--sib-radius) 3px var(--sib-radius); padding: var(--sib-sp-3) var(--sib-sp-4); }
.ai-message-user time { text-align: right; }
.ai-message-assistant { align-self: flex-start; }
.ai-message-system { align-self: stretch; max-width: none; padding: var(--sib-sp-3); border: 1px solid var(--sib-warning-border); border-radius: var(--sib-radius); background: var(--sib-warning-bg); color: var(--sib-warning); }
.ai-message-event, .ai-live-event { display: flex; gap: var(--sib-sp-2); align-items: baseline; max-width: 100%; color: var(--sib-muted); }
/* Chat plan stage E: a receipt the host wrote for a submitted file - set apart from both voices. */
.ai-message-receipt { align-self: stretch; max-width: none; padding: var(--sib-sp-3); border: 1px dashed var(--sib-line); border-radius: var(--sib-radius); background: var(--sib-surface-track); }
.ai-message-event code, .ai-live-event code { white-space: pre-wrap; overflow-wrap: anywhere; }
.ai-markdown { line-height: 1.6; overflow-wrap: anywhere; }
.ai-markdown > :first-child { margin-top: 0; }
.ai-markdown > :last-child { margin-bottom: 0; }
.ai-markdown pre { overflow: auto; background: var(--sib-surface-track); padding: var(--sib-sp-3); border-radius: var(--sib-radius-sm); }
.ai-markdown code { font-size: .9em; }
.ai-markdown blockquote { margin-left: 0; padding-left: var(--sib-sp-4); border-left: 1px solid var(--sib-line-strong); color: var(--sib-muted); }
.ai-thinking { background: var(--sib-surface-track); border-radius: var(--sib-radius-sm); padding: var(--sib-sp-2) var(--sib-sp-3); color: var(--sib-muted); font-size: var(--sib-fs-sm); }
.ai-thinking summary { cursor: pointer; font-weight: var(--sib-fw-semibold); }
.ai-thinking p { white-space: pre-wrap; }
.ai-channel-consent { display: flex; flex-wrap: wrap; gap: var(--sib-sp-2) var(--sib-sp-4); min-width: 0; margin-top: var(--sib-sp-3); padding: var(--sib-sp-3); border: 1px solid var(--sib-line); border-radius: var(--sib-radius-sm); }
.ai-channel-consent legend { font-size: var(--sib-fs-sm); font-weight: var(--sib-fw-semibold); }
.ai-channel-consent label { display: flex; align-items: center; gap: var(--sib-sp-2); min-height: 2.75rem; }
.ai-channel-consent input { width: auto; flex: 0 0 auto; }
.ai-channel-consent small { flex-basis: 100%; overflow-wrap: anywhere; }
/* The Apollo page's data-scope picker (chat plan stage C): the popup's three selects beside the composer, its own
   class so the consent fieldset's selectors (and the journeys that locate it) keep meaning one thing. */
.ai-read-scope { display: flex; flex-wrap: wrap; gap: var(--sib-sp-2) var(--sib-sp-4); min-width: 0; margin-top: var(--sib-sp-3); padding: var(--sib-sp-3); border: 1px solid var(--sib-line); border-radius: var(--sib-radius-sm); }
.ai-read-scope legend { font-size: var(--sib-fs-sm); font-weight: var(--sib-fw-semibold); }
.ai-read-scope label { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sib-sp-1); min-width: 9rem; flex: 1 1 9rem; }
.ai-read-scope label span { font-size: var(--sib-fs-sm); color: var(--sib-muted); }
.ai-read-scope select { width: 100%; }
.ai-read-scope small { flex-basis: 100%; overflow-wrap: anywhere; }
.ai-stream-cursor { display: inline-block; width: 7px; height: 1em; background: var(--sib-brand); vertical-align: text-bottom; animation: ai-cursor 1s steps(2, end) infinite; }
@keyframes ai-cursor { 50% { opacity: .2; } }
.ai-composer { border-top: 1px solid var(--sib-line); padding: var(--sib-sp-3); background: var(--sib-surface-tint); min-width: 0; box-sizing: border-box; }
.ai-validation-strip { border-top: 1px solid var(--sib-line); padding: var(--sib-sp-3) var(--sib-sp-4); background: var(--sib-surface-track); }
.ai-validation-summary { display: flex; align-items: center; gap: var(--sib-sp-3); }
.ai-validation-summary > div { display: grid; gap: 2px; }
.ai-validation-summary small { overflow-wrap: anywhere; }
.ai-preview-indicator { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: var(--sib-muted-3); }
.ai-preview-indicator.changed { background: var(--sib-brand); }
.ai-preview-indicator.ready { background: var(--sib-success); }
.ai-preview-indicator.failed { background: var(--sib-danger); }
.ai-preview-indicator.working { background: var(--sib-attention); animation: ai-preview-pulse 1.4s ease-out infinite; }
@keyframes ai-preview-pulse { 50% { box-shadow: 0 2px 8px var(--sib-brand-a22); } }
.ai-validation-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sib-sp-2); margin-top: var(--sib-sp-3); }
.ai-change-list { display: grid; gap: 3px; max-height: 11rem; overflow: auto; margin-top: var(--sib-sp-3); padding: var(--sib-sp-2) 0; border-top: 1px solid var(--sib-line); }
.ai-change-list code { overflow-wrap: anywhere; color: var(--sib-text-body); }
.ai-preview-output { margin-top: var(--sib-sp-3); border-top: 1px solid var(--sib-line); padding-top: var(--sib-sp-2); }
.ai-preview-output summary { cursor: pointer; font-size: var(--sib-fs-sm); font-weight: var(--sib-fw-semibold); color: var(--sib-text-label); }
.ai-preview-output summary.success { color: var(--sib-success); }
.ai-preview-output summary.danger { color: var(--sib-danger); }
.ai-preview-output pre { max-height: 14rem; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; margin: var(--sib-sp-2) 0 0; padding: var(--sib-sp-2); background: var(--sib-surface); border-radius: var(--sib-radius-sm); font-size: var(--sib-fs-xs); }
.ai-composer textarea { width: 100%; min-height: 5rem; resize: vertical; background: var(--sib-surface); }
.ai-composer-actions { display: flex; align-items: center; gap: var(--sib-sp-3); margin-top: var(--sib-sp-2); }
.ai-composer-actions small { margin-right: auto; }
.ai-composer-notice { margin: 0 0 var(--sib-sp-2); color: var(--sib-warning); font-size: var(--sib-fs-sm); }
button.danger { color: var(--sib-danger); border-color: var(--sib-danger-border); }
button.danger:hover { background: var(--sib-danger-bg); }
.ai-context { position: sticky; top: calc(var(--sib-topbar-h) + var(--sib-sp-4)); margin: 0; }
.ai-context h2 { margin-top: 0; text-transform: uppercase; letter-spacing: .04em; font-size: var(--sib-fs-sm); color: var(--sib-muted); }
.ai-context-critical { display: grid; gap: 3px; padding-bottom: var(--sib-sp-4); margin-bottom: var(--sib-sp-4); border-bottom: 1px solid var(--sib-line); }
.ai-context-critical > span { color: var(--sib-muted); font-size: var(--sib-fs-sm); font-weight: var(--sib-fw-semibold); }
.ai-context-add { padding: var(--sib-sp-3) 0; border-top: 1px solid var(--sib-line); }
.ai-context-add > label { display: block; color: var(--sib-text-label); font-size: var(--sib-fs-sm); font-weight: var(--sib-fw-semibold); margin-bottom: 4px; }
.ai-context-add > div { display: flex; gap: var(--sib-sp-1); }
.ai-context-add select { min-width: 0; flex: 1; }
.ai-run-facts { padding-top: var(--sib-sp-4); border-top: 1px solid var(--sib-line); }
.ai-run-facts code { overflow-wrap: anywhere; }
.ai-archive-button { width: 100%; color: var(--sib-danger); }
.ai-archive-confirm { padding: var(--sib-sp-3); background: var(--sib-danger-bg); border: 1px solid var(--sib-danger-border); border-radius: var(--sib-radius); }
.ai-archive-confirm p { margin-top: 0; }
.ai-archive-confirm > div { display: flex; flex-wrap: wrap; gap: var(--sib-sp-2); }
.ai-nav-project summary small { text-transform: none; letter-spacing: normal; font-weight: normal; }
/* Project groups sit inside the AI Projects navigation group (owner, 2026-09-06): indented one step, no
   extra top gap, so the group reads as one block on every page rather than a second menu. */
.sib-sidenav .sib-nav-section > .ai-nav-project { margin-left: var(--sib-sp-3); }
.sib-sidenav .sib-nav-section > .ai-nav-project > summary.sib-nav-group { margin-top: var(--sib-sp-2); }
.sib-sidenav .ai-nav-session span, .sib-sidenav .ai-nav-session small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sib-sidenav .ai-nav-session small { font-size: var(--sib-fs-xs); color: var(--sib-muted); }
.sib-nav-separator { border-top: 1px solid var(--sib-line); margin: var(--sib-sp-4) var(--sib-sp-3); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) { .ai-stream-cursor, .ai-preview-indicator.working { animation: none; } }
.ai-project-admin-form { max-width: 70rem; }
.ai-project-admin-form h3 { margin: var(--sib-sp-5) 0 var(--sib-sp-2); }
.ai-admin-checks { display: flex; flex-wrap: wrap; gap: var(--sib-sp-2) var(--sib-sp-5); }
.ai-admin-checks label { display: inline-flex; align-items: center; gap: var(--sib-sp-2); }
.ai-admin-checks input { width: auto; }
@media (max-width: 1120px) {
  .ai-project-row { grid-template-columns: 1fr auto; }
  .ai-recent { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--sib-line); padding: var(--sib-sp-3) 0 0; }
  .ai-chat-layout { grid-template-columns: 1fr; }
  .ai-context { position: static; }
}
@media (max-width: 720px) {
  .sib-content, .sib-container { width: 100%; max-width: 100vw; min-width: 0; box-sizing: border-box; overflow-x: hidden; }
  /* Owner, 2026-10-10: the bar's right side and the nav strip no longer stretch to the full width on a phone —
     the nav is the burger drawer and the selectors sit inside it (tokens.css); the rules that did so are gone. */
  .sib-sidenav.ai-sidenav .sib-nav-group { margin: var(--sib-sp-1); }
  .sib-sidenav.ai-sidenav .sib-nav-separator { height: 1.5rem; border-top: 0; border-left: 1px solid var(--sib-line); margin: 0 var(--sib-sp-1); }
  .ai-page-head, .ai-chat-head { flex-direction: column; }
  .ai-project-row { grid-template-columns: 1fr; }
  .ai-project-action, .ai-recent { grid-column: auto; }
  .ai-session-row { grid-template-columns: 1fr auto; }
  .ai-session-row > :nth-child(2), .ai-session-row time { grid-column: 1; }
  .ai-session-row .sib-chip { grid-column: 2; grid-row: 1; }
  .ai-chat-layout { display: block; }
  .ai-transcript { margin-bottom: var(--sib-sp-4); }
  .ai-message-list { min-height: 22rem; max-height: none; }
  .ai-message { max-width: 94%; }
  .ai-composer-actions { align-items: flex-end; }
}

/* ---------- Argus chat (docs/argus-chat-261006.md; Share Actual .argus-chat-launcher / .chat-overlay) ----------
   A launcher fixed bottom-right on every Argus page and a right-hand panel over the page. The transcript
   reuses .ai-message / .ai-markdown above. */
.sib-chat-launcher {
  position: fixed; right: 22px; bottom: 22px; z-index: var(--sib-z-drawer);
  display: inline-grid; place-items: center; width: 48px; height: 48px; padding: 0;
  border: 1px solid var(--sib-brand-a28); border-radius: 50%; background: var(--sib-brand); color: #fff;
  box-shadow: var(--sib-shadow-modal); cursor: pointer;
}
.sib-chat-launcher:hover { background: var(--sib-brand-dark); border-color: var(--sib-brand-dark); }
.sib-chat-launcher[hidden], .sib-chat-overlay[hidden], .sib-chat-context[hidden], .sib-chat-starters[hidden] { display: none; }
.sib-chat-launcher svg, .sib-chat-send svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.sib-chat-overlay { position: fixed; inset: 0; z-index: var(--sib-z-modal); display: flex; justify-content: flex-end; background: var(--sib-scrim); }
.sib-chat-panel { width: min(900px, 100%); height: 100%; display: flex; flex-direction: column; background: var(--sib-surface); box-shadow: var(--sib-shadow-modal); }
.sib-chat-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--sib-sp-4); padding: var(--sib-sp-5) var(--sib-sp-5) var(--sib-sp-3); }
.sib-chat-head h2 { margin: 0; }
.sib-chat-head > div:first-child { flex: 1 1 0; min-width: 0; }
.sib-chat-head-actions { display: flex; flex: 0 0 auto; justify-content: flex-end; align-items: center; gap: var(--sib-sp-2); }
.sib-chat-scope { color: var(--sib-muted); font-size: var(--sib-fs-xs); }
/* Share Actual .icon-button + .chat-close-button: the header's close is a 34 px round icon button. */
.sib-chat-close { display: inline-grid; place-items: center; width: 34px; min-width: 34px; height: 34px; min-height: 34px; padding: 0; border-radius: 50%; font-size: 22px; line-height: 1; }
/* Share Actual .chat-attachment / .chat-icon-button: attachments on a row of their own above the composer, 34 px square icon buttons. */
.sib-chat-attachment { display: flex; align-items: center; gap: 9px; min-height: 32px; color: var(--sib-muted); font-size: var(--sib-fs-xs); }
.sib-chat-icon-button {
  display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; flex: 0 0 34px; padding: 0;
  border: 1px solid var(--sib-line); border-radius: 7px; background: var(--sib-surface); color: var(--sib-muted); cursor: pointer;
}
.sib-chat-icon-button:hover { border-color: var(--sib-brand-a28); color: var(--sib-brand-dark); background: var(--sib-brand-tint-bg); }
.sib-chat-icon-button[aria-disabled="true"] { opacity: .5; cursor: default; pointer-events: none; }
.sib-chat-icon-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.sib-chat-context { padding: var(--sib-sp-3) var(--sib-sp-5); border-top: 1px solid var(--sib-line); }
.sib-chat-context h3 { margin: 0 0 var(--sib-sp-3); }
.sib-chat-context-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.4fr); gap: var(--sib-sp-3); align-items: end; }
.sib-chat-context-grid label, .sib-chat-context-note { display: grid; gap: 4px; }
.sib-chat-context-grid label > span, .sib-chat-context-note > span { color: var(--sib-muted); font-size: var(--sib-fs-xs); }
.sib-chat-context-note { padding-left: var(--sib-sp-3); border-left: 1px solid var(--sib-line); }
.sib-chat-note { margin: var(--sib-sp-2) 0 0; color: var(--sib-muted); font-size: var(--sib-fs-xs); }
.sib-chat-starters { display: flex; gap: var(--sib-sp-2); padding: var(--sib-sp-3) var(--sib-sp-5); overflow-x: auto; border-top: 1px solid var(--sib-line); background: var(--sib-surface-track); }
.sib-chat-starters button { flex: 0 0 auto; white-space: nowrap; }
/* column-reverse keeps the newest message in view without a script */
.sib-chat-messages { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column-reverse; overflow-y: auto; padding: var(--sib-sp-5); border-top: 1px solid var(--sib-line); }
.sib-chat-thread { display: flex; flex-direction: column; gap: var(--sib-sp-4); }
.sib-chat-role { margin-bottom: 4px; color: var(--sib-muted); font-size: var(--sib-fs-xs); text-transform: uppercase; }
/* Owner, 2026-10-14: the empty popup shows one line (the AI session page's .ai-chat-empty) and the scope; no cards, no footer. */
.sib-chat-empty { padding: var(--sib-sp-6) 0; }
/* The thread sits at the bottom of the column-reverse list; alone with the empty state it floats to the middle, as on the session page. */
.sib-chat-thread:has(> .sib-chat-empty) { margin: auto 0; }
.sib-chat-empty .sib-chat-empty-title { margin: 0 0 var(--sib-sp-2); color: var(--sib-ink); font-size: var(--sib-fs-section-title); font-weight: var(--sib-fw-semibold); }
.sib-chat-empty p { margin: 0; font-size: var(--sib-fs-sm); }
.sib-chat-compose { display: grid; gap: var(--sib-sp-2); padding: var(--sib-sp-3) var(--sib-sp-5) var(--sib-sp-4); border-top: 1px solid var(--sib-line); }
.sib-chat-session { display: flex; justify-content: space-between; align-items: center; gap: var(--sib-sp-3); color: var(--sib-muted); font-size: var(--sib-fs-xs); }
.sib-chat-session-actions { display: flex; align-items: center; gap: var(--sib-sp-3); flex: 0 0 auto; }
.sib-chat-compose-row { display: flex; gap: var(--sib-sp-2); align-items: flex-end; }
.sib-chat-compose-row textarea { flex: 1 1 auto; min-width: 0; min-height: 52px; resize: vertical; }
.sib-chat-send { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-width: 54px; min-height: 52px; }
/* Chat plan stage E: attach and camera beside the composer, the pending-file card above it, the host's receipts in the thread. */

.sib-chat-pending { display: grid; gap: var(--sib-sp-1); padding: var(--sib-sp-3); border: 1px solid var(--sib-line); border-radius: var(--sib-radius-sm); background: var(--sib-surface-track); }
.sib-chat-pending p { margin: 0; }
.sib-chat-pending small { margin-left: var(--sib-sp-2); color: var(--sib-muted); }
.sib-chat-pending-actions { display: flex; gap: var(--sib-sp-2); margin-top: var(--sib-sp-2); }
.sib-chat-receipt p { margin: 0 0 var(--sib-sp-1); }
.sib-chat-receipt .sib-chip { margin-right: var(--sib-sp-2); }
.sib-chat-receipt-links { font-size: var(--sib-fs-xs); }
.sib-chat-receipt-links:empty { display: none; }
@media (max-width: 720px) {
  .sib-chat-head { flex-direction: column; }
  .sib-chat-head-actions { flex-wrap: wrap; justify-content: flex-start; }
  .sib-chat-context-grid { grid-template-columns: 1fr; }
  .sib-chat-context-note { padding-left: 0; border-left: 0; }
}

/* Argus chat on Claude (docs/argus-chat-claude-261012.md, stage 4): the proposal card. */
.sib-chat-proposal .sib-table-scroll { overflow-x: auto; margin: var(--sib-sp-2) 0; }
.sib-chat-proposal-table { width: 100%; font-size: var(--sib-fs-xs); border-collapse: collapse; }
.sib-chat-proposal-table th, .sib-chat-proposal-table td { padding: 2px var(--sib-sp-2); border-bottom: 1px solid var(--sib-line); text-align: left; vertical-align: top; }
.sib-chat-proposal .sib-chat-pending-actions { display: flex; gap: var(--sib-sp-2); flex-wrap: wrap; align-items: center; margin: var(--sib-sp-2) 0 0; }

/* Argus chat artifacts (docs/argus-chat-artifacts-261014.md): the file card, its preview and the sandboxed page frame. */
.ai-markdown table { border-collapse: collapse; margin: var(--sib-sp-2) 0; font-size: var(--sib-fs-sm); display: block; max-width: 100%; overflow-x: auto; }
.ai-markdown th, .ai-markdown td { padding: 4px var(--sib-sp-2); border: 1px solid var(--sib-line); text-align: left; vertical-align: top; }
.ai-markdown th { background: var(--sib-surface-track); font-weight: var(--sib-fw-semibold); }
.sib-chat-artifact-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sib-sp-2); margin-bottom: var(--sib-sp-2); }
.sib-chat-artifact-title { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.sib-chat-artifact-version { width: auto; min-height: 30px; padding: 2px var(--sib-sp-2); font-size: var(--sib-fs-xs); }
.sib-chat-artifact-body { max-height: 26rem; overflow: auto; padding: var(--sib-sp-3); border: 1px solid var(--sib-line); border-radius: var(--sib-radius-sm); background: var(--sib-surface); }
.sib-chat-artifact-table { width: 100%; font-size: var(--sib-fs-xs); border-collapse: collapse; }
.sib-chat-artifact-table th, .sib-chat-artifact-table td { padding: 2px var(--sib-sp-2); border-bottom: 1px solid var(--sib-line); text-align: left; vertical-align: top; white-space: nowrap; }
.sib-chat-artifact-frame { display: block; width: 100%; height: 480px; resize: vertical; border: 1px solid var(--sib-line); border-radius: var(--sib-radius-sm); background: #fff; }
.sib-chat-artifact .sib-chat-pending-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sib-sp-2); margin: var(--sib-sp-2) 0 0; }
