/* Решения, блокеры, связи задач и поле выбора задачи. Только токены из tokens.css. */
/* таблица решений (≥1024). Тесный режим — узкий экран или открытая карточка решения справа. */
.dtable-wrap{overflow-x:auto}
.dtable{--cell-x:14px;--q-min:200px;--sum-max:300px;width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.dtable th{text-align:left;font-size:var(--fs-xs);color:var(--muted);font-weight:600;padding:10px var(--cell-x);border-bottom:1px solid var(--line);white-space:nowrap}
.dtable td{padding:var(--sp-3) var(--cell-x);border-bottom:1px solid var(--line);vertical-align:top}
.dtable th:first-child,.dtable td:first-child{padding-left:14px}
.dtable tbody tr{cursor:pointer;transition:background-color var(--dur) var(--ease)}
.dtable tbody tr:hover{background:color-mix(in srgb,var(--sunk) 55%,var(--surface))}
.dtable tr:last-child td{border-bottom:0}
.dtable td.id{padding-top:15px}
.dtable .q{font-weight:500;min-width:var(--q-min)}
.dtable .sum{color:var(--ink2);max-width:var(--sum-max);overflow-wrap:anywhere}
.linkish{text-align:left;font:inherit;font-weight:inherit;color:var(--ink);border-radius:4px;overflow-wrap:anywhere}
.linkish:hover{color:var(--primary)}
.deciders{display:inline-flex;gap:2px;align-items:center}

/* карточки решений (<1024) */
.dcards{display:grid;gap:10px}
.dcard{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;padding:14px;color:var(--ink);min-height:var(--touch)}
.dcard .hd{display:flex;align-items:center;gap:var(--sp-2)}
.dcard .hd .deciders{margin-left:auto}
.dcard .q{font-weight:600;font-size:var(--fs-base);overflow-wrap:anywhere}
.dcard .sum{font-size:var(--fs-sm);color:var(--ink2);overflow-wrap:anywhere}
.dcard .meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:var(--fs-xs);color:var(--muted)}

/* части карточки решения и связи задачи */
.links{display:grid;gap:2px}
.link-row{display:flex;align-items:center;gap:var(--sp-2);min-height:36px;font-size:var(--fs-sm);min-width:0}
.link-row .t{flex:1;min-width:0;overflow-wrap:anywhere}
.opts{display:grid;gap:2px}
.opts .opt{display:flex;align-items:center;gap:var(--sp-2);min-height:32px;font-size:var(--fs-sm)}
.opts .opt .v{flex:1;min-width:0;overflow-wrap:anywhere}
.box-wait{border-color:var(--warn-line);background:color-mix(in srgb,var(--warn-bg) 55%,var(--surface))}
.box-wait h4{color:var(--s-wait-ink)}
.box-wait .help{margin-top:var(--sp-2)}
.box-decide{border-color:var(--primary)}
.box-done{border-color:color-mix(in srgb,var(--s-done) 40%,var(--line))}
.box .result{font-size:var(--fs-base);white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:var(--sp-1)}
.decide{display:grid;gap:6px}
.decide .lbl{font-size:13px;font-weight:600;color:var(--ink2)}
.decide .acts{display:flex;gap:var(--sp-2);margin-top:var(--sp-1)}
.decide .acts .pri{flex:1}
.dchips{display:flex;flex-wrap:wrap;gap:6px}
.dchip{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:32px;padding:0 10px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--warn-line);color:var(--s-wait-ink);font-size:var(--fs-xs);font-weight:600;text-decoration:none}
.dchip .q{color:var(--ink2);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.dchip:hover{border-color:var(--s-wait)}
.tc .ev.dec{color:var(--s-wait-ink)}
.row .tags .proj{max-width:160px;overflow:hidden}

/* поле выбора задачи */
.picker{position:relative;margin-top:var(--sp-2)}
.picker .inp{min-height:36px;font-size:var(--fs-sm)}
.picker-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:75;max-height:240px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:4px}
.picker-opt{display:flex;align-items:center;gap:var(--sp-2);min-height:40px;padding:4px var(--sp-2);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-sm)}
.picker-opt .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.picker-opt[aria-selected="true"]{background:var(--sunk)}
.picker-empty{padding:10px var(--sp-2);color:var(--muted);font-size:var(--fs-sm)}
.picker .err{display:block;margin-top:6px}
.tchips{display:flex;flex-wrap:wrap;gap:6px}
.tchip{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:32px;padding:0 var(--sp-2);border-radius:var(--r-sm);background:var(--sunk);font-size:var(--fs-xs);color:var(--ink2);text-align:left}
.tchip>span:not(.id){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
button.tchip:hover{color:var(--ink)}

/* блокеры */
.blk-list{display:grid;gap:10px}
.blk-item{padding:14px 18px;display:grid;gap:10px;transition:box-shadow var(--dur) var(--ease)}
.blk-item.hl{box-shadow:0 0 0 2px var(--primary)}
.blk-item .bh{display:flex;gap:10px;align-items:flex-start}
.blk-item .bh svg{color:var(--p0);margin-top:2px}
.blk-item.removed .bh svg{color:var(--s-done)}
.blk-item .t{flex:1;min-width:0;font-weight:600;overflow-wrap:anywhere;border-radius:4px}
.blk-item.removed .t{color:var(--ink2)}
.blk-item .meta{display:flex;flex-wrap:wrap;gap:6px var(--sp-3);align-items:center;font-size:var(--fs-xs);color:var(--muted)}
.blk-item .who{display:inline-flex;align-items:center;gap:6px}
.blk-item .note{font-size:var(--fs-sm);color:var(--ink2);overflow-wrap:anywhere}
.blk-item .acts{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.blk-remove{display:grid;gap:6px;width:100%}
.blk-remove .lbl{font-size:13px;font-weight:600;color:var(--ink2)}
.blk-remove .acts{margin-top:var(--sp-1)}
.chip.blk-open{color:var(--p0);background:color-mix(in srgb,var(--p0) 10%,var(--surface))}

@media (max-width:1279px){
  .dtable{--cell-x:var(--sp-2);--q-min:150px;--sum-max:220px}
}
@media (min-width:1024px){
  body:has(.dpanel) .main{padding-right:calc(var(--drawer-w) + var(--sp-8));transition:padding-right var(--dur) var(--ease)}
  body:has(.dpanel) .dtable{--cell-x:var(--sp-2);--q-min:130px;--sum-max:170px}
}
@media (max-width:1023px){
  .link-row{min-height:var(--touch)}
  .picker .inp{min-height:var(--touch)}
  .picker-opt{min-height:var(--touch)}
  .blk-item{padding:var(--sp-3) 14px}
}
@media (max-width:767px){
  .row .tags .proj{display:none}
  /* чипы фильтров в одну строку с прокруткой до краёв экрана, без полосы */
  .filters.chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--sp-4)) var(--sp-4);padding:0 var(--sp-4)}
  .filters.chips::-webkit-scrollbar{display:none}
}
