#v2root{
  --t1:var(--t-primary); --t2:var(--t-secondary); --t3:var(--t-tertiary);
  --link:var(--t-link); --ok:var(--success); --warn:#ff9500; --bad:var(--red);
  --bg:transparent; --card:var(--bg-default); --hover:var(--bg-surface);
  --sep:var(--sep-l); --sep2:var(--sep-l);
  --nav:0px;            /* меню у кабинета одно, своё v2 не показывает */
  --hdr:0px;            /* шапка тоже общая */
  --r:14px; --r2:10px;
}
#v2root a{color:inherit;text-decoration:none}
#v2root button,#v2root input,#v2root select,#v2root textarea{font:inherit;color:inherit}
#v2root .mono{font-variant-numeric:tabular-nums}
#v2root /* ---------- каркас ---------- */
#app{display:grid;grid-template-columns:var(--nav) 1fr;min-height:100vh}
#v2root nav{background:var(--card);border-right:1px solid var(--sep);padding:14px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}
#v2root .brand{display:flex;align-items:baseline;gap:7px;padding:6px 8px 14px;font-family:Unbounded,sans-serif;font-size:15px;font-weight:600;letter-spacing:-.01em}
#v2root .brand .logo{height:22px;width:auto;display:block;color:var(--t1)}
#v2root .brand .sub{font-family:Unbounded,sans-serif;font-size:11px;font-weight:500;color:var(--t3);letter-spacing:.04em;margin-top:2px}
#v2root .nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r2);color:var(--t2);cursor:pointer;font-weight:600;font-size:13.5px;border:none;background:none;width:100%;text-align:left}
#v2root .nav-item:hover{background:var(--hover);color:var(--t1)}
#v2root .nav-item.on{background:var(--t1);color:var(--card)}
#v2root .nav-item .ic{width:18px;text-align:center;font-size:15px;flex:none}
#v2root .nav-item .cnt{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--t3)}
#v2root .nav-item.on .cnt{color:rgba(255,255,255,.7)}
#v2root .nav-sec{font-size:10.5px;font-weight:700;color:var(--t3);letter-spacing:.06em;padding:16px 10px 6px}
#v2root .nav-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--sep2);font-size:12px;color:var(--t3)}
#v2root main{min-width:0;display:flex;flex-direction:column}
#v2root header{height:var(--hdr);border-bottom:1px solid var(--sep);display:flex;align-items:center;gap:12px;padding:0 20px;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);z-index:20}
#v2root header h1{font-family:Unbounded,sans-serif;font-size:15px;font-weight:600;margin:0;letter-spacing:-.01em}
#v2root .crumb{color:var(--t3);font-size:13px}
#v2root .spacer{flex:1}
#v2root .kbd{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid var(--sep);border-radius:9px;color:var(--t2);font-size:12.5px;cursor:pointer;background:var(--card)}
#v2root .kbd b{font-size:11px;color:var(--t3);font-weight:700}
#v2root .content{padding:20px;flex:1;min-width:0}
#v2root /* ---------- элементы ---------- */
.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--r2);border:1px solid var(--sep);background:var(--card);cursor:pointer;font-weight:600;font-size:13px}
#v2root .btn:hover{background:var(--hover)}
#v2root .btn.p{background:var(--accent);border-color:var(--accent);color:#fff}
#v2root .btn.p:hover{filter:brightness(.95)}
#v2root .btn.s{padding:6px 10px;font-size:12.5px}
#v2root .card{background:var(--card);border:1px solid var(--sep);border-radius:var(--r);overflow:hidden}
#v2root /* flex-wrap:wrap — метка в шапке карточки уходит на вторую строку,#v2root а не за
   край. Замер 06.09.2026 на 375 px: «0 из 62 на экране распределятся» шириной
   264 px в шапке 310 px рядом с заголовком — правый край на 387 px при окне
   375. Читалась она обрезанной ровно там,#v2root где называет главное число экрана. */
