/* ЮНИАЛГЛАСС · Лаборатория расчёта · v6 — стиль презентации presentation.unial.glass
   Глубокий тёмно-синий, сланец, бронза только на ключевых акцентах, тонкие линии, прямые углы.
   Шрифты системные (Jost из презентации — по лицензии OFL, требует согласования). */
:root{
 --deep:#161a27; --slate:#40465F; --bronze:#B9A08A; --bronze-hi:#D8C3AE; --paper:#F8F7F7;
 --txt:rgba(248,247,247,.92); --dim:rgba(248,247,247,.62); --mute:rgba(248,247,247,.42);
 --faint:rgba(248,247,247,.14); --faint-2:rgba(248,247,247,.24);
 --glass:rgba(34,40,58,.56); --glass-on:rgba(38,45,65,.76); --solid:#232a3c;
 --bg-base:#1e2334; --bar-bg:#1e2334; --top-bg:linear-gradient(180deg,rgba(30,35,52,.97),rgba(30,35,52,.88));
 --item-bg:rgba(30,35,52,.95); --veil:rgba(22,26,39,.55); --well:rgba(30,35,52,.5); --spacer-bg:rgba(64,70,95,.42);
 --ov1:linear-gradient(90deg,rgba(28,33,49,.86) 0%,rgba(28,33,49,.72) 45%,rgba(28,33,49,.6) 100%);
 --ov2:linear-gradient(180deg,rgba(28,33,49,.25),rgba(28,33,49,.78));
 --bg-sat:.6; --w-body:500; --w-key:400; --w-head:500; --arrow:%23F8F7F7;
 --sx-break:#262c3e; --sx-hole:#1a1e2b; --sx-in:#2a3040;
 /* цвета видов слоёв */
 --gold:#C9A35E; --navy:#F8F7F7; --navy-ink:#161a27;
 --k-glass:#9fc3d6; --k-frame:#c3c8cf; --k-gas:#7fa8d6; --k-film:#8e97a3; --k-eiw:#B9A08A;
 /* совместимость со старыми блоками */
 --ink:var(--paper); --muted:var(--dim); --line:var(--faint); --line-2:var(--faint-2); --line-strong:var(--faint-2);
 --accent:var(--bronze); --accent-dim:rgba(185,160,138,.16); --panel:var(--solid); --danger:#e0796e;
 --ease:cubic-bezier(.22,.61,.36,1);
 --font:"Avenir Next","Avenir","Futura","Century Gothic","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;
 --t-xs:10.5px; --t-sm:12px; --t-base:13px; --t-md:14px; --t-key:34px;
 color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-base);color:var(--txt);font:var(--w-body) var(--t-base)/1.5 var(--font);letter-spacing:.012em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
html.light body{-webkit-font-smoothing:auto}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
h1,h2,h3{margin:0;font-weight:var(--w-head)}
h2{font-size:var(--t-md)} h3{font-size:var(--t-base)}
p{margin:0}
b,strong{font-weight:500;color:var(--paper)}
.muted{color:var(--dim)}
.spacer{flex:1}
.skip{position:absolute;top:-60px;left:8px}.skip:focus{top:8px;z-index:200;background:var(--paper);color:var(--deep);padding:8px 12px}
::selection{background:var(--bronze);color:var(--deep)}

/* Фон — фото цеха (закалка), затемнённое как в презентации */
.bg{position:fixed;inset:0;z-index:-1;contain:strict;will-change:transform;background:
 var(--ov1),
 var(--ov2),
 url(./img/bg-zak-1920.webp) center 40%/cover no-repeat, url(./img/bg-zak-tiny.webp) center/cover;
 filter:saturate(var(--bg-sat));transform:translateZ(0)}
@media (max-width:960px){.bg{background:var(--ov2),var(--ov1),url(./img/bg-zak-960.webp) 60% 40%/cover no-repeat}}

/* Элементы управления */
button{cursor:pointer;border:1px solid var(--faint-2);background:transparent;border-radius:0;padding:6px 14px;min-height:32px;font-size:var(--t-sm);transition:border-color .2s var(--ease),background .2s,color .2s}
button:hover{border-color:var(--bronze-hi)}
button:disabled{opacity:.3;pointer-events:none}
:focus-visible{outline:1px solid var(--bronze-hi);outline-offset:2px}
.primary{background:var(--paper);color:var(--deep);border-color:var(--paper)}
.primary:hover{background:#fff;border-color:#fff}
.primary .arr{display:inline-block;margin-left:10px;transition:transform .3s var(--ease)}
.primary:hover .arr{transform:translateX(4px)}
.ghost{background:transparent}
.quiet{border-color:transparent;color:var(--dim)}
.quiet:hover{color:var(--paper);border-color:var(--faint-2)}
.danger{color:var(--danger)}
.chip-btn{min-height:28px;padding:3px 12px;font-size:var(--t-sm);color:var(--dim)}
.chip-btn.on{color:var(--deep);background:var(--paper);border-color:var(--paper)}
input,select,textarea{width:100%;min-height:30px;padding:4px 0;background:transparent;border:0;border-bottom:1px solid var(--faint-2);border-radius:0;font-size:var(--t-base);color:var(--txt);transition:border-color .2s}
input:hover,select:hover{border-bottom-color:var(--dim)}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--bronze-hi)}
textarea{border:1px solid var(--faint-2);padding:8px 10px;resize:vertical}
select{appearance:none;-webkit-appearance:none;padding-right:18px;text-overflow:ellipsis;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M.5 .5l4 4 4-4' fill='none' stroke='%238a8f9c'/%3E%3C/svg%3E") right 2px center/9px 6px no-repeat}
select option,select optgroup{background:var(--solid);color:var(--txt)}
select optgroup{color:var(--bronze-hi);font-style:normal}
input[type=checkbox]{appearance:none;-webkit-appearance:none;width:14px;min-width:14px;height:14px;min-height:14px;padding:0;border:1px solid var(--faint-2);background:transparent;position:relative;transition:background .15s,border-color .15s}
input[type=checkbox]:checked{background:var(--paper);border-color:var(--paper)}
input[type=checkbox]:checked::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--deep);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
label>span,.fld>span{display:block;font-size:var(--t-xs);letter-spacing:.06em;color:var(--mute);margin-bottom:2px}

/* Шапка */
.top{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:18px;height:60px;padding:0 clamp(16px,3vw,54px);background:var(--top-bg);border-bottom:1px solid var(--faint)}
.logo{display:flex;align-items:center;height:60px}
.uag-official-logo{display:inline-block;width:158px;height:16px;background-color:var(--paper);-webkit-mask:url(./img/logo.svg) no-repeat left center/contain;mask:url(./img/logo.svg) no-repeat left center/contain}
.modnav{display:flex;align-items:center;gap:6px;margin-left:auto;margin-right:12px}
.modnav button{border:0;padding:6px 4px;min-height:28px;color:var(--dim);font-size:var(--t-sm);letter-spacing:.14em;text-transform:uppercase}
.modnav button:hover{color:var(--paper)}
.modnav button.on{color:var(--paper);font-weight:500}
.dotsep{color:var(--mute)}
.top .spacer{display:none}
.icon-btn{width:32px;height:32px;padding:0;display:grid;place-items:center;font-size:15px;border-color:var(--faint)}
.role{width:auto;min-width:140px;border-bottom-color:transparent;font-size:var(--t-sm)}
.more{position:relative}
.more summary{list-style:none;cursor:pointer;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--faint);font-size:12px}
.more summary::-webkit-details-marker{display:none}
.more-pop{position:absolute;right:0;top:40px;display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--solid);border:1px solid var(--faint);min-width:170px;z-index:70}

/* Рабочее поле */
.workspace{max-width:1880px;margin:0 auto;padding:26px clamp(16px,3vw,54px) 96px;display:flex;flex-direction:column;gap:18px}


@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.eyebrow{display:flex;align-items:center;gap:12px;font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.eyebrow i{width:30px;height:1px;background:var(--bronze)}
.hint{font-size:var(--t-xs);color:var(--mute);line-height:1.5}

/* Формулы КП — в порядке создания */
.p1{display:flex;flex-direction:column;gap:14px}
.fstack{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--faint)}
.frow{display:flex;align-items:center;gap:18px;padding:12px 16px;background:var(--glass);border:1px solid var(--faint);border-top:0;cursor:pointer;transition:background .2s}
.frow:hover{background:var(--glass-on)}
.frow-n{font-size:var(--t-xs);color:var(--bronze);letter-spacing:.1em;font-variant-numeric:tabular-nums}
.frow code{font:var(--w-key) 18px/1 var(--font);letter-spacing:.01em;color:var(--paper)}
.frow-open{font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.frow-x{width:26px;height:26px;min-height:26px;padding:0;border-color:transparent;color:var(--mute)}

/* Сцена формулы */
.stage{display:grid;grid-template-columns:272px 168px minmax(0,1fr) 196px;gap:30px;align-items:stretch;padding:24px 28px;background:var(--glass);border:1px solid var(--faint);min-height:430px}
.stage-l{display:flex;flex-direction:column;gap:18px}
.typelist{display:flex;flex-direction:column;justify-content:center;gap:0}
.typelist .eyebrow{margin-bottom:12px}
.typelist .hint{margin-top:14px}
.typelist button:first-of-type{border-top:1px solid var(--faint)}
.typelist button{display:flex;align-items:center;gap:14px;border:0;border-bottom:1px solid var(--faint);padding:10px 2px;min-height:40px;font-size:var(--t-md);color:var(--dim);text-align:left;position:relative}
.typelist button em{font-style:normal;font-size:var(--t-xs);color:var(--mute);letter-spacing:.08em;width:16px}
.typelist button .tl-arr{margin-left:auto;opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .3s var(--ease);color:var(--bronze-hi)}
.typelist button::before{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--bronze);transition:width .45s var(--ease)}
.typelist button:hover,.typelist button.fan-open{color:var(--paper)}
.typelist button:hover .tl-arr,.typelist button.fan-open .tl-arr,.typelist button.on .tl-arr{opacity:1;transform:none}
.typelist button.on{color:var(--paper)}
.typelist button.on em{color:var(--bronze)}
.typelist button.on::before,.typelist button:hover::before{width:100%}

.stage-c{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:12px;min-width:0}
.formula-line{width:100%;display:flex;justify-content:flex-end;align-items:center;gap:14px}
.formula-input{display:none;width:100%;max-width:760px;text-align:right;border-bottom-color:var(--bronze-hi);font:var(--w-key) var(--t-key)/1.15 var(--font);letter-spacing:-.01em;color:var(--paper);padding:2px 0}
.formula-input:hover{border-bottom-color:var(--faint)}
.formula-line.editing .formula-view{display:none}
.formula-line.editing .formula-input{display:block}
.formula-view{border:0;padding:2px 0;min-height:0;background:none;text-align:right;font:var(--w-key) var(--t-key)/1.15 var(--font);letter-spacing:-.01em;color:var(--navy);cursor:text;border-bottom:1px solid transparent;border-radius:0}
.formula-view:hover{border-bottom-color:var(--faint-2)}
.formula-view .num,.fi-f .num,.meta .num{font-style:normal;color:var(--gold)}
.dirty{flex:none;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-hi);border:1px solid rgba(216,195,174,.4);padding:2px 8px}
.meta{display:flex;gap:22px;flex-wrap:wrap;justify-content:flex-end;font-size:var(--t-sm);color:var(--dim)}
.meta span{white-space:nowrap}

/* Разрез */
.xs{max-width:100%;overflow-x:auto;overflow-y:visible;padding:4px 0}
.sx{display:block;overflow:visible}
.sx-lbl{font:var(--w-body) 11px var(--font);fill:var(--gold);text-anchor:middle;letter-spacing:.02em}
.sx-surf{font:500 9.5px var(--font);fill:#7cc0ff}
.sx-gas{font:500 11px var(--font);fill:#9fc3e6;text-anchor:middle;letter-spacing:.1em}
.sx-vt{font:500 9px var(--font);fill:var(--bronze-hi);text-anchor:middle;dominant-baseline:middle;letter-spacing:.2em}
.sx-dim line{stroke:var(--faint-2);stroke-width:1}
.sx-dim text{font:500 10.5px var(--font);fill:var(--gold);text-anchor:middle;letter-spacing:.08em}
.sx-dimbg{fill:var(--sx-break)}
.sx-break{fill:var(--sx-break)}
.sx-el{cursor:default;outline:none}
.sx-el .hit{fill:transparent;stroke:transparent;stroke-width:1;transition:fill .2s,stroke .2s}
.sx-el:hover .hit,.sx-el:focus .hit,.sx-el.fan-open .hit{fill:rgba(248,247,247,.05);stroke:var(--bronze-hi);stroke-dasharray:3 3}

/* Гравировка */
.eng{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px;height:100%}
.eng-svg{width:100%;max-width:196px;height:auto;overflow:visible;align-self:center}
.eng-pane{fill:rgba(159,195,214,.06);stroke:var(--faint-2);stroke-width:1}
.eng-shine{stroke:var(--paper);stroke-opacity:.25;stroke-width:1}
.eng-pt{cursor:pointer}
.eng-pt .hit{fill:transparent}
.eng-pt .dot{pointer-events:none;fill:transparent;stroke:var(--dim);stroke-width:1}
.eng-pt:hover .dot{stroke:var(--bronze-hi)}
.eng-pt.on .dot{fill:var(--bronze);stroke:none}
.eng-pt.on .hit{fill:none;stroke:var(--bronze);stroke-opacity:.6;stroke-width:1}
.eng-cap{border:0;padding:0;min-height:0;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.eng-cap span{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.18em;color:var(--mute)}
.eng-cap b{font-weight:var(--w-head);font-size:var(--t-md)}
.eng-cap em{font-style:normal;font-size:var(--t-xs);color:var(--dim)}
.eng-cap:hover b{color:var(--bronze-hi)}

/* Слои — разделены цветом вида */
.layers{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(220px,calc((100% - 48px)/5),300px);justify-content:safe center;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 0 8px}
.slot-card{--kc:var(--k-glass);scroll-snap-align:start;min-width:0;display:flex;flex-direction:column;background:var(--glass);border:1px solid var(--faint);border-top:2px solid var(--kc);position:relative;transition:background .25s,border-color .25s}
.slot-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--kc) 12%,transparent),transparent 42%);pointer-events:none}
.slot-card:hover{background:var(--glass-on)}
.slot-card.k-glass{--kc:var(--k-glass)}
.slot-card.k-spacer{--kc:var(--k-frame);background:var(--spacer-bg)}
.slot-card.k-film{--kc:var(--k-film)}
.slot-card.k-eiw{--kc:var(--k-eiw)}
.slot-card.flash{border-color:var(--bronze-hi);border-top-color:var(--kc)}
.slot-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px 6px;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.16em;color:var(--kc);white-space:nowrap}
.slot-head::before{content:"";width:7px;height:7px;background:var(--kc);margin-right:8px;flex:none}
.slot-head>span:first-of-type{flex:1}
.slot-head .quiet{min-height:22px;width:22px;padding:0}
.slot-body{position:relative;display:flex;flex-direction:column;gap:12px;padding:8px 16px 14px;flex:1}
.field-row{display:flex;flex-direction:column;gap:4px}
.field-row>span{font-size:var(--t-xs);letter-spacing:.04em;color:var(--mute)}
.pill-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;border:1px solid var(--faint)}
.pill-btn{min-width:0;min-height:28px;padding:0;border:0;border-right:1px solid var(--faint);font-size:var(--t-sm);color:var(--dim);font-variant-numeric:tabular-nums}
.pill-btn:last-child{border-right:0}
.pill-btn:hover{color:var(--paper);background:rgba(248,247,247,.05)}
.pill-btn.on{background:var(--paper);color:var(--deep)}
.check-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.check-label{display:flex;align-items:center;gap:8px;font-size:var(--t-sm);color:var(--txt);margin:0;cursor:pointer}
.check-label input{flex:none}
.check-label span{margin:0;line-height:1.25;font-size:var(--t-sm);color:var(--txt);letter-spacing:0}
.chamber-gas-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;margin:0 -4px;border-left:2px solid var(--k-gas);background:rgba(127,168,214,.08);font-size:var(--t-sm);color:var(--dim)}
.chamber-gas-banner .chip-btn.on{background:var(--k-gas);border-color:var(--k-gas);color:var(--deep)}
.komp-note{padding:8px 10px;margin:0 -4px;border-left:2px solid var(--k-eiw);background:rgba(185,160,138,.08);font-size:var(--t-sm);color:var(--dim)}
.komp-note b{color:var(--bronze-hi);font-weight:500;letter-spacing:.14em}
.slot-foot{position:relative;display:flex;justify-content:space-between;gap:8px;padding:10px 16px 14px;border-top:1px solid var(--faint);font-size:var(--t-xs);color:var(--dim)}
.slot-foot b{color:var(--paper);font-weight:500}
.factions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.factions button{min-height:40px;padding:8px 20px;font-size:var(--t-base)}

/* Веер */
.dial{position:fixed;inset:0;z-index:120}
.dial-veil{position:absolute;inset:0;background:rgba(22,26,39,0);transition:background .3s}
.dial.open .dial-veil{background:var(--veil)}
.dial.closing{opacity:0;transition:opacity .16s}
.dial-origin{position:absolute;width:0;height:0}
.dial-hub{position:absolute;left:-4px;top:-4px;width:8px;height:8px;background:var(--bronze);border-radius:50%}
.dial-ring .dial-item{position:absolute;left:0;top:0;white-space:nowrap;opacity:0;transform:translate(-50%,-50%) scale(.6);transition:transform .42s var(--ease),opacity .22s,background .15s,color .15s,border-color .15s;transition-delay:var(--d,0ms);background:var(--item-bg);border:1px solid var(--faint-2);color:var(--txt);display:inline-flex;align-items:center;gap:10px;min-height:32px;padding:5px 14px;font-size:var(--t-sm)}
.dial-ring .dial-item.al-l{transform:translate(0,-50%) scale(.6)}
.dial-ring .dial-item.al-r{transform:translate(-100%,-50%) scale(.6)}
.dial-ring.show .dial-item{opacity:1;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty)))}
.dial-ring.show .dial-item.al-l{transform:translate(var(--tx),calc(-50% + var(--ty)))}
.dial-ring.show .dial-item.al-r{transform:translate(calc(-100% + var(--tx)),calc(-50% + var(--ty)))}
.dial-item small{font-size:var(--t-xs);color:var(--mute);letter-spacing:.06em}
.dial-item code{font:var(--w-key) 15px/1 var(--font);letter-spacing:.01em}
.dial-item b{font-weight:500;color:var(--bronze-hi)}
.dial-item.has-kids::after{content:"→";color:var(--mute);margin-left:2px}
.dial-item:hover{border-color:var(--bronze-hi)}
.dial-item.on{background:var(--paper);color:var(--deep);border-color:var(--paper)}
.dial-item.on small,.dial-item.on::after,.dial-item.on b{color:var(--deep)}
.dial-preview{position:absolute;right:clamp(16px,3vw,48px);top:88px;width:min(340px,24vw);padding:22px;background:var(--item-bg);border:1px solid var(--faint);opacity:0;transform:translateY(8px);transition:opacity .3s,transform .4s var(--ease);display:flex;flex-direction:column;gap:12px}
.dial.open .dial-preview{opacity:1;transform:none}
.dp-kicker{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.18em;color:var(--dim)}
.dp-svg{min-height:120px;display:flex;align-items:flex-end;justify-content:center}
.dp-formula{font:var(--w-key) 24px/1.2 var(--font);text-align:right;color:var(--paper)}
.dp-meta{font-size:var(--t-sm);color:var(--dim);text-align:right}
.dp-hint{font-size:var(--t-xs);color:var(--mute);border-top:1px solid var(--faint);padding-top:10px}
.dial--sheet .dial-origin{left:0!important;top:auto!important;bottom:0;width:100%;height:auto;position:fixed;display:flex;flex-direction:column;gap:8px;padding:14px 14px calc(18px + env(safe-area-inset-bottom));background:var(--solid);border-top:1px solid var(--faint)}
.dial--sheet .dial-hub{display:none}
.dial--sheet .dial-ring{display:flex;gap:6px;overflow-x:auto}
.dial--sheet .dial-ring:empty{display:none}
.dial--sheet .dial-ring .dial-item{position:static;transform:none!important;opacity:1}
.dial--sheet .dial-preview{top:12px;left:12px;right:12px;width:auto}

/* Нижняя навигация — линия с точками, как в презентации */
.stepbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;gap:18px;height:calc(66px + env(safe-area-inset-bottom));padding:10px clamp(16px,3vw,54px) calc(8px + env(safe-area-inset-bottom));background:var(--bar-bg);border-top:1px solid var(--faint)}
.stepbar[hidden]{display:none}
.sb-arrow{width:34px;height:34px;min-height:34px;padding:0;border-color:var(--faint-2);font-size:14px;flex:none}
.sb-line{position:relative;flex:1;max-width:760px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.sb-line::before{content:"";position:absolute;left:12.5%;right:12.5%;top:7px;height:1px;background:var(--faint-2)}
.sb-fill{position:absolute;left:12.5%;top:7px;height:1px;background:var(--bronze);width:calc(var(--i,0)*25%);transition:width .5s var(--ease)}
.sb-line button{position:relative;border:0;padding:0;min-height:0;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--dim);font-size:var(--t-sm)}
.sb-line button i{width:15px;height:15px;border-radius:50%;border:1px solid var(--dim);background:var(--bar-bg);transition:border-color .3s,background .3s,box-shadow .3s}
.sb-line button:hover{color:var(--paper)}
.sb-line button:hover i{border-color:var(--paper)}
.sb-line button.done i{background:var(--bronze);border-color:var(--bronze)}
.sb-line button.on{color:var(--paper)}
.sb-line button.on i{border-color:var(--bronze-hi);background:var(--bar-bg);box-shadow:inset 0 0 0 3px var(--bar-bg),inset 0 0 0 8px var(--bronze-hi)}

