:root {
  --opa-dock-width: clamp(370px, 27vw, 440px);
  --global-workspace-sidebar-width: 260px;
}

body.opa-panel-open {
  padding-right: var(--opa-dock-width);
}

body.opa-panel-open .toast-region,
body.opa-panel-open .toast-stack {
  right: calc(var(--opa-dock-width) + 18px);
}

.opa-root {
  --opa-bg: #111514;
  --opa-surface: #171b1a;
  --opa-surface-raised: #1d2221;
  --opa-hover: #222827;
  --opa-ink: #f0f3f2;
  --opa-muted: #9aa4a1;
  --opa-subtle: #747e7b;
  --opa-line: #2c3331;
  --opa-line-strong: #3a4441;
  --opa-accent: #63cbb0;
  --opa-danger: #ff938c;
  color: var(--opa-ink);
  font-family: var(--workspace-font-family);
  font-size: 14px;
  line-height: 1.5;
  position: relative;
  z-index: 24;
}

.opa-root,
.opa-root * {
  box-sizing: border-box;
}

.opa-root[hidden],
.opa-root [hidden] {
  display: none !important;
}

.opa-root .opa-panel button,
.opa-root .opa-panel select,
.opa-root .opa-panel textarea,
.opa-root .opa-panel label,
.opa-root a {
  font: inherit;
}

.opa-root .opa-panel button,
.opa-root .opa-panel select,
.opa-root .opa-panel textarea,
.opa-root .opa-panel label {
  box-shadow: none;
  margin: 0;
  transform: none;
}

.opa-root .opa-history,
.opa-root .opa-conversation {
  animation: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  max-width: none;
  padding: 0;
  transform: none;
  width: auto;
}

.opa-root svg {
  fill: none;
  height: 19px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 19px;
}

.opa-panel-toggle {
  align-items: center;
  background: #17201e;
  border: 1px solid #34413e;
  border-radius: 11px 0 0 11px;
  box-shadow: -8px 10px 28px rgb(7 12 11 / 24%);
  color: #e8efed;
  cursor: pointer;
  display: inline-flex;
  height: 44px;
  justify-content: center;
  padding: 0;
  position: fixed;
  right: 0;
  top: 82px;
  width: 44px;
  z-index: 24;
}

.opa-panel-toggle:hover {
  background: #23312e;
  color: #fff;
}

.opa-panel {
  background: var(--opa-bg);
  border-left: 1px solid var(--opa-line);
  bottom: 0;
  box-shadow: -12px 0 32px rgb(7 12 11 / 14%);
  color: var(--opa-ink);
  display: flex;
  flex-direction: column;
  height: 100dvh;
  max-height: 100vh;
  overflow: hidden;
  position: fixed;
  right: 0;
  top: 0;
  width: var(--opa-dock-width);
  z-index: 24;
}

.opa-header {
  align-items: center;
  background: var(--opa-bg);
  border-bottom: 1px solid var(--opa-line);
  display: flex;
  flex: 0 0 auto;
  justify-content: space-between;
  min-height: 58px;
  padding: 8px 9px 8px 14px;
}

.opa-heading {
  align-items: center;
  display: flex;
  gap: 10px;
  min-width: 0;
}

.opa-brand-mark {
  align-items: center;
  background: #e6ecea;
  border-radius: 8px;
  color: #17201e;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: var(--workspace-font-weight-regular, 400);
  height: 30px;
  justify-content: center;
  letter-spacing: -.03em;
  width: 30px;
}

.opa-brand-copy {
  display: grid;
  min-width: 0;
}

.opa-heading h2 {
  color: inherit;
  font-size: 13px;
  font-weight: var(--workspace-font-weight-medium, 500);
  line-height: 1.15;
  margin: 1px 0 0;
}

.opa-eyebrow {
  color: var(--opa-subtle);
  display: block;
  font-size: 8px;
  font-weight: var(--workspace-font-weight-regular, 400);
  letter-spacing: .12em;
}

.opa-header-actions,
.opa-thread-tools {
  align-items: center;
  display: flex;
  gap: 2px;
}

.opa-icon-button,
.opa-thread-tool,
.opa-back-button {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--opa-muted);
  cursor: pointer;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  min-width: 36px;
  padding: 0;
}

.opa-icon-button:hover,
.opa-thread-tool:hover,
.opa-back-button:hover {
  background: var(--opa-hover);
  border-color: var(--opa-line);
  color: #fff;
}

.opa-icon-button:disabled,
.opa-thread-tool:disabled,
.opa-back-button:disabled,
.opa-new-chat:disabled,
.opa-send-button:disabled,
.opa-older-button:disabled {
  cursor: not-allowed;
  opacity: .42;
}

.opa-context-line {
  align-items: center;
  background: #131716;
  border-bottom: 1px solid var(--opa-line);
  color: var(--opa-subtle);
  display: flex;
  flex: 0 0 auto;
  font-size: 9px;
  gap: 10px;
  justify-content: space-between;
  min-height: 29px;
  padding: 5px 14px;
}

