/* Conversation review extends the existing admin shell. */
.review-mode-switch {
  display: inline-flex;
  align-items: stretch;
  gap: 4px;
  padding: 4px;
  border: 1px solid #38445b;
  border-radius: 11px;
  background: #10141c;
}
.review-mode-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: #b7c2d5;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  cursor: pointer;
  white-space: nowrap;
}
.review-mode-button:hover { background: #242d3d; color: #fff; }
.review-mode-button[aria-pressed="true"] {
  background: #294471;
  border-color: #729ee9;
  color: #fff;
  box-shadow: inset 0 0 0 1px #729ee933;
}
#review-issues-mode[aria-pressed="true"] {
  background: #4b3820;
  border-color: #c5a15e;
  color: #ffebc9;
}
.review-mode-button:focus-visible { outline: 2px solid #bdd3ff; outline-offset: 3px; }
.review-open-count {
  border-radius: 999px;
  padding: 3px 7px;
  background: #c5a15e24;
  color: #f3cd89;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
#conversations-view .conv-head-main { min-width: 0; }
#conversations-view .conv-heading-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
#conversations-heading { border: 0; padding-left: 0; }
#conversations-view[data-review-mode="issues"] #conversations-heading { border-left: 3px solid #c5a15e; padding-left: 10px; }
#conversations-view[data-review-mode="issues"] .review-board { border-color: #79603b; }
@media (max-width: 560px) {
  #conversations-view .conv-head-actions { width: 100%; }
  .review-mode-switch { width: 100%; }
  .review-mode-button { flex: 1; min-width: 0; padding: 8px; }
  .review-open-count { white-space: normal; }
}
#conversations-view .conv-grid {
  grid-template-columns: 260px minmax(320px, 1fr) 350px;
  min-width: 0;
}
#conversations-view .conv-scroll {
  overflow: visible;
}
#conversations-view .conv-pane {
  min-width: 0;
}
.review-pane {
  background: #181c25 !important;
  overflow: auto;
}
.review-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 19px 17px 13px;
}
.review-heading h3 {
  font-size: 15px;
  margin: 0;
}
.review-heading span {
  font-size: 10px;
  color: var(--muted);
}
.review-tabs {
  display: flex;
  gap: 18px;
  border-bottom: 1px solid var(--line);
  padding: 0 17px;
}
.review-tabs button {
  border: 0;
  border-bottom: 2px solid transparent;
  background: none;
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  padding: 0 0 12px;
  cursor: pointer;
}
.review-tabs button.active {
  color: #b6cbff;
  border-bottom-color: #779cf8;
}
.review-body {
  padding: 17px;
}
.review-hint {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
  margin: 0 0 14px;
}
.review-full {
  width: 100%;
}
.review-empty {
  padding: 24px 16px;
  color: var(--muted);
  font-size: 13px;
  text-align: center;
  line-height: 1.7;
}
.review-card {
  background: #1e232e;
  border: 1px solid #333b4b;
  border-radius: 9px;
  padding: 14px;
  margin: 14px 0;
  overflow-wrap: anywhere;
}
.review-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 10px;
  color: var(--muted);
  margin-bottom: 10px;
}
.review-card h4 {
  font-size: 13px;
  margin: 9px 0;
  line-height: 1.6;
}
.review-card h5 {
  font-size: 11px;
  color: #c1cce0;
  margin: 17px 0 4px;
}
.review-card p {
  font-size: 12px;
  color: #adb7c9;
  line-height: 1.7;
  white-space: pre-wrap;
  margin: 10px 0;
}
.review-badge {
  display: inline-block;
  border-radius: 5px;
  padding: 2px 6px;
  background: #ffffff0a;
  color: #aeb8c9;
  font-size: 10px;
  white-space: normal;
}
.review-badge.good {
  background: #28604630;
  color: #96d2b2;
}
.review-badge.warm {
  background: #78603230;
  color: #e1be81;
}
.review-badge.purple {
  background: #644b8638;
  color: #cbb4f0;
}
.review-call { border: 1px solid var(--line); border-radius: 10px; padding: 12px; margin-bottom: 10px; min-width: 0; }
.review-call-head { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; font-size: 12px; }
.review-call-head time, .review-call-speaker { color: var(--muted); font-size: 10.5px; }
.review-call-outcome { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; margin: 8px 0; }
.review-call-transcript summary { cursor: pointer; color: #bcd0ff; font-size: 12px; padding: 6px 0; }
.review-call-transcript .message-card { margin-top: 8px; }
.review-call-transcript .message-card.user { margin-left: auto; }
.review-link {
  display: inline-block;
  font: inherit;
  font-size: 11px;
  background: none;
  border: 0;
  color: #a6c1fa;
  padding: 7px 0;
  text-decoration: none;
  cursor: pointer;
  text-align: left;
  overflow-wrap: anywhere;
}
.review-link:hover {
  text-decoration: underline;
}
.review-quote {
  width: 100%;
  display: block;
  text-align: left;
  border: 0;
  border-left: 2px solid #a88850;
  background: #a7874920;
  color: #d2ba8d;
  padding: 10px;
  margin: 10px 0;
  font: inherit;
  font-size: 11px;
  line-height: 1.7;
  white-space: pre-wrap;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.review-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 13px;
}
.review-footer {
  border-top: 1px solid var(--line);
  padding-top: 18px;
  margin-top: 20px;
}
.review-footer p {
  margin-top: 9px;
}
.review-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 17px;
  border-bottom: 1px solid var(--line);
  font-size: 11px;
  color: var(--muted);
  flex-wrap: wrap;
}
.review-toolbar select {
  background: #1b2130;
  color: #d1dcef;
  border: 1px solid #333f55;
  border-radius: 6px;
  padding: 6px;
  font: inherit;
}
.review-milestones {
  padding: 13px 17px;
  border-bottom: 1px solid var(--line);
  background: #171c25;
}
.review-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 9px;
}
.review-kicker {
  font-size: 10px;
  color: var(--muted);
}
.review-message-meta {
  font-size: 10px;
  color: var(--muted);
  margin-top: 6px;
}
.review-highlight {
  outline: 2px solid #c0a064;
  outline-offset: 5px;
}
.review-board {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 22px;
  background: var(--card);
}
.review-board-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.review-board h3 {
  font-size: 16px;
  margin: 0 0 6px;
}
.review-issue-row {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) auto;
  align-items: center;
  gap: 15px;
  border-bottom: 1px solid var(--line);
  padding: 18px 0;
}
.review-issue-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  grid-column: 1;
}
.review-issue-row > .btn {
  grid-column: 2;
  grid-row: 1 / 3;
}
.review-issue-row > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
.review-latest {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 12px;
}
.review-latest p {
  margin: 0;
}
#review-issue-copy {
  padding: 0;
}
.review-issue-name {
  background: none;
  border: 0;
  padding: 0;
  color: #dae5ff;
  font: inherit;
  text-align: left;
  font-size: 14px;
  cursor: pointer;
}
.review-issue-name:hover {
  text-decoration: underline;
}
.review-issue-row p {
  margin: 5px 0 0;
}
.review-search {
  flex: 1;
  min-width: 140px;
  padding: 8px 10px;
  background: #111720;
  border: 1px solid #344053;
  color: #e6e9ef;
  border-radius: 7px;
  font: inherit;
}
.review-dialog {
  color: #e6e9ef;
  background: #1a202b;
  border: 1px solid #414d63;
  border-radius: 12px;
  padding: 24px;
  width: min(580px, calc(100vw - 28px));
  max-height: 90vh;
  overflow: auto;
  box-shadow: 0 20px 80px #0008;
}
.review-dialog::backdrop {
  background: #080c14c9;
}
.review-dialog h2 {
  font-size: 20px;
  margin: 0 0 9px;
}
.review-dialog p {
  font-size: 12px;
  color: var(--muted);
}
.review-dialog label {
  display: block;
  color: #b9c4d7;
  font-size: 12px;
  margin: 14px 0 5px;
}
.review-dialog input,
.review-dialog textarea,
.review-dialog select {
  width: 100%;
  background: #111720;
  color: #e6e9ef;
  border: 1px solid #38445b;
  border-radius: 6px;
  padding: 9px;
  font: inherit;
  font-size: 13px;
}
.review-dialog textarea {
  resize: vertical;
}
.review-dialog blockquote {
  margin: 13px 0;
  border-left: 2px solid #af8f55;
  padding: 9px 12px;
  color: #d1bc94;
  background: #a7874920;
  font-size: 12px;
  max-height: 170px;
  overflow: auto;
  white-space: pre-wrap;
}
.review-dialog .review-actions {
  justify-content: flex-end;
}
.review-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.review-form-error {
  color: #ffb4b4;
  font-size: 12px;
  margin-top: 12px;
}
.review-dialog button:disabled {
  opacity: 0.5;
}
.review-dialog h3 {
  font-size: 13px;
  margin-top: 20px;
}
#review-issue-evidence .review-link {
  display: block;
}
@media (min-width: 1600px) {
  #conversations-view .conv-grid {
    grid-template-columns: 300px minmax(400px, 1fr) 390px;
  }
}
@media (max-width: 1120px) {
  #conversations-view .conv-grid {
    grid-template-columns: 220px minmax(280px, 1fr) 300px;
  }
  .review-body {
    padding: 12px;
  }
}
@media (max-width: 900px) {
  #conversations-view .conv-grid {
    grid-template-columns: 220px minmax(0, 1fr);
    height: auto;
  }
  .review-pane {
    grid-column: 1/-1;
    max-height: none !important;
  }
  #conversations-view .conv-main {
    height: 750px;
  }
  .review-issue-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .review-board-head {
    align-items: flex-start;
  }
}
@media (max-width: 560px) {
  #conversations-view .conv-grid {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }
  #conversations-view .conv-grid > .conv-pane:first-child {
    max-height: 290px;
  }
  #conversations-view .conv-main {
    height: 650px;
    flex: none;
  }
  .review-pane {
    width: 100%;
    max-height: none;
  }
  .review-body {
    padding: 16px;
  }
  .review-board {
    padding: 15px;
  }
  .review-board-head {
    display: block;
  }
  .review-issue-row {
    gap: 9px;
    grid-template-columns: minmax(0, 1fr);
  }
  .review-issue-row > .btn {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }
  .review-form-row {
    grid-template-columns: 1fr;
  }
  .review-toolbar {
    padding: 10px;
  }
  #conv-messages-title {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 900px) {
  #conversations-view .conv-scroll {
    height: auto;
    min-height: 0;
  }
  #conversations-view .conv-grid {
    grid-template-rows: auto;
  }
  #conversations-view .conv-head {
    flex-wrap: wrap;
  }
  #conversations-view .conv-head-actions {
    flex-wrap: wrap;
    justify-content: flex-start;
    white-space: normal;
    max-width: 100%;
  }
  #conv-updated {
    font-size: 11px;
  }
}