/* Общие блоки шагов 2–4 и разделов */
.panel{background:var(--glass);border:1px solid var(--faint)}
.phead{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--faint);flex-wrap:wrap}
.phead h2{font-size:var(--t-md);font-weight:var(--w-head)}
.pad{padding:18px 22px}
.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.stack{display:flex;flex-direction:column;gap:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.split3{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px 18px}
.fields .wide{grid-column:1/-1}
.plain-summary{display:flex;gap:22px;flex-wrap:wrap;font-size:var(--t-sm);color:var(--dim);margin-top:4px}
.plain-summary b{color:var(--paper)}
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--faint-2);font-size:var(--t-xs);color:var(--dim);white-space:nowrap}
.badge.blue,.badge.good,.badge.gold{border-color:rgba(216,195,174,.4);color:var(--bronze-hi)}
.badge.bad{border-color:rgba(224,121,110,.5);color:var(--danger)}
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:var(--t-base)}
th,td{padding:10px 14px;border-bottom:1px solid var(--faint);text-align:left;vertical-align:middle}
th{font-size:var(--t-xs);font-weight:var(--w-body);text-transform:uppercase;letter-spacing:.12em;color:var(--mute)}
th.r,td.r{text-align:right;font-variant-numeric:tabular-nums}
tbody tr{transition:background .15s}
tbody tr:hover{background:rgba(248,247,247,.03)}
tbody tr.active-row{background:rgba(185,160,138,.08);box-shadow:inset 2px 0 0 var(--bronze)}
td input.cell-in{width:88px;min-height:28px;font-variant-numeric:tabular-nums}
td .fld>span{display:none}
details>summary{cursor:pointer;padding:12px 22px;font-size:var(--t-sm);color:var(--dim)}
.quick-size-bar{display:flex;align-items:flex-end;gap:16px;padding:16px 22px;border-bottom:1px solid var(--faint);flex-wrap:wrap}
.quick-size-bar label{width:150px}
.zone-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,600px),1fr));gap:14px}
.zone-card{background:var(--glass);border:1px solid var(--faint);overflow:hidden}
.zone-card .pad{overflow-x:auto}
.zone-card td small{white-space:nowrap}
.zone-head{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--faint)}
.zone-head small{display:block;margin-top:2px}
.zone-num{width:32px;height:32px;border:1px solid var(--bronze);color:var(--bronze-hi);display:inline-grid;place-items:center;font-size:var(--t-xs);letter-spacing:.06em;flex:none}
.bed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;padding:16px}
.bed-card{background:var(--well);border:1px solid var(--faint);padding:12px}
.chain-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.station-card{background:var(--glass);border:1px solid var(--faint);padding:16px;display:flex;flex-direction:column;gap:8px}
.notice{padding:12px 16px;border-left:1px solid var(--bronze);color:var(--dim);font-size:var(--t-sm)}
.canvaswrap{padding:12px;background:var(--well);border:1px solid var(--faint)}
#drawing{width:100%;height:320px;display:block}
.tpl{background:var(--glass);border:1px solid var(--faint);padding:18px;display:flex;flex-direction:column;gap:10px}
.tpl h3{font-size:var(--t-md)}
.tpl p{color:var(--dim);font-size:var(--t-sm)}

/* Уведомление с возвратом и диалоги */
#toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%,8px);z-index:130;display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--solid);border:1px solid var(--faint-2);color:var(--txt);font-size:var(--t-sm);opacity:0;pointer-events:none;transition:opacity .2s,transform .3s var(--ease)}
#toast.on{opacity:1;transform:translate(-50%,0)}
#toast.act{pointer-events:auto}
#toast button{min-height:26px;padding:2px 12px;border-color:var(--bronze);color:var(--bronze-hi);font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase}
dialog{border:1px solid var(--faint-2);border-radius:0;padding:26px;max-width:620px;width:calc(100% - 28px);background:var(--solid);color:var(--txt)}
dialog::backdrop{background:rgba(10,12,18,.6)}
dialog h2{font-size:18px;font-weight:var(--w-key)}
dialog label{display:block;margin-top:12px}
.dlg-actions{display:flex;flex-direction:column;gap:8px;margin-top:20px}
.dlg-actions button{min-height:38px;text-align:left;padding:8px 16px}

/* Адаптивность */
@media (max-width:1180px){
 .stage{grid-template-columns:190px minmax(0,1fr)}
 .stage-r{grid-column:1/-1}
 .eng{flex-direction:row;align-items:center;justify-content:flex-end}
}
@media (max-width:760px){
 .top{gap:10px;height:54px}
 .modnav{display:none}
 .uag-official-logo{width:120px;height:12px}
 .role{min-width:0;max-width:118px}
 .workspace{padding:14px 12px 110px;gap:12px}
 .stage{grid-template-columns:1fr;padding:18px;gap:16px}
 .typelist{flex-direction:row;overflow-x:auto;border-top:0;gap:0}
 .typelist button{flex:none;border:1px solid var(--faint);border-right:0;padding:6px 12px;min-height:34px;font-size:var(--t-sm)}
 .typelist button:last-child{border-right:1px solid var(--faint)}
 .typelist button em,.typelist button .tl-arr,.typelist button::before{display:none}
 .typelist button.on{background:var(--paper);color:var(--deep)}
 .hint{display:none}
 .stage-c{align-items:stretch}
 .formula-input{font-size:24px;text-align:left}
 .formula-line{justify-content:flex-start}
 .meta{justify-content:flex-start;gap:12px}
 .layers{grid-auto-columns:86%;justify-content:start}
 .zone-grid{grid-template-columns:1fr}
 .stepbar{gap:8px;padding:12px 10px calc(10px + env(safe-area-inset-bottom))}
 .sb-line button{font-size:var(--t-xs)}
 .phead,.pad,.quick-size-bar{padding-left:16px;padding-right:16px}
 #toast{bottom:84px;max-width:calc(100% - 24px)}
}

