.cart-line{
  display:grid; gap:var(--sp3); padding:var(--sp4); border:1px solid var(--line);
  border-radius:var(--r-md); background:var(--paper); margin-bottom:var(--sp3);
  grid-template-columns:1fr 92px 132px 132px 128px auto; align-items:end;
}
.cart-line .ln-name{font-weight:600; font-size:.9rem}
.cart-line .ln-name small{display:block; color:var(--muted); font-weight:400; font-size:.76rem}
.cart-line .ln-total{font-weight:800; font-variant-numeric:tabular-nums; direction:ltr; text-align:left; font-size:.95rem}
.cart-line .lbl-mini{font-size:.7rem; color:var(--muted); font-weight:600; display:block; margin-bottom:4px}
.cart-line .inp{min-height:40px; padding:7px 10px; font-size:.86rem}

.totals{background:var(--cream-2); border-radius:var(--r-md); padding:var(--sp4) var(--sp5); border:1px solid var(--line)}
.totals .tl{display:flex; justify-content:space-between; align-items:center; padding:7px 0; font-size:.9rem}
.totals .tl span:last-child{font-variant-numeric:tabular-nums; direction:ltr; font-weight:600}
.totals .tl.grand{
  border-top:2px solid var(--navy); margin-top:var(--sp3); padding-top:var(--sp3);
  font-size:1.15rem; font-weight:800; color:var(--navy);
}
.totals .tl.disc span:last-child{color:var(--danger)}
