:root{ /* гамма «Кванта»; свои имена переменных — тема мастерской (tema.css) их не перекрашивает */
  --k-bg:#fafafa; --k-card:#fff; --k-line:#ececf0; --k-tx:#1e1e24; --k-mut:#8e8e99; --k-faint:#c4c4cc;
  --k-acc:#8b6cf6; --k-accsoft:#f1ecff; --k-ok:#3fbf87; --k-oksoft:#e9f7f0; --k-bad:#e5534b; --k-badsoft:#fdeceb;
  --k-warn:#f0a020; --k-r:16px; --k-sh:0 1px 3px rgba(20,20,40,.05),0 6px 20px rgba(20,20,40,.05); --k-seg:#ebebed; --k-menu-on:#ececee;
}
html body,html[data-theme] body{background:var(--k-bg)!important;color:var(--k-tx)!important}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;height:100%;background:var(--k-bg);color:var(--k-tx);font:14px/1.45 Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--k-acc);text-decoration:none}
#app{display:flex;height:100%}

/* меню */
#menu{width:250px;flex:none;background:#fff;border-right:1px solid var(--k-line);padding:18px 12px;overflow:auto}
.firma{font-size:20px;font-weight:700;padding:4px 10px 16px}
nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:var(--k-tx);font-weight:600;margin-bottom:2px}
nav a i{font-style:normal;width:18px;text-align:center;color:var(--k-mut)}
nav a.sub{font-weight:500;padding-left:38px;color:var(--k-mut);font-size:13px}
nav a:hover{background:var(--k-bg)}
nav a.on{background:var(--k-menu-on);color:var(--k-tx)} nav a.on i{color:var(--k-tx)}
#shtorka{display:none}
#main{flex:1;min-width:0;overflow:auto;padding:18px 24px 40px}

