/* TB-OWNER-AI-ASSISTANT-1 P1-B -- «Ассистент владельца» (platform owner only).
   Owner acceptance fix: the conversation is the main surface (threads 232 px | chat flex 1, readable column up to
   ~880 px); «Подробнее» is a right drawer, closed by default; on a phone one column, threads and details as drawers. */
/* the page column (.admin-main 1000 px) widens only while this tab is shown -- same :has() technique as #chats-tab */
body.cs-on:has(#copilot-tab:not(.hidden)) .admin-main { max-width: 1400px; }
#copilot-tab .oc-sub { color: #64748b; max-width: 880px; }
#copilot-tab .oc-layout { display: grid; grid-template-columns: 232px minmax(0, 1fr); gap: 16px; align-items: start; }
#copilot-tab .oc-threads, #copilot-tab .oc-chat { border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; padding: 10px; min-width: 0; }
#copilot-tab .oc-chat { padding: 12px 16px; }
#copilot-tab .oc-chat > * { max-width: 880px; margin-left: auto; margin-right: auto; }
#copilot-tab .oc-side-top { display: flex; gap: 6px; margin-bottom: 8px; flex-wrap: wrap; }
#copilot-tab .oc-thread-list { display: flex; flex-direction: column; gap: 4px; max-height: 70vh; overflow-y: auto; }
#copilot-tab .oc-thread { text-align: left; border: 1px solid transparent; background: none; padding: 6px 8px; border-radius: 8px; cursor: pointer; display: flex; flex-direction: column; gap: 2px; }
#copilot-tab .oc-thread:hover { background: #f1f5f9; }
#copilot-tab .oc-thread.oc-active { border-color: #93c5fd; background: #eff6ff; }
#copilot-tab .oc-thread-title { font-weight: 600; word-break: break-word; }
#copilot-tab .oc-chat-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; align-items: center; }
#copilot-tab .oc-chat-head h2 { margin: 0; font-size: 18px; word-break: break-word; flex: 1 1 auto; }
#copilot-tab .oc-threads-toggle { display: none; }
#copilot-tab .oc-actions { display: flex; flex-wrap: wrap; gap: 6px; }
#copilot-tab .oc-feed { min-height: 280px; max-height: 64vh; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; padding: 10px 0; }
#copilot-tab .oc-msg { max-width: 92%; border-radius: 12px; padding: 10px 12px; line-height: 1.5; }
#copilot-tab .oc-owner { align-self: flex-end; background: #eff6ff; }
#copilot-tab .oc-assistant { align-self: flex-start; background: #f8fafc; border: 1px solid #e2e8f0; }
#copilot-tab .oc-error { background: #fef2f2; border-color: #fecaca; }
#copilot-tab .oc-text { white-space: pre-wrap; word-break: break-word; }
#copilot-tab .oc-cards { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
#copilot-tab .oc-card { display: flex; flex-direction: column; gap: 2px; border: 1px solid #e2e8f0; border-radius: 10px; padding: 6px 10px; background: #fff; min-width: 150px; }
#copilot-tab .oc-card-state { font-size: 13px; }
#copilot-tab .oc-card-ok .oc-card-state { color: #166534; }
#copilot-tab .oc-card-attn { border-color: #fde68a; background: #fffbeb; }
#copilot-tab .oc-card-attn .oc-card-state { color: #92400e; }
#copilot-tab .oc-card-stop { border-color: #fecaca; background: #fef2f2; }
#copilot-tab .oc-card-stop .oc-card-state { color: #991b1b; }
#copilot-tab .oc-card-unknown .oc-card-state, #copilot-tab .oc-card-wait .oc-card-state { color: #475569; }
#copilot-tab .oc-badge { display: inline-block; border-radius: 999px; padding: 1px 8px; font-size: 12px; background: #e2e8f0; color: #334155; }
#copilot-tab .oc-s-green, #copilot-tab .oc-f-fresh { background: #dcfce7; color: #166534; }
#copilot-tab .oc-s-warning, #copilot-tab .oc-s-waiting_owner, #copilot-tab .oc-f-aging { background: #fef9c3; color: #854d0e; }
#copilot-tab .oc-s-stop, #copilot-tab .oc-f-stale { background: #fee2e2; color: #991b1b; }
#copilot-tab .oc-hist { background: #ede9fe; color: #5b21b6; }
#copilot-tab .oc-meta, #copilot-tab .oc-link { background: none; border: none; color: #2563eb; cursor: pointer; padding: 6px 0 0; font-size: 13px; margin-right: 12px; }
#copilot-tab .oc-composer { border-top: 1px solid #e2e8f0; padding-top: 8px; padding-right: 52px; }   /* clear of the collapsed platform-assistant orb */
#copilot-tab .oc-input { width: 100%; box-sizing: border-box; font: inherit; border: 1px solid #cbd5e1; border-radius: 8px; padding: 8px 10px; }
#copilot-tab .oc-composer-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; align-items: center; }
#copilot-tab .oc-btn { border: 1px solid #cbd5e1; background: #fff; border-radius: 8px; padding: 5px 10px; cursor: pointer; }
#copilot-tab .oc-btn:disabled { opacity: 0.5; cursor: default; }
#copilot-tab .oc-primary { background: #2563eb; color: #fff; border-color: #2563eb; }
#copilot-tab .oc-danger { color: #b91c1c; }
#copilot-tab .oc-draft { margin-top: 8px; border: 1px dashed #94a3b8; border-radius: 8px; padding: 8px; background: #fff; display: flex; flex-direction: column; gap: 6px; }
#copilot-tab .oc-field { display: flex; flex-direction: column; gap: 2px; }
#copilot-tab .oc-muted, #copilot-tab .oc-empty, #copilot-tab .oc-status { color: #64748b; font-size: 13px; }
/* «Подробнее» drawer + scrim (closed by default) */
#copilot-tab .oc-scrim { display: none; position: fixed; inset: 0; background: rgba(15, 23, 42, .35); z-index: 60; }
#copilot-tab .oc-scrim.oc-open { display: block; }
#copilot-tab .oc-context { display: none; position: fixed; top: 0; right: 0; bottom: 0; width: min(480px, 100vw); box-sizing: border-box; z-index: 61; background: #fff; border-left: 1px solid #e2e8f0; padding: 14px 16px 24px; overflow-y: auto; box-shadow: -12px 0 30px rgba(0,0,0,.15); }
#copilot-tab .oc-context.oc-open { display: block; }
#copilot-tab .oc-context h3 { margin: 4px 0 8px; }
#copilot-tab .oc-context h4 { margin: 14px 0 6px; font-size: 13px; text-transform: uppercase; letter-spacing: .03em; color: #475569; }
#copilot-tab .oc-close { float: right; }
#copilot-tab .oc-details { font-size: 14px; }
#copilot-tab .oc-ctx-item { border-bottom: 1px solid #e2e8f0; padding: 6px 0; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
#copilot-tab .oc-ctx-item > div { flex-basis: 100%; }
#copilot-tab .oc-tech pre { white-space: pre-wrap; word-break: break-word; font-size: 11px; }
.pcc-assistant-copilot-note { margin: 6px 0; padding: 6px 8px; border-radius: 8px; background: #eff6ff; color: #1e3a8a; font-size: 12px; }
@media (max-width: 900px) {
  #copilot-tab .oc-layout { grid-template-columns: 200px minmax(0, 1fr); gap: 10px; }
}
@media (max-width: 720px) {
  #copilot-tab .oc-layout { grid-template-columns: minmax(0, 1fr); }
  #copilot-tab .oc-threads-toggle { display: inline-block; }
  #copilot-tab .oc-threads { display: none; }
  #copilot-tab .oc-threads.oc-open { display: block; position: fixed; top: 0; left: 0; bottom: 0; width: min(320px, 88vw); z-index: 61; overflow-y: auto; border-radius: 0; box-shadow: 12px 0 30px rgba(0,0,0,.15); }
  #copilot-tab .oc-threads.oc-open .oc-thread-list { max-height: none; }
  #copilot-tab .oc-chat { padding: 10px; }
  #copilot-tab .oc-feed { max-height: none; min-height: 50vh; }
  #copilot-tab .oc-msg { max-width: 100%; }
  #copilot-tab .oc-card { min-width: 0; flex: 1 1 140px; }
  #copilot-tab .oc-context { width: 100vw; border-left: none; }
}

/* THE-BOT-PROJECTS-FIX-0: ТЗ approval review and the approved document */
#copilot-tab .oc-approve, #copilot-tab .oc-spec { border-top: 1px solid #e2e8f0; padding-top: 8px; display: flex; flex-direction: column; gap: 8px; }
#copilot-tab .oc-approve h4 { margin: 0; font-size: 15px; }
#copilot-tab .oc-doc { border: 1px solid #e2e8f0; border-radius: 8px; padding: 10px; background: #f8fafc; }
#copilot-tab .oc-doc-project { font-weight: 600; margin-bottom: 6px; }
#copilot-tab .oc-doc-title { margin: 0 0 6px; font-size: 15px; }
#copilot-tab .oc-doc-label { font-size: 12px; color: #64748b; text-transform: uppercase; letter-spacing: .04em; margin-top: 8px; }
#copilot-tab .oc-doc-text { white-space: pre-wrap; word-break: break-word; }
#copilot-tab .oc-problems { margin: 0; padding-left: 18px; color: #b91c1c; }
#copilot-tab .oc-problems:empty { display: none; }
#copilot-tab .oc-conseq p { margin: 2px 0; }
#copilot-tab .oc-ok-line { color: #166534; font-weight: 600; margin: 0; }
#copilot-tab .oc-doc-meta { font-size: 13px; }
