/* ---------- Compras y recuento (modules/purchasing.js) ---------- */
.pur-tabs { margin-bottom: 16px; }
.pur-composer { flex-wrap: wrap; }
.pur-composer .segmented { height: 38px; align-items: center; }
.pur-cov-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; padding: 16px 20px 12px; flex-wrap: wrap; }
.pur-cov-head h3 { margin: 0; font-size: 15px; font-weight: 600; letter-spacing: -0.01em; }
.pur-cov-head span { color: var(--text3); font-size: 12.5px; }
.pur-target { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text2); }
.pur-target input { width: 64px; height: 32px; text-align: right; }
.pur-min { display: inline-flex; align-items: center; gap: 6px; }
.pur-min input { width: 80px; height: 30px; text-align: right; font-size: 13px; }
.pur-min span { color: var(--text3); font-size: 12px; }
.pur-alerts { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.pur-bar { height: 3px; border-radius: 3px; background: var(--hover-strong); margin-top: 6px; overflow: hidden; }
.pur-bar i { display: block; height: 100%; background: var(--green); opacity: .7; border-radius: inherit; }
.pur-inline td { background: var(--surface-2); }
.pur-inline-form { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; padding: 4px 0; }
.pur-inline-form .field { width: 170px; }
.pur-lines { flex: 1 1 100%; display: flex; flex-direction: column; gap: 8px; }
.pur-line { display: grid; grid-template-columns: minmax(160px, 2fr) minmax(90px, 1fr) minmax(90px, 1fr) auto; gap: 10px; align-items: end; }
.pur-lines-actions { flex: 1 1 100%; display: flex; justify-content: space-between; align-items: center; }
.pur-score { width: 76px; height: 30px; text-align: right; }
.pur-notes { width: 100%; min-width: 160px; height: 30px; font-size: 13px; }
.pur-decision button { height: 26px; font-size: 12px; }
.pur-upsell { display: flex; align-items: center; gap: 14px; }
.pur-upsell > svg { width: 22px; height: 22px; color: var(--text2); flex-shrink: 0; }
.pur-upsell div { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.pur-upsell span { color: var(--text3); font-size: 13px; max-width: 70ch; }

/* Recuento: one hand, a phone and a scale */
.cnt-houses { margin-bottom: 14px; }
.cnt-list { display: flex; flex-direction: column; gap: 10px; padding-bottom: 84px; }
.cnt-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "info input" "info diff"; gap: 4px 16px; align-items: center;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 14px 16px; }
.cnt-info { grid-area: info; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cnt-info strong { font-size: 15px; font-weight: 600; }
.cnt-info span { color: var(--text3); font-size: 13px; }
.cnt-input { grid-area: input; display: inline-flex; align-items: center; gap: 8px; }
.cnt-input input { width: 120px; height: 48px; font-size: 20px; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.cnt-input span { color: var(--text3); }
.cnt-diff { grid-area: diff; text-align: right; font-size: 12.5px; font-variant-numeric: tabular-nums; min-height: 16px; padding-right: 28px; }
.cnt-diff.ok { color: var(--green); }
.cnt-diff.off { color: var(--signal-text); font-weight: 500; }
.cnt-bar { position: sticky; bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: -72px;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 10px 10px 10px 16px; box-shadow: var(--shadow-lg); }
.cnt-bar span { color: var(--text2); font-size: 13.5px; }
.cnt-bar .primary { height: 44px; padding: 0 20px; }
@media (max-width: 560px) {
  .cnt-item { grid-template-columns: 1fr; grid-template-areas: "info" "input" "diff"; }
  .cnt-input input { width: 100%; }
  .cnt-input { width: 100%; }
  .cnt-diff { text-align: left; padding-right: 0; }
  .pur-line { grid-template-columns: 1fr 1fr; }
}
