/* Project hub */
.pj-progress{height:6px;overflow:hidden;border-radius:20px;background:#e3ecf5;margin:2px 0 4px}.pj-progress span{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#73b4fc,var(--blue))}
.pj-card-progress{margin:6px 0 10px}.pj-card-progress small,.pj-cell small{color:var(--muted);font-size:11px}
.pj-cell{min-width:140px}.pj-cell .pj-progress{width:120px}
.pj-tasks{display:grid;gap:6px;margin:10px 0}.pj-task{display:flex;align-items:center;gap:10px}
.pj-task input[type=checkbox]{width:18px;height:18px;flex:0 0 auto;accent-color:var(--blue)}
.pj-task .pj-task-title{flex:1;min-width:0}.pj-task.done .pj-task-title{color:var(--muted);text-decoration:line-through}
.pj-task .icon-button{width:34px;height:34px;flex:0 0 auto}
.pj-sub-summary{padding:9px 0;border-top:1px solid var(--line);color:var(--muted)}
.pj-purchase-summary{padding:9px 0;border-top:1px solid var(--line);color:var(--muted)}
.pj-sub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:26px}.pj-sub-head .ct-sub{margin-bottom:4px}.pj-sub-head p{margin:0}
.pj-subcontractors{display:grid;gap:14px;margin-top:12px}.pj-subcontractor{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.pj-subcontractor>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pj-sub-fields{margin-bottom:12px}
.pj-payment-summary{padding:10px 12px;border-radius:10px;background:rgba(47,128,237,.08);color:var(--muted);font-size:13px}.pj-payment-summary b{color:var(--ink)}
.pj-payments{display:grid;gap:7px;margin:10px 0}.pj-payment{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(130px,.8fr) minmax(110px,.8fr) minmax(120px,1fr) minmax(140px,1.2fr) 36px;gap:7px;align-items:center}
.pj-payment input{min-width:0}.pj-payment .icon-button{width:34px;height:34px}.pj-sub-empty{padding:18px;text-align:center;border:1px dashed var(--line);border-radius:12px}
.pj-purchases{display:grid;gap:14px;margin-top:12px}.pj-purchase{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.pj-purchase>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.pj-scan-status{margin:10px 0 0}
@media(max-width:900px){.pj-sub-head{align-items:stretch;flex-direction:column}.pj-payment{grid-template-columns:1fr 1fr}.pj-payment .icon-button{justify-self:end}}
