/* Дизайн-слой 2026 (пересборка навыком unslop by @heydamir, CC BY 4.0). Подключается последним, поверх tokens/app/shell
   и css экранов. Принципы: спокойная графитовая обвязка, один акцент (фирменный синий), синие заголовки navy остаются,
   выбранное = белая (в тёмной теме приподнятая) строка с волосяной рамкой, без капслока и тяжёлой жирности,
   ромб знака Алабуги как фирменная деталь (маркеры списков ответа, открытый диалог). Все цвета через токены ниже,
   отдельные значения для тёмной темы. Селекторы с префиксом html: css экранов грузится позже и иначе перекрыл бы слой. */
:root{
  --bg:#ffffff; --panel:#ffffff; --panel-2:#f6f6f7; --panel-3:#ededef; --raised:#ffffff;
  --line:rgba(22,22,24,.08); --line-strong:rgba(22,22,24,.14);
  --text:#161618; --text-2:#3a3b40; --body:#1f2023; --muted:#5c5e64; --faint:#85878d;
  --heading:var(--brand-navy); --head-accent:var(--brand-navy);
  --accent:var(--brand-blue); --accent-soft:#ededef; --accent-text:var(--brand-blue);
  --primary:var(--brand-blue); --primary-hover:var(--brand-navy); --on-primary:#fff;
  --user-bubble:var(--brand-sky-4);
  --raised-shadow:inset 0 0 0 1px var(--line),0 1px 2px rgba(0,0,0,.04);
  --pop-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06);
  --focus:0 0 0 3px rgba(0,93,172,.18);
  --ease:cubic-bezier(.22,1,.36,1);
}
:root[data-theme="dark"]{
  --bg:#141415; --panel:#19191b; --panel-2:#101011; --panel-3:#232325; --raised:#232325;
  --line:rgba(237,237,240,.08); --line-strong:rgba(237,237,240,.15);
  --text:#ededf0; --text-2:#c6c7cc; --body:#e3e4e7; --muted:#a1a2a8; --faint:#85868c;
  --heading:#ededf0; --head-accent:#8fbcec;
  --accent:var(--brand-cyan); --accent-soft:#232325; --accent-text:#7cc6f2;
  --primary:#1f6fc0; --primary-hover:#2a7fd6; --on-primary:#fff;
  --user-bubble:#1d2a34;
  --raised-shadow:inset 0 0 0 1px var(--line),inset 0 1px 0 rgba(255,255,255,.04);
  --pop-shadow:0 0 0 1px var(--line),0 12px 32px rgba(0,0,0,.45);
  --focus:0 0 0 3px rgba(0,174,239,.28);
}
html body{background:var(--bg)}

/* ---------- заголовки: Muller Bold вместо ExtraBold, без ощущения капслока ---------- */
html h1,html h2,html h3,html h4,html .font-head{font-weight:700;letter-spacing:-.005em}
html :where(.page) h2,html :where(.page) h3{font-size:16px;line-height:22px}

