/* ═══ ARCTEK · Карточка проекта (progressive disclosure) ═══
 *
 * ВЫНЕСЕНО ИЗ styles.css 2026-08-31 И НЕ СКОПИРОВАНО.
 *
 * Карточку проекта открывают ДВЕ страницы: мэрия (index.html) и клиент
 * участника (stakeholder.html). Клиент участника собственного styles.css не
 * грузит вовсе — у него свой набор правил в разметке, — поэтому при подключении
 * карточки стоял выбор: скопировать блок или вынести. Скопировать нельзя:
 * расхождение двух экземпляров одной формы уже стоило долга
 * submission-body-two-shapes, и вторая копия правил ведёт себя так же — правку
 * вносят в один файл, а разъезжается показ на двух экранах.
 *
 * Правила ниже используют четыре переменные общей палитры (--bg-tertiary,
 * --border2, --text-tertiary, --warning-amber). Обе страницы обязаны их
 * объявлять: у мэрии это :root в styles.css, у участника — :root в разметке.
 * Хардкод-цветов здесь заводить нельзя (CLAUDE.md §5).
 */
.pc-overlay { position: fixed; inset: 0; background: rgba(15, 25, 35, .55); z-index: 9998; opacity: 0; pointer-events: none; transition: opacity .22s; display: flex; justify-content: center; padding: 20px; overflow-y: auto; }
.pc-overlay.open { opacity: 1; pointer-events: auto; }
.pc-overlay.pc-overlay-mini { background: transparent; pointer-events: none; }
.pc-overlay.pc-overlay-mini .pc-modal { transform: translateY(calc(100vh - 120px)) scale(.3); opacity: .7; pointer-events: auto; }
.pc-modal { width: 560px; max-width: 100%; background: #fff; border-radius: 10px; box-shadow: 0 18px 60px rgba(15,25,35,.22), 0 0 0 1px rgba(15,25,35,.08); align-self: flex-start; margin: 20px auto; overflow: hidden; display: flex; flex-direction: column; max-height: calc(100vh - 40px); font-family: -apple-system, 'Inter', system-ui, sans-serif; color: #0f1923; transition: transform .22s, opacity .22s; }

/* Header */
.pc-head { padding: 14px 18px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid #dde3ee; flex-shrink: 0; }
.pc-head-title { flex: 1; font-size: 16px; font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-head-close { width: 28px; height: 28px; border: none; background: transparent; color: #8294ad; font-size: 16px; cursor: pointer; border-radius: 6px; font-family: inherit; line-height: 1; }
.pc-head-close:hover { background: #fcebeb; color: #b91c1c; }
.pc-dirty-dot { width: 8px; height: 8px; border-radius: 50%; background: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,.18); flex-shrink: 0; }

/* Level tabs */
.pc-levels { display: flex; gap: 0; padding: 0 18px; border-bottom: 1px solid #dde3ee; flex-shrink: 0; background: #fafbfd; }
.pc-lvl { padding: 9px 14px; font-size: 11px; font-weight: 600; color: #8294ad; cursor: pointer; border-bottom: 2px solid transparent; display: flex; align-items: center; gap: 6px; user-select: none; transition: color .12s; }
.pc-lvl:hover { color: #3d4f6b; }
.pc-lvl.a { color: #185fa5; border-bottom-color: #185fa5; }
.pc-lvl.done { color: #1a7a3b; }
.pc-lvl.done::after { content: '✓'; margin-left: 2px; font-size: 11px; }
.pc-lvl-num { display: inline-flex; width: 18px; height: 18px; border-radius: 50%; background: #eaeff6; font-size: 10px; font-weight: 800; align-items: center; justify-content: center; color: #8294ad; }
.pc-lvl.a .pc-lvl-num { background: #185fa5; color: #fff; }
.pc-lvl.done .pc-lvl-num { background: #1a7a3b; color: #fff; }

/* Body */
.pc-body { overflow-y: auto; flex: 1; }
.pc-sec { padding: 14px 18px; border-bottom: 1px solid #dde3ee; }
.pc-sec:last-child { border-bottom: none; }
.pc-sec-title { font-size: 12px; font-weight: 700; display: flex; align-items: center; gap: 6px; margin-bottom: 10px; cursor: pointer; user-select: none; }
.pc-sec-title .pc-ico { font-size: 14px; }
.pc-sec-hint { margin-left: auto; font-size: 10px; font-weight: 500; color: #8294ad; }

.pc-collapse { max-height: 0; overflow: hidden; transition: max-height .3s ease-out; }
.pc-collapse.open { max-height: 3000px; }

/* Inputs */
.pc-row { display: flex; gap: 8px; margin-bottom: 10px; align-items: flex-start; }
.pc-inp { flex: 1; margin-bottom: 10px; }
.pc-inp label { display: block; font-size: 10px; font-weight: 700; color: #8294ad; text-transform: uppercase; letter-spacing: .3px; margin-bottom: 4px; }
.pc-inp-sm { max-width: 180px; }
.pc-inp input[type="text"], .pc-inp input[type="number"], .pc-inp textarea, .pc-inp select { width: 100%; padding: 7px 10px; border: 1px solid #dde3ee; border-radius: 6px; font-size: 12px; font-family: inherit; background: #fff; color: #0f1923; box-sizing: border-box; outline: none; transition: border-color .12s, box-shadow .12s; }
.pc-inp input:focus, .pc-inp textarea:focus, .pc-inp select:focus { border-color: #185fa5; box-shadow: 0 0 0 3px #e6f1fb; }
.pc-inp textarea { resize: vertical; min-height: 52px; font-family: inherit; }
.pc-hint-inline { font-size: 10px; color: #8294ad; font-weight: 400; text-transform: none; letter-spacing: 0; margin-left: 4px; }

/* Domain toggle */
.pc-dom-toggle { display: flex; gap: 2px; background: #eaeff6; padding: 2px; border-radius: 6px; }
.pc-dom-btn { flex: 1; padding: 6px 12px; border: none; border-radius: 4px; font-size: 11px; font-weight: 600; cursor: pointer; background: transparent; color: #3d4f6b; font-family: inherit; transition: all .12s; }
.pc-dom-btn.a { box-shadow: 0 1px 4px rgba(15,25,35,.08); }
.pc-dom-btn.G.a { background: #e6f1fb; color: #185fa5; }
.pc-dom-btn.S.a { background: #eeedfe; color: #5b4fcf; }
.pc-dom-btn.E.a { background: #eaf3de; color: #1a7a3b; }

/* Scale chips */
.pc-scale-chips { display: flex; gap: 4px; flex-wrap: wrap; }
.pc-sc-chip { padding: 4px 10px; border: 1px solid #dde3ee; border-radius: 12px; font-size: 10px; font-weight: 600; cursor: pointer; background: #fff; color: #3d4f6b; user-select: none; }
.pc-sc-chip:hover { border-color: #185fa5; }
.pc-sc-chip.a { background: #185fa5; color: #fff; border-color: #185fa5; }
/* Расхождение выбранного режима господдержки с применённой программой:
   выбор участника сохраняется, а несовпадение называется вслух
   (долг gov-support-mode-overwritten). */
.pc-gov-note { margin-top: 5px; font-size: 10px; line-height: 1.35; color: var(--warning-amber); }

/* Ramp-up bars */
.pc-ramp { display: flex; gap: 3px; align-items: flex-end; height: 50px; margin-top: 6px; }
.pc-ramp-bar { flex: 1; min-width: 22px; border-radius: 2px 2px 0 0; position: relative; cursor: pointer; transition: filter .12s; }
.pc-ramp-bar:hover { filter: brightness(0.92); }
.pc-ramp-pct { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); font-size: 9px; font-weight: 700; color: #185fa5; }
.pc-ramp-labels { display: flex; gap: 3px; margin-top: 3px; }
.pc-ramp-yr { flex: 1; min-width: 22px; text-align: center; font-size: 9px; color: #8294ad; }

/* Spillover rows */
.pc-spill { margin-top: 14px; padding-top: 10px; border-top: 1px dashed #dde3ee; }
.pc-spill-title { font-size: 11px; font-weight: 700; margin-bottom: 6px; display: flex; align-items: center; gap: 4px; }
.pc-spill-ai-btn { margin-left: auto; padding: 3px 10px; border: 1px solid #5b4fcf; background: #eeedfe; color: #5b4fcf; border-radius: 12px; font-size: 10px; font-weight: 700; cursor: pointer; font-family: inherit; }
.pc-spill-ai-btn:hover { background: #5b4fcf; color: #fff; }
.pc-spill-ai-btn:disabled { opacity: .6; cursor: wait; }
.pc-spill-list { display: flex; flex-direction: column; gap: 4px; }
.pc-spill-row { display: flex; align-items: center; gap: 4px; padding: 6px 8px; border: 1px solid #dde3ee; border-radius: 6px; background: #fff; font-size: 11px; }
.pc-spill-num { width: 18px; height: 18px; border-radius: 50%; background: #eaeff6; display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 800; color: #3d4f6b; flex-shrink: 0; }
.pc-spill-name-sel { flex: 1; min-width: 0; border: none; font-size: 11px; font-weight: 600; background: transparent; color: #0f1923; padding: 2px 4px; font-family: inherit; cursor: pointer; }
.pc-spill-name-sel:focus { outline: none; border-radius: 3px; background: #f0f4fa; }
.pc-spill-type-sel { border: 1px solid #dde3ee; border-radius: 3px; font-size: 9px; font-weight: 700; padding: 2px 4px; background: #fff; cursor: pointer; font-family: inherit; flex-shrink: 0; }
.pc-spill-type-sel.supply  { background: #e6f1fb; color: #185fa5; border-color: #185fa5; }
.pc-spill-type-sel.demand  { background: #eaf3de; color: #1a7a3b; border-color: #1a7a3b; }
.pc-spill-type-sel.induced { background: #eeedfe; color: #5b4fcf; border-color: #5b4fcf; }
.pc-spill-ic { font-size: 11px; color: #8294ad; margin-left: 2px; flex-shrink: 0; }
.pc-spill-inp { width: 54px; border: 1px solid #dde3ee; border-radius: 3px; font-size: 10px; font-weight: 700; padding: 2px 4px; text-align: right; background: #fff; color: #0f1923; font-variant-numeric: tabular-nums; font-family: inherit; }
.pc-spill-inp:focus { outline: none; border-color: #185fa5; }
.pc-spill-del { border: none; background: transparent; color: #8294ad; cursor: pointer; font-size: 12px; padding: 0 4px; flex-shrink: 0; }
.pc-spill-del:hover { color: #b91c1c; }
.pc-spill-total { display: flex; justify-content: space-between; padding: 6px 10px; background: #f5f7fb; border-radius: 6px; font-size: 11px; font-weight: 700; margin-top: 6px; }
.pc-spill-total-lbl { color: #3d4f6b; }
.pc-spill-total-val { color: #185fa5; }
.pc-spill-add { margin-top: 6px; padding: 5px 10px; border: 1px dashed #c5cfde; background: #fff; color: #5b4fcf; border-radius: 4px; font-size: 10px; font-weight: 600; cursor: pointer; font-family: inherit; }
.pc-spill-add:hover { border-color: #5b4fcf; background: #eeedfe; }
.pc-spill-hint { margin-top: 6px; font-size: 10px; color: #8294ad; text-align: center; font-style: italic; }

/* Map (site) */
/* Встроенная карта в карточке проекта */
.pc-map-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.pc-map-btn { padding: 7px 12px; border: 1px solid #185fa5; background: #185fa5; color: #fff; border-radius: 6px; font-size: 11px; font-weight: 600; cursor: pointer; font-family: inherit; }
.pc-map-btn:hover { background: #0c447c; border-color: #0c447c; }
.pc-map-btn.ghost { background: #fff; color: #b91c1c; border-color: #f5b8b8; }
.pc-map-btn.ghost:hover { background: #fcebeb; }
.pc-map-area { font-size: 11px; color: #1a7a3b; }
.pc-map-area strong { color: #0f5028; }
.pc-map-hint { font-size: 10px; color: #8294ad; line-height: 1.4; }
/* Полоса состояния площадки: включённый режим рисования и причина отказа.
   Живёт между панелью кнопок и картой, потому что относится к обеим.
   Цвета — ТОЛЬКО переменные общей палитры (CLAUDE.md §5); из неё берутся ровно
   те четыре, что объявлены обеими страницами, открывающими карточку. */
.pc-site-state { display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin: 0 0 8px; padding: 7px 10px; border-radius: 6px; font-size: 11px; line-height: 1.45;
  background: var(--bg-tertiary); border: 1px solid var(--border2); color: var(--text-tertiary); }
.pc-site-state span { flex: 1; min-width: 180px; }
.pc-site-state.draw { color: var(--warning-amber); border-color: var(--warning-amber); }
.pc-site-state.error { color: var(--warning-amber); border-color: var(--warning-amber); font-weight: 600; }
.pc-inline-map { width: 100%; height: 280px; border: 1px solid #dde3ee; border-radius: 8px; overflow: hidden; margin-bottom: 8px; background: #eef1f6; }
.pc-inline-map-load { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #8294ad; font-size: 12px; }

/* PZZ result */
.pc-pzz { padding: 8px 10px; border-radius: 6px; font-size: 11px; display: flex; align-items: center; gap: 6px; margin-bottom: 8px; line-height: 1.5; }
.pc-pzz.ok   { background: #eaf3de; color: #1a7a3b; }
.pc-pzz.fail { background: #fcebeb; color: #b91c1c; }
.pc-pzz.warn { background: #faeeda; color: #7a4f00; }

/* Infra distances table */
.pc-infra-label { font-size: 10px; font-weight: 700; color: #8294ad; text-transform: uppercase; letter-spacing: .3px; margin-bottom: 4px; }
.pc-infra-tbl { width: 100%; font-size: 11px; border-collapse: collapse; margin-bottom: 6px; }
.pc-infra-tbl td { padding: 4px 6px; border-bottom: 1px solid #eaeff6; }
.pc-infra-tbl td:first-child { font-weight: 600; width: 30%; }
.pc-infra-tbl td:nth-child(2) { color: #8294ad; }
.pc-infra-tbl td:last-child { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.pc-infra-total { display: flex; justify-content: space-between; padding: 6px 10px; background: #faeeda; color: #7a4f00; border-radius: 6px; font-size: 12px; font-weight: 700; }

/* Infra grid (level 3b) */
.pc-infra-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
.pc-infra-item { padding: 6px 8px; border: 1px solid #dde3ee; border-radius: 6px; background: #fff; }
.pc-infra-item label { display: block; font-size: 9px; color: #8294ad; margin-bottom: 2px; }
.pc-infra-item input { width: 100%; border: none; font-size: 13px; font-weight: 700; background: transparent; padding: 0; color: #0f1923; font-family: inherit; }
.pc-infra-item input:focus { outline: none; }
.pc-infra-unit { font-size: 9px; color: #8294ad; }

/* Effects panel */
.pc-eff-panel { background: #f5f7fb; border-radius: 8px; padding: 10px 12px; }
.pc-eff-status { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 11px; flex-wrap: wrap; }
.pc-eff-badge { padding: 2px 8px; border-radius: 10px; font-size: 10px; font-weight: 700; }
.pc-eff-badge.pending { background: #faeeda; color: #7a4f00; }
.pc-eff-badge.done    { background: #eaf3de; color: #1a7a3b; }
.pc-eff-hint { color: #8294ad; font-size: 10px; }
.pc-eff-dom { margin-bottom: 6px; }
.pc-eff-dom.primary .pc-eff-dom-hdr { font-weight: 800; }
.pc-eff-dom-hdr { font-size: 11px; font-weight: 700; margin-bottom: 3px; display: flex; align-items: center; gap: 4px; }
.pc-eff-items { display: flex; gap: 3px; flex-wrap: wrap; }
.pc-eff-tag { font-size: 10px; padding: 2px 6px; border-radius: 3px; font-weight: 600; }
.pc-eff-tag.pos { background: #eaf3de; color: #1a7a3b; }
.pc-eff-tag.neg { background: #fcebeb; color: #b91c1c; }
/* Ключ, которого модель не принимает: пилюля видна, но не выдаёт себя за
   действующий эффект (BRQ-160). Приглушение, а не сокрытие — участник должен
   видеть, что советник это значение прислал. */
.pc-eff-tag.unsupported {
  background: var(--bg-tertiary);
  color: var(--text-tertiary);
  border: 1px dashed var(--border2);
  font-weight: 500;
  cursor: help;
}
.pc-eff-ics { padding: 8px 10px; background: linear-gradient(135deg, #e6f1fb, #eeedfe); border-radius: 6px; display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.pc-eff-ics-val { font-size: 18px; font-weight: 800; color: #0c447c; font-variant-numeric: tabular-nums; }
.pc-eff-ics-label { font-size: 10px; color: #0c447c; }
.pc-eff-mech { font-size: 10px; color: #3d4f6b; margin-top: 8px; padding: 6px 8px; background: #fff; border-radius: 6px; line-height: 1.5; border: 1px solid #eaeff6; }
.pc-eff-fiscal { font-size: 10px; color: #0f5028; margin-top: 8px; padding: 6px 8px; background: #eaf3de; border-radius: 6px; line-height: 1.5; border: 1px solid #c5e0a5; }
.pc-eff-fiscal strong { color: #1a7a3b; }
.pc-eff-fiscal-note { color: #6a8a5a; font-size: 9px; }
/* Masterplan 2.1 — структура финансирования */
.pc-fin-bar { display: flex; height: 10px; border-radius: 5px; overflow: hidden; background: #eaeff6; margin: 4px 0 8px; }
.pc-fin-bar > div { height: 100%; transition: width .2s; }
.pc-fin-list { display: flex; flex-direction: column; gap: 4px; }
.pc-fin-row { display: flex; align-items: center; gap: 6px; font-size: 11px; }
.pc-fin-dot { width: 8px; height: 8px; border-radius: 2px; flex-shrink: 0; }
.pc-fin-lbl { flex: 1; color: #3d4f6b; }
.pc-fin-inp { width: 52px; padding: 3px 5px; border: 1px solid #dde3ee; border-radius: 4px; font-size: 11px; text-align: right; font-family: inherit; }
.pc-fin-pct { color: #8294ad; font-size: 10px; }
.pc-fin-mln { width: 62px; text-align: right; color: #0f5028; font-weight: 600; font-size: 10px; }
.pc-fin-presets { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
.pc-fin-presets button { padding: 4px 8px; border: 1px solid #c5cfde; background: #fff; color: #3d4f6b; border-radius: 12px; font-size: 10px; cursor: pointer; font-family: inherit; }
.pc-fin-presets button:hover { border-color: #185fa5; background: #e6f1fb; color: #185fa5; }
.pc-fin-presets .pc-fin-balance { border-color: #1a7a3b; color: #1a7a3b; font-weight: 600; }
.pc-fin-presets .pc-fin-balance:hover { background: #eaf3de; }
.pc-fin-prog-apply { flex-shrink: 0; align-self: center; padding: 5px 9px; border: 1px solid #185fa5; background: #fff; color: #185fa5; border-radius: 5px; font-size: 10px; font-weight: 600; cursor: pointer; font-family: inherit; white-space: nowrap; }
.pc-fin-prog-apply:hover { background: #185fa5; color: #fff; }
.pc-fin-prog-apply.on { background: #1a7a3b; border-color: #1a7a3b; color: #fff; }
.pc-fin-prog.applied { border-color: #1a7a3b; background: #f3f9ec; }
/* Masterplan 2.2 — подбор госпрограмм */
.pc-fin-prog-list { display: flex; flex-direction: column; gap: 5px; margin-top: 4px; }
.pc-fin-prog { display: flex; gap: 7px; padding: 6px 8px; background: #f5f7fb; border: 1px solid #dde3ee; border-radius: 6px; }
.pc-fin-prog-lvl { flex-shrink: 0; font-size: 9px; font-weight: 700; padding: 2px 5px; border-radius: 3px; height: fit-content; }
.pc-fin-prog-lvl.fed { background: #185fa5; color: #fff; }
.pc-fin-prog-lvl.reg { background: #5b4fcf; color: #fff; }
.pc-fin-prog-lvl.loc { background: #1a7a3b; color: #fff; }
.pc-fin-prog-body { flex: 1; min-width: 0; }
.pc-fin-prog-name { font-size: 11px; font-weight: 600; color: #0f1923; }
.pc-fin-prog-pct { font-size: 9px; color: #1a7a3b; font-weight: 700; }
.pc-fin-prog-rule { font-size: 10px; color: #3d4f6b; margin-top: 2px; line-height: 1.4; }
.pc-fin-prog-gp { font-size: 9px; color: #8294ad; margin-top: 2px; }
.pc-fin-prog-empty { font-size: 10px; color: #8294ad; padding: 6px 0; font-style: italic; }
.pc-fin-ai-btn { margin-top: 4px; padding: 5px 10px; border: 1px solid #5b4fcf; background: #eeedfe; color: #5b4fcf; border-radius: 5px; font-size: 10px; font-weight: 600; cursor: pointer; font-family: inherit; }
.pc-fin-ai-btn:hover { background: #5b4fcf; color: #fff; }
.pc-fin-ai-result { margin-top: 6px; padding: 6px 8px; background: #eeedfe; border-radius: 5px; font-size: 10px; color: #5b4fcf; line-height: 1.4; }
/* Masterplan 2.3 — дорожная карта CAPEX */
.pc-cr-tbl { width: 100%; border-collapse: collapse; font-size: 10px; margin-top: 4px; }
.pc-cr-tbl th { background: #eaeff6; color: #3d4f6b; font-weight: 700; padding: 4px 5px; border: 1px solid #dde3ee; }
.pc-cr-tbl td { padding: 4px 5px; border: 1px solid #dde3ee; text-align: center; color: #8294ad; }
.pc-cr-tbl td.on { background: #e6f1fb; color: #185fa5; font-weight: 600; }
.pc-cr-st { text-align: left !important; color: #0f1923 !important; font-weight: 600; }
.pc-cr-st span { color: #8294ad; font-weight: 400; font-size: 9px; }
.pc-cr-sum { color: #0f5028 !important; font-weight: 700 !important; }
.pc-cr-tot td { background: #f5f7fb; color: #0f1923 !important; font-weight: 700; }
.pc-eff-risks { margin-top: 6px; }
.pc-eff-risk { font-size: 10px; padding: 3px 6px; background: #fcebeb; color: #b91c1c; border-radius: 3px; display: inline-block; margin: 2px; }

/* Footer */
.pc-foot { padding: 10px 18px; border-top: 1px solid #dde3ee; background: #fafbfd; display: flex; gap: 6px; align-items: center; flex-shrink: 0; }
.pc-foot-spacer { flex: 1; }
.pc-btn { padding: 7px 14px; border-radius: 6px; font-size: 11px; font-weight: 600; cursor: pointer; border: 1px solid #dde3ee; background: #fff; color: #3d4f6b; font-family: inherit; transition: all .12s; }
.pc-btn:hover { border-color: #c5cfde; background: #f0f4fa; }
.pc-btn.primary { background: #185fa5; color: #fff; border-color: #185fa5; }
.pc-btn.primary:hover { background: #0c447c; }
.pc-btn.primary:disabled { opacity: .5; cursor: not-allowed; }
.pc-btn.ai { background: #5b4fcf; color: #fff; border-color: #5b4fcf; }
.pc-btn.ai:hover { background: #4a3fb8; }
.pc-btn.danger { color: #b91c1c; border-color: #fcebeb; }
.pc-btn.danger:hover { background: #fcebeb; border-color: #b91c1c; }

@media (max-width: 680px) {
  .pc-modal { width: 100vw; margin: 0; max-height: 100vh; border-radius: 0; }
  .pc-infra-grid { grid-template-columns: 1fr 1fr; }
  .pc-row { flex-wrap: wrap; }
}

/* ── ИИ-контур карточки (FR-003): генерация, обоснование, критика ─────── */
.pc-aigen { margin-bottom: 12px; padding: 10px 12px; border: 1px dashed var(--border2, #c5cfde); border-radius: 8px; background: var(--bg-secondary, #f6f8fc); }
.pc-aigen label { display: block; font-size: 11px; font-weight: 700; color: var(--text-secondary, #3d4f6b); margin-bottom: 6px; }
.pc-aigen textarea { width: 100%; padding: 7px 10px; border: 1px solid var(--border, #dde3ee); border-radius: 6px; font-size: 12px; font-family: inherit; box-sizing: border-box; resize: vertical; }
.pc-aigen .pc-btn { margin-top: 8px; }
.pc-arctur .pc-row { gap: 8px; }
.pc-arctur-text { margin-top: 10px; }
.pc-arctur-text label { display: block; font-size: 11px; font-weight: 700; color: var(--text-secondary, #3d4f6b); margin-bottom: 4px; }
.pc-arctur-body { font-size: 12px; line-height: 1.55; color: var(--text-primary, #0f1923); background: var(--bg-secondary, #f6f8fc); border: 1px solid var(--border, #dde3ee); border-radius: 8px; padding: 10px 12px; white-space: pre-wrap; }
