/* 16.24.0 projects (see CONTRACT-16.24.0.md). Prefix pjx; colours from the theme variables so every theme keeps working. */
.pjx { display:grid; gap:10px; min-width:0; }
.pjx > * { min-width:0; }
.pjx .page-head { margin-bottom:0; }
.pjx-back { justify-self:start; }
.pjx-tiles { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:12px; }
.pjx-tile { --pjx-c:var(--acc); position:relative; background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:12px 14px 12px 18px; display:grid; gap:6px; align-content:start; cursor:pointer; min-width:0; overflow:hidden; }
.pjx-tile::before { content:''; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--pjx-c); opacity:.85; }
.pjx-tile:hover, .pjx-tile:focus-visible { border-color:var(--acc); outline:none; }
.pjx-th { display:flex; align-items:flex-start; gap:8px; min-width:0; }
.pjx-name { flex:1; min-width:0; font-size:15px; overflow-wrap:anywhere; }
.pjx-desc { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.9em; overflow-wrap:anywhere; }
.pjx-stats { display:flex; flex-wrap:wrap; gap:4px 14px; font-size:12.5px; }
.pjx-stat b { color:var(--acc); }
.pjx-foot { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pjx-empty { border:1px dashed var(--line); border-radius:6px; padding:18px; color:var(--dim); text-align:center; grid-column:1 / -1; }
[data-pjxc='teal'] { --pjx-c:#2dd4bf; } [data-pjxc='blue'] { --pjx-c:#60a5fa; } [data-pjxc='violet'] { --pjx-c:#a78bfa; } [data-pjxc='amber'] { --pjx-c:#fbbf24; }
[data-pjxc='rose'] { --pjx-c:#fb7185; } [data-pjxc='green'] { --pjx-c:#4ade80; } [data-pjxc='grey'] { --pjx-c:#94a3b8; }
.pjx-one > .page-head h2 { border-left:4px solid var(--pjx-c, var(--acc)); padding-left:10px; overflow-wrap:anywhere; }
.pjx-one .subnav { margin-bottom:4px; }
.pjx-pane { display:grid; gap:10px; min-width:0; }
.pjx-bar { align-items:center; }
.pjx-two { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.pjx-pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:240px; overflow:auto; }
.pjx-actlist { display:grid; gap:4px; max-height:360px; overflow:auto; }
.pjx-actrow { display:grid; grid-template-columns:76px minmax(0,1fr); gap:8px; font-size:13px; }
.pjx-actext { overflow-wrap:anywhere; }
.pjx-list { margin-top:0; }
.pjx-list .ai-arow.pjx-row { grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr) 220px; } /* each row is its own grid: a fixed last column keeps them lined up */
.pjx-list .ai-arow.pjx-srow { grid-template-columns:minmax(150px,.8fr) minmax(0,2fr) 120px; }
.pjx-acts { justify-content:flex-end; flex-wrap:nowrap; }
.pjx-one-line { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.pjx-note { white-space:pre-wrap; overflow-wrap:anywhere; }
.pjx-mem .ai-arow.pjx-row { grid-template-columns:minmax(0,3fr) minmax(0,.8fr) minmax(0,.7fr) 160px; }
.pjx-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:start; }
.pjx-col { background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:10px; display:grid; gap:8px; min-width:0; }
.pjx-colh { font-size:11px; letter-spacing:.16em; color:var(--acc); }
.pjx-col[data-st='done'] .pjx-ttitle { text-decoration:line-through; opacity:.75; }
.pjx-task { border:1px solid var(--line); border-radius:5px; padding:8px 10px; display:grid; gap:4px; background:rgba(94,234,212,.04); min-width:0; }
.pjx-ttitle { background:none; border:0; padding:0; color:inherit; font:inherit; font-weight:600; text-align:left; cursor:pointer; overflow-wrap:anywhere; }
.pjx-ttitle:disabled { cursor:default; }
.pjx-tmeta { display:flex; flex-wrap:wrap; gap:4px 12px; }
.pjx-late { color:var(--bad); }
.pjx-tmove { gap:6px; }
.pjx-none { padding:4px 2px; }
.pjx-people { display:grid; gap:6px; max-height:46vh; overflow:auto; }
@media (max-width:900px) { .pjx-two { grid-template-columns:minmax(0,1fr); } }
@media (max-width:760px) {
  .pjx-list .ai-arow.pjx-row, .pjx-mem .ai-arow.pjx-row, .pjx-list .ai-arow.pjx-srow { grid-template-columns:minmax(0,1fr); }
  .pjx-acts { justify-content:flex-start; flex-wrap:wrap; }
  .pjx-board { grid-template-columns:minmax(0,1fr); }
  .pjx-tiles { grid-template-columns:minmax(0,1fr); }
  .pjx-one-line { white-space:normal; overflow-wrap:anywhere; }
}
/* 16.25.0 project tags on the tiles, RECENT CHATS on the OVERVIEW, chat titles and tags in CHATS */
.pjx-ttags .cx-tags { margin:0; }
.pjx-recent { display:grid; gap:6px; min-width:0; }
.pjx-rh { align-items:center; } .pjx-rh h3 { margin:0; }
.pjx-rlist { display:grid; min-width:0; }
.pjx-rrow { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:7px 0; border-top:1px solid rgba(94,234,212,.1); min-width:0; }
.pjx-rrow:first-child { border-top:0; }
.pjx-rmain { display:grid; gap:1px; min-width:0; }
.pjx-rmain .cx-tags, .pjx-cmain .cx-tags { margin:2px 0 0; }
.pjx-cmain { display:grid; min-width:0; }
.pjx-clist { min-width:0; }
/* 16.30.0 Shared card/table quick actions; all content may shrink at phone widths. */
.pjx-open { background:none; border:0; color:inherit; padding:0; font:inherit; font-weight:600; text-align:left; cursor:pointer; overflow-wrap:anywhere; }
.pjx-open:hover, .pjx-open:focus-visible { color:var(--acc); text-decoration:underline; }
.pjx-quick { flex-wrap:wrap; gap:6px; align-items:center; margin-top:6px; }
.pjx-tile { overflow:visible; }
.pjx-table-wrap { min-width:0; overflow:visible; }
.pjx-table { width:100%; table-layout:fixed; }
.pjx-table th:first-child { width:25%; }
.pjx-table th:last-child { width:31%; }
.pjx-table td { overflow-wrap:anywhere; }
@media(max-width:760px) {
  .pjx-table, .pjx-table tbody { display:block; }
  .pjx-table thead { display:none; }
  .pjx-table tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border:1px solid var(--line); border-radius:6px; padding:8px; margin-bottom:8px; }
  .pjx-table td { display:block; border:0; min-width:0; padding:5px; }
  .pjx-table td::before { content:attr(data-l); display:block; font-size:11px; color:var(--dim); }
  .pjx-table td:first-child, .pjx-table td:last-child { grid-column:1 / -1; }
}
.pjx-file-filter { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.pjx-file-filter input[type="date"], .pjx-file-filter select { min-width:130px; }
.pjx-pages { display:flex; flex-wrap:wrap; gap:5px; margin:10px 0; }
.pjx-pages [aria-current="page"] { border-color:var(--acc); color:var(--acc); }