.card-h{padding:14px 16px;border-bottom:1px solid var(--sep2);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#v2root .card-h h2{font-size:13.5px;font-weight:700;margin:0;letter-spacing:-.01em}
#v2root .card-b{padding:16px}
#v2root .grid{display:grid;gap:14px}
#v2root .g4{grid-template-columns:repeat(4,1fr)}
#v2root .g3{grid-template-columns:repeat(3,1fr)}
#v2root .g2{grid-template-columns:repeat(2,1fr)}
#v2root .kpi .v{font-family:Unbounded,sans-serif;font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.1}
#v2root .kpi .l{color:var(--t2);font-size:12px;margin-top:4px}
#v2root .kpi .d{color:var(--t3);font-size:11.5px;margin-top:5px}
#v2root .tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:7px;background:var(--sep2);color:var(--t2);font-size:11.5px;font-weight:600;white-space:nowrap}
#v2root .tag.ok{background:rgba(25,113,47,.13);color:var(--ok)}
#v2root .tag.bad{background:rgba(255,59,48,.13);color:#c0271f}
#v2root .tag.warn{background:rgba(255,149,0,.16);color:#a35a00}
#v2root .tag.acc{background:rgba(250,101,32,.13);color:#b8430f}
#v2root table{width:100%;border-collapse:collapse}
#v2root th{text-align:left;font-size:11px;font-weight:700;color:var(--t2);padding:9px 12px;border-bottom:1px solid var(--sep);white-space:nowrap;cursor:pointer;user-select:none}
#v2root th:hover{color:var(--t1)}
#v2root td{padding:10px 12px;border-bottom:1px solid var(--sep2);font-size:13px}
#v2root tbody tr{cursor:pointer}
#v2root tbody tr:hover{background:var(--hover)}
#v2root .num{text-align:right}
#v2root .empty{padding:44px 20px;text-align:center;color:var(--t2)}
#v2root .empty b{display:block;font-size:15px;color:var(--t1);margin-bottom:6px}
#v2root .sk{background:linear-gradient(90deg,var(--sep2) 25%,var(--hover) 50%,var(--sep2) 75%);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:6px;height:14px}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}
#v2root .bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
#v2root .inp{padding:8px 12px;border:1px solid var(--sep);border-radius:var(--r2);background:var(--card);min-width:200px}
#v2root .inp:focus{outline:2px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:-1px}
#v2root /* overflow-x:auto,#v2root а не hidden: на телефоне переключатель шире экрана,#v2root и
   `hidden` не прячет лишнее,#v2root а ОТРЕЗАЕТ его вместе с возможностью нажать.
   Замер 06.09.2026 на 375 пикселях,#v2root экран «Распределение»: пять вкладок
   («Сироты»,#v2root «Правила»,#v2root «Очередь»,#v2root «Замещения»,#v2root «Журнал») требуют 402 px в
   коробке 344 — «Журнал» уезжал за правый край на 44 px целиком,#v2root и открыть
   его с телефона было нельзя никак. Уменьшать шрифт бессмысленно: не хватает
   пятнадцати процентов ширины,#v2root текст стал бы нечитаемым.
   Прокрутка сохраняет вид на десктопе полностью (там переключатель
   помещается,#v2root и полоса не появляется),#v2root а на телефоне даёт привычный смах.
   `max-width:100%` обязателен: без него inline-flex растягивает коробку по
   содержимому,#v2root и прокручиваться становится нечему. */
.seg{display:inline-flex;border:1px solid var(--sep);border-radius:var(--r2);overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
#v2root .seg button{flex:0 0 auto}
#v2root .seg button{padding:7px 13px;border:none;background:var(--card);cursor:pointer;font-size:12.5px;font-weight:600;color:var(--t2)}
#v2root .seg button.on{background:var(--t1);color:var(--card)}
#v2root /* палитра команд */
.btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}
#v2root /* скрипт продаж — родные блоки,#v2root без второго интерфейса */
.stg{display:flex;gap:7px;overflow-x:auto;padding-bottom:9px;margin-bottom:4px}
#v2root .stg button{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid var(--sep);border-radius:99px;background:var(--card);color:var(--t2);cursor:pointer;font:inherit;font-size:13px}
#v2root .stg button .k{width:19px;height:19px;border-radius:50%;background:var(--hover);color:var(--t3);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
#v2root .stg button.on{border-color:var(--accent);color:var(--t1);font-weight:600}
#v2root .stg button.on .k{background:var(--accent);color:#fff}
#v2root .sb{margin:11px 0}
#v2root .sb-sub{font-weight:650;font-size:14px;margin:22px 0 9px}
#v2root .sb-say,#v2root .sb-ask,#v2root .sb-rule,#v2root .sb-tip,#v2root .sb-show,#v2root .sb-do{padding:13px 15px;border-radius:var(--r2);border:1px solid var(--sep2);font-size:14.5px;line-height:1.62}
#v2root .sb-say{border-left:3px solid var(--link);background:var(--hover)}
#v2root .sb-ask{border-left:3px solid var(--accent)}
#v2root .sb-rule{border-left:3px solid var(--bad)}
#v2root .sb-tip{background:var(--hover);color:var(--t2)}
#v2root .sb-show{border-left:3px solid var(--ok)}
#v2root .lab{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--t3);display:block;margin-bottom:6px}
#v2root .vv{background:color-mix(in srgb,var(--accent) 18%,transparent);border-radius:5px;padding:0 5px;font-weight:600}
#v2root .vv.miss{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}
#v2root .sb-br{margin-top:10px;padding-left:13px;border-left:2px dashed var(--sep)}
#v2root .sb-br div{font-size:14px;margin:7px 0}
#v2root .sb-br b{color:var(--link)}
#v2root .chk{list-style:none;padding:0;margin:0}
#v2root .chk li{display:flex;gap:9px;align-items:flex-start;font-size:14px;padding:5px 0}
#v2root .chk input{margin-top:4px}
#v2root .coach{margin-top:10px;padding:9px 12px;border-radius:var(--r2);background:color-mix(in srgb,var(--warn) 12%,transparent);font-size:13.5px;color:var(--t2)}
#v2root .cp{margin-top:9px;font-size:12px;padding:5px 10px}
#v2root .obj{padding:12px 0;border-bottom:1px solid var(--sep2)}
#v2root .obj b{font-size:14px}
#v2root .obj .m{color:var(--t3);font-size:12.5px;margin:2px 0 6px}
#v2root .obj p{margin:0;font-size:14px;line-height:1.6;color:var(--t2)}
@media print{#v2root #nav,#v2root main>header,#v2root #scrim,#v2root #pal,#v2root #dlg,#v2root .noprint,#v2root .stg{display:none!important}#v2root #app,#v2root main,#v2root #view{display:block;margin:0;padding:0;max-width:none}#v2root .card{border:none;box-shadow:none;page-break-inside:avoid}#v2root .sb,#v2root .sb-say,#v2root .sb-ask,#v2root .sb-rule,#v2root .sb-tip,#v2root .sb-show{page-break-inside:avoid}}
#v2root .board{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;align-items:flex-start}
#v2root .col{flex:0 0 246px;background:var(--card);border:1px solid var(--sep);border-radius:var(--r);overflow:hidden}
#v2root .col-h{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:11px 13px;border-bottom:1px solid var(--sep2);font-size:13px}
#v2root .col-b{padding:9px;display:flex;flex-direction:column;gap:8px;max-height:66vh;overflow-y:auto}
#v2root .ord{padding:10px 11px;border:1px solid var(--sep2);border-radius:var(--r2);cursor:pointer;background:var(--bg)}
#v2root .ord:hover{border-color:var(--accent)}
#v2root .dcard{cursor:grab}
#v2root .dcard:active{cursor:grabbing}
#v2root .col-b.over{background:color-mix(in srgb,var(--accent) 9%,transparent);outline:2px dashed color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:-4px;border-radius:var(--r2)}
#v2root #dlg{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none;align-items:center;justify-content:center;padding:20px;z-index:110;backdrop-filter:blur(3px)}
#v2root #dlg.on{display:flex}
#v2root .dlg-box{width:min(560px,94vw);max-height:86vh;overflow-y:auto;background:var(--card);border:1px solid var(--sep);border-radius:16px;box-shadow:0 30px 70px rgba(0,0,0,.32)}
#v2root .dlg-h{display:flex;align-items:center;gap:10px;padding:15px 18px;border-bottom:1px solid var(--sep2);font-size:14.5px}
#v2root .dlg-x{margin-left:auto;cursor:pointer;color:var(--t3);padding:2px 6px}
#v2root .dlg-x:hover{color:var(--t1)}
#v2root .dlg-b{padding:16px 18px}
#v2root .dlg-b label{display:block;font-size:12px;color:var(--t3);margin:12px 0 5px}
#v2root .dlg-b select,#v2root .dlg-b input{width:100%;padding:9px 11px;border:1px solid var(--sep);border-radius:var(--r2);background:var(--bg);color:var(--t1);font-size:13.5px;font-family:inherit}
#v2root .dlg-calc{margin-top:14px;padding:12px;border:1px solid var(--sep2);border-radius:var(--r2);font-size:13px;line-height:1.7}
#v2root .dlg-calc b{font-size:15px}
#v2root #pal{position:fixed;inset:0;background:rgba(0,0,0,.34);display:none;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:100;backdrop-filter:blur(3px)}
#v2root #pal.on{display:flex}
#v2root .pal-box{width:min(620px,92vw);background:var(--card);border:1px solid var(--sep);border-radius:16px;box-shadow:0 30px 70px rgba(0,0,0,.3);overflow:hidden}
#v2root .pal-box input{width:100%;padding:16px 18px;border:none;background:none;font-size:16px;outline:none}
#v2root .pal-list{max-height:52vh;overflow-y:auto;border-top:1px solid var(--sep2)}
#v2root .pal-i{display:flex;align-items:center;gap:11px;padding:11px 18px;cursor:pointer;font-size:13.5px}
#v2root .pal-i:hover,#v2root .pal-i.sel{background:var(--hover)}
#v2root .pal-i .ic{width:20px;text-align:center}
#v2root .pal-i .sub{color:var(--t3);font-size:12px;margin-left:auto}
#v2root .pal-hint{padding:9px 18px;border-top:1px solid var(--sep2);font-size:11.5px;color:var(--t3);display:flex;gap:14px}
#v2root /* карточка сущности */
.ent{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}
#v2root .ent-h{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}
#v2root .ent-h .av{width:46px;height:46px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:Unbounded,sans-serif;font-size:17px;font-weight:600;flex:none}
#v2root .ent-h h1{font-family:Unbounded,sans-serif;font-size:20px;font-weight:600;margin:0 0 4px;letter-spacing:-.015em}
#v2root .kv{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;font-size:13px}
#v2root .kv dt{color:var(--t2)}
#v2root .tl{display:flex;flex-direction:column}
#v2root .tl-i{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--sep2)}
#v2root .tl-i:last-child{border:none}
#v2root .tl-d{width:9px;height:9px;border-radius:50%;background:var(--sep);margin-top:5px;justify-self:center}
#v2root .tl-i.note .tl-d{background:var(--link)}
#v2root .tl-i.pay .tl-d{background:var(--ok)}
#v2root .tl-i.task .tl-d{background:var(--warn)}
#v2root .tl-m{font-size:11.5px;color:var(--t3)}
#v2root .tl-t{font-size:13px;margin-top:2px}
@media(max-width:1100px){#v2root .ent{grid-template-columns:1fr}#v2root .g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){#v2root #app{grid-template-columns:1fr}#v2root nav{position:fixed;inset:0 auto 0 0;width:82vw;max-width:300px;z-index:60;transform:translateX(-100%);transition:transform .22s}#v2root nav.open{transform:none;box-shadow:0 0 60px rgba(0,0,0,.3)}#v2root .g4,#v2root .g3,#v2root .g2{grid-template-columns:1fr}#v2root .content{padding:14px}#v2root .burger{display:grid!important}#v2root .tbl-wrap{overflow-x:auto}}
#v2root .burger{display:none;place-items:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--sep);background:var(--card);cursor:pointer}
#v2root #scrim{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:50;display:none}
#v2root #scrim.on{display:block}

#v2root #nav,#v2root #scrim,#v2root header .burger,#v2root .burger{display:none}
#v2root #app{display:block}
#v2root main{display:block;min-width:0;height:auto;overflow:visible}
#v2root header{position:static;height:auto;padding:0 0 10px;border:0;
  background:transparent;backdrop-filter:none}
#v2root h1#ttl{font-family:Unbounded,Raleway,sans-serif;font-size:19px;
  font-weight:600;letter-spacing:-.01em}
#v2root .content{padding:0;overflow:visible}
#v2root .kbd{margin-left:auto}
