/* Слои экрана: левые группы инструментов, полоса действий, таблица сметы. */

#pl.sk-shell:not(.pl-noplan){
  grid-template-columns:minmax(212px,248px) minmax(0,1fr);
}
#pl.sk-shell:not(.pl-noplan)>.fl-guide-hint,
#pl.sk-shell:not(.pl-noplan)>.pl-top,
#pl.sk-shell:not(.pl-noplan)>.fl-save,
#pl.sk-shell:not(.pl-noplan)>.pl-warn,
#pl.sk-shell:not(.pl-noplan)>.cad-dockb{grid-column:1 / -1}
#pl.sk-shell:not(.pl-noplan)>.cad-rail{
  grid-column:1;grid-row:4;flex-direction:column;align-items:stretch;
  max-height:min(78vh,920px);overflow:auto;border-bottom:0;border-right:1px solid #e3e6ea;
}
#pl.sk-shell:not(.pl-noplan)>.pl-body{grid-column:2;grid-row:4}
#pl.sk-shell #pl-bar{flex-direction:column;align-items:stretch;overflow:visible}
#pl.sk-shell #pl-bar .pl-g{flex-wrap:wrap}
#pl.sk-shell #pl-bar .pl-grp{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:4px 0;border-top:1px solid #e3e6ea}
#pl.sk-shell #pl-bar button.pl-grp-b{
  width:auto;min-width:0;height:auto;min-height:28px;padding:5px 8px!important;
  font-size:12px!important;line-height:1.25;font-weight:750;justify-content:space-between;
  text-align:left;white-space:normal;color:#1c2128;
}
#pl.sk-shell #pl-bar button.pl-grp-b::after{content:"▾";font-size:11px;line-height:1}
#pl.sk-shell #pl-bar .pl-grp:not(.is-open) .pl-grp-box{display:none}
#pl.sk-shell #pl-bar .pl-grp.is-open button.pl-grp-b::after{content:"▴"}
#pl.sk-shell #pl-bar .pl-grp-box{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
#pl.sk-shell #pl-bar .pl-global{display:flex;flex-wrap:wrap;gap:4px;padding-bottom:4px}

#pl.sk-shell #pl-bar .pl-grp[data-tone="walls"]>.pl-grp-b{background:#e6e8eb;color:#1c2128}
#pl.sk-shell #pl-bar .pl-grp[data-tone="elec"]>.pl-grp-b{background:#f8e7a2;color:#3a2e00}
#pl.sk-shell #pl-bar .pl-grp[data-tone="water"]>.pl-grp-b{background:#d5e6f7;color:#0d2c4a}
#pl.sk-shell #pl-bar .pl-grp[data-tone="finish"]>.pl-grp-b{background:#e6e8eb;color:#1c2128}
#pl.sk-shell #pl-bar .pl-grp[data-tone="hvac"]>.pl-grp-b{background:#f8e0d2;color:#4a2412}
#pl.sk-shell #pl-bar .pl-grp[data-tone="furn"]>.pl-grp-b{background:#e7ead2;color:#2c3314}