/* ===== Светлое исполнение — та же гамма: тёмно-синий, сланец, бронза ===== */
html.light{
 --gold:#8A6A2E; --navy:#1F3461; --navy-ink:#F8F7F7;
 --paper:#161a27; --deep:#F8F7F7; --bronze:#9C8268; --bronze-hi:#8A6F56;
 --txt:rgba(22,26,39,.9); --dim:rgba(22,26,39,.64); --mute:rgba(22,26,39,.46);
 --faint:rgba(22,26,39,.12); --faint-2:rgba(22,26,39,.24);
 --glass:rgba(255,255,255,.78); --glass-on:rgba(255,255,255,.93); --solid:#ffffff;
 --bg-base:#eceef2; --bar-bg:#f8f7f7; --top-bg:linear-gradient(180deg,rgba(248,247,247,.97),rgba(248,247,247,.9));
 --item-bg:rgba(255,255,255,.97); --veil:rgba(236,238,242,.6); --well:rgba(64,70,95,.05); --spacer-bg:rgba(64,70,95,.07);
 --ov1:linear-gradient(90deg,rgba(240,241,245,.93) 0%,rgba(240,241,245,.86) 45%,rgba(240,241,245,.8) 100%);
 --ov2:linear-gradient(180deg,rgba(240,241,245,.35),rgba(240,241,245,.85));
 --bg-sat:.35; --w-body:500; --w-key:400; --w-head:500; --arrow:%2340465F;
 --k-glass:#3f7b99; --k-frame:#6b7385; --k-gas:#3c6aa3; --k-film:#6b7480; --k-eiw:#9C8268;
 --sx-break:#ffffff; --sx-hole:#40465F; --sx-in:#40465F;
 --accent-dim:rgba(156,130,104,.14); --danger:#b4473c;
 color-scheme:light;
}
html.light .uag-official-logo{background-color:#161a27}
html.light .primary{background:#161a27;color:#F8F7F7;border-color:#161a27}
html.light .primary:hover{background:#40465F;border-color:#40465F}
html.light .pill-btn.on,html.light .chip-btn.on,html.light .dial-item.on{color:#F8F7F7}
html.light .pill-btn.on,html.light .chip-btn.on,html.light .dial-item.on{background:#161a27;border-color:#161a27}
html.light .dial-item.on small,html.light .dial-item.on::after,html.light .dial-item.on b{color:#F8F7F7}
html.light .chamber-gas-banner .chip-btn.on{background:var(--k-gas);border-color:var(--k-gas);color:#fff}
html.light input[type=checkbox]:checked{background:#161a27;border-color:#161a27}
html.light input[type=checkbox]:checked::after{border-color:#F8F7F7}
html.light .slot-card{box-shadow:0 1px 2px rgba(22,26,39,.04)}
html.light .sx-surf{fill:#2a6fc0}
html.light .sx-gas{fill:#3c6aa3}
html.light .sx-vt{fill:#7a634c}
html.light .eng-pane{fill:rgba(63,123,153,.06)}
html.light .eng-shine{stroke:#40465F;stroke-opacity:.25}
html.light tbody tr.active-row{background:rgba(156,130,104,.10)}
html.light ::selection{color:#fff}
@media (max-width:760px){html.light .typelist button.on{background:#161a27;color:#F8F7F7}}
.theme-btn{min-height:32px;padding:0 12px;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;border-color:var(--faint);display:inline-flex;align-items:center;gap:8px}
.theme-btn i{flex:none;width:10px;height:10px;border-radius:50%;border:1px solid currentColor;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
@media (max-width:760px){.kpbar{padding:6px 12px;gap:8px}.kf{flex:1 1 100%}.kf input,.kf.kf-s select{width:100%}.theme-btn{padding:0;width:32px;justify-content:center;font-size:0;gap:0}}

/* ===== v8: список формул КП ===== */
.flist{display:flex;flex-direction:column;gap:12px;min-height:0;border-right:1px solid var(--faint);padding-right:22px}
.fitems{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;overflow-y:auto;max-height:360px;border-top:1px solid var(--faint);scrollbar-width:thin}
.fitem{position:relative;display:flex;align-items:flex-start;gap:12px;padding:10px 10px 10px 12px;border-bottom:1px solid var(--faint);cursor:pointer;transition:background .15s;user-select:none}
.fitem:hover{background:rgba(248,247,247,.05)}
html.light .fitem:hover{background:rgba(31,52,97,.05)}
.fitem.on{background:rgba(185,160,138,.10);box-shadow:inset 2px 0 0 var(--bronze)}
.fitem.bad{background:rgba(224,121,110,.10);box-shadow:inset 2px 0 0 var(--danger)}
.fitem.bad.on{box-shadow:inset 2px 0 0 var(--danger),inset 0 0 0 1px rgba(224,121,110,.35)}
.fitem.dragging{opacity:.4}
.fitem.drop-a::before,.fitem.drop-b::after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--bronze)}
.fitem.drop-a::before{top:-1px}.fitem.drop-b::after{bottom:-1px}
.fi-n{font-size:var(--t-xs);color:var(--mute);letter-spacing:.08em;padding-top:3px;font-variant-numeric:tabular-nums}
.fitem.on .fi-n{color:var(--bronze)}
.fi-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.fi-f{font-size:var(--t-md);color:var(--navy);line-height:1.3;word-break:break-word}
.fi-m{font-size:var(--t-xs);color:var(--dim)}
.fi-m em{font-style:normal;color:var(--danger)}
.ctx{position:fixed;z-index:140;min-width:160px;display:flex;flex-direction:column;padding:4px;background:var(--solid);border:1px solid var(--faint-2);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.ctx button{border:0;text-align:left;min-height:30px;padding:4px 12px;transition:none}
.ctx button:hover{background:rgba(127,127,127,.12)}
/* ===== Шапка: часы, строка КП ===== */
.top{gap:22px}
.clock{display:flex;flex-direction:column;line-height:1.2;padding-left:22px;border-left:1px solid var(--faint)}
.ck-d{font-size:var(--t-xs);letter-spacing:.06em;color:var(--dim)}
.ck-t{font-size:var(--t-md);color:var(--paper);font-variant-numeric:tabular-nums}
.ck-t small{font-size:var(--t-xs);color:var(--gold);letter-spacing:.1em}
.modnav{margin-left:auto;margin-right:6px}
.tools{display:flex;align-items:center;gap:8px}
.kpbar{position:sticky;top:60px;z-index:55;display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap;padding:10px clamp(16px,3vw,54px) 12px;background:var(--top-bg);border-bottom:1px solid var(--faint)}
.kpbar[hidden]{display:none}
.kf{display:flex;flex-direction:column;min-width:230px}
.kf.kf-s{min-width:170px}
.kf input,.kf select{min-height:28px;font-size:var(--t-base)}
.kp-ver{font-size:var(--t-xs);letter-spacing:.08em;color:var(--dim);padding-bottom:7px}
.kpbar button{min-height:30px;padding:4px 12px}
/* ===== Кнопки под слоями ===== */
.factions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.fa-mid{display:flex;gap:10px}
.fa-end{display:flex;justify-content:flex-end}
/* ===== Стоимость слоя ===== */
.slot-cost{position:relative;display:flex;flex-direction:column;gap:2px;padding:10px 16px;border-top:1px solid var(--faint);font-size:var(--t-xs);color:var(--dim)}
.sc-row{display:flex;justify-content:space-between;gap:8px;font-size:var(--t-sm);color:var(--txt)}
.sc-row b{color:var(--gold);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.sc-row.tot{margin-top:4px}
.sc-row.tot b{color:var(--paper)}
.auto-check input:disabled{opacity:1}
.auto-check{cursor:default}
.slot-cost .sc-note{color:var(--gold);opacity:.85}
.slot-cost small{font-size:var(--t-xs);color:var(--mute);line-height:1.35}
/* ===== Гравировка ===== */
.eng-box{fill:rgba(185,160,138,.10);stroke:var(--bronze);stroke-width:.8}
.eng-sep{stroke:var(--bronze);stroke-opacity:.5;stroke-width:.6}
.eng-t{font:500 5.6px var(--font);fill:var(--txt);text-anchor:middle;letter-spacing:.04em}
.eng-dim{stroke:var(--gold);stroke-width:.7;stroke-dasharray:2 1.5}
.eng-dt{font:600 7px var(--font);fill:var(--gold);text-anchor:middle}
.eng-logo{opacity:.92}
html:not(.light) .eng-logo{filter:invert(1)}
.eng-off{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.eng-off input{min-height:26px;font-size:var(--t-sm)}
.eng-off span{font-size:10px}
/* ===== Круговой веер ===== */
.dial .pie{position:absolute;inset:0;overflow:visible;pointer-events:none}
.pie-sec,.pie-hub{pointer-events:auto}
.pie-sec path{fill:var(--item-bg);stroke:var(--faint-2);stroke-width:1;transition:fill .12s}
.pie-sec{cursor:pointer}
.pie-sec text{font:500 12px var(--font);fill:var(--txt);text-anchor:middle;pointer-events:none}
.pie-sec text.sub{font-size:10px;fill:var(--mute);font-weight:400}
.pie-sec text.out{font:var(--w-key) 13.5px var(--font);fill:var(--txt)}
.pie-sec text.idx{font-size:10px;fill:var(--mute)}
.pie-sec .lead{fill:none;stroke:var(--faint-2);stroke-width:1}
.pie-sec .outbg{fill:var(--item-bg);stroke:var(--faint);stroke-width:1}
.pie-sec:hover .outbg{stroke:var(--bronze)}
.pie-sec:hover .lead{stroke:var(--bronze)}
.pie-sec.l1:hover path{fill:color-mix(in srgb,var(--bronze) 22%,var(--item-bg))}
.pie-sec:hover text.out{fill:var(--paper)}
.pie-sec.on path{fill:var(--paper)}
.pie-sec.on text{fill:var(--deep)}
.pie-sec.on text.sub{fill:var(--deep);opacity:.7}
html.light .pie-sec.on path{fill:var(--navy)}
html.light .pie-sec.on text{fill:#F8F7F7}
.pie-sec.kids path{stroke:var(--faint-2)}
.pie-hub circle{fill:var(--solid);stroke:var(--bronze);stroke-width:1}
.pie-hub text{font:500 12px var(--font);fill:var(--paper);text-anchor:middle;pointer-events:none}
.pie-hub text.sub{font-size:9px;fill:var(--mute);font-weight:400}
.pie-hub{cursor:pointer}
.dial-preview.left{right:auto;left:clamp(16px,4vw,64px)}
/* ===== Светлое: тёмно-синий вместо чёрного ===== */
html.light .primary{background:var(--navy);border-color:var(--navy)}
html.light .primary:hover{background:#2a4478;border-color:#2a4478}
html.light .pill-btn.on,html.light .chip-btn.on,html.light .dial-item.on{background:var(--navy);border-color:var(--navy)}
html.light input[type=checkbox]:checked{background:var(--navy);border-color:var(--navy)}
@media (max-width:1380px){.stage{grid-template-columns:240px 150px minmax(0,1fr) 176px;gap:22px}.clock{display:none}}
@media (max-width:1180px){.stage{grid-template-columns:230px 150px minmax(0,1fr)}.stage-r{grid-column:1/-1}.eng{flex-direction:row;align-items:center}.eng-svg{max-width:150px}}
@media (max-width:760px){
 .stage{grid-template-columns:1fr}
 .flist{border-right:0;padding-right:0}
 .fitems{max-height:220px}
 .typelist{flex-direction:row;overflow-x:auto}
 .typelist .eyebrow{display:none}
 .formula-view{font-size:24px;text-align:left}
 .kpbar{position:static;gap:10px}
 .kf,.kf.kf-s{min-width:0;flex:1 1 100%}
 .kp-ver{flex:1 1 100%;padding:0}
 .factions{grid-template-columns:1fr}
 .fa-mid{flex-wrap:wrap}
 .fa-end{justify-content:stretch}.fa-end button{width:100%}
 .tools{gap:4px}
 .tools [data-action="redo"]{display:none}
 .role{max-width:92px}
 .top{padding:0 10px;gap:8px}
 .kpbar button{flex:1 1 auto;min-width:0}
}

/* ===== v10: подложка разреза, меню типов, веер, маркировка ===== */
.stage{grid-template-columns:262px 210px minmax(0,1fr) 210px}
.stage-c{position:relative;align-items:center;justify-content:center;padding:22px 26px 18px;background:
 linear-gradient(var(--faint) 1px,transparent 1px) 0 0/22px 22px,
 linear-gradient(90deg,var(--faint) 1px,transparent 1px) 0 0/22px 22px,var(--well);border:1px solid var(--faint)}
html.light .stage-c{background:linear-gradient(rgba(31,52,97,.05) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(90deg,rgba(31,52,97,.05) 1px,transparent 1px) 0 0/22px 22px,#f4f6f9}
.stage-c::before{content:"РАЗРЕЗ · КРАЕВАЯ ЗОНА";position:absolute;left:14px;top:10px;font-size:var(--t-xs);letter-spacing:.18em;color:var(--mute)}
.stage-c .formula-line{justify-content:center}
.stage-c .meta{justify-content:center}
.formula-view{white-space:nowrap;font-size:min(34px,2.1vw,calc(min(560px,40vw) / (var(--flen,24) * .52)));text-align:center;max-width:100%}
.fi-f{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.fi-body{min-width:0;flex:1}
.typelist button{font-size:var(--t-sm);letter-spacing:.14em;text-transform:uppercase;min-height:44px}
.typelist .eyebrow{letter-spacing:.2em}
/* веер: плавное раскрытие */
.dial .pie-r0,.dial .pie-hub{opacity:0;transform:scale(.9);transition:opacity .24s var(--ease),transform .32s var(--ease);transform-box:view-box}
.dial.open .pie-r0,.dial.open .pie-hub{opacity:1;transform:none}
.ring1{transition:opacity .22s var(--ease),transform .3s var(--ease);transform-box:view-box}
.ring1.in{opacity:0;transform:scale(.94)}
.pie-sec.out{opacity:0;transition:opacity .16s}
.pie-sec text{font:500 11px var(--font);letter-spacing:.08em}
.pie-sec text.rad{font:var(--w-key) 12.5px var(--font);letter-spacing:.01em;text-anchor:middle}
.pie-sec path{transition:fill .16s var(--ease)}
.pie-sec.close path{fill:var(--solid)}
.pie-sec.close text{fill:var(--mute)}
.pie-sec.close:hover path{fill:color-mix(in srgb,var(--danger) 18%,var(--solid))}
.pie-sec.close:hover text{fill:var(--danger)}
.pie-hub text{letter-spacing:.1em;font-size:11px}
.pie-hub:hover circle{fill:color-mix(in srgb,var(--bronze) 20%,var(--solid))}
@media (prefers-reduced-motion:reduce){.dial .pie-r0,.dial .pie-hub,.ring1{transition:none}}
/* гравировка */
.eng-head{border:0;padding:0;min-height:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:none}
.eng-head span{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.16em;color:var(--mute)}
.eng-head b{font-size:var(--t-sm);font-weight:500;color:var(--paper);line-height:1.3}
.eng-head em{font-style:normal;font-size:var(--t-xs);color:var(--gold)}
.eng-head:hover b{color:var(--bronze-hi)}
.eng-mark{cursor:pointer}
.eng-mark .eng-box{fill:rgba(185,160,138,.08);stroke:var(--bronze);stroke-width:.7;stroke-dasharray:3 2}
.eng-mark:hover .eng-box{fill:rgba(185,160,138,.18)}
html.light .eng-mimg{filter:brightness(0) saturate(0) opacity(.86)}
.eng-pt .dot{pointer-events:none;fill:transparent;stroke:var(--dim);stroke-width:1}
.eng-pt:hover .dot{stroke:var(--bronze);fill:rgba(185,160,138,.25)}
.eng-foot{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:6px}
.eng-mir{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.eng-mir .chip-btn{min-height:28px;padding:2px 6px;font-size:var(--t-xs)}
.eng-x{color:var(--mute);padding-bottom:6px}
.eng-foot input{min-height:26px;font-size:var(--t-sm);font-variant-numeric:tabular-nums}
.eng-foot span{font-size:10px}
/* окно архива маркировок */
dialog.wide{max-width:min(1100px,94vw)}
.mk-glass{display:flex;flex-direction:column;gap:6px;margin:14px 0;padding:10px 12px;border:1px solid var(--faint)}
.mk-rules{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:12px;padding:10px 12px;border-left:2px solid var(--bronze);background:rgba(185,160,138,.06);font-size:var(--t-sm)}
.mk-rules label{display:flex;flex-direction:column;gap:2px;min-width:150px}
.mk-top{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.mk-list{max-height:58vh;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding-right:4px}
.mk-list h3{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.16em;color:var(--dim);margin-bottom:8px;font-weight:500}
.mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.mk-card{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px;text-align:left;min-height:0;border:1px solid var(--faint)}
.mk-card.on{border-color:var(--bronze);box-shadow:inset 0 0 0 1px var(--bronze)}
.mk-img{height:70px;display:grid;place-items:center;background:linear-gradient(135deg,#2a3346,#1b2232)}
html.light .mk-img{background:linear-gradient(135deg,#e7edf2,#d4dde5)}
.mk-img img{max-width:92%;max-height:62px}
html.light .mk-img img{filter:brightness(0) opacity(.85)}
.mk-name{font-size:var(--t-sm);line-height:1.3}
.mk-sub{font-size:var(--t-xs);color:var(--mute)}
.mk-sub b{color:var(--gold);font-weight:500}
@media (max-width:1380px){.stage{grid-template-columns:236px 180px minmax(0,1fr) 186px}}
@media (max-width:1180px){.stage{grid-template-columns:230px 170px minmax(0,1fr)}}
@media (max-width:760px){.stage{grid-template-columns:1fr}.stage-c{padding:26px 12px 12px}.formula-view{white-space:normal}}
.stage{position:relative;isolation:isolate;background:none;border-color:transparent}
.stage::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--glass);
 -webkit-mask-image:radial-gradient(ellipse 72% 80% at 50% 50%,#000 58%,rgba(0,0,0,.35) 86%,transparent 100%);
 mask-image:radial-gradient(ellipse 72% 80% at 50% 50%,#000 58%,rgba(0,0,0,.35) 86%,transparent 100%)}
html.light .stage::before{background:rgba(255,255,255,.82)}
.top{height:48px;border-bottom:0}
.top .logo{height:48px}
.kpbar{top:48px;align-items:center;gap:18px;padding:0 clamp(16px,3vw,54px) 6px;min-height:40px;border-bottom:1px solid var(--faint)}
.kf{flex-direction:row;align-items:center;gap:8px;min-width:0}
.kf>span{margin:0;white-space:nowrap}
.kf input{width:210px;min-height:26px;font-size:var(--t-sm)}
.kf.kf-s select{width:140px;min-height:26px;font-size:var(--t-sm)}
.kp-ver{padding:0}
.kpbar button{min-height:26px;padding:2px 10px;font-size:var(--t-xs);letter-spacing:.06em}
@media (max-width:760px){.kf input,.kf.kf-s select{width:auto;flex:1}.kf{flex:1 1 100%}.kp-ver{flex:0 0 auto}.kpbar{padding:6px 12px 8px;gap:6px 10px}.kpbar button{flex:1 1 auto}}
.sx-tip{position:fixed;z-index:150;pointer-events:none;padding:6px 10px;background:var(--solid);border:1px solid var(--faint-2);font-size:var(--t-xs);letter-spacing:.04em;color:var(--txt);white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.meta.specs{gap:26px}
.meta.specs em{font-style:normal;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-right:4px}
.meta.specs b{font-weight:500;font-size:var(--t-md)}
.eng-tabs{display:flex;gap:4px;flex-wrap:wrap}
.eng-tabs button{min-height:24px;padding:1px 8px;font-size:var(--t-xs);border-color:var(--faint)}
.eng-tabs button.on{border-color:var(--bronze);color:var(--bronze-hi)}
.eng-gl{display:flex;align-items:center;gap:4px;font-size:var(--t-xs);color:var(--mute)}
.eng-gl>span{letter-spacing:.12em;text-transform:uppercase;margin-right:6px}
.eng-gl i{font-style:normal;display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--faint-2);color:var(--mute);font-variant-numeric:tabular-nums}
.eng-gl i.on{border-color:var(--gold);background:var(--gold);color:var(--deep);font-weight:600}
html.light .eng-gl i.on{color:#fff}
.eng-gl i.lock{outline:1px dashed var(--gold);outline-offset:2px}
.eng-gl b{font-weight:400;color:var(--faint-2)}
.mk-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 10px;border-bottom:1px solid var(--faint);padding-bottom:10px}
.mk-tabs button{min-height:30px}
.mk-tabs button.on{border-color:var(--bronze);box-shadow:inset 0 -2px 0 var(--bronze)}
.mk-add{border-style:dashed}
.mk-row{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.mk-lbl{width:130px;font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.mk-btns{display:flex;gap:6px;flex-wrap:wrap}
.eng-mark.other{opacity:.5}
.eng-mark.other:hover{opacity:.85}
.eng-no{font:700 7px var(--font);fill:var(--gold)}
.eng-mark.clash .eng-box{stroke:var(--danger);fill:rgba(224,121,110,.14)}
.eng-warn{margin:0;font-size:var(--t-xs);color:var(--danger);line-height:1.4}
.mk-up{display:inline-flex;align-items:center;min-height:32px;padding:6px 14px;border:1px dashed var(--bronze);color:var(--bronze-hi);font-size:var(--t-sm);cursor:pointer}
html.light .mk-up{color:var(--bronze)}
.mk-up:hover{background:rgba(185,160,138,.1)}
.layers{display:flex;align-items:stretch;gap:6px;overflow:visible;justify-content:center;padding-bottom:6px}
.layers>.slot-card{flex:1 1 0;min-width:0;max-width:290px}
.layers .slot-card *{min-width:0}
.layers .slot-card select,.layers .slot-card input{max-width:100%}
.layers .slot-card select{text-overflow:ellipsis}
/* плотный режим: много слоёв — всё на одной странице */
.layers.dense{gap:3px}
.layers.dense .ins-plus{flex-basis:16px;width:16px;height:16px;min-height:16px;font-size:12px}
.layers.dense .slot-card{font-size:12px}
.layers.dense .slot-head{padding:8px 8px 4px;font-size:10px;letter-spacing:.08em}
.layers.dense .slot-body{padding:6px 8px;gap:8px}
.layers.dense .field-row>span,.layers.dense .slot-body small{font-size:10px}
.layers.dense .pill-btn,.layers.dense .chip-btn{padding:2px 2px;min-height:24px;font-size:11px;min-width:0}
.layers .pill-row{display:flex;flex-wrap:nowrap}
.layers .pill-row .pill-btn{flex:1 1 0;min-width:0}
.layers.dense select{font-size:12px;min-height:28px}
.layers.dense .check-label{font-size:11px}
.layers.dense .slot-cost{padding:6px 8px;font-size:11px}
.layers.dense .slot-cost small{display:none}
.layers.dense .toll-row{padding:4px 6px;margin:-2px -4px 2px}
.layers.dense .toll-row small{display:none}
.layers.xdense .slot-card{font-size:11px}
.layers.xdense .pill-btn,.layers.xdense .chip-btn{font-size:10px;padding:1px}
.layers.xdense .coat-rule{display:none}
.layers .slot-head>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.layers.dense .check-pair{display:flex!important;flex-direction:column;align-items:flex-start;gap:4px;grid-template-columns:none}
.layers.dense .check-pair .check-label{white-space:normal}
.layers.dense .slot-cost .sc-row{flex-wrap:wrap;gap:0 6px}
.layers.dense .slot-cost .sc-row b{font-size:11px}
.layers.dense .field-row .row{flex-wrap:wrap!important;gap:4px!important}
.layers.dense .slot-foot{font-size:10px;flex-wrap:wrap}
.layers.dense .slot-foot span{white-space:normal}
.ins-plus{flex:0 0 24px;align-self:center;width:24px;height:24px;min-height:24px;padding:0;border-radius:50%;border:1px dashed var(--faint-2);color:var(--mute);font-size:15px;line-height:1;display:grid;place-items:center}
.ins-plus:hover{border-style:solid;border-color:var(--bronze);color:var(--bronze);background:rgba(185,160,138,.1)}
.slot-card.k-pending{--kc:var(--mute);background:repeating-linear-gradient(135deg,rgba(127,127,127,.08) 0 8px,transparent 8px 16px),var(--glass);border-style:dashed}
.pend-btns{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.pend-btns button{min-height:34px}
.ctx-h{font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding:6px 12px 4px}
.ctx button.cur{color:var(--gold);opacity:1}
.sx-pend{fill:url(#pSeal);fill-opacity:.25;stroke:var(--mute);stroke-dasharray:3 2}
.sx-q{font:600 14px var(--font);fill:var(--mute);text-anchor:middle}
.sx-el{cursor:pointer}
.sx-edge{stroke-linecap:round}
.sx-edge.blunt{stroke:#6f8583;stroke-width:1.2}
.sx-edge.ground,.sx-edge.special{stroke:#4f6462;stroke-width:2.2}
.sx-edge.polished{stroke:#2f8f86;stroke-width:2.2}
.sx-matte{fill:#8a9a99;fill-opacity:.55}
.sx-gloss{fill:#fff;stroke:#2f8f86;stroke-width:.5}
.sx-gloss-l{stroke:#fff;stroke-width:1.4;opacity:.95}
.stem-row .chip-btn{min-height:26px;padding:2px 10px}
.ral-sw{width:18px;height:18px;border:1px solid var(--faint-2);flex:none}
.internal{display:block;margin-top:2px;font-size:10px;color:var(--danger);letter-spacing:.02em}
@media (max-width:760px){.layers{overflow-x:auto;justify-content:flex-start}.layers>.slot-card{flex-basis:86%}}
.kp-page .phead{flex-wrap:wrap;gap:10px 16px}
.mk-def{display:flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--mute)}
.mk-def input{width:64px}
.gold{color:var(--gold)}
.kp-group{padding:0}
.kp-ghead{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto 20px;align-items:center;gap:14px;padding:12px 18px;border:0;background:none;text-align:left;min-height:52px}
.kp-ghead .n{color:var(--mute);font-variant-numeric:tabular-nums}
.kp-ghead .f{font-size:var(--t-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kp-ghead .m{color:var(--mute);font-size:var(--t-sm)}
.kp-ghead .t{font-weight:600;font-variant-numeric:tabular-nums}
.kp-ghead .chev{color:var(--mute)}
.kp-group.open .kp-ghead{border-bottom:1px solid var(--faint);box-shadow:inset 3px 0 0 var(--bronze)}
.size-entry{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;padding:12px 18px}
.size-entry label{display:flex;flex-direction:column;gap:2px;font-size:var(--t-xs);color:var(--mute);width:110px}
.size-entry label.qq{width:80px}
.size-entry input{min-height:34px;font-size:var(--t-md);font-variant-numeric:tabular-nums}
.size-entry .x{padding-bottom:8px;color:var(--mute)}
.size-entry small{max-width:340px;line-height:1.35}
.kp-selbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 18px;background:rgba(185,160,138,.1);border-top:1px solid var(--faint);font-size:var(--t-sm)}
.kp-selbar input{width:70px}
.kp-table table{font-size:var(--t-sm)}
.kp-table th{font-size:10px;letter-spacing:.04em;white-space:normal;line-height:1.25;vertical-align:bottom;padding:6px 6px;max-width:92px}
.kp-table td{white-space:nowrap;padding:4px 6px}
.kp-table .cell-in{width:56px;min-height:26px;font-variant-numeric:tabular-nums}
.kp-table .cell-in.q{width:40px}
.kp-table .cell-in.mk{width:44px;text-align:right}
.kp-table td:first-child,.kp-table th:first-child{padding-left:14px}
.cell-in.mk.auto{color:var(--mute)}
.a-net{font-size:var(--t-md);font-weight:600;color:var(--txt)}
.a-waste{color:var(--mute)}
.spec{color:var(--gold)}
.sel-row td{background:rgba(185,160,138,.08)}
.geo-chip{min-height:24px;padding:1px 8px;font-size:11px;border:1px solid var(--faint);background:none}
.geo-chip.on{border-color:var(--bronze);color:var(--bronze-hi)}
.xs{min-height:24px;padding:1px 8px}
.cad-mini{padding:12px 18px;border-top:1px solid var(--faint)}
.canvaswrap.small{width:300px;max-width:40%;flex:none}
.canvaswrap.small canvas{max-height:240px}
.fields.compact{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
table.compact td,table.compact th{padding:3px 6px}
.op-form{padding:12px 18px;border-top:1px solid var(--faint);display:flex;flex-direction:column;gap:12px}
.op-mats{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:6px 18px}
.op-mat{display:grid;grid-template-columns:18px minmax(0,1fr) auto 110px;align-items:center;gap:8px;font-size:var(--t-sm)}
.op-mat .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.op-meta{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.op-meta label{display:flex;flex-direction:column;gap:2px;font-size:var(--t-xs);color:var(--mute);width:220px}
.op-meta label.wide{flex:1;min-width:260px}
@media (max-width:760px){.kp-ghead{grid-template-columns:28px minmax(0,1fr) auto;}.kp-ghead .m,.kp-ghead .chev{display:none}.size-entry small{display:none}.canvaswrap.small{max-width:100%;width:100%}}
.lim-strip{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;padding:6px 18px 10px;font-size:var(--t-xs);color:var(--mute)}
.lim-strip>span{letter-spacing:.12em;text-transform:uppercase}
.lim-strip>b{color:var(--txt);font-size:var(--t-sm);font-variant-numeric:tabular-nums}
.lim-strip i{font-style:normal;padding:1px 7px;border:1px solid var(--faint);font-variant-numeric:tabular-nums}
.lim-strip i.tight{border-color:var(--bronze);color:var(--bronze-hi)}
html.light .lim-strip i.tight{color:var(--bronze)}
.over-row td{background:rgba(224,121,110,.12)!important}
.over-row .cell-in{color:var(--danger)}
.toll-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;margin:-4px -8px 4px;border:1px dashed var(--faint-2);font-weight:500;letter-spacing:.04em}
.toll-row small{flex-basis:100%;font-size:10px;color:var(--mute);font-weight:400;letter-spacing:0}
.slot-card.is-toll{background:repeating-linear-gradient(135deg,rgba(127,127,127,.07) 0 8px,transparent 8px 16px),var(--glass)}
.slot-card.is-toll .toll-row{border-style:solid;border-color:var(--mute)}
.slot-card.is-toll .slot-body>*:not(.toll-row):not(.op.on){opacity:.42;filter:grayscale(1)}
.slot-card.is-toll .slot-body>.op.on{opacity:1;filter:none;border-left:2px solid var(--bronze);padding-left:8px;margin-left:-10px;background:rgba(185,160,138,.12)}
.slot-card.is-toll .slot-body>.op.on span{color:var(--txt)}
.toll-badge{font-weight:600;color:var(--bronze-hi);letter-spacing:.06em}
html.light .toll-badge{color:var(--bronze)}
.eng-viewcap{text-align:center;font-size:var(--t-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:-4px}
.eng-back{font:600 5.6px var(--font);letter-spacing:.08em;fill:var(--bronze);text-anchor:middle}
.coat-rule{display:block;margin-top:3px;font-size:10.5px;color:var(--mute)}
.coat-rule.bad{color:var(--danger)}
.linkbtn{border:0;background:none;padding:0;min-height:0;color:var(--bronze);text-decoration:underline;font-size:inherit;cursor:pointer}
.pie-sec.l0.hv:not(.on) path{fill:color-mix(in srgb,var(--bronze) 16%,var(--item-bg))}
.kp-list{padding:0;overflow:hidden}
.kp-list-h{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--faint)}
.kp-list-h h3{margin:0;font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:500}
.kp-list .kp-group{border-top:1px solid var(--faint);position:relative}
.kp-list .kp-group:first-of-type{border-top:0}
.kp-list .kp-group::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}
.kp-list .kp-group.act::before{background:var(--bronze)}
.kp-list .kp-group.need::before{background:var(--danger)}
.kp-list .kp-group.need .kp-ghead{background:rgba(224,121,110,.06)}
.kp-list .kp-group.open .kp-ghead{border-bottom:1px solid var(--faint);box-shadow:none}
.kp-list .kp-group:not(.open) .kp-ghead:hover{background:rgba(185,160,138,.06)}
.ns-chip{display:inline-block;padding:2px 8px;border:1px solid var(--danger);color:var(--danger);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.ok-chip{display:inline-block;padding:2px 8px;border:1px solid var(--faint-2);color:var(--mute);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.ns-row td{padding:18px!important;color:var(--danger);font-size:var(--t-sm);text-align:center;background:rgba(224,121,110,.05)}
.fi-m em.ns{color:var(--danger);font-style:normal}
.kp-savebar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;border-top:2px solid var(--bronze)}
.kp-savebar>div{display:flex;flex-direction:column;gap:2px}
.kp-savebar small{font-size:var(--t-xs)}
.ord-link{border-color:var(--bronze)!important;color:var(--bronze-hi)}
html.light .ord-link{color:var(--bronze)}
/* ===== Заказ ===== */
.ord-page h3{margin:0;font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:500}
.ord-head{padding:18px 22px}
.oh-top{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap}
.oh-id h2{margin:4px 0 6px;font-size:var(--t-lg);font-weight:500}
.oh-chips{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:var(--t-sm)}
.stp{padding:2px 10px;border:1px solid var(--bronze);color:var(--bronze-hi);font-weight:500}
html.light .stp{color:var(--bronze)}
.demo-chip{padding:1px 8px;border:1px dashed var(--mute);color:var(--mute);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.oh-sum{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.oh-sum span{font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.oh-sum b{font-size:var(--t-lg);font-weight:600;font-variant-numeric:tabular-nums}
.oh-sum small{color:var(--mute);font-size:var(--t-xs)}
.oh-acts{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.oh-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;margin-top:14px}
.oh-form label{display:flex;flex-direction:column;gap:3px;font-size:var(--t-xs);color:var(--mute);min-width:0}
.oh-form label.w2{grid-column:span 2}.oh-form label.w4{grid-column:1/-1}
.oh-form input,.oh-form select,.oh-form textarea{font-size:var(--t-sm);color:var(--txt)}
.ord-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:16px;align-items:start}
.ord-grid>*,.ord-page .panel{min-width:0}
.ord-page .phead{flex-wrap:wrap}
.ord-grid .panel{padding-bottom:14px}
.ord-grid .panel>*:not(.phead):not(.tablewrap):not(details){margin-left:18px;margin-right:18px}
.ord-grid .panel>.oh-form{margin-top:4px}
.sub-h{margin:16px 0 6px;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:500}
.add-row input{width:100%;min-height:28px;font-size:var(--t-sm)}
.tc-form{display:flex;flex-direction:column;gap:8px;padding:0 0 12px;border-bottom:1px solid var(--faint);margin-bottom:12px}
.tc-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tc-form textarea,.tc-form input,.tc-form select{font-size:var(--t-sm)}
.tone{display:flex;gap:6px;flex-wrap:wrap}
.tone label{display:inline-flex;position:relative;overflow:hidden}
.tone input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
.tone span{padding:3px 10px;border:1px solid var(--faint-2);font-size:var(--t-xs);cursor:pointer}
.tone input:checked+span{border-color:var(--tc);color:var(--tc);box-shadow:inset 0 0 0 1px var(--tc)}
.tl{display:flex;flex-direction:column;gap:10px;max-height:520px;overflow:auto}
.ti{border-left:3px solid var(--tc);padding:4px 0 4px 10px;font-size:var(--t-sm);display:flex;flex-direction:column;gap:3px}
.ti .tt{color:var(--tc);font-size:var(--t-xs)}
.ti .nx{color:var(--gold);font-size:var(--t-xs)}
.x.sm{min-height:0;padding:0 6px;border:0;background:none;color:var(--mute);float:right;cursor:pointer}
.x.sm:hover{color:var(--danger)}
.tasks{display:flex;flex-direction:column;gap:6px}
.task{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:2px 8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--faint);font-size:var(--t-sm)}
.task small{grid-column:2;color:var(--mute);font-size:var(--t-xs)}
.task .x{grid-row:1/3;grid-column:3}
.task.done .tw{text-decoration:line-through;color:var(--mute)}
.task-add{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr) auto;gap:6px;margin-top:10px}
.task-add input{min-height:30px;font-size:var(--t-sm)}
b.bad{color:var(--danger)}
.kp-kind{font-size:var(--t-xs);padding:1px 6px;border:1px solid var(--faint-2);white-space:nowrap}
.kp-kind.version{border-color:var(--bronze);color:var(--bronze-hi)}
html.light .kp-kind.version{color:var(--bronze)}
.kp-kind.copy{border-style:dashed}
.ord-log{font-size:var(--t-xs);display:flex;flex-direction:column;gap:4px;max-height:260px;overflow:auto;padding:0 18px 14px}
@media (max-width:1100px){.ord-grid{grid-template-columns:1fr}.oh-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.oh-form{grid-template-columns:1fr}.oh-form label.w2{grid-column:auto}.task-add{grid-template-columns:1fr 1fr}}
.crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-sm);margin:0 0 4px}
.crumbs button{border:0;background:none;padding:2px 0;min-height:0;color:var(--mute);cursor:pointer;text-decoration:underline;text-decoration-color:var(--faint-2);text-underline-offset:3px}
.crumbs button:hover{color:var(--txt)}
.crumbs .on{color:var(--txt);text-decoration:none;font-weight:500}
.crumbs .sep{color:var(--mute)}
.cust-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px;align-items:start}
.cust-grid>*{min-width:0}
.pad{padding:8px 18px;display:block}
.oc-list{display:flex;flex-direction:column}
.oc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 18px;border-top:1px solid var(--faint);position:relative}
.oc.cur::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--bronze)}
.oc-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.oc-t{grid-column:1;font-size:var(--t-sm);color:var(--mute)}
.oc-n{grid-column:1;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;font-size:var(--t-sm);font-variant-numeric:tabular-nums}
.oc-a{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;gap:6px;justify-content:center}
.stp.sm{font-size:var(--t-xs);padding:0 6px}
.cust-card{padding:16px 0 12px}
.cc-name{padding:0 18px}
.cc-in{font-size:var(--t-lg)!important;font-weight:500;width:100%;border:0;border-bottom:1px solid var(--faint-2);background:none;padding:4px 0;color:var(--txt)}
.cc-sums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--faint);border-bottom:1px solid var(--faint);margin:14px 0 6px}
.cc-sums>div{padding:10px 18px;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--faint);min-width:0}
.cc-sums>div:first-child{border-left:0}
.cc-sums span{font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.cc-sums b{font-size:var(--t-md);font-variant-numeric:tabular-nums;white-space:nowrap}
.cc-sums small{font-size:var(--t-xs);color:var(--mute)}
.cc-sums .neg small{color:var(--danger)}
.cc-req{padding:0 18px}.cc-req summary{cursor:pointer;font-size:var(--t-sm);color:var(--mute);padding:6px 0}
.pc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;padding:0 18px}
.pc{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px;border:1px solid var(--faint-2);background:var(--item-bg);position:relative;min-height:0;cursor:pointer}
.pc.on{border-color:var(--bronze);box-shadow:inset 0 0 0 1px var(--bronze)}
.pc small{font-size:var(--t-xs);color:var(--mute)}
.ub{display:inline-block;min-width:18px;padding:0 5px;background:var(--danger);color:#fff;font-style:normal;font-size:10px;line-height:18px;text-align:center;font-weight:600}
.pc .ub{position:absolute;right:8px;top:8px}
.pd{margin:10px 18px 0;padding:12px;border:1px solid var(--bronze)}
.row-end{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
.task-add.p4{grid-template-columns:repeat(4,minmax(0,1fr)) auto;padding:0 18px}
.pswitch{display:flex;gap:6px;overflow-x:auto;padding:0 18px 10px;scrollbar-width:thin}
.pswitch button{white-space:nowrap;min-height:30px;padding:4px 12px;font-size:var(--t-sm)}
.pswitch button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.tc-form .row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.ti.unread{background:rgba(224,121,110,.07)}
.ti.unread::after{content:"не прочитано";font-size:10px;color:var(--danger);letter-spacing:.08em;text-transform:uppercase}
.ti.dir-note{border-left-style:dashed}
.ti .who{font-size:var(--t-xs);color:var(--mute)}
.oh-form .pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}
tr.last td{background:rgba(185,160,138,.07)}
tr.sum td{font-weight:600;border-top:1px solid var(--faint-2)}
.crm-page .panel>.tablewrap+.tablewrap{margin-top:10px}
.crm-page .panel{min-width:0}
.crm-page .phead{flex-wrap:wrap}
.cust-grid .panel{padding-bottom:14px}
.cust-grid .panel>.tc-form,.cust-grid .panel>.tl,.cust-grid .panel>.sub-h{margin-left:18px;margin-right:18px}
@media (max-width:1100px){.cust-grid{grid-template-columns:1fr}.cc-sums{grid-template-columns:1fr 1fr}.cc-sums>div:nth-child(3){border-left:0}}
@media (max-width:640px){.task-add.p4{grid-template-columns:1fr 1fr}.tc-form .row3{grid-template-columns:1fr}}
.lock-banner{padding:12px 18px;border:1px solid var(--bronze);border-left:4px solid var(--bronze);background:rgba(185,160,138,.10);font-size:var(--t-sm)}
.sp-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}
.sp-head h2{margin:0 0 4px;font-size:var(--t-lg);font-weight:500}
.sp-src{display:flex;gap:14px;flex-wrap:wrap;margin-left:auto;font-size:var(--t-sm)}
.sp-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);gap:16px;align-items:start}
.sp-grid>*{min-width:0}
.sp-tabs{padding-top:12px}
.sp-t td,.sp-t th{font-size:var(--t-sm);padding:6px 8px}
.sp-t th{letter-spacing:.06em}
.top nav button{white-space:nowrap}
.sp-t tr.def td{background:rgba(224,121,110,.06)}
.sp-q{width:80px;text-align:right;min-height:26px}
.sp-groups{display:flex;flex-direction:column}
.sp-g{border-top:1px solid var(--faint)}
.sp-gh{display:flex;gap:10px;align-items:center;width:100%;padding:10px 18px;border:0;background:none;text-align:left;cursor:pointer;min-height:0;font-size:var(--t-sm)}
.sp-gh:hover{background:rgba(185,160,138,.06)}
.sp-u{font-variant-numeric:tabular-nums;color:var(--mute);font-size:var(--t-xs)}
.sp-g.open{background:rgba(185,160,138,.04)}
.sp-g .sp-t{margin:0 18px 10px;width:calc(100% - 36px)}
.mail-preview{margin:12px 18px;padding:12px 14px;border:1px solid var(--faint-2);background:var(--item-bg);white-space:pre-wrap;font:inherit;font-size:var(--t-sm);max-height:280px;overflow:auto}
a.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;min-height:36px;text-decoration:none;border:1px solid var(--navy);cursor:pointer;font-size:var(--t-sm)}
a.btn.primary{background:var(--navy);color:#fff}
.mtext{white-space:pre-wrap}
.ok{color:#3f8f6b}
.pl-t td,.pl-t th{font-size:var(--t-xs);padding:6px 8px;vertical-align:top}
.pl-t tr.inprod td{background:rgba(63,143,107,.06)}
.grp{display:inline-block;padding:1px 8px;border:1px solid var(--bronze);font-size:var(--t-xs);white-space:nowrap}
.pl-grid th,.pl-grid td{font-size:10.5px;padding:4px 6px;text-align:center;border-left:1px solid var(--faint);min-width:56px}
.pl-grid th:first-child{text-align:left;min-width:170px;position:sticky;left:0;background:var(--solid);z-index:1}
.pl-grid td.cell{background:linear-gradient(to top,rgba(185,160,138,.35) var(--p),transparent var(--p));vertical-align:bottom}
.pl-grid td.cell b{display:block}
.pl-grid td.cell small{display:block;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70px}
.pl-grid td.bad{color:var(--danger);font-weight:600}
.gt-fs{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:16px;min-width:0}
.gt-page td input:not([type=checkbox]),.gt-page td select{width:100%;min-height:28px;font-size:var(--t-sm)}
.gt-page td input.nn{width:64px;text-align:right}
@media (max-width:1100px){.sp-grid{grid-template-columns:1fr}}
.filt-bar{border-top:3px solid var(--bronze);background:color-mix(in srgb,var(--bronze) 7%,var(--solid));padding:14px 18px;display:flex;flex-direction:column;gap:6px}
.fb-row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
.fb-row label{display:flex;flex-direction:column;gap:3px;font-size:var(--t-xs);color:var(--mute);min-width:170px}
.fb-row label.fb-q{flex:1 1 260px}
.fb-row input,.fb-row select{font-size:var(--t-sm);min-height:34px;color:var(--txt)}
.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border:1px solid var(--faint);background:var(--solid)}
.kpi-row>div{padding:12px 18px;border-left:1px solid var(--faint);display:flex;flex-direction:column;gap:2px}
.kpi-row>div:first-child{border-left:0}
.kpi-row span{font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.kpi-row b{font-size:var(--t-md);font-variant-numeric:tabular-nums}
.cu-t td,.cu-t th{font-size:var(--t-sm);padding:7px 8px}
.cu-r{cursor:pointer}
.cu-r:hover td{background:rgba(185,160,138,.08)}
.cu-r:focus{outline:2px solid var(--bronze);outline-offset:-2px}
.cu-bar{height:3px;background:var(--faint);margin-top:4px;max-width:260px}
.cu-bar i{display:block;height:100%;background:var(--bronze)}
.aw-msg{padding:14px 18px;border:1px dashed var(--faint-2);background:var(--solid);font-size:var(--t-sm)}
.aw-msg.bad{border-color:var(--danger);color:var(--danger)}
.src-chip,.pc .src{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);border:1px solid var(--faint-2);padding:0 5px}
.pc .src{position:absolute;right:8px;bottom:6px}
.oc{cursor:default;user-select:none}
.oc:hover{background:rgba(185,160,138,.05)}
.cc-h{margin:4px 0 2px;font-size:var(--t-lg);font-weight:500}
.pd-g{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:8px 0;font-size:var(--t-sm)}
.pd-g span{color:var(--mute)}
.stp.b-work,.stp.b-contract{border-color:#3f8f6b;color:#3f8f6b}
.stp.b-ship{border-color:var(--mute);color:var(--mute)}
.stp.b-inv{border-color:var(--gold);color:var(--gold)}
.adm-t td,.adm-t th{font-size:var(--t-sm);padding:7px 8px;vertical-align:top}
.adm-t tr.done td{opacity:.55}
.adm-t select{min-height:28px;font-size:var(--t-sm);max-width:200px}
.adm-a{white-space:nowrap}.adm-a button{margin-left:4px}
.acc-t th{font-size:10px;letter-spacing:.04em}
.acc-t select{min-height:26px;font-size:var(--t-xs)}
.acc-t select.acc-edit{color:#3f8f6b;font-weight:600}.acc-t select.acc-view{color:var(--gold)}
.top .clock{flex:0 0 auto}
@media (max-width:1700px){.top .clock .ck-d{display:none}.top .clock{min-width:0}}
@media (max-width:1700px){.top #role{max-width:150px}}
.top nav{gap:2px!important}
.top nav .dotsep{margin:0 2px!important}
.top nav button{letter-spacing:.1em!important;padding-left:5px!important;padding-right:5px!important}
.cc-sums b{font-size:clamp(13px,1.15vw,var(--t-md))}
@media (max-width:1280px){.top nav button{letter-spacing:.04em!important;font-size:11px}}
.bd-pool .phead{flex-wrap:wrap}
.bd-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:var(--t-xs);color:var(--mute)}
.bd-legend span{display:inline-flex;align-items:center;gap:4px}
.bd-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:10px;padding:0 18px 14px;max-height:520px;overflow:auto}
.bgp{border:1px solid var(--faint-2);background:var(--item-bg)}
.bgp-h{display:flex;justify-content:space-between;gap:8px;padding:6px 10px;border-bottom:1px solid var(--faint);font-size:var(--t-sm)}
.bgp-h small{color:var(--mute);white-space:nowrap}






.bt.hit{outline:2px solid var(--bronze)}
.bt:hover{border-color:var(--bronze)}
.bt-add{position:absolute;right:2px;bottom:2px;width:18px;height:18px;min-height:0;padding:0;font-size:13px;line-height:1;border:1px solid var(--faint-2);background:var(--item-bg);cursor:pointer;opacity:0}
.bt:hover .bt-add,.bt:focus-within .bt-add{opacity:1}
.bd-prod{position:relative;padding-bottom:12px}
.bd-prod.dragon{outline:2px dashed var(--bronze);outline-offset:-4px}
.bd-q{display:flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--mute)}
.bd-q input{width:170px;min-height:28px;font-size:var(--t-sm)}
.bd-grid{display:grid;grid-template-columns:96px repeat(var(--cols),minmax(0,1fr));margin:0 12px;border-left:1px solid var(--faint);border-top:1px solid var(--faint)}
.bd-hd,.bd-day,.bd-cell{border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);min-width:0}
.bd-hd{padding:6px 6px;display:flex;flex-direction:column;gap:1px;background:color-mix(in srgb,var(--navy) 6%,var(--solid));position:sticky;top:48px;z-index:2}
.bd-hd b{font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.bd-hd small{font-size:10px;color:var(--mute)}
.bd-hd small.cap{color:var(--bronze)}
.bd-day{padding:8px 6px;font-size:var(--t-sm);background:color-mix(in srgb,var(--navy) 3%,var(--solid))}
.bd-cell{padding:4px;display:flex;flex-direction:column;gap:4px;min-height:64px;position:relative}
.bd-cell .ld{height:3px;background:var(--faint);position:relative;margin-bottom:2px}
.bd-cell .ld::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--p);background:var(--bronze)}
.bd-cell .ld span{position:absolute;right:0;top:3px;font-size:9px;color:var(--mute)}
.bc{border:1px solid var(--faint-2);border-left:3px solid var(--faint-2);background:var(--solid);padding:3px 5px;font-size:10.5px;line-height:1.25;position:relative;z-index:1;cursor:default}
.bc-h{display:flex;align-items:center;gap:4px}
.bc-h b{font-size:11.5px;font-variant-numeric:tabular-nums}
.bc-h small{color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bc-n{color:var(--mute)}
.bc .nm{display:flex;flex-direction:column}
.bc .nm i{font-style:normal;font-weight:600;color:#9a7a12}
.bc .nm i.f{color:#3f8f6b}
.bc.warn{border-left-color:#d4a72c;background:color-mix(in srgb,#d4a72c 12%,var(--solid))}
.bc.ok{border-left-color:#3f8f6b;background:color-mix(in srgb,#3f8f6b 10%,var(--solid))}
.bc.done{opacity:.6;border-left-color:#3f8f6b}
.bc.bad{border-left-color:var(--danger)}
.bc.wait{border-left-color:var(--faint-2)}
.bc.hl{outline:2px solid var(--bronze);z-index:3}
.bd-wires{position:absolute;left:0;top:0;pointer-events:none;z-index:4;overflow:visible}
.bd-wires .w{fill:none;stroke:var(--mute);stroke-width:1.6;stroke-dasharray:4 3}
.bd-wires .w.p{stroke:#d4a72c;stroke-dasharray:none;stroke-width:2}
.bd-wires .w.f{stroke:#3f8f6b;stroke-dasharray:none;stroke-width:2.2}
.bd-wires .wl{font-size:9.5px;fill:var(--txt);paint-order:stroke;stroke:var(--solid);stroke-width:3px;text-anchor:middle}
.bd-empty{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);padding:14px 22px;border:1px dashed var(--bronze);background:var(--solid);font-size:var(--t-sm);color:var(--mute)}
.shop-tabs button{min-height:36px}
.ub.nb{background:var(--navy)}
.shop-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(300px,1fr);gap:16px;align-items:start}
.shop-grid>*{min-width:0}
.shop-t td,.shop-t th{font-size:var(--t-sm);padding:7px 8px;vertical-align:top}
.shop-t tr.done td{opacity:.6}
.shop-t tr.inw td{background:rgba(212,167,44,.07)}
.shop-act .sa{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.sq{width:56px;min-height:26px;text-align:right}
.inl{display:flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--mute)}
.gf summary{cursor:pointer;font-size:var(--t-xs);color:var(--bronze)}
.gf a{display:block;font-size:var(--t-xs)}
.crew{display:flex;flex-direction:column;gap:6px;padding:10px 18px}
.cm{display:flex;gap:6px;align-items:center}
.cm input:first-child{flex:1}
@media (max-width:1100px){.shop-grid{grid-template-columns:1fr}.bd-grid{overflow-x:auto}}
.inc-hot{border-top:3px solid var(--bronze)}
.cust-grid2{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(320px,1fr);gap:16px;align-items:start}
.cust-grid2>*{min-width:0}
.ob-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--faint);border-top:3px solid var(--bronze);background:color-mix(in srgb,var(--bronze) 6%,var(--solid));flex-wrap:wrap}
.ob-bar h3{margin:0;font-size:var(--t-md);font-weight:500;white-space:nowrap}
.ob-bar input{flex:1 1 280px;min-height:32px;font-size:var(--t-sm)}
.ob-cols{display:grid;grid-template-columns:1fr 1fr 1.35fr 1.35fr;gap:0;border-bottom:1px solid var(--faint)}
.ob-col{border-right:1px solid var(--faint);padding:6px;display:flex;flex-direction:column;gap:5px;min-width:0;min-height:120px;max-height:720px;overflow:auto}
.ob-col:last-child{border-right:0}
.ob-ch{display:flex;justify-content:space-between;align-items:baseline;padding:2px 4px 6px;border-bottom:1px solid var(--faint);position:sticky;top:-6px;background:var(--solid);z-index:1}
.ob-ch b{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.ob-ch small{color:var(--mute);font-variant-numeric:tabular-nums}
.c-done .ob-ch b{color:var(--mute)}.c-work .ob-ch b{color:#3f8f6b}.c-inv .ob-ch b{color:var(--gold)}.c-calc .ob-ch b{color:var(--navy)}
.ob-e{padding:6px 4px;font-size:var(--t-xs)}
.oc2{border:1px solid var(--faint-2);border-left:3px solid var(--faint-2);background:var(--solid);padding:6px 8px;font-size:12px;line-height:1.3;cursor:default;user-select:none;position:relative}
.c-work .oc2{border-left-color:#3f8f6b}.c-inv .oc2{border-left-color:var(--gold)}.c-calc .oc2{border-left-color:var(--navy)}
.oc2:hover{border-color:var(--bronze)}
.oc2.cur{outline:2px solid var(--bronze);outline-offset:-1px}
.oc2:focus{outline:2px solid var(--bronze);outline-offset:-1px}
.o2-h{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.o2-h b{font-size:13px;font-variant-numeric:tabular-nums}
.o2-h small{color:var(--mute);font-size:10.5px}
.o2-h .src{margin-left:auto;font-size:9px;font-style:normal;color:var(--bronze);letter-spacing:.06em;text-transform:uppercase}
.o2-t{color:var(--txt);margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.o2-f{margin-top:3px;display:flex;flex-wrap:wrap;gap:3px}
.o2-f code{font-size:10px;background:var(--item-bg);border:1px solid var(--faint);padding:0 4px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.o2-n{display:flex;justify-content:space-between;gap:6px;margin-top:4px;font-variant-numeric:tabular-nums}
.o2-n span{color:var(--mute)}
.cc4{grid-template-columns:1fr 1fr}
.pc-narrow{grid-template-columns:1fr!important}
.octx{position:fixed;z-index:200;background:var(--solid);border:1px solid var(--faint-2);box-shadow:0 8px 24px rgba(20,30,50,.18);display:flex;flex-direction:column;min-width:220px;padding:4px 0}
.octx button{text-align:left;padding:8px 14px;border:0;background:none;font-size:var(--t-sm);cursor:pointer;min-height:0;color:var(--txt)}
.octx button:hover{background:var(--item-bg)}
.octx button.danger{color:var(--danger);border-top:1px solid var(--faint)}
.modal-bg{position:fixed;inset:0;background:rgba(15,22,36,.35);z-index:150}
.trash-m{position:fixed;left:50%;top:12vh;transform:translateX(-50%);width:min(860px,94vw);max-height:76vh;overflow:auto;z-index:160}
.chat{display:flex;flex-direction:column}
.chat-list{max-height:460px;overflow:auto;padding:10px 14px;display:flex;flex-direction:column;gap:6px;background:color-mix(in srgb,var(--navy) 3%,var(--solid))}
.ch-ev{font-size:11px;color:var(--mute);padding:2px 8px;border-left:2px solid var(--faint-2)}
.ch-ev.done{opacity:.6}
.ch-ev b{font-weight:600;color:var(--txt)}
.ch-m{max-width:86%;align-self:flex-start}
.ch-m.me{align-self:flex-end}
.ch-b{background:var(--solid);border:1px solid var(--faint-2);padding:7px 10px;font-size:var(--t-sm);line-height:1.4;word-wrap:break-word}
.ch-m.me .ch-b{background:color-mix(in srgb,var(--navy) 9%,var(--solid));border-color:color-mix(in srgb,var(--navy) 22%,var(--faint-2))}
.ch-k{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--bronze);margin-right:4px}
.ch-meta{font-size:10.5px;color:var(--mute);margin-top:2px;padding:0 2px}
.ch-m.me .ch-meta{text-align:right}
.chat-in{border-top:1px solid var(--faint);padding:8px 12px;display:flex;flex-direction:column;gap:6px}
.chat-tools{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.chat-tools select{min-height:26px;font-size:var(--t-xs);max-width:150px}
.chip-btn{min-height:26px;padding:2px 9px;font-size:var(--t-xs);border:1px solid var(--faint-2);background:var(--solid);cursor:pointer;list-style:none}
.chip-btn.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.emo{position:relative}.emo summary::-webkit-details-marker{display:none}
.emo-p{position:absolute;right:0;bottom:30px;background:var(--solid);border:1px solid var(--faint-2);box-shadow:0 6px 18px rgba(20,30,50,.15);display:grid;grid-template-columns:repeat(5,32px);padding:4px;z-index:20}
.emo-p button{border:0;background:none;font-size:18px;min-height:30px;cursor:pointer;padding:0}
.emo-p button:hover{background:var(--item-bg)}
.chat-row{display:flex;gap:6px;align-items:stretch}
.chat-row textarea{flex:1;resize:vertical;min-height:44px;font-size:var(--t-sm);padding:6px 8px}
.mailbox{padding:0}
.mb-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--faint);flex-wrap:wrap}
.mb-bar h3{margin:0;font-size:var(--t-md);font-weight:500}
.mb-bar input{flex:0 1 320px;min-height:30px;font-size:var(--t-sm)}
.seg2{display:flex;border:1px solid var(--faint-2)}
.seg2 button{border:0;background:none;padding:5px 12px;font-size:var(--t-xs);min-height:0;cursor:pointer}
.seg2 button.on{background:var(--navy);color:#fff}
.mb-body{display:grid;grid-template-columns:minmax(260px,360px) 1fr;height:560px;border-bottom:1px solid var(--faint)}
.mb-list{overflow:auto;border-right:1px solid var(--faint)}
.mb-it{display:grid;grid-template-columns:1fr auto;gap:1px 8px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--faint);background:var(--solid);padding:8px 12px;cursor:pointer;min-height:0;position:relative;font-size:12px}
.mb-it:hover{background:var(--item-bg)}
.mb-it.on{background:color-mix(in srgb,var(--navy) 10%,var(--solid));box-shadow:inset 3px 0 0 var(--navy)}
.mb-it.unr .mb-f,.mb-it.unr .mb-s{font-weight:700}
.mb-it.unr{box-shadow:inset 3px 0 0 var(--bronze)}
.mb-f{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mb-d{color:var(--mute);font-size:10.5px;font-variant-numeric:tabular-nums}
.mb-s{grid-column:1/3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--txt)}
.mb-p{grid-column:1/3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mute);font-size:11px}
.mb-a{position:absolute;right:10px;bottom:6px;font-style:normal;font-size:11px}
.mb-read{overflow:auto;display:flex;flex-direction:column}
.mb-h{padding:14px 18px;border-bottom:1px solid var(--faint)}
.mb-h h4{margin:0 0 6px;font-size:var(--t-md);font-weight:600}
.mb-meta{font-size:var(--t-sm)}
.mb-act{display:flex;gap:6px;margin-top:8px}
.mb-act .btn{display:inline-flex;align-items:center;min-height:28px;padding:2px 12px;border:1px solid var(--faint-2);font-size:var(--t-xs);text-decoration:none;color:var(--txt)}
.mb-act .btn:hover{border-color:var(--bronze)}
.mb-files{display:flex;flex-wrap:wrap;gap:6px;padding:8px 18px;border-bottom:1px solid var(--faint)}
.mb-files a{font-size:var(--t-xs);border:1px solid var(--faint-2);padding:3px 8px;text-decoration:none;color:var(--txt)}
.mb-text{padding:14px 18px;font-size:var(--t-sm);line-height:1.5;white-space:normal;word-wrap:break-word}
.hl-grid{display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));gap:8px;overflow-x:auto}
.hl-col{border:1px solid var(--faint-2);background:var(--item-bg);min-height:360px;padding:6px;display:flex;flex-direction:column;gap:5px}
.hl-h{display:flex;justify-content:space-between;padding:2px 4px 6px;border-bottom:1px solid var(--faint)}
.hl-h b{font-size:11px;letter-spacing:.05em;text-transform:uppercase}
.hl-h small{color:var(--mute)}
.hp{position:relative;border:1px solid var(--faint-2);border-left:3px solid var(--navy);background:var(--solid);padding:6px 8px;font-size:12px;display:flex;flex-direction:column;gap:1px;cursor:grab}
.hp small{color:var(--mute);font-size:10.5px}
.hp .hb{color:var(--bronze)}
.hp .x{position:absolute;right:2px;top:2px}
@media (max-width:1100px){.cust-grid2{grid-template-columns:1fr}.ob-cols{grid-template-columns:1fr 1fr}.mb-body{grid-template-columns:1fr;height:auto}.mb-list{max-height:320px}}
@media (max-width:600px){.ob-cols{grid-template-columns:1fr}}
@media (max-width:1760px){.top nav button{letter-spacing:.05em!important;font-size:11px!important;padding-left:4px!important;padding-right:4px!important}.top nav .dotsep,.top nav i.sep{display:none!important}}
@media (max-width:1500px){.top .clock{display:none}.top #role{max-width:120px}.top .theme-btn,.top [data-action="theme"]{padding-left:8px;padding-right:8px}}
@media (max-width:1240px){.top nav{min-width:0;flex:1 1 auto;overflow-x:auto;scrollbar-width:none}.top nav::-webkit-scrollbar{display:none}}
.bgp-t{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:5px;padding:6px}
.bt{position:relative;display:grid;grid-template-columns:40px 1fr;gap:6px;align-items:start;padding:6px 8px;border:1px solid var(--faint-2);border-left:4px solid var(--tc,var(--faint-2));background:var(--tb,var(--solid));cursor:grab;color:#2c3a50;user-select:none;min-width:0}
.bt.t-glass{--tc:#8fa6bf;--tb:#f2f6fa}
.bt.t-temp{--tc:#c98a3a;--tb:#fbf4ea}
.bt.t-sp{--tc:#4f79b0;--tb:#edf3fb}
.bt.t-trip{--tc:#4f9a76;--tb:#edf7f1}
.bt.t-pp{--tc:#c4574a;--tb:#fbefed}
.bt-i{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--tc)}
.bt-b{min-width:0;display:flex;flex-direction:column;gap:1px}
.bt-h{display:flex;align-items:baseline;gap:6px}
.bt-h b{font-size:13.5px;font-variant-numeric:tabular-nums}
.bt-h .lab{font-size:9px;font-style:normal;color:var(--bronze);letter-spacing:.06em;text-transform:uppercase}
.bt-d{margin-left:auto;font-size:10px;color:var(--mute);font-variant-numeric:tabular-nums}
.bt-n{font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}
.bt-o,.bt-c{font-size:10.5px;color:#4a5668;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-c{color:var(--mute)}
.bt-g{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px}
.bt-g code{font-size:9.5px;line-height:1.35;padding:0 4px;background:rgba(255,255,255,.75);border:1px solid rgba(44,58,80,.14);white-space:nowrap}
.bt-g small{font-size:9.5px}
.bt.sel{outline:2px solid var(--navy);outline-offset:-1px;box-shadow:0 0 0 3px rgba(31,48,84,.14)}
.bt.sel::after{content:"✓";position:absolute;right:4px;top:3px;font-size:11px;color:var(--navy);font-weight:700}
.bt-ghost{position:fixed;left:-200px;top:-200px;padding:6px 12px;background:var(--navy);color:#fff;font-size:12px}
.bd-legend svg{color:#4f79b0}
.bd-grid{grid-template-columns:62px repeat(var(--cols),minmax(0,1fr))!important}
.bd-day{padding:5px 4px!important;font-size:11px!important;writing-mode:horizontal-tb}
.bd-cell{min-height:30px!important;padding:3px!important;gap:3px!important}
.bd-hd{padding:4px 5px!important}
.bc{padding:2px 4px!important;font-size:10px!important}
.bc-h b{font-size:11px!important}
.bd-urg{border:2px solid rgba(196,60,50,.28);background:color-mix(in srgb,#c43c32 3%,var(--solid));transition:border-color .25s,box-shadow .25s}
.bd-urg.on{border-color:#c43c32;box-shadow:0 0 0 3px rgba(196,60,50,.12)}
.bd-urg .phead h3{color:#a8322a}
.urg-list{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 12px;min-height:30px;align-items:center;font-size:var(--t-sm)}
.urg-it{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(196,60,50,.45);background:var(--solid);padding:4px 8px;font-size:12px}
.urg-it b{color:#a8322a;text-transform:uppercase;font-size:10px;letter-spacing:.06em}
.urg-it small{color:var(--mute);margin-left:4px}
.urg-it.ug{cursor:grab}
.gl-grp{border:1px dashed var(--faint-2);padding:2px;display:flex;flex-direction:column;gap:3px;background:rgba(79,121,176,.04)}
.gl-h{display:flex;justify-content:space-between;gap:4px;font-size:10px;padding:1px 3px;color:#3d5f8f}
.gl-h b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gl-h small{color:var(--mute);white-space:nowrap}
.bc .mt{display:flex;flex-direction:column;gap:1px;margin-top:1px}
.bc .mt>div{font-size:10px;line-height:1.25}
.bc .mt .ok{color:#2f7a55}.bc .mt .bad{color:#b23a30}
.bc .pt{display:inline-block;margin-left:3px;color:var(--bronze);font-size:9.5px}
.bc[draggable="true"]{cursor:grab}
.tg{font-style:normal;font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;padding:0 3px;margin-left:3px;border:1px solid currentColor}
.tg.u{color:#b23a30}.tg.g{color:#4f79b0}.tg.c{color:var(--bronze)}
.bt .grp{font-style:normal;font-size:9px;color:#4f79b0;border:1px solid #4f79b0;padding:0 3px}
.bt .ms{font-style:normal;font-size:9px;padding:0 3px;border:1px solid currentColor}
.bt .ms.ok{color:#2f7a55}.bt .ms.short{color:#b23a30}
.bt-g code.gk{border-color:rgba(47,122,85,.45);color:#2f6b4c}
.bt-g code.gs{border-color:rgba(178,58,48,.55);color:#9b2f27;background:#fff3f1}
.grp-box{border-color:#4f79b0;border-style:dashed}
.bd-hd label.cap{display:flex;flex-direction:column;gap:1px;font-size:9px;color:var(--bronze);letter-spacing:.02em;margin-top:2px}
.bd-hd label.cap span{display:flex;align-items:center;gap:3px;font-size:9.5px;color:var(--mute)}
.bd-hd label.cap input{width:52px;min-height:20px;padding:0 3px;font-size:11px;text-align:right;border:1px solid var(--faint-2);background:var(--solid)}
.bd-modal{position:fixed;left:50%;top:6vh;transform:translateX(-50%);width:min(980px,95vw);max-height:88vh;overflow:auto;z-index:160}
.bd-modal h4{margin:16px 0 4px;font-size:var(--t-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.bd-modal .phead{position:sticky;top:0;background:var(--solid);z-index:2;gap:10px}
.bd-modal tr.done td{opacity:.5}
.rw-row td{background:rgba(196,60,50,.05)}
body.bd-dragging #bd-prod,body.bd-dragging #bd-urgent{box-shadow:0 0 0 3px rgba(185,140,90,.35),0 0 22px rgba(185,140,90,.35);animation:bdHalo 1.1s ease-in-out infinite}
body.bd-dragging #bd-urgent{box-shadow:0 0 0 3px rgba(196,60,50,.35),0 0 22px rgba(196,60,50,.3)}
.dragon{outline:3px solid var(--bronze)!important;outline-offset:-3px}
#bd-urgent.dragon{outline-color:#c43c32!important}
@keyframes bdHalo{50%{box-shadow:0 0 0 5px rgba(185,140,90,.5),0 0 30px rgba(185,140,90,.45)}}
.bc.just,.urg-it.just{animation:bdJust 2.4s ease-out 1;z-index:5}
@keyframes bdJust{0%{box-shadow:0 0 0 0 rgba(185,140,90,.9);transform:scale(1.06)}25%{box-shadow:0 0 0 6px rgba(185,140,90,.55)}100%{box-shadow:0 0 0 14px rgba(185,140,90,0);transform:none}}
@media (prefers-reduced-motion:reduce){.bc.just,.urg-it.just,body.bd-dragging #bd-prod,body.bd-dragging #bd-urgent{animation:none}}
.mb-bar select{min-height:30px;font-size:var(--t-sm);max-width:280px}
.mb-act button{min-height:28px}
.mc{display:flex;flex-direction:column;gap:8px;padding:14px 18px}
.mc-h{display:flex;align-items:center}
.mc-h b{font-size:var(--t-md)}
.mc-f{display:grid;grid-template-columns:1fr;gap:6px}
.mc-f label{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:8px;font-size:var(--t-xs);color:var(--mute)}
.mc-f input{min-height:30px;font-size:var(--t-sm)}
.mc textarea{width:100%;min-height:240px;font-size:var(--t-sm);line-height:1.45;padding:8px 10px;resize:vertical;font-family:inherit}
.mc-att{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--t-xs);align-items:center}
.bd-modal,.trash-m{background:var(--solid)!important;opacity:1;backdrop-filter:none;box-shadow:0 18px 60px rgba(15,22,36,.35)}
.bd-modal,.trash-m{background-color:#141c2b!important}
html.light .bd-modal,html.light .trash-m{background-color:#fff!important}
.modal-bg{background:rgba(15,22,36,.55)!important}
.bd-modal .phead,.bd-modal .pad{background:inherit}
.owner-page .sp-head{flex-wrap:wrap;gap:8px;align-items:center}
.owner-page #orgq{min-height:30px;width:240px;font-size:var(--t-sm)}
.org-wrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}
.org-canvas{overflow:auto;border:1px solid var(--faint);background:
 linear-gradient(var(--faint) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,var(--faint) 1px,transparent 1px) 0 0/28px 28px,var(--solid);
 min-height:620px;max-height:calc(100vh - 170px);padding:24px}
.org-tree{width:max-content;min-width:100%;margin:0 auto}
.org-tree ul{display:flex;justify-content:center;padding:22px 0 0;margin:0;position:relative}
.org-tree>ul{padding-top:0}
.org-tree li{list-style:none;position:relative;padding:22px 8px 0;display:flex;flex-direction:column;align-items:center}
.org-tree>ul>li{padding-top:0}
.org-tree li::before,.org-tree li::after{content:"";position:absolute;top:0;right:50%;width:50%;height:22px;border-top:1.5px solid #9aa5b5}
.org-tree li::after{right:auto;left:50%;border-left:1.5px solid #9aa5b5}
.org-tree li:only-child::before,.org-tree li:only-child::after{display:none}
.org-tree li:only-child{padding-top:22px}
.org-tree>ul>li:only-child{padding-top:0}
.org-tree li:first-child::before,.org-tree li:last-child::after{border:0}
.org-tree li:last-child::before{border-right:1.5px solid #9aa5b5}
.org-tree li:only-child>.ocd::before{content:"";position:absolute;top:-22px;left:50%;height:22px;border-left:1.5px solid #9aa5b5}
.org-tree>ul>li:only-child>.ocd::before{display:none}
.org-ch{position:relative;padding-top:0}
.org-ch::before{content:"";position:absolute;top:0;left:50%;height:22px;border-left:1.5px solid #9aa5b5}
.org-ch>ul{padding-top:22px}
.org-ch.noted{border:1.5px dashed color-mix(in srgb,var(--gc) 70%,transparent);background:color-mix(in srgb,var(--gc) 6%,transparent);margin-top:10px;padding:4px 6px 10px}
.org-ch.noted::before{top:-12px;height:12px}
.org-gn{margin-top:10px;max-width:280px;font-size:11px;line-height:1.35;padding:4px 8px;background:color-mix(in srgb,var(--gc) 14%,var(--solid));border-left:3px solid var(--gc);color:#3a4558;text-align:left;position:relative}
.org-gn::before{content:"";position:absolute;top:-10px;left:50%;height:10px;border-left:1.5px solid #9aa5b5}
.org-gn+.org-ch.noted{margin-top:0}
.org-tree ul.org-stack{display:flex;flex-direction:column;gap:16px;align-items:stretch;padding:22px 6px 0 0;margin:0;position:relative;justify-content:flex-start}
.org-stack::before{content:"";position:absolute;top:0;left:14px;bottom:24px;border-left:1.5px solid #9aa5b5}
.org-tree .org-stack>li{padding:0 0 0 22px;align-items:flex-start}
.org-tree .org-stack>li::before{content:"";position:absolute;left:14px;top:26px;width:8px;height:0;border:0;border-top:1.5px solid #9aa5b5;right:auto;display:block}
.org-tree .org-stack>li::after{display:none}
.org-stack>li>.ocd::before{display:none!important}
.org-stack .org-ch::before{left:22px}
.ocd{position:relative;display:grid;grid-template-columns:46px 1fr;gap:9px;align-items:center;width:232px;min-height:64px;padding:8px 10px 8px 8px;background:#fff;border:1px solid #d5dbe4;border-top:4px solid var(--oc,#9aa5b5);box-shadow:0 2px 6px rgba(20,30,50,.06);cursor:grab;text-align:left;user-select:none;transition:box-shadow .15s,transform .15s}
html:not(.light) .ocd{background:#18202f;border-color:#2c3648}
.ocd:hover{box-shadow:0 6px 16px rgba(20,30,50,.14)}
.ocd.sel{outline:2px solid var(--bronze);outline-offset:2px}
.ocd.hit{box-shadow:0 0 0 3px rgba(185,140,90,.55)}
.ocd.vac{border-style:dashed;background:color-mix(in srgb,#c4574a 4%,#fff)}
.ocd.grp{width:210px;min-height:48px;background:color-mix(in srgb,var(--oc,#4f79b0) 6%,#fff)}
.ocd.dt{box-shadow:0 -4px 0 0 var(--bronze)}
.ocd.db{outline:3px solid var(--bronze);outline-offset:2px}
body.org-dragging .ocd:not(.dt):not(.db){opacity:.92}
.ocd-ph{width:46px;height:46px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--oc,#6b7380) 16%,#fff);color:var(--oc,#3a4558);font-weight:600;font-size:15px;letter-spacing:.02em}
.ocd.grp .ocd-ph{border-radius:0;width:34px;height:34px;font-size:18px}
.ocd-ph img{width:100%;height:100%;object-fit:cover}
.ocd-ph.big{width:56px;height:56px;font-size:18px}
.ocd-b{min-width:0;display:flex;flex-direction:column;gap:1px}
.ocd-t{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:#5a6577;line-height:1.25}
.ocd-n{font-size:13.5px;font-weight:600;color:#1d2a40;line-height:1.25}
html:not(.light) .ocd-n{color:#e8edf5}
.vac-l{color:#b23a30;font-weight:600}
.ocd-l{font-size:10.5px;color:var(--mute)}.ocd-l code{font-size:10px}
.ocd-tg{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}
.ocd-tg i{font-style:normal;font-size:9.5px;padding:0 5px;border:1px solid var(--tc);color:var(--tc);background:color-mix(in srgb,var(--tc) 8%,transparent);white-space:nowrap}
.ocd-tg i button{border:0;background:none;padding:0 0 0 2px;min-height:0;color:inherit;cursor:pointer}
.ocd-cm{position:absolute;right:6px;top:4px;font-size:11px;color:var(--bronze)}
.ocd-fold{position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);min-height:0;height:20px;min-width:22px;padding:0 5px;font-size:11px;line-height:18px;border:1px solid #c6cdd8;background:#fff;border-radius:10px;cursor:pointer;z-index:2}
.ocd.just{animation:bdJust 2.2s ease-out 1}
.org-insp{position:sticky;top:60px;border:1px solid var(--faint-2);background:var(--solid);max-height:calc(100vh - 80px);overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.oi-h{display:flex;align-items:center;gap:10px}
.oi-f{display:flex;flex-direction:column;gap:8px}
.oi-f label,.oi-sec label{display:flex;flex-direction:column;gap:3px;font-size:var(--t-xs);color:var(--mute)}
.oi-f input,.oi-f textarea,.oi-sec select,.oi-sec input{font-size:var(--t-sm);min-height:30px;color:var(--txt)}
.oi-f textarea{resize:vertical;padding:5px 7px;font-family:inherit}
.oi-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.oi-row input:not([type=checkbox]):not([type=radio]){flex:1;min-width:120px;min-height:28px}
.oi-col{display:flex;flex-direction:column;gap:4px;font-size:var(--t-xs);color:var(--mute)}
.oi-pal{display:flex;gap:5px;flex-wrap:wrap}
.oi-pal button{width:24px;height:24px;min-height:0;padding:0;border:1px solid #c6cdd8;background:var(--pc);cursor:pointer;position:relative}
.oi-pal button:first-child{background:linear-gradient(135deg,#fff 45%,#c4574a 46%,#c4574a 54%,#fff 55%)}
.oi-pal button.on{outline:2px solid var(--txt);outline-offset:1px}
.oi-act{display:flex;flex-wrap:wrap;gap:5px;border-top:1px solid var(--faint);padding-top:10px}
.oi-act .danger{color:var(--danger)}
.oi-sec{border-top:1px solid var(--faint);padding-top:10px;display:flex;flex-direction:column;gap:8px}
.oi-sec h4{margin:0;font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.oi-acc{display:flex;flex-direction:column;gap:8px}
.acl-t td,.acl-t th{font-size:11.5px;padding:4px 6px;text-align:center}
.acl-t td:first-child,.acl-t th:first-child{text-align:left}
.btn-file{display:inline-flex;align-items:center;border:1px solid var(--faint-2);padding:2px 10px;min-height:26px;cursor:pointer;font-size:var(--t-xs)}
.oi-f .check-label,.oi-sec .check-label{flex-direction:row!important;align-items:center;gap:6px;color:var(--txt);font-size:var(--t-sm)}
.oi-f input[type=checkbox],.oi-sec input[type=checkbox],.oi-sec input[type=radio]{min-height:0!important;width:auto;flex:0 0 auto}
.oi-row select{min-height:28px;font-size:var(--t-xs);max-width:140px}
.org-insp input[type=checkbox]{-webkit-appearance:checkbox;appearance:auto;width:16px!important;height:16px!important;min-height:0!important;padding:0!important;border:1px solid #9aa5b5!important;background:none!important;box-shadow:none!important;flex:0 0 16px}
.org-insp input[type=radio]{-webkit-appearance:radio;appearance:auto;width:15px!important;height:15px!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
@media (max-width:1100px){.org-wrap{grid-template-columns:1fr}.org-insp{position:static;max-height:none}}
@media (max-width:1380px){.top nav button{padding-left:3px!important;padding-right:3px!important;letter-spacing:.02em!important;font-size:10.5px!important}.top #role{max-width:110px}}
.workspace[data-mod="owner"],.workspace[data-mod="plan"]{max-width:none}
@media (min-width:1900px){.workspace[data-mod="owner"]{padding-left:28px;padding-right:28px}.workspace[data-mod="owner"] .org-wrap{grid-template-columns:minmax(0,1fr) 440px}.workspace[data-mod="owner"] .org-canvas{max-height:calc(100vh - 150px);min-height:calc(100vh - 150px)}}
@media (min-width:2600px){.workspace[data-mod="owner"] .org-wrap{grid-template-columns:minmax(0,1fr) 500px}.ocd{width:260px}.ocd-n{font-size:15px}}
@media (max-width:700px){.org-canvas{min-height:420px;max-height:70vh;padding:12px}.owner-page #orgq{width:100%}.org-insp{padding:10px}.oi-act button{flex:1 1 auto}}
.bd-find{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 16px}
.bd-find .bd-q{display:flex;align-items:center;gap:8px;flex:1 1 360px}
.bd-find .bd-q span{font-size:var(--t-xs);color:var(--mute);white-space:nowrap}
.bd-find #bdq{flex:1;min-height:34px;font-size:var(--t-md);border:1px solid var(--faint-2);padding:4px 10px;background:var(--solid)}
.bt.hit,.ag-box.hit,.ag-no span.hit{box-shadow:0 0 0 2px #e0a33a,0 0 14px rgba(224,163,58,.55)}
.ag-no span.hit{background:#fff3d6}
.bc.hl{box-shadow:0 0 0 2px #e0a33a}
.ag-box{border:1.5px solid #4f79b0;background:color-mix(in srgb,#4f79b0 5%,var(--solid));cursor:grab;padding:8px 10px}
.ag-box .bgp-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ag-box .bgp-h b{font-size:var(--t-sm)}.ag-box .bgp-h small b{font-size:var(--t-sm);color:#1d2a40}
.ag-gl{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}
.ag-gl code{font-size:12px;font-weight:600;border:1px solid rgba(47,122,85,.45);padding:0 5px}
.ag-no{font-size:12px;line-height:1.5;color:#3a4558;word-break:break-word}
.ag-no span{font-weight:600}
.bt-w{font-size:11px;color:#9b2f27;background:#fff3f1;border-left:3px solid #c4574a;padding:2px 6px;margin:2px 0}
.bd-wait{border:2px dashed rgba(196,87,74,.5)}
.gl-h{align-items:baseline;padding:3px 5px;background:rgba(79,121,176,.08)}
.gl-h b{font-size:14px;font-weight:700;color:#1f3054}
.gl-h .gw{font-size:13px;font-weight:700;color:#1f3054;white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.gl-h .gw small{font-size:9.5px;font-weight:400;color:var(--mute)}
.bc .mt>div{font-size:12px;line-height:1.35}
.bc .mt .gm{font-size:13px;font-weight:700}
.bc .mt .ga{font-weight:600}
#bd-prod.has-ch .bc:not(.ch){opacity:.28;filter:grayscale(.6)}
.bc.ch{box-shadow:0 0 0 2px var(--bronze),0 4px 12px rgba(185,140,90,.35)}
.bd-cell.dropday{outline:2px dashed var(--bronze);outline-offset:-3px;background:rgba(185,140,90,.08)}
.tab-sep{width:1px;align-self:stretch;background:var(--faint-2);margin:0 6px}
.shop-tabs .pt-b{border-color:#4f79b0!important;color:#1f3054}
.shop-tabs .pt-b.on{background:#1f3054;color:#fff}
@media (max-width:700px){.shop-tabs{flex-wrap:wrap}.tab-sep{display:none}.bd-find .bd-q{flex-basis:100%;flex-wrap:wrap}.bd-find #bdq{min-width:0;width:100%}}
.bd-wires .w.dash{stroke-dasharray:5 5;stroke-width:1.3;opacity:.75}
.bd-wires .w.bold{stroke-width:2.2;stroke-dasharray:none;opacity:1}
.bd-wires .w.bold.p{stroke:#c98a3a}.bd-wires .w.bold.f{stroke:#2f7a55}
.bd-wires .rk rect{fill:#1f3054;stroke:#fff;stroke-width:1.5;filter:drop-shadow(0 2px 3px rgba(15,22,36,.35))}
.bd-wires .rk text{fill:#fff;font:700 12px/1 var(--font,system-ui);text-anchor:middle;letter-spacing:.04em}
.bd-wires .rk.none rect{fill:#fff3f1;stroke:#c4574a;stroke-dasharray:3 2}
.bd-wires .rk.none text{fill:#b23a30;font-size:10px}
.rk-l{display:inline-block;margin-top:2px;font-size:10.5px;font-weight:700;color:#1f3054;border:1px solid #1f3054;padding:0 4px;background:#eef2f8}
select.rks{min-height:26px;font-size:11px;max-width:120px}
.ord-pos .ver-sel{display:flex;align-items:center;gap:8px}
.ord-pos .ver-sel select{min-height:32px;font-size:var(--t-sm);max-width:min(560px,70vw)}
.pos-t tr.grp-r td{background:rgba(31,48,84,.05);border-top:2px solid var(--faint-2)}
.pos-t code{font-size:13px}
.oc2 .src.aw{color:#1f3054;border-color:#1f3054}
.bd-find2{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:760px;padding:6px 10px;border:1px solid var(--faint-2);background:var(--solid);margin:4px 0 -6px;align-self:flex-start}
.bd-find2 #bdq{width:280px;min-height:30px;font-size:var(--t-sm);border:1px solid var(--faint-2);padding:2px 8px}
.bd-find2 .check-label{font-size:var(--t-xs)}
.csel-n{color:#1f3054;font-weight:600}
.bc .bc-c{font-size:10.5px;color:#4a5568;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:1px 0}
.bc.csel{outline:2px solid #4f79b0;outline-offset:1px;background:color-mix(in srgb,#4f79b0 8%,#fff)}
.tg-box{border:1.5px solid #4f79b0;background:color-mix(in srgb,#4f79b0 5%,transparent);padding:4px;margin:6px 0 10px;display:flex;flex-direction:column;gap:4px;cursor:grab}
.tg-h{display:flex;align-items:center;gap:6px;font-size:11px;color:#1f3054}
.tg-h small{color:var(--mute)}.tg-h .x{margin-left:auto}
.u-before{box-shadow:0 -3px 0 0 var(--bronze)!important}
.bd-cell{padding-bottom:10px}
.bd-cell>.bc,.bd-cell>.gl-grp,.bd-cell>.tg-box{margin-bottom:6px}
.bd-day{border-top:3px solid #c6cdd8}
.bd-cell[data-day="1"],.bd-cell[data-day="3"]{background:rgba(31,48,84,.025)}
.bd-cell[data-day]{border-top:3px solid #c6cdd8}
.octx button.strong{font-weight:700;color:#1f3054}
.bt-g code.gk{border-color:rgba(47,122,85,.55);color:#256341;background:#eef7f1}
.bt-g code.gl,.bd-modal code.gl{border-color:rgba(201,138,58,.7);color:#8a5a12;background:#fff6e3}
.bt-g code.gn,.bd-modal code.gn{border-color:#b8bec8;color:#7a828e;background:#eceef1}
.bd-modal code.gk{border:1px solid rgba(47,122,85,.55);color:#256341;background:#eef7f1;padding:0 5px}
.bd-modal code.gs{border:1px solid rgba(178,58,48,.55);color:#9b2f27;background:#fff3f1;padding:0 5px}
.bd-modal code.gl,.bd-modal code.gn{border-width:1px;border-style:solid;padding:0 5px}
.bc .mt .low{color:#8a5a12}.bc .mt .none{color:#7a828e}
.bd-legend{display:inline-flex;gap:6px;align-items:center;font-size:11px}
.bd-legend code{font-size:11px;padding:0 5px;border:1px solid}
.plan-title{font-size:13px;font-weight:600;letter-spacing:.04em;white-space:nowrap;color:var(--txt)}
body.fix-plan{overflow:hidden}
body.fix-plan .top{height:32px!important;gap:12px}
body.fix-plan .top .logo{transform:scale(.8);transform-origin:left center}
@media (min-width:901px){body.fix-plan .top .clock{display:flex!important;margin:0 auto;font-size:12px;line-height:1;min-width:0}body.fix-plan .top .clock .ck-d{display:inline!important}}
@media (max-width:1500px){body.fix-plan .top nav button{font-size:10px!important;padding-left:2px!important;padding-right:2px!important}body.fix-plan .top .dotsep{display:none}body.fix-plan .top .theme-btn{display:none}}
body.fix-plan .top .icon-btn,body.fix-plan .top .theme-btn,body.fix-plan .top .role,body.fix-plan .top .more summary{min-height:24px;height:24px;font-size:11px;padding-top:0;padding-bottom:0}
body.fix-plan .workspace{height:calc(100vh - 32px);height:calc(100dvh - 32px);max-width:none;padding:6px 10px 6px;gap:0;overflow:hidden}
.bd-page.fixed{height:100%;display:flex;flex-direction:column;gap:6px;min-height:0}
.bd-page.fixed>.panel{margin:0}
.bd-page.fixed .bd-pool{flex:none}
.bd-page.fixed .bd-pool .phead{padding:4px 10px;min-height:0}
.bd-page.fixed .bd-pool .phead h3{font-size:12px}
.bd-page.fixed .bd-pool.closed .bd-groups{display:none!important}
.bd-page.fixed .bd-groups{display:flex!important;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:8px;padding:6px 8px 8px;grid-template-columns:none!important}
.bd-page.fixed .bd-groups>.bgp{flex:0 0 auto;width:min(560px,46vw);max-height:150px;overflow-y:auto;margin:0}
.bd-page.fixed .bd-groups>.bgp .bgp-t{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.bd-page.fixed .wait-box{border:2px dashed rgba(196,87,74,.55)}
.bd-page.fixed .bd-prod{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin:0}
.bd-page.fixed .bd-ph{flex:none;padding:4px 10px;gap:10px;flex-wrap:wrap;min-height:0}
.bd-page.fixed .bd-ph h3{font-size:12px;white-space:nowrap}
.bd-page.fixed .bd-ph .bd-find2{margin:0;padding:2px 6px;border:1px solid var(--faint-2)}
.bd-page.fixed .bd-ph .bd-find2 #bdq{width:240px;min-height:26px}
.bd-scroll{flex:1 1 auto;min-height:0;overflow:auto;position:relative}
.bd-inner{position:relative;min-width:min-content}
.urg-z .urg-it{white-space:normal}
.bd-inner .bd-wires{position:absolute;left:0;top:0;pointer-events:none;z-index:4}
.bd-page.fixed .bd-hd{position:sticky;top:0;z-index:6;background:var(--solid)}
.urg-l{background:rgba(196,60,50,.06);border-top:2px solid rgba(196,60,50,.35)!important;display:flex;flex-direction:column;gap:3px}
.urg-l b{color:#a8322a}.urg-l small{font-size:10px;color:var(--mute)}
.bd-cell.urg-z{background:rgba(196,60,50,.04);border-top:2px solid rgba(196,60,50,.35)!important;min-height:34px}
.urg-z.on{background:rgba(196,60,50,.1);border-top-color:#c43c32!important}
.urg-z .urg-it{font-size:11px;padding:2px 5px;margin-bottom:3px;display:block}
.urg-l .urg-it{font-size:11px;padding:1px 4px}
.urg-z.dragon{outline:3px solid #c43c32!important}
.bd-prio{flex:none;margin:0}
.bd-prio .pr-bar{display:flex;align-items:center;gap:10px;padding:5px 12px;cursor:pointer;border-top:2px solid #1f3054;font-size:12px}
.bd-prio .pr-tog{font-size:11px;color:#1f3054;font-weight:600}
.bd-prio .pr-body{height:33vh;height:33dvh;display:flex;flex-direction:column;min-height:0}
.bd-prio .pr-body .tablewrap{flex:1;overflow:auto}
.pr-tools{display:flex;gap:8px;align-items:center;padding:4px 12px}
.pr-tools #prq{width:280px;min-height:26px;font-size:var(--t-sm);border:1px solid var(--faint-2);padding:2px 8px}
.pr-t td,.pr-t th{padding:3px 8px;font-size:12px}
.pr-t thead th{position:sticky;top:0;background:var(--solid);z-index:1}
.pr-r{cursor:grab;user-select:none}
.pr-r.sel td{background:color-mix(in srgb,#4f79b0 12%,transparent)}
.pr-n{width:48px;min-height:22px;text-align:right;font-weight:700;border:1px solid var(--faint-2);padding:0 4px}
@media (max-width:900px){body.fix-plan{overflow:auto}body.fix-plan .workspace{height:auto;overflow:visible}.bd-page.fixed{height:auto}.bd-page.fixed .bd-prod{min-height:70vh}.bd-scroll{max-height:75vh}.plan-title{display:none}}
body.fix-plan .top .role,body.fix-plan .top .theme-btn{display:none!important}
@media (min-width:2200px){body.fix-plan .top{position:sticky}body.fix-plan .top .clock{position:absolute;left:50%;transform:translateX(-50%);margin:0}body.fix-plan .top .modnav{margin-left:auto}}
@media print{.bg,.stepbar,.top{display:none}body{background:#fff;color:#000}}

/* ---------- v22.9 Участки: стационарный экран, вход старшего смены, Резка ---------- */
.shop-page.fixed{height:calc(100vh - 32px);display:flex;flex-direction:column;gap:4px;padding:4px 8px;overflow:hidden;box-sizing:border-box}
.shop-top-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;flex:0 0 auto;background:#fff;border:1px solid var(--line);padding:3px 8px}
.shop-top-bar .shop-tabs{display:flex;gap:3px;flex-wrap:wrap;margin:0}
.shop-top-bar .shop-tabs button{padding:3px 8px;font-size:11.5px;height:24px}
.sh-bar{display:flex;align-items:center;gap:10px;font-size:11.5px;color:#334155;flex-wrap:wrap}
.sh-bar b{color:var(--navy)}
.sh-gate-wrap{flex:1 1 auto;display:flex;align-items:center;justify-content:center;overflow:auto;padding:12px}
.sh-gate{width:min(820px,96vw);background:#fff;border:1px solid var(--navy)}
.sh-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:14px 18px}
.sh-col{display:flex;flex-direction:column;gap:10px}
.sh-col>label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#334155}
.sh-col>label input{height:30px;padding:4px 8px;font-size:13px}
.sh-lbl{font-size:12px;font-weight:700;color:var(--navy)}
.sh-wlist{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:190px;overflow:auto;padding:8px;border:1px solid var(--line);background:#f8fafc}
.sh-w{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;font-size:12.5px;padding:5px 8px;background:#fff;border:1px solid #e2e8f0;cursor:pointer}
.sh-w input[type="checkbox"]{width:15px;height:15px;margin:0;flex:0 0 15px}
.shop-grid.fixed-grid{flex:1 1 auto;min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr 340px;gap:6px}
.shop-grid.fixed-grid>.panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.shop-grid.fixed-grid .tablewrap{flex:1 1 auto;overflow:auto;min-height:0}
.pult-scroll{flex:1 1 auto;min-height:0;overflow:auto}

.cut-station{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:610px minmax(0,1fr);gap:6px;overflow:hidden}
.cut-left3{display:grid;grid-template-columns:175px 215px 210px;gap:5px;min-height:0;overflow:hidden}
.cut-col{display:flex;flex-direction:column;min-height:0;overflow:hidden;margin:0}
.cut-col .phead,.cut-work .phead{padding:5px 8px;min-height:26px}
.cut-col .phead h3{font-size:12px;margin:0}
.cut-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:5px;display:flex;flex-direction:column;gap:4px}

.cm-row{border:1px solid #d8dee8;background:#f8fafc;padding:5px 6px;cursor:pointer;user-select:none}
.cm-row:hover{border-color:#64748b;background:#f1f5f9}
.cm-row.on{border-color:var(--navy);background:#eef4ff;box-shadow:inset 3px 0 0 var(--navy)}
.cm-top{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:12px}
.cm-top code{font-size:10px;padding:1px 4px;border:1px solid}
.cm-top code.gk{background:#e7f6ec;color:#146c38;border-color:#8ed1a6}
.cm-top code.gl{background:#fff6d6;color:#7c5800;border-color:#e6c45a}
.cm-top code.gs{background:#fde8e8;color:#a61b1b;border-color:#eb9895}
.cm-top code.gn{background:#eceff3;color:#495464;border-color:#b8c0cc}
.cm-sub{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:10.5px;color:#475569;margin-top:2px}

.cut-ggrp{border:1px solid #d5dce6;background:#fff}
.cut-ggrp.on{border-color:var(--navy);background:#f5f8ff}
.cgg-h{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:4px 6px;background:#eef2f7;border-bottom:1px solid #d5dce6;font-size:11.5px;cursor:pointer;user-select:none}
.cut-ggrp.on .cgg-h{background:#dce7f9;color:var(--navy)}
.cgg-h span{font-size:10.5px;color:#475569}
.co-card{padding:4px 6px;border-bottom:1px solid #edf1f7;cursor:pointer;font-size:11px;user-select:none}
.co-card:last-child{border-bottom:0}
.co-card:hover{background:#f1f5f9}
.co-card.sel{background:#fff8eb;box-shadow:inset 3px 0 0 var(--bronze)}
.co-h{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.co-dot{width:9px;height:9px;display:inline-block;flex:0 0 9px;border:1px solid rgba(0,0,0,.25)}
.co-c{font-size:10px;color:#526074;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}

.cp-box{display:flex;flex-direction:column;gap:5px;padding:6px;background:#f8fafc;border:1px solid #d5dce6}
.cp-box label{display:flex;flex-direction:column;gap:2px;font-size:10.5px;color:#334155}
.cp-box select,.cp-box input{height:24px;font-size:11.5px;padding:2px 5px}
.cp-row2{display:grid;grid-template-columns:1fr 86px;gap:4px}
.cp-split-warn{background:#fff5f5;border:1px solid #e09b98;color:#7f1d1d;padding:5px 6px;font-size:10.5px;line-height:1.3}
.cp-split-warn input{margin-top:3px;width:100%;background:#fff}
.cp-rlist{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.cp-rh{font-size:11px;color:#334155;padding:2px 0}
.cp-rcard{border:1px solid #d5dce6;padding:4px 6px;background:#fff;font-size:11px}
.cp-rt{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:3px}
.cp-rt select{height:21px;font-size:10.5px;padding:1px 4px}
.cp-ri{display:flex;flex-wrap:wrap;gap:3px}
.cp-tag{display:inline-flex;align-items:center;gap:3px;background:#eef2f7;border:1px solid #cbd5e1;padding:1px 5px;font-size:10.5px}

.cut-work{display:flex;flex-direction:column;min-height:0;overflow:hidden;margin:0;padding:6px 8px;gap:4px}
.cw-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:4px;flex:0 0 auto}
.cw-gtitle{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11.5px}
.cw-gpills{display:flex;gap:3px;flex-wrap:wrap}
.cw-gpills .chip-btn{padding:2px 7px;font-size:11px;height:22px}
.cw-gpills .chip-btn.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.cw-sheet-cfg{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px}
.cw-sheet-cfg label{display:inline-flex;align-items:center;gap:4px}
.cw-wh{display:inline-flex;align-items:center;gap:3px}
.cw-wh input{width:56px;height:22px;padding:1px 4px;font-size:11.5px;text-align:center;font-weight:600}
#cut-trim{width:42px;height:22px;padding:1px 4px;font-size:11.5px;text-align:center}
.cw-work-dim{background:#f1f5f9;border:1px solid #cbd5e1;padding:2px 6px;font-size:11px;color:#1e293b}

.cw-add-drawer{background:#f8fafc;border:1px solid var(--navy);padding:5px 8px;flex:0 0 auto}
.cwa-h{display:flex;align-items:center;gap:8px;font-size:11.5px;margin-bottom:4px}
.cwa-list{display:flex;flex-wrap:wrap;gap:4px;max-height:74px;overflow-y:auto}
.cwa-it{background:#fff;border:1px solid #cbd5e1;padding:2px 7px;font-size:11px;cursor:pointer}
.cwa-it.on{border-color:var(--navy);background:#eef4ff}

.cw-stats{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:0 0 auto}
.cws-box{border:1px solid #cbd5e1;background:#f8fafc;padding:3px 8px;font-size:11px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cws-box.on{border-color:var(--navy);background:#eef4ff}
.cws-box.comb.on{border-color:#2f7a55;background:#eefaf2}
.cws-t{font-weight:700;color:#1e293b}
.cws-v{color:#334155}
.cws-v b.ok{color:#15803d;font-size:12px}

.cw-vars{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:0 0 auto;background:#fffbeb;border:1px solid #e6c45a;padding:3px 7px;font-size:11px}
.cwv-lbl{font-weight:700;color:#78350f}
.cwv-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;flex:1 1 auto}
.cwv-btn{display:flex;flex-direction:column;align-items:flex-start;padding:2px 7px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-size:10.5px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cwv-btn b{color:var(--navy)}
.cwv-btn.on,.cwv-btn.on b{border-color:var(--navy);background:var(--navy);color:#fff!important}
.cwv-btn.on small{color:#dbeafe!important}
.cgg-h button{white-space:nowrap;flex:0 0 auto}

.cw-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;flex:0 0 auto}
.cwl-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;background:#f8fafc;border:1px solid #cbd5e1;font-size:10.5px}
.cwl-tag.added{border-style:dashed;background:#eefaf2;border-color:#2f7a55}
.cwl-tag i{width:9px;height:9px;display:inline-block}

.cut-sheets-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:2px}
.cut-sheets-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;align-content:start}
.cs-card{border:1px solid #cbd5e1;background:#fff;padding:3px 5px;display:flex;flex-direction:column;gap:2px}
.cs-hd{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:10px;color:#334155;white-space:nowrap;overflow:hidden}
.cs-eff b{color:var(--navy)}
.cs-svg{width:100%;max-height:calc((100vh - 252px)/3 - 22px);height:auto;display:block;background:#f1f5f9}
.cs-t1{font-family:var(--font-sans,sans-serif);font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.cs-t2{font-family:var(--font-mono,monospace);font-weight:600;text-anchor:middle;dominant-baseline:central;pointer-events:none}
@media (max-width:1100px){
 .cut-station{grid-template-columns:1fr;overflow:auto}
 .cut-left3{grid-template-columns:1fr}
 .cut-sheets-grid{grid-template-columns:1fr 1fr}
}

/* ---------- v22.10 Планировщик 2.2: растяжка пула до 2/3 экрана, Сегодня заблокировано, почасовая шкала 8:15–19:45 ---------- */
.bd-splitter{flex:0 0 11px;height:11px;display:flex;align-items:center;justify-content:center;cursor:ns-resize;user-select:none;background:linear-gradient(180deg,#eef2f7 0%,#dde5f0 100%);border-left:1px solid var(--line);border-right:1px solid var(--line);position:relative;z-index:5}
.bd-splitter:hover{background:#d0dcef}
.bd-sp-grip{display:inline-flex;align-items:center;gap:6px;padding:0 12px;height:11px;background:#fff;border:1px solid #94a3b8;font-size:9.5px;color:var(--navy);line-height:1}
.bd-sp-grip i{width:18px;height:3px;border-top:1px solid #64748b;border-bottom:1px solid #64748b;display:inline-block}
.bd-page.fixed .bd-pool{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.bd-page.fixed .bd-pool #bd-groups{flex:1 1 auto;min-height:0}
.bd-page.fixed .bd-pool:not(.tall) #bd-groups>.bgp{max-height:100%}
.bd-pool.tall #bd-groups{flex:1 1 auto;min-height:0;overflow-y:auto!important;overflow-x:hidden!important;display:flex;flex-wrap:wrap!important;align-content:flex-start;gap:6px;padding:6px 8px;max-height:none!important}
.bd-pool.tall .bgp{flex:1 1 320px;max-width:100%}
.bd-pool.tall .bgp-t{display:flex;flex-wrap:wrap!important;gap:5px;max-height:none!important;overflow:visible!important}

.bd-today{background:#f1f5f9!important;border-left:3px solid #64748b!important}
.bdt-row{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%}
.bd-today.folded,.today-locked.folded{min-height:22px!important;max-height:24px!important;padding:2px 6px!important;overflow:hidden!important}
.today-locked{background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 8px,#f1f5f9 8px,#f1f5f9 16px)!important;color:#64748b;display:flex;align-items:center;justify-content:center}
.today-empty{font-size:10px;color:#94a3b8;font-style:normal}

.bd-tom-hd{background:#eef4ff!important;border-left:3px solid var(--navy)!important}
.bd-tom-sum{background:#f8fafc!important;min-height:26px!important;padding:3px 5px!important}

.bd-hband{background:#f8fafc!important;border-left:3px solid #94a3b8;padding:3px 6px!important;display:flex;flex-direction:column;justify-content:center;gap:1px}
.bd-hband b{font-size:11px;color:#1e293b}
.bd-hband small{font-size:9.5px;color:#64748b}
.bd-hband.compact,.bd-hcell.compact{min-height:18px!important;padding-top:1px!important;padding-bottom:1px!important;flex-direction:row!important;align-items:center!important;gap:6px!important}
.bd-hband.has-items,.bd-hcell.has-items{min-height:46px;height:auto}
.bd-hband.aux,.bd-hcell.aux{background:#f1f5f9!important;opacity:.88}
.bd-hband.lunch,.bd-hcell.lunch{background:#fffbeb!important}
.bd-hband.mark-1745,.bd-hcell.mark-1745{border-bottom:2px dashed #b45309!important}
.bd-hband.mark-1945,.bd-hcell.mark-1945{border-bottom:2px solid #991b1b!important}
.hb-mark{display:inline-block;font-size:9px;font-weight:700;padding:1px 4px;margin-top:1px}
.hb-mark.m17{background:#fef3c7;color:#92400e;border:1px solid #f59e0b}
.hb-mark.m19{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}
.bd-hcell.closed-1745{background:repeating-linear-gradient(-45deg,#fffbeb,#fffbeb 7px,#fef3c7 7px,#fef3c7 14px)!important;display:flex;align-items:center;justify-content:center}
.c17-lbl{font-size:9.5px;color:#92400e;font-weight:600}

.bc-tm{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:10px;padding:1px 4px;margin-bottom:2px;background:#eef4ff;border-left:2px solid var(--navy);color:#1e293b}
.bc-tm.split{background:#fff1f2;border-left-color:#e11d48}
.bc-tm.carry{background:#ecfdf5;border-left-color:#059669}
.tm-tag{font-size:9.5px;font-weight:700;padding:0 4px}
.tm-tag.split{background:#ffe4e6;color:#9f1239}
.tm-tag.carry{background:#d1fae5;color:#065f46}
.tm-norm{font-size:9.5px;background:#fef3c7;color:#78350f;padding:0 4px;border:1px solid #fde68a}
.bad-btn{background:#fee2e2!important;color:#991b1b!important;border-color:#f87171!important;font-weight:700}

.bc .mt{display:flex;flex-wrap:wrap;gap:2px 4px;margin-top:2px}
.bc .mt>div{font-size:9.5px;padding:1px 4px}

.bd-page.fixed .bd-pool .phead{flex:0 0 auto!important}
.bd-page.fixed .bd-pool:not(.tall) #bd-groups{padding:4px 8px!important;align-items:stretch}
.bd-page.fixed .bd-pool:not(.tall) #bd-groups>.bgp{max-height:108px!important}
.bd-prod .bc .mt{display:flex!important;flex-wrap:wrap!important;gap:2px 4px!important;margin-top:2px!important}
.bd-prod .bc .mt>div{display:inline-flex!important;align-items:center;gap:3px;padding:1px 4px!important;font-size:9.5px!important}
.bd-page.fixed .bd-grid>.bd-day{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.bd-page.fixed .bd-grid>.bd-day>small{display:block}
.bd-hband .hb-mark{white-space:nowrap;font-size:8.5px}

/* ---------- v22.11 Правки Планировщика 2.2 и шапки всех окон ---------- */
/* 1. Шапка во всех окнах как в 2.2: название рядом с ЛОГО, дата-время посередине */
.top{height:34px!important;min-height:34px!important;padding:0 12px!important;gap:12px!important;display:flex;align-items:center}
.top .logo{transform:scale(.82);transform-origin:left center;flex:0 0 auto}
.top .plan-title{font-size:12.5px;font-weight:600;letter-spacing:.03em;white-space:nowrap;color:var(--txt);flex:0 0 auto}
@media (min-width:901px){
 .top .clock{display:flex!important;margin:0 auto!important;font-size:12px;line-height:1;min-width:0;gap:6px;align-items:center}
 .top .clock .ck-d{display:inline!important}
}
.top .icon-btn,.top .theme-btn,.top .role,.top .more summary{min-height:24px;height:24px;font-size:11px;padding-top:0;padding-bottom:0}

/* 2. Верхний список в 2.2 — компактная прокручивающаяся лента (ribbon), при растяжке вниз — tall (до 2/3 экрана) */
.bd-page.fixed .bd-pool.ribbon{height:auto!important;max-height:112px!important;flex:0 0 auto!important;overflow:hidden!important}
.bd-page.fixed .bd-pool.ribbon #bd-groups{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;gap:8px!important;padding:4px 8px 6px!important;align-items:stretch!important;max-height:82px!important}
.bd-page.fixed .bd-pool.ribbon #bd-groups>.bgp{flex:0 0 auto!important;width:auto!important;max-width:none!important;max-height:74px!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;margin:0!important}
.bd-page.fixed .bd-pool.ribbon #bd-groups>.bgp .bgp-h{padding:2px 8px!important;font-size:11px!important;flex:0 0 auto!important}
.bd-page.fixed .bd-pool.ribbon #bd-groups>.bgp .bgp-t{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;gap:4px!important;padding:3px 6px!important;grid-template-columns:none!important;align-items:center!important}
.bd-page.fixed .bd-pool.ribbon .bt{width:210px!important;min-width:210px!important;flex:0 0 210px!important;padding:3px 6px!important;min-height:44px!important;max-height:48px!important;overflow:hidden!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-i svg{width:22px!important;height:22px!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-o,.bd-page.fixed .bd-pool.ribbon .bt .bt-c{display:none!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-n{font-size:10.5px!important}
.bd-page.fixed .bd-pool.ribbon .ag-card{width:255px!important;min-width:255px!important;flex:0 0 255px!important;background:#f4f8ff!important;border-color:#93b4db!important}
.ag-card .ag-sub{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;padding-top:4px;border-top:1px dashed #cbd5e1}

/* 3. Между столбцами воздух ~4 символа (4ch), чтобы было видно как идут линии маршрута */
.bd-grid{column-gap:4ch!important;row-gap:0!important;background:#eef2f7!important}
.bd-grid>.bd-hd,.bd-grid>.bd-day,.bd-grid>.bd-cell{background:#fff}

/* 4. Компактные заголовки столбцов: только Дата / Склад / Резка + поле ввода производительности */
.bd-page.fixed .bd-hd{padding:4px 6px!important;min-height:34px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;text-align:center!important}
.bd-page.fixed .bd-hd b{font-size:12px!important;line-height:1.1!important}
.bd-page.fixed .bd-hd .cap{margin:0!important;display:inline-flex!important;align-items:center!important}
.bd-page.fixed .bd-hd .cap input{width:56px!important;height:20px!important;min-height:20px!important;font-size:11.5px!important;text-align:center!important;padding:0 4px!important;font-weight:700!important}

/* 5. Всплывающая подсказка при удержании мыши 2 секунды */
.tip2-pop{position:fixed;z-index:9999;max-width:340px;background:#142038;color:#f8fafc;padding:7px 10px;font-size:11.5px;line-height:1.35;border:1px solid #4f79b0;box-shadow:0 6px 18px rgba(15,23,42,.28);pointer-events:none}

/* 6. Фоновая ненавязчивая часовая шкала внутри дня и перетаскивание плашки стекла */
.bd-day-row{position:relative;min-height:58px;display:flex!important;flex-direction:column!important;justify-content:space-between!important;padding:5px 6px!important}
.bg-hscale{display:flex;flex-wrap:wrap;gap:2px 5px;font-size:8.5px;color:#94a3b8;line-height:1.1;margin-top:3px;pointer-events:none;user-select:none}
.bg-hscale .m17{color:#64748b;font-weight:600}
.bd-has-bgscale{background-image:linear-gradient(to bottom,transparent 24%,rgba(148,163,184,.12) 25%,transparent 26%,transparent 49%,rgba(148,163,184,.12) 50%,transparent 51%,transparent 74%,rgba(148,163,184,.16) 75%,transparent 76%)!important}
.gl-grp[data-gl-drag]{cursor:grab}
.gl-grp[data-gl-drag]:active{cursor:grabbing}
.gl-grp .gl-h{cursor:grab;user-select:none}
.bc.csel{outline:2px solid var(--navy)!important;background:#eef4ff!important}

/* Доводка высоты ленты, чтобы марки стекла на плитках в ленте читались полностью без обрезки */
.bd-page.fixed .bd-pool.ribbon{max-height:128px!important}
.bd-page.fixed .bd-pool.ribbon #bd-groups{max-height:98px!important;padding:4px 8px!important}
.bd-page.fixed .bd-pool.ribbon #bd-groups>.bgp{max-height:90px!important}
.bd-page.fixed .bd-pool.ribbon .bt{min-height:60px!important;max-height:64px!important;padding:3px 6px!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-b{gap:1px!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-h{font-size:11px!important;line-height:1.15!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-n{font-size:10px!important;line-height:1.15!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-g{margin-top:1px!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-g code{font-size:9.5px!important;padding:0 4px!important}
/* Полоска загрузки участка (.ld) сверху ячейки без наезда на первую плашку */
.bd-cell>.ld{ position:relative!important; height:16px!important; margin-bottom:6px!important; display:flex!important; align-items:center!important; background:#eef2f7; border:1px solid #cbd5e1 }
.bd-cell>.ld::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:var(--p,0%); background:rgba(31,48,84,.16) }
.bd-cell>.ld span{ position:relative; z-index:1; font-size:9.5px!important; line-height:1!important; padding:0 5px!important; color:#1e293b!important; top:0!important }

.ag-card .bt-h{flex-wrap:nowrap!important;gap:4px!important}
.ag-card .bt-h b{white-space:nowrap!important}
.ag-card .bt-n{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* ---------- v22.12 Доводка ленты пула (по скриншоту 14.35.11): без обрезки номера, кнопок и 2-й строки стекла ---------- */
.bd-page.fixed .bd-pool.ribbon{max-height:138px!important}
.bd-page.fixed .bd-pool.ribbon #bd-groups{max-height:108px!important;padding:4px 8px!important}
.bd-page.fixed .bd-pool.ribbon #bd-groups>.bgp{max-height:100px!important}
.bd-page.fixed .bd-pool.ribbon #bd-groups>.bgp .bgp-t{padding:3px 6px!important;gap:6px!important;align-items:stretch!important}
.bd-page.fixed .bd-pool.ribbon .bt{
 width:auto!important;min-width:215px!important;max-width:295px!important;flex:0 0 auto!important;
 min-height:66px!important;max-height:72px!important;padding:4px 7px!important;
 display:grid!important;grid-template-columns:22px minmax(0,1fr) 20px!important;align-items:center!important;gap:6px!important;overflow:hidden!important
}
.bd-page.fixed .bd-pool.ribbon .bt.ag-card{min-width:240px!important;max-width:320px!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-i{width:22px!important;height:22px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-b{min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-h{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:4px!important;white-space:nowrap!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-h b{white-space:nowrap!important;font-size:11.5px!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-h i{white-space:nowrap!important;font-size:9.5px!important;padding:0 4px!important;line-height:1.25!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-h .ag-btn{height:16px!important;min-height:16px!important;padding:0 4px!important;font-size:9.5px!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-n{font-size:10.5px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-g{display:flex!important;flex-wrap:wrap!important;gap:2px 3px!important;margin-top:1px!important;max-height:32px!important;overflow:hidden!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-g code{font-size:9.5px!important;line-height:1.2!important;padding:0 4px!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-add{width:20px!important;height:20px!important;min-height:20px!important;padding:0!important;font-size:13px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important}

/* Доводка карточек ленты под 2 ряда марок стекла (09093, 09103, 09138, 09185-2/2) */
.bd-page.fixed .bd-pool.ribbon{max-height:148px!important}
.bd-page.fixed .bd-pool.ribbon #bd-groups{max-height:116px!important;padding:4px 8px 6px!important}
.bd-page.fixed .bd-pool.ribbon #bd-groups>.bgp{max-height:108px!important}
.bd-page.fixed .bd-pool.ribbon .bt{
 width:245px!important;min-width:245px!important;max-width:275px!important;
 min-height:72px!important;max-height:78px!important;padding:4px 7px!important
}
.bd-page.fixed .bd-pool.ribbon .bt.ag-card{width:265px!important;min-width:265px!important;max-width:300px!important}
.bd-page.fixed .bd-pool.ribbon .bt .bt-g{max-height:36px!important;overflow:visible!important}

/* ---------- v22.13 Столбики компаний (листаются влево-вправо) + непрерывная фоновая шкала часов ---------- */
.bd-page.fixed .bd-pool.closed{height:28px!important;min-height:28px!important;max-height:28px!important;overflow:hidden!important;padding:0!important}
.bd-page.fixed .bd-pool.closed .phead{height:28px!important;min-height:28px!important;padding:0 10px!important;border:0!important}

.bd-page.fixed .bd-pool.cols-mode{display:flex!important;flex-direction:column!important;min-height:125px!important;overflow:hidden!important}
.bd-page.fixed .bd-pool.cols-mode #bd-groups{
 flex:1 1 auto!important;min-height:0!important;max-height:none!important;
 display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
 overflow-x:auto!important;overflow-y:hidden!important;
 gap:8px!important;padding:5px 8px!important;align-items:stretch!important
}
.bd-page.fixed .bd-pool.cols-mode #bd-groups>.bgp{
 flex:0 0 285px!important;width:285px!important;max-width:285px!important;
 height:100%!important;max-height:100%!important;margin:0!important;
 display:flex!important;flex-direction:column!important;overflow:hidden!important
}
.bd-page.fixed .bd-pool.cols-mode #bd-groups>.bgp .bgp-h{flex:0 0 auto!important;padding:3px 8px!important;font-size:11px!important}
.bd-page.fixed .bd-pool.cols-mode #bd-groups>.bgp .bgp-t{
 flex:1 1 auto!important;min-height:0!important;max-height:none!important;
 display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;
 overflow-y:auto!important;overflow-x:hidden!important;
 gap:4px!important;padding:4px 6px!important;align-items:stretch!important
}
.bd-page.fixed .bd-pool.cols-mode .bt{
 width:100%!important;min-width:0!important;max-width:none!important;flex:0 0 auto!important;
 min-height:0!important;max-height:none!important;padding:4px 6px!important;
 display:grid!important;grid-template-columns:22px minmax(0,1fr) 20px!important;align-items:center!important;gap:6px!important;overflow:visible!important;box-sizing:border-box!important
}
.bd-page.fixed .bd-pool.cols-mode .bt .bt-i{width:22px!important;height:22px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.bd-page.fixed .bd-pool.cols-mode .bt .bt-b{min-width:0!important;display:flex!important;flex-direction:column!important;gap:1px!important}
.bd-page.fixed .bd-pool.cols-mode .bt .bt-h{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:4px!important;white-space:nowrap!important}
.bd-page.fixed .bd-pool.cols-mode .bt .bt-h b{font-size:11.5px!important;white-space:nowrap!important}
.bd-page.fixed .bd-pool.cols-mode .bt .bt-n{font-size:10.5px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.bd-page.fixed .bd-pool.cols-mode .bt .bt-o{display:block!important;font-size:9.5px!important;color:#64748b!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.bd-page.fixed .bd-pool.cols-mode .bt .bt-g{display:flex!important;flex-wrap:wrap!important;gap:2px 3px!important;margin-top:2px!important;max-height:none!important;overflow:visible!important}
.bd-page.fixed .bd-pool.cols-mode .bt .bt-g code{font-size:9.5px!important;line-height:1.2!important;padding:0 4px!important}
.bd-page.fixed .bd-pool.cols-mode .bt .bt-add{width:20px!important;height:20px!important;min-height:20px!important;padding:0!important;font-size:13px!important;display:flex!important;align-items:center!important;justify-content:center!important}

/* Шкала часов бледно на протяжении всего дня сверху вниз, заказы напротив своего часа без горизонтальных рамок внутри дня */
.bd-day-head,.bd-day-headcell{border-bottom:0!important;padding:3px 6px 1px!important;min-height:22px!important;background:#fff!important}
.bd-day-head b{font-size:11.5px;color:var(--navy)}
.bd-day-headcell>.ld{margin-bottom:1px!important}
.bd-hslot-lbl{border-top:0!important;border-bottom:0!important;padding:1px 6px!important;min-height:16px!important;display:flex!important;align-items:flex-start!important;justify-content:flex-end!important;background:#fff!important}
.bd-hslot-lbl .hr-faint{font-size:9.5px;color:#b0bac9;font-weight:500;line-height:1.2;user-select:none}
.bd-hslot-cell{border-top:0!important;border-bottom:0!important;background:#fff!important;min-height:16px!important;padding:1px 4px!important}
.bd-hslot-cell.empty-hr{min-height:14px!important;padding:0 4px!important}
.bd-hslot-lbl.day-end,.bd-hslot-cell.day-end{border-bottom:1px solid var(--line)!important;padding-bottom:6px!important}
.bd-day-empty,.bd-cell-empty{min-height:28px!important;padding:4px 6px!important;background:#fff!important}
.hr-tick-mini{font-size:9px;color:#b0bac9}

/* ---------- v22.13 Кнопки «← Назад», Архив отгруженных заказов и колонка «Расчёт» (>1 мес сереньким / ★ ВАЖНО вверху) ---------- */
.top-back-btn{
 height:24px!important;min-height:24px!important;padding:0 8px!important;font-size:11.5px!important;font-weight:600!important;
 background:#f1f5f9!important;color:var(--navy)!important;border:1px solid #cbd5e1!important;cursor:pointer;white-space:nowrap;flex:0 0 auto
}
.top-back-btn:hover:not(:disabled){background:#e2e8f0!important;border-color:#94a3b8!important}
.top-back-btn:disabled{opacity:.38;cursor:default}

.crumb-back{
 font-weight:700!important;color:var(--navy)!important;background:#eef4ff!important;border:1px solid #93b4db!important;
 padding:2px 9px!important;font-size:11.5px!important;margin-right:4px!important;cursor:pointer
}
.crumb-back:hover{background:#dbeafe!important}

/* Колонка Расчёт: старше 1 месяца — сереньким (old-calc), закреплённые с пометкой ВАЖНО — выделенные вверху (imp-calc) */
.oc2.old-calc{
 background:#f3f4f6!important;border-color:#d1d5db!important;color:#6b7280!important;opacity:.78
}
.oc2.old-calc .o2-h b,.oc2.old-calc .o2-t,.oc2.old-calc .o2-n b{color:#6b7280!important}
.oc2.old-calc code{background:#e5e7eb!important;color:#6b7280!important;border-color:#d1d5db!important}
.old-badge{font-size:9.5px;padding:0 5px;background:#e5e7eb;color:#4b5563;border:1px solid #cbd5e1;white-space:nowrap}

.oc2.imp-calc{
 background:#fffbeb!important;border:1.5px solid #d97706!important;box-shadow:0 2px 6px rgba(217,119,6,.14)!important;opacity:1!important
}
.imp-badge{
 font-size:9.5px;font-weight:700;padding:1px 6px;background:#fef3c7;color:#92400e;border:1px solid #f59e0b;white-space:nowrap;letter-spacing:.03em
}
.imp-pin{
 margin-left:auto;height:18px!important;min-height:18px!important;padding:0 5px!important;font-size:9.5px!important;
 background:#f8fafc;color:#64748b;border:1px solid #cbd5e1;cursor:pointer;white-space:nowrap
}
.imp-pin.on{background:#fef3c7!important;color:#92400e!important;border-color:#f59e0b!important;font-weight:700}

/* Модальное окно Архива изготовленных и отгруженных заказов */
.arch-modal{width:min(1180px,95vw)!important;max-height:88vh!important;display:flex!important;flex-direction:column!important}
.arch-modal .phead{gap:10px}
.arch-modal #archq{width:280px;height:26px;font-size:12px;padding:0 8px}
.arch-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.ak-box{background:#f8fafc;border:1px solid var(--line);padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.ak-box span{font-size:10.5px;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.ak-box b{font-size:15px;color:var(--navy)}
.arch-prods{display:flex;flex-wrap:wrap;gap:6px}
.ap-chip{font-size:11px;padding:3px 8px;background:#f1f5f9;border:1px solid #cbd5e1;color:#1e293b}
.arch-tw{max-height:56vh;overflow:auto;border:1px solid var(--line)}
.arch-row{cursor:pointer}
.arch-row:hover{background:#f1f5f9!important}
.arch-row .row-act{display:flex;gap:6px;white-space:nowrap}

/* Непрерывная вертикальная шкала часов вдоль всего дня и позиционирование заказов напротив своего часа */
.bd-day-full{display:flex!important;flex-direction:column!important;padding:6px 6px 10px!important;background:#fff!important}
.bd-day-full>b{font-size:11.5px;color:var(--navy);margin-bottom:6px;flex:0 0 auto}
.bd-vscale{flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between;min-height:420px;padding:4px 0;pointer-events:none;user-select:none}
.bd-vscale span{font-size:9.5px;color:#b0bac9;font-weight:500;line-height:1;text-align:right;display:block}
.bd-cell-full{display:flex!important;flex-direction:column!important;padding:4px!important;background:#fff!important}
.bd-cell-full>.ld-ph{height:16px;margin-bottom:6px;flex:0 0 auto}
.bd-col-hours{flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between;min-height:420px}
.bd-ch-slot{display:flex;flex-direction:column;gap:4px}
.bd-ch-slot.empty-it{min-height:28px;flex:1 0 28px}
.bd-ch-slot.has-it{padding:2px 0}

/* v22.14 сворачивание плашек стекла */
.gl-grp .gl-h{display:flex;align-items:center;gap:4px}
.gl-tog{width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;font-size:11px!important;line-height:1!important;border:1px solid #cbd5e1!important;background:#fff!important;color:var(--navy)!important;flex:0 0 auto;cursor:pointer}
.gl-grp.gl-folded{padding-bottom:4px!important}
.gl-sum{font-size:10px;color:#64748b;padding:2px 4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd-cell.dropday{outline:2px dashed var(--navy)!important;outline-offset:-2px;background:#eef4ff!important}
.bd-page .gl-grp .gl-h{flex-wrap:wrap!important;row-gap:1px!important}
.bd-page .gl-grp .gl-h>b{flex:1 1 auto!important;min-width:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:normal!important;font-size:12.5px!important;line-height:1.15!important}
.bd-page .gl-grp .gl-h>.gw{flex:1 0 100%!important;text-align:right!important;font-size:11px!important;line-height:1.15!important}

/* v22.14 строка «Срочно» по столбикам участков с прогрессом */
.bd-cell.urg-c{display:flex!important;flex-direction:column!important;gap:4px!important;padding:4px!important;background:#fff7f7!important;border-bottom:2px solid #b91c1c!important;min-height:30px}
.bd-day.urg-l{background:#fff7f7!important;border-bottom:2px solid #b91c1c!important}
.urg-cnt{display:block;font-size:10px;color:#b91c1c;margin-top:2px}
.urg-card{background:#fff;border:1px solid #fca5a5;border-left:3px solid #b91c1c;padding:3px 6px;display:flex;flex-direction:column;gap:2px;cursor:grab}
.urg-card .uc-h{display:flex;align-items:center;gap:4px;white-space:nowrap}
.urg-card .uc-h b{font-size:11.5px}
.urg-card .uc-h .x{margin-left:auto;width:16px;height:16px;min-height:16px;padding:0;font-size:12px;line-height:1}
.urg-card .uc-t{font-style:normal;font-size:9.5px;padding:0 4px;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}
.urg-card .uc-t.now{background:#1f3054;color:#fff;border-color:#1f3054}
.urg-card .uc-c{font-size:10px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.urg-card .uc-p{height:5px;background:#f1f5f9;border:1px solid #e2e8f0;position:relative}
.urg-card .uc-p i{position:absolute;left:0;top:0;bottom:0;background:#b91c1c}
.urg-card .uc-n{display:flex;justify-content:space-between;font-size:10px;color:#334155}
.urg-card.done{border-color:#86efac;border-left-color:#15803d;background:#f0fdf4}
.urg-card.done .uc-p i{background:#15803d}
.urg-card.now{border-left-color:#1f3054;box-shadow:0 0 0 1px #1f3054 inset}
.urg-card.now .uc-p i{background:#1f3054}
.urg-card.wait{opacity:.85}
.urg-card.bad{border-left-color:#b91c1c;background:#fef2f2}
.urg-card.rw{border-style:dashed}
.urg-card .uc-ok{align-self:flex-start;height:18px!important;min-height:18px!important;font-size:10px!important;padding:0 6px!important}

/* v22.14 Сегодня (факт и прогресс) и сворачивание дней */
.bdt-row{display:flex;align-items:center;gap:5px}
.day-tog{width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;font-size:11px!important;line-height:1!important;border:1px solid #cbd5e1!important;background:#fff!important;color:var(--navy)!important;cursor:pointer;flex:0 0 auto}
.bd-today-l{background:#f5f8fc!important;display:flex!important;flex-direction:column!important;gap:3px!important;padding:6px!important;border-bottom:1px solid var(--line)!important}
.bd-today-l b{font-size:12px;color:var(--navy)}
.bd-today-l small{font-size:10px;line-height:1.2}
.carry-n{color:#b45309!important;font-weight:600}
.bd-today-c{background:#f5f8fc!important;display:flex!important;flex-direction:column!important;gap:4px!important;padding:4px!important;border-bottom:1px solid var(--line)!important}
.bd-today-c.d-folded,.bd-today-l.d-folded{padding-top:4px!important;padding-bottom:4px!important}
.uc-p.tday{height:6px;background:#e2e8f0;border:1px solid #cbd5e1;position:relative}
.uc-p.tday i{position:absolute;left:0;top:0;bottom:0;background:#15803d}
.ld.tdone::before{background:rgba(21,128,61,.28)!important}
.tc{background:#fff;border:1px solid #cbd5e1;border-left:3px solid #94a3b8;padding:3px 6px;display:flex;flex-direction:column;gap:2px}
.tc .uc-h{display:flex;align-items:center;gap:4px;white-space:nowrap}
.tc .uc-h b{font-size:11.5px}
.tc .uc-h small{font-size:9.5px;color:#64748b}
.tc .uc-t{font-style:normal;font-size:9.5px;padding:0 4px;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}
.tc .uc-t.cy{background:#fef3c7;color:#92400e;border-color:#f59e0b}
.tc .uc-c{font-size:10px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc .uc-p{height:5px;background:#f1f5f9;border:1px solid #e2e8f0;position:relative}
.tc .uc-p i{position:absolute;left:0;top:0;bottom:0;background:#1f3054}
.tc .uc-n{display:flex;justify-content:space-between;font-size:10px;color:#334155}
.tc.part{border-left-color:#1f3054}
.tc.done{border-left-color:#15803d;background:#f0fdf4}
.tc.done .uc-p i{background:#15803d}
.tc.carry{border-left-color:#d97706;background:#fffbeb}
.tc.rw{border-style:dashed}
.bd-day-fold{display:flex!important;align-items:center!important;padding:4px 6px!important;min-height:26px!important;background:#fff!important;border-bottom:1px solid var(--line)!important}
.bd-day-fold b{font-size:11.5px;color:var(--navy)}
.bd-cell-fold{padding:4px!important;min-height:26px!important;background:#fff!important;border-bottom:1px solid var(--line)!important}
.bd-cell-fold>.ld{margin:0!important}
.bd-day-empty .bdt-row b{font-size:11.5px;color:var(--navy)}
.bd-grid{grid-template-columns:84px repeat(var(--cols),minmax(0,1fr))!important}
.bd-day .bdt-row{align-items:flex-start}
.bd-day .bdt-row b{font-size:11px!important;line-height:1.2!important;word-break:normal;overflow-wrap:anywhere}
.bd-ph{flex-wrap:nowrap!important;gap:6px!important}
.bd-ph .bd-find2 #bdq{width:200px!important}
.bd-ph .inl{white-space:nowrap}
.bd-ph>button.xs{white-space:nowrap}
.bd-pool .bt.nogo{opacity:.62;cursor:not-allowed!important}
.bd-pool .bt.nogo .bt-add{background:#f1f5f9!important;color:#94a3b8!important;border-color:#cbd5e1!important}
.cp-rest{border:1px solid var(--line);background:#f8fafc;padding:6px 8px;display:flex;flex-direction:column;gap:4px;margin:4px 0}
.cp-rest-t{font-size:11px;font-weight:600;color:var(--navy)}
.cp-rest-yn{display:flex;gap:14px;font-size:12px}
.cp-rest-yn label{display:flex;align-items:center;gap:4px;cursor:pointer}
.cp-rest-f{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.cp-rest-f input{width:72px;height:24px;font-size:12px;padding:0 5px}
.cp-rest-f #cp-rest-n{width:38px}
.cp-rest-f select{height:24px;font-size:11.5px;max-width:120px}
.cp-wlog{border:1px solid var(--line);margin:6px 0;background:#fff}
.cw-r{display:grid;grid-template-columns:36px 1fr 1fr auto;gap:4px;font-size:10.5px;padding:2px 6px;border-top:1px solid #eef2f7;align-items:center}
.cw-r.rest{background:#f0fdf4}
.cw-r small{grid-column:2 / -1;color:#64748b}
.cp-rest-yn input[type=radio]{appearance:auto!important;-webkit-appearance:radio!important;width:14px!important;height:14px!important;min-height:14px!important;margin:0!important;padding:0!important;border:0!important;flex:0 0 auto}
.cp-rest-yn label{flex-direction:row!important;font-size:12px!important}
.cw-r{grid-template-columns:34px 46px 1fr auto!important}

.bd-today-l .uc-p.tday{width:100%!important;align-self:stretch}
.bd-ph .bd-find2 input[type=checkbox]{width:auto!important}

/* v22.15 Расчёт: блоки формул как в плане, строка ввода размера, объектная цена, кнопки сохранения */
.kp-list{background:#eef2f7!important;padding:0 0 8px!important}
.kp-list .kp-group{margin:8px 10px 0!important;border:1px solid #c7d2e0!important;border-left:3px solid #1f3054!important;background:#fff!important}
.kp-list .kp-group+.kp-group{border-top:1px solid #c7d2e0!important}
.kp-list .kp-group.need{border-left-color:#b91c1c!important}
.kp-list .kp-group .kp-ghead{background:#f5f8fc!important;min-height:44px!important;padding:8px 14px!important}
.kp-list .kp-group.open .kp-ghead{background:#e8eef7!important;border-bottom:1px solid #c7d2e0!important}
.kp-list .kp-group.act .kp-ghead .n{color:#1f3054!important;font-weight:700}
.kp-table table{table-layout:fixed;width:100%}
.kp-table th,.kp-table td{overflow:hidden;text-overflow:ellipsis}
.kp-table tr.size-entry td{background:#fbfcfe;border-bottom:1px dashed #c7d2e0;padding-top:5px;padding-bottom:5px}
.kp-table tr.size-entry .cell-in{width:100%!important;max-width:66px;border:1px solid #94a3b8!important;background:#fff!important}
.kp-table tr.size-entry .se-add{width:24px!important;height:24px!important;min-height:24px!important;padding:0!important;font-size:15px!important;line-height:1!important}
.kp-table .cell-in{width:100%!important;max-width:60px}
.op-min .phead h3{margin:0}
.op-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:4px 18px;padding:6px 18px 12px}
.op-row{display:grid;grid-template-columns:minmax(0,1fr) auto 90px auto;align-items:center;gap:8px;padding:3px 0;border-bottom:1px solid var(--faint)}
.op-row .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}
.op-row .op-price{width:90px!important;text-align:right}
.kp-savebar{gap:8px!important}
.ver-strip{display:flex;gap:6px;overflow-x:auto;padding:8px 14px;border-bottom:1px solid var(--faint);background:#f8fafc}
.ver-strip .vs{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:4px 10px;border:1px solid #c7d2e0;background:#fff;white-space:nowrap;cursor:pointer;min-height:0}
.ver-strip .vs b{font-size:12px}
.ver-strip .vs small{font-size:10.5px;color:#64748b}
.ver-strip .vs.on{border-color:#1f3054;box-shadow:inset 0 -2px 0 #1f3054}
.ver-strip .vs.draft{border-style:dashed}
.kp-table tr.size-entry{display:table-row!important;padding:0!important;gap:0!important}
.kp-table tr.size-entry input{min-height:26px!important;font-size:var(--t-sm)!important}

/* v22.16 справочники и цены */
.dict-h{display:flex;flex-direction:column;gap:6px}
.dict-src{font-size:11.5px;color:#64748b}
.dict-t table{font-size:12.5px}
.dict-t td{padding:4px 8px;vertical-align:middle}
.dict-t .dict-in{width:96px!important;text-align:right;min-height:24px}
.dict-t tr.dict-ovr td{background:#fff8eb}
.dict-by{display:block;font-size:10px}
.film-grp{border:1px solid #c7d2e0;border-left:3px solid #1f3054;background:#fff;margin-top:6px}
.film-gh{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:#f5f8fc;border:0;text-align:left;cursor:pointer;min-height:38px}
.film-grp.open .film-gh{background:#e8eef7;border-bottom:1px solid #c7d2e0}
.film-gh .chev{color:#64748b;width:12px}
.film-gh .rng{min-width:150px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.film-sub td{background:#f8fafc;font-weight:600;color:#1f3054;font-size:11.5px;letter-spacing:.02em}
.film-new{font-size:10px;color:#9a6a2f;border:1px solid #d8b98c;padding:0 4px;margin-left:4px}
.film-notes{font-size:11px;color:#64748b;padding:6px 12px 8px}
.prot-row{display:flex;align-items:center;gap:6px;justify-content:center;flex-wrap:wrap;margin:4px 0 2px}
.prot-row select{max-width:320px}
.surf-row select{width:100%;margin-top:4px}
.new-kp-btn{white-space:nowrap;margin-right:6px}
.fk-dlg{display:flex;flex-direction:column;gap:8px;min-width:560px}
.fk-opt{display:flex;align-items:center;gap:6px;margin-top:6px}
.fk-body{padding:4px 0 6px 24px;border-left:2px solid #c7d2e0;margin-left:6px}
.fk-body select,.fk-body input{width:100%}
.fk-opt{flex-direction:row!important;justify-content:flex-start!important;font-size:13px!important;color:inherit!important}
.fk-opt input[type=radio]{appearance:auto!important;-webkit-appearance:radio!important;width:14px!important;height:14px!important;min-height:0!important;margin:0!important;flex:0 0 auto}
.fk-opt b{margin-right:4px}

/* v22.19 дашборд заказов, чистая форма */
.dash{display:flex;flex-direction:column;gap:12px}
.dash-kpi{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:0!important}
.dash-kpi>div{padding:12px 18px;border-right:1px solid var(--faint);display:flex;flex-direction:column;gap:2px}
.dash-kpi>div:last-child{border-right:0}
.dash-kpi small{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#64748b}
.dash-kpi b{font-size:20px;color:#1f3054;font-variant-numeric:tabular-nums}
.dash-kpi em{font-style:normal;font-size:12px;color:#64748b}
.dash-h{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--faint);flex-wrap:wrap}
.dash-h h3{margin:0 10px 0 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#64748b}
.dash-h #dashq{max-width:280px}
.dash-t table{font-size:12.5px}
.dash-t th{cursor:pointer;white-space:nowrap}
.dash-t th.on{color:#1f3054}
.dash-t tbody tr{cursor:pointer}
.dash-t tbody tr:hover td{background:#f5f8fc}
.dash-t tr.dw td:first-child{box-shadow:inset 3px 0 0 #1f3054}
.dash-t tr.dx td{color:#94a3b8}
.dash-t .dforms code{font-size:11.5px}
.dash-t tfoot td{border-top:2px solid #1f3054;background:#f8fafc}
.dst{font-size:11.5px;white-space:nowrap}
.blank-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:360px}
.blank-msg{display:flex;flex-direction:column;align-items:center;gap:6px;color:#64748b;text-align:center}
.blank-msg b{font-size:18px;color:#1f3054}

/* v22.20 Рабочее место менеджера */
.mg{display:flex;flex-direction:column;gap:12px}
.mg-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid #c7d2e0;border-left:3px solid #1f3054;padding:10px 14px}
.mg-who{display:flex;flex-direction:column;gap:2px;min-width:200px}
.mg-who b{font-size:15px;color:#1f3054}
.mg-who span{font-size:11.5px}
.mg-tabs{display:flex;gap:2px;flex-wrap:wrap}
.mg-tabs button{border:1px solid transparent;background:none;padding:6px 12px;font-size:12.5px;letter-spacing:.02em;cursor:pointer;min-height:0}
.mg-tabs button.on{border-color:#1f3054;background:#1f3054;color:#fff}
.mg-tabs em{font-style:normal;font-size:10.5px;background:#b08a5a;color:#fff;padding:0 5px;margin-left:3px}
.mg-tools{margin-left:auto;display:flex;gap:6px;align-items:center}
.mg-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.mg-kpi{grid-column:1/2;grid-row:1/3}
.mg-ph{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--faint);flex-wrap:wrap}
.mg-ph h3{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#64748b;font-weight:600}
.mg-ph input{max-width:240px}
.mg-k3{display:grid;grid-template-columns:repeat(4,1fr)}
.mg-k3>div{padding:12px 14px;border-right:1px solid var(--faint);display:flex;flex-direction:column;gap:3px}
.mg-k3>div:last-child{border-right:0}
.mg-k3 small{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#64748b}
.mg-k3 b{font-size:19px;color:#1f3054;font-variant-numeric:tabular-nums}
.mg-k3 span{font-size:11.5px}
.mg-bar{height:5px;background:#e8eef7;margin-top:4px}
.mg-bar i{display:block;height:100%;background:#b08a5a}
.mg-bar i.ok{background:#3f7a5a}.mg-bar i.mid{background:#b08a5a}.mg-bar i.low{background:#9aa8bb}
.mg-ok{font-size:11px;color:#3f7a5a}
.mg-hint{font-size:11px;color:#9a6a2f}
.mg-wk{width:100%;font-size:12px;border-top:1px solid var(--faint)}
.mg-wk th,.mg-wk td{padding:5px 10px}
.mg-wk th.on,.mg-wk td.on{background:#f5f8fc}
.mg-list{list-style:none;margin:0;padding:4px 0}
.mg-list li{display:flex;align-items:center;gap:8px;padding:6px 14px;border-bottom:1px solid var(--faint);font-size:12.5px}
.mg-list li>span:nth-child(2){flex:1}
.mg-list li.late{background:#fdf3f2}
.mg-list li.stop{background:#fdf3f2;color:#8f2d22}
.mg-ic{width:16px;color:#1f3054;text-align:center}
.mg-late{color:#b42318}
.mg-src{font-size:10.5px;border:1px solid #c7d2e0;padding:1px 5px;white-space:nowrap;color:#475569}
.mg-funnel{display:flex;flex-direction:column}
.mg-funnel>div{display:grid;grid-template-columns:1fr 40px 110px;padding:5px 14px;border-bottom:1px solid var(--faint);font-size:12px}
.mg-funnel>div.w{background:#f5f8fc}.mg-funnel>div.x{color:#94a3b8}
.mg-funnel b{text-align:right}.mg-funnel em{font-style:normal;text-align:right;color:#64748b}
.mg-t{width:100%;font-size:12.5px}
.mg-t th{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#64748b;padding:6px 10px;text-align:left}
.mg-t td{padding:6px 10px;border-bottom:1px solid var(--faint);vertical-align:middle}
.mg-t tr.new td{background:#fbfaf6}
.mg-t tr.on td{background:#e8eef7}
.mg-t tr.stop td{background:#fdf3f2}
.mg-t tr[data-action]{cursor:pointer}
.mg-acts{display:flex;gap:4px;flex-wrap:wrap}
.mg-note{font-size:11.5px;color:#64748b;padding:8px 14px;margin:0}
.mg-split{display:grid;grid-template-columns:1.25fr 1fr;gap:12px;align-items:start}
.mg-card h4{margin:12px 14px 4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#64748b}
.mg-cgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px;padding:10px 14px}
.mg-money{display:flex;gap:14px;flex-wrap:wrap;padding:8px 14px;background:#f5f8fc;font-size:12px;border-top:1px solid var(--faint);border-bottom:1px solid var(--faint)}
.mg-money.stop{background:#fdf3f2;color:#8f2d22}
.mg-dev{padding:8px 14px;font-size:12px;background:#fbfaf6}
.mg-ps input,.mg-ps select{width:100%;min-height:26px;font-size:12px}
.mg-ch{white-space:nowrap}.mg-ch .off{opacity:.45}
.mg-empty{padding:30px;text-align:center}
.mg-lg{border-bottom:1px solid var(--faint)}
.mg-lgh{display:flex;gap:10px;align-items:baseline;padding:8px 14px;background:#f5f8fc;font-size:12.5px;flex-wrap:wrap}
.mg-cal{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--faint)}
.mg-day{min-height:220px;border-right:1px solid var(--faint);padding:6px;display:flex;flex-direction:column;gap:4px}
.mg-day:last-child{border-right:0}
.mg-day.today{background:#f5f8fc}
.mg-dh{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#64748b;padding-bottom:4px;border-bottom:1px solid var(--faint)}
.mg-ev{font-size:11.5px;padding:4px 6px;border-left:3px solid #1f3054;background:#fff;display:flex;gap:4px;align-items:baseline;flex-wrap:wrap}
.mg-ev.expo{border-left-color:#b08a5a}.mg-ev.visit{border-left-color:#3f7a5a}.mg-ev.task{border-left-color:#9aa8bb}
.mg-ev button{margin-left:auto;min-height:0;padding:0 4px}
.mg-chs{list-style:none;margin:0;padding:0}
.mg-chs li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 14px;border-bottom:1px solid var(--faint);cursor:pointer}
.mg-chs li.on{background:#e8eef7;box-shadow:inset 3px 0 0 #1f3054}
.mg-chs small{grid-column:1/3;font-size:11.5px;color:#64748b}
.mg-st{font-size:10.5px;padding:1px 6px;border:1px solid}
.mg-st.ok{color:#3f7a5a;border-color:#3f7a5a}.mg-st.mock{color:#9a6a2f;border-color:#d8b98c}.mg-st.off{color:#94a3b8;border-color:#cbd5e1}.mg-st.plan{color:#475569;border-color:#94a3b8}
.mg-chat{display:grid;grid-template-columns:200px 1fr;min-height:340px}
.mg-chat-l{border-right:1px solid var(--faint);padding:8px}
.mg-chat-l ul{list-style:none;margin:6px 0 0;padding:0;max-height:300px;overflow:auto}
.mg-chat-l li{padding:5px 6px;font-size:12px;cursor:pointer}
.mg-chat-l li.on{background:#e8eef7}
.mg-chat-r{display:flex;flex-direction:column;gap:8px;padding:8px 12px}
.mg-feed{flex:1;display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto}
.mg-msg{max-width:80%;padding:6px 10px;font-size:12.5px;background:#f1f5f9;display:flex;flex-direction:column;gap:2px}
.mg-msg.out{align-self:flex-end;background:#e8eef7}
.mg-msg small{font-size:10px;color:#64748b}
.mg-tpls{display:flex;gap:4px;flex-wrap:wrap}
.mg-compose{display:flex;gap:8px;align-items:flex-end}
.mg-compose textarea{flex:1}
.mg-digest{padding:6px 14px 12px}
.mg-digest pre{white-space:pre-wrap;font-size:12px;background:#f8fafc;border:1px solid var(--faint);padding:8px;margin:0}
.vs-mini{min-height:0;padding:1px 6px;font-size:11px;border:1px solid #c7d2e0;background:#fff;margin-right:2px}
.vs-mini.draft{border-style:dashed}
.mg-login{display:flex;justify-content:center;align-items:center;min-height:62vh}
.mg-lcard{width:380px;background:#fff;border:1px solid #c7d2e0;border-top:3px solid #1f3054;padding:24px;display:flex;flex-direction:column;gap:12px}
.mg-lhead{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin-bottom:6px}
.mg-logo{height:22px}
.mg-lhead span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#64748b}
.mg-lalt{display:flex;justify-content:center}
@media (max-width:1100px){.mg-grid,.mg-split{grid-template-columns:1fr}.mg-kpi{grid-row:auto}.mg-k3{grid-template-columns:repeat(2,1fr)}}
.mg-card .pad,.mg-card>.fld,.mg-card>button{margin-left:14px;margin-right:14px}
.mg-card>button.primary{margin-bottom:8px}
.mg-lhead .mg-logo{display:block;height:18px;width:180px;background-color:#161a27}

/* v22.21 Система */
.sys-arch{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--faint)}
.sys-arch>div{padding:12px 14px;border-right:1px solid var(--faint);display:flex;flex-direction:column;gap:6px;font-size:12px}
.sys-arch>div:last-child{border-right:0}
.sys-arch b{color:#1f3054;font-size:13px}
.sys-arch em{font-style:normal;font-family:ui-monospace,monospace;font-size:11px;color:#64748b}
@media (max-width:1100px){.sys-arch{grid-template-columns:1fr 1fr}}
