/* Доска задач CRM Petala (14.10.2026, Павлон: разработки брата — CRM/oxbox-tasks-spec.md, «адаптировать под црм петалы»).
   Колонки Бэклог → К работе → В работе → На проверке → Готово, карточки перетаскиваются, окно задачи — родная панель темы.
   Без оценок, зарплат и GitLab; задача привязывается к заказу, покупателю или поставке. Только токены темы — тёмная тема сама.
   ≤960 — колонки вкладками. */
.board { display: flex; flex-direction: column; height: max(32rem, calc(100dvh - 12.75rem)); padding: 0; overflow: hidden; }
.board__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.625rem 0.75rem; padding: 0.875rem; border-bottom: 1px solid var(--border); }
.board__bar .search { flex: 1 1 14rem; max-width: 20rem; }
.board__bar .tabs { flex: none; }
.board__people { display: flex; align-items: center; gap: 0.5rem; padding: 0 0.25rem; }
.board__people button { padding: 0; border: 0; background: none; border-radius: 50%; cursor: pointer; opacity: .55; transition: opacity .15s, transform .15s; }
.board__people button:hover { opacity: .85; }
.board__people button[aria-pressed="true"] { opacity: 1; box-shadow: 0 0 0 2px var(--card), 0 0 0 4px var(--primary); }
.board__add { margin-left: auto; }
.board__ctabs { display: none; }

.cols { flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(5, minmax(13rem, 1fr)); gap: 0.75rem; padding: 0.875rem; overflow-x: auto; background: var(--background); }
.col { display: flex; flex-direction: column; min-height: 0; border-radius: var(--r-lg); background: color-mix(in srgb, var(--muted) 70%, transparent); }
.col__head { display: flex; align-items: center; gap: 0.5rem; padding: 0.75rem 0.75rem 0.5rem; font-size: 0.8125rem; font-weight: 600; }
.col__dot { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--muted-foreground); flex: none; }
.col[data-col="doing"] .col__dot { background: var(--primary); }
.col[data-col="review"] .col__dot { background: #c1a046; }
.col[data-col="done"] .col__dot { background: #6f8b2e; }
.col__n { margin-left: auto; color: var(--muted-foreground); font-weight: 500; font-variant-numeric: tabular-nums; }
.col__list { flex: 1; min-height: 3rem; overflow-y: auto; display: flex; flex-direction: column; gap: 0.5rem; padding: 0 0.5rem 0.75rem; }
.col.is-over { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--primary) 45%, transparent); }