/* ---------- боковая панель ---------- */
html .side{padding:12px;background:var(--panel-2);border-right:1px solid var(--line)}
html .side-head{padding:4px 0 16px 8px}
html .side-nav{gap:2px}
html .side-link{height:34px;padding:0 10px;font:400 14px/20px var(--font);color:var(--text-2);transition:background-color .15s var(--ease),color .15s var(--ease)}
html .side-link:hover{background:var(--panel-3);color:var(--text)}
html .side-link .side-ico{color:var(--faint)}
html .side-link.active{background:var(--raised);color:var(--text);font-weight:400;box-shadow:var(--raised-shadow)}
html .side-link.active .side-ico{color:var(--text)}
/* «Новый диалог»: строка как остальные пункты, действие отмечено синим плюсом в рамке; не выглядит выбранным */
html .side-new,html .side-new.active{margin-bottom:8px;background:none;color:var(--text);font-weight:400;box-shadow:none}
html .side-new:hover{background:var(--panel-3)}
html .side-plus{display:grid;place-items:center;width:20px;height:20px;margin:-1px;border-radius:6px;background:var(--raised);color:var(--accent-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-text) 40%,transparent);transition:background-color .15s var(--ease),color .15s var(--ease)}
html .side-new:hover .side-plus{background:var(--primary);color:var(--on-primary);box-shadow:none}
html .side-plus svg{width:14px;height:14px;stroke-width:2}
html .side-label{padding:24px 10px 8px;font:400 12px/16px var(--font);letter-spacing:0;text-transform:none;color:var(--faint)}
html .side-recent{gap:2px}
html .side-recent a{position:relative;height:32px;padding:6px 10px 6px 22px;font:400 14px/20px var(--font);color:var(--text-2)}
html .side-recent a:hover{background:var(--panel-3);color:var(--text)}
html .side-recent a.cur{background:var(--raised);color:var(--text);box-shadow:var(--raised-shadow)}
/* фирменная деталь: ромб знака отмечает открытый диалог */
html .side-recent a.cur::before{content:"";position:absolute;left:9px;top:50%;width:5px;height:5px;margin-top:-3px;background:var(--brand-cyan);transform:rotate(45deg)}
html .side-all{padding:6px 10px 6px 22px;font-size:13px;color:var(--faint)}
html .side-ava{background:var(--panel-3);color:var(--text);font:500 12px/1 var(--font-head)}
html .side-me-name{font-weight:400;font-size:14px}
html .side-me-role{color:var(--faint)}
html .side-menu{border-color:var(--line);border-radius:12px;box-shadow:var(--pop-shadow)}

/* ---------- чат: шапка, лента, пузырь вопроса, ответ ---------- */
html .ch-top{height:56px;padding:0 24px}
html .ch-title{font:500 15px/1.2 var(--font-head);color:var(--text)}
html .ch-model{font:400 13px/16px var(--font);color:var(--faint)}
html .ch-msgs{padding:16px 32px 32px}
html .ch-msgs>.inner{max-width:720px;gap:24px}
html .msg.user .bubble{padding:10px 16px;border-radius:16px 16px 4px 16px;background:var(--user-bubble);font-size:15px;line-height:22px}
html .msg.assistant .bubble{font-size:15px;line-height:24px;color:var(--body)}
html .msg .bubble p{margin:0 0 12px}
html .msg .bubble strong{font-weight:700;color:var(--text)}
html .msg .bubble h1,html .msg .bubble h2,html .msg .bubble h3,html .msg .bubble h4{margin:24px 0 8px;font:700 16px/24px var(--font-head);color:var(--head-accent)}
html .msg .bubble ul{margin:0 0 16px;padding-left:0;list-style:none}
html .msg .bubble ul>li{position:relative;padding-left:20px;margin:0 0 8px}
html .msg .bubble ul>li::before{content:"";position:absolute;left:3px;top:9px;width:6px;height:6px;background:var(--brand-cyan);transform:rotate(45deg)}
html .msg .bubble ol{padding-left:22px}
html .msg .bubble ol>li{margin:0 0 8px}
html .msg .bubble ol>li::marker{color:var(--faint);font-variant-numeric:tabular-nums}
html .msg .bubble table{display:table;width:100%;margin:12px 0 24px;border-collapse:collapse;font-size:14px;line-height:20px;font-variant-numeric:tabular-nums}
html .msg .bubble th,html .msg .bubble td{padding:10px 16px 10px 0;border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
html .msg .bubble th{background:none;font:400 13px/20px var(--font);color:var(--faint);border-bottom-color:var(--line-strong)}
html .msg .bubble td:first-child{color:var(--muted)}
html .msg .bubble tr:last-child td{border-bottom:0}
html .msg .bubble code{background:var(--panel-2);border-radius:4px}
html .msg .bubble pre{background:var(--panel-2);border:1px solid var(--line);border-radius:10px}
html .msg .bubble blockquote{border-left:2px solid var(--line-strong)}
html .msg-acts{margin-top:-4px;color:var(--faint)}
@media (max-width:860px){
  html .ch-msgs{padding:12px 16px 24px}
  html .msg .bubble table{display:block;overflow-x:auto}
}

/* поле запроса */
html .ch-dock{padding:0 32px 8px}
html .ch-dock .ch-compwrap{width:min(720px,100%)}
html .ch-comp>.inner,html .prj-comp{gap:8px;padding:14px 12px 10px;background:var(--panel);border:1px solid var(--line-strong);border-radius:16px;box-shadow:var(--pop-shadow)}
html .ch-comp>.inner:focus-within,html .prj-comp:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent),var(--pop-shadow)}
html .ch-plus{width:32px;height:32px;border:1px solid var(--line-strong);border-radius:8px}
html .ch-mode{height:28px;padding:0 4px 0 10px;border-radius:8px;background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);font-size:13px;font-weight:400}
html .ch-mode .ico{color:var(--faint)}
html .ch-chip{height:32px;border-radius:8px;font-size:13px}
html .ch-send{width:32px;height:32px;border-radius:8px;background:var(--primary);color:var(--on-primary)}
html .ch-send:hover{background:var(--primary-hover)}
html .ch-send:active:not(:disabled){transform:scale(.97)}
html .ch-sugg{height:36px;border-radius:8px;border-color:var(--line-strong);background:var(--raised);color:var(--text-2)}
html .ch-sugg:hover{background:var(--panel-2);color:var(--text)}
html .chats-ttl{font-weight:400}

