/* ۴۰٫۲۲: پیمانکاریِ ساختمان — نیمهٔ دومِ رابط (construction2.js)
   شبکهٔ فشردهٔ ردیف‌های صورت‌وضعیت/چک‌لیست/نیروی کار، جعبه‌های امضا، زیرزبانه‌های کارگاه، خلاصهٔ مبالغ. */

/* --- شبکهٔ ردیف‌های ویرایش‌پذیر --- */
.cn-lines{overflow-x:auto}
.cn-lines table{width:100%;border-collapse:collapse;font-size:13.5px}
.cn-lines th,.cn-lines td{padding:4px 6px;vertical-align:middle;white-space:nowrap}
.cn-lines td:nth-child(2){white-space:normal;min-width:180px}
.cn-lines input,.cn-lines select{width:100%;min-width:72px;padding:5px 7px;font-size:13.5px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
.cn-lines input.numfmt{text-align:left;min-width:96px}
.cn-lines input:focus,.cn-lines select:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}
.cn-lines .ln-amt{text-align:left;direction:ltr;min-width:110px}
.cn-lines .ln-n{color:var(--muted);width:28px}
.cn-lines .btn.sm.danger{padding:2px 8px}

/* --- سرِ صورت‌وضعیت و خلاصهٔ مبالغ --- */
.cn2-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 14px;margin-bottom:14px}
.cn2-ro{padding:7px 0;font-weight:600}
.cn2-tot{margin-top:16px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;max-width:620px;margin-inline-start:auto}
.cn2-sum{width:100%;border-collapse:collapse;font-size:13.5px}
.cn2-sum td,.cn2-sum th{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right}
.cn2-sum td:last-child,.cn2-sum th:last-child{text-align:left;direction:ltr;white-space:nowrap}
.cn2-sum th{font-weight:700}
.cn2-ded thead th{color:var(--muted);font-weight:600;font-size:13.5px}
.cn2-ded input.ded-in{max-width:150px;text-align:left}
.cn2-ded input.ded-in:disabled{opacity:.55}
.cn2-ov{display:inline-flex;align-items:center;gap:4px;font-size:13.5px;white-space:nowrap;cursor:pointer}
.cn2-net{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:var(--brand-soft);color:var(--brand-ink);font-size:15px}
.cn2-net b{font-size:19px;direction:ltr}
.cn2-tot h4{margin:6px 0 2px}

/* --- کلید/مقدار (جزئیاتِ گزارشِ روزانه و صورت‌جلسه) --- */
.cn2-kv{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:10px}
.cn2-kv th{text-align:right;color:var(--muted);font-weight:600;padding:5px 8px;vertical-align:top;width:140px}
.cn2-kv td{padding:5px 8px;border-bottom:1px solid var(--line);line-height:1.8}

/* --- زیرزبانه‌های کارگاه --- */
.tabs.cn2-subtabs{margin-bottom:12px;flex-wrap:wrap}
.tabs.cn2-subtabs button{font-size:13.5px}

/* --- جعبه‌های امضا --- */
.cn2-sigs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:8px 0 14px}
.cn2-sig{border:1px dashed var(--line);border-radius:12px;padding:10px;background:var(--card);text-align:center}
.cn2-sig-t{font-weight:700;margin-bottom:6px}
.cn2-sig-pad{display:block;width:100%;height:140px;border:1px solid var(--line);border-radius:10px;background:#fff;touch-action:none;cursor:crosshair}
.cn2-sig img{max-width:100%;max-height:140px;border:1px solid var(--line);border-radius:10px;background:#fff}
.cn2-sig-done{padding:40px 0}

/* --- انتخابگرِ شخص داخلِ openForm + شخصِ جدید --- */
.cn2-pp{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}
.cn2-pp-w{flex:1;min-width:0}
.cn2-np{margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg,transparent);display:grid;gap:8px}
.cn2-np input{width:100%}

/* --- گوشی --- */
@media (max-width:640px){
  .cn2-head{grid-template-columns:1fr 1fr}
  .cn2-tot{max-width:none}
  .cn2-sigs{grid-template-columns:1fr}
  .cn-lines input,.cn-lines select{min-width:64px;font-size:14px}
  .cn2-net b{font-size:17px}
}

/* ۴۰٫۲۴: ردیف‌های صورت‌وضعیت روی گوشی/تبلت کارت می‌شوند (table.cardy ِ theme.css با data-l ِ هر خانه)؛
   پیش از این ستونِ «درصدِ تجمعی» بیرون از صفحه می‌ماند و تاریخ زیرِ دکمه‌های تقویم گم می‌شد. */
@media (max-width:900px){
  .cn-lines table.cn2-lines-t.cardy{min-width:0}
  .cn-lines table.cn2-lines-t.cardy td{align-items:center;min-width:0}
  .cn-lines table.cn2-lines-t.cardy td > input{flex:1;min-width:0;width:auto}
  .cn-lines table.cn2-lines-t.cardy td.ln-amt{direction:rtl;text-align:start}
  .cn-lines table.cn2-lines-t.cardy td.cy-act{justify-content:flex-end}
}
@media (max-width:640px){
  .cn2-st .cn2-head{grid-template-columns:minmax(0,1fr)}
  .cn2-st .cn2-head input{min-width:0}
}

/* ۴۰٫۲۲: دکمه‌های ردیفِ پیمانکار چندسطری تا جدول از صفحه بیرون نزند */
.cn2-acts{display:flex;flex-wrap:wrap;gap:4px;min-width:150px;max-width:260px}

/* ۴۰٫۲۵: نیروهای کارگاه و تسویهٔ دستمزد */
.cn2-siteviews{margin-bottom:10px}
.cn2-wks-l{display:grid;gap:2px;max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:4px 10px;margin-bottom:10px}
.cn2-wks-l .cn-check{margin:0;padding:6px 0;border-bottom:1px solid var(--line)}
.cn2-wks-l .cn-check:last-child{border-bottom:0}
.cn2-wks-l .cn-check span{flex:1;min-width:0}
.cn2-wks-l .cn-check b{white-space:nowrap}
