/* Пульт — новый веб (P0, 29.09): раскладка «рейл 72 | список 320 | чат» и скин на токенах тем (shared/tokens.css,
   docs/пульт/ТОКЕНЫ_ЧАТА.md). Компоненты — из стилей телефона (app.a<N>.css): здесь их переменные связаны с токенами
   и переопределено только то, что на широком экране выглядит иначе. Цвет — только токенами. */

/* ── переменные телефона → токены тем ── */
html[data-face=desk]{
  --bg:var(--list-bg);--card:var(--list-bg);--card-2:var(--list-hover);--track:var(--list-hover);
  --ink:var(--text);--ink-2:var(--text-2);--ink-3:var(--text-2);--line:var(--divider);
  --kcal:var(--accent);--kcal-2:var(--accent);--live:var(--accent);--on-accent:var(--badge-fg);--brand:var(--accent);
  --fat:var(--draft-label);--warn:var(--draft-label);--warn-soft:var(--draft-bg);--danger-soft:var(--list-hover);
  --sky-top:var(--list-bg);--glow:transparent;--glow2:transparent;--shadow:none;--r:12px;--safe-b:0px;
  --font:system-ui,"Segoe UI Variable","Segoe UI",Roboto,Arial,sans-serif}
html[data-face=desk],html[data-face=desk] body{height:100%;overflow:hidden}
html[data-face=desk] body{background:var(--app-bg);color:var(--text)}
html[data-face=desk] .app::before{display:none}

