/* Свой трекер задач: вкладка «Задачи» спейса, доска, бэклог, шторка задачи (холст «Задачи: свой трекер», A). */
.tk-loading{color:var(--muted);font-size:13px;padding:24px 2px}
.tk-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0 14px}
.tk-grow{flex:1}
.tk-range{font-size:12.5px;color:var(--muted)}
.tk-seg{display:inline-flex;gap:2px;padding:2px;border-radius:8px;border:1px solid var(--line);background:var(--bg)}
.tk-seg button{font-size:13px;padding:4px 11px;border-radius:6px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.tk-seg button span{font-size:11.5px;color:var(--muted)}
.tk-seg button:hover{color:var(--ink)}
.tk-seg button.on{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #0003,0 0 0 1px var(--line)}
.tk-seg.small button{font-size:12.5px;padding:3px 10px}
.tk-add kbd{font:inherit;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 5px;margin-left:4px}
.tk-add .icon{width:14px;height:14px}
.tk-panel{border:1px solid var(--line);border-radius:10px;background:var(--paper);overflow:hidden}
.tk-panel-tools{display:flex;justify-content:flex-end;padding:8px 12px;border-bottom:1px solid var(--line)}
.tk-group-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px;background:var(--bg);border-bottom:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--ink);text-align:left}
.tk-group-head.static{cursor:default}
.tk-n{font-weight:400;color:var(--muted)}
.tk-more{margin-left:auto;font-weight:400;color:var(--muted)}
.tk-row{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink);text-decoration:none}
.tk-group:last-child .tk-row:last-child{border-bottom:0}
.tk-row:hover{background:color-mix(in srgb,var(--tint) 45%,transparent)}
.tk-row.picked{background:color-mix(in srgb,var(--tint) 70%,transparent)}
/* Куда встанет перетаскиваемая строка или карточка: линия над или под соседом. */
.tk-ins-before,.tk-ins-after{position:relative}
.tk-ins-before::before,.tk-ins-after::after{content:"";position:absolute;left:0;right:0;height:2px;border-radius:1px;background:var(--accent);pointer-events:none;z-index:2}
.tk-ins-before::before{top:-1px}
.tk-ins-after::after{bottom:-1px}
.tk-card.tk-ins-before::before{top:-5px}
.tk-card.tk-ins-after::after{bottom:-5px}
.tk-open{display:flex;align-items:center;gap:10px;flex:1;min-width:0;height:40px;text-align:left;color:inherit;font:inherit}
.tk-key{color:var(--muted);font-size:12.5px;flex:none;font-variant-numeric:tabular-nums;min-width:58px}
.tk-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-title.struck{text-decoration:line-through;color:var(--muted)}
.tk-sub{font-size:11.5px;color:var(--muted);flex:none}
.tk-meta{display:flex;align-items:center;gap:8px;flex:none}
.tk-due{font-size:12px;color:var(--muted);min-width:44px;text-align:right}
.tk-due.late{color:var(--red)}
.tk-chip{font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px;white-space:nowrap}
.tk-chip.on{color:var(--green);background:var(--tint);border-color:transparent}
/* Агент спросил и ждёт ответа: метка на строке, карточке и в шторке задачи. */
.tk-wait{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:11.5px;font-weight:600;color:var(--amber);background:var(--amberbg);border-radius:999px;padding:1px 9px;white-space:nowrap}
.tk-wait::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.tk-chip.tk-chip-q{color:var(--amber);border-color:var(--amber)}
.tk-wait-note{display:flex;align-items:center;gap:10px;margin:4px 0 10px}
.tk-row .tk-check{margin:0;accent-color:var(--accent);flex:none;width:15px;height:15px;min-width:0;padding:0;display:inline-block}
.tk-send{font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:1px 7px;opacity:0}
.tk-row:hover .tk-send,.tk-send:focus-visible{opacity:1}
.tk-send:hover{color:var(--ink)}
.tk-av{width:20px;height:20px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;background:var(--tint);color:var(--green)}
.tk-av.tk-av-none{background:transparent;border:1px dashed var(--line);box-sizing:border-box}
/* Статусы как в Linear: пусто → наполовину → на три четверти → закрашено. */
.tk-st{width:12px;height:12px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1.5px var(--muted)}
.tk-st[data-cat=backlog]{box-shadow:none;border:1.5px dashed var(--muted);box-sizing:border-box;opacity:.8}
.tk-st[data-cat=doing]{box-shadow:inset 0 0 0 1.5px var(--amber);background:linear-gradient(90deg,var(--amber) 50%,transparent 50%)}
.tk-st[data-cat=review]{box-shadow:inset 0 0 0 1.5px var(--accent);background:conic-gradient(var(--accent) 0 75%,transparent 75%)}
.tk-st[data-cat=test]{box-shadow:inset 0 0 0 1.5px #2b8a9a;background:conic-gradient(#2b8a9a 0 88%,transparent 88%)}
.tk-st[data-cat=done]{box-shadow:none;background:var(--accent)}
.tk-st[data-cat=cancelled]{box-shadow:none;background:var(--muted);opacity:.6}
/* Доска спринта: колонки спейса фиксированной ширины, дорожки, листается вбок, мини-карта (холст 16). */
.tk-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:16px 0 4px;border-bottom:1px solid var(--line)}
.tk-tabs{display:flex;gap:20px}
.tk-tabs button{font-size:13.5px;color:var(--muted);padding:6px 0 9px;display:inline-flex;align-items:center;gap:6px;border-bottom:2px solid transparent;margin-bottom:-1px}
.tk-tabs button:hover{color:var(--ink)}
.tk-tabs button.on{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}
.tk-tabs button.tk-ai .tk-spark{color:var(--accent)}
.tk-sprint{font-size:12.5px;color:var(--muted);padding-bottom:9px}
.tk-sprint b{color:var(--ink);font-weight:600}
.tk-toolbar{margin:12px 0 12px}
.tk-search{display:inline-flex;align-items:center;gap:7px;height:32px;width:220px;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:0 10px;color:var(--muted)}
.tk-search input{border:0;outline:0;background:none;font:inherit;font-size:13px;color:var(--ink);width:100%;padding:0;min-width:0}
.tk-search:focus-within{border-color:var(--accent)}
.tk-faces{display:inline-flex;align-items:center;padding-left:4px}
.tk-face{width:30px;height:30px;border-radius:50%;margin-left:-5px;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:600;background:var(--tint);color:var(--green);box-shadow:0 0 0 2px var(--bg);position:relative}
.tk-face:hover{z-index:2;transform:translateY(-1px)}
.tk-face.on{z-index:3;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}
.tk-face.more{background:var(--paper);color:var(--muted);border:1px solid var(--line);box-shadow:0 0 0 2px var(--bg)}
.tk-tool.on{border-color:var(--accent);color:var(--accent)}
.tk-tool,.tk-tool-sel{display:inline-flex;align-items:center;gap:6px}
.tk-tool-sel{height:32px;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:0 4px 0 10px;color:var(--muted)}
.tk-tool-sel select{border:0;background:none;font:inherit;font-size:12.5px;color:var(--ink);padding:4px 2px}
.tk-icon-btn{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.tk-icon-btn.danger{color:var(--red)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tk-filters{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;margin:-4px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.tk-fgroup{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.tk-fgroup small{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-right:2px}
.tk-fgroup select{font-size:12.5px;padding:4px 6px;border-radius:6px;border:1px solid var(--line);background:var(--paper);color:var(--ink);max-width:260px}
.tk-fchip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:3px 10px 3px 7px}
.tk-fchip.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}
.tk-fchip .tk-prio{width:14px;height:14px}
.tk-board-wrap{position:relative}
.tk-board{overflow-x:auto;overflow-y:visible;padding-bottom:10px;scrollbar-width:thin;cursor:default}
.tk-board.panning{cursor:grabbing;user-select:none}
.tk-board-in{display:grid;gap:8px 10px;width:max-content;align-items:start}
.tk-colhead{display:flex;align-items:center;gap:7px;min-width:0;height:36px;padding:0 6px 0 10px;border-radius:10px 10px 0 0;background:var(--colbg);font-size:12.5px;color:var(--ink);margin-bottom:-10px;position:sticky;top:0;z-index:1}
.tk-colhead b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-colhead .tk-n{color:var(--muted);white-space:nowrap}
.tk-colhead .tk-n.over{color:var(--red);font-weight:600}
.tk-colhead.folded{flex-direction:column;justify-content:flex-start;height:auto;min-height:220px;padding:12px 0;gap:9px;border-radius:10px;margin-bottom:0;grid-row:span 2}
.tk-colhead.folded b{writing-mode:vertical-rl;font-weight:600}
.tk-mini-btn{width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);flex:none}
.tk-mini-btn:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}
.tk-mini-btn:disabled{opacity:.35;cursor:not-allowed}
.tk-addcol{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0;min-height:120px;border:1.5px dashed var(--line);border-radius:10px;color:var(--muted);font-size:12px;grid-row:span 2}
.tk-addcol span{writing-mode:vertical-rl}
.tk-addcol:hover{color:var(--ink);border-color:var(--accent)}
.tk-addcol .icon{width:15px;height:15px}
.tk-cell{display:flex;flex-direction:column;gap:8px;min-height:90px;padding:8px;border-radius:0 0 10px 10px;background:var(--colbg);transition:background .12s,outline-color .12s}
.tk-cell.folded{min-height:0;padding:0;background:transparent}
.tk-cell.ghost{min-height:0;padding:0;background:none}
.tk-cell.tk-over,.tk-next.tk-over{background:var(--tint);outline:1.5px dashed var(--accent);outline-offset:-1.5px}
.tk-lane{display:flex;align-items:center;gap:8px;padding:12px 4px 2px;font-size:13px;border-top:1px solid var(--line);margin-top:6px}
.tk-lane b{font-weight:600}
.tk-lane .tk-n{color:var(--muted)}
.tk-lane .tk-key{min-width:0}
.tk-board-in > .tk-lane:first-of-type{margin-top:16px}
.tk-cell-add{height:30px;border-radius:7px;border:1.5px dashed var(--line);color:var(--muted);display:flex;align-items:center;justify-content:center}
.tk-cell-add:hover{color:var(--ink);border-color:var(--accent)}
.tk-cell-add .icon{width:14px;height:14px}
.tk-col-empty{border:1.5px dashed var(--line);border-radius:9px;padding:14px 8px;text-align:center;font-size:12px;color:var(--muted)}
.tk-board-note{font-size:12.5px;color:var(--muted);margin:0 0 10px}
.tk-card{display:flex;flex-direction:column;border-radius:8px;background:var(--paper);box-shadow:0 0 0 1px var(--line),0 1px 2px #0000000d;cursor:grab}
.tk-card:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 50%,var(--line)),0 2px 6px #00000014}
.tk-card.sel{box-shadow:0 0 0 2px var(--accent)}
.tk-card.done .tk-card-title{color:var(--muted)}
.tk-card-main{display:flex;flex-direction:column;gap:9px;text-align:left;padding:11px 12px 10px;color:var(--ink);font:inherit;width:100%}
.tk-card-title{font-size:13.5px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tk-card-foot{display:flex;align-items:center;gap:7px;font-size:12px}
.tk-card-foot .tk-key{min-width:0;font-weight:500}
.tk-card-foot .tk-due{min-width:0;text-align:left}
.tk-card-subs{display:flex;align-items:center;gap:7px;padding:7px 12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);text-align:left}
.tk-card-subs:hover{color:var(--ink)}
.tk-count{font-size:11px;color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent);border-radius:4px;padding:0 5px}
.tk-card-sublist{display:flex;flex-direction:column;padding:0 6px 6px}
.tk-subline{display:flex;align-items:center;gap:7px;padding:5px 6px;border-radius:6px;text-align:left;font-size:12.5px;color:var(--ink)}
.tk-subline:hover{background:var(--bg)}
.tk-subline .tk-key{min-width:0}
.tk-subline .tk-st{width:10px;height:10px}
.tk-epic{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;max-width:100%;font-size:11.5px;font-weight:500;border-radius:5px;padding:2px 7px;color:#4a45a8;background:#eeebf8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-epic::before{content:"";width:7px;height:7px;border-radius:2px;background:currentColor;flex:none}
.tk-epic[data-hue="1"]{color:#1f6470;background:#e2f2f4}
.tk-epic[data-hue="2"]{color:#7a5418;background:#f6ecdd}
.tk-epic[data-hue="3"]{color:#7a3a86;background:#f5e6f7}
:where(html:not([data-theme=light])) .tk-epic{color:#c9c5ff;background:#2c2a44}
:where(html:not([data-theme=light])) .tk-epic[data-hue="1"]{color:#8fd3de;background:#1e3a3f}
:where(html:not([data-theme=light])) .tk-epic[data-hue="2"]{color:#e3be85;background:#3d3020}
:where(html:not([data-theme=light])) .tk-epic[data-hue="3"]{color:#e0a8ec;background:#3a2440}
.tk-minimap{position:fixed;right:28px;bottom:24px;z-index:20;display:flex;gap:3px;padding:7px 6px;border-radius:10px;background:var(--paper);box-shadow:0 0 0 1px var(--line),0 8px 24px #0000002a;cursor:pointer}
.tk-minimap[hidden]{display:none}
.tk-minimap i{width:10px;height:34px;border-radius:3px;background:linear-gradient(var(--line) var(--fill),color-mix(in srgb,var(--line) 35%,transparent) var(--fill))}
.tk-minimap i.f{width:4px}
.tk-minimap-view{position:absolute;top:3px;bottom:3px;border-radius:6px;box-shadow:inset 0 0 0 2px var(--accent);pointer-events:none}
.tk-kind{width:15px;height:15px;border-radius:3px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#3d7bd0}
.tk-kind[data-kind=story]{background:#3f8a57}
.tk-kind[data-kind=bug]{background:#c9463d}
.tk-kind[data-kind=epic]{background:var(--accent)}
.tk-kind[data-kind=subtask]{background:#5e7fa8}
.tk-prio{flex:none;width:16px;height:16px}
.tk-prio.hi{color:#d0453b}
.tk-prio.mid{color:#d9822b}
.tk-prio.lo{color:#3d7bd0}
:where(html:not([data-theme=light])) .tk-prio.lo{color:#6ea4ec}
:where(html:not([data-theme=light])) .tk-prio.hi{color:#f07a72}
.tk-board-in.lanes .tk-addcol,.tk-board-in.lanes .tk-colhead.folded{grid-row:auto;min-height:36px;height:36px;flex-direction:row;padding:0;justify-content:center;border-radius:10px}
.tk-board-in.lanes .tk-addcol span,.tk-board-in.lanes .tk-colhead.folded b{display:none}
.tk-board-in.lanes .tk-colhead{margin-bottom:0;border-radius:10px}
.tk-board-in.lanes .tk-cell{border-radius:10px}
.tk-board-wrap{--colbg:color-mix(in srgb,var(--ink) 4%,var(--bg))}
/* Эпики */
.tk-epic-row{display:grid;grid-template-columns:16px 70px minmax(0,1fr) 90px 20px;gap:10px;align-items:center;width:100%;padding:12px 16px;border-bottom:1px solid var(--line);text-align:left;color:var(--ink);font-size:13.5px}
.tk-epic-row:last-child{border-bottom:0}
.tk-epic-row:hover{background:color-mix(in srgb,var(--tint) 45%,transparent)}
.tk-epic-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.tk-epic-main b{font-weight:600}
.tk-epic-main small{font-size:12px;color:var(--muted)}
.tk-bar-line{display:block;height:5px;border-radius:3px;background:var(--line);overflow:hidden}
.tk-bar-line i{display:block;height:100%;background:var(--green)}
.struck{text-decoration:line-through;color:var(--muted)}
/* Бэклог */
.tk-backlog{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.tk-inline{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.tk-inline select{font-size:12.5px;padding:3px 6px;border-radius:6px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.tk-bulk{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:8px 12px;border-radius:9px;background:#26262c;color:#fff;font-size:12.5px;box-shadow:0 0 0 1px #3a3a44}
.tk-bulk .btn{background:#3a3a44;color:#fff;border-color:transparent}
.tk-bulk .btn:hover{background:#4a4a55}
.tk-bulk .tk-inline{color:#c9c9d2}
.tk-bulk .tk-inline select{background:#3a3a44;color:#fff;border-color:transparent}
.tk-bulk .text-btn{color:#c9c9d2}
.tk-next{position:sticky;top:12px;display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:14px;font-size:13px}
.tk-next-head{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}
.tk-next-head small,.tk-load small,.tk-subs small,.tk-events small,.tk-origin small{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.tk-next-row{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;padding:6px 9px;text-align:left;color:var(--ink);font-size:12.5px}
.tk-next-row .tk-key{min-width:0}
.tk-dropzone{border:1.5px dashed var(--line);border-radius:8px;padding:12px 10px;text-align:center;color:var(--muted);font-size:12px}
.tk-load{display:flex;flex-direction:column;gap:7px;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px}
.tk-load-row{display:grid;grid-template-columns:110px 1fr 22px;gap:8px;align-items:center}
.tk-load-row span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-load-row b{text-align:right;font-weight:600}
.tk-meter{height:6px;border-radius:3px;background:var(--line);overflow:hidden;display:flex}
.tk-meter i{background:var(--accent)}
.tk-next-foot{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-top:10px;border-top:1px solid var(--line)}
.tk-next-foot small{color:var(--muted);font-size:12px}
.tk-foreign{margin:18px 0 14px;font-size:13px}
.tk-link{cursor:pointer}
/* Окно задачи (холст 17, по образцу Jira): слева что сделать, справа статус, поля-значения и время. */
#overlay:has(.drawer.tk-modal),#overlay:has(.drawer.tk-dialog){justify-content:center;align-items:flex-start;padding:5vh 3vw}
.drawer.tk-modal{width:min(1180px,100%);height:auto;max-height:90vh;border-radius:14px;padding:16px 28px 28px;animation:none;border:1px solid var(--line);box-shadow:0 24px 70px #0000004d}
.drawer.tk-modal .drawer-head{padding-bottom:0;margin-bottom:0;border-bottom:0}
.drawer.tk-modal .drawer-head h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.drawer.tk-modal .drawer-head .eyebrow{margin:6px 0 0}
.tk-muted{color:var(--muted)}
.tk-drawer{display:flex;flex-direction:column;gap:14px}
.tk-crumbs{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin:-2px 0 0;min-height:30px}
.tk-crumb{display:inline-flex;align-items:center;gap:6px;padding:3px 6px;border-radius:6px;color:var(--muted);font:inherit}
button.tk-crumb:hover{background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink)}
.tk-crumb.cur{color:var(--ink)}
.tk-sep{color:var(--line)}
/* Действия задачи в шапке — как в Jira: тихие иконки 32px без рамок, крестик в том же ряду. */
.drawer.tk-modal .drawer-head{align-items:center}
.tk-head-tools{display:flex;align-items:center;gap:2px;margin-left:auto}
.drawer.tk-modal .drawer-head{gap:2px}
.tk-head-btn,.drawer.tk-modal .drawer-head .close{width:32px;height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;flex:none}
.tk-head-btn:hover,.tk-head-btn[aria-expanded=true],.drawer.tk-modal .drawer-head .close:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}
.tk-head-btn:focus-visible,.drawer.tk-modal .drawer-head .close:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.tk-head-btn svg{width:16px;height:16px}
.tk-more-wrap{position:relative}
.tk-more-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:210px;padding:4px;border-radius:8px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 32px #00000038;display:flex;flex-direction:column}
.tk-more-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border-radius:5px;font-size:13px;color:var(--ink);text-align:left}
.tk-more-menu button svg{color:var(--muted);flex:none}
.tk-more-menu button:hover,.tk-more-menu button:focus-visible{background:color-mix(in srgb,var(--ink) 8%,transparent);outline:0}
.tk-more-menu button.danger,.tk-more-menu button.danger svg{color:var(--red)}
.tk-more-menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}
.tk-modal-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:0;align-items:start}
.tk-modal-main{display:flex;flex-direction:column;gap:22px;padding-right:32px;min-width:0}
.tk-modal-side{display:flex;flex-direction:column;gap:14px;padding-left:28px;border-left:1px solid var(--line);min-width:0;position:sticky;top:0}
.tk-title-edit{min-height:0;font:inherit;font-size:26px;font-weight:650;line-height:1.3;letter-spacing:-.01em;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:8px;padding:4px 8px;margin:-4px -8px -10px;resize:none;overflow:hidden}
.tk-title-edit:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}
.tk-title-edit:focus{outline:none;border-color:var(--accent);background:var(--paper)}
.tk-title-view{font-size:26px;margin:0}
.tk-quick{display:flex;gap:8px;flex-wrap:wrap}
.tk-qbtn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:13px}
.tk-qbtn:hover{background:color-mix(in srgb,var(--ink) 5%,var(--paper))}
.tk-qbtn .icon,.tk-qbtn svg{width:14px;height:14px;color:var(--muted)}
.tk-sec{display:flex;flex-direction:column;gap:10px}
.tk-sec h3,.tk-box h3{margin:0;font-size:14px;font-weight:600}
.tk-sec-head{display:flex;align-items:center;gap:10px;min-height:26px}
.tk-sec-head .tk-muted{font-size:12.5px}
.tk-desc{min-height:0;font:inherit;font-size:14px;line-height:1.6;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:8px;padding:8px 10px;margin:0 -10px;resize:none;overflow:hidden;field-sizing:content}
.tk-desc:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}
.tk-desc:focus{outline:none;border-color:var(--accent);background:var(--paper);min-height:110px;resize:vertical}
.tk-desc::placeholder{color:var(--muted)}
.tk-desc-view{font-size:14px;line-height:1.6;white-space:pre-wrap;margin:0}
.tk-origin-q{margin:0;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--ink) 4%,transparent);font-size:12.5px;color:var(--muted);line-height:1.5}
.tk-origin-q span{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.tk-sublist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper)}
.tk-subrow{display:grid;grid-template-columns:16px 70px minmax(0,1fr) 16px auto 22px;gap:12px;align-items:center;text-align:left;font-size:13.5px;color:var(--ink);padding:10px 14px;border-bottom:1px solid var(--line)}
.tk-subrow:last-child{border-bottom:0}
.tk-subrow:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}
.tk-subrow .tk-key{min-width:0}
.tk-subrow .tk-av{width:22px;height:22px}
.tk-pill{font-size:11px;font-weight:600;border-radius:5px;padding:3px 8px;white-space:nowrap;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.tk-pill[data-cat=doing],.tk-pill[data-cat=review],.tk-pill[data-cat=test]{background:color-mix(in srgb,#3d7bd0 16%,transparent);color:#3d7bd0}
.tk-pill[data-cat=done]{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}
.tk-subnew{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;background:color-mix(in srgb,var(--accent) 6%,var(--paper))}
.tk-subnew input{flex:1;min-width:0;font:inherit;font-size:13.5px;height:32px;padding:0 10px;border:1px solid var(--accent);border-radius:7px;background:var(--paper);color:var(--ink)}
.tk-subnew input:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.tk-add-line{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;padding:5px 8px;margin-left:-8px;border-radius:7px;color:var(--muted);font-size:13px}
.tk-add-line:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}
.tk-add-line .icon{width:14px;height:14px}
.tk-acttabs{display:flex;gap:4px;border-bottom:1px solid var(--line);font-size:13px}
.tk-acttabs button{display:inline-flex;align-items:center;gap:6px;padding:6px 10px 9px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.tk-acttabs button:hover{color:var(--ink)}
.tk-acttabs button.on{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}
.tk-act{display:flex;flex-direction:column;gap:16px;padding-top:4px}
.tk-av.big{width:32px;height:32px;font-size:11px}
.tk-av.tk-av-ai{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:8px}
.tk-commentform{display:flex;gap:12px;align-items:flex-start}
.tk-comment-box{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.tk-comment-box textarea{width:100%;min-height:0;font:inherit;font-size:13.5px;line-height:1.5;padding:7px 12px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);resize:none;field-sizing:content}
.tk-comment-box textarea:focus{outline:none;border-color:var(--accent);min-height:84px}
.tk-comment-acts{display:none;align-items:center;gap:8px;font-size:12px}
.tk-comment-box:focus-within .tk-comment-acts,.tk-comment-box:has(textarea:not(:placeholder-shown)) .tk-comment-acts,.tk-comment-box:has(.tk-cfile) .tk-comment-acts{display:flex}
/* Файлы комментария: черновик под полем и показ внутри комментария. */
.tk-cattach{margin-left:auto}
.tk-cfiles{display:flex;flex-wrap:wrap;gap:6px}
.tk-cfile{display:inline-flex;align-items:center;gap:7px;max-width:240px;padding:3px 4px 3px 3px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:12.5px}
.tk-cfile img{width:30px;height:30px;object-fit:cover;border-radius:5px;display:block}
.tk-cfile.pending{border-style:dashed;color:var(--muted)}
.tk-cfile-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-cfile-ext{display:grid;place-items:center;min-width:30px;height:30px;padding:0 4px;border-radius:5px;font-size:9.5px;font-weight:700;letter-spacing:.3px;color:#fff;background:var(--k,#8b8c99)}
.tk-cfile.pending .tk-cfile-ext{background:var(--line);color:var(--muted)}
.tk-cfile-ext[data-kind="pdf"]{--k:#d1555b}.tk-cfile-ext[data-kind="doc"]{--k:#4d7bd1}.tk-cfile-ext[data-kind="sheet"]{--k:#3a9364}.tk-cfile-ext[data-kind="slides"]{--k:#d2843a}.tk-cfile-ext[data-kind="image"]{--k:#7f75dc}.tk-cfile-ext[data-kind="media"]{--k:#bb63a0}
.tk-cmt-files{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:8px}
.tk-cmt-pic{display:block;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--ink) 4%,var(--bg));cursor:zoom-in}
.tk-cmt-pic img{display:block;max-width:min(360px,100%);max-height:220px;object-fit:contain}
.tk-cmt-pic:hover{border-color:color-mix(in srgb,var(--ink) 22%,var(--line))}
.tk-cmt-doc{display:inline-flex;align-items:center;gap:8px;max-width:280px;padding:4px 10px 4px 4px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);text-decoration:none;font-size:12.5px}
.tk-cmt-doc small{color:var(--muted);white-space:nowrap}
.tk-cmt-doc:hover{border-color:color-mix(in srgb,var(--ink) 22%,var(--line))}
.tk-comment-row{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.55}
.tk-comment-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.tk-comment-meta time,.tk-hist time{font-size:12px;color:var(--muted)}
.tk-comment-row p,.tk-log-main p{margin:3px 0 0;white-space:pre-wrap}
.tk-empty-note{margin:0;color:var(--muted);font-size:13px}
.tk-hist{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;font-size:13px;line-height:1.5}
.tk-hist>div{display:flex;flex-direction:column;gap:2px}
.tk-change{display:block;font-size:12.5px}
.tk-change s{color:var(--muted)}
.tk-quote{display:block;font-size:12.5px;color:var(--muted);padding-left:8px;border-left:2px solid var(--line);margin-top:2px}
.tk-log{display:grid;grid-template-columns:32px minmax(0,1fr) auto 26px;gap:12px;align-items:start;font-size:13.5px}
.tk-log-min{white-space:nowrap;padding-top:2px}
.tk-log-total{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid var(--line);font-size:13.5px}
.tk-side-top{display:flex;gap:8px;align-items:center}
.tk-status-btn,.tk-val{position:relative;display:inline-flex;align-items:center;gap:8px;min-width:0}
.tk-status-btn{height:36px;padding:0 12px;border-radius:8px;font-size:13.5px;font-weight:600;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink);cursor:pointer}
.tk-status-btn[data-cat=doing],.tk-status-btn[data-cat=review],.tk-status-btn[data-cat=test]{background:#3d7bd0;color:#fff}
.tk-status-btn[data-cat=done]{background:var(--green);color:#fff}
.tk-status-btn[data-cat=doing] .tk-st,.tk-status-btn[data-cat=review] .tk-st,.tk-status-btn[data-cat=test] .tk-st,.tk-status-btn[data-cat=done] .tk-st{box-shadow:inset 0 0 0 1.5px #fff;background:conic-gradient(#fff 0 60%,transparent 60%)}
.tk-status-btn:hover{filter:brightness(1.06)}
.tk-ov{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:14px;appearance:none;border:0}
.tk-ov:disabled{cursor:default}
.tk-status-btn:has(.tk-ov:focus-visible),.tk-val:has(.tk-ov:focus-visible){outline:2px solid var(--accent);outline-offset:1px}
.tk-box{border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;background:var(--paper)}
.tk-box>h3{padding:13px 16px;border-bottom:1px solid var(--line)}
.tk-box-head{display:flex;align-items:center;gap:8px;padding:9px 12px 9px 16px;border-bottom:1px solid var(--line)}
.tk-box-head svg{color:var(--muted)}
.tk-props{display:grid;grid-template-columns:104px minmax(0,1fr);gap:2px 10px;align-items:center;padding:10px 10px 12px 16px}
.tk-prop-label{font-size:13px;color:var(--muted);padding:6px 0}
.tk-prop-val{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.tk-val{width:100%;min-height:34px;padding:4px 8px;margin-left:-8px;border-radius:7px;font-size:13.5px;color:var(--ink);text-align:left;font:inherit;font-size:13.5px}
.tk-val:not(.ro):hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}
.tk-val>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-val .tk-av{width:24px;height:24px;font-size:10px}
.tk-val .tk-epic{max-width:100%}
.tk-val svg{flex:none;color:var(--muted)}
.tk-val-x{position:relative;z-index:1;margin-left:auto;width:22px;height:22px;border-radius:5px;color:var(--muted);font-size:15px;line-height:1;opacity:0}
.tk-val:hover .tk-val-x,.tk-val-x:focus-visible{opacity:1}
.tk-val-x:hover{background:color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink)}
.tk-link-btn{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:13px}
.tk-link-btn.small{font-size:12.5px;padding:0 0 4px}
.tk-link-btn:hover{text-decoration:underline}
.tk-link-text{color:var(--accent)}
.tk-pad{padding:6px 0}
.tk-time-sum{display:flex;align-items:baseline;gap:8px;padding:14px 16px 12px}
.tk-time-sum b{font-size:22px;font-weight:650}
.tk-time-people{display:flex;flex-direction:column;gap:8px;padding:0 16px 14px}
.tk-time-row{display:grid;grid-template-columns:20px minmax(0,110px) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px}
.tk-time-row span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-created{font-size:12px;line-height:1.7;margin:0;color:var(--muted)}
/* Формы трекера в окне по центру: новая задача и эпик, запись времени, завершение спринта. */
.drawer.tk-dialog{width:min(640px,100%);height:auto;max-height:90vh;border-radius:14px;padding:22px 26px 22px;animation:none;border:1px solid var(--line);box-shadow:0 24px 70px #0000004d}
.drawer.tk-dialog .drawer-head{padding-bottom:14px;margin-bottom:18px}
.drawer.tk-dialog .drawer-head h2{font-size:19px}
.tk-form{display:flex;flex-direction:column;gap:14px}
.tk-f{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12.5px;font-weight:600;color:var(--muted)}
.tk-f>span i{color:var(--red);font-style:normal}
.tk-f input,.tk-f select,.tk-f textarea{font:inherit;font-size:14px;font-weight:400;color:var(--ink);height:38px;padding:0 11px;border-radius:8px;border:1px solid var(--line);background:var(--paper);width:100%;min-width:0;box-sizing:border-box}
.tk-f textarea{height:auto;padding:9px 11px;line-height:1.5;resize:vertical}
.tk-f input:hover,.tk-f select:hover,.tk-f textarea:hover{border-color:color-mix(in srgb,var(--ink) 25%,var(--line))}
.tk-f input:focus,.tk-f select:focus,.tk-f textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}
.tk-f [name=title]{height:42px;font-size:15px}
.tk-f .tk-link-btn{align-self:flex-start;font-weight:400}
.tk-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.tk-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.tk-wide{grid-column:1/-1}
.tk-form.epic .tk-only-task{display:none}
.tk-form .tk-parsed{display:flex;gap:6px;flex-wrap:wrap;margin:-8px 0 -4px}
.tk-form .tk-parsed:empty{display:none}
.tk-hint{margin:0;font-size:12.5px;color:var(--muted);line-height:1.5}
.tk-form-foot{display:flex;align-items:center;gap:10px;padding-top:16px;margin-top:4px;border-top:1px solid var(--line)}
.tk-check-line{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink)}
.tk-check-line input{width:16px;height:16px;accent-color:var(--accent);margin:0}
.tk-form-task{display:flex;align-items:center;gap:8px;margin:-6px 0 0;font-size:13.5px}
.tk-form-task span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-form .tk-seg{align-self:flex-start}
.tk-close-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tk-close-stats div{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:10px;background:color-mix(in srgb,var(--ink) 5%,transparent)}
.tk-close-stats b{font-size:26px;font-weight:650;line-height:1.1}
.tk-close-stats span{font-size:12.5px;color:var(--muted)}
.tk-radio{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tk-radio legend{font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:6px;padding:0}
.tk-radio label{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:13.5px;cursor:pointer}
.tk-radio label:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.tk-radio input{accent-color:var(--accent);margin:0}
.tk-close-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.tk-close-row{display:grid;grid-template-columns:16px 64px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);font-size:13px}
.tk-close-row:last-child{border-bottom:0}
.tk-close-row .tk-key{min-width:0}
.tk-close-list p{margin:0;padding:8px 12px;font-size:12.5px}
.tk-closed-note{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:10px 12px 10px 14px;border-radius:10px;background:color-mix(in srgb,var(--green) 12%,transparent);color:var(--ink);font-size:13.5px}
.tk-closed-note>svg{color:var(--green);flex:none}
/* Шторка «Колонки доски» (холст 14) */
.tk-cols{display:flex;flex-direction:column;gap:8px}
.tk-colrow{display:grid;grid-template-columns:70px minmax(0,1fr) 150px 70px 32px 28px;gap:8px;align-items:center}
.tk-colrow.head{font-size:11.5px;font-weight:600;color:var(--muted)}
.tk-colrow.deleted{display:flex;flex-wrap:wrap;gap:10px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--red) 8%,transparent);font-size:13px}
.tk-col-move{display:inline-flex;align-items:center}
.tk-grip{cursor:grab;color:var(--muted);letter-spacing:-2px;padding:0 4px;user-select:none}
.tk-colrow.dragging{opacity:.45}
.tk-colrow.over{box-shadow:0 -2px 0 var(--accent)}
.tk-colname{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}
.tk-colname input{border:0;outline:0;background:none;font:inherit;font-size:13.5px;color:var(--ink);width:100%;padding:0}
.tk-colname:focus-within{border-color:var(--accent)}
.tk-colrow select,.tk-col-limit{height:34px;font-size:13px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);padding:0 8px;min-width:0}
.tk-col-eye{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;position:relative}
.tk-col-eye input{position:absolute;opacity:0;inset:0;cursor:pointer}
.tk-col-eye:has(input:not(:checked)){opacity:.35}
.tk-col-eye:has(input:focus-visible){outline:2px solid var(--accent);border-radius:6px}
.tk-col-add{align-self:flex-start;display:inline-flex;align-items:center;gap:6px}
.tk-col-add .icon{width:14px;height:14px}
.tk-colfixed{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--line);font-size:13px}
.tk-colfixed small{font-size:11.5px;font-weight:600;color:var(--muted)}
.tk-colfixed div{display:flex;gap:10px}
.tk-colproject{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;border-radius:9px;background:var(--bg);font-size:13px;color:var(--muted);margin-top:6px}
.tk-colproject span{flex:1 1 260px}
.tk-desc{font:inherit;font-size:13.5px;line-height:1.55;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:8px;padding:9px 11px;resize:vertical;min-height:84px}
.tk-desc:focus{outline:none;border-color:var(--accent)}
.tk-desc-view{font-size:13.5px;line-height:1.55;white-space:pre-wrap;margin:0}
.tk-origin{display:flex;flex-direction:column;gap:6px;border-radius:10px;background:var(--bg);border:1px solid var(--line);padding:11px 13px}
.tk-origin blockquote{margin:0;padding-left:10px;border-left:2px solid var(--line);font-size:13px;line-height:1.5}
.tk-subs,.tk-events{display:flex;flex-direction:column;gap:6px}
.tk-subrow{display:flex;align-items:center;gap:8px;text-align:left;font-size:13px;color:var(--ink);padding:4px 2px;border-radius:6px}
.tk-subrow:hover{background:var(--bg)}
.tk-subadd input,.tk-commentform textarea{width:100%;font:inherit;font-size:13px;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--ink)}
.tk-commentform{display:flex;gap:8px;align-items:flex-end;margin-top:4px}
.tk-commentform textarea{resize:vertical}
.tk-event{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--muted);line-height:1.45}
.tk-event time{flex:none;font-size:11.5px}
.tk-event.comment{flex-direction:column;gap:3px;color:var(--ink);background:var(--bg);border-radius:8px;padding:8px 10px}
.tk-event.comment b{font-weight:600;font-size:12.5px}
.tk-comment{white-space:pre-wrap;display:block;margin-top:2px}
.tk-drawer-foot{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--line)}
.text-btn.danger{color:var(--red)}
.tk-new .tk-parsed{display:flex;gap:6px;flex-wrap:wrap;min-height:4px;margin:-6px 0 4px}
/* Переключатель «Задачи проекта в» на три вида трекера */
.docs-switch>button:nth-of-type(n+2){margin-left:-1px;border-radius:0}
.docs-switch>button:first-of-type{border-radius:8px 0 0 8px}
.docs-switch>button:last-of-type{border-radius:0 8px 8px 0}
@media (max-width:900px){
  .tk-backlog{grid-template-columns:1fr}
  .tk-next{position:static}
  .tk-modal-grid{grid-template-columns:1fr}
  .tk-modal-main{padding-right:0}
  .tk-modal-side{padding-left:0;padding-top:20px;border-left:0;position:static}
  .tk-form-grid,.tk-form-grid.three{grid-template-columns:1fr}
  .drawer.tk-dialog{height:100%;max-height:none;border-radius:0}
  #overlay:has(.drawer.tk-dialog){padding:0}
  .drawer.tk-modal{padding:16px}
  #overlay:has(.drawer.tk-modal){padding:0}
  .drawer.tk-modal{height:100%;max-height:none;border-radius:0}
  .tk-search{width:100%}
  .tk-colrow{grid-template-columns:minmax(0,1fr) 120px 32px 28px}
  .tk-colrow .tk-col-move,.tk-colrow .tk-col-limit,.tk-colrow.head span:nth-child(4),.tk-colrow.head span:first-child{display:none}
  .tk-meta .tk-chip,.tk-send{display:none}
}
/* Предложения AI (этап 3) */
.tk-seg button.tk-ai .tk-spark{color:var(--accent)}
.tk-badge{font-size:11px;font-weight:600;color:#fff!important;background:var(--accent);border-radius:999px;padding:0 6px;line-height:17px}
.tk-tab-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:5px;vertical-align:1px}
.tk-sg-note{font-size:12.5px;color:var(--muted);margin:0 0 12px;max-width:900px}
.tk-sg-group{margin-bottom:14px}
.tk-sg-ghead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;background:var(--bg);border-bottom:1px solid var(--line);font-size:13px}
.tk-sg-ghead .icon{width:15px;height:15px;color:var(--muted)}
.tk-sg-ghead>span:not(.tk-grow){color:var(--muted);font-size:12.5px}
.tk-sg-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.tk-sg-item:last-child{border-bottom:0}
.tk-sg-item.like{background:color-mix(in srgb,var(--amberbg) 55%,transparent)}
.tk-sg-item.status{background:color-mix(in srgb,var(--bg) 60%,transparent)}
.tk-sg-main{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px}
.tk-sg-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tk-sg-head b{font-weight:600;font-size:13.5px}
.tk-sg-tag{font-size:11px;font-weight:600;border-radius:5px;padding:2px 7px;color:var(--green);background:var(--tint)}
.tk-sg-tag.done{color:#2e6b3a;background:#e6f2e8}
.tk-sg-tag.test{color:#1e6470;background:#e1f1f3}
.tk-sg-tag.like{color:var(--amber);background:var(--amberbg)}
.tk-sg-tag.goal{color:var(--muted);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
.tk-sg-tag.have{color:var(--muted);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
:where(html:not([data-theme=light])) .tk-sg-tag.done{color:#8fd19b;background:#1d3324}
:where(html:not([data-theme=light])) .tk-sg-tag.test{color:#8fd2dc;background:#16343a}
.tk-sg-chips{display:flex;flex-wrap:wrap;gap:6px}
.tk-sg-chips .tk-chip{display:inline-flex;align-items:center;gap:5px;border-radius:6px;font-size:12px}
.tk-sg-chips .tk-chip .tk-st{width:10px;height:10px}
.tk-chip.warn{color:var(--amber)}
.tk-sg-desc{font-size:12.5px;color:var(--muted)}
.tk-sg-quote{font-size:12.5px;color:var(--muted);padding-left:9px;border-left:2px solid var(--line);line-height:1.45}
.tk-sg-quote b{font-weight:600;color:var(--ink)}
.tk-sg-acts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:420px}
.tk-sg-reasons{grid-column:1/-1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.tk-call{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:13px}
.tk-call>span:not(.tk-grow){color:var(--muted)}
.tk-call .tk-spark{color:var(--accent)}
@media (max-width:900px){.tk-sg-item{grid-template-columns:1fr}.tk-sg-acts{justify-content:flex-start}}
.tk-sg-crit{font-style:normal}
/* Перебиваем общие стили полей и абзацев окна (.drawer input, .drawer p). */
.drawer .tk-radio input,.drawer .tk-check-line input{width:16px;height:16px;min-width:0;padding:0;flex:none}
.drawer .tk-radio label span{flex:1;text-align:left}
.drawer .tk-hint{font-size:12.5px;line-height:1.5;margin:0}
.drawer textarea.tk-desc{border-color:transparent;background:transparent;box-shadow:none}
.drawer textarea.tk-desc:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}
.drawer textarea.tk-desc:focus{border-color:var(--accent);background:var(--paper)}
.tk-next-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.tk-sprint .btn{margin-left:6px}
.tk-sprint .tk-link-btn{margin-left:4px}
.drawer .tk-key-input[hidden]{display:none}
.tk-keybox{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:4px 0 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.tk-keybox>div{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.tk-keybox small{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.tk-keybox b{font-size:20px;font-weight:650;letter-spacing:.02em}
.tk-keybox .meta{font-size:12.5px}

/* ---------- перенос проекта из Jira ---------- */
/* импорт из Jira при выборе трекера и ход переноса во вкладке (холст 22, A) */
.tk-start{border:0;padding:0;margin:14px 0 4px;display:flex;flex-direction:column;gap:8px}
.tk-start legend{font-size:13px;font-weight:600;color:var(--ink);padding:0;margin-bottom:8px}
.tk-start-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tk-start-opt{display:flex;gap:8px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);cursor:pointer;min-width:0}
.tk-start-opt:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--paper))}
.tk-start-opt.off{cursor:default;opacity:.55}
.tk-start-opt span{display:flex;flex-direction:column;gap:2px;min-width:0}
.tk-start-opt b{font-size:13px;font-weight:600}
.tk-start-opt small{font-size:12px;color:var(--muted);line-height:1.35}
.tk-start-opt input,.tk-src input{width:16px;height:16px;min-height:0;flex:none;padding:0;margin:1px 0 0;border:0;border-radius:50%;background:none;box-shadow:none}
.tk-import-form{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.tk-src-title{font-size:13px;font-weight:600;margin-top:6px}
.tk-srcs{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:9px;overflow:hidden;max-height:232px;overflow-y:auto}
.tk-src{display:grid;grid-template-columns:16px 64px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 11px;font-size:13px;cursor:pointer;background:var(--paper)}
.tk-src+.tk-src{border-top:1px solid var(--line)}
.tk-src:has(input:checked){background:color-mix(in srgb,var(--accent) 7%,var(--paper))}
.tk-src.off{cursor:default;color:var(--muted)}
.tk-src span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-src small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.tk-move-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.tk-move-grid .field{margin:0}
.tk-import-form form{display:flex;flex-direction:column;gap:10px}
.tk-import-form form .actions{margin-top:0}
.tk-move-counts{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:2px 0}
.tk-move-counts>div{border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:8px 10px;min-width:0}
.tk-move-counts dt{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.tk-move-counts dd{margin:2px 0 0;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.tk-move-bar{height:8px;border-radius:99px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}
.tk-move-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent,#6963C7);transition:width .4s}
.tk-import{position:relative;min-height:440px;margin-top:14px;border-radius:12px;overflow:hidden}
.tk-import-ghost{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;opacity:.7;pointer-events:none}
.tk-import-ghost>div{display:flex;flex-direction:column;gap:10px}
.tk-gh-title{display:block;height:10px;width:55%;border-radius:4px;background:color-mix(in srgb,var(--ink) 9%,transparent)}
.tk-gh-card{display:block;height:64px;border-radius:9px;background:color-mix(in srgb,var(--ink) 5%,transparent)}
.tk-import-card{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(420px,calc(100% - 32px));box-sizing:border-box;display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 16px 40px rgba(20,20,30,.14)}
.tk-import-card p{margin:0;line-height:1.5}
.tk-import-card .actions{margin:0}
.tk-import-title{font-size:15px;font-weight:600;color:var(--ink)}
.tk-import-rows{margin:0;display:flex;flex-direction:column;gap:6px;font-size:13px}
.tk-import-rows>div{display:flex;justify-content:space-between;gap:12px}
.tk-import-rows dt{color:var(--muted)}
.tk-import-rows dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.tk-import-rows .main dt,.tk-import-rows .main dd{color:var(--ink);font-weight:600}
.tk-moved b{font-weight:600}
@media (max-width:640px){.tk-start-opts{grid-template-columns:1fr}.tk-import-ghost{grid-template-columns:repeat(2,minmax(0,1fr))}.tk-src{grid-template-columns:16px 52px minmax(0,1fr)}.tk-src small{grid-column:3}}

/* ---------- вложения задачи (как в Jira) ---------- */
.tk-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}
.tk-file{position:relative;border:1px solid var(--line);border-radius:10px;background:var(--paper);overflow:hidden;min-width:0;transition:border-color .12s,box-shadow .12s}
.tk-file:hover{border-color:color-mix(in srgb,var(--ink) 22%,var(--line));box-shadow:0 2px 10px #0000000f}
.tk-file-main{display:flex;flex-direction:column;width:100%;text-align:left;color:inherit;text-decoration:none;padding:0;font:inherit}
.tk-file-main:focus-visible{outline:2px solid var(--accent,#6963c7);outline-offset:-2px;border-radius:10px}
.tk-file-thumb{display:grid;place-items:center;height:92px;background:var(--bg);border-bottom:1px solid var(--line);overflow:hidden}
.tk-file-thumb.img{background:color-mix(in srgb,var(--ink) 4%,var(--bg))}
.tk-file-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.tk-file-doc{position:relative;display:grid;place-items:center;color:color-mix(in srgb,var(--ink) 28%,transparent)}
.tk-file-doc b{position:absolute;left:50%;bottom:5px;transform:translateX(-58%);font-size:9.5px;font-weight:700;letter-spacing:.3px;line-height:1;padding:3px 4px;border-radius:3px;color:#fff;background:var(--k,#8b8c99);max-width:46px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-file-doc[data-kind="pdf"]{--k:#d1555b}
.tk-file-doc[data-kind="doc"]{--k:#4d7bd1}
.tk-file-doc[data-kind="sheet"]{--k:#3a9364}
.tk-file-doc[data-kind="slides"]{--k:#d2843a}
.tk-file-doc[data-kind="image"]{--k:#7f75dc}
.tk-file-doc[data-kind="media"]{--k:#bb63a0}
.tk-file-body{display:flex;flex-direction:column;gap:1px;padding:7px 10px 8px;min-width:0}
.tk-file-name{font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.45}
.tk-file-meta{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.tk-file-tools{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity .12s}
.tk-file:hover .tk-file-tools,.tk-file:focus-within .tk-file-tools{opacity:1}
.tk-file-tools .tk-mini-btn{background:var(--paper);border:1px solid var(--line);box-shadow:0 1px 3px #0000001a;text-decoration:none}
.tk-file-tools .tk-mini-btn:hover{background:var(--paper)}
.tk-file-tools .tk-mini-btn.danger:hover{color:var(--red)}
.tk-file.pending{border-style:dashed}
.tk-file.pending .tk-file-name{color:var(--muted)}
.tk-file-bar{width:64%;height:4px;border-radius:2px;background:var(--line);overflow:hidden}
.tk-file-bar i{display:block;height:100%;background:var(--ink);border-radius:2px;transition:width .15s}
@media (hover:none){.tk-file-tools{opacity:1}}

/* Файлы над окном задачи: пунктирная рамка поверх всего окна. */
.tk-drawer{position:relative}
.tk-dropzone{display:none;position:absolute;inset:-6px -12px;z-index:5;border:2px dashed color-mix(in srgb,var(--ink) 35%,transparent);border-radius:12px;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(2px);place-items:center;pointer-events:none}
.tk-dropping .tk-dropzone{display:grid}
/* Надпись держится в видимой части окна, даже если задача длинная и окно прокручено. */
.tk-dropzone{place-items:start center}
.tk-dropzone>div{position:sticky;top:34%;margin-top:120px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--ink);text-align:center}
.tk-dropzone svg{width:28px;height:28px;color:var(--muted)}
.tk-dropzone b{font-size:15px;font-weight:600}
.tk-dropzone span{font-size:12.5px;color:var(--muted)}

/* Просмотр картинок поверх окна задачи. */
.tk-viewer{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:#0b0b0de8;color:#ececf0}
.tk-viewer-top{display:flex;align-items:center;gap:10px;padding:12px 16px;min-height:56px}
.tk-viewer-name{display:flex;flex-direction:column;min-width:0}
.tk-viewer-name b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-viewer-name span{font-size:12px;color:#a3a4b1}
.tk-viewer-n{font-size:12.5px;color:#a3a4b1;font-variant-numeric:tabular-nums;margin-right:6px}
.tk-viewer-btn{width:34px;height:34px;border-radius:8px;display:inline-grid;place-items:center;color:#ececf0;text-decoration:none}
.tk-viewer-btn:hover{background:#ffffff1a}
.tk-viewer-btn svg{width:17px;height:17px}
.tk-viewer-stage{flex:1;min-height:0;display:grid;place-items:center;position:relative;padding:8px 72px 28px}
.tk-viewer-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 10px 40px #0008;background:#fff}
.tk-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#ffffff14;color:#ececf0;font-size:26px;line-height:1;display:grid;place-items:center}
.tk-viewer-nav:hover{background:#ffffff26}
.tk-viewer-nav.prev{left:16px}
.tk-viewer-nav.next{right:16px}
@media (max-width:640px){.tk-files{grid-template-columns:repeat(2,minmax(0,1fr))}.tk-viewer-stage{padding:8px 8px 20px}.tk-viewer-nav{display:none}}

/* временно: удалить доску целиком */
.tk-danger{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
.tk-danger summary{cursor:pointer;font-size:13px;color:var(--red)}
.tk-danger[open] summary{margin-bottom:10px}
.tk-danger form{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.tk-danger .actions{margin:0}
.board-swap{display:flex;flex-direction:column;gap:8px}
.board-swap p{margin:0}
.board-swap .actions{margin:2px 0 0}
.tk-danger .btn.danger,.board-swap .btn.danger{background:#c43d4b;border-color:#c43d4b;color:#fff}
.tk-col-more{display:block;width:100%;margin-top:6px;padding:7px 10px;border:1px dashed var(--line);border-radius:9px;background:none;color:var(--muted);font:inherit;font-size:12.5px;cursor:pointer}
.tk-col-more:hover{color:var(--ink);border-color:var(--muted)}
/* Цвет человека — у аватарки в фильтре и на карточках. Приглушённые тона: читаются на светлой и тёмной теме. */
.tk-face[data-hue],.tk-av[data-hue]{color:#fff}
[data-hue="0"].tk-face,[data-hue="0"].tk-av{background:#5b63c9}
[data-hue="1"].tk-face,[data-hue="1"].tk-av{background:#2f8a66}
[data-hue="2"].tk-face,[data-hue="2"].tk-av{background:#b8683a}
[data-hue="3"].tk-face,[data-hue="3"].tk-av{background:#3779b8}
[data-hue="4"].tk-face,[data-hue="4"].tk-av{background:#8b5aa8}
[data-hue="5"].tk-face,[data-hue="5"].tk-av{background:#b5506a}
[data-hue="6"].tk-face,[data-hue="6"].tk-av{background:#2f8d96}
[data-hue="7"].tk-face,[data-hue="7"].tk-av{background:#7f7442}
.tk-face{transition:transform .14s cubic-bezier(.2,.8,.2,1)}
.tk-face:hover{transform:translateY(-2px)}
.tk-face.none{background:var(--line);color:var(--muted)}
/* Подсказка с именем под аватаркой, как в Jira: тёмная плашка, появляется с короткой задержкой. */
.tk-face[data-tip]::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-2px);padding:5px 8px;border-radius:4px;background:#26272c;color:#f2f2f5;font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:20;box-shadow:0 4px 14px #0000002e;transition:opacity .12s ease,transform .12s ease,visibility 0s linear .12s}
.tk-face[data-tip]:hover::after,.tk-face[data-tip]:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .14s ease .25s,transform .14s ease .25s,visibility 0s linear .25s}
:root:not([data-theme=light]) .tk-face[data-tip]::after{background:#34353c;border:1px solid #45464e}
/* Дорожка группировки сворачивается кликом по шапке, как в Jira. */
button.tk-lane{width:100%;text-align:left;color:var(--ink);cursor:pointer;border-radius:0;background:none;padding:9px 6px;min-height:40px}
button.tk-lane:hover{background:color-mix(in srgb,var(--ink) 3%,transparent)}
button.tk-lane:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px}
.tk-lane-chev{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;color:var(--muted);flex:none}
.tk-lane-chev .icon{width:13px;height:13px;stroke-width:1.9;transition:transform .15s ease}
.tk-lane[aria-expanded=true] .tk-lane-chev .icon{transform:rotate(90deg)}
/* У ячейки свой скролл: 100 закрытых задач одного человека не растягивают доску на километр.
   Запираем только вертикаль: жест вбок над ячейкой должен листать саму доску. */
.tk-cell:not(.folded):not(.ghost){max-height:calc(100dvh - 300px);overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink) 18%,transparent) transparent}
.tk-board-in.lanes .tk-cell:not(.folded):not(.ghost){max-height:min(520px,calc(100dvh - 300px))}
.tk-cell>*{flex:none}
/* Быстрая задача в колонке (как в Jira): карточка с полем и строкой выбора типа, срока, исполнителя. */
.tk-qc{display:flex;flex-direction:column;gap:6px;border-radius:8px;background:var(--paper);box-shadow:0 0 0 1.5px var(--accent),0 2px 8px #0000001a;padding:10px 10px 8px}
.tk-qc textarea{border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;padding:0!important;min-height:0;resize:none;font:inherit;font-size:13.5px;line-height:1.4;color:var(--ink)}
.tk-qc textarea::placeholder{color:var(--muted)}
.tk-qc-bar{display:flex;align-items:center;gap:2px}
.tk-qc-pick{position:relative;display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 6px;border-radius:6px;color:var(--muted);font-size:12px;cursor:pointer}
.tk-qc-pick:hover,.tk-qc-pick:has(.tk-ov:focus-visible){background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink)}
.tk-qc-pick:has(.tk-ov:focus-visible){outline:2px solid var(--accent);outline-offset:0}
.tk-qc-pick.on{color:var(--ink)}
.tk-qc-pick .tk-av{width:22px;height:22px;font-size:9px}
.tk-qc-who{padding:0 3px}
.tk-qc-go{margin-left:auto;width:30px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--accent);color:#fff;border:0;cursor:pointer}
.tk-qc-go:disabled{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--muted);cursor:default}
/* Новая задача — пустая карточка задачи: название обязательно. */
.tk-draft .tk-title-edit::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}
.tk-draft .tk-title-edit:not(:focus){background:color-mix(in srgb,var(--ink) 4%,transparent)}
.tk-title-edit.err{border-color:var(--red)!important}
.tk-draft .tk-title-err{margin:14px 0 0;font-size:12.5px;color:var(--red)}
.tk-draft .tk-desc{min-height:96px}
.tk-draft-foot{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:16px;border-top:1px solid var(--line)}
.tk-draft-foot .tk-muted{margin-left:6px;font-size:12px}
/* Уведомление «создана» со ссылкой на задачу: у самого тоста клики выключены, у ссылки — включены. */
.toast .toast-link{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}
.toast .toast-link svg{flex:none;opacity:.85}
.toast .toast-link u{text-decoration:none;font-weight:600;color:#c4bff7;margin-left:4px}
.toast .toast-link:hover u{text-decoration:underline}
.tk-cell:has(.tk-qc) .tk-col-empty{display:none}
.tk-qc-noone{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--line);color:var(--muted)}.tk-qc-noone svg{width:13px;height:13px}

/* Рабочие экраны во всю ширину (задачи, вики): шапка спейса в одну строку, полный экран, задача сбоку.
   Холст «Company Brain — рабочие экраны во всю ширину», доска A + C, полный экран кнопкой. */
.space-layout .content.work{max-width:none;padding:0 24px 16px}
@media (min-width:641px){.cb-work .space-layout .topbar{display:none}}
.sp-bar{display:flex;align-items:center;gap:10px;min-height:60px;margin:0 -24px;padding:0 24px}
.sp-title{display:flex;align-items:center;gap:8px;flex:none;position:relative}
.sp-title .space-mark{width:32px;height:32px;font-size:16px;border-radius:8px}
.sp-proj{font-size:14px;color:var(--muted);white-space:nowrap}
.sp-slash{font-size:16px;color:var(--muted);opacity:.6}
.sp-focus-path>.icon{width:12px;height:12px;color:var(--muted);flex:none}
.sp-name{display:inline-flex;align-items:center;gap:5px;padding:3px 6px;border-radius:6px;font:inherit;font-size:18px;font-weight:600;letter-spacing:-.3px;color:var(--ink);white-space:nowrap}
.sp-name .icon{width:13px;height:13px;color:var(--muted);transform:rotate(90deg)}
.sp-name:hover,.sp-name[aria-expanded=true]{background:var(--tint)}
.sp-desc{flex:1;min-width:0;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:4px}
.sp-tabs{margin:0 -24px;padding:0 24px;border-bottom:1px solid var(--line)}
.sp-tabs .tabs{margin:0;border:0;gap:22px;height:44px;align-items:stretch}
.sp-tabs .tabs button{padding:0;font-size:13.5px;display:inline-flex;align-items:center}
.sp-actions{display:flex;align-items:center;gap:10px;flex:none;margin-left:auto}
.sp-actions .space-members{display:flex;align-items:center;font-size:12.5px;color:var(--muted)}
.sp-actions .space-members>span{margin-left:8px;white-space:nowrap}
.sp-actions .space-members .avatar{width:24px;height:24px;font-size:9px}
.sp-info{position:absolute;top:calc(100% + 10px);left:0;z-index:25;width:340px;display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px #0000001f;font-size:13px;color:var(--muted)}
.sp-info p{margin:0;font-size:13.5px;line-height:1.55;color:var(--ink)}
.sp-info-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sp-info-row .icon{width:14px;height:14px}
.sp-focus-path,.sp-focus-exit{display:none}

.sp-focus-exit kbd{font:inherit;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 5px;margin-left:6px}
/* Полный экран: без бокового меню и шапки спейса; путь и «Свернуть» — тонкой строкой. */
.cb-focus .space-layout{grid-template-columns:minmax(0,1fr);padding-left:8px}
.cb-focus .space-layout>.sidebar,.cb-focus .space-layout>nav.sidebar{display:none}
.cb-focus .sp-title,.cb-focus .sp-desc,.cb-focus .sp-tabs,.cb-focus .sp-actions,.cb-focus .cb-focus-btn{display:none}
.cb-focus .sp-bar{border-bottom:1px solid var(--line)}
.cb-focus .sp-bar{min-height:44px}
.cb-focus .sp-focus-path{display:flex;align-items:center;gap:8px;flex:1;min-width:0;font-size:13px;color:var(--muted)}
.cb-focus .sp-focus-path b{color:var(--ink);font-weight:600}
.cb-focus .sp-focus-exit{display:inline-flex;align-items:center}
/* Панель доски одной строкой: разделы, поиск, люди, фильтры, спринт, кнопки. */
.tk-oneline{row-gap:8px}
.tk-head-in{display:flex;flex:none}
.tk-oneline .tk-tabs{gap:2px}
.tk-oneline .tk-tabs button{padding:5px 9px;margin:0;border:0;border-radius:6px}
.tk-oneline .tk-tabs button.on{background:var(--tint);border:0}
.tk-sep{width:1px;height:20px;background:var(--line);margin:0 4px;flex:none}
.tk-oneline .tk-sprint{padding:0;white-space:nowrap}
.content.work .tk-toolbar{margin:10px 0 12px}
/* Колонки делят ширину доски (272–380 px); не влезают — доска листается вбок. */
.tk-board-in{width:auto;min-width:min-content}
.tk-fold-btn{opacity:0;transition:opacity .12s}
.tk-colhead:hover .tk-fold-btn,.tk-fold-btn:focus-visible{opacity:1}
.content.work .tk-cell:not(.folded):not(.ghost){max-height:calc(100dvh - 236px)}
.cb-focus .content.work .tk-cell:not(.folded):not(.ghost){max-height:calc(100dvh - 170px)}
/* Широкая колонка: номер, эпик, приоритет и исполнитель — одной строкой под названием. */
.tk-cell{container-type:inline-size}
@container (min-width:400px){
  .tk-card-main{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:7px}
  .tk-card-main .tk-card-title{flex:1 1 100%}
  .tk-card-main .tk-card-foot{display:contents}
  .tk-card-main .tk-epic{order:1;max-width:60%}
  .tk-card-foot>.tk-grow,.tk-card-foot>.tk-grow~*{order:2}
}
@media (max-width:1100px){.sp-desc{display:none}.sp-actions .space-members>span{display:none}}
@media (max-width:900px){.sp-tabs .tabs{overflow-x:auto;scrollbar-width:none}.sp-actions .space-members{display:none}}
body:not(:has(#overlay:not([hidden]))) .tk-card.sel{box-shadow:0 0 0 1px var(--line),0 1px 2px #0000000d}

/* Остальные вкладки спейса (знания, встречи, цели и риски, клиенты, источники) — в том же виде, что задачи и обзор:
   во всю ширину от левого края, переключатели — сегментами в строке инструментов, блоки без заливки и рамок. */
.sp-page{padding:10px 0 24px}
.sp-page>[role=tabpanel]>.goals-switch,.sp-page>[role=tabpanel]>.call-type-filters{display:inline-flex;align-items:center;gap:2px;height:32px;margin:0 12px 14px 0;padding:0;border:0;background:none;box-shadow:none;vertical-align:middle;flex-wrap:wrap}
.sp-page>[role=tabpanel]>.goals-switch+.call-type-filters{padding-left:14px;border-left:1px solid var(--line);border-radius:0}
.sp-page>[role=tabpanel]>.goals-switch button,.sp-page>[role=tabpanel]>.call-type-filters button{height:30px;padding:0 10px;border:0;border-radius:6px;background:none;box-shadow:none;font:inherit;font-size:13.5px;font-weight:450;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.sp-page>[role=tabpanel]>.goals-switch button:hover,.sp-page>[role=tabpanel]>.call-type-filters button:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent)}
.sp-page>[role=tabpanel]>.goals-switch button[aria-pressed=true],.sp-page>[role=tabpanel]>.call-type-filters button.active{background:var(--tint);color:var(--ink);font-weight:600}
.sp-page>[role=tabpanel]>.call-type-filters button>span,.sp-page>[role=tabpanel]>.goals-switch .tab-count{font-size:12px;font-weight:450;color:var(--muted);background:none;border:0;padding:0;min-width:0}
.sp-page .panel{background:none;border:0;border-radius:0;box-shadow:none}
.sp-page .panel.pad{padding:0}
.sp-page .section-head{margin:22px 0 6px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.sp-page .section-head h2{font-size:13.5px;font-weight:600}
.sp-page .es-row{background:none;border:0;border-radius:0;padding-left:0}
.sp-page .event{border-top:0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);padding:12px 0}
.sp-page .risk-card{border:0;border-radius:0;background:none;padding:14px 0;border-bottom:1px solid var(--line)}
.sp-page .risk-columns{gap:40px}
.sp-page .sprint-panel{border-top:0}
.sp-page .calendar-toolbar{margin-top:4px}
.sp-page .cl-head{border-bottom:1px solid var(--line);padding-bottom:14px;margin:4px 0 18px}

/* Панель доски, вариант C (MOAT-194): две строки, на третью не переносится. Подписи прячутся по ширине самой панели. */
.tk-tb{container-type:inline-size;margin:10px 0 12px;display:flex;flex-direction:column;gap:8px}
.tk-tb-top,.tk-tb-tools{margin:0;gap:8px}
.tk-tb-top{flex-wrap:nowrap}
.tk-tb-tools{flex-wrap:nowrap;min-width:0}
.tk-tb-tools>*{flex:none}
.tk-tb-tools .tk-search{flex:1 1 120px;min-width:96px;max-width:240px;width:auto}
.tk-tb-tools .tk-faces{flex:none}
.tk-tb-tools .tk-sprint{display:inline-flex;align-items:center;gap:6px;padding:0;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
.tk-tb-top .tk-head-in{min-width:0;overflow-x:auto;scrollbar-width:none}
.tk-tb-top .tk-head-in::-webkit-scrollbar{display:none}
@container (max-width:1100px){
  .tk-tb-tools .tk-faces .tk-face:nth-child(n+7):not(.more):not(.on){display:none}
  .tk-tb-tools .tk-sprint>span,.tk-tb-tools .tk-sprint .tk-link-btn{display:none}
  .tk-tb-tools .tk-sprint .btn{display:inline-flex}
}
@container (max-width:900px){
  .tk-tb-tools .tk-tool .tk-lbl{display:none}
  .tk-tb-tools .tk-tool-sel select{width:22px;color:transparent}
  .tk-tb-tools .tk-tool-sel select option{color:var(--ink)}
  .tk-tb-tools .tk-faces .tk-face:nth-child(n+6):not(.more):not(.on){display:none}
}
@container (max-width:700px){
  .tk-tb-top .tk-add .tk-lbl{display:none}
  .tk-tb-tools .tk-faces .tk-face:nth-child(n+4):not(.more):not(.on){display:none}
  .tk-tb-tools .tk-search{min-width:80px}
}