/* ---------- общие элементы страниц ---------- */
html .page h1{font-weight:700}
html .btn{min-height:36px;padding:0 16px;border-radius:8px;justify-content:center}
html .btn.sm{min-height:32px;padding:0 12px}
html .btn.secondary{background:var(--raised);border-color:var(--line-strong);color:var(--text)}
html .btn.secondary:hover{background:var(--panel-2)}
html .input,html select.input,html textarea.input{border-radius:8px;border-color:var(--line-strong);background:var(--panel)}
html .input:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:var(--focus)}
html .prj-search-box .input,html .chats-search-box .input{height:36px}
html .card{background:var(--panel);border-color:var(--line);border-radius:12px}
html .badge{padding:0;border:0;border-radius:0;background:none;color:var(--faint);font-size:12px}
html .badge.ok,html .badge.warn,html .badge.danger{background:none}
html .table th{font:400 13px/18px var(--font);color:var(--faint);background:none;text-transform:none;letter-spacing:0}
html .table td{border-color:var(--line)}
html .modal,html .dialog,html .setwin-box{border-radius:16px;box-shadow:var(--pop-shadow)}

/* переключатели: подложка выбранного значения переезжает плавно (js/segmented.js задаёт --ind-*, рисует ::before) */
html .subtabs,html .seg{position:relative;padding:2px;border-radius:8px;background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--line)}
html .subtab,html .seg-btn{position:relative;z-index:1;height:32px;padding:0 12px;border-radius:6px;font-size:13px;font-weight:400;color:var(--muted);transition:color .2s var(--ease)}
html .subtab:hover,html .seg-btn:hover{color:var(--text)}
html .subtab.active,html .seg-btn.active{background:var(--raised);color:var(--text);font-weight:400;box-shadow:var(--raised-shadow)}
html .has-ind>.subtab.active,html .has-ind>.seg-btn.active{background:transparent;box-shadow:none}
html .has-ind::before{content:"";position:absolute;left:0;top:0;z-index:0;width:var(--ind-w);height:var(--ind-h);border-radius:6px;
  background:var(--raised);box-shadow:var(--raised-shadow);pointer-events:none;transform:translate(var(--ind-x),var(--ind-y))}
html .has-ind.ind-ready::before{transition:transform .26s var(--ease),width .26s var(--ease)}
@media (prefers-reduced-motion:reduce){html .has-ind.ind-ready::before{transition:none}}
html .sel-compact .sel-btn{height:36px;padding:0 12px;border-radius:8px;background:var(--raised);border-color:var(--line-strong)}
html .sel-compact .sel-label{color:var(--faint)}
html .sel-menu,html .sel-list,html .menu{border-color:var(--line);border-radius:10px;box-shadow:var(--pop-shadow)}

/* подписи групп обычным регистром */
html .reg-sec-t,html .subhead,html .sections-group,html .cm-group-title,html .cr-quote-h,
html .mb-lh,html .mb-pb h4,html .kb-title,html .kb-rn,html .kb-menu-title{text-transform:none;letter-spacing:0}
html .subhead{font:400 13px/16px var(--font);color:var(--faint)}