.sk-view{display:inline-flex;align-items:center;gap:4px;padding:2px;border:1px solid #d5dbe3;border-radius:10px;background:#fff}
.sk-view>span{font-size:12px;font-weight:750;padding:0 4px;color:#3a414a}
.sk-view button{appearance:none;border:0;background:transparent;border-radius:8px;padding:6px 10px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;min-height:32px}
.sk-view button.is-on{background:#16181c;color:#fff}

.sk-qab{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:6px 8px;background:#fff;border-bottom:1px solid #e3e6ea;position:relative;z-index:6}
#pl.cad.sk-shell .pl-body{grid-template-rows:auto minmax(0,1fr) auto}
#pl.cad.sk-shell .sk-qab{grid-column:1 / -1;grid-row:1}
#pl.cad.sk-shell .pl-stage{grid-column:1;grid-row:2}
#pl.cad.sk-shell .cad-r{grid-row:3}
@media (min-width:981px) and (min-aspect-ratio:1/1){
  #pl.cad.sk-shell .pl-body{grid-template-rows:auto minmax(0,1fr)}
  #pl.cad.sk-shell .pl-stage{grid-column:1;grid-row:2}
  #pl.cad.sk-shell .cad-split-r{grid-row:2}
  #pl.cad.sk-shell .cad-r{grid-column:3;grid-row:2}
}
/* Полный экран: полоса действий — своя строка над планом.
   Иначе правая панель встаёт в ту же строку, строка занимает всю высоту,
   кнопки растягиваются поверх плана, а таблица сметы сжимается в ноль. */
@media (min-aspect-ratio:1/1){
  #pl.cad.sk-fs-on.sk-shell .pl-body{grid-template-rows:auto minmax(0,1fr)}
  #pl.cad.sk-fs-on.sk-shell .sk-qab{grid-column:1 / -1;grid-row:1;align-self:start;height:auto;min-height:0}
  #pl.cad.sk-fs-on.sk-shell .pl-stage,
  #pl.cad.sk-fs-on.sk-shell .cad-split-r{grid-row:2}
  #pl.cad.sk-fs-on.sk-shell.cad-r-on .cad-r{grid-column:3;grid-row:2}
}
@media (max-aspect-ratio:1/1){
  #pl.cad.sk-fs-on.sk-shell .pl-body{grid-template-rows:auto minmax(0,1fr)!important}
  #pl.cad.sk-fs-on.sk-shell.cad-r-on .pl-body{grid-template-rows:auto minmax(0,1fr) minmax(120px,35%)!important}
  #pl.cad.sk-fs-on.sk-shell .sk-qab{grid-column:1 / -1;grid-row:1;align-self:start;height:auto;min-height:0}
  #pl.cad.sk-fs-on.sk-shell .pl-stage{grid-column:1!important;grid-row:2!important}
  #pl.cad.sk-fs-on.sk-shell.cad-r-on .cad-r{grid-column:1!important;grid-row:3!important}
}
.sk-qab-g{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.sk-qab-g>b{font-size:12px;color:#59616a;margin-right:2px}
.sk-qab button,.sk-qab-menu>button{appearance:none;border:1px solid #d5dbe3;background:#f6f7f9;border-radius:8px;padding:5px 8px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;min-height:30px}
.sk-qab button:disabled{opacity:.45;cursor:default}
.sk-qab-pop{position:absolute;z-index:8;top:100%;left:0;min-width:220px;max-width:320px;max-height:320px;overflow:auto;background:#fff;border:1px solid #d5dbe3;border-radius:10px;box-shadow:0 8px 22px rgba(20,30,40,.12);padding:6px;display:flex;flex-direction:column;gap:4px}
.sk-qab-pop[hidden]{display:none}
.sk-qab-pop button{text-align:left}
.sk-qab-mini{display:none;position:relative}
#pl.is-est #pl-bar{display:none}
#pl.is-est #sk-est{display:flex}
#sk-est[hidden]{display:none}
#sk-est{flex-direction:column;min-height:0;height:100%;background:#fff;overflow:auto}

#sk-crm-slot{margin:0 0 8px}
#sk-crm-slot[hidden]{display:none!important}
body.is-client #sk-crm-slot{display:none!important}

.sk-stack{display:flex;flex-direction:column;gap:3px;margin:8px 0;max-width:280px}
.sk-stack-l{display:flex;justify-content:space-between;gap:8px;padding:4px 8px;background:#f4f6f8;border-radius:8px;font-size:13px}
.sk-stack-l b{font-weight:700}
.sk-stack-sum{font-weight:800;text-align:right;font-size:13px}

.sk-est{padding:8px 10px 16px}
.sk-est-h{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}
.sk-est table{width:100%;border-collapse:collapse;font-size:13px}
.sk-est th,.sk-est td{border-bottom:1px solid #e6eaee;padding:4px 6px;text-align:left;vertical-align:top}
.sk-est th{font-size:11px;color:#59616a;font-weight:750;position:sticky;top:0;background:#fff}
.sk-est .num{text-align:right;white-space:nowrap}
.sk-est tr[data-tone="elec"] td:first-child{box-shadow:inset 3px 0 0 #e0b000}
.sk-est tr[data-tone="water"] td:first-child{box-shadow:inset 3px 0 0 #2a6fad}
.sk-est tr[data-tone="walls"] td:first-child{box-shadow:inset 3px 0 0 #8b939c}
.sk-est tr[data-tone="floor"] td:first-child{box-shadow:inset 3px 0 0 #b08968}
.sk-est tr[data-tone="ceil"] td:first-child{box-shadow:inset 3px 0 0 #7aa0ad}
.sk-est tr[data-tone="hvac"] td:first-child{box-shadow:inset 3px 0 0 #c46a3a}
.sk-est tr[data-tone="ac"] td:first-child{box-shadow:inset 3px 0 0 #5d8a62}
.sk-est tr[data-tone="open"] td:first-child{box-shadow:inset 3px 0 0 #8d735b}
.sk-est tr[data-tone="design"] td:first-child{box-shadow:inset 3px 0 0 #7a6a9a}
.sk-est tr[data-tone="furn"] td:first-child{box-shadow:inset 3px 0 0 #7d8648}
.sk-est tr[data-tone="other"] td:first-child{box-shadow:inset 3px 0 0 #9aa1a8}
.sk-est tr.is-grp td{font-weight:750;background:#f7f8fa}
.sk-est .sk-nm{cursor:text}
.sk-est .sk-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#c2410c;border:0;padding:0;margin-left:4px;vertical-align:middle;cursor:pointer}
.sk-cell-in{width:7em;font:inherit;padding:2px 4px;border:1px solid #9aa6b2;border-radius:6px}
.sk-gear{position:fixed;z-index:40;width:min(360px,calc(100vw - 16px));max-height:min(70vh,520px);overflow:auto;background:#fff;border:1px solid #d5dbe3;border-radius:12px;box-shadow:0 12px 32px rgba(20,30,40,.16);padding:10px}
.sk-gear h4{margin:0 0 6px;font-size:14px}
.sk-gear .sk-step{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid #eef0f2;font-size:13px}
.sk-orph{margin-top:12px;padding:8px;border:1px solid #f0dd9c;background:#fff7e0;border-radius:10px}
.sk-orph li{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:4px 0}
.sk-client .sk-pack{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #eef0f2}
.sk-grand{font-size:18px;font-weight:800;margin-top:8px}

@media(max-width:700px){
  #pl.sk-shell:not(.pl-noplan){grid-template-columns:minmax(0,1fr)}
  #pl.sk-shell:not(.pl-noplan)>.cad-rail{grid-column:1;grid-row:4;flex-direction:row;max-height:none;overflow:visible;border-right:0;border-bottom:1px solid #e3e6ea}
  #pl.sk-shell:not(.pl-noplan)>.pl-body{grid-column:1;grid-row:5}
  #pl.sk-shell #pl-bar{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;align-items:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  #pl.sk-shell #pl-bar .pl-grp{flex:0 0 auto;min-width:160px;border-top:0;border-left:1px solid #e3e6ea;padding-left:6px}
  #pl.sk-shell #pl-bar .pl-global{flex:0 0 auto;flex-wrap:nowrap}
  #pl.sk-shell #pl-bar button.pl-grp-b{min-width:140px}
  .sk-qab-full{display:none}
  .sk-qab-mini{display:inline-flex}
}

/* Рабочий экран: баннер «Сохрани на рабочий стол» и окно разрешения уведомлений не перекрывают инструменты. */
body:has(#pl) .sk-install,
body:has(#pl) .sk-install-help,
body:has(#pl) .sk-notify-ask,
body:has(#pl) .sk-pushbar{display:none!important}

/* Панель инструментов: блоки групп у краёв. Чертёж остаётся в средней клетке и не оказывается под кнопками.
   Вне полного экрана края скрыты, пока на #pl нет sk-fs-dock. Левая рейка не возвращается.
   Плавающие значки ловят события только сами. */
#sk-fs-dock,#sk-fs-floats,#sk-fs-dock-tray,#sk-fs-dock-ghost{display:none}
#sk-fs-edge-l,#sk-fs-edge-r,#sk-fs-edge-b{display:none}
#pl.cad.sk-fs-on.sk-fs-dock{
  grid-template-columns:auto minmax(0,1fr) auto!important;
  grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto auto!important;
  overflow:hidden;
}
#pl.cad.sk-fs-on.sk-fs-dock>.fl-guide-hint{grid-column:1 / -1;grid-row:1}
#pl.cad.sk-fs-on.sk-fs-dock>.pl-top{grid-column:1 / -1;grid-row:2}
#pl.cad.sk-fs-on.sk-fs-dock>.fl-save{grid-column:1 / -1;grid-row:3}
#pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-dock{
  display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:4px;
  grid-column:1 / -1;grid-row:4;
  height:auto;min-height:36px;max-height:42vh;
  background:#fff;border-bottom:1px solid #e3e6ea;
  position:relative;z-index:6;overflow:auto;
}
#pl.cad.sk-fs-on.sk-fs-dock>.cad-rail{display:none!important}
#pl.cad.sk-fs-on.sk-fs-dock .pl-tools>:not(#pl-fs){display:none!important}
#pl.cad.sk-fs-on.sk-fs-dock>.pl-body{
  grid-column:2!important;grid-row:5!important;
  min-height:0!important;height:auto!important;align-self:stretch;
}
#pl.cad.sk-fs-on.sk-fs-dock>.pl-warn{grid-column:1 / -1;grid-row:7}
#pl.cad.sk-fs-on.sk-fs-dock>.cad-dockb{grid-column:1 / -1;grid-row:8}
#pl.cad.sk-fs-on.sk-fs-dock .sk-qab{display:none!important}
#pl.cad.sk-fs-on.sk-fs-dock .pl-3dbar{display:none!important}
#pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-floats{
  display:block;position:absolute;left:0;top:0;right:0;bottom:0;
  pointer-events:none;z-index:24;grid-column:1;grid-row:1 / -1;
}
#pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-dock-tray:not([hidden]){
  display:flex;flex-wrap:wrap;gap:4px;align-items:center;
  position:absolute;z-index:40;grid-column:1;grid-row:4;
  max-width:min(440px,calc(100% - 12px));max-height:168px;overflow:auto;
  padding:6px;background:#fff;border:1px solid #d5dbe3;border-radius:10px;
  box-shadow:0 8px 22px rgba(20,30,40,.12);pointer-events:auto;
}
#pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-dock-ghost:not([hidden]){
  display:flex;position:fixed;z-index:60;width:28px;height:28px;
  align-items:center;justify-content:center;pointer-events:none;
  background:#fff;border:1px solid #16181c;border-radius:7px;opacity:.9;
  grid-column:1;grid-row:1;
}
.sk-fs-dock-top{
  display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:stretch;min-width:0;height:34px;
  border-bottom:1px solid #e3e6ea;background:#f6f7f9;
}
.sk-fs-dock-tabs{
  display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:stretch;gap:2px;min-width:0;
  overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;touch-action:pan-x;-webkit-overflow-scrolling:touch;
}
.sk-fs-dock-tab{
  appearance:none;flex:0 0 auto;height:34px;min-height:34px;padding:0 10px;border:0;border-bottom:2px solid transparent;
  background:transparent;color:#1c2128;font:inherit;font-size:13px;font-weight:750;line-height:1;white-space:nowrap;cursor:grab;
}
.sk-fs-dock-tab.is-on{border-bottom-color:#0f7b3d;color:#0f7b3d;background:#fff}
.sk-fs-dock-tab.is-before{box-shadow:inset 2px 0 0 #0f7b3d}
.sk-fs-dock-pin{
  display:flex;flex:0 0 auto;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px;
  height:34px;padding:0 4px;background:#f6f7f9;border-left:1px solid #e3e6ea;z-index:2;
}
#sk-fs-dock-line{
  display:flex;flex-direction:row;flex:1 1 auto;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:4px;
  min-width:0;height:auto;min-height:36px;max-height:160px;padding:4px;overflow-x:auto;overflow-y:auto;
  scrollbar-width:thin;touch-action:pan-x;-webkit-overflow-scrolling:touch;
}
.sk-fs-dock-row{
  display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:4px;
  width:max-content;height:auto;min-height:36px;max-height:none;
}
.sk-fs-dock-panels{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;width:100%;max-height:148px;overflow:auto;padding:2px}
.sk-fs-dock-checks{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}
.sk-fs-dock-chk{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;white-space:nowrap;cursor:pointer}
.sk-fs-dock-chk input{width:16px;height:16px;margin:0}
.sk-fs-dock-set{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;white-space:nowrap}
.sk-fs-dock-set input,.sk-fs-dock-set select{height:28px;max-width:160px;font:inherit;font-size:13px;border:1px solid #d5dbe3;border-radius:7px;background:#fff;color:#1c2128}
.sk-fs-dock-note{flex:1 1 180px;font-size:12px;color:#59616a}
#pl.sk-fs-dock-fold #sk-fs-dock-tabs,
#pl.sk-fs-dock-fold #sk-fs-dock-line,
#pl.sk-fs-dock-fold #sk-fs-dock-cfg,
#pl.sk-fs-dock-fold #sk-fs-dock-hidden,
#pl.sk-fs-dock-fold #sk-fs-dock-reset{display:none!important}
#pl.cad.sk-fs-dock.sk-fs-dock-fold>#sk-fs-dock{min-height:0;max-height:none;height:auto}
#pl.sk-fs-dock-edit #sk-fs-dock-line{touch-action:none}
.sk-fs-dock-slot{
  position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;
  height:36px;max-height:36px;cursor:grab;
}
.sk-fs-dock-btn{
  appearance:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;
  flex:0 0 auto;width:auto;min-width:28px;max-width:none;height:36px;min-height:36px;max-height:36px;
  padding:0 10px 0 8px;border:1px solid #c5ccd4;border-radius:8px;background:#fff;color:#1c2128;
  font:inherit;font-size:13px;font-weight:650;line-height:1;white-space:nowrap;
  cursor:pointer;overflow:hidden;
}
.sk-fs-dock-btn svg{width:16px;height:16px;display:block;flex:none;pointer-events:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sk-fs-dock-btn .sk-fs-mono{font-size:12px;font-weight:800;line-height:1;pointer-events:none}
.sk-fs-dock-cap{pointer-events:none;color:#1c2128;white-space:nowrap}
.sk-fs-dock-btn.is-on{background:#16181c;border-color:#16181c;color:#fff}
.sk-fs-dock-btn.is-on .sk-fs-dock-cap{color:#fff}
.sk-fs-dock-btn.sk-fs-dock-freeze{
  flex:0 0 auto;width:auto;min-width:28px;max-width:none;
  padding:0 10px 0 8px;font:inherit;font-size:13px;font-weight:650;line-height:1;white-space:nowrap;
}
.sk-fs-dock-btn:disabled{opacity:.45;cursor:default}
.sk-fs-dock-text{
  appearance:none;box-sizing:border-box;flex:0 0 auto;width:auto;min-width:max-content;max-width:none;
  height:28px;min-height:28px;padding:0 8px;border:1px solid #d5dbe3;border-radius:7px;background:#fff;
  font:inherit;font-size:12px;font-weight:750;line-height:1;white-space:nowrap;cursor:pointer;color:#1c2128;
}
.sk-fs-dock-x{
  display:none;position:absolute;top:0;right:0;z-index:2;width:14px;height:14px;padding:0;
  border:0;border-radius:6px;background:#9b2c2c;color:#fff;font-size:11px;line-height:14px;cursor:pointer;
}
#pl.sk-fs-dock-edit .sk-fs-dock-x{display:block}
#pl.sk-fs-dock-edit .sk-fs-dock-slot{cursor:grab;touch-action:none}
#pl.sk-fs-dock-edit .sk-fs-dock-slot.is-before{box-shadow:inset 2px 0 0 #0f7b3d}
.sk-fs-dock-slot-sel select{
  box-sizing:border-box;flex:0 0 auto;width:auto;min-width:72px;max-width:116px;height:28px;
  font:inherit;font-size:11px;border:1px solid #d5dbe3;border-radius:7px;background:#fff;color:#1c2128;
}
.sk-fs-dock-slot-rng input[type=range]{flex:0 0 72px;width:72px;height:28px;margin:0}
#sk-fs-floats .sk-fs-float{position:absolute;pointer-events:auto;z-index:2}
#sk-fs-dock-tray .sk-fs-dock-empty{font-size:12px;color:#59616a;padding:2px 4px}
#sk-fs-dock-ghost svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Обычное окно: тот же док #sk-fs-dock и тот же правый инспектор, без второй разметки.
   Левая колонка крупных кнопок не занимает место. Холст забирает остаток.
   Узкая ширина складывает инспектор под чертёж, как полный экран в портрете.
   Прежние правила полного экрана выше не затираются. */
#pl.cad.sk-fs-dock:not(.sk-fs-on){
  grid-template-columns:auto minmax(0,1fr) auto!important;
  grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto auto!important;
  height:calc(100dvh - var(--cad-hdr,96px) - 8px);
  max-height:calc(100dvh - var(--cad-hdr,96px) - 8px);
  overflow:hidden;
}
#pl.cad.sk-fs-dock:not(.sk-fs-on)>.fl-guide-hint,
#pl.cad.sk-fs-dock:not(.sk-fs-on)>.pl-top,
#pl.cad.sk-fs-dock:not(.sk-fs-on)>.fl-save,
#pl.cad.sk-fs-dock:not(.sk-fs-on)>.pl-warn,
#pl.cad.sk-fs-dock:not(.sk-fs-on)>.cad-dockb{grid-column:1 / -1}
#pl.cad.sk-fs-dock:not(.sk-fs-on)>.pl-top{grid-row:2;padding:2px 4px}
#pl.cad.sk-fs-dock:not(.sk-fs-on)>.fl-save{grid-row:3}
#pl.cad.sk-fs-dock:not(.sk-fs-on) .pl-title{display:none}
#pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-dock{
  display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:4px;
  grid-column:1 / -1;grid-row:4;
  height:auto;min-height:36px;max-height:42vh;
  background:#fff;border-bottom:1px solid #e3e6ea;
  position:relative;z-index:6;overflow:auto;
}
#pl.cad.sk-fs-dock:not(.sk-fs-on)>.cad-rail{display:none!important}
#pl.cad.sk-fs-dock:not(.sk-fs-on) .pl-tools>:not(#pl-fs){display:none!important}
#pl.cad.sk-fs-dock:not(.sk-fs-on)>.pl-body{
  grid-column:2!important;grid-row:5!important;
  min-height:0!important;height:auto!important;align-self:stretch;
}
#pl.cad.sk-fs-dock:not(.sk-fs-on)>.pl-warn{grid-column:1 / -1;grid-row:7}
#pl.cad.sk-fs-dock:not(.sk-fs-on)>.cad-dockb{grid-column:1 / -1;grid-row:8}
#pl.cad.sk-fs-dock:not(.sk-fs-on) .sk-qab{display:none!important}
#pl.cad.sk-fs-dock:not(.sk-fs-on) .pl-3dbar{display:none!important}
#pl.cad.sk-fs-dock:not(.sk-fs-on) .pl-stage{height:auto!important;min-height:0}
#pl.cad.sk-fs-dock:not(.sk-fs-on) .cad-r{max-height:none;height:100%}
#pl.cad.sk-fs-dock:not(.sk-fs-on) .pl-insp,
#pl.cad.sk-fs-dock:not(.sk-fs-on) .pl-wallp{max-height:none;height:auto}
#pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-floats{
  display:block;position:absolute;left:0;top:0;right:0;bottom:0;
  pointer-events:none;z-index:24;grid-column:1;grid-row:1 / -1;
}
#pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-dock-tray:not([hidden]){
  display:flex;flex-wrap:wrap;gap:4px;align-items:center;
  position:absolute;z-index:40;grid-column:1;grid-row:4;
  max-width:min(440px,calc(100% - 12px));max-height:168px;overflow:auto;
  padding:6px;background:#fff;border:1px solid #d5dbe3;border-radius:10px;
  box-shadow:0 8px 22px rgba(20,30,40,.12);pointer-events:auto;
}
#pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-dock-ghost:not([hidden]){
  display:flex;position:fixed;z-index:60;width:28px;height:28px;
  align-items:center;justify-content:center;pointer-events:none;
  background:#fff;border:1px solid #16181c;border-radius:7px;opacity:.9;
  grid-column:1;grid-row:1;
}
@media (min-width:981px){
  #pl.cad.sk-fs-dock:not(.sk-fs-on) .pl-body{
    grid-template-columns:minmax(180px,1fr) 8px minmax(160px,min(var(--cad-rw,280px),42vw))!important;
    grid-template-rows:minmax(0,1fr)!important;
    gap:0!important;
  }
  #pl.cad.sk-fs-dock:not(.sk-fs-on) .cad-split-r{display:block;grid-column:2;grid-row:1}
  #pl.cad.sk-fs-dock:not(.sk-fs-on) .pl-stage{grid-column:1!important;grid-row:1!important}
  #pl.cad.sk-fs-dock:not(.sk-fs-on).cad-r-on .cad-r{
    display:flex!important;grid-column:3!important;grid-row:1!important;
    height:100%!important;max-height:none!important;
  }
  #pl.cad.sk-fs-dock:not(.sk-fs-on):not(.cad-r-on) .pl-body{grid-template-columns:minmax(0,1fr)!important}
  #pl.cad.sk-fs-dock:not(.sk-fs-on):not(.cad-r-on) .cad-split-r{display:none!important}
  #pl.cad.sk-fs-dock:not(.sk-fs-on):not(.cad-r-on) .cad-r{display:none!important}
}
@media (max-width:980px){
  #pl.cad.sk-fs-dock:not(.sk-fs-on) .pl-body{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:minmax(160px,1fr) minmax(120px,35%)!important;
    gap:6px!important;
  }
  #pl.cad.sk-fs-dock:not(.sk-fs-on) .cad-split-r{display:none!important}
  #pl.cad.sk-fs-dock:not(.sk-fs-on) .pl-stage{grid-column:1!important;grid-row:1!important;min-height:160px}
  #pl.cad.sk-fs-dock:not(.sk-fs-on).cad-r-on .cad-r{
    display:flex!important;grid-column:1!important;grid-row:2!important;
    height:100%!important;max-height:none!important;min-width:0;
  }
  #pl.cad.sk-fs-dock:not(.sk-fs-on):not(.cad-r-on) .cad-r{display:none!important}
}
/* Блоки у краёв: имя группы видно, значки внутри. Пустой край не занимает место. */
#pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-edge-l,
#pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-edge-r,
#pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-edge-l,
#pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-edge-r{
  display:flex;flex-direction:row;align-items:stretch;align-self:stretch;gap:8px;
  grid-row:5;max-width:40vw;max-height:100%;overflow:auto;box-sizing:border-box;
  background:#fff;z-index:6;position:relative;
}
#pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-edge-l.is-sized,
#pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-edge-r.is-sized,
#pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-edge-l.is-sized,
#pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-edge-r.is-sized{min-width:160px;max-width:40vw}
#pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-edge-l,
#pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-edge-l{grid-column:1;border-right:1px solid #e3e6ea}
#pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-edge-r,
#pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-edge-r{grid-column:3;border-left:1px solid #e3e6ea}
#pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-edge-b,
#pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-edge-b{
  display:flex;flex-direction:column;align-items:stretch;gap:8px;
  grid-column:1 / -1;grid-row:6;max-height:45vh;overflow:auto;box-sizing:border-box;
  background:#fff;border-top:1px solid #e3e6ea;z-index:6;position:relative;
}
#sk-fs-edge-t{display:flex;flex:1 1 180px;flex-direction:column;align-items:stretch;gap:8px;min-width:0;min-height:0;position:relative;box-sizing:border-box}
#pl.cad.sk-fs-dock #sk-fs-edge-t.is-sized,
#pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-edge-b.is-sized,
#pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-edge-b.is-sized{min-height:72px;max-height:45vh}
/* Полосы в обычном потоке. Следующая не садится в ту же точку: верх растёт вверх, низ вниз, лево влево, право вправо.
   8 px между блоками и между полосами. Имя и кнопки не вылезают из своего прямоугольника на соседа.
   Ручка размера стоит отдельно от полосы, не поверх следующего блока. */
#sk-fs-edge-l .sk-fs-edge-scroll,#sk-fs-edge-r .sk-fs-edge-scroll{
  display:flex;flex:1 1 auto;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;gap:8px;
  min-width:0;min-height:0;overflow:auto;
}
#sk-fs-edge-l .sk-fs-edge-scroll{flex-direction:row-reverse}
#sk-fs-edge-t .sk-fs-edge-scroll,#sk-fs-edge-b .sk-fs-edge-scroll{
  display:flex;flex:1 1 auto;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:8px;
  min-width:0;min-height:min-content;overflow:auto;max-height:calc(45vh - 12px);
}
#sk-fs-edge-t .sk-fs-edge-scroll{flex-direction:column-reverse}
#sk-fs-edge-t.is-sized .sk-fs-edge-scroll,#sk-fs-edge-b.is-sized .sk-fs-edge-scroll{max-height:none}
.sk-fs-edge-lane{
  display:flex;flex:0 0 auto;gap:8px;min-width:min-content;min-height:min-content;position:relative;box-sizing:border-box;overflow:hidden;
}
#sk-fs-edge-t .sk-fs-edge-lane,#sk-fs-edge-b .sk-fs-edge-lane{flex-direction:row;flex-wrap:nowrap;align-items:flex-start;max-width:none}
#sk-fs-edge-l .sk-fs-edge-lane,#sk-fs-edge-r .sk-fs-edge-lane{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;max-height:none}
#sk-fs-edge-r>.sk-fs-edge-grip,#sk-fs-edge-b>.sk-fs-edge-grip{order:-1}
.sk-fs-edge-grip{
  position:relative;flex:0 0 10px;align-self:stretch;box-sizing:border-box;
  touch-action:none;z-index:4;background:transparent;
}
#sk-fs-edge-l>.sk-fs-edge-grip,#sk-fs-edge-r>.sk-fs-edge-grip{cursor:ew-resize;min-width:10px}
#sk-fs-edge-t>.sk-fs-edge-grip,#sk-fs-edge-b>.sk-fs-edge-grip{cursor:ns-resize;min-height:10px;flex-basis:10px}
.sk-fs-edge-grip::after{
  content:"";position:absolute;background:#c5ccd4;border-radius:2px;pointer-events:none;
}
#sk-fs-edge-l>.sk-fs-edge-grip::after,#sk-fs-edge-r>.sk-fs-edge-grip::after{top:8px;bottom:8px;left:4px;width:2px}
#sk-fs-edge-t>.sk-fs-edge-grip::after,#sk-fs-edge-b>.sk-fs-edge-grip::after{left:8px;right:8px;top:4px;height:2px}
.sk-fs-edge-grip:hover::after{background:#0f7b3d}
.sk-fs-edge.is-empty{display:none!important}
.sk-fs-edge.is-empty.is-drop{display:flex!important;min-width:48px;min-height:36px;background:#f3faf6}
.sk-fs-block{
  display:flex;position:relative;flex:0 0 auto;flex-direction:row;align-items:center;gap:8px;
  box-sizing:border-box;width:max-content;max-width:none;overflow:hidden;
  border:1px solid #e3e6ea;border-radius:8px;background:#fff;padding:2px;
}
.sk-fs-block .sk-fs-block-name{
  flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;
}
#sk-fs-edge-l .sk-fs-block,#sk-fs-edge-r .sk-fs-block{flex-direction:column;align-items:stretch}
.sk-fs-block.is-shut .sk-fs-dock-row,.sk-fs-block.is-shut .sk-fs-dock-panels{display:none!important}
.sk-fs-block.is-before{box-shadow:inset 3px 0 0 #0f7b3d}
.sk-fs-block .sk-fs-dock-row{max-width:none;overflow:hidden}
#sk-fs-edge-l .sk-fs-dock-row,#sk-fs-edge-r .sk-fs-dock-row{flex-direction:column;height:auto;max-height:46vh;width:auto;overflow:auto}
#pl.sk-fs-dock-fold #sk-fs-edge-t,
#pl.sk-fs-dock-fold #sk-fs-edge-l,
#pl.sk-fs-dock-fold #sk-fs-edge-r,
#pl.sk-fs-dock-fold #sk-fs-edge-b{display:none!important}
/* Телефон: каждый край — свой ряд на всю ширину, чертёж строкой ниже и не перекрыт.
   Чёрная подсказка 3D и список рентгена не включаются. */
@media (max-width:760px){
  .sk-fs-dock-tab,.sk-fs-block-name{font-size:14px;min-height:36px;height:auto;padding:6px 10px}
  .sk-fs-dock-cap{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .sk-fs-dock-btn{width:36px;max-width:36px;padding:0;justify-content:center}
  .sk-fs-dock-chk{font-size:14px;min-height:32px}
  .sk-fs-dock-chk input{width:18px;height:18px}
  #pl.cad.sk-fs-on.sk-fs-dock,
  #pl.cad.sk-fs-dock:not(.sk-fs-on){
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto auto auto minmax(0,1fr) auto auto auto!important;
  }
  #pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-dock,
  #pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-dock{grid-column:1;grid-row:4;position:relative;max-height:28vh}
  #pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-edge-l,
  #pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-edge-l,
  #pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-edge-r,
  #pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-edge-r{
    grid-column:1!important;max-width:none;flex-direction:row;flex-wrap:nowrap;max-height:28vh;position:relative;
  }
  #sk-fs-edge-l .sk-fs-edge-scroll,#sk-fs-edge-r .sk-fs-edge-scroll{flex-direction:column;flex-wrap:nowrap;max-height:28vh}
  #sk-fs-edge-l .sk-fs-edge-lane,#sk-fs-edge-r .sk-fs-edge-lane{flex-direction:row;flex-wrap:nowrap;max-height:none;max-width:none}
  .sk-fs-edge-grip{position:relative;flex:0 0 10px}
  #pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-edge-l,
  #pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-edge-l{grid-row:5}
  #pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-edge-r,
  #pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-edge-r{grid-row:6}
  #pl.cad.sk-fs-on.sk-fs-dock>.pl-body,
  #pl.cad.sk-fs-dock:not(.sk-fs-on)>.pl-body{grid-column:1!important;grid-row:7!important}
  #pl.cad.sk-fs-on.sk-fs-dock>#sk-fs-edge-b,
  #pl.cad.sk-fs-dock:not(.sk-fs-on)>#sk-fs-edge-b{grid-column:1;grid-row:8;max-height:28vh;position:relative}
  #pl.cad.sk-fs-on.sk-fs-dock>.pl-warn,
  #pl.cad.sk-fs-dock:not(.sk-fs-on)>.pl-warn{grid-row:9}
  #pl.cad.sk-fs-on.sk-fs-dock>.cad-dockb,
  #pl.cad.sk-fs-dock:not(.sk-fs-on)>.cad-dockb{grid-row:10}
}