.opa-context-line span:first-child {
  color: #b1bbb8;
  font-weight: var(--workspace-font-weight-regular, 400);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opa-context-line span:last-child {
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opa-history {
  background: var(--opa-bg);
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.opa-view-heading {
  align-items: flex-start;
  display: flex;
  flex: 0 0 auto;
  justify-content: space-between;
  padding: 18px 14px 12px;
}

.opa-view-copy h3 {
  color: var(--opa-ink);
  font-size: 15px;
  margin: 0;
}

.opa-view-copy p {
  color: var(--opa-subtle);
  font-size: 10px;
  margin: 3px 0 0;
}

.opa-new-chat {
  align-items: center;
  background: var(--opa-surface);
  border: 1px solid var(--opa-line);
  border-radius: 8px;
  color: var(--opa-ink);
  cursor: pointer;
  display: inline-flex;
  font-size: 10px;
  font-weight: var(--workspace-font-weight-regular, 400);
  gap: 5px;
  min-height: 34px;
  padding: 6px 9px;
}

.opa-new-chat svg {
  height: 15px;
  width: 15px;
}

.opa-new-chat:hover {
  background: var(--opa-hover);
  border-color: var(--opa-line-strong);
}

.opa-history-list {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2px;
  min-height: 0;
  overflow-y: auto;
  padding: 0 8px 18px;
}

.opa-history-list,
.opa-messages {
  scrollbar-color: var(--opa-line-strong) transparent;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.opa-history-list::-webkit-scrollbar,
.opa-messages::-webkit-scrollbar {
  width: 6px;
}

.opa-history-list::-webkit-scrollbar-track,
.opa-messages::-webkit-scrollbar-track {
  background: transparent;
}

.opa-history-list::-webkit-scrollbar-thumb,
.opa-messages::-webkit-scrollbar-thumb {
  background: var(--opa-line-strong);
  border-radius: 999px;
}

.opa-history-list::-webkit-scrollbar-thumb:hover,
.opa-messages::-webkit-scrollbar-thumb:hover {
  background: var(--opa-muted);
}

.opa-thread {
  align-items: stretch;
  border: 1px solid transparent;
  border-radius: 9px;
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
}

.opa-thread:hover,
.opa-thread.is-active {
  background: var(--opa-surface);
  border-color: var(--opa-line);
}

.opa-thread-open {
  background: transparent;
  border: 0;
  color: var(--opa-ink);
  cursor: pointer;
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 10px 9px;
  text-align: left;
}

.opa-thread-open strong,
.opa-thread-open small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opa-thread-open strong {
  font-size: 12px;
  font-weight: var(--workspace-font-weight-medium, 500);
}

.opa-thread-open small,
.opa-action-card small {
  color: var(--opa-subtle);
  font-size: 9px;
}

.opa-thread-tools {
  opacity: 0;
  padding-right: 4px;
  transition: opacity 120ms ease;
}

.opa-thread:hover .opa-thread-tools,
.opa-thread.is-active .opa-thread-tools,
.opa-thread:focus-within .opa-thread-tools {
  opacity: 1;
}

.opa-thread-tool {
  height: 30px;
  min-width: 30px;
}

.opa-thread-tool svg {
  height: 15px;
  width: 15px;
}

.opa-thread-tool[aria-pressed="true"] {
  color: #e8c86a;
}

.opa-thread-delete:hover {
  color: var(--opa-danger);
}

.opa-history-empty {
  align-items: center;
  color: var(--opa-muted);
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  min-height: 240px;
  padding: 30px 28px 72px;
  text-align: center;
}

.opa-empty-mark {
  align-items: center;
  border: 1px solid var(--opa-line-strong);
  border-radius: 16px;
  color: var(--opa-subtle);
  display: inline-flex;
  height: 52px;
  justify-content: center;
  margin-bottom: 14px;
  transform: rotate(-5deg);
  width: 52px;
}

.opa-empty-mark svg {
  height: 25px;
  transform: rotate(5deg);
  width: 25px;
}

.opa-history-empty strong {
  color: #dbe1df;
  font-size: 12px;
}

.opa-history-empty p {
  font-size: 10px;
  margin: 6px 0 0;
  max-width: 260px;
}

.opa-conversation {
  background: var(--opa-bg);
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.opa-conversation-heading {
  align-items: center;
  border-bottom: 1px solid var(--opa-line);
  display: flex;
  flex: 0 0 auto;
  gap: 6px;
  min-height: 44px;
  padding: 4px 12px 4px 7px;
}

.opa-conversation-heading strong {
  font-size: 11px;
  font-weight: var(--workspace-font-weight-medium, 500);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opa-active-thread-tools {
  align-items: center;
  display: flex;
  gap: 2px;
  margin-left: auto;
}

.opa-active-thread-tools .opa-thread-tool[aria-pressed="true"] {
  color: #e8c86a;
}

.opa-back-button {
  height: 32px;
  min-width: 32px;
}

.opa-back-button svg {
  height: 17px;
  width: 17px;
}

.opa-notice {
  background: var(--opa-surface);
  border: 1px solid var(--opa-line);
  border-radius: 9px;
  color: #b8c1bf;
  font-size: 10px;
  margin: 10px 12px 0;
  padding: 8px 10px;
}

.opa-notice[data-tone="warning"] {
  background: #262217;
  border-color: #514729;
  color: #dec97f;
}

.opa-notice[data-tone="danger"] {
  background: #291b1a;
  border-color: #57302d;
  color: #ffaca6;
}

.opa-older-button {
  align-self: center;
  background: transparent;
  border: 1px solid var(--opa-line);
  border-radius: 999px;
  color: var(--opa-muted);
  cursor: pointer;
  font-size: 9px;
  margin-top: 10px;
  padding: 5px 10px;
}

.opa-messages {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 17px;
  min-height: 0;
  overflow-y: auto;
  padding: 15px 13px 24px;
  scroll-behavior: smooth;
}

.opa-message {
  align-self: stretch;
  min-width: 0;
}

.opa-message-user {
  align-self: flex-end;
  max-width: 90%;
}

.opa-message-system,
.opa-message-tool {
  align-self: center;
  color: var(--opa-muted);
  max-width: 94%;
}

.opa-message-meta {
  align-items: center;
  color: var(--opa-subtle);
  display: flex;
  font-size: 8px;
  gap: 8px;
  justify-content: space-between;
  margin: 0 3px 4px;
}

.opa-message-author-line {
  align-items: center;
  display: inline-flex;
  gap: 5px;
  min-width: 0;
}

.opa-message-author {
  color: #aeb7b4;
  font-weight: var(--workspace-font-weight-regular, 400);
}

.opa-message-state-badge {
  background: rgba(174, 183, 180, .1);
  border: 1px solid rgba(174, 183, 180, .22);
  border-radius: 999px;
  color: #98a29f;
  font-size: 7px;
  font-weight: var(--workspace-font-weight-regular, 400);
  line-height: 1.4;
  padding: 1px 5px;
}

.opa-message-content {
  border: 0;
  color: var(--opa-ink);
  font-size: 12px;
  line-height: 1.65;
  margin: 0;
  overflow-wrap: anywhere;
  padding: 4px 2px;
  white-space: pre-wrap;
}

.opa-message-user .opa-message-content {
  background: var(--opa-surface-raised);
  border: 1px solid var(--opa-line);
  border-radius: 14px 14px 4px 14px;
  padding: 9px 11px;
}

.opa-message-system .opa-message-content,
.opa-message-tool .opa-message-content {
  background: #151918;
  border: 1px dashed var(--opa-line);
  border-radius: 8px;
  font-size: 10px;
  padding: 7px 9px;
}

.opa-activity {
  align-items: center;
  align-self: flex-start;
  color: #b8c1bf;
  display: inline-flex;
  font-size: 11px;
  gap: 8px;
  min-height: 28px;
  padding: 2px 3px;
}

.opa-activity-label {
  line-height: 1.4;
}

.opa-activity-dots {
  align-items: center;
  display: inline-flex;
  gap: 3px;
}

.opa-activity-dots span {
  animation: opa-activity-pulse 1.2s ease-in-out infinite;
  background: #7f9f97;
  border-radius: 50%;
  display: block;
  height: 4px;
  opacity: .35;
  width: 4px;
}

.opa-activity-dots span:nth-child(2) {
  animation-delay: .16s;
}

.opa-activity-dots span:nth-child(3) {
  animation-delay: .32s;
}

@keyframes opa-activity-pulse {
  0%, 60%, 100% {
    opacity: .35;
    transform: translateY(0);
  }

  30% {
    opacity: 1;
    transform: translateY(-2px);
  }
}

/* Durable questions and live activity share the panel's existing theme tokens. */
.opa-root .opa-task-activity {
  align-items: flex-start;
  background: var(--opa-surface);
  border: 1px solid var(--opa-line);
  border-radius: 12px;
  color: var(--opa-ink);
  gap: 10px;
  max-width: 100%;
  padding: 12px;
}

.opa-task-activity-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.opa-task-activity-title {
  font-size: 12px;
  font-weight: 600;
}

.opa-task-activity .opa-activity-label {
  color: var(--opa-muted);
}

.opa-task-activity .opa-activity-dots {
  flex-shrink: 0;
  padding-top: 7px;
}

.opa-root .opa-question-card {
  animation: none;
  box-shadow: none;
  background: var(--opa-surface);
  border: 1px solid var(--opa-line-strong);
  border-radius: 12px;
  display: grid;
  gap: 10px;
  margin: 10px 0 0;
  min-width: 0;
  overflow-wrap: anywhere;
  padding: 14px;
}

.opa-question-card[data-question-status="pending"] {
  border-left: 3px solid var(--opa-accent);
}

.opa-question-card p,
.opa-question-heading {
  margin: 0;
}

.opa-question-heading,
.opa-question-context,
.opa-question-hint {
  color: var(--opa-muted);
  font-size: 12px;
}

.opa-question-prompt {
  color: var(--opa-ink);
  white-space: pre-wrap;
}

.opa-question-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.opa-root .opa-question-options button,
.opa-root .opa-question-reply-banner button {
  background: var(--opa-surface-raised);
  border: 1px solid var(--opa-line-strong);
  border-radius: 8px;
  color: var(--opa-ink);
  cursor: pointer;
  font-size: 12px;
  line-height: 1.5;
  max-width: 100%;
  min-height: 40px;
  padding: 8px 11px;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}

.opa-root .opa-question-options button:hover:not(:disabled),
.opa-root .opa-question-reply-banner button:hover:not(:disabled) {
  background: var(--opa-hover);
  border-color: var(--opa-accent);
}

.opa-root .opa-question-options button:focus-visible,
.opa-root .opa-question-reply-banner button:focus-visible {
  outline: 2px solid var(--opa-accent);
  outline-offset: 2px;
}

.opa-root .opa-question-options button:disabled {
  cursor: default;
  opacity: .5;
}

.opa-question-answer {
  color: var(--opa-ink);
  white-space: pre-wrap;
}

.opa-question-reply-banner {
  align-items: center;
  background: var(--opa-surface);
  border-left: 3px solid var(--opa-accent);
  color: var(--opa-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 8px;
  margin-bottom: 8px;
  padding: 8px 10px;
}

.opa-question-reply-banner span {
  flex: 1 1 140px;
  max-height: 4.5em;
  overflow-y: auto;
  overflow-wrap: anywhere;
}

@media (max-width: 480px) {
  .opa-question-card { padding: 11px; }
  .opa-question-options { flex-direction: column; }
  .opa-root .opa-question-options button { min-height: 44px; width: 100%; }
}

.opa-response-detail {
  display: grid;
  gap: 7px;
  margin-top: 7px;
}

.opa-response-kind {
  background: #1b302b;
  border: 1px solid #2c4b43;
  border-radius: 999px;
  color: #8dd9c4;
  font-size: 8px;
  font-weight: var(--workspace-font-weight-regular, 400);
  justify-self: start;
  letter-spacing: .03em;
  padding: 3px 7px;
}

.opa-clarification {
  border-left: 2px solid #8fb1db;
  color: #326cae;
  font-size: 11px;
  margin: 0;
  padding-left: 8px;
  white-space: pre-wrap;
}

.opa-citations {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.opa-citation {
  align-items: center;
  background: var(--opa-surface);
  border: 1px solid var(--opa-line);
  border-radius: 999px;
  color: #abb5b2;
  display: inline-flex;
  font-size: 8px;
  gap: 5px;
  max-width: 100%;
  min-height: 22px;
  padding: 3px 7px 3px 4px;
}

.opa-citation-domain {
  background: #24322f;
  border-radius: 999px;
  color: #85b6a9;
  flex: 0 0 auto;
  font-size: 7px;
  font-weight: var(--workspace-font-weight-regular, 400);
  padding: 2px 5px;
  text-transform: uppercase;
}

.opa-citation-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opa-citation-web {
  padding: 0;
}

.opa-citation-link {
  align-items: center;
  color: inherit;
  display: flex;
  gap: 4px;
  max-width: 100%;
  min-height: 28px;
  min-width: 0;
  padding: 3px 7px 3px 4px;
  text-decoration: none;
}

.opa-citation-link:hover .opa-citation-label {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.opa-citation-external {
  color: #85b6a9;
  flex: 0 0 auto;
  font-size: 9px;
}

.opa-stale-action {
  background: #262217;
  border: 1px solid #514729;
  border-radius: 8px;
  color: #dec97f;
  font-size: 10px;
  margin: 0;
  padding: 8px 9px;
}

.opa-actions {
  display: grid;
  gap: 7px;
}

.opa-server-actions {
  display: grid;
  gap: 7px;
}

.opa-server-action {
  background: var(--opa-surface);
  border: 1px solid var(--opa-line);
  border-radius: 10px;
  display: grid;
  gap: 7px;
  padding: 9px;
}

.opa-server-action[data-action-status="pending_approval"] {
  background: #262217;
  border-color: #514729;
}

.opa-server-action-heading {
  align-items: flex-start;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.opa-server-action-heading strong {
  font-size: 11px;
  line-height: 1.4;
}

.opa-action-status {
  background: #202826;
  border: 1px solid #3d4e49;
  border-radius: 999px;
  color: #b8e2d7;
  flex: 0 0 auto;
  font-size: 8px;
  font-weight: var(--workspace-font-weight-regular, 400);
  padding: 3px 6px;
}

.opa-action-status[data-tone="warning"] {
  background: #312914;
  border-color: #645329;
  color: #edcf77;
}

.opa-action-status[data-tone="danger"] {
  background: #2d1c1b;
  border-color: #613431;
  color: #ffaaa4;
}

.opa-action-status[data-tone="success"],
.opa-action-status[data-tone="ready"] {
  background: #1b302b;
  border-color: #2c4b43;
  color: #8dd9c4;
}

.opa-action-status-copy,
.opa-action-rationale {
  color: var(--opa-muted);
  font-size: 10px;
  line-height: 1.5;
  margin: 0;
}

.opa-action-rationale {
  color: #c4cdca;
}

.opa-load-job {
  background: #141c1a;
  border: 1px solid #30413c;
  border-radius: 8px;
  display: grid;
  gap: 9px;
  overflow: hidden;
  padding: 11px;
  position: relative;
}

.opa-load-job[data-job-status="accepting"],
.opa-load-job[data-job-status="queued"],
.opa-load-job[data-job-status="running"] {
  background: linear-gradient(145deg, #14231f 0%, #101815 100%);
  border-color: #3d7466;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .16), inset 0 0 0 1px rgba(117, 200, 177, .06);
}

.opa-load-job[data-job-status="awaiting_input"],
.opa-load-job[data-job-status="awaiting_review"],
.opa-load-job[data-job-status="cancelling"],
.opa-load-job[data-job-status="stale"] {
  background: #231f15;
  border-color: #554826;
}

.opa-load-job[data-job-status="failed"] {
  background: #281918;
  border-color: #63332f;
}

.opa-load-job[data-job-status="succeeded"] {
  background: #14231f;
  border-color: #356056;
}

.opa-load-job-heading {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.opa-load-job-title {
  align-items: center;
  display: flex;
  gap: 9px;
  min-width: 0;
}

.opa-load-job-title-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.opa-load-job-title-copy strong,
.opa-load-job > strong {
  color: #d9e5e1;
  font-size: 12px;
  line-height: 1.4;
}

.opa-load-job-stage {
  color: #92aaa3;
  font-size: 9px;
  line-height: 1.35;
}

.opa-load-job-spinner {
  animation: opa-load-job-spin .9s linear infinite;
  border: 2px solid rgba(117, 200, 177, .2);
  border-radius: 50%;
  border-right-color: #75c8b1;
  box-sizing: border-box;
  flex: 0 0 auto;
  height: 18px;
  width: 18px;
}

@keyframes opa-load-job-spin {
  to {
    transform: rotate(360deg);
  }
}

.opa-load-job-badge {
  align-items: center;
  background: #20302c;
  border: 1px solid #3b5b52;
  border-radius: 999px;
  color: #9bd9c8;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 9px;
  font-weight: var(--workspace-font-weight-regular, 400);
  gap: 5px;
  padding: 3px 7px;
}

.opa-load-job-badge[data-tone="progress"]::before {
  animation: opa-load-job-pulse 1.25s ease-in-out infinite;
  background: #75c8b1;
  border-radius: 50%;
  content: "";
  height: 5px;
  width: 5px;
}

@keyframes opa-load-job-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(117, 200, 177, .35);
    opacity: .55;
  }

  50% {
    box-shadow: 0 0 0 4px rgba(117, 200, 177, 0);
    opacity: 1;
  }
}

.opa-load-job-badge[data-tone="warning"] {
  background: #312914;
  border-color: #645329;
  color: #edcf77;
}

.opa-load-job-badge[data-tone="danger"] {
  background: #351d1b;
  border-color: #713a36;
  color: #ffaaa4;
}

.opa-load-job-badge[data-tone="success"] {
  background: #1b302b;
  border-color: #356056;
  color: #9ae1ce;
}

.opa-load-job-badge[data-tone="neutral"] {
  background: #252b29;
  border-color: #48514e;
  color: #c2cac7;
}

.opa-load-job-copy,
.opa-load-job-progress-label {
  color: #aebbb7;
  font-size: 10px;
  line-height: 1.5;
  margin: 0;
}

.opa-load-job-wait-notice,
.opa-load-result-notice {
  background: #17231f;
  border-left: 2px solid #75c8b1;
  color: #b9ccc6;
  font-size: 8px;
  line-height: 1.55;
  margin: 0;
  padding: 6px 7px;
}

.opa-load-result-notice {
  border-left-color: #b79a62;
  color: #c8bfae;
}

.opa-load-job-progress-label {
  color: #cbd5d2;
}

.opa-load-job-progress-meta {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.opa-load-job-progress-value {
  color: #8dd9c4;
  flex: 0 0 auto;
  font-size: 9px;
  line-height: 1.4;
}

.opa-load-job-progress {
  appearance: none;
  accent-color: #75c8b1;
  background: #26312e;
  border: 0;
  border-radius: 999px;
  height: 6px;
  overflow: hidden;
  width: 100%;
}

.opa-load-job-progress::-webkit-progress-bar {
  background: #26312e;
  border-radius: 999px;
}

.opa-load-job-progress::-webkit-progress-value {
  background: #75c8b1;
  border-radius: 999px;
  transition: width .25s ease;
}

.opa-load-job-progress::-moz-progress-bar {
  background: #75c8b1;
  border-radius: 999px;
  transition: width .25s ease;
}

.opa-load-job-progress:indeterminate,
.opa-load-job-progress[data-progress="indeterminate"] {
  animation: opa-load-job-progress-pulse 1.2s ease-in-out infinite;
  background-image: linear-gradient(90deg, #26312e 0%, #4d8f7d 48%, #26312e 100%);
  background-position: 100% 0;
  background-size: 220% 100%;
}

.opa-load-job-progress[data-progress="indeterminate"]::-webkit-progress-bar {
  animation: opa-load-job-progress-pulse 1.2s ease-in-out infinite;
  background-image: linear-gradient(90deg, #26312e 0%, #4d8f7d 48%, #26312e 100%);
  background-position: 100% 0;
  background-size: 220% 100%;
}

.opa-load-job-progress[data-progress="indeterminate"]::-moz-progress-bar {
  background: transparent;
}

@keyframes opa-load-job-progress-pulse {
  0% {
    background-position: 100% 0;
  }

  100% {
    background-position: -100% 0;
  }
}

.opa-load-job-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.opa-load-job-resume,
.opa-load-job-cancel {
  border-radius: 7px;
  cursor: pointer;
  font: inherit;
  font-size: 9px;
  font-weight: var(--workspace-font-weight-regular, 400);
  min-height: 32px;
  padding: 5px 9px;
}

.opa-load-job-resume {
  background: #dce6e2;
  border: 1px solid #dce6e2;
  color: #17201e;
}

.opa-load-job-cancel {
  background: transparent;
  border: 1px solid #59645f;
  color: #cbd5d2;
}

.opa-load-job-resume:hover:not(:disabled) {
  background: #fff;
  border-color: #fff;
}

.opa-load-job-cancel:hover:not(:disabled) {
  background: #222c29;
  border-color: #7a8984;
}

.opa-load-job-resume:disabled,
.opa-load-job-cancel:disabled {
  cursor: wait;
  opacity: .55;
}

.opa-load-query-result {
  background: #101614;
  border: 1px solid #2b3834;
  border-radius: 7px;
  display: grid;
  gap: 5px;
  padding: 7px;
}

.opa-load-query-summary {
  color: #cde1db;
  font-size: 9px;
}

.opa-load-query-rows {
  display: grid;
  gap: 4px;
  list-style: none;
  margin: 0;
  max-height: 190px;
  overflow-y: auto;
  padding: 0 3px 0 0;
  scrollbar-color: var(--opa-line-strong) transparent;
  scrollbar-width: thin;
}

.opa-load-query-row {
  border-top: 1px solid #26312e;
  display: grid;
  gap: 2px;
  padding-top: 4px;
}

.opa-load-query-row strong {
  color: #d7e0dd;
  font-size: 9px;
}

.opa-load-query-row span {
  color: #9daca7;
  font-size: 8px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.opa-action-decisions {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
}

.opa-action-approve,
.opa-action-deny {
  border-radius: 7px;
  cursor: pointer;
  font: inherit;
  font-size: 9px;
  font-weight: var(--workspace-font-weight-regular, 400);
  min-height: 31px;
  padding: 5px 9px;
}

.opa-action-approve {
  background: #dce6e2;
  border: 1px solid #dce6e2;
  color: #17201e;
}

.opa-action-deny {
  background: transparent;
  border: 1px solid #5c5749;
  color: #c7c1ad;
}

.opa-action-approve:disabled,
.opa-action-deny:disabled {
  cursor: wait;
  opacity: .55;
}

.opa-action-card {
  background: var(--opa-surface);
  border: 1px solid var(--opa-line);
  border-radius: 10px;
  display: grid;
  gap: 5px;
  padding: 9px;
}

.opa-action-card strong {
  font-size: 11px;
}

.opa-action-card p {
  color: var(--opa-muted);
  font-size: 10px;
  margin: 0;
}

.opa-review-link {
  align-items: center;
  background: #202826;
  border: 1px solid #3d4e49;
  border-radius: 7px;
  color: #b8e2d7;
  display: inline-flex;
  font-size: 10px;
  font-weight: var(--workspace-font-weight-regular, 400);
  justify-content: center;
  margin-top: 3px;
  min-height: 32px;
  padding: 6px 8px;
  text-decoration: none;
}

.opa-review-link:hover {
  background: #273530;
}

.opa-composer {
  background: var(--opa-bg);
  border-top: 1px solid var(--opa-line);
  flex: 0 0 auto;
  padding: 10px 12px calc(9px + env(safe-area-inset-bottom, 0px));
}

.opa-approval-toolbar {
  align-items: center;
  display: flex;
  gap: 6px;
  justify-content: flex-start;
  margin: 0 2px 7px;
}

.opa-approval-label {
  color: var(--opa-muted);
  font-size: 9px;
  font-weight: var(--workspace-font-weight-regular, 400);
  margin-right: auto;
}

.opa-approval-select {
  background: #202725;
  border: 1px solid #394540;
  border-radius: 999px;
  color: #d2dbd8;
  cursor: pointer;
  font: inherit;
  font-size: 9px;
  font-weight: var(--workspace-font-weight-regular, 400);
  max-width: 176px;
  min-height: 28px;
  padding: 4px 24px 4px 9px;
  width: auto;
}

.opa-composer[data-approval-mode="full_access"] .opa-approval-select {
  background: var(--opa-surface);
  border-color: var(--opa-line-strong);
  color: var(--opa-ink);
}

.opa-approval-select option {
  color: var(--opa-ink);
}

.opa-approval-select option[value="full_access"] {
  color: #bd8500;
}

.opa-approval-select:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.opa-composer-row {
  align-items: flex-end;
  background: var(--opa-surface);
  border: 1px solid var(--opa-line-strong);
  border-radius: 16px;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 7px 7px 7px 11px;
}

.opa-composer:focus-within .opa-composer-row {
  border-color: #66736f;
}

.opa-composer textarea {
  background: transparent;
  border: 0;
  color: var(--opa-ink);
  height: 54px;
  line-height: 1.5;
  max-height: min(220px, 30dvh);
  min-height: 54px;
  outline: 0;
  overflow-y: hidden;
  overscroll-behavior: contain;
  padding: 5px 0;
  resize: none;
  scrollbar-color: var(--opa-line-strong) transparent;
  scrollbar-width: thin;
  width: 100%;
}

.opa-composer textarea::placeholder {
  color: #6f7976;
}

.opa-composer textarea::-webkit-scrollbar {
  width: 6px;
}

.opa-composer textarea::-webkit-scrollbar-track {
  background: transparent;
}

.opa-composer textarea::-webkit-scrollbar-thumb {
  background: var(--opa-line-strong);
  border-radius: 999px;
}

.opa-composer textarea::-webkit-scrollbar-thumb:hover {
  background: var(--opa-muted);
}

.opa-composer textarea::-webkit-scrollbar-button,
.opa-composer textarea::-webkit-resizer {
  display: none;
  height: 0;
  width: 0;
}

.opa-send-button {
  align-items: center;
  background: #e3e8e6;
  border: 1px solid #e3e8e6;
  border-radius: 50%;
  color: #17201e;
  cursor: pointer;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  min-height: 40px;
  min-width: 40px;
  padding: 0;
  width: 40px;
}

.opa-send-button svg {
  height: 17px;
  width: 17px;
}

.opa-send-button:hover:not(:disabled) {
  background: #fff;
  border-color: #fff;
}

.opa-send-button[data-mode="stop"] {
  background: #f2f5f4;
  border-color: #f2f5f4;
}

.opa-send-button[data-mode="stop"] svg {
  height: 16px;
  width: 16px;
}

.opa-send-button[data-mode="cancelling"]:disabled {
  cursor: wait;
  opacity: 1;
}

.opa-send-spinner {
  animation: opa-send-spin .8s linear infinite;
  border: 2px solid rgba(23, 32, 30, .25);
  border-radius: 50%;
  border-top-color: #17201e;
  display: block;
  height: 16px;
  width: 16px;
}

@keyframes opa-send-spin {
  to {
    transform: rotate(360deg);
  }
}

.opa-composer-hint {
  color: var(--opa-subtle);
  font-size: 8px;
  margin: 6px 3px 0;
}

.opa-external-processing-consent {
  align-items: flex-start;
  color: var(--opa-subtle);
  cursor: pointer;
  display: flex;
  font-size: 9px;
  gap: 7px;
  line-height: 1.4;
  margin: 7px 3px 0;
}

.opa-external-processing-consent input {
  accent-color: #3b9c82;
  flex: 0 0 auto;
  margin: 2px 0 0;
}

.opa-approval-picker {
  position: relative;
}

.opa-approval-trigger {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
  color: var(--opa-muted);
  cursor: pointer;
  display: flex;
  font-size: 9px;
  font-weight: var(--workspace-font-weight-regular, 400);
  gap: 6px;
  min-height: 28px;
  min-width: 0;
  padding: 4px 8px;
}

.opa-approval-trigger:hover:not(:disabled),
.opa-approval-picker.is-open .opa-approval-trigger {
  background: var(--opa-hover);
}

.opa-approval-trigger:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.opa-approval-trigger[data-mode="full_access"] .opa-approval-trigger-label,
.opa-approval-option[data-approval-option="full_access"] {
  color: #bd8500;
}

.opa-approval-trigger-label {
  white-space: nowrap;
}

.opa-approval-trigger-chevron {
  display: inline-flex;
  margin-left: auto;
}

.opa-root .opa-approval-trigger-chevron svg {
  height: 12px;
  width: 12px;
}

.opa-approval-picker.is-open .opa-approval-trigger-chevron {
  transform: rotate(180deg);
}

.opa-approval-menu {
  background: var(--opa-bg);
  border: 1px solid var(--opa-line-strong);
  border-radius: 8px;
  bottom: calc(100% + 5px);
  box-shadow: 0 8px 24px rgb(20 28 34 / 12%);
  min-width: 178px;
  padding: 4px;
  position: absolute;
  right: 0;
  z-index: 8;
}

.opa-approval-option {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 5px;
  color: var(--opa-ink);
  cursor: pointer;
  display: flex;
  font-size: 10px;
  font-weight: var(--workspace-font-weight-regular, 400);
  gap: 7px;
  min-height: 32px;
  padding: 6px 8px;
  text-align: left;
  width: 100%;
}

.opa-approval-option:not([data-approval-option="full_access"]) {
  color: var(--opa-ink);
}

.opa-approval-option:hover,
.opa-approval-option:focus-visible,
.opa-approval-option[aria-selected="true"] {
  background: var(--opa-hover);
}

.opa-approval-warning-mark {
  align-items: center;
  background: transparent;
  border: 0;
  color: #bd8500;
  display: inline-flex;
  flex: 0 0 16px;
  height: 16px;
  justify-content: center;
  padding: 0;
  width: 16px;
}

.opa-root .opa-approval-warning-mark svg {
  height: 16px;
  stroke-width: 1.65;
  width: 16px;
}

.opa-root :focus-visible {
  outline: 2px solid #81cdb9;
  outline-offset: 2px;
}

.opa-root .opa-composer textarea:focus,
.opa-root .opa-composer textarea:focus-visible {
  box-shadow: none;
  outline: none;
}

.opa-visually-hidden {
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (max-width: 840px) {
  body.opa-panel-open {
    overflow: hidden;
    padding-right: 0;
  }

  body.opa-panel-open .toast-region,
  body.opa-panel-open .toast-stack {
    right: 14px;
  }

  .opa-panel {
    border-left: 0;
    box-shadow: none;
    width: 100vw;
  }

  .opa-panel-toggle {
    top: 72px;
  }
}

/* Chat-first Project Hub: a quiet, persistent conversation rail and a focused work area. */
body.hub-ai-primary > .opa-primary-sidebar-shell[data-opa-primary-sidebar] {
  box-sizing: border-box;
  color: #202326;
  contain: layout paint style;
  font-family: var(--workspace-font-family);
  font-size: 14px;
  font-synthesis: none;
  height: 100vh;
  height: 100dvh;
  inset: 0 auto 0 0;
  letter-spacing: -.005em;
  line-height: 1.5;
  max-height: 100vh;
  max-width: var(--global-workspace-sidebar-width);
  min-height: 0;
  min-width: var(--global-workspace-sidebar-width);
  position: fixed;
  width: var(--global-workspace-sidebar-width);
  z-index: 24;
}

body.hub-ai-primary > .opa-primary-sidebar-shell[data-opa-primary-sidebar],
body.hub-ai-primary > .opa-primary-sidebar-shell[data-opa-primary-sidebar] * {
  box-sizing: border-box;
}

body.hub-ai-primary > .opa-primary-sidebar-shell[data-opa-primary-sidebar] svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

body.hub-ai-primary.opa-panel-open {
  overflow: hidden;
  padding-right: 0;
}

body.hub-ai-primary.opa-panel-open .toast-region,
body.hub-ai-primary.opa-panel-open .toast-stack {
  right: 18px;
}

body.hub-ai-primary.opa-panel-open .app-header {
  display: none;
}

body.hub-ai-primary.opa-sidebar-visible:not(.opa-panel-open) {
  padding-left: var(--global-workspace-sidebar-width);
}

body.hub-ai-primary.opa-sidebar-visible:not(.opa-panel-open) .app-header .brand {
  visibility: hidden;
}

body.hub-ai-primary.opa-sidebar-visible:not(.opa-panel-open) .opa-root {
  pointer-events: auto;
  width: var(--global-workspace-sidebar-width);
}

body.hub-ai-primary.opa-sidebar-visible:not(.opa-panel-open) .opa-panel {
  display: grid;
  grid-template-columns: var(--global-workspace-sidebar-width);
  grid-template-rows: minmax(0, 1fr);
  pointer-events: auto;
  right: auto;
  width: var(--global-workspace-sidebar-width);
}

body.hub-ai-primary.opa-sidebar-visible:not(.opa-panel-open) .opa-history {
  grid-column: 1;
  grid-row: 1;
  pointer-events: auto;
}

body.hub-ai-primary.opa-sidebar-visible:not(.opa-panel-open) .opa-new-chat {
  background: transparent;
}

body.hub-ai-primary.opa-sidebar-visible .opa-projects-navigation[aria-current="page"] {
  background: #ececea;
  color: #1f2327;
}

body.hub-ai-primary.opa-sidebar-visible .opa-primary-navigation-button[aria-current="page"],
body.hub-ai-primary.opa-sidebar-visible .opa-new-chat[aria-current="page"] {
  background: #ececea;
  color: #1f2327;
}

body.hub-ai-primary.opa-sidebar-visible:not(.opa-panel-open) .opa-header,
body.hub-ai-primary.opa-sidebar-visible:not(.opa-panel-open) .opa-context-line,
body.hub-ai-primary.opa-sidebar-visible:not(.opa-panel-open) .opa-conversation,
body.hub-ai-primary.opa-sidebar-visible:not(.opa-panel-open) .opa-composer,
body.hub-ai-primary.opa-sidebar-visible:not(.opa-panel-open) .opa-notice {
  display: none !important;
}

.hub-ai-primary .opa-root {
  --opa-bg: #ffffff;
  --opa-surface: #f5f6f6;
  --opa-surface-raised: #eef3f8;
  --opa-hover: #e9eaea;
  --opa-ink: #202326;
  --opa-muted: #616970;
  --opa-subtle: #8a9298;
  --opa-line: #e2e4e5;
  --opa-line-strong: #d2d5d7;
  --opa-accent: #256ed7;
  color-scheme: light;
}

.hub-ai-primary .opa-panel {
  background: #fff;
  border: 0;
  bottom: 0;
  box-shadow: none;
  color: var(--opa-ink);
  display: grid;
  grid-template-columns: var(--global-workspace-sidebar-width) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100dvh;
  left: 0;
  max-height: 100vh;
  right: 0;
  top: 0;
  width: 100vw;
}

.hub-ai-primary .opa-panel[data-empty-conversation="true"] {
  grid-template-rows: minmax(0, 1fr) auto minmax(0, 1fr);
}

.hub-ai-primary .opa-header,
.hub-ai-primary .opa-context-line {
  display: none;
}

.hub-ai-primary .opa-header {
  background: #fff;
  border-bottom: 0;
  grid-column: 2;
  grid-row: 1;
  justify-content: center;
  min-height: 52px;
  padding: 7px 18px;
  position: relative;
}

.hub-ai-primary .opa-header .opa-heading {
  gap: 7px;
}

.hub-ai-primary .opa-header .opa-brand-mark {
  background: #eef4fc;
  border-color: #d5e2f3;
  color: #256ed7;
  height: 25px;
  width: 25px;
}

.hub-ai-primary .opa-header .opa-eyebrow {
  display: none;
}

.hub-ai-primary .opa-header .opa-brand-copy {
  display: block;
}

.hub-ai-primary .opa-header .opa-heading h2 {
  color: #303438;
  font-size: 12px;
  font-weight: var(--workspace-font-weight-medium, 500);
  margin: 0;
}

.hub-ai-primary .opa-header-actions {
  position: absolute;
  right: 15px;
  top: 10px;
}

.hub-ai-primary .opa-header-actions [data-opa-action="new"],
.hub-ai-primary .opa-header-actions [data-opa-action="refresh"] {
  display: none;
}

.hub-ai-primary .opa-icon-button,
.hub-ai-primary .opa-thread-tool,
.hub-ai-primary .opa-back-button {
  color: #6f767c;
}

.hub-ai-primary .opa-icon-button:hover,
.hub-ai-primary .opa-thread-tool:hover,
.hub-ai-primary .opa-back-button:hover {
  background: #f1f2f2;
  border-color: #e1e3e4;
  color: #202326;
}

.hub-ai-primary .opa-context-line {
  align-self: center;
  background: transparent;
  border: 0;
  grid-column: 2;
  grid-row: 2;
  justify-content: center;
  min-height: 34px;
  padding: 2px 20px;
}

.hub-ai-primary .opa-context-line span:first-child {
  background: #f4f5f5;
  border: 1px solid #e5e6e7;
  border-radius: 999px;
  color: #5d646a;
  font-size: 10px;
  font-weight: var(--workspace-font-weight-regular, 400);
  padding: 4px 10px;
}

.hub-ai-primary .opa-context-line span:last-child {
  display: none;
}

.hub-ai-primary .opa-history {
  background: #f7f7f5;
  border-right: 1px solid #e5e5e2;
  grid-column: 1;
  grid-row: 1 / -1;
  margin: 0;
  width: 100%;
}

.hub-ai-primary .opa-primary-sidebar-header {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 6px;
  justify-content: space-between;
  min-height: 84px;
  padding: 8px 14px;
}

.hub-ai-primary .opa-primary-sidebar-brand {
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 7px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 5px;
}

.hub-ai-primary .opa-primary-sidebar-brand:hover {
  background: #ececea;
}

.hub-ai-primary .opa-primary-sidebar-brand .mepos-brand-logo {
  display: block;
  height: auto;
  object-fit: contain;
  pointer-events: none;
  width: 140px;
}

.hub-ai-primary .opa-primary-sidebar-toggle {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #697078;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 34px;
  height: 34px;
  justify-content: center;
  padding: 0;
  width: 34px;
}

.hub-ai-primary .opa-primary-sidebar-toggle:hover {
  background: #ececea;
  color: #202326;
}

.hub-ai-primary .opa-primary-sidebar-toggle svg {
  height: 18px;
  width: 18px;
}

.hub-ai-primary .opa-primary-sidebar-navigation {
  display: grid;
  flex: 0 0 auto;
  gap: 3px;
  padding: 0 8px 14px;
}

.hub-ai-primary .opa-primary-navigation-button,
.hub-ai-primary .opa-new-chat {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #34383c;
  cursor: pointer;
  display: flex;
  font-size: 12px;
  font-weight: var(--workspace-font-weight-regular, 400);
  gap: 9px;
  justify-content: flex-start;
  min-height: 38px;
  padding: 8px 10px;
  text-align: left;
  width: 100%;
}

.hub-ai-primary .opa-primary-navigation-button svg {
  height: 17px;
  width: 17px;
}

.hub-ai-primary .opa-primary-navigation-button:hover,
.hub-ai-primary .opa-new-chat:hover {
  background: #ececea;
  border-color: transparent;
}

.hub-ai-primary .opa-primary-navigation-button:disabled {
  background: transparent;
  color: #a3a7aa;
  cursor: not-allowed;
  opacity: .72;
}

.hub-ai-primary .opa-primary-navigation-button.opa-new-chat[aria-current="page"] {
  background: #ececea;
  color: #1f2327;
}

.hub-ai-primary .opa-view-heading {
  border-top: 1px solid #e8e8e5;
  padding: 16px 14px 7px;
}

.hub-ai-primary .opa-view-copy h3 {
  color: #8b9196;
  font-size: 9px;
  font-weight: var(--workspace-font-weight-medium, 500);
  letter-spacing: .04em;
}

.hub-ai-primary .opa-view-copy p {
  display: none;
}

.hub-ai-primary .opa-history-list {
  gap: 1px;
  padding: 0 7px 18px;
}

.hub-ai-primary .opa-primary-sidebar-account {
  border-top: 1px solid #e5e5e2;
  flex: 0 0 auto;
  padding: 8px 8px calc(8px + env(safe-area-inset-bottom, 0px));
}

.hub-ai-primary .opa-primary-sidebar-account-button {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #34383c;
  cursor: pointer;
  display: flex;
  gap: 9px;
  min-height: 46px;
  padding: 7px 9px;
  text-align: left;
  width: 100%;
}

.hub-ai-primary .opa-primary-sidebar-account-button:hover {
  background: #ececea;
}

.hub-ai-primary .opa-primary-sidebar-account-button[aria-expanded="true"] {
  background: #ececea;
}

.hub-ai-primary .opa-primary-sidebar-account-button:focus-visible {
  border-color: #9db7d0;
  outline: 2px solid rgba(92, 139, 181, .2);
  outline-offset: 1px;
}

.hub-ai-primary .opa-primary-sidebar-account-avatar {
  flex: 0 0 28px;
  height: 28px;
  width: 28px;
}

.hub-ai-primary .opa-primary-sidebar-account-copy {
  display: grid;
  min-width: 0;
}

.hub-ai-primary .opa-primary-sidebar-account-copy strong,
.hub-ai-primary .opa-primary-sidebar-account-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hub-ai-primary .opa-primary-sidebar-account-copy strong {
  font-size: 12px;
  font-weight: var(--workspace-font-weight-medium, 500);
}

.hub-ai-primary .opa-primary-sidebar-account-copy small {
  color: #8b9196;
  font-size: 9px;
}

.hub-ai-primary .opa-primary-sidebar-account-disclosure {
  flex: 0 0 16px;
  height: 16px;
  margin-left: auto;
  width: 16px;
}

.collab-account-popover {
  animation: collab-account-popover-in 120ms ease-out;
  background: #fff;
  border: 1px solid #dedfdd;
  border-radius: 8px;
  box-shadow: 0 14px 38px rgba(31, 35, 39, .16), 0 2px 8px rgba(31, 35, 39, .08);
  color: #292d31;
  display: grid;
  font-family: var(--workspace-font-family);
  font-size: 13px;
  gap: 0;
  letter-spacing: 0;
  line-height: 1.4;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 7px;
  position: fixed;
  z-index: 80;
}

.collab-account-popover[hidden] {
  display: none;
}

.collab-account-popover button {
  appearance: none;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  color: inherit;
  cursor: pointer;
  font: inherit;
  letter-spacing: 0;
  margin: 0;
  text-align: left;
  width: 100%;
}

.collab-account-popover button:hover {
  background: #f1f2f1;
}

.collab-account-popover-item:focus-visible {
  background: #f1f2f1;
  border-color: #8aafd3;
  outline: 2px solid rgba(92, 139, 181, .2);
  outline-offset: 1px;
}

.collab-account-popover button:disabled {
  cursor: progress;
  opacity: .64;
}

.collab-account-popover-profile {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 34px minmax(0, 1fr);
  min-height: 58px;
  padding: 8px 9px;
}

.collab-account-popover-avatar {
  flex-basis: 34px;
  font-size: 11px;
  height: 34px;
  width: 34px;
}

.collab-account-popover-copy {
  display: grid;
  min-width: 0;
}

.collab-account-popover-copy strong,
.collab-account-popover-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.collab-account-popover-copy strong {
  font-size: 13px;
  font-weight: var(--workspace-font-weight-medium, 500);
}

.collab-account-popover-copy small {
  color: #636b71;
  font-size: 10px;
}

.collab-account-popover-menu {
  display: grid;
  gap: 0;
}

.collab-account-popover-items {
  display: grid;
  gap: 1px;
}

.collab-account-popover-item {
  align-items: center;
  display: grid;
  gap: 11px;
  grid-template-columns: 19px minmax(0, 1fr);
  min-height: 42px;
  padding: 8px 10px;
}

.collab-account-popover-item[hidden] {
  display: none;
}

.collab-account-popover-item svg {
  fill: none;
  height: 19px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 19px;
}

.collab-account-popover-divider {
  background: #e3e4e2;
  height: 1px;
  margin: 7px 8px;
}

@keyframes collab-account-popover-in {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hub-ai-primary .opa-thread {
  border: 0;
  border-radius: 7px;
}

.hub-ai-primary .opa-thread:hover,
.hub-ai-primary .opa-thread.is-active {
  background: #ececea;
  border-color: transparent;
}

.hub-ai-primary .opa-thread-open {
  color: #3b4044;
  gap: 0;
  padding: 8px 9px;
}

.hub-ai-primary .opa-thread-open strong {
  font-size: 11px;
  font-weight: var(--workspace-font-weight-medium, 500);
}

.hub-ai-primary .opa-thread-open small {
  display: none;
}

.hub-ai-primary .opa-thread-tool {
  height: 28px;
  min-width: 28px;
}

.hub-ai-primary .opa-history-empty {
  color: #8b9196;
  justify-content: flex-start;
  min-height: 0;
  padding: 34px 20px;
}

.hub-ai-primary .opa-history-empty .opa-empty-mark {
  display: none;
}

.hub-ai-primary .opa-history-empty strong {
  color: #5d646a;
  font-size: 11px;
}

.hub-ai-primary .opa-history-empty p {
  font-size: 9px;
  line-height: 1.5;
}

.hub-ai-primary .opa-conversation {
  background: #fff;
  grid-column: 2;
  grid-row: 1;
  position: relative;
}

.hub-ai-primary .opa-conversation-heading {
  border-bottom: 0;
  color: #4f565c;
  min-height: 40px;
  gap: 10px;
  padding: 8px max(24px, calc((100% - 780px) / 2));
  width: 100%;
}

.hub-ai-primary .opa-panel[data-empty-conversation="true"] .opa-conversation-heading {
  height: 0;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  visibility: hidden;
}

.hub-ai-primary .opa-messages {
  gap: 24px;
  padding: 24px max(24px, calc((100vw - var(--global-workspace-sidebar-width) - 780px) / 2)) 32px;
  scrollbar-color: #c9ccce transparent;
}

.hub-ai-primary .opa-message {
  max-width: 780px;
}

.hub-ai-primary .opa-message-author,
.hub-ai-primary .opa-message-meta,
.hub-ai-primary .opa-activity {
  color: #737a80;
}

.hub-ai-primary .opa-message-content {
  color: #25292d;
  font-size: 13px;
  line-height: 1.72;
}

.hub-ai-primary .opa-message-user .opa-message-content {
  background: #edf3f8;
  border-color: #e0e9f0;
  border-radius: 14px 14px 3px 14px;
}

.hub-ai-primary .opa-message-system .opa-message-content,
.hub-ai-primary .opa-message-tool .opa-message-content {
  background: #f6f7f7;
  border-color: #d9dcde;
  color: #5e656b;
}

.hub-ai-primary .opa-conversation-empty {
  align-items: center;
  align-self: stretch;
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: flex-end;
  margin: auto;
  max-width: 780px;
  padding: 24px 20px 12px;
  text-align: center;
  width: 100%;
}

.hub-ai-primary .opa-conversation-empty-mark {
  display: none;
}

.hub-ai-primary .opa-conversation-empty h3 {
  color: #25292d;
  font-size: clamp(22px, 2vw, 27px);
  font-weight: var(--workspace-font-weight-medium, 500);
  letter-spacing: -.025em;
  margin: 0;
}

.hub-ai-primary .opa-conversation-empty p {
  display: none;
}

.hub-ai-primary .opa-composer {
  align-self: start;
  background: #fff;
  border-top: 0;
  grid-column: 2;
  grid-row: 2;
  margin: 0 auto;
  padding: 8px 0 18px;
  width: min(780px, calc(100% - 48px));
}

.hub-ai-primary .opa-approval-toolbar {
  display: none;
}

.hub-ai-primary .opa-approval-label {
  display: none;
}

.hub-ai-primary .opa-approval-select {
  background: #fff;
  border-color: #e2e4e5;
  border-radius: 6px;
  color: #5e656b;
  min-height: 26px;
}

.hub-ai-primary .opa-composer[data-approval-mode="full_access"] .opa-approval-select {
  background: #fff;
  border-color: #e2e4e5;
  color: #5e656b;
}

.hub-ai-primary .opa-approval-menu {
  background: #fff;
  border-color: #e2e4e5;
}

.hub-ai-primary .opa-approval-trigger {
  color: #5e656b;
  min-height: 27px;
}

.hub-ai-primary .opa-approval-option:not([data-approval-option="full_access"]) {
  color: #5e656b;
}

.hub-ai-primary .opa-approval-trigger[data-mode="full_access"] .opa-approval-trigger-label,
.hub-ai-primary .opa-approval-option[data-approval-option="full_access"] {
  color: #bd8500;
}

.hub-ai-primary .opa-composer textarea {
  color: #25292d;
  font-size: 13px;
  min-height: 46px;
}

.hub-ai-primary .opa-composer textarea::placeholder {
  color: #9aa0a5;
}

.hub-ai-primary .opa-send-button[data-mode="send"]:disabled {
  background: #e5e7e8;
  border-color: #e5e7e8;
  color: #9da2a6;
  opacity: 1;
}

.hub-ai-primary .opa-composer-hint {
  color: #9ba1a6;
  font-size: 8px;
  text-align: center;
}

.hub-ai-primary .opa-notice {
  background: #f6f7f7;
  border-color: #e0e2e3;
  color: #60676d;
  left: calc(var(--global-workspace-sidebar-width) + max(24px, (100vw - var(--global-workspace-sidebar-width) - 780px) / 2));
  margin: 0;
  max-width: 780px;
  position: absolute;
  right: max(24px, calc((100vw - var(--global-workspace-sidebar-width) - 780px) / 2));
  top: 16px;
  z-index: 2;
}

.hub-ai-primary .opa-notice[data-tone="warning"],
.hub-ai-primary .opa-stale-action,
.hub-ai-primary .opa-server-action[data-action-status="pending_approval"] {
  background: #fff8e8;
  border-color: #ead8aa;
  color: #806827;
}

.hub-ai-primary .opa-notice[data-tone="danger"] {
  background: #fff1f0;
  border-color: #ebc4c1;
  color: #a5433d;
}

.hub-ai-primary .opa-response-kind,
.hub-ai-primary .opa-citation-domain,
.hub-ai-primary .opa-action-status,
.hub-ai-primary .opa-message-tool,
.hub-ai-primary .opa-load-job-badge {
  background: #eef4fc;
  border-color: #d4e2f3;
  color: #326cae;
}

.hub-ai-primary .opa-citation,
.hub-ai-primary .opa-server-action,
.hub-ai-primary .opa-action-card,
.hub-ai-primary .opa-load-query-result {
  background: #f7f8f8;
  border-color: #e0e3e4;
  color: #4f565c;
}

.hub-ai-primary .opa-action-rationale,
.hub-ai-primary .opa-load-query-summary,
.hub-ai-primary .opa-load-query-row strong {
  color: #444b50;
}

.hub-ai-primary .opa-load-job {
  background: #f5f8f7;
  border-color: #d9e5e1;
}

.hub-ai-primary .opa-load-job[data-job-status="accepting"],
.hub-ai-primary .opa-load-job[data-job-status="queued"],
.hub-ai-primary .opa-load-job[data-job-status="running"],
.hub-ai-primary .opa-load-job[data-job-status="succeeded"] {
  background: #f1f8f5;
  border-color: #bcd9ce;
  box-shadow: none;
}

.hub-ai-primary .opa-load-job[data-job-status="awaiting_input"],
.hub-ai-primary .opa-load-job[data-job-status="awaiting_review"],
.hub-ai-primary .opa-load-job[data-job-status="cancelling"],
.hub-ai-primary .opa-load-job[data-job-status="stale"] {
  background: #fff8e8;
  border-color: #ead8aa;
}

.hub-ai-primary .opa-load-job[data-job-status="failed"] {
  background: #fff1f0;
  border-color: #ebc4c1;
}

.hub-ai-primary .opa-load-job-title-copy strong,
.hub-ai-primary .opa-load-job > strong,
.hub-ai-primary .opa-load-job-progress-label {
  color: #38413f;
}

.hub-ai-primary .opa-load-job-copy,
.hub-ai-primary .opa-load-job-stage,
.hub-ai-primary .opa-load-query-row span {
  color: #67716e;
}

.hub-ai-primary .opa-review-link {
  background: #eef4fc;
  border-color: #d4e2f3;
  color: #326cae;
}

.hub-ai-primary .opa-review-link:hover {
  background: #e3edf9;
}

.hub-ai-primary .opa-action-approve,
.hub-ai-primary .opa-load-job-resume {
  background: #256ed7;
  border-color: #256ed7;
  color: #fff;
}

.hub-ai-primary .opa-action-deny,
.hub-ai-primary .opa-load-job-cancel {
  background: #fff;
  border-color: #d6d9db;
  color: #5f666c;
}

.hub-ai-primary .opa-panel-toggle {
  display: none;
}

@media (min-width: 841px) {
  body.hub-ai-primary.opa-sidebar-collapsed {
    --global-workspace-sidebar-width: 56px;
  }

  body.hub-ai-primary.opa-sidebar-collapsed .opa-primary-sidebar-header {
    flex-direction: column;
    gap: 2px;
    justify-content: center;
    min-height: 88px;
    padding: 7px 6px;
  }

  body.hub-ai-primary.opa-sidebar-collapsed .opa-primary-sidebar-brand {
    display: block;
    flex: 0 0 38px;
    height: 38px;
    overflow: hidden;
    padding: 3px;
    width: 44px;
  }

  body.hub-ai-primary.opa-sidebar-collapsed .opa-primary-sidebar-brand .mepos-brand-logo {
    clip-path: inset(0 calc(100% - 29px) 0 0);
    height: 31px;
    max-width: none;
    object-fit: initial;
    transform: translateX(2px);
    width: auto;
  }

  body.hub-ai-primary.opa-sidebar-collapsed .opa-primary-sidebar-toggle {
    flex-basis: 32px;
    height: 32px;
    width: 42px;
  }

  body.hub-ai-primary.opa-sidebar-collapsed .opa-primary-sidebar-navigation {
    gap: 3px;
    padding: 0 7px 12px;
  }

  body.hub-ai-primary.opa-sidebar-collapsed .opa-primary-navigation-button,
  body.hub-ai-primary.opa-sidebar-collapsed .opa-new-chat {
    gap: 0;
    justify-content: center;
    padding: 8px;
  }

  body.hub-ai-primary.opa-sidebar-collapsed .opa-primary-navigation-button span,
  body.hub-ai-primary.opa-sidebar-collapsed .opa-new-chat span,
  body.hub-ai-primary.opa-sidebar-collapsed .opa-view-heading,
  body.hub-ai-primary.opa-sidebar-collapsed .opa-history-list,
  body.hub-ai-primary.opa-sidebar-collapsed .opa-primary-sidebar-account-copy {
    display: none;
  }

  body.hub-ai-primary.opa-sidebar-collapsed .opa-primary-sidebar-account-disclosure {
    display: none;
  }

  body.hub-ai-primary.opa-sidebar-collapsed .opa-primary-sidebar-account {
    margin-top: auto;
    padding: 8px 7px;
  }

  body.hub-ai-primary.opa-sidebar-collapsed .opa-primary-sidebar-account-button {
    gap: 0;
    justify-content: center;
    padding: 7px;
  }
}

@media (max-width: 840px) {
  .hub-ai-primary .opa-panel-toggle:not([hidden]) {
    display: inline-flex;
  }

  .hub-ai-primary .opa-primary-sidebar-toggle {
    display: none;
  }

  .hub-ai-primary .opa-panel {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto;
    height: 100dvh;
    max-height: 100vh;
    top: 0;
  }

  .hub-ai-primary .opa-panel[data-empty-conversation="true"] {
    grid-template-rows: minmax(0, 1fr) auto minmax(0, 1fr);
  }

  .hub-ai-primary .opa-header,
  .hub-ai-primary .opa-context-line,
  .hub-ai-primary .opa-conversation,
  .hub-ai-primary .opa-composer {
    grid-column: 1;
  }

  .hub-ai-primary .opa-header-actions [data-opa-action="new"] {
    display: inline-flex;
  }

  .hub-ai-primary .opa-history {
    border-right: 0;
    grid-column: 1;
    grid-row: 1 / -1;
    position: relative;
    z-index: 4;
  }

  .hub-ai-primary .opa-panel[data-view="history"] .opa-composer,
  .hub-ai-primary .opa-panel[data-view="history"] .opa-header,
  .hub-ai-primary .opa-panel[data-view="history"] .opa-context-line {
    display: none;
  }

  .hub-ai-primary .opa-panel[data-empty-conversation="true"] .opa-conversation-heading {
    height: auto;
    left: 6px;
    min-height: 0;
    overflow: visible;
    padding: 6px;
    position: absolute;
    top: 6px;
    visibility: visible;
    width: auto;
    z-index: 2;
  }

  .hub-ai-primary .opa-panel[data-empty-conversation="true"] .opa-conversation-heading > strong,
  .hub-ai-primary .opa-panel[data-empty-conversation="true"] .opa-active-thread-tools {
    display: none;
  }

  .hub-ai-primary .opa-conversation-empty {
    justify-content: flex-end;
    padding-bottom: 12px;
  }

  .hub-ai-primary .opa-messages {
    padding: 18px 14px 24px;
  }

  .hub-ai-primary .opa-notice {
    left: 14px;
    right: 14px;
  }

  .hub-ai-primary .opa-conversation-heading {
    padding: 8px 14px;
    width: 100%;
  }

  .hub-ai-primary .opa-composer {
    width: min(780px, calc(100% - 28px));
  }
}

@media (max-width: 440px) {
  .opa-context-line span:last-child {
    display: none;
  }

  .opa-view-copy p {
    max-width: 190px;
  }

  .opa-thread-tools {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .collab-account-popover {
    animation: none;
  }

  .opa-send-spinner {
    animation: none;
    border-color: rgba(23, 32, 30, .35);
    border-right-color: #17201e;
  }

  .opa-activity-dots span {
    animation: none;
    opacity: .75;
    transform: none;
  }

  .opa-load-job-spinner,
  .opa-load-job-badge[data-tone="progress"]::before,
  .opa-load-job-progress:indeterminate,
  .opa-load-job-progress[data-progress="indeterminate"],
  .opa-load-job-progress[data-progress="indeterminate"]::-webkit-progress-bar {
    animation: none;
    transform: none;
  }

  .opa-load-job-progress::-webkit-progress-value,
  .opa-load-job-progress::-moz-progress-bar {
    transition: none;
  }

  .opa-thread-tools,
  .opa-messages {
    scroll-behavior: auto;
    transition: none;
  }
}

/* Superseded primary-workspace draft retained temporarily for cache-safe rollback. */
@media (max-width: 0px) {
/* Project Hub: the assistant is the primary workspace, not a side dock. */
body.hub-ai-primary.opa-panel-open {
  overflow: hidden;
  padding-right: 0;
}

body.hub-ai-primary.opa-panel-open .toast-region,
body.hub-ai-primary.opa-panel-open .toast-stack {
  right: 18px;
}

.hub-ai-primary .opa-root {
  --opa-bg: #0f151b;
  --opa-surface: #161e26;
  --opa-surface-raised: #1a2530;
  --opa-hover: #1c2934;
  --opa-ink: #e6edf3;
  --opa-muted: #a2afbb;
  --opa-subtle: #758493;
  --opa-line: #283541;
  --opa-line-strong: #3a4a58;
  --opa-accent: #4386e8;
  font-size: 14px;
}

.hub-ai-primary .opa-panel {
  background: var(--opa-bg);
  border: 0;
  bottom: 0;
  box-shadow: none;
  height: calc(100dvh - 48px);
  left: 0;
  max-height: calc(100vh - 48px);
  right: 0;
  top: 48px;
  width: 100vw;
}

.hub-ai-primary .opa-header {
  background: #141b22;
  border-bottom-color: var(--opa-line);
  min-height: 48px;
  padding: 6px 18px;
}

.hub-ai-primary .opa-heading {
  gap: 9px;
}

.hub-ai-primary .opa-brand-mark {
  background: #2468da;
  border: 1px solid #3f7cdf;
  border-radius: 3px;
  color: #fff;
  height: 27px;
  width: 27px;
}

.hub-ai-primary .opa-heading h2 {
  font-size: 13px;
  font-weight: var(--workspace-font-weight-medium, 500);
}

.hub-ai-primary .opa-eyebrow {
  color: #71808e;
  font-size: 8px;
}

.hub-ai-primary .opa-header-actions {
  gap: 3px;
}

.hub-ai-primary .opa-icon-button,
.hub-ai-primary .opa-thread-tool,
.hub-ai-primary .opa-back-button {
  border-radius: 3px;
  height: 32px;
  min-width: 32px;
}

.hub-ai-primary .opa-panel[data-view="conversation"] [data-opa-action="refresh"] {
  display: none;
}

.hub-ai-primary .opa-context-line {
  background: #11181e;
  font-size: 10px;
  min-height: 30px;
  padding: 5px 20px;
}

.hub-ai-primary .opa-conversation-heading {
  border-bottom: 0;
  margin: 0 auto;
  min-height: 46px;
  padding: 7px 0;
  width: min(900px, calc(100% - 48px));
}

.hub-ai-primary .opa-conversation-heading strong {
  font-size: 12px;
}

.hub-ai-primary .opa-messages {
  gap: 24px;
  padding: 24px max(24px, calc((100vw - 900px) / 2)) 32px;
}

.hub-ai-primary .opa-message {
  align-self: center;
  margin-inline: auto;
  max-width: 900px;
  width: 100%;
}

.hub-ai-primary .opa-message-user .opa-message-meta,
.hub-ai-primary .opa-message-user .opa-message-content {
  margin-left: auto;
  max-width: min(76%, 680px);
}

.hub-ai-primary .opa-message-content {
  font-size: 13px;
  line-height: 1.72;
}

.hub-ai-primary .opa-message-user .opa-message-content {
  background: #1a2732;
  border-color: #344654;
  border-radius: 7px 7px 2px 7px;
  padding: 10px 13px;
}

.hub-ai-primary .opa-conversation-empty {
  align-items: center;
  align-self: center;
  color: var(--opa-muted);
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  margin: auto;
  max-width: 560px;
  padding: 24px 20px min(18vh, 150px);
  text-align: center;
}

.hub-ai-primary .opa-conversation-empty-mark {
  align-items: center;
  background: #172330;
  border: 1px solid #39516a;
  border-radius: 4px;
  color: #80b2f6;
  display: inline-flex;
  font-size: 12px;
  font-weight: var(--workspace-font-weight-regular, 400);
  height: 40px;
  justify-content: center;
  margin-bottom: 17px;
  width: 40px;
}

.hub-ai-primary .opa-conversation-empty h3 {
  color: var(--opa-ink);
  font-size: clamp(21px, 2vw, 27px);
  font-weight: var(--workspace-font-weight-medium, 500);
  letter-spacing: -.025em;
  margin: 0;
}

.hub-ai-primary .opa-conversation-empty p {
  color: var(--opa-subtle);
  font-size: 12px;
  margin: 9px 0 0;
}

.hub-ai-primary .opa-composer {
  background: transparent;
  border-top: 0;
  margin: 0 auto;
  padding: 8px 0 calc(18px + env(safe-area-inset-bottom, 0px));
  width: min(900px, calc(100% - 48px));
}

.hub-ai-primary .opa-approval-toolbar {
  margin: 0 1px 7px;
}

.hub-ai-primary .opa-approval-label,
.hub-ai-primary .opa-approval-select {
  font-size: 10px;
}

.hub-ai-primary .opa-approval-select {
  background: #151f28;
  border-color: #344452;
  border-radius: 3px;
  min-height: 27px;
}

.hub-ai-primary .opa-composer textarea {
  font-size: 13px;
  min-height: 50px;
}

.hub-ai-primary .opa-history {
  margin: 0 auto;
  width: min(760px, calc(100% - 48px));
}

.hub-ai-primary .opa-view-heading {
  padding: 28px 8px 16px;
}

.hub-ai-primary .opa-history-list {
  padding: 0 0 24px;
}

.hub-ai-primary .opa-thread {
  border-radius: 3px;
}

.hub-ai-primary .opa-thread-open {
  padding: 11px 10px;
}

.hub-ai-primary .opa-panel-toggle {
  background: #1a2732;
  border-color: #3a5267;
  border-radius: 3px;
  color: #8fbcf7;
  right: 16px;
  top: 64px;
}

@media (max-width: 840px) {
  .hub-ai-primary .opa-panel {
    height: calc(100dvh - 48px);
    max-height: calc(100vh - 48px);
    top: 48px;
    width: 100vw;
  }

  .hub-ai-primary .opa-context-line span:last-child {
    display: none;
  }

  .hub-ai-primary .opa-conversation-heading,
  .hub-ai-primary .opa-composer,
  .hub-ai-primary .opa-history {
    width: min(900px, calc(100% - 28px));
  }

  .hub-ai-primary .opa-messages {
    padding: 18px 14px 24px;
  }

  .hub-ai-primary .opa-message-user .opa-message-meta,
  .hub-ai-primary .opa-message-user .opa-message-content {
    max-width: 88%;
  }
}
}

/* Secondary workspaces use a compact floating assistant instead of a dock. */
body:not(.hub-ai-primary).opa-panel-open {
  padding-right: 0;
}

body:not(.hub-ai-primary).opa-panel-open .toast-region,
body:not(.hub-ai-primary).opa-panel-open .toast-stack {
  right: 18px;
}

.opa-root:not(.opa-root-primary) {
  --opa-bg: #fff;
  --opa-surface: #f5f6f6;
  --opa-surface-raised: #eef3f8;
  --opa-hover: #e9eaea;
  --opa-ink: #202326;
  --opa-muted: #616970;
  --opa-subtle: #8a9298;
  --opa-line: #e2e4e5;
  --opa-line-strong: #d2d5d7;
  --opa-accent: #256ed7;
  --opa-danger: #a5433d;
  color-scheme: light;
}

.opa-root:not(.opa-root-primary) .opa-panel-toggle {
  right: 24px;
  top: auto;
  bottom: 24px;
  width: 46px;
  height: 46px;
  color: #fff;
  background: #1b1b1b;
  border: 1px solid #1b1b1b;
  border-radius: 50%;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}

.opa-root:not(.opa-root-primary) .opa-panel-toggle:hover,
.opa-root:not(.opa-root-primary) .opa-panel-toggle:focus-visible {
  color: #fff;
  background: #000;
  border-color: #000;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.opa-root:not(.opa-root-primary) .opa-panel-toggle svg {
  width: 20px;
  height: 20px;
}

.opa-root:not(.opa-root-primary) .opa-panel {
  right: 24px;
  top: auto;
  bottom: 24px;
  width: min(390px, calc(100vw - 32px));
  height: min(570px, calc(100dvh - 48px));
  min-height: 360px;
  max-height: calc(100dvh - 48px);
  background: #fff;
  border: 1px solid #dfe2e1;
  border-radius: 14px;
  box-shadow: 0 18px 52px rgba(20, 24, 23, 0.2);
}

.opa-root:not(.opa-root-primary) .opa-header {
  min-height: 56px;
  background: #fff;
  border-color: #e2e4e3;
}

.opa-root:not(.opa-root-primary) .opa-brand-mark,
.opa-root:not(.opa-root-primary) .opa-response-kind,
.opa-root:not(.opa-root-primary) .opa-citation-domain,
.opa-root:not(.opa-root-primary) .opa-action-status,
.opa-root:not(.opa-root-primary) .opa-load-job-badge {
  color: #326cae;
  background: #eef4fc;
  border-color: #d4e2f3;
}

.opa-root:not(.opa-root-primary) .opa-brand-mark {
  color: #256ed7;
  border: 1px solid #d5e2f3;
  border-radius: 6px;
}

.opa-root:not(.opa-root-primary) .opa-icon-button:hover,
.opa-root:not(.opa-root-primary) .opa-thread-tool:hover,
.opa-root:not(.opa-root-primary) .opa-back-button:hover {
  color: #202326;
  background: #f1f2f2;
  border-color: #e1e3e4;
}

.opa-root:not(.opa-root-primary) .opa-context-line {
  color: #8a9298;
  background: #f7f8f8;
  border-color: #e2e4e5;
}

.opa-root:not(.opa-root-primary) .opa-context-line span:first-child,
.opa-root:not(.opa-root-primary) .opa-history-empty strong,
.opa-root:not(.opa-root-primary) .opa-message-author,
.opa-root:not(.opa-root-primary) .opa-activity {
  color: #5d646a;
}

.opa-root:not(.opa-root-primary) .opa-notice {
  color: #60676d;
  background: #f6f7f7;
  border-color: #e0e2e3;
}

.opa-root:not(.opa-root-primary) .opa-notice[data-tone="warning"],
.opa-root:not(.opa-root-primary) .opa-stale-action,
.opa-root:not(.opa-root-primary) .opa-server-action[data-action-status="pending_approval"] {
  color: #806827;
  background: #fff8e8;
  border-color: #ead8aa;
}

.opa-root:not(.opa-root-primary) .opa-notice[data-tone="danger"] {
  color: #a5433d;
  background: #fff1f0;
  border-color: #ebc4c1;
}

.opa-root:not(.opa-root-primary) .opa-message-state-badge {
  color: #737a80;
  background: #f5f6f6;
  border-color: #e0e2e3;
}

.opa-root:not(.opa-root-primary) .opa-message-user .opa-message-content {
  color: #25292d;
  background: #edf3f8;
  border-color: #e0e9f0;
}

.opa-root:not(.opa-root-primary) .opa-message-system .opa-message-content,
.opa-root:not(.opa-root-primary) .opa-message-tool .opa-message-content {
  color: #5e656b;
  background: #f6f7f7;
  border-color: #d9dcde;
}

.opa-root:not(.opa-root-primary) .opa-citation,
.opa-root:not(.opa-root-primary) .opa-server-action,
.opa-root:not(.opa-root-primary) .opa-action-card,
.opa-root:not(.opa-root-primary) .opa-load-query-result {
  color: #4f565c;
  background: #f7f8f8;
  border-color: #e0e3e4;
}

.opa-root:not(.opa-root-primary) .opa-approval-select,
.opa-root:not(.opa-root-primary) .opa-approval-menu {
  color: #5e656b;
  background: #fff;
  border-color: #e2e4e5;
}

.opa-root:not(.opa-root-primary) .opa-approval-option:not([data-approval-option="full_access"]) {
  color: #5e656b;
}

.opa-root:not(.opa-root-primary) .opa-composer-row {
  background: #fff;
  border-color: #dfe2e4;
  box-shadow: 0 6px 22px rgb(28 35 40 / 8%);
}

.opa-root:not(.opa-root-primary) .opa-composer:focus-within .opa-composer-row {
  border-color: #aab6c0;
  box-shadow: 0 7px 25px rgb(28 35 40 / 11%);
}

.opa-root:not(.opa-root-primary) .opa-composer textarea {
  color: #25292d;
}

.opa-root:not(.opa-root-primary) .opa-composer textarea::placeholder {
  color: #9aa0a5;
}

.opa-root:not(.opa-root-primary) .opa-send-button {
  color: #fff;
  background: #25292d;
  border-color: #25292d;
}

.opa-root:not(.opa-root-primary) .opa-send-button:hover:not(:disabled) {
  background: #0f1113;
  border-color: #0f1113;
}

.opa-root:not(.opa-root-primary) .opa-send-button[data-mode="send"]:disabled {
  background: #e5e7e8;
  border-color: #e5e7e8;
  color: #9da2a6;
  opacity: 1;
}

.opa-root:not(.opa-root-primary) .opa-review-link {
  color: #326cae;
  background: #eef4fc;
  border-color: #d4e2f3;
}

.opa-root:not(.opa-root-primary) .opa-action-approve,
.opa-root:not(.opa-root-primary) .opa-load-job-resume {
  color: #fff;
  background: #256ed7;
  border-color: #256ed7;
}

/* Load-job cards can appear in both the Hub and a floating tool assistant.
 * Keep their status surfaces light; the dark engineering palette above is a
 * structural fallback, not part of the active workspace theme. */
.opa-root:not(.opa-root-primary) .opa-load-job {
  color: #4f565c;
  background: #f5f8f7;
  border-color: #d9e5e1;
}

.opa-root:not(.opa-root-primary) .opa-load-job[data-job-status="accepting"],
.opa-root:not(.opa-root-primary) .opa-load-job[data-job-status="queued"],
.opa-root:not(.opa-root-primary) .opa-load-job[data-job-status="running"],
.opa-root:not(.opa-root-primary) .opa-load-job[data-job-status="succeeded"] {
  background: #f1f8f5;
  border-color: #bcd9ce;
  box-shadow: none;
}

.opa-root:not(.opa-root-primary) .opa-load-job[data-job-status="awaiting_input"],
.opa-root:not(.opa-root-primary) .opa-load-job[data-job-status="awaiting_review"],
.opa-root:not(.opa-root-primary) .opa-load-job[data-job-status="cancelling"],
.opa-root:not(.opa-root-primary) .opa-load-job[data-job-status="stale"] {
  background: #fff8e8;
  border-color: #ead8aa;
}

.opa-root:not(.opa-root-primary) .opa-load-job[data-job-status="failed"] {
  background: #fff1f0;
  border-color: #ebc4c1;
}

.opa-root:not(.opa-root-primary) .opa-load-job-title-copy strong,
.opa-root:not(.opa-root-primary) .opa-load-job > strong,
.opa-root:not(.opa-root-primary) .opa-load-job-progress-label {
  color: #38413f;
}

.opa-root:not(.opa-root-primary) .opa-load-job-copy,
.opa-root:not(.opa-root-primary) .opa-load-job-stage,
.opa-root:not(.opa-root-primary) .opa-load-query-row span {
  color: #67716e;
}

.hub-ai-primary .opa-load-job-wait-notice,
.hub-ai-primary .opa-load-result-notice,
.opa-root:not(.opa-root-primary) .opa-load-job-wait-notice,
.opa-root:not(.opa-root-primary) .opa-load-result-notice {
  color: #5e656b;
  background: #f7f8f8;
  border-left-color: #8fb2e8;
}

.hub-ai-primary .opa-load-result-notice,
.opa-root:not(.opa-root-primary) .opa-load-result-notice {
  color: #6f6654;
  border-left-color: #c6ae7c;
}

.hub-ai-primary .opa-load-job-progress,
.opa-root:not(.opa-root-primary) .opa-load-job-progress {
  accent-color: #6f91de;
  background: #e2e6e4;
}

.hub-ai-primary .opa-load-job-progress::-webkit-progress-bar,
.opa-root:not(.opa-root-primary) .opa-load-job-progress::-webkit-progress-bar {
  background: #e2e6e4;
}

.hub-ai-primary .opa-load-job-progress::-webkit-progress-value,
.hub-ai-primary .opa-load-job-progress::-moz-progress-bar,
.opa-root:not(.opa-root-primary) .opa-load-job-progress::-webkit-progress-value,
.opa-root:not(.opa-root-primary) .opa-load-job-progress::-moz-progress-bar {
  background: #6f91de;
}

.hub-ai-primary .opa-load-job-progress:indeterminate,
.hub-ai-primary .opa-load-job-progress[data-progress="indeterminate"],
.hub-ai-primary .opa-load-job-progress[data-progress="indeterminate"]::-webkit-progress-bar,
.opa-root:not(.opa-root-primary) .opa-load-job-progress:indeterminate,
.opa-root:not(.opa-root-primary) .opa-load-job-progress[data-progress="indeterminate"],
.opa-root:not(.opa-root-primary) .opa-load-job-progress[data-progress="indeterminate"]::-webkit-progress-bar {
  background-image: linear-gradient(90deg, #e2e6e4 0%, #8fb2e8 48%, #e2e6e4 100%);
}

.hub-ai-primary .opa-load-job-cancel:hover:not(:disabled),
.opa-root:not(.opa-root-primary) .opa-load-job-cancel:hover:not(:disabled) {
  color: #4f565c;
  background: #f2f2f0;
  border-color: #b9bfbc;
}

@media (max-width: 560px) {
  .opa-root:not(.opa-root-primary) .opa-panel-toggle {
    right: 14px;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }

  .opa-root:not(.opa-root-primary) .opa-panel {
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    width: calc(100vw - 24px);
    height: min(600px, calc(100dvh - 24px - env(safe-area-inset-bottom, 0px)));
    min-height: 0;
    max-height: calc(100dvh - 24px - env(safe-area-inset-bottom, 0px));
  }
}

/* Unified conversational transcript: user prompts are compact dark bubbles,
 * while assistant replies read as calm, full-width documents. */
.opa-message-assistant {
  align-self: stretch;
  max-width: 100%;
}

.opa-message-assistant .opa-message-meta {
  color: #8b9198;
  font-size: 11px;
  font-weight: var(--workspace-font-weight-regular, 400);
  justify-content: flex-start;
  line-height: 1.45;
  margin: 0 0 10px;
}

.opa-message-assistant .opa-message-author-line {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.opa-message-user:not([data-run-state]) .opa-message-meta {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.opa-message-assistant .opa-message-content {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #24272b;
  max-width: none;
  padding: 0;
  white-space: normal;
  width: 100%;
}

.opa-message-user .opa-message-content,
.opa-root:not(.opa-root-primary) .opa-message-user .opa-message-content,
.hub-ai-primary .opa-message-user .opa-message-content {
  background: #171717;
  border: 1px solid #171717;
  border-radius: 20px;
  box-shadow: none;
  color: #fff;
  line-height: 1.55;
  margin-left: auto;
  min-width: 0;
  overflow-wrap: anywhere;
  padding: 11px 16px;
  white-space: pre-wrap;
  width: fit-content;
}

.opa-message-assistant .opa-message-content > p,
.opa-message-assistant .opa-message-content > ul,
.opa-message-assistant .opa-message-content > ol,
.opa-message-assistant .opa-message-content > h3,
.opa-message-assistant .opa-message-content > h4,
.opa-message-assistant .opa-message-content > h5 {
  margin: 0;
}

.opa-message-assistant .opa-message-content > p {
  white-space: pre-wrap;
}

.opa-message-assistant .opa-message-content > p + p,
.opa-message-assistant .opa-message-content > p + ul,
.opa-message-assistant .opa-message-content > p + ol,
.opa-message-assistant .opa-message-content > ul + p,
.opa-message-assistant .opa-message-content > ol + p {
  margin-top: 16px;
}

.opa-message-assistant .opa-message-content > h3,
.opa-message-assistant .opa-message-content > h4,
.opa-message-assistant .opa-message-content > h5 {
  color: #17191c;
  font-weight: var(--workspace-font-weight-medium, 500);
  letter-spacing: -.025em;
  line-height: 1.3;
  margin-top: 24px;
}

.opa-message-assistant .opa-message-content > h3:first-child,
.opa-message-assistant .opa-message-content > h4:first-child,
.opa-message-assistant .opa-message-content > h5:first-child {
  margin-top: 0;
}

.opa-message-assistant .opa-message-content > h3 + *,
.opa-message-assistant .opa-message-content > h4 + *,
.opa-message-assistant .opa-message-content > h5 + * {
  margin-top: 9px;
}

.opa-message-assistant .opa-message-content > h3 {
  font-size: 1.55em;
}

.opa-message-assistant .opa-message-content > h4 {
  font-size: 1.28em;
}

.opa-message-assistant .opa-message-content > h5 {
  font-size: 1.1em;
}

.opa-message-assistant .opa-message-content > ul,
.opa-message-assistant .opa-message-content > ol {
  padding-left: 22px;
}

.opa-message-assistant .opa-message-content li + li {
  margin-top: 6px;
}

.opa-message-assistant .opa-message-content strong {
  color: #17191c;
  font-weight: var(--workspace-font-weight-medium, 500);
}

.opa-message-assistant .opa-response-detail {
  margin-top: 18px;
}

.opa-message-assistant .opa-response-detail[data-response-kind="answer"] > .opa-response-kind {
  display: none;
}

.opa-load-input-table {
  background: #fff;
  border: 1px solid #e2e5e9;
  border-radius: 14px;
  color: #24272b;
  display: grid;
  margin-top: 14px;
  overflow: hidden;
}

.opa-load-input-table-heading {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 16px 17px 14px;
}

.opa-load-input-table-title {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.opa-load-input-table-title strong {
  color: #17191c;
  font-size: 14px;
  font-weight: var(--workspace-font-weight-medium, 500);
  letter-spacing: -.02em;
}

.opa-load-input-table-title span,
.opa-load-input-description,
.opa-load-input-state,
.opa-load-input-guidance {
  color: #727980;
  font-size: 11px;
  font-weight: var(--workspace-font-weight-regular, 400);
  line-height: 1.55;
}

.opa-load-input-refresh {
  background: #f5f6f7;
  border: 1px solid #e1e4e7;
  border-radius: 8px;
  color: #41474e;
  cursor: pointer;
  flex: 0 0 auto;
  font: inherit;
  font-size: 11px;
  font-weight: var(--workspace-font-weight-regular, 400);
  min-height: 32px;
  padding: 6px 10px;
}

.opa-load-input-refresh:hover:not(:disabled) {
  background: #eceeef;
  border-color: #d7dade;
}

.opa-load-input-refresh:disabled {
  cursor: wait;
  opacity: .55;
}

.opa-load-input-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 17px 14px;
}

.opa-load-input-summary span {
  background: #f5f7fa;
  border: 1px solid #e5e8ec;
  border-radius: 999px;
  color: #626a73;
  font-size: 10px;
  line-height: 1;
  padding: 6px 8px;
}

.opa-load-input-state {
  margin: 0;
  padding: 4px 17px 17px;
}

.opa-load-input-error {
  color: #a5433d;
}

.opa-load-input-section {
  border-top: 1px solid #eceef0;
}

.opa-load-input-section-summary {
  align-items: center;
  color: #30353a;
  cursor: pointer;
  display: flex;
  font-size: 12px;
  font-weight: var(--workspace-font-weight-regular, 400);
  gap: 8px;
  justify-content: space-between;
  list-style-position: inside;
  padding: 12px 17px;
}

.opa-load-input-section-summary:hover {
  background: #f8f9fa;
}

.opa-load-input-section-summary small {
  color: #899098;
  font-size: 10px;
  font-weight: var(--workspace-font-weight-regular, 400);
  margin-left: auto;
}

.opa-load-input-description {
  margin: -4px 17px 10px;
}

.opa-load-input-table-scroll {
  max-height: 360px;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-color: #cfd4d9 transparent;
  scrollbar-width: thin;
}

.opa-load-input-table table {
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
  min-width: 590px;
  table-layout: fixed;
  width: 100%;
}

.opa-load-input-table th,
.opa-load-input-table td {
  border-top: 1px solid #eceef0;
  font-size: 11px;
  font-weight: var(--workspace-font-weight-regular, 400);
  line-height: 1.45;
  overflow-wrap: anywhere;
  padding: 9px 12px;
  text-align: left;
  vertical-align: top;
}

.opa-load-input-table thead th {
  background: #f7f8fa;
  color: #69717a;
  font-size: 10px;
  font-weight: var(--workspace-font-weight-medium, 500);
  position: sticky;
  top: 0;
  z-index: 1;
}

.opa-load-input-table tbody th {
  color: #343a40;
  font-weight: var(--workspace-font-weight-medium, 500);
  width: 38%;
}

.opa-load-input-table td {
  color: #596168;
}

.opa-load-input-table td.is-missing,
.opa-load-input-table td:last-child {
  color: #2864dc;
}

.opa-load-input-guidance {
  background: #f8f9fb;
  border-top: 1px solid #eceef0;
  color: #59636f;
  margin: 0;
  padding: 11px 17px 12px;
}

.opa-load-input-update-result {
  background: #fff;
  border: 1px solid #e2e5e9;
  border-radius: 10px;
  color: #24272b;
  display: grid;
  overflow: hidden;
}

.opa-load-input-update-heading {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 12px 13px;
}

.opa-load-input-update-heading strong {
  color: #30353a;
  font-size: 11px;
  font-weight: var(--workspace-font-weight-medium, 500);
  line-height: 1.45;
}

.opa-load-input-update-heading span {
  background: #f3f6fa;
  border: 1px solid #e1e7ef;
  border-radius: 999px;
  color: #326cae;
  flex: 0 0 auto;
  font-size: 9px;
  padding: 4px 7px;
}

.opa-load-input-update-scroll {
  overflow-x: auto;
  overscroll-behavior: contain;
  scrollbar-color: #cfd4d9 transparent;
  scrollbar-width: thin;
}

.opa-load-input-update-result table {
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
  min-width: 590px;
  table-layout: fixed;
  width: 100%;
}

.opa-load-input-update-result th,
.opa-load-input-update-result td {
  border-top: 1px solid #eceef0;
  color: #596168;
  font-size: 10px;
  font-weight: var(--workspace-font-weight-regular, 400);
  line-height: 1.45;
  overflow-wrap: anywhere;
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}

.opa-load-input-update-result thead th {
  background: #f7f8fa;
  color: #69717a;
  font-size: 9px;
  font-weight: var(--workspace-font-weight-medium, 500);
}

.opa-load-input-update-result tbody th {
  color: #343a40;
  font-weight: var(--workspace-font-weight-medium, 500);
}

.opa-load-input-update-result td:last-child {
  color: #2864dc;
}

.opa-load-input-update-result .opa-load-result-notice,
.opa-load-input-update-omitted {
  background: #f8f9fb;
  border: 0;
  border-top: 1px solid #eceef0;
  color: #737b84;
  font-size: 9px;
  line-height: 1.55;
  margin: 0;
  padding: 8px 12px;
}

.hub-ai-primary .opa-messages {
  gap: 34px;
  padding-bottom: 42px;
}

.hub-ai-primary .opa-message,
.hub-ai-primary .opa-message-assistant,
.hub-ai-primary .opa-message-user {
  align-self: center;
  margin-inline: auto;
  max-width: 820px;
  width: 100%;
}

.hub-ai-primary .opa-message-assistant .opa-message-content {
  font-size: 15px;
  line-height: 1.75;
}

.hub-ai-primary .opa-message-assistant .opa-message-meta {
  font-size: 12px;
}

.hub-ai-primary .opa-message-user .opa-message-content {
  font-size: 15px;
  margin-left: auto;
  max-width: min(72%, 680px);
}

.opa-root:not(.opa-root-primary) .opa-messages {
  gap: 24px;
}

.opa-root:not(.opa-root-primary) .opa-message-user {
  max-width: 84%;
}

.opa-root:not(.opa-root-primary) .opa-message-assistant .opa-message-content {
  font-size: 12px;
  line-height: 1.72;
}

@media (max-width: 840px) {
  .hub-ai-primary .opa-messages {
    gap: 28px;
  }

  .hub-ai-primary .opa-message-user .opa-message-content {
    max-width: 88%;
  }
}
/* Interactive material stays inside the main conversation. */
.opa-inline-block, .opa-inline-workspace-slot { min-width:0; max-width:100%; }
.opa-inline-workspace-slot { margin:20px 0; }
.opa-root-primary .opa-message:has(.opa-inline-block), .opa-root-primary .opa-inline-workspace-slot { width:100%; max-width:100%; }

.opa-ai-availability { margin-top:8px; padding:8px 10px; border:1px solid var(--workspace-border,#d8dcd5); border-radius:5px; color:var(--workspace-text,#253028); overflow-wrap:anywhere; }
.opa-ai-availability p { margin:0; font-size:11px; line-height:1.5; }
.opa-ai-availability small { display:block; margin-top:4px; font-size:10px; line-height:1.5; }
.opa-ai-availability button { margin-top:6px; padding:4px 8px; border:1px solid var(--workspace-border,#d8dcd5); border-radius:4px; background:transparent; color:inherit; font:inherit; font-size:11px; max-width:100%; cursor:pointer; }
.opa-ai-availability button:disabled { cursor:default; opacity:.65; }
.opa-ai-availability[data-state="ready"] { border:0; padding:0; }

/* Durable agent controls reuse the shared workspace palette on every entry route. */
.opa-follow-up { max-height: min(42vh, 390px); overflow-y: auto; overscroll-behavior: contain; min-width: 0; margin-bottom: 10px; scrollbar-width: thin; }
.opa-work-status, .opa-queue { border: 1px solid var(--workspace-border, #d8dcd5); border-radius: 8px; padding: 9px 11px; margin-bottom: 8px; font-size: 12px; }
.opa-work-status summary { cursor: pointer; font-weight: 500; }
.opa-work-nodes, .opa-queue-items { list-style: none; margin: 8px 0 0; padding: 0; }
.opa-work-nodes li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 5px 0; overflow-wrap: anywhere; }
.opa-work-state { flex: 0 0 auto; color: var(--workspace-text-muted, #66716c); font-size: 11px; }
.opa-reasoning-status, .opa-queue-paused { color: var(--workspace-text-muted, #66716c); font-size: 11px; line-height: 1.5; margin: 6px 0; }
.opa-queue-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.opa-queue-item + .opa-queue-item { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--workspace-border, #d8dcd5); }
.opa-queue-item-state { color: var(--workspace-text-muted, #66716c); font-size: 10px; }
.opa-queue-item-content { margin: 4px 0 6px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.5; }
.opa-queue-item-actions { display: flex; gap: 5px; flex-wrap: wrap; }
.opa-follow-up-button { font: inherit; font-size: 11px; line-height: 1.4; border: 1px solid var(--workspace-border, #d8dcd5); border-radius: 5px; padding: 5px 8px; background: var(--workspace-surface, #fff); color: var(--workspace-text, #253028); cursor: pointer; }
.opa-follow-up-button:disabled { opacity: .5; cursor: default; }
.opa-follow-up-error { color: var(--workspace-danger, #a12626); font-size: 11px; line-height: 1.5; margin: 8px 0; }
.opa-root .opa-question-answer-input, .opa-composer .opa-queue-edit-input { display: block; width: 100%; min-height: 58px; max-height: 140px; border: 1px solid var(--workspace-border, #d8dcd5); border-radius: 6px; padding: 8px; margin: 8px 0; resize: vertical; box-sizing: border-box; font-size: 12px; background: var(--workspace-surface, #fff); }
@media (max-width: 540px) {
  .opa-follow-up { max-height: 34dvh; }
  .opa-follow-up-button { min-height: 32px; }
}

/* Shared primary composer: input above one stable toolbar, independent of run state. */
body.hub-ai-primary .opa-composer-row { display: flex; flex-direction: column; align-items: stretch; gap: 8px; background: var(--workspace-surface, #fff); border: 1px solid var(--workspace-border, #dfe2e4); border-radius: 18px; padding: 12px; box-shadow: 0 4px 18px rgb(28 35 40 / 5%); }
body.hub-ai-primary .opa-composer:focus-within .opa-composer-row { border-color: var(--workspace-accent, #778da5); box-shadow: 0 4px 18px rgb(28 35 40 / 8%); }
.opa-composer-tools { display: flex; align-items: center; gap: 8px; width: 100%; min-width: 0; }
.opa-composer-tools .opa-approval-picker { margin-right: auto; }
body.hub-ai-primary .opa-send-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; min-width: 36px; width: 36px; height: 36px; min-height: 36px; padding: 0; border-radius: 50%; background: #25292d; border: 1px solid #25292d; color: #fff; }
body.hub-ai-primary .opa-send-button:hover:not(:disabled) { background: #101214; border-color: #101214; }
.opa-composer-hint { display: none; }
.opa-follow-up-submit, .opa-delivery-actions button { font: inherit; font-size: 12px; color: var(--workspace-text, #253028); background: var(--workspace-surface, #fff); border: 1px solid var(--workspace-border, #d9dee7); border-radius: 8px; padding: 7px 10px; cursor: pointer; }
.opa-follow-up-submit:disabled, .opa-delivery-actions button:disabled { opacity: .5; cursor: default; }
.opa-delivery-card { padding: 10px 12px; margin: 0 8px 8px; border: 1px solid var(--workspace-border, #d9dee7); border-radius: 12px; background: var(--workspace-surface, #fff); }
.opa-delivery-card p { margin: 0 0 8px; white-space: pre-wrap; overflow-wrap: anywhere; max-height: 100px; overflow: auto; font-size: 13px; }
.opa-delivery-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; align-items: center; gap: 8px; }
.opa-processing-settings { color: var(--workspace-text-muted, #66716c); margin: 8px 12px 0; font-size: 11px; }
.opa-processing-settings summary { cursor: pointer; width: fit-content; }
.opa-processing-settings p { font-size: 11px; line-height: 1.6; max-width: 640px; }
.opa-processing-settings .opa-external-processing-consent { margin: 10px 0; font-size: 12px; }
.opa-delivery-card[hidden], .opa-follow-up-submit[hidden], .opa-follow-up [hidden] { display: none !important; }
.opa-project-heading { display: flex; align-items: center; gap: 6px; padding: 10px 8px 14px; min-width: 0; }
.opa-project-heading[hidden] { display: none; }
.opa-project-heading strong { font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.opa-project-back { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; background: transparent; border: 0; border-radius: 8px; color: inherit; cursor: pointer; }
.opa-project-back svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.opa-project-back:hover { background: var(--workspace-hover, #f0f2f3); }
.opa-primary-sidebar-shell[data-project-selected="false"] .opa-primary-sidebar-navigation,
.opa-primary-sidebar-shell[data-project-selected="false"] .opa-view-heading,
.opa-primary-sidebar-shell[data-project-selected="false"] .opa-history-list { display: none; }
body.opa-sidebar-collapsed .opa-project-heading strong { display: none; }
.opa-delivery-actions :focus-visible, .opa-project-back:focus-visible, .opa-follow-up-submit:focus-visible, .opa-processing-settings :focus-visible { outline: 2px solid var(--workspace-accent, #3473d8); outline-offset: 2px; }
@media (max-width: 540px) { .opa-composer-tools { gap: 5px; } .opa-follow-up-submit { max-width: 110px; min-height: 36px; } .opa-delivery-card { margin-inline: 0; } }
