/* THE-BOT-PCONV-1 -- the project's permanent conversation (layout accepted in PROJECT-CONVERSATION-UX-P0):
   the conversation is the main area; «Сведения» / «Цель и ограничения» is a 380 px side panel, full screen on a phone.
   Persistent selection (.pcv-selected) and the short jump pulse (.pcv-flash) are two states; neither changes a size. */
body.cs-on:has(#projects-tab:not(.hidden) .pcv) .admin-main { max-width: 1440px; }
/* an open project is its conversation: the section intro gives its height to it */
#projects-tab:has(.pcv) > .kp-head { display: none; }
#projects-tab .pcv { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; height: calc(100dvh - 112px);
  min-height: 520px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; overflow: hidden; }
#projects-tab .pcv.pcv-panel-open { grid-template-columns: minmax(0, 1fr) 380px; }
#projects-tab .pcv-conv { display: flex; flex-direction: column; min-width: 0; min-height: 0; position: relative; }
#projects-tab .pcv-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 14px;
  border-bottom: 1px solid #e2e8f0; }
#projects-tab .pcv-head .kp-open { margin: 0; }
#projects-tab .pcv-name { font-size: 18px; margin: 0; min-width: 0; overflow-wrap: anywhere; }
#projects-tab .pcv-tags { display: inline-flex; gap: 6px; }
#projects-tab .pcv-tag { font-size: 12px; padding: 2px 8px; border-radius: 999px; background: #f1f5f9; color: #475569; }
#projects-tab .pcv-actions { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; }
#projects-tab .pcv-now { flex-basis: 100%; font-size: 13px; color: #475569; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; }
#projects-tab .pcv-stream { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 14px 18px; }
#projects-tab .pcv-msg { max-width: 760px; margin: 0 0 12px; }
#projects-tab .pcv-owner { margin-left: auto; }
#projects-tab .pcv-who { font-size: 11.5px; color: #64748b; margin: 0 4px 3px; display: flex; gap: 8px; align-items: center;
  flex-wrap: wrap; }
#projects-tab .pcv-owner .pcv-who { justify-content: flex-end; }
#projects-tab .pcv-kind { font-size: 11px; padding: 1px 6px; border-radius: 999px; background: #f1f5f9; }
#projects-tab .pcv-kind.pcv-ai { background: #f3e8ff; color: #6b21a8; }
#projects-tab .pcv-bubble { border: 1px solid #e2e8f0; border-radius: 10px; padding: 9px 12px; background: #fff;
  white-space: pre-wrap; overflow-wrap: anywhere; }
#projects-tab .pcv-owner .pcv-bubble { background: #eef4ff; border-color: transparent; }
#projects-tab .pcv-failed .pcv-bubble { border: 1px dashed #dc2626; background: #fef2f2; }
#projects-tab .pcv-pending .pcv-bubble { opacity: .65; }
#projects-tab .pcv-msg.pcv-selected .pcv-bubble { background: #e7efff; box-shadow: 0 0 0 2px #2f6fe0; }
#projects-tab .pcv-msg.pcv-flash { border-radius: 10px; animation: pcvflash 1.6s ease-out 1; }
@keyframes pcvflash { from { box-shadow: 0 0 0 4px rgba(232, 160, 0, .9); } to { box-shadow: 0 0 0 4px rgba(232, 160, 0, 0); } }
#projects-tab .pcv-details, #projects-tab .pcv-sources { font-size: 12.5px; margin: 4px 4px 0; color: #475569; }
#projects-tab .pcv-sources ul { margin: 4px 0; padding-left: 18px; }
#projects-tab .pcv-cov { color: #1e3a8a; }
#projects-tab .pcv-pre { white-space: pre-wrap; overflow-wrap: anywhere; }
#projects-tab .pcv-muted { color: #64748b; }
#projects-tab .pcv-link { background: none; border: none; color: #2f6fe0; cursor: pointer; font-size: 12px; padding: 2px 4px; }
#projects-tab .pcv-owner > .pcv-link { display: block; margin-left: auto; }
#projects-tab .pcv-btn { border: 1px solid #cbd5e1; background: #fff; border-radius: 8px; padding: 6px 10px; cursor: pointer;
  font: inherit; font-size: 13px; }
