.kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.kpis .card { padding: 16px; border-radius: var(--radius); }
.two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.two-col h2 { font-size: 18px; margin-bottom: 10px; }
.bar-row { display: grid; grid-template-columns: 110px 1fr 90px; gap: 10px; align-items: center; font-size: 14px; padding: 4px 0; }
.bar-row .bar { height: 12px; border-radius: 6px; background: var(--ground); overflow: hidden; }
.bar-row .bar span { display: block; height: 100%; background: var(--brand); border-radius: 6px; }
.bar-row .v { text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; }
tr.click { cursor: pointer; }
tr.click:hover td { background: #FBFAF7; }
.receipt-view { font-family: ui-monospace, Consolas, monospace; font-size: 14px; background: #FFFDF8; border: 1px dashed #D3D0C7; border-radius: 12px; padding: 16px; white-space: pre-wrap; }
.code-box { font-family: ui-monospace, Consolas, monospace; font-size: 28px; font-weight: 700; letter-spacing: 2px; background: var(--brand-tint); color: var(--brand-dark); border-radius: 14px; padding: 18px; text-align: center; user-select: all; }
.pill.refund { background: #FBE6DF; color: #8E2C17; }
.status-dot { display: inline-block; width: 10px; height: 10px; border-radius: 5px; margin-right: 6px; background: #C9C6BC; }
.status-dot.on { background: var(--ok); }
@media (max-width: 860px) { .kpis, .two-col { grid-template-columns: 1fr 1fr; } .two-col { grid-template-columns: 1fr; } }
.toolbar .cat { flex: none; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font-weight: 700; color: var(--muted); }
.toolbar .cat[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
