
.tk{max-width:1180px;margin:0 auto}
.tk-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.tk-head h1{margin:2px 0 4px}
.tk-head-acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tk-new{border:0;border-radius:12px;padding:11px 18px;font:700 14px var(--font-body,inherit);color:#fff;background:linear-gradient(135deg,#1f8a4c,#27a35c);box-shadow:0 6px 16px rgba(31,138,76,.28);cursor:pointer;transition:transform .12s,box-shadow .12s}
.tk-new:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(31,138,76,.34)}
.tk-seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:3px}
.tk-seg button{border:0;background:transparent;padding:7px 12px;border-radius:8px;font:600 12.5px var(--font-body,inherit);color:var(--ink-soft);cursor:pointer}
.tk-seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.tk-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.tk-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;transition:border-color .15s,transform .12s;color:var(--ink)}
.tk-stat:hover{transform:translateY(-1px);border-color:var(--line-strong,#cfd4cc)}
.tk-stat b{font:800 24px var(--font-body,inherit);letter-spacing:-.02em}
.tk-stat span{font-size:12px;color:var(--ink-faint)}
.tk-stat.bad b{color:var(--bad)} .tk-stat.warn b{color:#dc6803} .tk-stat.ok b{color:var(--free)}
.tk-people{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:6px;scrollbar-width:thin}
.tk-person{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;color:var(--ink);flex:none}
.tk-person span{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.tk-person b{font-size:13px} .tk-person small{font-size:11px;color:var(--ink-faint)} .tk-person em{color:var(--bad);font-style:normal}
.tk-person.on{border-color:#1f8a4c;background:rgba(31,138,76,.08);box-shadow:0 0 0 2px rgba(31,138,76,.15)}
.tk-ava{--h:150;display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:50%;background:hsl(var(--h) 55% 88%);color:hsl(var(--h) 55% 28%);font:800 12px var(--font-body,inherit);letter-spacing:.02em}
.tk-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.tk-tabs,.tk-when{display:flex;gap:4px;flex-wrap:wrap}
.tk-tabs button,.tk-when button{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);padding:7px 13px;border-radius:999px;font:600 12.5px var(--font-body,inherit);cursor:pointer}
.tk-tabs button.on{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.tk-when button{padding:5px 11px;font-size:12px}
.tk-when button.on{background:rgba(31,138,76,.1);border-color:#1f8a4c;color:#1f8a4c}
.tk-search{display:flex;align-items:center;gap:6px;margin-left:auto;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:0 12px;min-width:200px}
.tk-search span{color:var(--ink-faint)} .tk-search input{border:0;background:transparent;outline:0;padding:8px 0;font:inherit;color:var(--ink);width:100%}
.tk-quick{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;border-radius:16px;border:1px solid var(--line);background:var(--surface);box-shadow:0 2px 10px rgba(16,24,16,.04);margin-bottom:16px}
.tk-quick input,.tk-quick select{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:10px;padding:9px 11px;font:inherit;font-size:13.5px}
.tk-quick #tkQuick{flex:1 1 260px;min-width:0;font-size:14.5px;background:var(--surface)}
.tk-qdays{display:flex;gap:4px} .tk-qdays button,.tk-qpri{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);border-radius:10px;padding:8px 10px;font:600 12px var(--font-body,inherit);cursor:pointer;white-space:nowrap}
.tk-qdays button.on{border-color:#1f8a4c;color:#1f8a4c;background:rgba(31,138,76,.08)}
.tk-qpri.p2{color:#dc6803;border-color:#fdb022} .tk-qpri.p3{color:#d92d20;border-color:#fda29b} .tk-qpri.p0{color:var(--ink-faint)}
.tk-group{margin-bottom:16px}
.tk-group-h{display:flex;align-items:center;gap:8px;font:700 12.5px var(--font-body,inherit);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin:0 4px 8px;border:0;background:none;padding:0;cursor:default}
.tk-group-h b{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:11px;color:var(--ink-soft)}
.tk-group-h.over{color:var(--bad)} .tk-group-h.today{color:#1f8a4c}
.tk-done-t{cursor:pointer} .tk-done-t span{font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink-faint)}
.tk-list{display:flex;flex-direction:column;gap:6px}
.tk-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);border-left:4px solid #2e90fa;cursor:pointer;transition:box-shadow .15s,transform .12s,border-color .15s}
.tk-row:hover{box-shadow:0 6px 18px rgba(16,24,16,.08);transform:translateY(-1px)}
.tk-row.p0{border-left-color:#d0d5dd} .tk-row.p2{border-left-color:#f79009} .tk-row.p3{border-left-color:#f04438;background:linear-gradient(90deg,rgba(240,68,56,.05),var(--surface) 40%)}
.tk-row.done{opacity:.6;border-left-color:var(--free)} .tk-row.done .tk-title{text-decoration:line-through;color:var(--ink-faint)}
.tk-chk{flex:none;width:24px;height:24px;border-radius:50%;border:2px solid var(--line-strong,#c5ccc2);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s}
.tk-chk:hover{border-color:#1f8a4c;background:rgba(31,138,76,.08)}
.tk-chk:hover span::after,.tk-row.done .tk-chk span::after{content:'✓';font:900 13px var(--font-body,inherit);color:#1f8a4c}
.tk-row.done .tk-chk{background:#1f8a4c;border-color:#1f8a4c} .tk-row.done .tk-chk span::after{color:#fff}
.tk-main{flex:1;min-width:0}
.tk-title{font:600 14.5px var(--font-body,inherit);color:var(--ink);line-height:1.35;word-break:break-word}
.tk-doing{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:6px;background:#eef4ff;color:#3538cd;font-size:11px;font-weight:700;vertical-align:1px}
.tk-new-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--bad);margin-right:6px;vertical-align:2px;box-shadow:0 0 0 3px rgba(240,68,56,.18)}
.tk-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.tk-meta:empty{display:none}
.tk-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:7px;background:var(--surface-2);border:1px solid var(--line);font-size:11.5px;color:var(--ink-soft);white-space:nowrap}
.tk-chip.due.over{background:#fef3f2;border-color:#fecdca;color:#b42318;font-weight:700} .tk-chip.due.today{background:#ecfdf3;border-color:#abefc6;color:#067647;font-weight:700} .tk-chip.due.soon{color:#b54708}
.tk-chip.pri.p3{background:#fef3f2;border-color:#fecdca;color:#b42318} .tk-chip.pri.p2{background:#fffaeb;border-color:#fedf89;color:#b54708}
.tk-chip.ok{color:#067647} .tk-chip.link{cursor:pointer;color:#175cd3;border-color:#b2ccff;background:#eff8ff} .tk-chip.link:hover{text-decoration:underline}
.tk-chip.from{color:#6941c6;background:#f9f5ff;border-color:#e9d7fe} .tk-chip.to{color:#175cd3}
.tk-who{flex:none}
.tk-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:40px 20px;border:1.5px dashed var(--line);border-radius:18px;color:var(--ink-faint);text-align:center;margin-bottom:16px}
.tk-empty div{font-size:30px} .tk-empty b{color:var(--ink);font-size:15px}
.tk-skel{height:58px;border-radius:14px;margin-bottom:8px;background:linear-gradient(90deg,var(--surface-2),var(--surface),var(--surface-2));background-size:200% 100%;animation:tkSk 1.2s infinite}
@keyframes tkSk{to{background-position:-200% 0}}
.tk-hint{margin:14px 4px}
.tk-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.tk-col{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:10px;min-height:160px;display:flex;flex-direction:column;gap:8px;transition:background .15s}
.tk-col.over{background:rgba(31,138,76,.08);border-color:#1f8a4c}
.tk-col-h{display:flex;align-items:center;justify-content:space-between;font:700 13px var(--font-body,inherit);padding:2px 4px 4px;color:var(--ink)}
.tk-col-h b{font-size:11px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:1px 8px}
.tk-col-h.todo::before,.tk-col-h.doing::before,.tk-col-h.done::before{content:'';width:8px;height:8px;border-radius:50%;margin-right:6px;background:#98a2b3}
.tk-col-h.doing::before{background:#2e90fa} .tk-col-h.done::before{background:#12b76a}
.tk-col-h{justify-content:flex-start} .tk-col-h b{margin-left:auto}
.tk-col-empty{padding:24px 6px;text-align:center;color:var(--ink-faint);font-size:12px;border:1.5px dashed var(--line);border-radius:12px}
.tk-card{background:var(--surface);border:1px solid var(--line);border-top:3px solid #2e90fa;border-radius:12px;padding:10px 11px;cursor:grab;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.tk-card:hover{box-shadow:0 6px 16px rgba(16,24,16,.1)}
.tk-card.p0{border-top-color:#d0d5dd} .tk-card.p2{border-top-color:#f79009} .tk-card.p3{border-top-color:#f04438} .tk-card.done{opacity:.65}
.tk-card-top{display:flex;gap:8px;align-items:flex-start} .tk-card-top .tk-title{flex:1;font-size:13.5px}
.tk-card-move{display:none;gap:4px;margin-top:8px;flex-wrap:wrap}
.tk-card-move button{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:4px 8px;font-size:11px;cursor:pointer;color:var(--ink-soft)}
.tk-card:hover .tk-card-move{display:flex}
.tk-payask{position:fixed;inset:0;z-index:3200;background:rgba(16,20,18,.5);display:flex;align-items:center;justify-content:center;padding:16px}.tk-payask-box{background:var(--card,#fff);color:inherit;border-radius:16px;max-width:440px;width:100%;padding:18px 18px 14px;box-shadow:0 20px 60px rgba(0,0,0,.3)}.tk-payask-box h3{margin:4px 0 8px;font-size:18px}.tk-payask-box p{margin:6px 0}.tk-payask-pw input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line,#d0d5dd);border-radius:10px;font-size:16px;margin:6px 0;background:transparent;color:inherit}.tk-payask-acts{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:10px}
.tk-modal{position:fixed;inset:0;z-index:3000;background:rgba(16,20,18,.45);display:flex;justify-content:flex-end;animation:tkFade .15s}
@keyframes tkFade{from{opacity:0}}
.tk-sheet{width:min(560px,100%);height:100%;overflow-y:auto;background:var(--surface);box-shadow:-12px 0 40px rgba(0,0,0,.18);padding:18px 22px 26px;border-top:5px solid #2e90fa;animation:tkSlide .2s ease-out;box-sizing:border-box}
@keyframes tkSlide{from{transform:translateX(40px);opacity:.4}}
.tk-sheet.p0{border-top-color:#d0d5dd} .tk-sheet.p2{border-top-color:#f79009} .tk-sheet.p3{border-top-color:#f04438}
.tk-sh-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.tk-sh-k{font-size:12px;color:var(--ink-faint)}
.tk-x{border:0;background:var(--surface-2);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:15px;color:var(--ink-soft);flex:none}
.tk-mst{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}
.tk-mst button{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:8px 6px;font:600 12.5px var(--font-body,inherit);cursor:pointer;color:var(--ink-soft)}
.tk-mst button.todo.on{background:#f2f4f7;border-color:#98a2b3;color:#344054} .tk-mst button.doing.on{background:#eff8ff;border-color:#2e90fa;color:#175cd3} .tk-mst button.done.on{background:#ecfdf3;border-color:#12b76a;color:#067647}
.tk-mtitle{width:100%;box-sizing:border-box;border:0;border-bottom:2px solid var(--line);background:transparent;font:800 20px var(--font-body,inherit);color:var(--ink);padding:6px 0 8px;resize:none;outline:0;overflow:hidden;margin-bottom:14px}
.tk-mtitle:focus{border-bottom-color:#1f8a4c}
.tk-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:14px}
.tk-fields label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--ink-faint);font-weight:600}
.tk-fields label.wide{grid-column:1/-1}
.tk-fields input,.tk-fields select,.tk-mdesc,.tk-cl-add input,.tk-cm-add textarea{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:10px;padding:9px 11px;font:inherit;font-size:13.5px;width:100%;box-sizing:border-box;min-width:0}
.tk-due2{display:flex;gap:6px} .tk-due2 input[type=time]{width:110px;flex:none}
.tk-pris{display:flex;gap:4px;flex-wrap:wrap}
.tk-pris button{--c:#2e90fa;border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:6px 9px;font:600 12px var(--font-body,inherit);cursor:pointer;color:var(--ink-soft)}
.tk-pris button.on{background:var(--c);border-color:var(--c);color:#fff}
.tk-sec{margin-top:14px}
.tk-sec-h{font:700 12px var(--font-body,inherit);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:8px;display:flex;gap:6px;align-items:center}
.tk-sec-h b{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:0 7px;font-size:11px}
.tk-mdesc{resize:vertical;min-height:70px;line-height:1.45}
.tk-prog{height:6px;border-radius:9px;background:var(--surface-2);overflow:hidden;margin-bottom:8px} .tk-prog i{display:block;height:100%;background:linear-gradient(90deg,#12b76a,#27a35c);border-radius:9px;transition:width .2s}
.tk-cl{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:9px} .tk-cl:hover{background:var(--surface-2)}
.tk-cl input{width:17px;height:17px;accent-color:#1f8a4c;flex:none} .tk-cl span{flex:1;font-size:13.5px} .tk-cl.done span{text-decoration:line-through;color:var(--ink-faint)}
.tk-cl button{border:0;background:none;color:var(--ink-faint);cursor:pointer;opacity:0} .tk-cl:hover button{opacity:1}
.tk-cl-add{margin-top:4px}
.tk-comments{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto;padding:2px}
.tk-cm{display:flex;gap:9px;align-items:flex-start} .tk-cm>div{flex:1;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:8px 11px}
.tk-cm.me>div{background:rgba(31,138,76,.07);border-color:rgba(31,138,76,.25)}
.tk-cm-h{font-size:12px;margin-bottom:2px} .tk-cm-h span{color:var(--ink-faint);font-size:11px} .tk-cm-t{font-size:13.5px;line-height:1.45;word-break:break-word}
.tk-cm-add{display:flex;gap:8px;align-items:flex-end;margin-top:10px} .tk-cm-add textarea{resize:vertical;min-height:40px}
.tk-hist{margin-top:14px;font-size:12px;color:var(--ink-soft)} .tk-hist summary{cursor:pointer;font-weight:700;color:var(--ink-faint)} .tk-hist div{padding:4px 0;border-bottom:1px dashed var(--line)} .tk-hist span{color:var(--ink-faint)}
.tk-sh-foot{display:flex;justify-content:space-between;gap:10px;margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}
.tk-del{color:var(--bad)} .tk-donebtn{padding-left:22px;padding-right:22px}
@media (max-width:900px){.tk-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.tk-board{grid-template-columns:1fr}.tk-card-move{display:flex}}
@media (max-width:640px){
  .tk-head{align-items:flex-start}.tk-head-acts{width:100%}.tk-new{flex:1}
  .tk-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tk-stat:last-child{grid-column:1/-1}
  .tk-search{margin-left:0;width:100%}
  .tk-when{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:2px}.tk-when button{flex:none}
  .tk-quick #tkQuick{flex-basis:100%}.tk-quick select,.tk-quick input[type=date]{flex:1}
  .tk-row{padding:10px 11px;gap:10px}.tk-title{font-size:14px}
  .tk-sheet{width:100%;padding:14px 16px 24px;border-radius:0}
  .tk-fields{grid-template-columns:1fr}
  .tk-modal{align-items:flex-end}
}
@media (max-width:640px){.tk-stats{display:flex;overflow-x:auto;gap:8px;padding-bottom:2px}.tk-stat{flex:none;min-width:118px;padding:9px 12px}.tk-stat b{font-size:20px}.tk-stat:last-child{grid-column:auto}}
/* v3.99.97 группы и должности */
.tk-ava.grp{background:linear-gradient(135deg,#d1fadf,#a6f4c5);color:#05603a;font-size:15px}
.tk-ava.grp.rop{background:linear-gradient(135deg,#ebe9fe,#d9d6fe);color:#4a1fb8}
.tk-ava.grp.all{background:linear-gradient(135deg,#fef0c7,#fedf89);color:#93370d}
.tk-chip.grp{color:#05603a;background:#ecfdf3;border-color:#abefc6;font-weight:600}
.tk-chip.taker{color:#175cd3;background:#eff8ff;border-color:#b2ddff}
.tk-chip.wait{color:#b54708;background:#fffaeb;border-color:#fedf89}
.tk-person.grp{border-style:dashed}
.tk-person small i{font-style:normal;font-weight:700;color:var(--ink-soft)}
.tk-pos{display:inline-block;padding:0 6px;border-radius:6px;font-size:10.5px;font-weight:700;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-soft);vertical-align:1px}
.tk-pos.adm{color:#93370d;background:#fffaeb;border-color:#fedf89} .tk-pos.rop{color:#4a1fb8;background:#f4f3ff;border-color:#d9d6fe}
.tk-each{grid-column:1/-1;display:flex !important;flex-direction:row !important;align-items:flex-start;gap:10px !important;padding:10px 12px;border-radius:12px;border:1px solid #abefc6;background:#f6fef9;color:var(--ink) !important;font-size:13px !important;font-weight:500 !important;cursor:pointer}
.tk-each input{width:18px !important;height:18px;flex:none;accent-color:#1f8a4c;margin-top:1px}
.tk-each small{display:block;color:var(--ink-faint);font-size:11.5px;margin-top:2px}
.tk-grpinfo{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:9px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);font-size:13px;color:var(--ink)}
.tk-grpinfo small{color:var(--ink-faint)}
.tk-gear{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:11px;padding:9px 12px;font:600 12.5px var(--font-body,inherit);cursor:pointer}
.tk-posl{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.tk-posr{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.tk-posr b{flex:1;font-size:14px} .tk-posr small{display:block;color:var(--ink-faint);font-weight:500;font-size:11.5px}
.tk-posr select{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:9px;padding:7px 9px;font:inherit;font-size:13px}

/* ===== v3.100 ===== */
.tk-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.tk-stats.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tk-stat.rev b{color:#7a5af8}
.tk-views{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:3px;flex-wrap:wrap}
.tk-views button{border:0;background:transparent;padding:7px 11px;border-radius:8px;font:600 12.5px var(--font-body,inherit);color:var(--ink-soft);cursor:pointer;white-space:nowrap}
.tk-views button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.tk-more{position:relative}
.tk-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.16);padding:6px;min-width:230px;display:flex;flex-direction:column}
.tk-menu button{border:0;background:none;text-align:left;padding:9px 12px;border-radius:9px;font:500 13.5px var(--font-body,inherit);color:var(--ink);cursor:pointer;white-space:nowrap}
.tk-menu button:hover{background:var(--surface-2)} .tk-menu hr{border:0;border-top:1px solid var(--line);margin:4px 6px}
.tk-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.tk-tools select,.tk-tbtn{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:6px 10px;font:600 12px var(--font-body,inherit);cursor:pointer}
.tk-tbtn.on{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.tk-saved{display:flex;gap:6px;flex-wrap:wrap;margin:-2px 0 10px}
.tk-saved button{border:1px dashed var(--line-strong,#cbcfc7);background:transparent;border-radius:999px;padding:4px 10px;font:600 12px var(--font-body,inherit);color:var(--ink-soft);cursor:pointer}
.tk-saved button.on{border-style:solid;border-color:#1f8a4c;color:#1f8a4c;background:rgba(31,138,76,.07)}
.tk-saved button i{font-style:normal;margin-left:6px;opacity:.5}
.tk-qwrap{margin-bottom:16px}
.tk-qwrap .tk-quick{margin-bottom:0}
.tk-qprev{display:flex;gap:5px;flex-wrap:wrap;padding:6px 6px 0}
.tk-qprev:empty{display:none}
.tk-mic{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:8px 10px;cursor:pointer;font-size:14px}
.tk-mic.on{background:#fef3f2;border-color:#fda29b;animation:tkPulse 1s infinite}
@keyframes tkPulse{50%{box-shadow:0 0 0 4px rgba(240,68,56,.15)}}
.tk-fire{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);border-radius:10px;padding:8px 10px;font:600 12px var(--font-body,inherit);cursor:pointer;white-space:nowrap}
.tk-fire.on{background:#fef3f2;border-color:#fda29b;color:#b42318}
.tk-datebtn{position:relative}
.tk-dmenu{position:absolute;top:calc(100% + 6px);left:0;z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.16);padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:4px;min-width:250px}
.tk-dmenu button{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:8px;font:600 12.5px var(--font-body,inherit);color:var(--ink);cursor:pointer;text-align:left}
.tk-dmenu input{grid-column:1/-1;border:1px solid var(--line);border-radius:9px;padding:8px;font:inherit}
.tk-row{position:relative;touch-action:pan-y}
.tk-row.pin{box-shadow:inset 0 0 0 1px rgba(31,138,76,.25)}
.tk-row .tk-sel{flex:none;width:18px;height:18px;accent-color:#1f8a4c}
.tk-row.sel{background:rgba(31,138,76,.06);border-color:#1f8a4c}
.tk-row.review{border-left-color:#7a5af8}
.tk-row.snz{opacity:.7}
.tk-sw{position:absolute;inset:0;border-radius:14px;display:flex;align-items:center;padding:0 18px;font:700 13px var(--font-body,inherit);color:#fff;pointer-events:none;opacity:0}
.tk-sw.r{background:#12b76a;justify-content:flex-start} .tk-sw.l{background:#f79009;justify-content:flex-end}
.tk-compact .tk-row{padding:6px 12px;border-radius:10px}
.tk-compact .tk-meta{margin-top:2px}
.tk-compact .tk-title{font-size:13.5px}
.tk-compact .tk-chip{padding:0 6px;font-size:11px}
.tk-chip.rev{color:#5925dc;background:#f4f3ff;border-color:#d9d6fe;font-weight:600}
.tk-chip.proj{color:#344054;background:#f2f4f7;border-color:#d0d5dd}
.tk-chip.tag{color:#c11574;background:#fdf2fa;border-color:#fcceee}
.tk-chip.br{color:#026aa2;background:#f0f9ff;border-color:#b9e6fe}
.tk-chip.req{color:#b54708;background:#fffaeb;border-color:#fedf89;font-weight:600}
.tk-chip.sub{color:#475467}
.tk-chip.lock{color:#475467}
.tk-chip.time{color:#175cd3}
.tk-chip.run{color:#fff;background:#2e90fa;border-color:#2e90fa;animation:tkPulse 1.6s infinite}
.tk-mass{position:sticky;bottom:12px;z-index:30;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:16px;background:var(--ink);color:var(--surface);box-shadow:0 14px 40px rgba(0,0,0,.25);margin:12px 0}
.tk-mass b{margin-right:auto;font-size:13.5px}
.tk-mass button,.tk-mass select,.tk-mass input{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:inherit;border-radius:9px;padding:7px 10px;font:600 12.5px var(--font-body,inherit);cursor:pointer}
.tk-mass select option{color:#000}
.tk-more-btn{border:0;background:none;color:#175cd3;font:600 12.5px var(--font-body,inherit);cursor:pointer;padding:8px 4px}
/* карточка */
.tk-banner{border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:13px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.tk-banner.rev{background:#f4f3ff;border:1px solid #d9d6fe;color:#3e1c96} .tk-banner.req{background:#fffaeb;border:1px solid #fedf89;color:#7a2e0e}
.tk-banner.snz{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-soft)} .tk-banner.dep{background:#fef3f2;border:1px solid #fecdca;color:#912018}
.tk-banner .acts{display:flex;gap:6px;flex-wrap:wrap}
.tk-banner input{border:1px solid var(--line);border-radius:9px;padding:7px 9px;font:inherit;font-size:13px;min-width:180px;flex:1}
.tk-mst{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}
.tk-mst button.review.on{background:#f4f3ff;border-color:#7a5af8;color:#5925dc}
.tk-crumb{font-size:12px;color:#175cd3;cursor:pointer;margin-bottom:6px;display:inline-block}
.tk-ppl{display:flex;gap:5px;flex-wrap:wrap;align-items:center;min-height:38px;border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:4px 6px}
.tk-ppl .tk-pp{display:inline-flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:2px 8px 2px 2px;font-size:12px;color:var(--ink)}
.tk-ppl .tk-pp button{border:0;background:none;color:var(--ink-faint);cursor:pointer;padding:0 0 0 2px}
.tk-ppl select{border:0 !important;background:transparent !important;padding:4px !important;width:auto !important;color:var(--ink-faint) !important;font-size:12.5px !important}
.tk-toggles{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.tk-tg{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);border-radius:999px;padding:6px 11px;font:600 12px var(--font-body,inherit);cursor:pointer}
.tk-tg.on{background:#ecfdf3;border-color:#12b76a;color:#067647} .tk-tg.fire.on{background:#fef3f2;border-color:#fda29b;color:#b42318} .tk-tg.lockp.on{background:#f2f4f7;border-color:#667085;color:#344054}
.tk-tg[disabled]{opacity:.5;cursor:default}
.tk-xtra{grid-column:1/-1;border:0;background:none;color:#175cd3;font:600 12.5px var(--font-body,inherit);text-align:left;padding:2px 0;cursor:pointer}
.tk-wd{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.tk-wd button{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:4px 8px;font:600 11.5px var(--font-body,inherit);cursor:pointer;color:var(--ink-soft)}
.tk-wd button.on{background:#2e90fa;border-color:#2e90fa;color:#fff}
.tk-subs{display:flex;flex-direction:column;gap:4px}
.tk-subr{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:9px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:13.5px}
.tk-subr.done .tk-subt{text-decoration:line-through;color:var(--ink-faint)}
.tk-subr.done .tk-chk{background:#1f8a4c;border-color:#1f8a4c}.tk-subr.done .tk-chk span::after{content:'✓';color:#fff;font:900 11px var(--font-body,inherit)}
.tk-subr .tk-subt{flex:1;min-width:0}
.tk-subr .tk-ava{flex:none}
.tk-subr small{color:var(--ink-faint);font-size:11.5px;white-space:nowrap}
.tk-cl .tk-clwho{border:0;background:none;padding:0;cursor:pointer;opacity:.9}
.tk-cl .tk-clwho.none{font-size:11px;color:var(--ink-faint);opacity:0} .tk-cl:hover .tk-clwho.none{opacity:1}
.tk-cl select{border:1px solid var(--line);border-radius:7px;font-size:12px;padding:2px}
.tk-timer{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tk-timer b{font:700 15px var(--font-mono,monospace)}
.tk-cm-re{font-size:11.5px;color:var(--ink-faint);border-left:2px solid var(--line-strong,#cbcfc7);padding-left:6px;margin-bottom:3px}
.tk-cm-acts{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap;align-items:center}
.tk-cm-acts button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:0 7px;font-size:12px;cursor:pointer;color:var(--ink-soft);line-height:20px}
.tk-cm-acts button.on{border-color:#2e90fa;background:#eff8ff;color:#175cd3}
.tk-cm-acts .tk-ghost{opacity:0} .tk-cm:hover .tk-ghost{opacity:1}
.tk-mention{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.tk-mention:empty{display:none}
.tk-mention button{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:3px 9px;font-size:12px;cursor:pointer}
.tk-replying{font-size:12px;color:var(--ink-soft);margin-top:8px;display:flex;gap:6px;align-items:center}
.tk-seen{font-size:11.5px;color:var(--ink-faint);margin-top:6px}
.tk-donebox{display:flex;gap:8px;align-items:center;flex:1;justify-content:flex-end;flex-wrap:wrap}
.tk-donebox input{flex:1;min-width:160px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:inherit;font-size:13.5px}
.tk-rate{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--ink-soft)}
.tk-rate button{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:5px 11px;cursor:pointer;font-size:14px}
.tk-rate button.on{border-color:#12b76a;background:#ecfdf3}
/* виды */
.tk-plan{display:grid;grid-template-columns:260px repeat(7,minmax(150px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px;align-items:start}
.tk-plan .tk-col{min-height:220px}
.tk-plan .tk-col-h small{font-weight:500;color:var(--ink-faint);margin-left:4px}
.tk-plan .tk-col.today{border-color:#1f8a4c;background:rgba(31,138,76,.05)}
.tk-mini{background:var(--surface);border:1px solid var(--line);border-left:3px solid #2e90fa;border-radius:10px;padding:7px 9px;font-size:12.5px;cursor:grab;display:flex;gap:6px;align-items:flex-start}
.tk-mini.p3,.tk-mini.p2{border-left-color:#f04438} .tk-mini.done{opacity:.55;text-decoration:line-through}
.tk-mini span{flex:1;min-width:0;word-break:break-word}
.tk-mini small{display:block;color:var(--ink-faint);font-size:11px;margin-top:2px}
.tk-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.tk-cal-h{font:700 11.5px var(--font-body,inherit);color:var(--ink-faint);text-transform:uppercase;text-align:center;padding:4px}
.tk-day{min-height:104px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:3px;cursor:pointer;min-width:0}
.tk-day.out{opacity:.45} .tk-day.today{border-color:#1f8a4c;box-shadow:0 0 0 2px rgba(31,138,76,.15)} .tk-day.over{background:rgba(31,138,76,.08)}
.tk-day>b{font-size:12px;color:var(--ink-soft)}
.tk-day .tk-dt{font-size:11.5px;padding:2px 6px;border-radius:6px;background:#eff8ff;color:#175cd3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab}
.tk-day .tk-dt.p3,.tk-day .tk-dt.p2{background:#fef3f2;color:#b42318} .tk-day .tk-dt.done{background:var(--surface-2);color:var(--ink-faint);text-decoration:line-through}
.tk-day .tk-dmore{font-size:11px;color:var(--ink-faint)}
.tk-calnav{display:flex;align-items:center;gap:8px;margin-bottom:10px} .tk-calnav b{font:700 16px var(--font-body,inherit);min-width:150px;text-align:center}
.tk-calnav button{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:6px 11px;cursor:pointer}
.tk-board.n4{grid-template-columns:repeat(4,minmax(0,1fr))} .tk-board.nx{display:flex;overflow-x:auto} .tk-board.nx .tk-col{flex:0 0 260px}
.tk-col-h i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
/* отчёт */
.tk-rep{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:auto}
.tk-rep table{width:100%;border-collapse:collapse;font-size:13px;min-width:820px}
.tk-rep th{text-align:left;font:700 11px var(--font-body,inherit);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.tk-rep td{padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.tk-rep tr:last-child td{border-bottom:0}
.tk-bar2{height:6px;border-radius:9px;background:var(--surface-2);overflow:hidden;width:80px;display:inline-block;vertical-align:middle;margin-left:6px} .tk-bar2 i{display:block;height:100%;background:#12b76a}
.tk-leaders{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.tk-leader{flex:1 1 200px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;gap:10px;align-items:center}
.tk-leader em{font-style:normal;font-size:24px}
.tk-leader small{display:block;color:var(--ink-faint);font-size:12px}
.tk-feed{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 14px;font-size:13px}
.tk-feed div{padding:6px 0;border-bottom:1px dashed var(--line);cursor:pointer} .tk-feed div:last-child{border-bottom:0} .tk-feed span{color:var(--ink-faint)}
.tk-set{display:flex;flex-direction:column;gap:12px}
.tk-set label{display:flex;align-items:center;gap:10px;font-size:13.5px}
.tk-set input[type=time]{border:1px solid var(--line);border-radius:9px;padding:6px 8px;font:inherit}
.tk-stg{display:flex;gap:6px;align-items:center} .tk-stg input[type=text]{flex:1;border:1px solid var(--line);border-radius:9px;padding:7px 9px;font:inherit} .tk-stg input[type=color]{width:38px;height:34px;border:0;background:none}
.tk-tpl{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.tk-tpl-h{display:flex;align-items:center;gap:8px} .tk-tpl-h b{flex:1}
.tk-tpl small{color:var(--ink-faint)}
.tk-ti{display:grid;grid-template-columns:1fr 150px 90px 28px;gap:6px}
.tk-ti input,.tk-ti select{border:1px solid var(--line);border-radius:8px;padding:7px 8px;font:inherit;font-size:13px;min-width:0}
.tk-snack{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:4000;background:#101828;color:#fff;border-radius:12px;padding:10px 12px 10px 16px;display:flex;gap:14px;align-items:center;box-shadow:0 14px 40px rgba(0,0,0,.3);font-size:13.5px;max-width:calc(100% - 32px)}
.tk-snack button{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:8px;padding:6px 12px;font:700 13px var(--font-body,inherit);cursor:pointer}
.tk-mobonly{display:none}
.tk-offline{background:#fffaeb;border:1px solid #fedf89;color:#7a2e0e;border-radius:12px;padding:8px 12px;margin-bottom:10px;font-size:13px}
@media (max-width:900px){.tk-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tk-board.n4{grid-template-columns:1fr}.tk-plan{grid-template-columns:repeat(8,minmax(220px,1fr))}}
@media (max-width:640px){
  .tk-views{width:100%;overflow-x:auto;flex-wrap:nowrap}.tk-views button{flex:none}
  .tk-tools{width:100%}.tk-ti{grid-template-columns:1fr 1fr}.tk-ti input:first-child{grid-column:1/-1}
  .tk-day{min-height:62px;padding:4px}.tk-day .tk-dt{font-size:10px;padding:1px 4px}.tk-cal{gap:3px}
  .tk-mass{bottom:8px}.tk-donebox{width:100%}
  .tk-calnav span{display:none}
  .tk-mobonly{display:inline-block}.tk-tools{display:none}.tk-tools.open{display:flex}
  .tk-quick #tkQuick{flex:1 1 calc(100% - 56px)}.tk-quick select{flex:1 1 0;min-width:0}.tk-quick .btn-primary{padding-left:12px;padding-right:12px}
  .tk-people{margin-bottom:2px}.tk-head h1{font-size:26px}.tk-plan .tk-col{min-height:120px}
  .tk-sh-foot{flex-wrap:wrap}
}