#projects-tab .pcv-btn.pcv-on { background: #e7efff; border-color: transparent; color: #1d4ed8; font-weight: 600; }
#projects-tab .pcv-primary { background: #2f6fe0; border-color: #2f6fe0; color: #fff; }
#projects-tab .pcv-btn:disabled { opacity: .55; cursor: default; }
#projects-tab .pcv-earlier { display: block; margin: 0 auto 12px; }
#projects-tab .pcv-empty { color: #64748b; text-align: center; padding: 40px 10px; }
#projects-tab .pcv-pill { position: absolute; left: 50%; transform: translateX(-50%); bottom: 118px; border-radius: 999px;
  background: #2f6fe0; color: #fff; border: none; padding: 6px 14px; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.15); }
#projects-tab .pcv-composer { border-top: 1px solid #e2e8f0; padding: 8px 14px 12px; background: #fff; }
#projects-tab .pcv-ctx { font-size: 11.5px; color: #64748b; margin-bottom: 6px; }
#projects-tab .pcv-ctx-short { display: none; }
#projects-tab .pcv-empty .pcv-note { max-width: 560px; margin: 12px auto 0; text-align: left; font-size: 14px; line-height: 1.5; }
/* room for the Console's floating assistant button (fixed, bottom right) */
#projects-tab .pcv-form { display: flex; gap: 8px; align-items: flex-end; padding-right: 56px; }
#projects-tab .pcv-input { flex: 1 1 auto; width: 100%; box-sizing: border-box; min-height: 42px; max-height: 40vh;
  resize: vertical; border: 1px solid #cbd5e1; border-radius: 8px; padding: 8px 10px; font: inherit; }
#projects-tab .pcv-err { margin-top: 6px; font-size: 13px; color: #b91c1c; }
#projects-tab .pcv-panel { display: none; border-left: 1px solid #e2e8f0; min-width: 0; min-height: 0; flex-direction: column;
  background: #fff; }
#projects-tab .pcv-panel-open .pcv-panel { display: flex; }
#projects-tab .pcv-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px;
  border-bottom: 1px solid #e2e8f0; }
#projects-tab .pcv-panel-body { flex: 1 1 auto; overflow-y: auto; padding: 10px 12px; }
#projects-tab .pcv-panel-body .kp-card { margin-top: 0; }
#projects-tab .pcv-panel-body .kp-table { display: block; overflow-x: auto; }
#projects-tab .pcv-note { font-size: 12.5px; color: #475569; }
#projects-tab .pcv-label { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #64748b; margin: 10px 0 4px; }
#projects-tab .pcv-field { margin-bottom: 6px; }
#projects-tab .pcv-counter { font-size: 11px; color: #64748b; text-align: right; }
#projects-tab .pcv-counter.pcv-over { color: #b91c1c; font-weight: 600; }
#projects-tab .pcv-crow { border-bottom: 1px dashed #e2e8f0; padding-bottom: 4px; margin-bottom: 6px; }
#projects-tab .pcv-from { border: 1px solid #bfdbfe; background: #eff6ff; border-radius: 8px; padding: 8px; margin-bottom: 10px; }
#projects-tab .pcv-panel-msg { font-size: 13px; color: #1e3a8a; margin-top: 6px; }
#copilot-tab .oc-badge.oc-project { background: #e7efff; color: #1d4ed8; }

/* THE-BOT-PCONV-2 -- «Документы» (read only): list items, the open document, integrity states (four distinct states:
   confirmed / broken / not checked / not applicable -- «not checked» never looks like «ok») */
#projects-tab .pcv-doc-list { display: flex; flex-direction: column; gap: 8px; }
#projects-tab .pcv-doc-item { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; text-align: left;
  width: 100%; box-sizing: border-box; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; padding: 9px 10px;
  cursor: pointer; font: inherit; min-width: 0; }
#projects-tab .pcv-doc-item:hover { border-color: #93b4f0; }
#projects-tab .pcv-doc-title { font-weight: 600; overflow-wrap: anywhere; }
#projects-tab .pcv-doc-meta { font-size: 12px; color: #475569; overflow-wrap: anywhere; }
#projects-tab .pcv-doc-empty { padding: 30px 6px; }
#projects-tab .pcv-integ { display: inline-block; font-size: 12px; line-height: 1.35; padding: 3px 8px; border-radius: 6px;
  overflow-wrap: anywhere; }
#projects-tab .pcv-integ-ok { background: #dcfce7; color: #166534; }
#projects-tab .pcv-integ-bad { background: #fee2e2; color: #991b1b; font-weight: 600; }
#projects-tab .pcv-integ-unknown { background: #fef3c7; color: #92400e; }
#projects-tab .pcv-integ-na { background: #f1f5f9; color: #475569; }
#projects-tab .pcv-doc-h { margin: 2px 0 8px; font-size: 17px; overflow-wrap: anywhere; }
#projects-tab .pcv-doc-meta-dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 10px; margin: 0 0 10px;
  font-size: 13px; }