/* ── раскладка ── */
html[data-face=desk] .app{max-width:none;height:100%;min-height:0;display:grid;
  grid-template-columns:72px minmax(280px,320px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
html[data-face=desk] .banner{grid-column:2 / 4;grid-row:1}
html[data-face=desk] #scrLogin{grid-column:1 / -1;grid-row:1 / -1}
html[data-face=desk] #nav{grid-column:1;grid-row:1 / -1}
html[data-face=desk] #main{grid-column:2;grid-row:2;min-height:0;overflow-y:auto;background:var(--list-bg);
  border-top-left-radius:var(--sheet-radius);border-right:1px solid var(--divider);scrollbar-width:thin}
html[data-face=desk][data-t=mixed] .app{padding-top:8px}
html[data-face=desk] .screen{padding-bottom:16px}
html[data-face=desk] #chatView,html[data-face=desk] .desk-empty{grid-column:3;grid-row:2;min-height:0}
html[data-face=desk] #chatView{position:relative;inset:auto;z-index:auto;max-width:none;margin:0;background:var(--feed-bg)}
html[data-face=desk] #chatView:not([hidden]) ~ .desk-empty{display:none}
.desk-empty{display:none}
html[data-face=desk] .desk-empty{display:grid;place-items:center;background:var(--feed-bg);color:var(--text-2);font-size:14px}
html[data-face=desk] .desk-empty span{padding:6px 14px;border-radius:14px;background:var(--system-pill);color:var(--system-pill-text)}
/* «Ждут ок» (05.10): раскрытое решение — в центре, как чат; в списке — выбранная строка */
.desk-okpane{display:none}
html[data-face=desk] .desk-okpane:not([hidden]){display:block;grid-column:3;grid-row:2;min-height:0;overflow-y:auto;background:var(--feed-bg);padding:32px clamp(16px,4vw,56px)}
html[data-face=desk][data-okpane] .desk-empty,html[data-face=desk][data-okpane] #chatView{display:none!important}
html[data-face=desk][data-home] .desk-okpane,html[data-face=desk][data-sales] .desk-okpane{display:none!important}
.okpane-in{max-width:780px;margin:0 auto}
html[data-face=desk] .okpane-in .okc{margin:0;font-size:15px;padding:20px 22px 20px 26px;cursor:default;background:var(--card);border-radius:16px;box-shadow:0 0 0 1px var(--line)}
.okpane-in .okc-top b{font-size:16px}
.okpane-in .okc-ask{font-size:17px}
html[data-face=desk] #okList .okc.sel{box-shadow:0 0 0 1.5px var(--accent)}

/* ── рейл (нижняя панель телефона) ── */
html[data-face=desk] .nav{position:static;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;
  height:100%;background:var(--nav-bg);border:0;box-shadow:none;border-right:1px solid var(--nav-divider)}
html[data-face=desk][data-t=mixed] .nav{border-right:0}
html[data-face=desk] .nav button{position:relative;width:56px;min-height:56px;padding:6px 0;border-radius:12px;background:none;
  color:var(--nav-text-2);gap:4px;transition:background-color .12s}
html[data-face=desk] .nav button:hover{background:var(--nav-active-bg)}
html[data-face=desk] .nav button[aria-current=page]{background:var(--nav-active-bg);color:var(--nav-active-fg)}
html[data-face=desk] .nav b{font-size:11px;font-weight:500;color:inherit}
html[data-face=desk] .nav .nav-i{width:24px;height:24px}
html[data-face=desk] .nav .center{order:-1;margin-bottom:6px}
html[data-face=desk] .nav .center .nav-i{width:36px;height:36px;border-radius:50%;box-shadow:0 0 0 2px var(--draft-border)}
html[data-face=desk] .nav .center b{color:var(--nav-text)}
html[data-face=desk] .nav em{top:2px;left:auto;right:4px;background:var(--badge-danger);color:var(--badge-fg)}
html[data-face=desk] .desk-theme{margin-top:auto}
html[data-face=desk] .desk-theme .nav-i{font-size:20px;line-height:24px;text-align:center}
html[data-face=desk] .nav .nav-scene{font-size:20px;line-height:24px;text-align:center}   /* сцена Льва (03.10): пункт рельса при features.scene */
.desk-theme{display:none}
html[data-face=desk] .desk-theme{display:flex;flex-direction:column;align-items:center;border:0}

/* ── колонка списка ── */
html[data-face=desk] .hdr{padding:14px 16px 8px}
html[data-face=desk] .hdr h1{font-size:20px}
html[data-face=desk] .list,html[data-face=desk] .card{margin-left:8px;margin-right:8px;background:none}
html[data-face=desk] .row-chat{min-height:64px;padding:8px 12px;border-radius:12px;transition:background-color .12s}
html[data-face=desk] .row-chat:hover{background:var(--list-hover)}
html[data-face=desk] .row-chat.on{background:var(--chat-selected)}
html[data-face=desk] .row-chat.on .row-prev,html[data-face=desk] .row-chat.on .row-time{color:var(--chat-selected-text-2)}
html[data-face=desk] .row-chat .ava{width:44px;height:44px}
html[data-face=desk] .row-name{font-size:14px;font-weight:600}
html[data-face=desk] .row-prev{font-size:13.5px}
html[data-face=desk] .badge{background:var(--badge-bg);color:var(--badge-fg)}
html[data-face=desk] .ag.on-chat .ava,html[data-face=desk] .ag.on-chat>span:first-child{box-shadow:0 0 0 2px var(--accent)}
html[data-face=desk] .search input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:20px}

/* ── чат ── */
html[data-face=desk] #chatView>.chat-hdr{min-height:56px;padding:8px 16px;background:var(--header-bg);border-bottom:1px solid var(--divider)}
html[data-face=desk] #chatBack{display:none}
html[data-face=desk] .chat-seg{max-width:760px;width:calc(100% - 32px);margin:8px auto 0;background:var(--header-bg)}
html[data-face=desk] .feed{padding:12px 24px 12px}
/* сообщение, уехавшее под шапку, гаснет мягко, а не режется по её краю (05.10, круг 8: в смешанной тёмная шапка
   «наезжала» на первое сообщение) */
