/* Командный чат проекта и «Разрешения агентов» (project-chat.js).
   Классы эталона (.chat-head, .team-strip, .msg-row, .delegs, .work-log, .perm, .mention-pop,
   .seg, .rt) уже есть в theme.css / design-components.css — здесь только то, чего не хватало,
   и всё под .pc, чтобы не задеть другие экраны. */

/* Знак Момента — маской логотипа, а не символом ✳ (эталон: 00b-brand.jsx, index.html:1570). */
:root{--moment-mark-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%2290.00%2090.00%20332.00%20332.00%22%3E%3Cg%20stroke%3D%22%23000%22%20stroke-width%3D%2233.00%22%20stroke-linecap%3D%22round%22%3E%3Cline%20x1%3D%22106.50%22%20y1%3D%22256.00%22%20x2%3D%22405.50%22%20y2%3D%22256.00%22%2F%3E%3Cline%20x1%3D%22150.29%22%20y1%3D%22150.29%22%20x2%3D%22361.71%22%20y2%3D%22361.71%22%2F%3E%3Cline%20x1%3D%22256.00%22%20y1%3D%22106.50%22%20x2%3D%22256.00%22%20y2%3D%22405.50%22%2F%3E%3Cline%20x1%3D%22361.71%22%20y1%3D%22150.29%22%20x2%3D%22150.29%22%20y2%3D%22361.71%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}
.moment-mark{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0;background-color:currentColor;-webkit-mask:var(--moment-mark-svg) center/contain no-repeat;mask:var(--moment-mark-svg) center/contain no-repeat}

/* В чате и на экранах проекта общей шапки и подвала нет — как в эталоне. */
body[data-view^="project-"] .shell>header,body[data-view^="project-"] .shell>footer{display:none}
body[data-view^="project-"] #ask-bar{display:none}

