/* Монтажная таблица портала — вид один в один с виджетом Битрикса.
   Стили перенесены из widget.html и ограничены областью .mont, чтобы не влиять
   на остальной портал. Переменные виджета отображены на палитру портала:
   тема одна, а вёрстка таблицы — виджетная (11px, плотные строки, sticky-колонки). */
.mont {
  --color-background-primary: var(--panel);
  --color-background-secondary: var(--panel-2);
  --color-text-primary: var(--text);
  --color-text-secondary: var(--muted);
  --color-text-tertiary: #94a3b8;
  --color-border-tertiary: var(--border);
  --color-border-secondary: #cbd5e1;
  --border-radius-sm: 6px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;
  font-size: 11px;
  color: var(--color-text-primary);
}
.mont .delbtn { background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);font-size:13px;padding:2px 3px;border-radius:3px }
.mont .delbtn:hover { color:#A32D2D;background:rgba(163,45,45,.08) }
.mont .prod-link { cursor:pointer;border-radius:3px;padding:1px 3px;margin:0 -3px;transition:background .12s,color .12s }
.mont .prod-link:hover { color:#534AB7;background:rgba(83,74,183,.1);text-decoration:none }
.mont .abtn { display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:5px 10px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);cursor:pointer;background:var(--color-background-primary);color:var(--color-text-secondary) }
.mont .abtn:hover { background:var(--color-background-secondary) }
.mont .abtn:disabled { opacity:.5;cursor:default }
.mont .cbtn { background:none;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);padding:5px 10px;cursor:pointer;font-size:11px;color:var(--color-text-secondary) }
.mont .cbtn:hover { color:#A32D2D;border-color:rgba(163,45,45,.5) }
.mont .sempty { padding:12px;text-align:center;font-size:11px;color:var(--color-text-tertiary) }
.mont .mhdr { display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #0F6E56 }
.mont .mtit { font-size:13px;font-weight:500;color:#0F6E56 }
.mont .mbdg { font-size:11px;background:rgba(15,110,86,.1);color:#0F6E56;border-radius:var(--border-radius-md);padding:3px 10px;margin-left:auto }
.mont .mtype-row { display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;background:var(--color-background-secondary);border-radius:var(--border-radius-md);border:.5px solid var(--color-border-tertiary);flex-wrap:wrap }
.mont .mtlbl { font-size:11px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap }
.mont .tbtns { display:flex;gap:6px;flex-wrap:wrap }
.mont .tbtn { display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-md);cursor:pointer;background:var(--color-background-primary);user-select:none;min-width:80px }
.mont .tbtn:hover:not(.tdis) { border-color:#0F6E56;background:rgba(15,110,86,.04) }
.mont .tbtn.tsel { border-color:#0F6E56;background:rgba(15,110,86,.08) }
.mont .tbtn.tdis { opacity:.4;cursor:not-allowed }
.mont .tbc { font-size:13px;font-weight:500;color:var(--color-text-primary) }
.mont .tbtn.tsel .tbc, .mont .tbtn.tsel .tbn { color:#0F6E56 }
.mont .tbn { font-size:9px;color:var(--color-text-secondary);text-align:center }
.mont .tinfo { flex:1;font-size:10px;color:var(--color-text-secondary);padding:6px 10px;background:rgba(15,110,86,.06);border-radius:var(--border-radius-md);border-left:2px solid #0F6E56;line-height:1.5;min-width:120px }
.mont .trst { background:none;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);padding:4px 8px;cursor:pointer;font-size:10px;color:var(--color-text-tertiary);white-space:nowrap;display:none }
.mont .trst:hover { color:#A32D2D }
.mont .stag { display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:500;padding:3px 8px;border-radius:var(--border-radius-md);margin-bottom:10px }
.mont .stag.km { background:rgba(83,74,183,.1);color:#534AB7;border:.5px solid rgba(83,74,183,.3) }
.mont .stag.chm { background:rgba(186,117,23,.1);color:#8a5b0c;border:.5px solid rgba(186,117,23,.3) }
.mont .stag.fm { background:rgba(15,110,86,.1);color:#0F6E56;border:.5px solid rgba(15,110,86,.3) }
.mont .rb { margin-bottom:10px;border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);overflow:visible }
.mont .rhdr { display:flex;align-items:center;gap:8px;padding:7px 10px;background:rgba(15,110,86,.05);border-bottom:.5px solid var(--color-border-tertiary) }
.mont .rni { flex:1;border:none;background:transparent;font-size:12px;font-weight:500;color:var(--color-text-primary);outline:none;min-width:0 }
.mont .rni::placeholder { color:var(--color-text-tertiary);font-weight:400 }
.mont .rsum { font-size:11px;color:#0F6E56;font-weight:500;white-space:nowrap;margin-left:8px }
.mont .rdisc { display:inline-flex;align-items:center;gap:4px;white-space:nowrap;margin-left:auto }
.mont .rdi { width:64px;border:1px solid var(--color-border-tertiary,#e2e4ee);background:transparent;border-radius:5px;font-size:10px;padding:2px 5px;color:var(--color-text-primary);outline:none;text-align:right }
.mont .rdi:focus { border-color:#0F6E56 }
.mont .rdel { background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);font-size:13px;padding:2px 4px;border-radius:3px }
.mont .rdel:hover { color:#A32D2D }
.mont .mto { overflow-x:auto }
.mont .mt2 { border-collapse:collapse;font-size:11px;white-space:nowrap;table-layout:fixed;width:max-content;min-width:100% }
.mont .mt2 thead th { position:sticky;top:0;z-index:10;background:var(--color-background-secondary);overflow:hidden;user-select:none }
.mont .mt2 thead th.msn { position:sticky;left:0;top:0;z-index:30;background:var(--color-background-secondary) }
.mont .mt2 thead th.msc { position:sticky;left:32px;top:0;z-index:30;background:var(--color-background-secondary);border-right:2px solid var(--color-border-secondary) }
.mont .mt2 tbody td.msn { position:sticky;left:0;z-index:5;background:var(--color-background-primary) }
.mont .mt2 tbody td.msc { position:sticky;left:32px;z-index:5;background:var(--color-background-primary);border-right:2px solid var(--color-border-secondary) }
.mont .mt2 tr:hover td.msn, .mont .mt2 tr:hover td.msc { background:var(--color-background-secondary) }
.mont .mt2 th { padding:5px 7px;text-align:left;font-weight:500;font-size:10px;color:var(--color-text-secondary);border-bottom:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);white-space:nowrap;overflow:hidden;position:relative }
.mont .mt2 th .cr { position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent;z-index:2 }
.mont .mt2 th .cr:hover, .mont .mt2 th .cr.drag { background:#0F6E56;opacity:.6 }
.mont .mt2 th.r { text-align:right }
.mont .mt2 td { padding:5px 7px;border-bottom:.5px solid var(--color-border-tertiary);vertical-align:middle;overflow:hidden }
.mont .mt2 tr:last-child td { border-bottom:none }
.mont .mt2 tr:hover td { background:var(--color-background-secondary) }
.mont .mnc { white-space:normal;word-break:break-word;font-size:11px;line-height:1.4 }
.mont .mef { border:.5px solid var(--color-border-tertiary);border-radius:3px;padding:3px 5px;font-size:11px;background:var(--color-background-primary);color:var(--color-text-primary);display:block;width:100% }
.mont .mef:focus { outline:none;border-color:#0F6E56;box-shadow:0 0 0 2px rgba(15,110,86,.12) }
.mont .msr { padding:6px 10px;background:rgba(15,110,86,.04);border-top:.5px dashed rgba(15,110,86,.3);display:none }
.mont .msr.open { display:block }
.mont .msrw { display:flex;align-items:center;gap:8px }
.mont .msiw { position:relative;flex:1 }
.mont .msi { width:100%;border:1px solid #0F6E56;border-radius:4px;padding:5px 28px 5px 8px;font-size:11px;background:var(--color-background-primary);color:var(--color-text-primary);box-shadow:0 0 0 2px rgba(15,110,86,.1) }
.mont .msi:focus { outline:none }
.mont .msdd { position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-background-primary);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);z-index:500;max-height:400px;overflow-y:auto;box-shadow:0 6px 20px rgba(0,0,0,.12);display:none }
.mont .msdd.open { display:block }
.mont .msri { padding:8px 12px;cursor:pointer;border-bottom:.5px solid var(--color-border-tertiary) }
.mont .msri:last-child { border-bottom:none }
.mont .msri:hover, .mont .msri.act { background:rgba(15,110,86,.07) }
.mont .msrn { font-size:11px;line-height:1.4;white-space:normal;word-break:break-word }
.mont .msrn mark { background:rgba(15,110,86,.15);color:#0F6E56;border-radius:2px;font-style:normal;padding:0 1px }
.mont /* Подсказки названий помещения (свой компактный список под полем) */ .rniw { position:relative;flex:1;min-width:0;display:flex }
.mont .rndd { position:absolute;top:calc(100% + 5px);left:0;width:240px;max-width:78vw;background:var(--color-background-primary);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);z-index:600;max-height:174px;overflow-y:auto;box-shadow:0 6px 20px rgba(0,0,0,.14);display:none }
.mont .rndd.open { display:block }
.mont .rnri { padding:7px 12px;cursor:pointer;font-size:12px;border-bottom:.5px solid var(--color-border-tertiary);white-space:nowrap }
.mont .rnri:last-child { border-bottom:none }
.mont .rnri:hover, .mont .rnri.act { background:rgba(15,110,86,.07) }
.mont .msrm { font-size:10px;color:var(--color-text-secondary);margin-top:3px;display:flex;gap:10px;align-items:center }
.mont .rb-bot { padding:7px 10px;display:flex;gap:8px;border-top:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary) }
.mont .arb { display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:5px 12px;border:.5px dashed #0F6E56;border-radius:var(--border-radius-md);cursor:pointer;background:rgba(15,110,86,.04);color:#0F6E56;margin-top:8px }
.mont .arb:hover { background:rgba(15,110,86,.1) }
.mont .stots { display:flex;flex-wrap:wrap;gap:6px;margin-top:10px }
.mont .stc { flex:1;min-width:80px;background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:5px 10px }
.mont .stl { font-size:9px;color:var(--color-text-secondary);margin-bottom:1px }
.mont .stv { font-size:12px;font-weight:500 }
.mont .sumwrap { background:var(--color-background-secondary);border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);overflow:hidden;margin-top:20px }
.mont .sum-sec-hdr { display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:2px solid var(--color-border-secondary);background:var(--color-background-primary) }
.mont .sum-sec-title { font-size:13px;font-weight:500;color:var(--color-text-primary) }
.mont .sumtbl-hdr { display:grid;grid-template-columns:1fr 150px 180px 165px;background:var(--color-background-secondary);border-bottom:1px solid var(--color-border-secondary) }
.mont .shc { padding:8px 12px;font-size:10px;font-weight:500;color:var(--color-text-secondary);text-align:right;border-left:.5px solid var(--color-border-tertiary) }
.mont .shc:first-child { text-align:left;border-left:none }
.mont .pill { display:inline-flex;align-items:center;gap:3px;font-size:9px;padding:2px 6px;border-radius:10px;font-weight:500 }
.mont .pill-acq { background:#E6F1FB;color:#185FA5 }
.mont .pill-cash { background:#EAF3DE;color:#3B6D11 }
.mont .sumrow { display:grid;grid-template-columns:1fr 150px 180px 165px;border-bottom:.5px solid var(--color-border-tertiary);align-items:stretch }
.mont .sumrow:last-child { border-bottom:none }
.mont .sumrow.trow { background:var(--color-background-primary) }
.mont .slbl { padding:10px 12px;font-size:11px;color:var(--color-text-primary);display:flex;align-items:center;gap:6px }
.mont .dot { width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block }
.mont .sub { font-size:10px;color:var(--color-text-secondary) }
.mont .scell { padding:10px 12px;text-align:right;font-size:11px;border-left:.5px solid var(--color-border-tertiary);display:flex;align-items:center;justify-content:flex-end;font-variant-numeric:tabular-nums }
.mont .scell.base { color:var(--color-text-primary) }
.mont .scell.acq { color:#185FA5 }
.mont .scell.cash { color:#3B6D11 }
.mont .sumrow.trow .scell { font-weight:500;font-size:12px }
.mont .sumrow.trow .slbl { font-weight:500;font-size:12px }
.mont .dgh { cursor:grab;color:var(--color-text-secondary);opacity:.5;font-size:11px;padding:0 4px 0 0;user-select:none;display:inline-block }
.mont .dgh:hover { opacity:1;color:#0F6E56 }
.mont .dgh:active { cursor:grabbing }
.mont tr.dragging, .mont .rb.dragging { opacity:.45 }
.mont tr.dz-before td { box-shadow:inset 0 2px 0 0 #0F6E56 }
.mont tr.dz-after td { box-shadow:inset 0 -2px 0 0 #0F6E56 }
.mont .rb.dz-before { box-shadow:0 -3px 0 0 #0F6E56 }
.mont .rb.dz-after { box-shadow:0 3px 0 0 #0F6E56 }
.mont .rb.dz-in { outline:2px dashed #0F6E56;outline-offset:2px }

/* Метки заполненности этапов — из виджета: точка в углу и приглушённая рамка */
.mont .tbtn { position: relative; }
.mont .tbtn.tfilled { border-color: rgba(15,110,86,.40); }
.mont .tbtn.tfilled::after {
  content: ''; position: absolute; top: 7px; right: 7px;
  width: 5px; height: 5px; border-radius: 50%; background: #0F6E56; opacity: .65;
}

/* Иконки: в виджете это шрифт Tabler с CDN, здесь — инлайновый SVG того же начертания */
.mont .mic { width: 13px; height: 13px; flex-shrink: 0; vertical-align: -2px; }
.mont .stag .mic, .mont .msrm .mic { width: 11px; height: 11px; }
.mont .mhdr .mic { color: #0F6E56; width: 15px; height: 15px; }
.mont .rhdr .mic { color: #0F6E56; }
.mont .rdel .mic, .mont .delbtn .mic { width: 14px; height: 14px; }
.mont .pill .mic { width: 10px; height: 10px; }

/* Крестик очистки поиска услуг */
.mont .msclr {
  position: absolute; right: 7px; top: 50%; transform: translateY(-50%);
  background: none; border: none; cursor: pointer; color: var(--color-text-tertiary); display: none;
}
.mont .msclr.show { display: block; }

/* Пометка «у услуги есть материалы»: их набирает виджет, портал переносит как есть */
.mont .matb {
  display: inline-block; margin-left: 6px; padding: 0 5px; border-radius: 999px;
  background: rgba(83,74,183,.1); color: #534AB7; font-size: 9px; white-space: nowrap;
}

/* Шапка экрана — портальная, поэтому её подписи не подчиняются виджетным 10px */
.mont .dsub { font-size: 12px; color: var(--muted); }
.mont .page-head h2 { font-size: 20px; }
.mont .mt-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.mont .mt-dirty { color: var(--danger); font-weight: 600; }
.mont .mt-saved { color: var(--ok); font-weight: 600; }

/* Кнопки шапки — портальные, их размер виджетные 11px не задают */
.mont .page-head button, .mont .page-head .btn-ghost { font-size: 13px; }

/* Телефон: таблица остаётся таблицей и прокручивается вбок (как в виджете).
   Но «№» и «Наименование» приклеенными оставить нельзя: вдвоём они занимают 252 px
   из ~360 px экрана, и справа от них не помещаются ни цена, ни сумма — прокрутка вроде
   работает, а смотреть в ней нечего. Поэтому на узком экране колонки отлипают,
   а название сужается: цены и суммы становятся видны сразу за ним. */
@media (max-width: 860px) {
  .mont .mto { -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
  .mont .mt2 thead th.msn, .mont .mt2 tbody td.msn,
  .mont .mt2 thead th.msc, .mont .mt2 tbody td.msc { position: static; }
  .mont .mt2 th.msc, .mont .mt2 td.msc { width: 150px !important; left: auto !important; }
  .mont .mt2 th.msn, .mont .mt2 td.msn { width: 26px !important; }
  .mont .mnc { font-size: 10.5px; line-height: 1.35; }
  .mont .mtype-row { gap: 8px; }
  .mont .tinfo { order: 10; flex: 1 0 100%; }
  .mont .mt-actions { width: 100%; }
  .mont .mt-actions .btn-ghost, .mont .mt-actions button { flex: 1; }
  .mont .sumtbl-hdr, .mont .sumrow { grid-template-columns: 1fr 92px 104px 96px; }
  .mont .shc, .mont .scell, .mont .slbl { padding: 8px 6px; }
  .mont .gcard { min-width: 100%; }
}

/* Карточки итогов — из виджета (были в соседнем блоке, потому и не попали в перенос) */
.mont .gcards { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px; background: var(--color-background-primary); border-top: .5px solid var(--color-border-tertiary); }
.mont .gcard { flex: 1; min-width: 120px; padding: 10px 14px; border-radius: var(--border-radius-md); border: .5px solid var(--color-border-tertiary); }
.mont .gcard .gl { font-size: 10px; color: var(--color-text-secondary); margin-bottom: 4px; display: flex; align-items: center; gap: 5px; }
.mont .gcard .gv { font-size: 16px; font-weight: 500; }
.mont .gcard.gbase { background: var(--color-background-secondary); }
.mont .gcard.gacq { background: #E6F1FB; border-color: #B5D4F4; }
.mont .gcard.gacq .gl, .mont .gcard.gacq .gv { color: #185FA5; }
.mont .gcard.gcash { background: #EAF3DE; border-color: #C0DD97; }
.mont .gcard.gcash .gl, .mont .gcard.gcash .gv { color: #3B6D11; }

/* Портал печатает заголовки таблиц капсом, виджет — обычным регистром.
   Внутри монтажа держим виджетный вид. */
.mont .mt2 th { text-transform: none; letter-spacing: 0; font-size: 10px; font-weight: 500; }

/* Телефон: итоговая таблица не помещается в 4 колонки — сжимаем и уменьшаем шрифт,
   а шапку помещения переносим построчно, чтобы название не сдавливали поля скидок. */
@media (max-width: 560px) {
  .mont .sumtbl-hdr, .mont .sumrow { grid-template-columns: 1fr 72px 84px 78px; font-size: 10px; }
  .mont .shc, .mont .scell, .mont .slbl { padding: 7px 5px; font-size: 10px; }
  .mont .sumrow.trow .scell, .mont .sumrow.trow .slbl { font-size: 11px; }
  .mont .pill { font-size: 8px; padding: 2px 4px; }
  .mont .rhdr { flex-wrap: wrap; }
  .mont .rniw { flex: 1 0 100%; order: -1; }
  .mont .rdisc { margin-left: 0; }
}


/* Настройки таблицы, подборки и материалы — те же стили, что в виджете */
.mont .ce-tgl { position:relative;display:inline-flex;width:28px;height:15px;cursor:pointer;flex-shrink:0 }
.mont .ce-tgl input { opacity:0;width:0;height:0;position:absolute;margin:0 }
.mont .ce-tgl .ce-tgl-tr { position:absolute;inset:0;border-radius:8px;background:var(--color-border-secondary);transition:.18s }
.mont .ce-tgl .ce-tgl-tr:before { content:'';position:absolute;width:11px;height:11px;left:2px;top:2px;border-radius:50%;background:#fff;transition:.18s }
.mont .ce-tgl input:checked + .ce-tgl-tr { background:#0F6E56 }
.mont .ce-tgl input:checked + .ce-tgl-tr:before { transform:translateX(13px) }
.mont .setw { position:relative;display:inline-flex }
.mont .setbtn { display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-secondary);background:var(--color-background-primary);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);padding:4px 10px;cursor:pointer;white-space:nowrap }
.mont .setbtn:hover { background:var(--color-background-secondary);color:var(--color-text-primary) }
.mont .setbtn i { font-size:13px;color:#534AB7 }
.mont .setbtn.act { border-color:#534AB7;color:var(--color-text-primary) }
.mont .setbtn .setdot { width:5px;height:5px;border-radius:50%;background:#534AB7;display:none }
.mont .setbtn.hasmat .setdot { display:inline-block }
.mont .set-pop { position:absolute;top:calc(100% + 6px);left:0;z-index:2200;width:300px;max-width:80vw;background:var(--color-background-primary);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-lg,12px);box-shadow:0 10px 30px rgba(0,0,0,.28);padding:6px;display:none }
.mont .set-pop.open { display:block }
.mont .set-hd { font-size:9.5px;color:var(--color-text-tertiary);padding:6px 8px 4px;line-height:1.35 }
.mont .set-row { display:flex;align-items:flex-start;gap:8px;padding:7px 8px;border-radius:8px;cursor:pointer }
.mont .set-row:hover { background:var(--color-background-secondary) }
.mont .set-ic { font-size:14px;line-height:1.2;flex:none;margin-top:1px;color:#534AB7 }
.mont .set-tx { flex:1;min-width:0 }
.mont .set-t { display:block;font-size:12px;color:var(--color-text-primary) }
.mont .set-d { display:block;font-size:10px;color:var(--color-text-tertiary);margin-top:1px;line-height:1.35;white-space:normal }
.mont .set-row .reco-tgl, .mont .set-row .ce-tgl { margin-top:2px }
.mont .mt2 tr.matr td { background:rgba(83,74,183,.05);font-size:10.5px;color:var(--color-text-secondary);padding-top:3px;padding-bottom:3px }
.mont .mt2 tbody tr.matr td.msn, .mont .mt2 tbody tr.matr td.msc { background:linear-gradient(rgba(83,74,183,.05),rgba(83,74,183,.05)),var(--color-background-primary) }
.mont .mt2 tr.matr:hover td { background:rgba(83,74,183,.1) }
.mont .mt2 tbody tr.matr:hover td.msn, .mont .mt2 tbody tr.matr:hover td.msc { background:linear-gradient(rgba(83,74,183,.1),rgba(83,74,183,.1)),var(--color-background-primary) }
.mont .mt2 tr.matr .matn { display:flex;align-items:center;gap:4px;min-width:0;font-style:italic;overflow:hidden;text-overflow:ellipsis }
.mont .mt2 tr.matr .matar { color:#534AB7;font-style:normal;flex:none }
.mont .mt2 tr.matr .matv { font-size:10px }
.mont .mt2 tr.matr .matq { width:100%;padding:2px 5px;font-size:10.5px;text-align:center }
.mont .mt2 tr.matr.matadd td { background:transparent;border-bottom:none;padding-top:2px;padding-bottom:6px }
.mont .mt2 tr.matr .matmiss { color:#C77700 }
.mont .bundle-btn { display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:11px;color:#534AB7;background:var(--color-background-primary);border:.5px solid #534AB7;border-radius:14px;cursor:pointer;white-space:nowrap;flex:none }
.mont .bundle-btn:hover { background:rgba(83,74,183,.1) }
.mont .bundle-btn i { font-size:13px }
.mont .bundle-bar { margin:12px 0 2px;display:flex }
/* Служебные колонки «режима сотрудника»: показываем их только когда режим включён */
.mont .mce { display: none; }
.mont.emp-on .mce { display: table-cell; }
.mont.emp-on .stc.mce { display: block; }
.mont .c-cost { color: #534AB7; }
.mont .c-inst .stv { color: #C77700; }
.mont .mef.price-low { border-color: rgba(163,45,45,.6); background: rgba(163,45,45,.06); }

/* Проценты вознаграждений в меню настроек (видит админ) */
.mont .set-econ-row { display: flex; gap: 8px; padding: 4px 8px 8px; }
.mont .set-econ-row label { flex: 1; font-size: 10px; color: var(--color-text-secondary); display: flex; flex-direction: column; gap: 3px; }

/* Окно подборок */
.mont .bundle-list { max-height: 46vh; overflow-y: auto; margin-bottom: 12px; }
.mont .bundle-row { display: flex; align-items: center; gap: 10px; padding: 8px 4px; border-bottom: .5px solid var(--color-border-tertiary); }
.mont .bundle-row:last-child { border-bottom: none; }
.mont .bundle-info { flex: 1; min-width: 0; }
.mont .bundle-name { font-size: 12px; font-weight: 500; }
.mont .bundle-new { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; border-top: .5px solid var(--color-border-tertiary); padding-top: 12px; }
.mont .bundle-new input { flex: 1; min-width: 200px; }
/* НС-код рядом с артикулом в подсказках поиска */
.mont .msrcode { margin-left: 8px; padding: 0 5px; border-radius: 4px; background: var(--color-background-secondary); color: var(--color-text-secondary); }

/* ── Вкладки экрана сделки и список КП ─────────────────────────────────────
   Монтаж и КП — про одну сделку, поэтому переключаются вкладками, а не
   отдельными адресами: КП собирается из того, что сейчас в таблице монтажа. */
.mont .dtabs { display:flex;gap:6px;margin:14px 0 4px;border-bottom:1px solid var(--color-border-tertiary) }
.mont .dtab { background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;font-size:12px;cursor:pointer;color:var(--color-text-secondary);border-radius:0 }
.mont .dtab:hover { color:#0F6E56 }
.mont .dtab-on { color:#0F6E56;font-weight:500;border-bottom-color:#0F6E56 }
.mont .kp-panel { padding-top:12px }

.mont .kp-head { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px }
.mont .kp-head button { font-size:12px;padding:7px 14px }
.mont .kp-msg { font-size:11px;min-height:16px;margin-bottom:6px;color:var(--color-text-secondary) }
.mont .kp-msg.ok { color:#0F6E56 }
.mont .kp-msg.err { color:#A32D2D }
.mont .kp-empty { padding:20px;text-align:center;font-size:12px;color:var(--color-text-tertiary);border:1px dashed var(--color-border-secondary);border-radius:var(--border-radius-md) }

.mont .kp-item { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:10px 12px;border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);
  background:var(--color-background-primary);margin-bottom:8px }
.mont .kp-item.kp-final { border-color:#0F6E56;background:rgba(15,110,86,.05) }
.mont .kp-item-main { display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0 }
.mont .kp-item-side { display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-left:auto }
.mont .kp-num { font-size:12px;font-weight:500 }
.mont .kp-date, .mont .kp-type, .mont .kp-client { font-size:11px;color:var(--color-text-secondary) }
.mont .kp-sum { font-size:11px;font-weight:500;color:#0F6E56;background:rgba(15,110,86,.1);border-radius:var(--border-radius-sm);padding:2px 8px }
.mont .kp-badge { font-size:9px;color:#0F6E56;background:rgba(15,110,86,.1);padding:2px 6px;border-radius:3px }
.mont .kp-final-check { display:flex;align-items:center;gap:5px;font-size:11px;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap }
.mont .kp-btns { display:flex;gap:6px;flex-wrap:wrap }
.mont .kp-btns button { font-size:11px;padding:5px 10px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);
  background:var(--color-background-primary);color:var(--color-text-secondary);cursor:pointer }
.mont .kp-btns button:hover { background:var(--color-background-secondary);color:var(--color-text-primary) }
.mont .kp-btns .kp-del:hover { color:#A32D2D;border-color:rgba(163,45,45,.5) }

/* Форма «Сформировать КП» — модалка портала, поля в две колонки */
.kp-modal { max-width:560px }
.kp-form { display:grid;grid-template-columns:1fr 1fr;gap:10px 14px }
.kp-form label { display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted) }
.kp-form input { font-size:13px;padding:7px 9px;border:1px solid var(--border);border-radius:8px;color:var(--text) }
.kp-form .kp-form-wide { grid-column:1 / -1 }
.kp-form-info { margin-top:12px;font-size:12px;color:var(--muted) }

/* Индикатор сборки документа: рендер PDF идёт на сервере несколько секунд */
.kp-busy { position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:4000;display:flex;align-items:center;justify-content:center }
.kp-busy-box { background:var(--panel);border-radius:var(--radius);padding:22px 28px;min-width:240px;text-align:center;
  box-shadow:0 12px 40px rgba(15,23,42,.3);font-size:13px;color:var(--text) }
.kp-busy-sp { width:26px;height:26px;margin:0 auto 10px;border:3px solid var(--border);border-top-color:#0F6E56;border-radius:50%;animation:kpSpin .8s linear infinite }
@keyframes kpSpin { to { transform:rotate(360deg) } }

@media (max-width: 860px) {
  .mont .kp-item-side { margin-left:0;width:100% }
  .kp-form { grid-template-columns:1fr }
}