/* карточка */
.tc { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.5rem; padding: 0.625rem 0.75rem 0.75rem; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--card); box-shadow: var(--shadow-sm); cursor: grab; user-select: none; -webkit-user-select: none; touch-action: manipulation; text-align: left; color: inherit; font: inherit; width: 100%; }
.tc:hover { border-color: color-mix(in srgb, var(--primary) 40%, var(--border)); }
.tc:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.tc__top { display: flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; color: var(--muted-foreground); }
.tc__id { font-variant-numeric: tabular-nums; }
.tc__prio { display: inline-flex; align-items: center; gap: 0.25rem; margin-left: auto; font-weight: 500; }
.tc__prio .i { width: 0.875rem; height: 0.875rem; }
.tc__prio--urgent { color: var(--destructive); }
.tc__prio--high { color: #ad8a31; }
.tc__prio--low { color: var(--muted-foreground); }
.tc__t { font-size: 0.875rem; font-weight: 500; line-height: 1.35; }
.tc.is-done .tc__t { color: var(--muted-foreground); }
.tc__link { display: flex; align-items: center; gap: 0.375rem; min-width: 0; padding: 0.25rem 0.5rem; border-radius: var(--r-md); background: var(--muted); font-size: 0.75rem; color: var(--muted-foreground); }
.tc__link .i { width: 0.875rem; height: 0.875rem; flex: none; }
.tc__link span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tc__tags { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.tag { padding: 0 0.4375rem; border-radius: 999px; background: color-mix(in srgb, var(--primary) 12%, transparent); color: var(--foreground); font-size: 0.6875rem; font-weight: 500; line-height: 1.25rem; }
.tc__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem 0.625rem; font-size: 0.75rem; color: var(--muted-foreground); }
.tc__foot .i { width: 0.875rem; height: 0.875rem; }
.tc__meta { display: inline-flex; align-items: center; gap: 0.1875rem; font-variant-numeric: tabular-nums; }
.tc__people { display: flex; margin-left: auto; }
.tc__people .pava + .pava { margin-left: -0.375rem; }
.due { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0 0.375rem; border-radius: var(--r-sm); line-height: 1.25rem; font-variant-numeric: tabular-nums; }
.due--late { background: color-mix(in srgb, var(--destructive) 14%, transparent); color: var(--destructive); font-weight: 500; }
.due--today { background: color-mix(in srgb, #c1a046 22%, transparent); color: #7d6420; font-weight: 500; }
.due--soon { background: color-mix(in srgb, var(--primary) 12%, transparent); color: var(--foreground); }
[data-theme="dark"] .due--today { color: #e3c97a; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .due--today { color: #e3c97a; } }
.tc__review { display: flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; font-weight: 500; color: #7d6420; }
[data-theme="dark"] .tc__review { color: #e3c97a; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .tc__review { color: #e3c97a; } }

/* перетаскивание: карточка едет за мышью, на её месте — пустая рамка */
.tc.is-drag { position: fixed; z-index: 70; pointer-events: none; cursor: grabbing; box-shadow: 0 1rem 2rem rgb(0 0 0 / .18); transform: rotate(2deg); }
.tc-ph { border: 2px dashed color-mix(in srgb, var(--primary) 45%, transparent); border-radius: var(--r-lg); background: color-mix(in srgb, var(--primary) 6%, transparent); }
html.is-dragging, html.is-dragging * { cursor: grabbing !important; }

/* аватарки людей — круг ровного цвета, как в чате */
.pava { display: grid; place-items: center; width: 1.625rem; height: 1.625rem; border-radius: 50%; flex: none; color: #fff; font-size: 0.6875rem; /* 11 px — подобрано замером по пикселям снимка ×4: в круге 26 буквы в центре ±0,13 px (10 px давал −0,5, дробный 11,3 — −1,0: Chrome округляет метрики шрифта) */ font-weight: 600; background: #6f8b2e; box-shadow: 0 0 0 2px var(--card); }
.pava--lg { width: 2rem; height: 2rem; font-size: 0.75rem; }
.pava--1 { background: #bd6f87; } .pava--2 { background: #c1a046; } .pava--3 { background: #707d50; } .pava--4 { background: #8b9182; } .pava--5 { background: #5f7a1c; }

/* окно задачи — модалка по центру (Павлон 14.10: «справой стороны не удобно читать, я бы делал модалкой»): слева текст задачи,
   подзадачи и комментарии, справа узкой колонкой свойства — как карточка задачи в Linear; на телефоне во весь экран */
dialog.tskm { position: fixed; inset: 0; margin: auto; width: min(60rem, calc(100vw - 2rem)); height: min(46rem, calc(100dvh - 2rem)); max-width: none; max-height: none; padding: 0; border: 1px solid var(--border); border-radius: var(--r-xl); background: var(--card); color: var(--foreground); box-shadow: 0 1.5rem 4rem rgb(0 0 0 / .25); overflow: hidden; }
dialog.tskm[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); animation: modal-in .18s ease-out; }
dialog.tskm::backdrop { background: rgb(0 0 0 / .4); }
.tskm__head { display: flex; align-items: flex-start; gap: 1rem; padding: 1.25rem 1.5rem 1.125rem; border-bottom: 1px solid var(--border); }
.tskm__head > div { flex: 1; min-width: 0; }
.tskm__head .btn { flex: none; margin: -0.25rem -0.5rem 0 0; }
.tsk__id { font-size: 0.8125rem; color: var(--muted-foreground); }
.tsk__t { margin: 0.25rem 0 0; font-size: 1.375rem; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; text-wrap: balance; }
.tskm__body { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; min-height: 0; }
.tskm__main { overflow-y: auto; display: grid; gap: 1.75rem; align-content: start; padding: 1.5rem; }
.tskm__side { overflow-y: auto; display: grid; gap: 1.25rem; align-content: start; padding: 1.25rem 1rem; border-left: 1px solid var(--border); background: color-mix(in srgb, var(--muted) 45%, var(--card)); }
.tskm__side .btn { width: 100%; }
.tsk__desc { margin: 0; font-size: 0.9375rem; line-height: 1.6; white-space: pre-wrap; }
.tskm h3 { margin: 0 0 0.625rem; font-size: 0.8125rem; font-weight: 600; color: var(--muted-foreground); }
/* свойства (Павлон 14.10: «скомканно и не ровно»): значок в ячейке 22 px — текст с одной вертикали; длинное значение
   переносится, а не режется многоточием; строки 36 px, две группы — «что и кто» и «к чему привязано» */
.props { display: grid; grid-template-columns: 6.25rem minmax(0, 1fr); /* «Соисполнители» — 98 px */ gap: 0.25rem 0.5rem; align-items: start; margin: 0; font-size: 0.8125rem; }
.props + .props { padding-top: 1rem; border-top: 1px solid var(--border); }
.props dt { padding-top: 0.5625rem; line-height: 1.3; color: var(--muted-foreground); }
.props dd { position: relative; display: flex; flex-wrap: wrap; gap: 0.125rem; min-width: 0; margin: 0; }
.prop { display: inline-flex; align-items: center; gap: 0.5rem; max-width: 100%; min-height: 2.25rem; padding: 0.375rem 0.5rem; border: 0; border-radius: var(--r-md); background: none; color: inherit; font: inherit; font-size: 0.8125rem; line-height: 1.3; text-align: left; text-decoration: none; }
.prop__ico { display: grid; place-items: center; width: 1.375rem; height: 1.375rem; flex: none; align-self: flex-start; }
.prop--tags { flex-wrap: wrap; gap: 0.25rem; padding-left: 2.375rem; } /* метки — с той же вертикали, что текст значений */
.pdue--late { color: var(--destructive); font-weight: 500; } .pdue--today { color: #7d6420; font-weight: 500; }
[data-theme="dark"] .pdue--today { color: #e3c97a; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .pdue--today { color: #e3c97a; } }
button.prop, a.prop { cursor: pointer; }
button.prop:hover, a.prop:hover, .prop[aria-expanded="true"] { background: var(--accent); }
.prop .i { width: 1rem; height: 1rem; flex: none; }
.prop .pava { width: 1.375rem; height: 1.375rem; font-size: 0.5625rem; box-shadow: none; }
.prop__dot { width: 0.625rem; height: 0.625rem; border-radius: 50%; flex: none; background: var(--muted-foreground); }
.prop__dot[data-col="doing"] { background: var(--primary); } .prop__dot[data-col="review"] { background: #c1a046; } .prop__dot[data-col="done"] { background: #6f8b2e; }
.prop--urgent .i { color: var(--destructive); } .prop--high .i { color: #ad8a31; } .prop--normal .i, .prop--low .i, .prop--muted { color: var(--muted-foreground); }
.pmenu { position: absolute; z-index: 5; top: calc(100% + 0.25rem); right: 0; /* от правого края: колонка свойств у правой стенки модалки */ display: grid; min-width: 13rem; padding: 0.25rem; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--card); box-shadow: 0 0.75rem 2rem rgb(0 0 0 / .16); }
.pmenu[hidden] { display: none; }
.pmenu button { display: flex; align-items: center; gap: 0.5rem; height: 2.125rem; padding: 0 0.5rem; border: 0; border-radius: var(--r-md); background: none; color: inherit; font: inherit; font-size: 0.8125rem; text-align: left; cursor: pointer; }
.pmenu button:hover, .pmenu button:focus-visible { background: var(--accent); outline: none; }
.pmenu .pava { width: 1.375rem; height: 1.375rem; font-size: 0.5625rem; box-shadow: none; }
.pmenu__ok { width: 1rem; height: 1rem; margin-left: auto; color: var(--primary); opacity: 0; }
.pmenu button[aria-checked="true"] .pmenu__ok { opacity: 1; }
@media (max-width: 720px) {
  dialog.tskm { width: 100vw; height: 100dvh; border: 0; border-radius: 0; }
  .tskm__body { display: flex; flex-direction: column; overflow-y: auto; }
  .tskm__main, .tskm__side { overflow: visible; }
  .tskm__side { order: -1; border-left: 0; border-bottom: 1px solid var(--border); }
  .tskm__main { padding: 1.25rem 1rem 1.5rem; }
}
/* новая задача — панель темы .sheet; кнопки-пилюли (у темы .seg — переключатель на серой подложке, имя не наше) */
.tsk-new .sheet__body { gap: 1.25rem; }
.chips { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.chips button { height: 2rem; padding: 0 0.75rem; border: 1px solid var(--border); border-radius: 999px; background: var(--card); color: inherit; font: inherit; font-size: 0.8125rem; cursor: pointer; }
.chips button:hover { background: var(--accent); }
.chips button[aria-pressed="true"] { border-color: var(--primary); background: var(--primary); color: var(--primary-foreground); }
.subs { display: grid; gap: 0.25rem; }
.sub { display: flex; align-items: center; gap: 0.625rem; padding: 0.375rem 0.5rem; border: 0; border-radius: var(--r-md); background: none; color: inherit; font: inherit; font-size: 0.875rem; text-align: left; cursor: pointer; }
.sub:hover { background: var(--accent); }
.sub__box { display: grid; place-items: center; width: 1.125rem; height: 1.125rem; border: 1.5px solid var(--input); border-radius: 0.3125rem; flex: none; }
.sub__box .i { width: 0.75rem; height: 0.75rem; stroke-width: 3; opacity: 0; }
.sub[aria-checked="true"] .sub__box { border-color: var(--primary); background: var(--primary); color: var(--primary-foreground); }
.sub[aria-checked="true"] .sub__box .i { opacity: 1; }
.sub[aria-checked="true"] .sub__t { color: var(--muted-foreground); text-decoration: line-through; }
.subs__bar { height: 0.25rem; margin-bottom: 0.5rem; border-radius: 999px; background: var(--muted); overflow: hidden; }
.subs__bar i { display: block; height: 100%; background: var(--primary); transition: width .2s; }
.cmts { display: grid; gap: 0.75rem; }
.cmt { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.125rem 0.625rem; font-size: 0.875rem; }
.cmt .pava { grid-row: span 2; }
.cmt__h { font-size: 0.8125rem; } .cmt__h b { font-weight: 600; } .cmt__h span { color: var(--muted-foreground); margin-left: 0.375rem; }
.cmt__t { line-height: 1.5; white-space: pre-wrap; }
.cmt__t .at { color: var(--primary); font-weight: 500; }
.cmt--sys { display: block; font-size: 0.8125rem; color: var(--muted-foreground); }
/* комментарий: одна рамка, кнопка отправки внутри справа внизу, без уголка растягивания */
.cmt-add { position: relative; border: 1px solid var(--input); border-radius: var(--r-lg); background: var(--card); }
.cmt-add:focus-within { border-color: var(--ring); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ring) 22%, transparent); }
.cmt-add textarea { display: block; width: 100%; min-height: 4.75rem; max-height: 12rem; padding: 0.625rem 3.25rem 0.625rem 0.75rem; border: 0; border-radius: inherit; background: none; color: inherit; font: inherit; font-size: 0.875rem; line-height: 1.45; resize: none; outline: none; }
.cmt-add .js-csend { position: absolute; right: 0.5rem; bottom: 0.5rem; width: 2rem; height: 2rem; }
.cmt-add textarea.is-need::placeholder { color: var(--destructive); }
.tsk-new textarea { flex: 1; width: 100%; min-height: 2.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--input); border-radius: var(--r-md); background: var(--card); color: inherit; font: inherit; font-size: 0.875rem; line-height: 1.4; resize: vertical; }
.tsk-new textarea:focus, .tsk-new .input:focus { outline: none; border-color: var(--ring); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ring) 22%, transparent); }
.tsk-review { display: grid; gap: 0.625rem; padding: 0.875rem 1rem; border-radius: var(--r-lg); background: color-mix(in srgb, #c1a046 16%, transparent); font-size: 0.875rem; }
.tsk-review__acts { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.tsk-new .fld { display: grid; gap: 0.375rem; }
.tsk-new .fld__l { font-size: 0.8125rem; font-weight: 500; }
.tsk-new .input { padding-left: 0.75rem; }
.tsk-new .people { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.tsk-new .people button { display: inline-flex; align-items: center; gap: 0.375rem; height: 2.25rem; padding: 0 0.75rem 0 0.25rem; border: 1px solid var(--border); border-radius: 999px; background: var(--card); color: inherit; font: inherit; font-size: 0.8125rem; cursor: pointer; }
.tsk-new .people button[aria-pressed="true"] { border-color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, var(--card)); }
.dict { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; border: 1px dashed color-mix(in srgb, var(--primary) 45%, var(--border)); border-radius: var(--r-lg); font-size: 0.8125rem; color: var(--muted-foreground); }
.dict .btn { flex: none; }
.dict.is-on { border-style: solid; background: color-mix(in srgb, var(--primary) 8%, transparent); color: var(--foreground); }
.fld.is-filled .input, .fld.is-filled textarea { animation: fill-in .6s ease-out; }
@keyframes fill-in { from { background: color-mix(in srgb, var(--primary) 18%, var(--card)); } }

/* телефон и узкое окно: колонки — вкладками, доска — обычной высоты */
@media (max-width: 960px) {
  .board { height: auto; overflow: visible; }
  .board__bar .search { max-width: none; flex-basis: 100%; }
  .board__add { margin-left: 0; }
  .board__ctabs { display: flex; gap: 0.25rem; overflow-x: auto; padding: 0.625rem 0.875rem 0; scrollbar-width: none; }
  .board__ctabs button { flex: none; display: inline-flex; align-items: center; gap: 0.375rem; height: 2.25rem; padding: 0 0.75rem; border: 1px solid var(--border); border-radius: 999px; background: var(--card); color: inherit; font: inherit; font-size: 0.8125rem; font-weight: 500; cursor: pointer; }
  .board__ctabs button[aria-selected="true"] { border-color: var(--primary); background: var(--primary); color: var(--primary-foreground); }
  .board__ctabs b { font-weight: 500; opacity: .7; }
  .cols { display: block; overflow: visible; padding: 0.625rem 0.875rem 0.875rem; background: none; }
  .col { display: none; background: none; }
  .col.is-tab { display: flex; }
  .col__head { display: none; }
  .col__list { overflow: visible; padding: 0; }
  .tc { cursor: pointer; }

}
@media (prefers-reduced-motion: reduce) { .tc.is-drag { transform: none; } .fld.is-filled .input, .fld.is-filled textarea { animation: none; } }

/* буквы в кружках по центру (Павлон 14.10: «текст в них не ровно»): у Onest над заглавными запас под надстрочные знаки —
   замер по пикселям 1,2 px выше центра в 32 px и 0,75 в 26; text-box обрезает строку по высоте заглавных */
.pava { line-height: 1; text-box: trim-both cap alphabetic; }
@supports not (text-box: trim-both cap alphabetic) { .pava { padding-top: 0.18em; } }

/* скролл — как у бокового меню темы (Павлон 14.10): тонкая полоса 8 px без стрелок, ползунок полупрозрачный, темнеет при наведении */
@supports not selector(::-webkit-scrollbar) { :is(.tskm__main, .tskm__side, .tskm__body, .cols, .col__list, .cmt-add textarea, .tsk-new .sheet__body) { scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--foreground) 20%, transparent) transparent; } } /* в Chrome на Windows стандартные свойства рисуют стрелки — им ::-webkit-scrollbar, как у темы */
:is(.tskm__main, .tskm__side, .tskm__body, .cols, .col__list, .cmt-add textarea, .tsk-new .sheet__body)::-webkit-scrollbar { width: 0.5rem; height: 0.5rem; background: transparent; }
:is(.tskm__main, .tskm__side, .tskm__body, .cols, .col__list, .cmt-add textarea, .tsk-new .sheet__body)::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 1rem; background: color-mix(in srgb, var(--foreground) 20%, transparent) padding-box; }
:is(.tskm__main, .tskm__side, .tskm__body, .cols, .col__list, .cmt-add textarea, .tsk-new .sheet__body)::-webkit-scrollbar-thumb:hover { background-color: color-mix(in srgb, var(--foreground) 35%, transparent); }
:is(.tskm__main, .tskm__side, .tskm__body, .cols, .col__list, .cmt-add textarea, .tsk-new .sheet__body)::-webkit-scrollbar-button, :is(.tskm__main, .tskm__side, .tskm__body, .cols, .col__list, .cmt-add textarea, .tsk-new .sheet__body)::-webkit-scrollbar-corner { display: none; background: transparent; }

/* целые высоты строк (Павлон 14.10: «буквы в кружках не по центру», «разная толщина линий у иконок»): дробная высота
   строки (1,3 × 13 = 16,9 px) ставила кружки и значки на полпикселя — буквы уезжали на 0,5 px, линии значков размывались по-разному.
   Замер по пикселям снимка ×4: на целых координатах буквы в центре с точностью 0,2 px */
.board, dialog.tskm { line-height: 1.25rem; }
.tsk__id, .tskm h3, .cmt__h, .props dt, .prop, .sub, .tc__top, .tc__foot, .tc__link, .col__head, .tsk-review, .pmenu button { line-height: 1.25rem; }
.tc__t { line-height: 1.25rem; }
.tsk__t { line-height: 1.75rem; }
.tsk__desc { line-height: 1.5rem; }
.cmt__t { line-height: 1.375rem; }
.props dt { padding-top: 0.5rem; }

/* новая задача — тоже модалка (Павлон 14.10), поуже и по высоте содержимого */
dialog.tskm--new[open] { display: flex; width: min(40rem, calc(100vw - 2rem)); height: auto; max-height: min(46rem, calc(100dvh - 2rem)); }
dialog.tskm--new .sheet__form { flex: 1; min-height: 0; }
/* окно задачи на всё окно — как чат (Павлон 14.10) */
dialog.tskm.is-full { width: 100vw; height: 100dvh; max-height: none; border: 0; border-radius: 0; }
dialog.tskm.is-full .tskm__body { grid-template-columns: minmax(0, 1fr) 22rem; }
.tskm__head .tskm__acts { display: flex; gap: 0.25rem; flex: none; margin: -0.25rem -0.5rem 0 0; }
.tskm__head .tskm__acts .btn { margin: 0; color: var(--muted-foreground); }
.tskm__head .tskm__acts .btn:hover { color: var(--foreground); }
@media (max-width: 720px) { .tskm__head .js-tfull { display: none; } } /* на телефоне окно и так во весь экран */

/* буквы векторной картинкой — замена строчной центровки (Павлон 14.10: «сдвинуты вверх» — у него другой масштаб экрана,
   браузер округлял положение строки иначе, чем на моих снимках ×4): text в SVG ставится без округления */
.pava { padding: 0; text-box: normal; }
.ltr { display: block; width: 100%; height: 100%; overflow: visible; }
.ltr text { fill: #fff; font-family: inherit; font-size: 42px; font-weight: 600; text-anchor: middle; letter-spacing: 0.02em; }
.pava--lg .ltr text { font-size: 40px; }

/* доска на весь экран — как чат (Павлон 14.10): поверх всей CRM, меню темы до 50, всплывашки 60 */
.board.is-full { position: fixed; inset: 0; z-index: 55; height: 100dvh; border: 0; border-radius: 0; }
html.board-full { overflow: hidden; }
.board__full { order: 10; width: 2.25rem; height: 2.25rem; color: var(--muted-foreground); }
.board__full:hover { color: var(--foreground); }
.board__full svg.i { width: 1.25rem; height: 1.25rem; stroke-width: 1.75; }
.board__add { order: 9; }
@media (max-width: 960px) { .board.is-full { overflow-y: auto; } }