.pc{flex:1;min-height:0;display:flex;flex-direction:column}
.pc .bot-avatar.mo-ava{background:var(--m-accent);color:#fff}
.pc .bot-avatar.sm{width:30px;height:30px;border-radius:11px;font-size:15px}
.pc .avatar{margin-left:0;border:0}
.pc .avatar.sm{width:30px;height:30px;border-radius:11px;font-size:12px}
.pc .icon{background:none;border:0;color:var(--m-text);display:grid;place-items:center;width:34px;height:34px;padding:0;flex-shrink:0}

/* Шапка: ‹ · название и «Вы и N агентов» · Стоп · Разрешения */
.pc-head{padding:2px 0 10px;gap:8px}
.pc-head .chat-title{flex:1;min-width:0;background:none;border:0;color:var(--m-text);text-align:left;padding:0;font:inherit}
.pc-head .chat-title strong{display:block;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-head .chat-title small{display:block;color:var(--m-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-stop{flex-shrink:0;min-height:32px;padding:0 12px;border-radius:11px;border:1px solid color-mix(in srgb,var(--m-error) 55%,transparent);background:color-mix(in srgb,var(--m-error) 12%,transparent);color:#fca5a5;font:inherit;font-size:13px;font-weight:600}
.pc-stop:disabled{border-color:var(--m-line);background:none;color:var(--m-dim)}
.pc-perms-btn{border:1px solid var(--m-line)!important;border-radius:11px;width:34px;height:32px!important;color:var(--m-muted)!important}

.pc .team-strip{flex-shrink:0;padding:10px 0 6px}
.pc .team-strip .bot-avatar.sm,.pc .team-strip .avatar.sm{width:26px;height:26px;border-radius:9px;font-size:13px}
.pc .st.wait{background:var(--m-accent-soft)}
.pc .st.busy{animation:pcPulse 1.2s ease-in-out infinite}
@keyframes pcPulse{50%{opacity:.35}}

/* Лента */
.pc-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.pc .messages{gap:14px;padding:8px 0 10px}
.pc .message{padding:12px 14px;border-radius:18px;font-size:14px;white-space:normal}
.pc .message .content{font-size:14px;line-height:1.5;white-space:pre-wrap}
.pc .message.mine{max-width:85%}
.pc .message.assistant .meta{display:flex;gap:6px;align-items:baseline;margin-bottom:5px;font-size:12px;color:var(--m-muted)}
.pc .message.assistant .meta b{color:var(--m-text)}
.pc .msg-row{display:flex;gap:10px;align-items:flex-start}
.pc-ava{flex-shrink:0;display:inline-flex}
.pc .deleg .mention-tag{flex-shrink:0}
.pc .work-log span{overflow-wrap:anywhere}
.pc .work-log .bad{color:#fca5a5}
.pc .typing{min-height:18px;padding:0 0 4px 40px}
.pc-empty{color:var(--m-muted);font-size:13px;text-align:center;padding:30px 10px}
.pc-result{border:1px solid var(--m-accent-line);background:var(--m-accent-deep);border-radius:16px;padding:12px 14px;font-size:14px;line-height:1.5}

/* Карточка разрешения: класс, кто и что именно, Разрешить / Запретить / Разрешить всегда */
.pc-perm{display:flex;flex-direction:column;gap:8px}
.pc-perm .row{display:flex;gap:8px}
.pc-perm .row button{flex:1;min-height:40px;border-radius:12px;font-size:13px}
.pc-perm.done{border-color:var(--m-line)}
.pc-perm-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pc-cls{font-size:11px;letter-spacing:.3px;color:var(--m-warn);text-transform:uppercase;font-weight:650}
.pc-cls code{font-size:11px;text-transform:none;color:var(--m-muted)}
.pc-timer{font-size:12px;font-variant-numeric:tabular-nums;color:var(--m-warn)}
.pc-perm p{margin:0;font-size:13px;line-height:1.45}
.pc-who b{color:var(--m-text)}
.pc-detail{margin:0;max-height:180px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,Menlo,monospace;font-size:12px;line-height:1.5;background:var(--m-deep);border:1px solid var(--m-line-soft);border-radius:10px;padding:8px 10px;color:var(--m-text)}
.pc-diff .pc-add{color:#86efac;background:none}.pc-diff .pc-del{color:#fca5a5}
blockquote.pc-text{font-family:inherit;font-size:13px;border-left:3px solid var(--m-accent)}
.pc-always{align-self:center;background:none;border:0;color:var(--m-accent-text);font:inherit;font-size:12px;padding:2px 6px;min-height:28px}
.pc-always:disabled{color:var(--m-dim)}
.pc-perm .status{font-size:12px;color:var(--m-muted)}
.pc-perm[data-state="approved"] .status,.pc-perm[data-state="always"] .status,.pc-perm[data-state="moved"] .status{color:var(--m-success)}
.pc-perm[data-state="denied"] .status{color:#fca5a5}

/* Подтверждение «Стоп», ошибки, заметки */
.pc-confirm{display:flex;align-items:center;gap:8px;margin:4px 0 6px;padding:10px 12px;border-radius:14px;border:1px solid color-mix(in srgb,var(--m-error) 50%,transparent);background:var(--m-card)}
.pc-confirm span{flex:1;min-width:0}.pc-confirm b{display:block;font-size:13px}.pc-confirm small{display:block;font-size:12px;color:var(--m-muted)}
.pc-confirm button{min-height:36px;padding:0 12px;border-radius:11px;font-size:13px;flex-shrink:0}
.pc-confirm .danger{background:var(--m-error);border-color:var(--m-error);color:#fff}
.pc-error{margin:4px 0;font-size:12px}
.pc-notice{margin:4px 0;font-size:12px;color:var(--m-muted)}

/* Поле ввода */
.pc .ai-disclosure{margin:6px 0 0;font-size:11px;color:var(--m-dim)}
.pc-ai .moment-mark{color:var(--m-accent-soft);margin:0 2px 0 3px}
.pc .composer-wrap{position:relative;flex-shrink:0}
.pc .mention-pop .mp-t{flex:1;min-width:0}
.pc .mention-pop .mp-t b{display:block;font-size:14px}
.pc .mention-pop .mp-t small{display:block;font-size:12px;color:var(--m-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc .mention-pop .mp-h{font-size:12px;color:var(--m-dim)}
.pc .mention-pop button.on{background:var(--m-raised)}
.pc .composer .dictate,.pc .composer .send{width:38px;height:39px;border-radius:13px;border:0}
.pc .composer .dictate{background:none;color:var(--m-muted)}

/* Список проектов и «Разрешения агентов» */
.pc-list,.pc-perms{overflow-y:auto;padding-bottom:24px}
/* Экран перерисовывается при каждой правке правила — без повторного появления. */
.pc.ob-screen{animation:none}
.pc .sp-top .icon{margin-top:2px}
.pc-source{margin:0 0 8px}
.pc-hint,.pc .hint{font-size:12px;color:var(--m-muted);line-height:1.45}
.pc-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:14px;border:1px solid var(--m-line);background:var(--m-card);color:var(--m-text);font:inherit;text-align:left}
.pc-row b{display:block;font-size:14px}.pc-row small{display:block;font-size:12px;color:var(--m-muted)}
.pc-code{font-size:11px;color:var(--m-dim)}
.pc-model{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--m-muted)}
.pc-model select,.pc-new select,.pc-new input,.pc-new textarea{flex:1;min-width:0;min-height:38px;border-radius:11px;border:1px solid var(--m-line);background:var(--m-raised);color:var(--m-text);font:inherit;font-size:13px;padding:6px 10px}
.pc-new label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--m-muted)}
.pc-roles{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.pc-roles legend{font-size:12px;color:var(--m-muted);margin-bottom:6px;padding:0}
.pc-chip{flex-direction:row!important;align-items:center;gap:6px!important;padding:6px 10px;border-radius:10px;border:1px solid var(--m-line);background:var(--m-raised);color:var(--m-text)!important}
.pc-chip{min-height:36px}
.pc-chip input{accent-color:var(--m-accent);width:16px;height:16px;min-height:0!important;flex:0 0 16px!important;margin:0;padding:0}
.pc-chip:has(input:checked){border-color:var(--m-accent);background:var(--m-accent-deep)}
.pc-new{gap:12px}
.pc-new label{margin:0}
.pc-perms .seg button{min-height:34px;font-size:12px}

/* 0.6: неясное действие, замки, вкладки, правила агента, журнал, форма проекта */
.pc-perm.unclear{border-color:var(--m-error)}
.pc-unclear{color:#fca5a5!important;font-weight:600}
.pc-diff .pc-hunk{color:var(--m-accent-text)}
.pc-tabs{margin:0 0 12px;flex-shrink:0}
.pc-facts{margin:0 0 10px}
.rt.locked{opacity:.75}
.pc-lock{display:inline-block;margin-left:6px;padding:0 6px;border-radius:6px;border:1px solid var(--m-line);font-size:10px;font-weight:600;color:var(--m-dim);text-transform:uppercase;letter-spacing:.4px;vertical-align:2px}
.pc-perms .seg button:disabled{opacity:.35}
.pc-arules{border-top:1px solid var(--m-line-soft);padding-top:8px}
.pc-arules summary{font-size:12px;color:var(--m-muted);cursor:pointer;padding:2px 0 6px}
.pc-arule{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--m-muted);padding:3px 0}
.pc-arule span{flex:1;min-width:0}
.pc-arule select{flex:0 0 52%;min-height:32px;border-radius:9px;border:1px solid var(--m-line);background:var(--m-raised);color:var(--m-text);font:inherit;font-size:12px;padding:4px 6px}
.pc-arule.own span{color:var(--m-text);font-weight:600}
.pc-reset{font-size:12px;color:var(--m-accent-text);background:none;border:0;padding:6px 0 0}
.pc-journal{display:flex;flex-direction:column;gap:6px}
.pc-jrow{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;border:1px solid var(--m-line);background:var(--m-card);font-size:13px}
.pc-jtime{flex-shrink:0;color:var(--m-dim);font-variant-numeric:tabular-nums;font-size:12px;padding-top:1px}
.pc-jbody{flex:1;min-width:0}
.pc-jbody small{display:block;color:var(--m-muted);font-size:12px;margin-top:2px;overflow-wrap:anywhere}
.pc-jcls{color:var(--m-warn);font-size:12px}
.pc-jdec{display:block;margin-top:3px;font-size:11px;color:var(--m-dim)}
.pc-jdec.approved{color:var(--m-success)}.pc-jdec.denied,.pc-jdec.never{color:#fca5a5}.pc-jdec.ask{color:var(--m-accent-text)}
.pc-ok{color:var(--m-success)}.pc-bad{color:#fca5a5}.pc-wait{color:var(--m-dim)}
.pc-jreload{align-self:center;margin-top:8px;font-size:12px;color:var(--m-accent-text);background:none;border:0}
.pc-fallback{border:1px dashed var(--m-line);border-radius:10px;padding:8px 10px}
.pc-field{display:flex;flex-direction:column;gap:6px}
.pc-field-t{font-size:12px;color:var(--m-muted)}
.pc-new .seg button{min-height:34px;font-size:12px}
.pc-diff span{display:inline;margin:0;padding:0}
.pc-diff,.pc-cmd{word-break:break-all}

/* Кто что делает: строка на каждого работающего агента под полосой */
.pc-doing{flex-shrink:0;display:flex;flex-direction:column;gap:3px}
.pc-doing:empty{display:none}
.pc-doing-row{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--m-muted);min-width:0;padding:1px 2px}
.pc-doing-row b{color:var(--m-text);font-weight:600;flex-shrink:0}
.pc-doing-what{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,Menlo,monospace;font-size:11.5px}
.pc-doing-model{flex-shrink:0;font-size:11px;color:var(--m-dim)}
.pc-doing-row .st{position:static;flex-shrink:0}
.pc .deleg .mention{flex-shrink:0}

/* 0.5: «Запретить» = отмена задачи — предупреждение на карточке */
.pc-warn{color:#fcd34d!important;background:color-mix(in srgb,var(--m-warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--m-warn) 40%,transparent);border-radius:10px;padding:8px 10px}
.pc-warn b{color:#fde68a}
.pc-perm .row .danger{background:var(--m-error);border-color:var(--m-error);color:#fff}
.pc-later{border:1px dashed var(--m-line);border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.5;color:var(--m-muted)}
.pc-later b{display:block;color:var(--m-text);margin-bottom:4px}
.pc-later p{margin:0}

/* Новый проект: шаблоны состава и строки «роль · модель» */
.pc-new-label{margin-top:20px}
.pc-tpls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.pc-tpl{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;border-radius:12px;border:1px solid var(--m-line);background:var(--m-raised);color:var(--m-text);font:inherit;text-align:left;min-height:52px}
.pc-tpl b{font-size:13px}.pc-tpl small{font-size:11px;color:var(--m-muted);line-height:1.3}
.pc-tpl[aria-pressed="true"]{border-color:var(--m-accent);background:var(--m-accent-deep)}
.pc-tpl:disabled{opacity:.45}
.pc-mrow{display:flex;align-items:center;gap:8px;min-width:0}
.pc-mrow .bot-avatar.sm,.pc-mrow .avatar.sm{width:28px;height:28px;border-radius:10px;font-size:13px}
.pc-mrole{flex:0 0 34%;min-width:0;display:flex;flex-direction:column}
.pc-mrole b{font-size:13px}.pc-mrole small{font-size:11px;color:var(--m-dim)}
.pc-new select.pc-mrole-sel{flex:0 0 34%;min-width:0}
.pc-new select.pc-mmodel{flex:1}
.pc-new select.pc-mmodel.trial{border-color:color-mix(in srgb,var(--m-warn) 45%,transparent)}
.pc-mx{color:var(--m-muted)!important;font-size:20px;width:30px!important;height:30px!important}
.pc-mx-gap{width:30px;flex-shrink:0}
.pc-madd{align-self:flex-start;background:none;border:0;color:var(--m-accent-text);font:inherit;font-size:13px;padding:4px 0}
.pc-exec-note,.pc-perm-note{margin:0}
.pc-source-wrap{display:flex;flex-direction:column;gap:6px;margin-top:22px;padding-top:14px;border-top:1px solid var(--m-line-soft)}
.pc-source-wrap .seg{margin:0}
.pc-sample-note{border:1px dashed var(--m-accent-line);border-radius:10px;padding:8px 10px;margin:0 0 10px}
.pc-top-standalone{display:flex;align-items:flex-start;gap:10px}
.pc-top-standalone .sp-top-t{flex:1;min-width:0}
.pc-top-standalone .eyebrow .moment-mark{color:var(--m-accent-soft);margin-right:4px}
.pc-new input{margin:0}
