/* ---------- 32/33 projekti ---------- */
.pl-search{position:relative;display:flex;align-items:center;width:300px;max-width:100%}
.pl-search .ic{position:absolute;left:10px;color:var(--text-3);pointer-events:none}
.pl-search .in{padding-left:32px}
.pcard .pl-client{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-2);min-width:0;margin-top:-4px}
.pcard .pl-client .chip{margin-left:auto;height:20px;font-size:var(--fs-xs)}
.pcard .pl-dl{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-2);padding-top:10px;border-top:1px solid var(--border)}
.pcard .pl-dl .ic{width:14px;height:14px;color:var(--text-3)}
.pcard .pl-dl .pl-izp{color:var(--text-3);margin-right:6px}
.pcard .pl-dl b{font-weight:600;font-variant-numeric:tabular-nums}
.pcard .pf .ring{width:26px;height:26px}.pcard .pf .ring .t{font-size:0}
.pcard .pm .v.warn{color:var(--warn)} .pcard .pm .v.bad{color:var(--bad)}
.profit .pl .ok{color:var(--ok)} .profit .pl .warn{color:var(--warn)} .profit .pl .bad{color:var(--bad)}
/* project page header */
.pj-h{margin-bottom:12px}
.pj-h h1{margin-top:2px}
.pj-kicker{display:flex;align-items:center;gap:10px;color:var(--text-3)}
.pj-kicker .mono{font-size:var(--fs-sm)}
.pj-kicker .chip{height:20px;font-size:var(--fs-xs)}
.pj-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:6px;font-size:var(--fs-t);color:var(--text-2)}
.pj-meta>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pj-meta .ic{width:14px;height:14px;color:var(--text-3)}
.pj-meta .lnk:hover{color:var(--accent)}
.pj-h .btns{align-items:center}
.pj-pm{padding-right:8px;margin-right:4px;border-right:1px solid var(--border)}
.pj-health{align-items:center;margin-bottom:16px}
.pj-health .ic{margin-top:0}
.pj-health .pj-hn{color:var(--text)}
.pj-gap{margin-top:16px}
.pj-body .card.pad>.sec-h:first-child{margin-top:0}
/* mine */
.pj-mine{display:flex;flex-direction:column}
.pj-mi{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);font-size:var(--fs-t);cursor:default}
.pj-mi[data-peek]{cursor:pointer}
.pj-mi:last-child{border-bottom:0}
.pj-mi .grow{min-width:0}
.pj-mi b{font-weight:500}
/* phases */
.pj-phases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.pj-phase{display:flex;align-items:center;gap:10px;min-width:0}
.pj-phases.sm{grid-template-columns:repeat(4,136px);gap:16px}
@media (max-width:1100px){.pj-phases.sm{grid-template-columns:repeat(2,110px)}}
/* list strips */
.pj-ilist{display:flex;flex-direction:column}
.pj-is{display:flex;align-items:center;gap:12px;padding:0 4px;height:36px;border-bottom:1px solid var(--border);font-size:var(--fs-t);min-width:0;border-radius:4px}
.pj-is:last-child{border-bottom:0}
.pj-is.click{cursor:pointer}.pj-is.click:hover{background:var(--surface-2)}
.pj-is.tot{font-weight:600;border-top:1px solid var(--border-2)}
.pj-is .money{font-variant-numeric:tabular-nums}
/* changes */
.pj-chg{display:flex;flex-direction:column}
.pj-cr{display:flex;align-items:center;gap:14px;height:42px;border-bottom:1px solid var(--border);font-size:var(--fs-t);min-width:0}
.pj-cr:last-child{border-bottom:0}
.pj-cr .grow{min-width:0}
/* flat table inside a card */
.tbl-wrap.pj-flat{border:0;border-radius:0;background:transparent}
.tbl-wrap.pj-flat .tbl th{background:var(--surface)}
.pj-scroll{max-height:520px}
/* money tab profit */
.pj-profit{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pj-profit .v{font-size:var(--fs-lg);line-height:28px;font-weight:600;font-variant-numeric:tabular-nums;margin:2px 0}
/* gantt legend */
.pj-legend{display:flex;align-items:center;gap:16px;margin:8px 2px 0;flex-wrap:wrap}
.pj-legend span{display:inline-flex;align-items:center;gap:6px}
.pj-legend .lg-bar{width:16px;height:8px;border-radius:2px;background:var(--accent)}.pj-legend .lg-bar.late{background:var(--bad)}
.pj-legend .lg-base{width:16px;height:3px;border-radius:2px;background:var(--border-2)}
.pj-legend .lg-today{width:1px;height:12px;background:var(--bad)}
/* checklist header */
.pj-clhead{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
/* chain editor */
.pj-chain{display:flex;flex-direction:column;gap:8px}
.pj-cl{display:flex;align-items:center;gap:10px}
.pj-num{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);font-size:var(--fs-xs);font-weight:600;color:var(--text-2);flex:none}
.pj-cl select[disabled]{opacity:.5;background:var(--surface-2)}
.pj-ns{display:flex;flex-direction:column;gap:2px}
.pj-nr{display:grid;grid-template-columns:220px 1fr 40px;align-items:center;gap:12px;padding:6px 0;cursor:pointer}
/* AI tab */
.pj-aicard{display:flex;flex-direction:column;overflow:hidden}
.pj-aih{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}
.pj-aicard .aipanel{background:transparent}
.pj-msgs{max-height:440px;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.pj-sug{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 12px}
.pj-ain{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}
/* stage peek */
.pj-pk3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 10px}
.pj-pk3 .v{font-size:var(--fs-md);font-weight:600;font-variant-numeric:tabular-nums;margin-top:2px}
.pj-range{width:100%;accent-color:var(--accent)}
.pj-vchip{cursor:pointer;gap:6px}.pj-vchip input{margin:0}.pj-vchip i{width:8px;height:8px;border-radius:2px;display:inline-block}
.props dd.r{text-align:right}
@media (max-width:900px){.pj-pm{display:none}.pj-nr{grid-template-columns:1fr 1fr 40px}}
.tbl .row>.bar,.pj-is .bar{flex:1;min-width:40px}
.pj-phase .ring{width:42px;height:42px}
.gantt .gt:not(.h) .gtoday::after{content:none}
.peek .profit .pb{padding:0;flex:none;overflow:hidden}