html[data-face=desk] #chatView .feed{-webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.25) 16px,#000 40px);mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.25) 16px,#000 40px)}
html[data-face=desk] #feedRows,html[data-face=desk] .older,html[data-face=desk] .typing{width:100%;max-width:760px;margin-left:auto;margin-right:auto}
html[data-face=desk] #feedRows{display:flex;flex-direction:column;gap:6px}
html[data-face=desk] .day{background:var(--system-pill);color:var(--system-pill-text);font-weight:500}
html[data-face=desk] .msg{max-width:min(560px,72%);border-radius:16px;background:var(--bubble-in);color:var(--text);box-shadow:var(--shadow-in)}
html[data-face=desk] .msg.own{background:var(--bubble-out);color:var(--text);border-bottom-right-radius:6px}
html[data-face=desk] .msg.own .foot,html[data-face=desk] .msg.own .who{color:var(--bubble-out-text-2)}
html[data-face=desk] .msg.own a{color:var(--link-out)}
html[data-face=desk] .msg a{color:var(--link)}
html[data-face=desk] .msg .tick{color:var(--check-read)}
html[data-face=desk] .msg.about{max-width:min(640px,80%);background:var(--bubble-lev);border:0;border-left:3px solid var(--bubble-lev-bar);box-shadow:none}
html[data-face=desk] .msg.about .who{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text)}
html[data-face=desk] .msg.about.own{background:var(--system-pill);border-left:0;border:1px dashed var(--bubble-lev-bar)}
html[data-face=desk] .ldraft{max-width:min(640px,86%);align-self:flex-end;background:var(--draft-bg);border:1px solid var(--draft-border);
  border-radius:12px;box-shadow:var(--shadow-card)}
html[data-face=desk] .ld-h,html[data-face=desk] .ld-h b{color:var(--draft-label)}
html[data-face=desk] .ld-text{background:var(--bubble-in);color:var(--text)}
html[data-face=desk] .ask-note{border-color:var(--bubble-lev-bar)}
html[data-face=desk] .unread-line{color:var(--accent-text)}

/* композер: поле-пилюля, колонка до 760 по центру */
html[data-face=desk] #replyBar,html[data-face=desk] #attachBar,html[data-face=desk] #mgrDraft,html[data-face=desk] #mgrMode,
html[data-face=desk] #askChips,html[data-face=desk] .composer,html[data-face=desk] .chat-hint{width:calc(100% - 32px);max-width:760px;
  margin-left:auto;margin-right:auto}
html[data-face=desk] .composer{padding:8px 0;background:none}
html[data-face=desk] .composer textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:20px;font-size:15px}
html[data-face=desk] .composer textarea::placeholder{color:var(--input-placeholder)}
html[data-face=desk] .send-btn,html[data-face=desk] .icon-btn.on{width:40px;height:40px;background:var(--send-bg);color:var(--send-icon)}
html[data-face=desk] .send-btn:hover{background:var(--accent-hover)}
html[data-face=desk] .chat-hint{padding:0 0 10px}
html[data-face=desk] .ask-chips{padding:0 0 6px}
html[data-face=desk] .ask-chips .chip{background:var(--header-bg);border-color:var(--input-border);color:var(--text)}
html[data-face=desk] .to-bottom{right:24px}

/* ── всплывающее ── */
html[data-face=desk] .toast{bottom:24px}
html[data-face=desk] .msheet-box{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 48px));
  border-radius:12px;box-shadow:var(--shadow-pop)}
html[data-face=desk] :focus-visible{outline:2px solid var(--accent);outline-offset:2px}

