.summary-panel {
  position:sticky;
  top:12px;
  max-height:calc(100vh - 24px);
  overflow:auto;
  background:var(--panel);
  padding:14px 16px;
  border-radius:var(--radius);
  font-size:var(--small)
}
.summary-panel p {
  margin:4px 0
}
.summary-panel .toolbar {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-bottom:8px
}
.save-state {
  color:var(--muted)
}
.version-message:empty,.summary-panel .error:empty {
  display:none
}
.version-message {
  font-weight:600
}
.totals {
  margin:8px 0 0;
  font-variant-numeric:tabular-nums
}
.totals div {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-block:2px
}
.totals dd {
  margin:0;
  text-align:end
}
.grand-total {
  font-size:1.5rem;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  line-height:1.3
}
.check-ok,.check-head {
  font-weight:600
}
.checks {
  margin:4px 0 8px;
  padding-inline-start:18px
}
.checks li {
  margin-block:4px
}
.summary-panel details {
  margin-block:8px
}
.summary-panel summary {
  padding-block:4px
}
.summary-panel details label {
  margin-block:6px
}
.status-line {
  padding-top:8px;
  border-top:1px solid var(--border)
}
.pending {
  color:var(--muted)
}
.cart {
  margin:10px 0 6px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:6px 0
}
.cart summary {
  font-weight:600;
  padding-block:6px
}
.cart ul {
  list-style:none;
  margin:4px 0 6px;
  padding:0;
  display:grid;
  gap:8px
}
.cart li {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  font-size:.8125rem;
  line-height:1.35
}
.cart li b {
  white-space:nowrap;
  font-variant-numeric:tabular-nums
}
.cart-empty {
  color:var(--muted)
}
