feat: cashier/counter reports, service-order & remission flows, Rached migration utils
Some checks failed
CI / lint-and-test (3.11) (push) Has been cancelled
CI / lint-and-test (3.13) (push) Has been cancelled

- Add "Mis cortes de caja" report for cashiers/counters with sales detail.
- Cash register history scoped to own cuts for non-admin roles; new /register/<id>/sales endpoint.
- Remove dashboard from cashier menu; add Reports to cashier/counter.
- Service orders: assign mechanic, budget field, invoice flag, counter/cashier can add items/remissions, convert to remission.
- Remission notes module (UI, CSS, courier, counter remissions).
- Customer hard-delete and vehicle/customer linkage in workshop.
- POS: always show search results, compact payment grid, credit validation, tier pricing (5%/10%), ticket with customer/folio.
- Inventory: CSV template with sku_secondary, alias import.
- Rached migration scripts and DB migrations.
- Version-bump cached JS/CSS query strings.

Excludes local Rached session tokens/captures (rached_*.json / rached_*.txt).
This commit is contained in:
2026-07-02 12:51:56 +00:00
parent 483498cfcc
commit f42910f4f6
71 changed files with 5388 additions and 626 deletions

View File

@@ -713,18 +713,23 @@
}
.pago-tabs {
display: flex; border-bottom: 2px solid var(--color-border); padding: 0 var(--space-6);
display: grid;
grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
gap: var(--space-2);
padding: var(--space-4) var(--space-6);
border-bottom: none;
}
.pago-tab {
padding: var(--space-3) var(--space-5); font-family: var(--font-body);
font-size: var(--text-body-sm); font-weight: var(--font-weight-semibold);
background: transparent; border: none; color: var(--color-text-muted);
cursor: pointer; border-bottom: 2px solid transparent;
margin-bottom: -2px; transition: var(--transition-fast);
display: flex; align-items: center; gap: var(--space-2);
padding: var(--space-3) var(--space-2); font-family: var(--font-body);
font-size: var(--text-caption); font-weight: var(--font-weight-semibold);
background: var(--color-surface); border: 1px solid var(--color-border);
border-radius: var(--radius-md); color: var(--color-text-muted);
cursor: pointer; transition: var(--transition-fast);
display: flex; align-items: center; justify-content: center;
text-align: center; min-height: 44px;
}
.pago-tab:hover { color: var(--color-text-primary); }
.pago-tab.active { color: var(--color-text-accent); border-bottom-color: var(--color-primary); }
.pago-tab:hover { background: var(--color-surface-2); color: var(--color-text-primary); }
.pago-tab.active { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.tab-content { padding: var(--space-6); display: none; }
.tab-content.active { display: block; }