@media (max-width:1279px){html[data-face=desk] .app{grid-template-columns:64px 300px minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){html[data-face=desk] *{transition:none!important}}

/* ── «Центр» (план веба, Центр Б): колонка до 1180 по центру ── */
.desk-home{display:none}
html[data-face=desk] .desk-home{grid-column:3;grid-row:2;min-height:0;overflow-y:auto;background:var(--feed-bg)}
html[data-face=desk] .desk-home[hidden]{display:none}
html[data-face=desk][data-home] #chatView,html[data-face=desk][data-home] .desk-empty{display:none!important}
html[data-face=desk][data-home] .desk-home{display:block}
.hm{max-width:1180px;margin:0 auto;padding:28px 40px 40px;display:flex;flex-direction:column;gap:20px}
.hm-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.hm-hdr h1{margin:0;font-size:24px;font-weight:650;color:var(--text)}
.hm-hdr p{margin:4px 0 0;font-size:13px}
.hm-lev{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:24px;background:var(--list-bg);box-shadow:var(--shadow-card);
  font-size:13px;color:var(--text-2)}
.hm-lev .ava{width:36px;height:36px;box-shadow:0 0 0 2px var(--draft-border)}
.hm-lev .ava.busy{animation:hm-ring 2s ease-in-out infinite}
@keyframes hm-ring{50%{box-shadow:0 0 0 5px var(--draft-border)}}
.hm-cmd{display:flex;gap:10px;align-items:center}
.hm-cmd input{flex:1;min-width:0;height:48px;padding:0 18px;border-radius:24px;border:1px solid var(--input-border);background:var(--input-bg);
  color:var(--text);font-size:15px;outline:none}
.hm-cmd input::placeholder{color:var(--input-placeholder)}
.hm-cmd .send-btn{width:48px;height:48px;background:var(--send-bg);color:var(--send-icon)}
.hm-pulse{display:block;width:100%;text-align:left;padding:14px 18px;border:0;border-radius:12px;background:var(--list-bg);box-shadow:var(--shadow-card);
  color:var(--text);cursor:pointer}
.hm-pulse-t{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;font-size:14px}
.hm-pulse-t b{font-size:18px;font-variant-numeric:tabular-nums}
.hm-pulse-t span{color:var(--text-2)}
.hm-pulse-t span.bad{color:var(--danger)} .hm-pulse-t span.ok{color:var(--ok)}
.hm-pulse-t small{margin-left:auto;color:var(--accent-text);font-size:13px}
.hm-bar{position:relative;height:8px;margin-top:10px;border-radius:4px;background:var(--list-hover)}
.hm-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--accent)}
.hm-bar em{position:absolute;top:-4px;width:2px;height:16px;margin-left:-1px;background:var(--draft-border)}
.hm-need{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hm-card{padding:14px 14px 8px;border-radius:12px;background:var(--list-bg);box-shadow:var(--shadow-card);min-width:0}
.hm-card header{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.hm-card header b{font-size:14px;color:var(--text)}
.hm-card header em{font-style:normal;font-size:12px;padding:0 7px;border-radius:9px;background:var(--badge-bg);color:var(--badge-fg)}
.hm-card header button{margin-left:auto;border:0;background:none;color:var(--accent-text);font-size:13px}
.hm-row{display:flex;gap:10px;align-items:flex-start;width:100%;padding:8px 4px;border:0;border-top:1px solid var(--divider);background:none;
  text-align:left;color:var(--text)}
button.hm-row:hover{background:var(--list-hover)}
.hm-row>span:not(.hm-acts){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.hm-row b{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-row small{font-size:12.5px;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hm-row .dot{flex:none;width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--accent)}
.hm-row .dot.c-critical{background:var(--danger)} .hm-row .dot.c-decision{background:var(--draft-border)}
.hm-acts{display:flex;flex-direction:column;gap:4px;flex:none}
.hm-acts button{border:1px solid var(--input-border);background:var(--list-bg);color:var(--accent-text);border-radius:8px;font-size:12px;padding:3px 8px}
.hm-empty{padding:8px 4px;margin:0}
.hm-caps h2{margin:4px 0 10px;font-size:15px;color:var(--text)}
.hm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.hm-cap{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:104px;padding:14px;border:1px solid var(--divider);border-radius:12px;
  background:var(--list-bg);color:var(--text);text-align:left;transition:border-color .12s}
.hm-cap:hover:not(:disabled){border-color:var(--accent)}
.hm-cap:disabled{opacity:.55;cursor:default}
.hm-cap-i{font-size:22px}
.hm-cap b{font-size:14px}
.hm-cap small{font-size:12.5px;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html[data-face=desk] .hm .sec-card{margin:0;background:var(--list-bg);box-shadow:var(--shadow-card);border-radius:12px}
/* «Центр» при колонке Льва (05.10, круг 8): центру остаётся ~750 px, три колонки резали тексты («Не о…», «P-5207 «Выв…»).
   Две колонки, третья — во всю ширину ниже; кнопки строки — под текстом; возможности — по три */
html[data-scene-rail] .hm-need{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-scene-rail] .hm-need>.hm-card:nth-child(3),html[data-scene-rail] .hm-need>.hm-card:only-child{grid-column:1/-1}
html[data-scene-rail] .hm-row{flex-wrap:wrap;row-gap:6px}
html[data-scene-rail] .hm-row b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
html[data-scene-rail] .hm-acts{flex-direction:row;flex-basis:100%;padding-left:18px}
html[data-scene-rail] .hm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
html[data-scene-rail] .hm-card header{flex-wrap:wrap;row-gap:0}
html[data-scene-rail] .hm-card header .hm-sub{order:9;flex-basis:100%}
@media (max-width:1279px){.hm{padding:20px 24px}.hm-grid,html[data-scene-rail] .hm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1100px){.hm-need,html[data-scene-rail] .hm-need{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.hm-lev .ava.busy{animation:none}}

/* ── «Продажи»: ТВ и «Показатели» на всю ширину (колонка списка скрыта), цвета дашборда — внутри .dbm ── */
.desk-sales{display:none}
html[data-face=desk][data-sales] #main,html[data-face=desk][data-sales] #chatView,html[data-face=desk][data-sales] .desk-empty,
html[data-face=desk][data-sales] .desk-home{display:none!important}
html[data-face=desk][data-sales] .desk-sales{display:block;grid-column:2 / 4;grid-row:2;min-height:0;overflow-y:auto;background:var(--d-bg,#0a1322);
  border-top-left-radius:var(--sheet-radius)}
.desk-sales .wrap{max-width:1600px;margin:0 auto;padding:18px 24px 32px}
.desk-sales .sales-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;color:#e9eef5}
.desk-sales .sales-title{font-size:18px}
.desk-sales-seg{display:flex;gap:4px;margin-left:auto;padding:3px;border-radius:10px;background:rgba(255,255,255,.06)}
.desk-sales-seg button{border:0;border-radius:8px;padding:6px 14px;background:none;color:#9fb0c6;font:inherit;font-size:13px;cursor:pointer}
.desk-sales-seg button.on{background:rgba(86,193,235,.18);color:#e9eef5;font-weight:600}
.dbm .dsk-av{position:relative;overflow:hidden;flex-shrink:0;display:inline-grid;place-items:center;border-radius:50%;
  background:#1f75c4;color:#fff;font-weight:700}
.dbm .dsk-av.sl{width:48px;height:48px;font-size:18px}
.dbm .dsk-av.ss{width:28px;height:28px;font-size:11px}
.dbm .dsk-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.desk-sales .dt-plqs{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.desk-sales .dt-plq{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);color:#e9eef5;text-decoration:none;font-size:13px}
.desk-sales .dt-plq small{color:#9fb0c6}
.desk-sales .dt-plq.off{opacity:.5}

/* хаб «Менеджеры» с досье (01.10): список слева, досье справа; цвета — только токены */
#deskMgrHub{padding:0 0 24px}
.mh{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}
.mh-list{display:flex;flex-direction:column;gap:4px;position:sticky;top:0;background:var(--card);border-radius:16px;padding:6px;box-shadow:0 0 0 1px var(--line)}
.mh-item{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:12px;padding:8px 10px;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.mh-item:hover{background:var(--hover, var(--card-2))}
.mh-item.on{background:var(--card-2);box-shadow:0 0 0 1px var(--line)}
.mh-item-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.mh-item-b b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mh-item-b small{font-size:12px;color:var(--ink-2)}
.mh-bar{display:block;height:4px;border-radius:2px;background:var(--track);overflow:hidden;margin-top:2px}
.mh-bar i{display:block;height:100%;background:var(--accent, var(--kcal))}
.mh-w{font-style:normal;min-width:22px;height:22px;border-radius:11px;padding:0 6px;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--badge-danger);color:var(--badge-fg)}
.mh-all .ava{display:grid;place-items:center;font-size:16px}
.mh-dos{background:var(--card);border-radius:16px;padding:18px 20px;box-shadow:0 0 0 1px var(--line);min-height:300px}
.mh-empty{color:var(--ink-2);padding:40px;text-align:center}
.mh-hdr{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.mh-hdr .ava{width:52px;height:52px;font-size:18px}
.mh-hdr h2{margin:0;font-size:20px}
.mh-hdr p{margin:2px 0 0;font-size:13px}
.mh-hdr>div:nth-child(2){flex:1;min-width:0}
.mh-hdr-a{display:flex;gap:8px}
.mh-hdr-a button,.mh-dos .acts button{border:0;border-radius:10px;padding:8px 12px;font:inherit;font-size:13px;background:var(--card-2);color:var(--ink);cursor:pointer}
.mh-hdr-a button.pri,.mh-dos .acts button.pri{background:var(--accent, var(--kcal));color:var(--on-accent, #fff);font-weight:600}
.mh-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:6px}
.mh-tile{background:var(--card-2);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.mh-tile small{font-size:12px;color:var(--ink-2)}
.mh-tile b{font-size:18px}
.mh-tile span{font-size:12px;color:var(--ink-2)}
.mh-tile.bad b{color:var(--danger)}
.mh-sec{margin-top:16px}
.mh-sec h3{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.mh-row{display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:8px 2px;font:inherit;color:var(--ink);text-align:left}
.mh-row:last-child{border-bottom:0}
.mh-row-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:14px}
.mh-row-t a{color:var(--accent-text, var(--kcal));text-decoration:none}
.mh-row-t small{font-size:12px;color:var(--ink-2)}
.mh-row>b{font-size:13px;font-weight:600;white-space:nowrap}
.mh-row.bad>b{color:var(--danger)}
.mh-ok{cursor:pointer}
.mh-ok:hover{background:var(--hover, var(--card-2))}
.mh-ask{flex:none;width:30px;height:30px;border:0;border-radius:10px;background:var(--card-2);color:var(--accent-text, var(--kcal));font-size:15px;cursor:pointer}
.mh-ask:hover{background:var(--accent, var(--kcal));color:var(--on-accent, #fff)}
.mh-foot{margin-top:14px}
.mh-dos .acts{display:flex;gap:8px;margin-top:10px}
@container (max-width:900px){.mh{grid-template-columns:1fr}.mh-list{position:static}.mh-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* «Ждут ок» на вебе: фильтры переносятся, а не уезжают за край («Обязательс…», круг 3) */
html[data-face=desk] .ok-chips{flex-wrap:wrap;overflow-x:visible}
/* «Продажи» = вкладки дашборда v60 (04.10): девять вкладок с подписями дашборда — переносятся под заголовок, не режутся */
html[data-face=desk] .desk-sales .sales-head{flex-wrap:wrap;row-gap:8px}
html[data-face=desk] .desk-sales-seg{flex-wrap:wrap;margin-left:0}
html[data-face=desk] .desk-sales-seg button{padding:6px 12px;white-space:nowrap}
/* «Продажи» — фон как у дашборда и сцены: стена praid под вуалью (сверка с эталоном v60, 04.10); статично, без fixed */
html[data-face=desk][data-sales] .desk-sales{background:linear-gradient(rgba(8,12,20,.72),rgba(8,12,20,.84)),url(/desk/assets/bg-wall.webp) center/cover no-repeat,#0a1322}
.desk-sales .dt-soon{opacity:.7;padding-bottom:12px}
/* «Продажи» (круг 5): ряд вкладок — всегда своей строкой под заголовком, без переносов; активная не жирнее прочих —
   шапка не прыгает при смене вкладки; метка свежести справа от заголовка */
html[data-face=desk] .desk-sales-seg{flex:1 0 100%;order:5;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
html[data-face=desk] .desk-sales-seg::-webkit-scrollbar{display:none}
html[data-face=desk] .desk-sales-seg button,html[data-face=desk] .desk-sales-seg button.on{font-weight:600}
.desk-sales .sales-fresh{margin-left:auto;font-size:12px;color:#8fa3b8;white-space:nowrap}
/* с правой колонкой Льва девять вкладок дашборда — компактнее, чтобы влезли в строку целиком */
html[data-scene-rail][data-face=desk] .desk-sales-seg button{padding:5px 9px;font-size:12px}
/* вкладки (круг 6): короткие подписи — только с колонкой Льва, тогда все 9 влезают от 1366 */
.desk-sales-seg .l-short{display:none}
html[data-scene-rail] .desk-sales-seg .l-full{display:none}
html[data-scene-rail] .desk-sales-seg .l-short{display:inline}

/* ══ стена и стекло на всех экранах (третья поставка, 04.10, ЗАДАНИЕ_ФОН_СТЕКЛО_ВЕЗДЕ): подложка одна — у body
   (он и есть окно: overflow hidden, высота 100 %), панели — полупрозрачный цвет без backdrop-filter. Сцена и колонка
   Льва кладут ту же стену с background-attachment:fixed — кадр совпадает, при смене вкладки фон не прыгает.
   Тёмная — стекло дашборда (web/glass.w33.css); светлая — та же стена под светлой вуалью и белое стекло;
   смешанная — тёмное стекло меню и шапки чата, светлый контент. Работает и без флага сцены. ══ */
html[data-face=desk]{--wall:url(/desk/assets/bg-wall.webp)}
html[data-face=desk][data-t=dark] body{
  background:linear-gradient(rgba(8,12,20,.72),rgba(8,12,20,.84)),var(--wall) center/cover no-repeat,#0a1322}
html[data-face=desk][data-t=light] body,html[data-face=desk][data-t=mixed] body{
  background:linear-gradient(rgba(243,246,251,.82),rgba(233,239,247,.92)),var(--wall) center/cover no-repeat,#e9eef5}
/* меню телефона размывало фон (blur 16) — на вебе без размытия: над fixed-фоном оно пересчитывалось бы каждый кадр */
html[data-face=desk] .nav{-webkit-backdrop-filter:none;backdrop-filter:none}

/* тёмная: токены стекла дашборда; текст на ступень ярче */
html[data-face=desk][data-t=dark]{
  --app-bg:transparent;--feed-bg:transparent;
  --nav-bg:rgba(10,18,30,.66);--nav-text:#eef3f9;--nav-text-2:#b6c5d8;--nav-active-bg:rgba(86,193,235,.16);--nav-active-fg:#9fdcf7;
  --nav-divider:rgba(255,255,255,.08);
  --list-bg:rgba(14,27,46,.64);--list-hover:rgba(255,255,255,.07);--chat-selected:rgba(43,90,134,.78);--chat-selected-text-2:#cfe0f2;
  --header-bg:rgba(10,18,30,.66);
  --bubble-in:rgba(22,38,60,.90);--bubble-out:linear-gradient(135deg,#2b5a86,#234a70);--bubble-out-text-2:#bcd2ea;
  --bubble-lev:rgba(24,46,74,.90);--bubble-lev-bar:#56c1eb;
  --system-pill:rgba(8,14,24,.66);--system-pill-text:#d6e2ee;
  --draft-bg:rgba(30,40,54,.92);
  --text:#eef3f9;--text-2:#b6c5d8;--divider:rgba(255,255,255,.10);
  --input-bg:rgba(10,22,38,.62);--input-border:rgba(255,255,255,.12);--input-placeholder:#8fa4be;
  --shadow-card:0 0 0 1px rgba(255,255,255,.10),0 6px 22px rgba(0,0,0,.28);--shadow-in:0 1px 2px rgba(0,0,0,.22);
  --shadow-pop:0 0 0 1px rgba(255,255,255,.10),0 12px 36px rgba(0,0,0,.5);
  --ink-3:#8fa4be;--card-2:rgba(10,22,38,.48);--track:rgba(10,22,38,.48)}

/* светлая «стекло на стене»: белое стекло, тёмный текст, бирюзовые акценты */
html[data-face=desk][data-t=light],html[data-face=desk][data-t=mixed]{
  --app-bg:transparent;--feed-bg:transparent;
  --nav-bg:rgba(255,255,255,.55);--nav-text:#1a1a2e;--nav-text-2:#4a5a70;--nav-active-bg:rgba(26,155,208,.18);--nav-active-fg:#005868;
  --nav-divider:rgba(255,255,255,.95);
  --list-bg:rgba(255,255,255,.72);--list-hover:rgba(26,155,208,.08);--chat-selected:rgba(26,155,208,.17);--chat-selected-text-2:#3d4f66;
  --header-bg:rgba(255,255,255,.60);
  --bubble-in:rgba(255,255,255,.90);--bubble-out:linear-gradient(135deg,#2b7fc0,#1f6aa6);--bubble-out-text-2:rgba(255,255,255,.84);
  --bubble-lev:rgba(236,246,252,.92);--bubble-lev-bar:#1a9bd0;
  --system-pill:rgba(255,255,255,.80);--system-pill-text:#4a5a70;
  --draft-bg:rgba(255,249,232,.94);--draft-border:#e0b04a;--draft-label:#8a5a00;
  --text:#1a1a2e;--text-2:#4a5a70;--divider:rgba(26,26,46,.10);
  --link:#0a6f9e;--link-out:#ffffff;--accent:#1a9bd0;--accent-text:#005868;--accent-hover:#1585b8;
  --badge-bg:#0e7fb0;--send-bg:#1a9bd0;--check-read:#1a9bd0;--danger:#c0392b;--ok:#1e8449;
  --input-bg:rgba(255,255,255,.86);--input-border:rgba(26,26,46,.14);--input-placeholder:#6f7f96;
  --shadow-card:0 0 0 1px rgba(255,255,255,.95),0 8px 28px rgba(16,32,56,.10);--shadow-in:0 1px 3px rgba(16,32,56,.10);
  --shadow-pop:0 0 0 1px rgba(255,255,255,.95),0 16px 40px rgba(16,32,56,.18);
  --ink-3:#6f7f96;--card-2:rgba(244,247,251,.86);--track:rgba(26,26,46,.08)}
html[data-face=desk][data-t=light] .msg.own,html[data-face=desk][data-t=mixed] .msg.own{color:#fff}
html[data-face=desk][data-t=light] .msg.own .tick,html[data-face=desk][data-t=mixed] .msg.own .tick{color:#d8f0ff}
html[data-face=desk][data-t=light] .nav button[aria-current=page],html[data-face=desk][data-t=light] .nav button[aria-current=page] b{font-weight:600}

/* смешанная («как Битрикс»): меню и шапка чата — тёмное стекло, контент — светлое; стена одна */
html[data-face=desk][data-t=mixed]{
  --nav-bg:rgba(12,24,40,.84);--nav-text:#eef3f9;--nav-text-2:#b6c5d8;--nav-active-bg:rgba(86,193,235,.22);--nav-active-fg:#ffffff;
  --nav-divider:transparent}
html[data-face=desk][data-t=mixed] #chatView>.chat-hdr{background:rgba(12,24,40,.84);border-bottom-color:rgba(255,255,255,.08);color:#eef3f9;
  --text:#eef3f9;--text-2:#b6c5d8;--ink:#eef3f9;--ink-2:#b6c5d8;--ink-3:#8fa4be;--accent-text:#9fdcf7;--line:rgba(255,255,255,.10)}

/* шторки и всплывающее — плотнее стекла панелей: под ними живой контент, а не стена */
html[data-face=desk][data-t=dark] .msheet-box{background:rgba(14,27,46,.95)}
html[data-face=desk][data-t=light] .msheet-box,html[data-face=desk][data-t=mixed] .msheet-box{background:rgba(255,255,255,.95)}

/* «Продажи»: своей подложки нет — видна та же стена body (кадр совпадает со сценой и чатами) */
html[data-face=desk][data-sales] .desk-sales{background:transparent}

/* досье: внутренние плитки — внутренний блок стекла; список и досье — карточка */
html[data-face=desk] .mh-list,html[data-face=desk] .mh-dos{box-shadow:var(--shadow-card)}
/* «Продажи» в светлой и смешанной: рамка-карточка на стене; само светлое стекло дашборда (подложка, поверхности, текст) —
   блок в конце sales.dN.css, собирает tools/sales_light.py (05.10, П3.10) */
html[data-face=desk][data-t=light] .desk-sales .wrap,html[data-face=desk][data-t=mixed] .desk-sales .wrap{width:calc(100% - 32px);
  margin:14px auto 24px;border-radius:18px;background:rgba(10,18,30,.84);box-shadow:0 0 0 1px rgba(255,255,255,.95),0 12px 36px rgba(16,32,56,.22)}