/* левое меню разделов (админка, настройки, справка) */
html aside.left{background:var(--panel-2);border-right-color:var(--line)}
html .sections-group{padding:24px 10px 8px;font:400 12px/16px var(--font);color:var(--faint)}
html .sections-item{min-height:34px;height:auto;padding:7px 10px;color:var(--text-2);font-size:14px;line-height:20px;white-space:normal}
html .sections-item+.sections-item{margin-top:2px}
html .sections-item:hover{background:var(--panel-3);color:var(--text)}
html .sections-item.active{background:var(--raised);color:var(--text);font-weight:400;box-shadow:var(--raised-shadow)}
html .bare-back{font-weight:400}

/* цифры-плитки и вердикты (админка, аккаунт, команда): спокойнее, без экстражирного */
html .kpi{padding:16px;border-color:var(--line);border-radius:12px;background:var(--panel)}
html .kpi .v{font-weight:700;font-size:24px;line-height:28px}
html .kpi .l{color:var(--muted)}
html .kpi.text .v{font-size:15px;line-height:22px}
html .verdict{padding:12px 16px;background:var(--panel-2);border-left-width:2px;border-radius:0 10px 10px 0;font:500 15px/22px var(--font);color:var(--text)}
html .verdict.danger{background:color-mix(in srgb,var(--danger) 7%,var(--panel))}
html .verdict.warn{background:color-mix(in srgb,var(--warn) 8%,var(--panel))}
html .verdict em{color:var(--accent-text)}
html .hint-box{background:var(--panel-2);border-radius:10px}
html .empty.boxed{border-color:var(--line-strong);border-radius:12px}

/* ---------- проекты ---------- */
html .prj-bar{gap:12px;margin:0 0 24px}
html .prj-grid{gap:16px}
html .prj-card{gap:8px;min-height:140px;padding:20px;border-radius:12px;border-color:var(--line);box-shadow:none;transition:border-color .15s var(--ease)}
html .prj-card:hover{border-color:var(--line-strong);box-shadow:0 1px 2px rgba(0,0,0,.04)}
html .prj-card-name{font:700 16px/22px var(--font-head);color:var(--head-accent)}
html .prj-card-desc{font-size:14px;line-height:20px;color:var(--muted)}
html .prj-card-foot{padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--faint)}
html .prj-proj h2,html .prj-proj h3,html .prj-side h2,html .prj-side h3{font-size:16px;line-height:22px;color:var(--head-accent)}

