/* shell.css — оболочка дизайна C «Диспетчерская» (shell.js). Работает только под html.ui-c (ERP-кабинеты и кабинет
   собственника v2); полевые экраны (оценщик, бригада, механик, вход) не затрагивает.
   ≥1024 — меню слева 236 px · 600–1023 — полоса иконок 56 px · ≤599 — нижняя панель + кнопка действия.
   Документ прокручивается как раньше (модули зовут window.scrollTo): рамка — position:fixed, у body отступы. */

/* без ui-c рамки нет совсем */
#uiSb,#uiTop,#uiBb,#uiFab{display:none}

:root.ui-c{scroll-padding-top:calc(var(--ui-top-h) + 8px)}
:root.ui-c body{padding:var(--ui-top-h) 0 0 var(--sidebar-w)}

/* ── меню слева ── */
:root.ui-c #uiSb{position:fixed;left:0;top:0;bottom:0;z-index:var(--z-sb);width:var(--sidebar-w);display:flex;flex-direction:column;min-height:0;
  padding:var(--safe-t) 8px calc(8px + var(--safe-b));background:var(--canvas);border-right:1px solid var(--border);color:var(--text);
  font-family:var(--font-ui);font-size:var(--fs-md);line-height:var(--lh)}
:root.ui-c .ui-sb-org{display:flex;align-items:center;height:var(--topbar-h);padding:0 6px;flex-shrink:0;min-width:0}
:root.ui-c .ui-logo{display:block;height:22px;width:auto;max-width:100%}
:root.ui-c .ui-sb-search{display:flex;align-items:center;gap:8px;width:100%;height:30px;margin:2px 0 6px;padding:0 6px 0 9px;flex-shrink:0;
  border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-3);font:inherit;font-size:var(--fs-md);
  cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast)}
:root.ui-c .ui-sb-search:hover{border-color:var(--border-strong);color:var(--text-2)}
:root.ui-c .ui-sb-search .t{flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root.ui-c .ui-sb-nav{flex:1;min-height:0;overflow-y:auto;margin:0 -8px;padding:0 8px 8px}
:root.ui-c .ui-sb-lbl{display:flex;justify-content:space-between;padding:16px 8px 4px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-3)}
:root.ui-c .ui-sb-gap{height:12px}
:root.ui-c .ui-ni{display:flex;align-items:center;gap:10px;width:100%;height:30px;margin:0;padding:0 8px;border:0;border-radius:var(--r-md);background:none;
  color:var(--text-2);font:inherit;font-size:var(--fs-md);text-align:left;position:relative;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}
:root.ui-c .ui-ni:hover{background:var(--surface-2);color:var(--text)}
:root.ui-c .ui-ni[aria-current=page]{background:var(--surface-3);color:var(--text);font-weight:var(--fw-medium)}
:root.ui-c .ui-ni[aria-current=page] .ui-i{color:var(--accent)}
:root.ui-c .ui-ni[aria-current=page]::before{content:"";position:absolute;left:-8px;top:7px;bottom:7px;width:2px;border-radius:0 2px 2px 0;background:var(--accent)}
:root.ui-c .ui-ni span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root.ui-c .ui-sb-foot{display:flex;align-items:center;gap:8px;padding:8px 2px 0;border-top:1px solid var(--border);flex-shrink:0;min-width:0}
:root.ui-c .ui-sb-foot .who{flex:1;min-width:0;line-height:1.2}
:root.ui-c .ui-sb-foot .who b{display:block;font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root.ui-c .ui-sb-foot .who small{display:block;font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── шапка ── */
:root.ui-c #uiTop{position:fixed;top:0;left:var(--sidebar-w);right:0;z-index:var(--z-top);display:flex;align-items:center;gap:10px;
  height:var(--ui-top-h);padding:var(--safe-t) 12px 0 14px;background:var(--canvas);border-bottom:1px solid var(--border);color:var(--text);
  font-family:var(--font-ui);font-size:var(--fs-md);line-height:var(--lh)}
:root.ui-c .ui-ttl{display:flex;min-width:0;flex-shrink:0;margin:0;font:inherit;color:inherit;letter-spacing:0}
:root.ui-c .ui-ttl button{display:flex;align-items:center;gap:9px;height:34px;min-width:0;margin:0 0 0 -4px;padding:0 6px 0 4px;border:0;border-radius:var(--r-md);
  background:none;color:var(--text);font:inherit;font-size:var(--fs-lg);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;transition:background var(--t-fast)}
:root.ui-c .ui-ttl button:hover{background:var(--surface-2)}
:root.ui-c .ui-ttl .ic{width:26px;height:26px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;color:var(--text-2);flex-shrink:0}
:root.ui-c .ui-ttl .nm{min-width:0;overflow:hidden;text-overflow:ellipsis}
:root.ui-c .ui-ttl .chev{display:none;color:var(--text-3)}
:root.ui-c .ui-vr{width:1px;height:20px;background:var(--border);flex-shrink:0}
:root.ui-c:not(.ui-has-tabs) .ui-vr{display:none}
:root.ui-c #uiTabs{flex:1 1 auto;min-width:0}
:root.ui-c .ui-top-r{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}
:root.ui-c #uiAct{margin-left:6px}
@media (min-width:600px){:root.ui-c:not(.ui-has-act) #uiAct{display:none}}

/* 🔔 уведомления (tasks.js рисует .tk-bell в #uiBell) — иконка-кнопка без эмодзи */
:root.ui-c #uiTop .tk-bellw{order:0;display:inline-flex;flex-shrink:0}
:root.ui-c #uiTop .tk-bell{position:relative;display:inline-grid;place-items:center;width:var(--ctl-h);height:var(--ctl-h);margin:0;padding:0;border:0;border-radius:var(--r-md);
  background:transparent;color:var(--text-2);font-size:0;line-height:0;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}
:root.ui-c #uiTop .tk-bell::before{content:"";width:16px;height:16px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.268 21a2 2 0 0 0 3.464 0'/%3E%3Cpath d='M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326'/%3E%3C/svg%3E") center/16px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.268 21a2 2 0 0 0 3.464 0'/%3E%3Cpath d='M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326'/%3E%3C/svg%3E") center/16px no-repeat}
:root.ui-c #uiTop .tk-bell:hover{background:var(--surface-2);color:var(--text)}
:root.ui-c #uiTop .tk-bell.on{color:var(--crit);border-color:transparent}
:root.ui-c #uiTop .tk-badge{top:calc(50% - 14px);left:calc(50% + 2px);right:auto;min-width:16px;height:16px;padding:0 4px;border:0;border-radius:8px;
  background:var(--crit);color:var(--on-crit);font:600 10px/16px var(--font-mono);font-style:normal}

