
.ui-cash-count { container-type: inline-size; display: grid; gap: 16px; min-width: 0; max-width: 620px; padding: 20px 22px; border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius); background: var(--ui-surface); color: var(--ui-fg); font: 14px/1.45 var(--ui-font); }
.ui-cash-count .ui-cash-count-title { margin: 0; font-size: 16px; font-weight: 650; }
.ui-cash-count-rows { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 6px 20px; margin: 0; padding: 0; list-style: none; }
.ui-cash-count-row { display: grid; grid-template-columns: minmax(60px, 1fr) 70px minmax(70px, 1fr); gap: 8px; align-items: center; min-width: 0; }
.ui-cash-count-row label { font-weight: 500; font-variant-numeric: tabular-nums; }
.ui-cash-count-line { text-align: right; color: var(--ui-muted); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ui-cash-count input { box-sizing: border-box; width: 100%; min-width: 0; height: 34px; padding: 0 8px; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-sm);
  background: var(--ui-surface); color: var(--ui-fg); font: 14px var(--ui-font); font-variant-numeric: tabular-nums; }
.ui-cash-count-row input { text-align: right; }
.ui-cash-count input:hover { border-color: var(--ui-strong); }
.ui-cash-count input:focus { outline: none; border-color: var(--ui-accent); box-shadow: var(--ui-focus); }
.ui-cash-count input[aria-invalid] { border-color: var(--ui-danger); }
.ui-cash-count-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px 14px; }
.ui-cash-count-field { display: grid; gap: 5px; min-width: 0; align-content: start; }
.ui-cash-count-field label { font-size: 13px; font-weight: 500; }
.ui-cash-count-errors { margin: 0; padding: 0; list-style: none; color: var(--ui-danger); font-size: 13px; }
.ui-cash-count-out { display: grid; gap: 10px; padding: 12px 16px; border-radius: var(--ui-radius-sm); background: var(--ui-subtle); }
.ui-cash-count-sums { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; margin: 0; }
.ui-cash-count-sums dt { color: var(--ui-muted); }
.ui-cash-count-sums dd { margin: 0; text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.ui-cash-count-total { color: var(--ui-fg) !important; font-size: 16px; font-weight: 700; }
.ui-cash-count-status { margin: 0; padding: 6px 10px; border-radius: var(--ui-radius-sm); font-weight: 600; }
.ui-cash-count-balanced { background: var(--ui-success-soft); color: var(--ui-success); }
.ui-cash-count-over { background: var(--ui-info-soft); color: var(--ui-info); }
.ui-cash-count-short { background: var(--ui-danger-soft); color: var(--ui-danger); }
.ui-cash-count-change { margin: 0; }
.ui-cash-count-pieces { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 4px 0 0; padding: 0; list-style: none; font-variant-numeric: tabular-nums; }
.ui-cash-count-note { margin: 0; color: var(--ui-muted); font-size: 13px; }