/* T-040: компактный проект и мастер используют общий слой дизайна. */
html .prj-simple :is(h2,.prj-sec-title){font:500 16px/22px var(--font-head);letter-spacing:normal;text-transform:none;color:var(--head-accent)}
html .prj-simple .prj-member-body{grid-template-columns:minmax(0,1fr) auto}
html .prj-simple .prj-member-body>.prj-member-meta{white-space:nowrap;grid-column:2;grid-row:1;text-align:right}
html .prj-simple .prj-chats-sec{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
html .prj-chat-compact{display:flex;align-items:center;gap:16px;padding:6px 0;color:var(--text);text-decoration:none}
html .prj-chat-compact>span:first-child{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html .prj-chat-compact>span:last-child{flex:none;white-space:nowrap}
html .prj-chat-compact:hover>span:first-child{color:var(--accent-text)}
html .prj-all-chats{display:inline-block;margin-top:8px;color:var(--accent-text)}
html .prj-people-row{border-radius:8px}
html .prj-people-row[aria-checked="true"]{background:var(--accent-soft)}
@media(max-width:700px){html .prj-simple .prj-member-body{display:block}html .prj-simple .prj-member-body>.prj-member-meta{text-align:left}}

/* ---------- задачи: цвет только у статуса и приоритета ---------- */
:root{
  --task-queue-tint:#fff5f3; --task-queue-label:#fce1dd; --task-queue-ink:#9c302a;
  --task-work-tint:#fff9e9; --task-work-label:#fae8b6; --task-work-ink:#76500c;
  --task-review-tint:#f6f3ff; --task-review-label:#e7e2fb; --task-review-ink:#5044a4;
  --task-done-tint:#f0f9f2; --task-done-label:#d9efdf; --task-done-ink:#22653c;
  --task-card:#ffffff; --task-overdue:#ab312b;
  --task-priority-high-bg:var(--task-queue-label); --task-priority-high-ink:var(--task-queue-ink);
  --task-priority-medium-bg:var(--task-work-label); --task-priority-medium-ink:var(--task-work-ink);
  --task-priority-low-bg:var(--task-done-label); --task-priority-low-ink:var(--task-done-ink);
}
:root[data-theme="dark"]{
  --task-queue-tint:#261e20; --task-queue-label:#55302e; --task-queue-ink:#f3a69e;
  --task-work-tint:#252219; --task-work-label:#4b3f24; --task-work-ink:#e9c974;
  --task-review-tint:#23202c; --task-review-label:#3a3454; --task-review-ink:#c5bcfa;
  --task-done-tint:#1b2720; --task-done-label:#244733; --task-done-ink:#9cdbb1;
  --task-card:#2b2b2e; --task-overdue:#f3a69e;
}
html .kb-page{padding:24px 24px 16px}
html .kb-head .page-head-text h1{font-size:20px;line-height:28px}
html .kb-bar{gap:8px;margin-top:16px;flex-wrap:wrap}
html .kb-filters{justify-content:flex-end;min-width:160px}
html .kb-bar-end{flex:none}
html .kb-new{height:36px;padding:0 12px;background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
html .kb-new:hover{background:var(--primary-hover);border-color:var(--primary-hover)}
html .kb-page .kb-chip.on,html .kb-page .kb-chip.on .kb-chip-ico,html .kb-page .kb-person.on{color:var(--text-2);background:var(--panel-3);border-color:var(--line-strong)}
html .kb-bar>.kb-ib{width:36px;height:36px}
html .kb-mine{font-size:12px;white-space:normal;max-width:160px}
html .kb-filter .sel-btn{background:transparent;border-color:transparent;padding:0 8px}
html .kb-filter .sel-btn:hover{background:var(--panel-2)}
html .kb-search{height:36px;border-radius:8px;flex:0 0 192px;min-width:0;background:transparent;padding:0 8px;transition:flex-basis .2s var(--ease)}
html .kb-search.kb-q-empty:not(:focus-within){flex-basis:36px;min-width:36px;justify-content:center;padding:0;cursor:pointer;color:var(--muted)}
html .kb-search.kb-q-empty:not(:focus-within) .kb-q{width:0;flex:0 0 0}
html .kb-search:hover{background:var(--panel-2)}
html .kb-search:focus-within{background:var(--panel);border-color:var(--line-strong)}
html .kb-ava{background:var(--panel-3);color:var(--text-2);font-weight:500}
html .kb-board{align-items:stretch;gap:12px;padding-bottom:4px}
html .kb-col{--kb-tint:var(--panel-2);--kb-label:var(--panel-3);--kb-ink:var(--muted)}
/* четыре колонки делят ширину поровну и помещаются без прокрутки вбок при открытом меню на 1280-1440; уже 240 px - листаем */
html .kb-col,html .kb-page.card-open .kb-col{
  flex:1 1 0;min-width:240px;max-width:380px;height:100%;border-radius:10px;
  background:var(--kb-tint);box-shadow:none;
}
html .kb-col[data-status="queue"]{--kb-tint:var(--task-queue-tint);--kb-label:var(--task-queue-label);--kb-ink:var(--task-queue-ink)}
html .kb-col[data-status="work"]{--kb-tint:var(--task-work-tint);--kb-label:var(--task-work-label);--kb-ink:var(--task-work-ink)}
html .kb-col[data-status="review"]{--kb-tint:var(--task-review-tint);--kb-label:var(--task-review-label);--kb-ink:var(--task-review-ink)}
html .kb-col[data-status="done"]{--kb-tint:var(--task-done-tint);--kb-label:var(--task-done-label);--kb-ink:var(--task-done-ink)}
html .kb-colhead{min-height:52px;padding:12px;gap:8px}
html .kb-colhead>.kb-dot{display:none}
html .kb-title{padding:4px 8px;border-radius:5px;background:var(--kb-label);color:var(--kb-ink);font:500 14px/20px var(--font);text-transform:none;letter-spacing:0}
html .kb-count{font-size:13px;color:var(--muted)}
html .kb-colhead .kb-ib{color:var(--muted)}
html .kb-body{flex:1 1 auto;padding:0 8px;gap:8px}
html .kb-add{height:36px;min-height:36px;margin:8px;color:var(--kb-ink);font-size:14px}
html .kb-add:hover{color:var(--kb-ink);background:var(--kb-label)}
html .kb-card{gap:12px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--task-card);box-shadow:none}
html .kb-card:hover{border-color:var(--line-strong);box-shadow:var(--raised-shadow)}
html .kb-card.kb-sel{border-color:var(--line-strong);box-shadow:inset 0 0 0 1px var(--line-strong)}
html .kb-card:focus-visible{box-shadow:var(--focus)}
html .kb-t{font-size:16px;font-weight:600;line-height:22px;-webkit-line-clamp:6;max-height:132px;color:var(--text)}
html .kb-card-properties{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;font-size:13px;line-height:20px;color:var(--muted)}
html .kb-priority{padding:2px 8px;border-radius:5px;font-size:12px;line-height:20px;font-weight:500}
html .kb-priority[data-priority="1"]{background:var(--task-priority-high-bg);color:var(--task-priority-high-ink)}
html .kb-priority[data-priority="2"]{background:var(--task-priority-medium-bg);color:var(--task-priority-medium-ink)}
html .kb-priority[data-priority="3"]{background:var(--task-priority-low-bg);color:var(--task-priority-low-ink)}
html .kb-card-person,html .kb-card-project{display:flex;align-items:center;gap:8px;max-width:100%;min-width:0}
html .kb-card-person>span:last-child,html .kb-card-project>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html .kb-card-date{font-variant-numeric:tabular-nums}
html .kb-card-date.overdue{color:var(--task-overdue)}
html .kb-card-project-ico{display:inline-flex;flex:none}
html .kb-card-project-ico svg{width:16px;height:16px}
html .kb-dots{top:8px;right:8px;color:var(--muted)}
html .kb-quick{margin:0 8px 8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
html .kb-quick-input{flex:0 0 100%;width:100%;height:36px}
html .kb-quick-hint{margin:0}
html .kb-cp-name{flex:none;font-size:18px;line-height:26px}
html .kb-cp-body>*{flex-shrink:0}
/* Ширина содержимого постоянна во время выезда: textarea измеряется по полной панели, не по её первому кадру. */
@media(min-width:861px){html .kb-cp{width:calc(var(--right-w) - 1px)}}
@media(max-width:860px){
  html .kb-page{padding:16px 0}
  html .kb-head{padding:0 16px}
  html .kb-bar{padding:0 16px;gap:8px}
  html .kb-tabs{order:0}
  html .kb-filters{order:3;flex:1 1 100%;justify-content:flex-start;padding:3px;margin:-3px;min-width:0}
  html .kb-bar>.kb-new{margin-left:auto;width:auto;padding:0 10px}
  html .kb-new-label{display:inline}
  html .kb-bar-end:not(.kb-team){order:4;max-width:none;padding:0}
  html .kb-mine{max-width:none}
  html .kb-col,html .kb-page.card-open .kb-col{flex-basis:min(320px,calc(100vw - 48px));min-width:min(320px,calc(100vw - 48px))}
}
@media(prefers-reduced-motion:reduce){html .kb-search{transition:none}}

/* ---------- команда: оргструктура ---------- */
html .tm-node{border-color:var(--line);border-radius:10px;padding:10px 12px;background:var(--panel);box-shadow:0 1px 2px rgba(0,0,0,.03)}
html .tm-tag{font:400 12px/16px var(--font);letter-spacing:0;color:var(--faint)}
html .tm-name{font-weight:700;color:var(--text)}
html .tm-node.vac,html .tm-tree.staff .tm-node.vac{border-color:var(--line-strong);background:transparent;box-shadow:none}
html .tm-node.vac .tm-name{color:var(--accent-text);font-weight:400}
html .tm-node.vac .tm-tag,html .tm-node.vac .tm-role{color:var(--faint)}
/* низ карточки одной строкой: полоска, процент, счётчик подчинённых; у всех карточек на одной высоте */
html .tm-foot{flex-wrap:nowrap;gap:8px}
html .tm-use{flex:1 1 auto;min-width:0}
html .tm-use span{overflow:hidden;text-overflow:ellipsis}
html .tm-foot .tm-cnt{flex:none;color:var(--muted)}
html .tm-gc{font-weight:400}
html .tm-gc.cells,html .tm-gc.direct,html .tm-gc.free{color:var(--muted)}
html .tm-gfold{width:20px;height:16px;border-radius:4px;background:var(--raised);color:var(--muted);box-shadow:0 0 0 1px var(--line-strong)}
html .tm-gfold:hover{background:var(--raised);color:var(--text)}
html .tm-zoom{height:36px;border-color:var(--line-strong);border-radius:8px;background:var(--panel)}
html .tm-zbtn{height:32px;border-radius:6px}

/* ---------- справка ---------- */
html .faq-q{font-weight:400;padding:12px 16px}
html .faq-list{border-radius:12px;border-color:var(--line)}

/* ---------- сверхжирный (Muller ExtraBold) только у логотипа и заставки; остальное - обычный жирный ---------- */
html .demand-verdict,html .reg-name b,html .art-title,html .ch-hero h1,html .inv-banner-title,html .sections-title,html .shop-name,
html .mb-empty .mb-empty-title,html .mb-rh,html .mb-pb h2,html .mtop-title,html .setwin-head h2,html .kb-cp-name,html .tm-top h1,html .tm-dh-text b{font-weight:700}
/* вывод «хватает/не хватает аккаунтов» в админке: строка статуса, а не второй заголовок */
html .demand-verdict{margin:12px 0 16px;padding-left:12px;border-left-width:2px;font:500 15px/22px var(--font);color:var(--text)}
/* метки всех видов - тихий текст без заливки (в т.ч. info/accent) */
html .badge.info,html .badge.accent,html .badge.brand{background:none}

/* T-045: объединённые разделы админки. */
.admin-pool-block { scroll-margin-top: 24px; }
.admin-pool-block > .subhead { margin-bottom: 16px; }
.admin-pool-block .provider-pool { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.admin-pool-block .provider-pool > * { grid-column: 1 / -1; min-width: 0; }
.admin-pool-block .provider-pool > .card:nth-child(-n+2) { grid-column: auto; }
.analytics-page > .subtabs { align-self: flex-start; max-width: 100%; }
@media (max-width: 640px) {
  .admin-pool-block .provider-pool { grid-template-columns: minmax(0, 1fr); }
}

/* Проект T-050: сводка и разделы по карте дизайна. */
html .pj h1{margin:0;font-size:22px;line-height:28px;font-weight:700}
html .pj-description{margin:4px 0 0;color:var(--muted);font-size:14px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html .pj-card h2{margin:0;font-size:16px;line-height:22px}
html .pj-title{font-size:14px;line-height:20px;color:var(--text);overflow:hidden;text-overflow:ellipsis}
html .pj-meta{font-size:12px;line-height:18px;color:var(--muted)}
html .pj-date,html .pj-status{font-size:12px;line-height:18px;color:var(--muted);font-variant-numeric:tabular-nums}
html .pj-status{padding:2px 6px;border-radius:4px;background:var(--panel-2)}
html .pj-more{font-size:13px;color:var(--accent-text);white-space:nowrap}
html .pj-row{border-top:1px solid var(--line);text-decoration:none}
html a.pj-row:hover{background:var(--panel-2);text-decoration:none}
html .pj-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
html .pj-dot{width:8px;height:8px;border-radius:50%}
html .pj-dot.hi{background:var(--danger)}
html .pj-dot.mid{background:var(--warn)}
html .pj-dot.lo{background:var(--ok)}
html .pj-late,html .pj-metrics .danger .v{color:var(--danger)}
html .pj-essence{color:var(--text-2);font-size:15px;line-height:24px}
html .pj-instructions{font-size:14px;line-height:1.6}
html .pj-instructions>:first-child{margin-top:0}
html .pj-tabs{scrollbar-width:thin}