/* верхняя полоса */
.bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.bar .grow{flex:1}
.seg{display:inline-flex;background:var(--k-seg);border-radius:12px;padding:3px;gap:2px}
.seg button{border:0;background:none;padding:7px 12px;border-radius:9px;cursor:pointer;font-weight:600;color:var(--k-mut);white-space:nowrap}
.seg button.on{background:var(--k-card);color:var(--k-tx);box-shadow:var(--k-sh)}
.seg button b{color:var(--k-bad);font-weight:600;margin-left:3px}
.btn{border:1px solid var(--k-line);background:var(--k-card);padding:8px 14px;border-radius:11px;cursor:pointer;font-weight:600;white-space:nowrap}
.btn:hover{border-color:var(--k-faint)}
.btn.main{background:var(--k-tx);color:#fff;border-color:var(--k-tx)}
.btn.acc{background:var(--k-acc);color:#fff;border-color:var(--k-acc)}
.btn.ok{background:var(--k-ok);color:#fff;border-color:var(--k-ok)}
.btn.bad{color:var(--k-bad)}
.btn.sm{padding:5px 10px;font-size:13px;border-radius:9px}
.inp{border:1px solid var(--k-line);background:var(--k-card);border-radius:11px;padding:8px 12px;outline:none}
.inp:focus{border-color:var(--k-acc)}
h1{font-size:22px;margin:0 0 14px}
.pusto{color:var(--k-mut);padding:30px;text-align:center}
.mut{color:var(--k-mut)}

/* список */
.gruppa{margin-bottom:18px}
.gruppa h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--k-mut);margin:0 0 8px;display:flex;gap:8px;align-items:center;cursor:pointer;user-select:none}
.gruppa h3 span{background:#ececf2;border-radius:8px;padding:0 7px;font-size:12px}
.stroka{display:flex;align-items:center;gap:12px;background:var(--k-card);border-radius:12px;padding:10px 14px;margin-bottom:6px;box-shadow:var(--k-sh);cursor:pointer}
.stroka:hover{outline:1px solid var(--k-line)}
.krug{width:20px;height:20px;border-radius:50%;border:2px solid var(--k-faint);flex:none;cursor:pointer;display:grid;place-items:center;font-size:12px;color:#fff;background:none;padding:0}
.krug:hover{border-color:var(--k-ok)}
.krug.on{background:var(--k-ok);border-color:var(--k-ok)}
.stroka .t{flex:1;min-width:0;font-weight:600}
.stroka.done .t{color:var(--k-mut);text-decoration:line-through;font-weight:500}
.meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--k-mut)}
.tag{display:inline-block;padding:3px 9px;border-radius:8px;font-size:12px;font-weight:500;background:#f3f3f5;color:var(--k-mut);white-space:nowrap}
.tag.bad{background:var(--k-badsoft);color:var(--k-bad)}
.tag.ok{background:var(--k-oksoft);color:var(--k-ok)}
.tag.acc{background:var(--k-accsoft);color:var(--k-acc)}
.metka{display:inline-block;padding:1px 8px;border-radius:7px;font-size:12px;font-weight:600;color:#fff}

/* доска */
.doska{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:16px;align-items:start;overflow-x:auto}
.kol{background:transparent;border-radius:var(--k-r);padding:10px;min-height:200px}
.kol.nad{outline:2px dashed var(--k-acc)}
.kol h3{margin:4px 6px 10px;font-size:15px;display:flex;justify-content:space-between}
.kol h3 span{color:var(--k-mut);font-weight:500}
.kartochka{background:var(--k-card);border-radius:12px;padding:11px 12px;margin-bottom:8px;box-shadow:var(--k-sh);cursor:pointer}
.kartochka .t{font-weight:600;margin-bottom:7px}
.kartochka.taskaem{opacity:.4}
.dobavit{display:block;width:100%;text-align:left;border:1px dashed var(--k-faint);background:none;color:var(--k-mut);padding:9px 12px;border-radius:11px;cursor:pointer;margin-bottom:8px}

/* календарь */
.kal{background:var(--k-card);border-radius:var(--k-r);box-shadow:var(--k-sh);overflow:hidden;display:flex;flex-direction:column;height:calc(100vh - 150px);min-height:420px}
.kal-shapka{display:grid;border-bottom:1px solid var(--k-line)}
.kal-shapka div{padding:8px 4px;text-align:center;font-weight:600;font-size:13px}
.kal-shapka .seg-den{color:var(--k-acc)}
.kal-shapka .vyh{color:var(--k-mut)}
.kal-sroki{display:grid;border-bottom:1px solid var(--k-line);font-size:12px}
.kal-sroki>div{padding:3px;min-height:6px;border-left:1px solid var(--k-line)}
.kal-sroki>div:first-child{border-left:0;color:var(--k-mut);padding:5px 4px;text-align:right;font-size:11px}
.srok{background:var(--k-badsoft);color:var(--k-bad);border-radius:6px;padding:2px 6px;margin-bottom:2px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srok.done{background:#ececf2;color:var(--k-mut);text-decoration:line-through}
.kal-telo{flex:1;overflow:auto;position:relative}
.kal-setka{display:grid;position:relative}
.kal-chas{height:48px;border-top:1px solid var(--k-line);font-size:11px;color:var(--k-mut);text-align:right;padding:2px 6px 0 0}
.kal-den{position:relative;border-left:1px solid var(--k-line)}
.kal-den.vyh{background:#fafafb}
.kal-den .linia{height:48px;border-top:1px solid var(--k-line)}
.kal-den .linia:nth-child(odd){}
.sobytie{position:absolute;left:2px;right:2px;border-radius:7px;padding:4px 7px 4px 8px;font-size:12px;line-height:1.35;overflow:hidden;cursor:pointer;background:oklch(.965 .025 200);border-left:0;color:rgba(34,34,42,.62);--vr:oklch(.52 .09 200);touch-action:none;user-select:none}
.sobytie b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-weight:600;word-spacing:.08em;overflow:hidden;overflow-wrap:anywhere;line-height:16.5px}
.sobytie span.vr{color:var(--vr);font-weight:500;font-size:11.5px;word-spacing:.06em}
.sobytie.done span.vr{color:inherit;font-weight:400}
.sobytie.prosr{box-shadow:inset 0 0 0 2px #b8321c} /* просрочена: свой цвет + красная обводка */
.sobytie.done{background:#f3f3f5!important;color:#a0a0aa!important;text-decoration:line-through}
.sobytie.vhod{outline:2px dashed rgba(0,0,0,.3);outline-offset:-3px} /* входящая, еще не принята */
.sobytie .ruchka{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize}
.sobytie.tashim{opacity:.85;box-shadow:0 6px 18px rgba(0,0,0,.18);z-index:5}
.seychas{position:absolute;left:0;right:0;border-top:1px solid #ed9750;z-index:3;pointer-events:none}
.seychas:before{content:"";position:absolute;left:-5px;top:-5px;width:9px;height:9px;border-radius:50%;background:#ed9750;box-shadow:0 0 0 1.5px #fff}
.seychas.sled{border-top-color:rgba(237,151,80,.28)}
.seychas.sled:before{display:none}
.mes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:minmax(96px,1fr);flex:1;overflow:auto}
.mes>div{border-right:1px solid var(--k-line);border-bottom:1px solid var(--k-line);min-height:96px;padding:4px;font-size:12px;cursor:pointer}
.mes .chislo{font-weight:600;margin-bottom:3px}
.mes .chuzhoy{background:#fafafb;color:var(--k-faint)}
.mes .segodnya .chislo{color:var(--k-acc)}
.mes .ev{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:5px;padding:1px 5px;margin-bottom:2px;background:oklch(.965 .025 200);color:#2b2b31}
.mes .ev.prosr{box-shadow:inset 0 0 0 2px #b8321c}
.mes .ev.done{background:#e6e6e8;color:#8e8e99;text-decoration:line-through}

/* окно */
#modal{position:fixed;inset:0;background:rgba(20,16,40,.35);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:30px 16px;overflow:auto}
.okno{background:var(--k-card);border-radius:20px;width:min(1080px,100%);display:flex;box-shadow:0 20px 60px rgba(0,0,0,.25);position:relative}
.okno.uzk{width:min(620px,100%)}
.okno .levo{flex:1.4;padding:24px 24px 20px;min-width:0}
.okno .pravo{flex:1;border-left:1px solid var(--k-line);padding:24px 20px;background:#fbfbfd;border-radius:0 20px 20px 0;display:flex;flex-direction:column;min-width:0;max-height:calc(100vh - 60px)}
.zakryt{position:absolute;right:-12px;top:-12px;width:36px;height:36px;border-radius:50%;border:0;background:var(--k-card);box-shadow:var(--k-sh);cursor:pointer;font-size:18px}
.zag{width:100%;border:0;font-size:20px;font-weight:700;outline:none;padding:4px 0;background:none;resize:none}
.pole{background:var(--k-bg);border-radius:12px;padding:9px 12px;margin-bottom:10px}
.pole label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--k-mut);margin-bottom:4px}
.pole input,.pole select,.pole textarea{width:100%;border:0;background:none;outline:none;padding:2px 0}
.pole textarea{resize:vertical;min-height:44px}
.ryad{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.etap{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:6px 0 14px}
.chek{display:flex;gap:8px;align-items:flex-start;padding:4px 0}
.chek input[type=checkbox]{width:auto;margin-top:3px;accent-color:var(--k-ok)}
.chek span{flex:1}
.chek.on span{text-decoration:line-through;color:var(--k-mut)}
.chek .x{border:0;background:none;color:var(--k-faint);cursor:pointer;visibility:hidden}
.chek:hover .x{visibility:visible}
.chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.chips .metka{cursor:pointer}
.istoriya{flex:1;overflow:auto;margin:8px 0}
.zap{margin-bottom:10px;font-size:13px}
.zap .kto{font-weight:600}
.zap .kogda{color:var(--k-mut);font-size:12px}
.zap.sys{color:var(--k-mut)}
.zap.com .txt{background:var(--k-card);border:1px solid var(--k-line);border-radius:10px;padding:7px 10px;margin-top:3px;white-space:pre-wrap}
.niz{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;align-items:center}
.vybor{position:relative}
.spisok-vybora{position:absolute;z-index:60;background:var(--k-card);border:1px solid var(--k-line);border-radius:11px;box-shadow:var(--k-sh);padding:6px;min-width:220px;max-height:260px;overflow:auto}
.spisok-vybora div{padding:6px 8px;border-radius:7px;cursor:pointer}
.spisok-vybora div:hover{background:var(--k-bg)}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--k-tx);color:#fff;padding:10px 18px;border-radius:12px;z-index:90}

.tablica{width:100%;border-collapse:separate;border-spacing:0 6px}
.tablica td,.tablica th{padding:10px 12px;text-align:left}
.tablica th{font-size:12px;color:var(--k-mut);text-transform:uppercase;font-weight:700}
.tablica tr.r td{background:var(--k-card)}
.tablica tr.r td:first-child{border-radius:12px 0 0 12px}
.tablica tr.r td:last-child{border-radius:0 12px 12px 0}
.skoro{background:var(--k-card);border-radius:var(--k-r);padding:30px;box-shadow:var(--k-sh);max-width:640px}

/* телефон */
#gamburger{display:none}
@media (max-width:820px){
  #menu{position:fixed;left:0;top:0;bottom:0;z-index:40;transform:translateX(-100%);transition:transform .2s}
  #app.menu-otkryto #menu{transform:none}
  #app.menu-otkryto #shtorka{display:block;position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.25)}
  #gamburger{display:inline-block}
  #main{padding:12px 10px 40px}
  .okno{flex-direction:column}
  .okno .pravo{border-left:0;border-top:1px solid var(--k-line);border-radius:0 0 20px 20px;max-height:none}
  .ryad{grid-template-columns:1fr}
  .doska{grid-template-columns:repeat(3,85vw)}
  #modal{padding:10px 6px}
  .zakryt{right:6px;top:6px}
  .kal{height:calc(100vh - 190px)}
}

/* цвет плашки */
.cveta{display:flex;gap:6px;flex-wrap:wrap;padding-top:2px}
.cvet{width:24px;height:24px;border-radius:50%;border:1px solid transparent;cursor:pointer;padding:0;outline:none}
.cvet.net{font-size:11px;font-weight:500}
.cvet.on{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #6b6b75}
/* файлы */
.fayl{display:flex;gap:8px;align-items:center;padding:3px 0;font-size:13px}
.fayl a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}
.fayl .x{border:0;background:none;color:var(--k-faint);cursor:pointer;visibility:hidden}
.fayl:hover .x{visibility:visible}
/* проекты */
.progress{height:6px;border-radius:4px;background:#ececf0;overflow:hidden;margin-bottom:3px}
.progress i{display:block;height:100%;background:var(--k-ok);border-radius:4px}
.progress.big{height:8px;margin-top:8px}
.proekt{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:start}
.levo2{background:var(--k-card);border-radius:var(--k-r);padding:20px;box-shadow:var(--k-sh)}
.levo2 .stroka{box-shadow:none;border:1px solid var(--k-line)}
.pravo2 .pole{background:var(--k-card);box-shadow:var(--k-sh)}
.pravo2 .pole textarea,.pravo2 .pole input,.pravo2 .pole select{width:100%;border:0;background:none;outline:none}
@media (max-width:820px){.proekt{grid-template-columns:1fr}}
.pole label.btn{text-transform:none;letter-spacing:0;font-size:13px;color:var(--k-tx);display:inline-block;margin:4px 0 0;cursor:pointer}

/* лента дней (неделя/день): одна область прокрутки в обе стороны, шапка и часы прилипают */
.kal-okno{flex:1;overflow:auto;position:relative;overscroll-behavior:contain;scroll-snap-type:x mandatory;scroll-padding-left:56px}
.kal-okno.bez-shaga{scroll-snap-type:none}
.kal-ves{position:relative}
.kal-verh{position:sticky;top:0;z-index:6;background:var(--k-card)}
.kal-verh .kal-shapka>div:not(.ugol){scroll-snap-align:start}
.kal-verh .ugol{position:sticky;left:0;z-index:7;background:var(--k-card)}
.kal-setka .chasy{position:sticky;left:0;z-index:4;background:var(--k-card)}
.kal-okno .kal-shapka div{white-space:nowrap;overflow:hidden}
.kal-okno .kal-den{cursor:default}
.kal-okno .kal-sroki>div:not(.ugol){max-height:64px;overflow-y:auto}
.meta .tag{max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* меню задачи «…» */
.tochki{position:absolute;top:3px;right:3px;width:22px;height:18px;border:0;border-radius:6px;background:rgba(255,255,255,.75);color:#55555f;font-size:14px;line-height:18px;padding:0;cursor:pointer;opacity:0;transition:opacity .12s;z-index:2}
.sobytie:hover .tochki,.kartochka:hover .tochki{opacity:1}
.tochki:hover{background:#fff}
@media (hover:none){.tochki{opacity:.85}}
.kartochka{position:relative}
.menyu-z{position:fixed;z-index:70;background:#fff;border-radius:18px;box-shadow:0 10px 40px rgba(20,20,40,.16),0 1px 3px rgba(20,20,40,.06);padding:10px;min-width:280px}
.menyu-z>button{display:flex;align-items:center;gap:14px;width:100%;border:0;background:none;padding:10px 12px;border-radius:10px;font-weight:600;font-size:15px;color:#1e1e24;cursor:pointer;text-align:left}
.menyu-z>button:hover{background:#f4f4f6}
.menyu-z i{width:20px;height:20px;display:inline-flex}
.menyu-z svg{width:20px;height:20px}
.menyu-z hr{border:0;border-top:1px solid #ececf0;margin:6px 10px}
.menyu-forma{display:flex;flex-direction:column;gap:8px;padding:6px 6px 2px}
.menyu-forma .niz{margin-top:4px}
/* будущий повтор, еще не ставший задачей */
.sobytie.virt,.mes .ev.virt{opacity:.75;cursor:pointer}
.sobytie.virt:hover{opacity:.9}
/* окошко нового дела: зажал и тянешь по пустому месту календаря */
.vydelenie{position:absolute;left:2px;right:2px;border-radius:7px;background:oklch(.93 .05 145 / .8);border:1.5px solid oklch(.7 .1 145);color:oklch(.38 .08 145);font-size:12px;font-weight:600;padding:3px 7px;z-index:4;pointer-events:none;box-shadow:0 2px 10px rgba(0,0,0,.08)}

/* окна помещаются в экран: прокрутка внутри, кнопки внизу видны всегда (просьба Олега 14.10.2026) */
#modal{align-items:center;padding:20px 16px}
.okno{max-height:calc(100dvh - 40px)}
.okno .levo{overflow-y:auto;max-height:calc(100dvh - 40px);padding-bottom:0}
.okno .levo>.niz{position:sticky;bottom:0;background:var(--k-card);margin:10px -24px 0;padding:12px 24px 16px;box-shadow:0 -10px 14px -12px rgba(20,20,40,.18);z-index:2}
.okno .pravo{max-height:calc(100dvh - 40px)}
.okno .pole{padding:7px 11px;margin-bottom:8px}
.okno .pole label{margin-bottom:2px}
.okno .pole textarea{min-height:34px}
.okno .zag{font-size:19px}
@media (max-width:820px){
  #modal{padding:8px 6px;align-items:flex-start}
  .okno,.okno .levo{max-height:none}
  .okno .levo>.niz{margin:10px -24px 0}
}
/* длительность: часы + минуты */
.dlit{display:flex;gap:8px;margin-top:4px}
.dlit select{flex:1;width:auto!important}
.menyu-forma .dlit select{border:1px solid var(--k-line);border-radius:9px;padding:6px 8px;background:#fff}
.srokp{display:block}
.srokp input[type=date]{width:100%;border:0;background:none;outline:none;padding:2px 0}
.menyu-forma .srokp input[type=date]{border:1px solid var(--k-line);border-radius:9px;padding:6px 8px;background:#fff}
/* превью картинок во вложениях и просмотр крупно */
.prevyu{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 6px}
.prevyu-k{position:relative;width:96px;height:96px;border-radius:10px;overflow:hidden;background:#f1f1f4;border:1px solid var(--k-line)}
.prevyu-k img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;display:block}
.prevyu-k .x{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:#666;cursor:pointer;font-size:11px;visibility:hidden}
.prevyu-k:hover .x{visibility:visible}
.krupno{position:fixed;inset:0;z-index:95;background:rgba(15,15,20,.82);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
.krupno img{max-width:100%;max-height:calc(100dvh - 90px);border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.4);background:#fff}
.krupno-niz{color:#ddd;font-size:13px;margin-top:12px}
.krupno-niz a{color:#fff;text-decoration:underline}
/* переписка в проекте */
.chat-pr{background:var(--k-card);border-radius:var(--k-r);padding:18px 20px;box-shadow:var(--k-sh);margin-top:18px;grid-column:1}
.chat-lenta{max-height:420px;overflow:auto;padding-right:4px}
.soob{margin-bottom:12px;max-width:88%}
.soob.moe{margin-left:auto}
.soob-sh{font-size:12px;margin-bottom:3px;display:flex;gap:6px;align-items:baseline}
.soob-sh .x{border:0;background:none;color:var(--k-faint);cursor:pointer;visibility:hidden;font-size:11px}
.soob:hover .soob-sh .x{visibility:visible}
.soob-t{background:#f3f3f6;border-radius:12px 12px 12px 4px;padding:8px 12px;white-space:pre-wrap;overflow-wrap:anywhere}
.soob.moe .soob-t{background:oklch(.95 .03 145);border-radius:12px 12px 4px 12px}
.soob-f{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.soob-f img{width:120px;height:120px;object-fit:cover;border-radius:10px;cursor:zoom-in;border:1px solid var(--k-line)}
.chat-vvod{display:flex;gap:8px;align-items:flex-end;border-top:1px solid var(--k-line);padding-top:10px;margin-top:6px}
.chat-vvod textarea{flex:1;border:1px solid var(--k-line);border-radius:11px;padding:8px 12px;resize:none;outline:none;min-height:38px}
.chat-vvod textarea:focus{border-color:var(--k-acc)}
.chat-skrepka{cursor:pointer;font-size:18px;padding:6px 4px}
.chat-prikr{margin-top:6px}
.proekt{grid-template-rows:auto 1fr}
.proekt .pravo2{grid-column:2;grid-row:1 / span 2}
.proekt .chat-pr{margin-top:0;align-self:start}
@media (max-width:820px){.proekt .pravo2,.proekt .chat-pr{grid-column:1;grid-row:auto}}
/* «Закуп товара»: оплаты */
.oplaty{background:var(--k-card);border-radius:var(--k-r);padding:18px 20px;box-shadow:var(--k-sh);grid-column:1;align-self:start}
.oplaty .bar{gap:12px;flex-wrap:wrap}
.op-setka{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.op-blok{border:1px solid var(--k-line);border-radius:14px;padding:12px 14px}
.op-zag{margin-bottom:8px}
.op-gr{display:flex;gap:10px;align-items:flex-start;margin-bottom:6px}
.op-num{width:20px;height:20px;border-radius:50%;background:#f0f0f3;color:var(--k-mut);font-size:11px;font-weight:700;display:grid;place-items:center;flex:none;margin-top:3px}
.op-gr>div:last-child{flex:1;min-width:0}
.op-dva{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.op-pole{display:flex;flex-direction:column;gap:2px;font-size:12px;min-width:0}
.op-pole>span:first-child{color:var(--k-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.op-vv{display:flex;align-items:center;gap:4px}
.op-vv input{width:100%;min-width:0;text-align:right;border:1px solid var(--k-line);border-radius:8px;padding:5px 8px;outline:none;font-size:14px;font-feature-settings:"tnum" 1}
.op-vv input:focus{border-color:var(--k-acc)}
.op-vv i{font-style:normal;color:var(--k-mut);font-size:12px;flex:none}
.op-gr.itogo{align-items:center}
.op-gr.itogo>div:last-child{display:flex;justify-content:space-between;font-weight:600}
.op-gr.itogo b{font-size:15px}
.op-pole.prim{flex-direction:column;align-items:stretch}
.op-pole.prim textarea{border:1px solid var(--k-line);border-radius:8px;padding:6px 8px;resize:vertical;outline:none;min-height:40px}
.op-doc{margin-top:6px}
.proekt .pravo2{grid-row:1 / span 3}
@media (max-width:1100px){.op-setka{grid-template-columns:1fr}}
@media (max-width:820px){.oplaty{grid-column:1}}
.pole.oshibka{box-shadow:inset 0 0 0 1.5px var(--k-bad)}
.np-oshibka{color:var(--k-bad);font-size:12px;margin-top:3px}
/* «предварительные» и «итоговые» — сразу видно (Олег, 14.10.2026) */
.op-zag{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.op-metka{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.op-blok.pred{border-color:oklch(.85 .08 75);background:oklch(.985 .015 75)}
.op-blok.pred .op-metka{background:oklch(.86 .12 75);color:oklch(.35 .08 60)}
.op-blok.itog{border-color:oklch(.82 .08 150);background:oklch(.985 .015 150)}
.op-blok.itog .op-metka{background:oklch(.78 .12 150);color:#fff}
.op-zag{flex-direction:column;align-items:flex-start;gap:5px}
/* переписка: кто и когда, @упоминания */
.soob-sh{align-items:center;gap:7px;font-size:13px}
.soob-sh b{font-weight:700}
.soob.moe .soob-sh{justify-content:flex-end}
.ava{width:24px;height:24px;border-radius:50%;background:oklch(.9 .05 145);color:oklch(.35 .08 145);font-size:10.5px;font-weight:700;display:inline-grid;place-items:center;flex:none}
.soob-vr{color:var(--k-mut);font-size:12px;font-feature-settings:"tnum" 1}
.upom{background:oklch(.92 .06 250);color:oklch(.38 .12 250);border-radius:6px;padding:0 4px;font-weight:600}
.teg-spisok{position:fixed;z-index:80;background:#fff;border:1px solid var(--k-line);border-radius:12px;box-shadow:0 10px 30px rgba(20,20,40,.14);padding:5px}
.teg-spisok>div{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:14px}
.teg-spisok>div .mut{margin-left:auto;font-size:12px}
.teg-spisok>div.on,.teg-spisok>div:hover{background:#f2f2f5}
.soob-t.udal{background:none!important;border:1px dashed var(--k-line);color:var(--k-mut);font-style:italic;font-size:13px}
input[type=date],input[type=datetime-local]{cursor:pointer}
/* переписка — в правой колонке над файлами */
.pravo2 .chat-pr{margin:0 0 10px;padding:14px 14px 12px;grid-column:auto}
.pravo2 .chat-lenta{max-height:360px}
.proekt .pravo2{grid-row:1 / span 2}
/* переписка в узкой правой колонке — сообщения на всю ширину, шапка слева (Олег: «слева много воздуха») */
.pravo2 .soob{max-width:100%;margin-left:0}
.pravo2 .soob.moe .soob-sh{justify-content:flex-start}
.pravo2 .soob-t{border-radius:4px 12px 12px 12px}
/* свой календарик для полей с датой */
input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}
.kalik{position:fixed;z-index:120;background:#fff;border-radius:18px;box-shadow:0 14px 44px rgba(20,20,40,.18),0 1px 3px rgba(20,20,40,.06);padding:14px 14px 12px;width:300px;font-size:14px;user-select:none}
.kalik-sh{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.kalik-sh b{font-size:15px;font-weight:700}
.kalik-sh button{width:32px;height:32px;border:0;border-radius:10px;background:none;font-size:20px;line-height:1;color:#55555f;cursor:pointer}
.kalik-sh button:hover{background:#f2f2f5}
.kalik-dn,.kalik-dni{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.kalik-dn span{text-align:center;font-size:11px;font-weight:600;color:#9a9aa4;padding:4px 0}
.kalik-dn span:nth-child(n+6){color:#c0a0a0}
.kalik-dni button{height:34px;border:0;border-radius:10px;background:none;font:inherit;font-size:13.5px;color:#2b2b31;cursor:pointer;font-feature-settings:"tnum" 1}
.kalik-dni button:hover{background:#f2f2f5}
.kalik-dni button.vyh{color:#b5838a}
.kalik-dni button.chuzh{color:#c8c8cf}
.kalik-dni button.segod{box-shadow:inset 0 0 0 1.5px var(--k-acc);font-weight:700}
.kalik-dni button.on{background:var(--k-acc);color:#fff;font-weight:700}
.kalik-vr{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #ececf0}
.kalik-vr span{color:#8e8e99;font-size:13px;margin-right:auto}
.kalik-vr select{border:1px solid var(--k-line);border-radius:9px;padding:5px 8px;background:#fff;font:inherit}
.kalik-niz{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.kalik-niz button{border:0;background:#f3f3f6;border-radius:9px;padding:6px 8px;font:inherit;font-size:12.5px;font-weight:600;color:#3c3c44;cursor:pointer}
.kalik-niz button:hover{background:#ebebef}
.kalik-niz .och{color:#c0574f}
.kalik-niz .ok{margin-left:auto;background:var(--k-acc);color:#fff}
/* часовой пояс внизу меню */
#menu{display:flex;flex-direction:column}
.poyas{margin-top:auto;padding:14px 10px 4px;border-top:1px solid var(--k-line);font-size:12px;position:relative}
.poyas .mut{display:block;margin-bottom:2px}
.poyas-tek{font-weight:600;font-size:13px;color:var(--k-tx)}
.poyas select{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.poyas:hover .poyas-tek{color:var(--k-acc)}
/* функциональная схема */
/* регламенты */
.rg-kart{background:var(--k-card);border-radius:14px;box-shadow:var(--k-sh);padding:14px 16px;margin-bottom:10px;cursor:pointer}
.rg-kart:hover{outline:1px solid var(--k-line)}
.rg-z{font-weight:700;font-size:15px;margin-bottom:6px}
.rg-str{display:grid;grid-template-columns:1fr 340px;gap:18px;align-items:start}
.rg-tekst{background:var(--k-card);border-radius:var(--k-r);box-shadow:var(--k-sh);padding:20px 26px 26px}
.rg-body{font-size:14.5px;line-height:1.6;color:#2b2b31;outline:none}
.rg-body p{margin:0 0 10px}
.rg-body ol,.rg-body ul{margin:0 0 10px;padding-left:24px}
.rg-body li{margin-bottom:6px}
.rg-body h3{font-size:16px;margin:16px 0 8px}
.rg-body.red{border:1px dashed var(--k-acc);border-radius:10px;padding:10px 12px;min-height:200px}
.rg-panel{display:flex;flex-wrap:wrap;gap:6px;align-items:center;position:sticky;top:0;background:#fff;padding:8px 0;margin-bottom:8px;border-bottom:1px solid var(--k-line);z-index:2}
.rg-panel button[data-cmd]{border:1px solid var(--k-line);background:#fff;border-radius:8px;padding:5px 10px;cursor:pointer;font:inherit;font-size:13px}
.rg-panel button[data-cmd]:hover{background:#f4f4f6}
.rg-svoistva .pole{background:var(--k-card);box-shadow:var(--k-sh)}
.rg-pr{font-size:13px;padding:2px 0}
@media (max-width:1000px){.rg-str{grid-template-columns:1fr}}
/* функциональная схема «как в Кванте»: дерево карточек с линиями */
.ks-pole{overflow:auto;background:#fafafa;border-radius:var(--k-r);padding:6px 4px 30px;max-height:calc(100vh - 110px)}
.ks-holst{display:inline-block;min-width:100%}
.ks-k{background:#fff;border-radius:14px;box-shadow:0 1px 3px rgba(20,20,40,.06),0 4px 14px rgba(20,20,40,.05);padding:10px 12px;width:250px;cursor:pointer;position:relative}
.ks-k:hover{box-shadow:0 0 0 1.5px var(--k-acc),0 4px 14px rgba(20,20,40,.08)}
.ks-z{display:flex;align-items:flex-start;gap:7px}
.ks-z b{flex:1;font-size:13.5px;font-weight:700;line-height:1.3}
.ks-ik{color:#9a9aa4;font-size:14px;line-height:1.2}
.ks-sv{border:0;background:none;color:#55555f;font-size:16px;cursor:pointer;line-height:1;padding:0 2px}
.ks-pl{background:#f1f1f4;border-radius:9px;padding:6px 9px;margin-top:7px;font-size:12px}
.ks-pl i{display:block;font-style:normal;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#9a9aa4;margin-bottom:2px}
.ks-pl span{display:block;color:#2b2b31}
.ks-kpi{font-size:11.5px;line-height:1.35}
.ks-ob{font-size:11px;color:#9a9aa4;margin-top:6px}
.ks-k.koren{background:#2b2b31;color:#fff}.ks-k.koren .ks-ik,.ks-k.koren .ks-sv{color:#cfcfd6}
.ks-k.blok{border-top:3px solid #8b6cf6}
.ks-koren{padding:10px 0 0 10px}
/* линия от корня вниз и общая горизонталь над блоками */
.ks-bloki{display:flex;gap:70px;padding:22px 40px 0 10px;position:relative}
.ks-bloki:before{content:"";position:absolute;left:145px;top:0;width:1.5px;height:12px;background:#c9c9d2}
.ks-kol{position:relative;padding-top:12px}
.ks-kol:before{content:"";position:absolute;top:-10px;left:-35px;right:-35px;border-top:1.5px solid #c9c9d2}
.ks-kol:first-child:before{left:135px}
.ks-kol:last-child:before{right:calc(100% - 136.5px)}
.ks-kol:first-child:last-child:before{display:none}
.ks-kol:after{content:"";position:absolute;top:-10px;left:135px;width:1.5px;height:22px;background:#c9c9d2}
/* ветка: рельс слева и стрелочки к карточкам */
.ks-vetv{list-style:none;margin:0;padding:12px 0 0 26px;position:relative}
.ks-vetv:before{content:"";position:absolute;left:12px;top:0;bottom:24px;width:1.5px;background:#c9c9d2}
.ks-vetv>li{position:relative;margin-bottom:12px}
.ks-vetv>li:before{content:"";position:absolute;left:-14px;top:22px;width:12px;border-top:1.5px solid #c9c9d2}
.ks-vetv>li:after{content:"";position:absolute;left:-5px;top:18px;border:4px solid transparent;border-left:5px solid #c9c9d2}
.ks-vetv>li:last-child:before{box-shadow:-1.5px -14px 0 -0px #fafafa}
/* правки регламентов */
.rg-pravki{background:oklch(.96 .03 295);border:1px solid oklch(.88 .06 295);border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:13.5px}
.rg-pravki>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:3px 0}
.rg-pravki .btn{margin-left:auto}
.rg-diff{background:#fff;border:1px solid var(--k-line);border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.6;max-height:calc(100dvh - 300px);overflow:auto}
ins{background:oklch(.92 .08 150);color:oklch(.35 .1 150);text-decoration:none;border-radius:3px}
del{background:oklch(.93 .05 25);color:oklch(.45 .14 25);border-radius:3px}

.ks-pole{cursor:grab}
.ks-pole.tyanu{cursor:grabbing;user-select:none}
.ks-k{width:270px}
.ks-net{color:#a8a8b2!important;font-style:italic}
.ks-vetv{padding-left:34px}
.ks-vetv:before{left:16px}
.ks-vetv>li{margin-bottom:16px}
.ks-vetv>li:before{left:-18px;width:16px}
.rg-svoistva .tag{white-space:normal;max-width:100%;line-height:1.35}
/* функциональная схема 2: как в «Кванте» */
.kt-holst{position:relative;display:inline-block;min-width:100%;padding:16px 60px 60px 16px}
.kt-linii{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
.kt-u{position:relative}
.kt-k{position:relative;background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(20,20,40,.05),0 3px 10px rgba(20,20,40,.05);padding:9px 11px;width:200px;cursor:pointer;z-index:1}
.kt-k:hover{box-shadow:0 0 0 1.5px var(--k-acc),0 3px 10px rgba(20,20,40,.08)}
.kt-z{display:flex;align-items:flex-start;gap:7px}
.kt-z b{flex:1;font-size:12.5px;font-weight:650;line-height:1.3;color:#1e1e24}
.kt-ik{color:#8e8e99;font-size:13px;line-height:1.25}
.kt-sv{border:0;background:none;color:#6b6b75;font-size:14px;cursor:pointer;line-height:1;padding:0 2px;margin-top:-1px}
.kt-pl{background:#f1f1f4;border-radius:8px;padding:5px 8px;margin-top:6px;font-size:11.5px}
.kt-pl i{display:block;font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a0a0aa;margin-bottom:2px}
.kt-pl span{display:block;color:#2b2b31}
.kt-ob{font-size:10.5px;color:#a0a0aa;margin-top:5px}
.kt-niz{display:flex;align-items:flex-start;gap:34px;margin:32px 0 0 34px}
.kt-niz>.kt-u{margin-top:0}
.kt-niz.rovno{margin-left:0}
.kt-verh{display:flex;align-items:flex-start;gap:34px;padding-top:32px}
.kt-listya{display:flex;flex-direction:column;gap:14px}
/* исполнители на схеме */
.kt-k.zona{border:1px solid transparent}
.kt-k.bleklo{opacity:.28}
.kt-isp{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:5px;font-size:10.5px;color:#6b6b75}
.kt-isp span{display:inline-flex;align-items:center;gap:4px}
.kt-isp i{width:7px;height:7px;border-radius:50%;display:inline-block}
.kt-polosa{display:flex;height:4px;border-radius:3px;overflow:hidden;margin-top:7px}
.legenda{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 10px}
.legenda button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--k-line);background:#fff;border-radius:999px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer}
.legenda button i{width:11px;height:11px;border-radius:50%;display:inline-block}
.legenda button.on{border-color:#2b2b31;box-shadow:0 0 0 1px #2b2b31}
.legenda .sbros,.legenda .nastr{color:var(--k-mut)}
.legenda .nastr{margin-left:auto}
.tochka{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px}
.ob-str{display:grid;grid-template-columns:190px 1fr 24px;gap:6px;align-items:start;margin-bottom:6px}
.ob-str select,.ob-str textarea{border:1px solid var(--k-line)!important;border-radius:8px;padding:5px 8px!important;background:#fff!important;font-size:13px}
.ob-str .x{border:0;background:none;color:var(--k-faint);cursor:pointer;padding-top:6px}
.dol-str{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.dol-str input{flex:1;border:1px solid var(--k-line);border-radius:9px;padding:6px 10px;font:inherit}
.dol-cv{display:flex;gap:4px}
.dol-cv button{width:20px;height:20px;border-radius:50%;border:2px solid #fff;cursor:pointer;padding:0}
.dol-cv button.on{box-shadow:0 0 0 2px #2b2b31}
.dol-str .x{border:0;background:none;color:var(--k-faint);cursor:pointer}
/* «…» у проекта в списке */
.pr-tochki{position:static;opacity:0;width:28px;height:24px;background:#f1f1f4;margin-left:6px;vertical-align:middle}
tr.r:hover .pr-tochki{opacity:1}
@media (hover:none){.pr-tochki{opacity:.85}}
/* «Подробная» схема: обязанности плашками */
.kt-obk{width:200px;font-size:11.5px;line-height:1.38;color:#3a3a44;padding:7px 10px;border:1px solid var(--k-line);cursor:pointer;box-shadow:none}
.kt-obk:hover{box-shadow:0 0 0 1.5px var(--k-acc)}
.kt-obk.bleklo{opacity:.25}
.kt-listya{gap:10px}

/* проект из «Кванта» — старый вид (pageProjectStaryy) */
.kvp{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:12px;padding-bottom:40px}
.kvp-k{background:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--k-sh)}
.kvp-k>label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--k-mut);margin-bottom:6px}
.kvp-k textarea,.kvp-k select{width:100%;border:0;background:transparent;font:inherit;resize:none;padding:0;color:inherit;outline:none}
.kvp-k textarea.zag{font-size:20px;font-weight:700;line-height:1.3}
.kvp-k textarea.avto{line-height:1.5;overflow:hidden}
.kvp-ryad{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kvp-krug{width:14px;height:14px;border-radius:50%;background:conic-gradient(#5fc58f calc(var(--p)*1%),#e3e3e8 0)}
.kvp-skrol{overflow-x:auto}
.kvp-tab table{width:100%;border-collapse:collapse;font-size:13px}
.kvp-tab th{text-align:left;font-weight:600;color:var(--k-mut);padding:6px 10px;border-bottom:1px solid var(--k-line);white-space:nowrap}
.kvp-tab td{padding:9px 10px;border-bottom:1px solid var(--k-line);vertical-align:top}
.kvp-tab tbody tr{cursor:pointer}.kvp-tab tbody tr:hover{background:#f6f6f9}
.kvp-naz{font-weight:600;min-width:200px}
.kvp-st{white-space:nowrap;color:var(--k-mut)}.kvp-st.inbox{color:#c2702f}.kvp-st.accepted,.kvp-st.work{color:#4a7fc1}
.kvp-mel{color:var(--k-mut);font-size:12.5px;min-width:160px}
.kvp-prosr{color:#d9534f}
.kvp-zn{white-space:nowrap;color:var(--k-mut);font-size:12px}.kvp-zn span+span{margin-left:8px}
.kvp-lenta{display:flex;flex-direction:column;gap:10px;max-height:640px;overflow:auto}
.kvp-msg{border-left:3px solid var(--k-line);padding:2px 0 2px 10px}
.kvp-msg-sh{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:12.5px}
.kvp-msg-sh a{color:var(--k-acc);text-decoration:none;font-size:12px}.kvp-msg-sh a:hover{text-decoration:underline}
.kvp-vl{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}
.kvp-vl img{width:64px;height:64px;object-fit:cover;border-radius:8px;cursor:zoom-in;border:1px solid var(--k-line)}
.kvp-vl a{font-size:12.5px;color:var(--k-acc)}
.kvp-msg-t{font-size:13.5px;line-height:1.5;margin-top:2px;overflow-wrap:anywhere}
@media (max-width:700px){.kvp-ryad{grid-template-columns:1fr}}

/* перетаскивание проектов в списке */
table.tablica tr[data-p]{transition:transform .12s}
table.tablica.pr-tyanut{user-select:none}
table.tablica.pr-tyanut tr[data-p]{cursor:grabbing!important}
table.tablica tr.pr-tyanu{transition:none;position:relative;z-index:5;box-shadow:0 10px 28px rgba(20,20,40,.16);background:#fff}
table.tablica tr.pr-tyanu td{background:#fff}

/* сотрудники */
.ava{display:inline-grid;place-items:center;border-radius:50%;object-fit:cover;font-weight:700;color:rgba(34,34,42,.7);flex:none}
.uch{display:inline-flex;align-items:center;gap:9px}.uch .tag{margin-left:2px}
table.tablica tr.byvshiy td{opacity:.5}
label.flag{display:flex;gap:8px;align-items:center;font-size:13.5px;margin:6px 0 10px;cursor:pointer}
.sotr{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:start;max-width:1150px}
.sotr-k{background:#fff;border-radius:18px;padding:22px;box-shadow:var(--k-sh)}
.sotr-foto{display:block;width:104px;margin-bottom:12px;cursor:pointer}.sotr-foto:hover .ava{filter:brightness(.93)}
.sotr-imya{font-size:19px;font-weight:700}
.sotr-sp{margin-top:14px;display:flex;flex-direction:column;gap:9px}
.sk-str{display:flex;gap:10px;align-items:baseline;font-size:14px;overflow-wrap:anywhere}.sk-str i{font-style:normal;width:18px;text-align:center;color:var(--k-mut);flex:none}
.sk-str a{color:inherit;text-decoration:none}.sk-str a:hover{color:var(--k-acc)}
.sotr-p h3{font-size:17px;margin:4px 0 6px}.sotr-p p{margin:0 0 22px;line-height:1.55}
.sotr-f{color:inherit;text-decoration:none}.sotr-f:hover{color:var(--k-acc)}
@media (max-width:800px){.sotr{grid-template-columns:1fr}}
.tabel-k{background:#fff;border-radius:18px;padding:22px;box-shadow:var(--k-sh)}
.tabel-sh{display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:18px}.tabel-sh b{font-size:17px}
.tabel-skrol{overflow-x:auto}
table.tabel{border-collapse:collapse;font-size:12px}
table.tabel th{font-weight:600;padding:8px 4px;min-width:42px;border-bottom:1px solid var(--k-line);white-space:nowrap}
table.tabel td{border:1px solid var(--k-line);height:34px;text-align:center;font-weight:700;cursor:pointer}
table.tabel td:hover{outline:2px solid var(--k-acc);outline-offset:-2px}
table.tabel .vyh{background:#fff8dc}
table.tabel td.tabel-imya{text-align:left;padding:0 14px 0 4px;font-weight:500;min-width:180px;cursor:default;border-left:0}
table.tabel td.tabel-imya a{color:var(--k-acc);text-decoration:none}
table.tabel td.tabel-itog{cursor:default;color:var(--k-mut)}
.tabel-leg{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;font-size:12.5px;color:var(--k-mut)}
.tabel-leg i{font-style:normal;font-weight:700;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;margin-right:6px}

/* бизнес-процессы */
.bp-karty{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.bp-k{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:var(--k-sh);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.bp-k:hover{box-shadow:0 4px 18px rgba(20,20,40,.1)}.bp-k b{font-size:15px}.bp-op{font-size:12.5px}
.bp-shapka{background:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--k-sh);max-width:980px}
.bp-shapka textarea{width:100%;border:0;background:transparent;font:inherit;resize:none;outline:none;padding:0;color:inherit;overflow:hidden}
.bp-shapka textarea.zag{font-size:20px;font-weight:700}.bp-opis{color:var(--k-mut);margin-top:4px;line-height:1.5}
.bp-shag{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:12px;padding:11px 14px;margin-bottom:8px;box-shadow:var(--k-sh);cursor:pointer;max-width:980px}
.bp-shag:hover{box-shadow:0 3px 14px rgba(20,20,40,.1)}
.bp-nom{flex:none;width:24px;height:24px;border-radius:50%;background:oklch(.95 .03 195);color:oklch(.45 .07 195);display:grid;place-items:center;font-size:12px;font-weight:700}
.bp-sh-t{flex:1;min-width:0}.bp-sh-t b{font-weight:600}
.bp-sh-m{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:#55555f;margin-top:3px}
.bp-sh-kn{display:flex;gap:4px;opacity:0;transition:opacity .12s}.bp-shag:hover .bp-sh-kn{opacity:1}
@media (hover:none){.bp-sh-kn{opacity:1}}
.bpt{max-width:1100px}
.bpt-koren{display:inline-block;font-weight:700;font-size:13.5px;background:#2b2b31;color:#fff;border-radius:9px;padding:5px 12px;margin:10px 0 2px}
.bpt ul{list-style:none;margin:0;padding-left:26px;position:relative}
.bpt ul.bpt-ul{padding-left:14px}
.bpt li{position:relative;padding:6px 0 0 18px}
.bpt li:before{content:"";position:absolute;left:0;top:0;bottom:0;border-left:1.3px solid #c4c4cc}
.bpt li:last-child:before{bottom:auto;height:26px}
.bpt li:after{content:"";position:absolute;left:0;top:26px;width:16px;border-top:1.3px solid #c4c4cc}
.bpt-k{display:inline-flex;gap:10px;align-items:flex-start;background:#fff;border-radius:11px;padding:8px 12px;box-shadow:var(--k-sh);cursor:pointer;max-width:560px}
.bpt-k:hover{box-shadow:0 3px 14px rgba(20,20,40,.1)}.bpt-k b{font-weight:600;font-size:13.5px}
.bp-pr{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:var(--k-sh)}
.bp-pr .bar{margin-bottom:8px}
.bp-pr select{max-width:340px}
.bp-pr-sp{display:flex;flex-direction:column}
.bp-pr-s{display:flex;gap:10px;align-items:flex-start;padding:8px 4px;border-top:1px solid var(--k-line);cursor:pointer}
.bp-pr-s:hover{background:#fafafb}
.bp-pr-s>i{font-style:normal;flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;margin-top:1px}
.bp-pr-s.sdelano>i{background:#5fc58f;color:#fff}.bp-pr-s.idet>i{background:oklch(.93 .05 250);color:#4a7fc1}
.bp-pr-s.vperedi>i{border:1.5px solid #c4c4cc;color:transparent}.bp-pr-s.propusk>i{background:#eee;color:#999}
.bp-pr-s.sdelano b,.bp-pr-s.propusk b{color:var(--k-mut);font-weight:500}.bp-pr-s.propusk b{text-decoration:line-through}
.bp-pr-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bp-pr-t b{font-weight:600;font-size:13.5px}.bp-pr-t .mut{font-size:12.5px}
.bp-pr-s .btn{opacity:0}.bp-pr-s:hover .btn{opacity:1}
@media (hover:none){.bp-pr-s .btn{opacity:1}}

/* уведомления */
.uv-punkt{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;color:inherit;text-decoration:none;font-weight:600;font-size:14px;margin:0 0 6px}
.uv-punkt i{font-style:normal;width:18px;text-align:center}.uv-punkt:hover,.uv-punkt.on{background:#ececf0}
.uv{max-width:860px;display:flex;flex-direction:column;gap:12px}
.uv-k{background:#fff;border-radius:14px;padding:14px 18px;box-shadow:var(--k-sh)}
.uv-k h3{margin:0 0 10px;font-size:16px}.uv-k p{margin:0 0 10px}
.uv-ol{margin:0 0 12px;padding-left:20px;line-height:1.6}.uv-ol code,.uv-k code{background:#f2f2f5;border-radius:5px;padding:1px 5px}
.uv-vkl{display:flex;gap:10px;align-items:flex-start;padding:6px 0;cursor:pointer;font-size:14px}.uv-vkl input{margin-top:3px}
.uv-pod{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--k-line);font-size:14px}
.uv-pod select,.uv-pod input[type=time]{margin-left:6px}

/* календарь и шапка задач на телефоне (Олег, 14.10.2026); на компьютере без изменений */
@media (pointer:coarse){.sobytie{touch-action:pan-x pan-y}}
@media (max-width:820px){
  .zad-bar{gap:6px;margin-bottom:8px}
  .zad-bar #gamburger{order:0;padding:6px 10px}
  .zad-bar #vid{order:1}
  .zad-bar #poisk{order:2;margin-left:auto;width:38px!important;padding-left:30px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='8.5' cy='8.5' r='5.5' fill='none' stroke='%238e8e99' stroke-width='1.8'/%3E%3Cpath d='M13 13l4 4' stroke='%238e8e99' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 10px 50%/16px no-repeat;transition:width .15s}
  .zad-bar #poisk:focus,.zad-bar #poisk:not(:placeholder-shown){width:100%!important;order:5}
  .zad-bar #novaya{order:3;padding:7px 12px;font-size:0}
  .zad-bar #novaya:before{content:"+";font-size:20px;line-height:1}
  .zad-bar .grow{display:none}
  .zad-bar #tab{order:4;width:100%;overflow-x:auto}
  .zad-bar .seg button,.kal-bar .seg button{padding:6px 9px;font-size:13.5px}
  .kal-bar{gap:6px;margin-bottom:8px;flex-wrap:nowrap}
  .kal-bar .btn{padding:6px 10px}
  .kal-bar #kalzag{font-size:14px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .kal-bar.kal-den-rezh #kalzag{display:none}
  .kal-bar .grow{flex:1 1 0;min-width:0}
  .kal{height:calc(100vh - 150px);height:calc(100dvh - 150px)}
  .kal-okno .kal-sroki>div:not(.ugol){max-height:40px}
  .kal-sroki>div:first-child{font-size:10px;padding:4px 2px}
  .kal-chas{font-size:11px}
}

/* день рождения — три списка */
.dr{display:grid;grid-template-columns:.8fr 1.4fr 1fr;gap:8px;margin-top:2px}
.dr select{width:100%;border:0;background:none;font:inherit;padding:2px 0;outline:none}
.vyhod-punkt{display:block;font-size:13px;color:var(--k-mut);text-decoration:none;padding:6px 12px}
.vyhod-punkt:hover{color:var(--k-bad)}
.sotr-dostup p{margin:0 0 10px}