#projects-tab .pcv-doc-meta-dl dt { color: #64748b; }
#projects-tab .pcv-doc-meta-dl dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
#projects-tab .pcv-ref { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11.5px; word-break: break-all; }
#projects-tab .pcv-lock { font-size: 12.5px; border-radius: 8px; padding: 7px 9px; margin: 0 0 10px; background: #eef4ff;
  color: #1e3a8a; }
#projects-tab .pcv-lock-legacy { background: #fff7ed; color: #9a3412; }
#projects-tab .pcv-lock-draft { background: #f8fafc; color: #475569; border: 1px dashed #cbd5e1; }
#projects-tab .pcv-doc-src { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 12.5px; margin: 0 0 10px; }
#projects-tab .pcv-doc-sec { border-top: 1px solid #e2e8f0; padding: 8px 0; }
#projects-tab .pcv-doc-sec-h { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; margin-bottom: 4px; }
#projects-tab .pcv-doc-text { font-size: 14px; line-height: 1.5; }
#projects-tab .pcv-doc-err { border: 1px solid #fecaca; background: #fef2f2; color: #991b1b; border-radius: 8px; padding: 8px 10px; }
#projects-tab .pcv-doc-err .pcv-btn { margin: 4px 6px 0 0; }

/* THE-BOT-PCONV-3: «Новая идея» and the header's rename */
#projects-tab .kp-new-bar { margin: 0 0 12px; }
#projects-tab .kp-new-idea { font-weight: 600; }
#projects-tab .pcv-new .pcv-stream { display: flex; align-items: center; justify-content: center; }
#projects-tab .pcv-new .pcv-now { flex-basis: 100%; white-space: normal; overflow: visible; text-overflow: clip; }
#projects-tab .pcv-rename { font-size: 12px; }
#projects-tab .pcv-rename-form { flex: 1 1 320px; min-width: 0; font-size: 12px; }
#projects-tab .pcv-rename-row { display: flex; gap: 6px; align-items: center; min-width: 0; }
#projects-tab .pcv-rename-input { min-height: 34px; font-size: 16px; min-width: 0; }
#projects-tab .pcv-rename-form .pcv-counter { display: inline; }

/* THE-BOT-CARDS-1: compact cards in the feed. The selected card keeps a blue frame + background while its details are
   open; the frame is a box-shadow on an unchanged 1px border, so selecting never changes the card's size. */
#projects-tab .pcv-card { align-self: stretch; max-width: 560px; width: 100%; box-sizing: border-box; margin: 2px auto;
  border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; padding: 8px 12px; display: grid; gap: 3px;
  font-size: 13px; overflow-wrap: anywhere; }
#projects-tab .pcv-card-top { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
#projects-tab .pcv-card-kind { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #475569; }
#projects-tab .pcv-card-tag { font-size: 11px; border-radius: 999px; padding: 1px 8px; background: #f1f5f9; color: #334155; }
#projects-tab .pcv-card-title { font-weight: 600; font-size: 14px; color: #0f172a; }
#projects-tab .pcv-card-state { color: #334155; }
#projects-tab .pcv-card-meta { color: #64748b; font-size: 12px; }
#projects-tab .pcv-card-note { color: #64748b; font-size: 12px; font-style: italic; }
#projects-tab .pcv-card-open { justify-self: start; margin-top: 2px; }
#projects-tab .pcv-card-draft { border-left: 4px solid #94a3b8; }
#projects-tab .pcv-card-draft .pcv-card-tag { background: #f1f5f9; }
#projects-tab .pcv-card-approved { border-left: 4px solid #16a34a; }
#projects-tab .pcv-card-approved .pcv-card-tag, #projects-tab .pcv-tag-decision-active { background: #dcfce7; color: #166534; }
#projects-tab .pcv-card-legacy { border-left: 4px solid #d97706; }
#projects-tab .pcv-card-legacy .pcv-card-tag { background: #fef3c7; color: #92400e; }
#projects-tab .pcv-card-closed, #projects-tab .pcv-card-decision-closed { border-left: 4px solid #cbd5e1; }
#projects-tab .pcv-card-closed .pcv-card-title, #projects-tab .pcv-card-decision-closed .pcv-card-title { color: #64748b; }
#projects-tab .pcv-card-decision-proposed { border-left: 4px solid #a855f7; }
#projects-tab .pcv-card-decision-proposed .pcv-card-tag, #projects-tab .pcv-tag-decision-proposed { background: #f3e8ff; color: #6b21a8; }
#projects-tab .pcv-card-decision-active { border-left: 4px solid #16a34a; }
#projects-tab .pcv-card-decision-active .pcv-card-tag { background: #dcfce7; color: #166534; }
#projects-tab .pcv-tag-decision-closed { background: #f1f5f9; color: #475569; }
#projects-tab .pcv-card.pcv-selected { background: #e7efff; border-color: #2f6fe0; box-shadow: 0 0 0 1px #2f6fe0; }
#projects-tab .pcv-card.pcv-flash { animation: pcvflash 1.6s ease-out 1; }