/* подвал палитры: кто вошёл · RU/PL · тема · выход */
:root.ui-c .ui-pal-who{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── страница под рамкой ── */
/* низ 76 px: 💡/💬 (14 + 46 px) не закрывают последнюю строку и сноски («нет данных…», «В итогах — …») */
:root.ui-c #screen-erp.active,:root.ui-c #screen-manager.active{max-width:1560px;margin:0 auto;padding:16px 20px 76px}
/* старые шапки, ряд вкладок РОПа и нижние кнопки кабинета v2 — их заменила рамка */
:root.ui-c #screen-erp>.brand-bar,:root.ui-c #screen-manager>.brand-bar,:root.ui-c #screen-manager>.topbar,
:root.ui-c #mgTabs,:root.ui-c #ownNav,:root.ui-c .own-chips{display:none}
:root.ui-c .ow-tabs{top:calc(var(--ui-top-h) + 6px)}

/* 💡 / 💬 круглые кнопки — справа от меню, над нижней панелью */
:root.ui-c #ideaFab,:root.ui-c #askFab{border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-pop)}
:root.ui-c #ideaFab:hover,:root.ui-c #askFab:hover{background:var(--surface-2)}
:root.ui-c #ideaFab{left:calc(var(--sidebar-w) + 14px)}
:root.ui-c #askFab{left:calc(var(--sidebar-w) + 68px)}

/* окна поверх (старые): белый текст на салатовом/красном → контрастный цвет из токенов */
:root.ui-c .ask-m.me{color:var(--on-fill)}
:root.ui-c .mg-badge,:root.ui-c .tk-toast.bad,:root.ui-c .crm-toast.bad,:root.ui-c .tk-primary.tk-danger,
:root.ui-c .tk-chip.p-urgent.on,:root.ui-c .tk-chip.p-high.on{color:var(--on-crit)}

/* ── планшет: полоса иконок ── */
@media (min-width:600px) and (max-width:1023px){
  :root.ui-c body{padding-left:var(--rail-w)}
  :root.ui-c #uiSb{width:var(--rail-w);align-items:center;padding-left:0;padding-right:0}
  :root.ui-c #uiTop{left:var(--rail-w)}
  :root.ui-c .ui-sb-org{width:100%;justify-content:center;padding:0}
  :root.ui-c .ui-logo{width:22px;height:26px;max-width:none;object-fit:cover;object-position:left center}
  :root.ui-c .ui-sb-search{width:40px;justify-content:center;padding:0}
  :root.ui-c .ui-sb-search .t,:root.ui-c .ui-sb-search .ui-kbd,:root.ui-c .ui-ni span,:root.ui-c .ui-sb-foot .who,:root.ui-c .ui-sb-foot .ui-seg{display:none}
  :root.ui-c .ui-sb-nav{width:100%;margin:0;padding:0 8px}
  :root.ui-c .ui-ni{justify-content:center;width:40px;height:36px;margin:2px auto;padding:0}
  :root.ui-c .ui-sb-lbl,:root.ui-c .ui-sb-gap{height:1px;margin:8px 6px;padding:0;overflow:hidden;background:var(--border);font-size:0}
  :root.ui-c .ui-sb-foot{flex-direction:column;justify-content:center;width:100%;border:0}
  :root.ui-c #ideaFab{left:calc(var(--rail-w) + 14px)}
  :root.ui-c #askFab{left:calc(var(--rail-w) + 68px)}
}

/* ── телефон: шапка в 1–2 ряда, нижняя панель, кнопка действия ── */
@media (max-width:599px){
  :root.ui-c body{padding:var(--ui-top-h) 0 calc(var(--bottombar-h) + var(--safe-b) + 16px) 0}
  :root.ui-c #uiSb{display:none}
  :root.ui-c #uiTop{left:0;flex-wrap:wrap;align-content:flex-start;column-gap:6px;row-gap:0;padding:var(--safe-t) 6px 0 12px;border-bottom:0;box-shadow:0 1px 0 var(--border)}
  :root.ui-c .ui-ttl{flex:0 1 auto;height:var(--topbar-h);align-items:center}
  :root.ui-c .ui-ttl button{height:40px;font-size:var(--fs-xl)}
  :root.ui-c .ui-ttl .chev{display:inline-flex}
  :root.ui-c .ui-vr{display:none}
  :root.ui-c #uiTabs{order:9;flex:1 0 calc(100% + 18px);height:var(--tab-h);margin:0 -6px 0 -12px;padding:0 6px;border-top:1px solid var(--border)}
  :root.ui-c.ui-has-tabs:not(.ui-tabs-dk){--ui-top-h:calc(var(--topbar-h) + var(--tab-h) + var(--safe-t))}
  :root.ui-c.ui-tabs-dk #uiTabs,:root.ui-c:not(.ui-has-tabs) #uiTabs{display:none}
  :root.ui-c #uiBb{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-bb);display:grid;grid-template-columns:repeat(var(--ui-bb-n,5),minmax(0,1fr));
    height:calc(var(--bottombar-h) + var(--safe-b));padding-bottom:var(--safe-b);background:var(--canvas);border-top:1px solid var(--border);font-family:var(--font-ui)}
  :root.ui-c #uiBb button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;margin:0;padding:0;border:0;background:none;
    color:var(--text-3);font:inherit;font-size:11px;font-weight:var(--fw-medium);position:relative;cursor:pointer}
  :root.ui-c #uiBb button span{max-width:100%;padding:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  :root.ui-c #uiBb button[aria-current=page]{color:var(--text)}
  :root.ui-c #uiBb button[aria-current=page] .ui-i{color:var(--accent)}
  :root.ui-c.ui-has-act #uiFab{position:fixed;right:16px;bottom:calc(var(--bottombar-h) + var(--safe-b) + 16px);z-index:var(--z-fab);display:flex;align-items:center;gap:8px;
    height:48px;margin:0;padding:0 18px 0 14px;border:1px solid var(--fill-border);border-radius:var(--r-lg);background:var(--fill);color:var(--on-fill);
    font-family:var(--font-ui);font-size:15px;font-weight:var(--fw-semibold);box-shadow:var(--shadow-pop);cursor:pointer}
  /* отступ снизу у body не работает (html,body{height:100%} в index.html: страница вылезает за body), поэтому здесь:
     нижняя панель + 72 px — последняя строка выше «Внести» (16 + 48 px над панелью) и 💡/💬 */
  :root.ui-c #screen-erp.active,:root.ui-c #screen-manager.active{padding:12px 16px calc(var(--bottombar-h) + var(--safe-b) + 72px)}
  :root.ui-c #ideaFab,:root.ui-c #askFab{bottom:calc(var(--bottombar-h) + var(--safe-b) + 12px)}
  :root.ui-c #ideaFab{left:14px}
  :root.ui-c #askFab{left:68px}
  :root.ui-c .pf-toast,:root.ui-c .erp-toast,:root.ui-c .tk-toast,:root.ui-c .crm-toast{bottom:calc(var(--bottombar-h) + var(--safe-b) + 16px)}
}
/* пальцы: шапка и меню не мельче 40 px */
@media (max-width:599px),(pointer:coarse){
  :root.ui-c .ui-ni{min-height:40px}
  :root.ui-c .ui-sb-search{min-height:40px}
  :root.ui-c .ui-ttl button{min-height:40px}
}