/* Keep the reading area prominent; secondary context is a disclosure. */
#conversations-view .conv-main-head { padding: 8px 12px; }
#conversations-view .conv-person-head { align-items: center; }
#conversations-view .conv-person-copy > .conv-pane-kicker { display: none; }
#conversations-view .conv-person-actions { margin: 0; }
#conversations-view .conv-person-actions .btn { padding: 4px 8px; font-size: 11px; }
.review-history-toolbar { position: relative; padding: 6px 12px; gap: 8px; }
.review-source-tabs { display: flex; flex: 0 0 auto; align-items: center; gap: 2px; max-width: 100%; padding: 2px; border: 1px solid #2d3748; border-radius: 8px; background: #111722; }
.review-source-tab { appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 5px; flex: none; min-height: 28px; padding: 5px 7px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #aab7cc; font: 11px/16px system-ui,sans-serif; white-space: nowrap; cursor: pointer; }
.review-source-tab:hover { color: #edf3ff; background: #202b3d; }
.review-source-tab[aria-selected="true"] { color: #fff; background: #2b4166; border-color: #789de0; }
.review-source-tab:focus-visible { outline: 2px solid #bdd3ff; outline-offset: 2px; }
.review-source-icon { display: flex; width: 13px; height: 13px; flex: none; }
.review-source-icon svg { display: block; width: 100%; height: 100%; }
#conv-transcript:focus-visible { outline: 2px solid #7da0ff; outline-offset: -2px; }
.review-history-toolbar .review-refresh { font-size: 18px; line-height: 1; padding: 4px 7px; }
.review-history-toolbar .conv-review-stats { flex: 1; padding: 0; border: 0; gap: 2px 8px; font-size: 10px; justify-content: flex-start; }
.review-history-toolbar #conv-live-status { max-width: 125px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.review-context { flex: none; margin-left: auto; }
.review-context > summary { margin: 0; padding: 5px 0 5px 5px; font-size: 11px; color: #bac8df; cursor: pointer; }
.review-context > summary:focus-visible { outline: 2px solid #7da0ff; outline-offset: 2px; }
.review-context-panel { position: absolute; right: 8px; top: calc(100% + 4px); width: min(440px, calc(100% - 16px)); padding: 13px; background: #1b2130; border: 1px solid #38445b; border-radius: 9px; box-shadow: 0 12px 35px #0006; z-index: 4; }
.review-context-panel .review-milestones { padding: 10px 0 0; border: 0; background: none; }
.review-context-panel .conv-main-meta { margin: 0; }

/* Review dots stay outside; note actions sit on the conversation-facing side. */
#conv-transcript > .message-card { max-width: min(84%, calc(100% - 48px)); }
#conv-transcript > .message-card.user { margin-left: 20px; }
#conv-transcript > .message-card.lisa { margin-right: 20px; }
.review-message-row { position: relative; display: flex; max-width: 100%; min-width: 0; }
/* The inner hover bridge keeps the note action reachable across its six-pixel gap. */
.review-message-row::before { content: ""; position: absolute; left: 100%; top: 0; width: 28px; height: 28px; }
.message-card.lisa .review-message-row::before { left: auto; right: 100%; }
.review-message-row > .message-body { min-width: 0; max-width: 100%; padding: 10px 13px; border-radius: 16px; }
.message-card.user .review-message-row > .message-body { background: var(--card); border: 1px solid #b5ceff; border-bottom-left-radius: 5px; }
.message-card.lisa .review-message-row > .message-body { background: var(--accent); color: #fff; border-bottom-right-radius: 5px; }
.message-card.user > .message-body { border: 1px solid #b5ceff; }
/* The span also anchors tooltips to the bubble so short messages do not clip them. */
.review-note-action { position: absolute; left: 0; top: 6px; width: calc(100% + 26px); display: flex; justify-content: flex-end; opacity: 0; pointer-events: none; }
.message-card.lisa .review-note-action { left: auto; right: 0; justify-content: flex-start; }
.message-card:hover .review-note-action, .message-card:focus-within .review-note-action { opacity: 1; }
.message-card:hover .review-add-note, .message-card:focus-within .review-add-note { pointer-events: auto; }
.review-add-note { flex: none; pointer-events: none; display: grid; place-items: center; width: 20px; height: 20px; padding: 0; border: 1px solid #3d4657; border-radius: 50%; background: #252c38; color: #bdc9dc; font: 16px/1 system-ui,sans-serif; cursor: pointer; }
.review-add-note:hover { color: #fff; background: #36425a; }
.review-add-note:focus-visible { outline: 2px solid #7da0ff; outline-offset: 2px; }
.review-note-tooltip { position: absolute; top: calc(100% + 6px); right: 0; visibility: hidden; opacity: 0; pointer-events: none; white-space: nowrap; border: 1px solid #424c5e; border-radius: 6px; background: #252c38; color: #eef2fa; padding: 5px 8px; font: 11px/1.4 system-ui,sans-serif; z-index: 5; }
.message-card.lisa .review-note-tooltip { right: auto; left: 0; }
.review-add-note:hover + .review-note-tooltip, .review-add-note:focus-visible + .review-note-tooltip { visibility: visible; opacity: 1; }
@media (hover: none) { .review-note-action { opacity: 1; } .review-add-note { pointer-events: auto; } }
@media (max-width: 560px) { .review-history-toolbar { gap: 5px 8px; } .review-history-toolbar .conv-review-stats { order: 1; flex-basis: calc(100% - 68px); } .review-history-toolbar .review-context { order: 2; } #conversations-view .conv-person-head { gap: 5px; } }

.review-choices { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 16px; }
.review-choice[aria-pressed="true"], .review-link-option[aria-pressed="true"] { background: #344a78; border-color: #91b5ff; color: #fff; box-shadow: inset 0 0 0 1px #91b5ff; }
.review-choice { min-height: 42px; }
.review-note-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.review-link-options { display: grid; gap: 8px; max-height: 280px; overflow-y: auto; margin-top: 12px; }
.review-link-option { text-align: left; white-space: normal; }
.review-dialog button:disabled { opacity: .55; }
.review-dialog .review-actions { flex-wrap: wrap; }

/* Shared review marks remain visible while the add-note action is hidden. */
.review-message-status { position: absolute; right: calc(100% + 6px); top: 6px; display: grid; place-items: center; width: 9px; height: 9px; box-sizing: border-box; font: 7px/1 system-ui,sans-serif; font-weight: 800; }
.message-card.lisa .review-message-status { right: auto; left: calc(100% + 6px); }
.review-message-status.is-unreviewed, .review-legend-dot { background: #ef646e; border: 2px solid #ef646e; border-radius: 50%; }
.review-message-status[hidden] { display: none; }
.review-marker-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 10px; }
.review-legend-dot, .review-legend-check { display: inline-grid; place-items: center; width: 11px; height: 11px; box-sizing: border-box; font: bold 9px/1 system-ui,sans-serif; flex: none; }
.review-legend-check { margin-left: 7px; }

/* Avatars show a read-only star; its action lives in the review workspace. */
.admin-watch-avatar { display: inline-block; position: relative; vertical-align: middle; margin-right: 8px; }
.admin-watch-avatar > .avatar { margin-right: 0; }
.admin-watch-indicator { position: absolute; right: -6px; bottom: -3px; display: grid; place-items: center; width: 19px; height: 19px; border: 1px solid #796337; border-radius: 50%; background: #171d28; color: #ffd36e; font: 14px/1 system-ui,sans-serif; pointer-events: none; }
.admin-watch-indicator[hidden] { display: none; }
.conv-person-card { position: relative; }
.conv-person-card > .admin-watch-indicator { left: 32px; right: auto; top: 28px; bottom: auto; }
.review-watch-control { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--line); }
.review-watch-control:empty { display: none; }
.review-watch-control .review-hint { margin: 0; font-size: 10px; }
.review-watch-button.watched { color: #ffd36e; border-color: #796337; }
.review-watch-button:focus-visible, .review-message-status:focus-visible { outline: 2px solid #7da0ff; outline-offset: 3px; }
.review-watch-button:disabled { cursor: wait; }

.review-conversation-bottom { align-self: stretch; flex: none; padding: 18px 8px 8px; text-align: center; border-top: 1px solid var(--line); margin-top: 12px; }
.review-conversation-bottom .review-conversation-status { margin: 0 0 9px; color: var(--muted); font-size: 11px; }
.review-conversation-bottom .review-hint { margin: 9px auto 0; max-width: 380px; font-size: 10px; }