/* THE-BOT-SPEC-V2: versions of an approved ТЗ, the redaction editor and its section diff */
#projects-tab .pcv-versions { border: 1px solid #e2e8f0; border-radius: 8px; padding: 8px 10px; margin: 0 0 10px; font-size: 13px;
  display: grid; gap: 6px; overflow-wrap: anywhere; }
#projects-tab .pcv-version-list { margin: 0; padding-left: 18px; }
#projects-tab .pcv-version-list li { margin: 2px 0; }
#projects-tab .pcv-version-on { font-weight: 600; }
#projects-tab .pcv-rev-actions { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 4px; }
#projects-tab .pcv-preview { margin-top: 10px; }
#projects-tab .pcv-preview h4 { margin: 6px 0; font-size: 14px; }
#projects-tab .pcv-problems { margin: 4px 0 8px; padding-left: 18px; color: #991b1b; font-size: 13px; }
#projects-tab .pcv-ok { color: #166534; font-size: 13px; margin: 4px 0 8px; }
#projects-tab .pcv-diff { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12.5px; white-space: pre-wrap;
  overflow-wrap: anywhere; border-radius: 6px; background: #f8fafc; padding: 4px 6px; }
#projects-tab .pcv-diff-added { background: #dcfce7; color: #14532d; }
#projects-tab .pcv-diff-removed { background: #fee2e2; color: #7f1d1d; text-decoration: line-through; }
#projects-tab .pcv-diff-equal { color: #475569; }

@media (max-width: 720px) {
  #projects-tab .pcv-rename-row { flex-wrap: wrap; }
  #projects-tab .pcv-rename-input { flex-basis: 100%; }
  #projects-tab .pcv { height: calc(100dvh - 120px); border-radius: 0; border-left: none; border-right: none; }
  #projects-tab .pcv.pcv-panel-open { grid-template-columns: minmax(0, 1fr); }
  #projects-tab .pcv-panel-open .pcv-panel { position: fixed; inset: 0; z-index: 60; border-left: none; }
  #projects-tab .pcv-stream { padding: 10px; }
  #projects-tab .pcv-msg { max-width: 100%; }
  #projects-tab .pcv-ctx-full { display: none; }
  #projects-tab .pcv-ctx-short { display: inline; }
  #projects-tab .pcv-actions { margin-left: 0; }
  #projects-tab .pcv-pill { bottom: 96px; }
  #projects-tab .pcv-panel-head { flex-wrap: wrap; }
  #projects-tab .pcv-doc-meta-dl { grid-template-columns: minmax(0, 1fr); gap: 0; }
  #projects-tab .pcv-doc-meta-dl dd { margin-bottom: 6px; }
}
/* THE-BOT-LINK-2a: hand-off to an executor (a HELD task, never a launch) */
#projects-tab .pcv-card-handoff { border-left: 4px solid #7c3aed; }
#projects-tab .pcv-card-handoff .pcv-card-tag { background: #ede9fe; color: #5b21b6; }
#projects-tab .pcv-card-raiw { display: inline-block; font-size: 12.5px; margin: 4px 0; }
#projects-tab .pcv-handoff-select { width: 100%; max-width: 100%; box-sizing: border-box; margin: 4px 0 10px; }
#projects-tab .pcv-handoff-secs { margin: 4px 0 10px; padding-left: 18px; }
#projects-tab .pcv-handoff-preview .pcv-doc-meta-dl dd { overflow-wrap: anywhere; }
#projects-tab .pcv-handoff-done { background: #ecfdf5; color: #065f46; }
#projects-tab .pcv-handoff-modes { border: 1px solid #e5e7eb; border-radius: 8px; padding: 8px 10px; margin: 6px 0 10px; min-width: 0; }
#projects-tab .pcv-handoff-mode { display: block; padding: 4px 0; overflow-wrap: anywhere; }
#projects-tab .pcv-handoff-cancelled { background: #f3f4f6; color: #374151; }
