/* PDV360 v128: CxC/CxP, cobranza de CFDI y dashboard más limpio */
.pdv-cobranza-actions-inline{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;align-items:center}
.pdv-cobranza-pay-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px;border:1px solid #dbe7f5;background:#f8fbff;color:#102040;white-space:nowrap}
.pdv-cobranza-pay-chip.pagado{background:#ecfdf5;border-color:#bbf7d0;color:#166534}
.pdv-cobranza-pay-chip.pendiente,.pdv-cobranza-pay-chip.vencida{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.pdv-cobranza-pay-chip.parcial{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.pdv-cobranza-btn{height:31px;border-radius:11px;border:1px solid #dbe7f5;background:#fff;font-weight:900;font-size:12px;padding:0 10px;cursor:pointer;box-shadow:0 8px 18px rgba(15,35,70,.06)}
.pdv-cobranza-btn.pending{color:#9a3412;border-color:#fed7aa;background:#fff7ed}.pdv-cobranza-btn.pending:hover{background:#f97316;color:#fff;border-color:#f97316}
.pdv-cobranza-btn.paid{color:#166534;border-color:#bbf7d0;background:#ecfdf5}.pdv-cobranza-btn.paid:hover{background:#16a34a;color:#fff;border-color:#16a34a}
.pdv-cobranza-modal-root{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:22px}
.pdv-cobranza-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52);backdrop-filter:blur(5px)}
.pdv-cobranza-card{position:relative;width:min(620px,96vw);background:#fff;border:1px solid #dbe7f5;border-radius:28px;box-shadow:0 30px 90px rgba(15,35,70,.30);padding:30px;color:#102040}
.pdv-cobranza-x{position:absolute;right:18px;top:16px;width:38px;height:38px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;font-size:24px;cursor:pointer;color:#475569}
.pdv-cobranza-icon{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#eff6ff,#f8fbff);border:1px solid #dbeafe;display:flex;align-items:center;justify-content:center;font-size:31px;margin-bottom:14px}
.pdv-cobranza-card h2{margin:0 0 8px;font-size:27px;font-weight:950;letter-spacing:-.04em;color:#0b1b3a}.pdv-cobranza-card p{margin:0 0 18px;color:#64748b;font-weight:650;line-height:1.5}
.pdv-cobranza-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 18px}.pdv-cobranza-summary div{background:#f8fbff;border:1px solid #dbe7f5;border-radius:18px;padding:13px}.pdv-cobranza-summary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.10em;color:#7b8aa5;font-weight:950}.pdv-cobranza-summary strong{display:block;margin-top:5px;font-size:14px;color:#102040;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdv-cobranza-label{display:block;font-weight:900;color:#334155;margin:8px 0}.pdv-cobranza-input{width:100%;height:48px;border:1px solid #dbe7f5;border-radius:16px;padding:0 14px;font-weight:850;color:#102040}.pdv-cobranza-help{font-size:12px;color:#64748b;margin-top:7px}.pdv-cobranza-error{margin-top:14px;padding:12px 14px;border-radius:16px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-weight:850}
.pdv-cobranza-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.pdv-cobranza-secondary,.pdv-cobranza-primary{height:44px;border-radius:14px;padding:0 18px;font-weight:950;border:1px solid #dbe7f5;cursor:pointer}.pdv-cobranza-secondary{background:#fff;color:#102040}.pdv-cobranza-primary{background:#0b2557;border-color:#0b2557;color:#fff}.pdv-cobranza-primary.paid{background:#16a34a;border-color:#16a34a}.pdv-cobranza-primary:disabled{opacity:.6;cursor:wait}.pdv-cobranza-toast{position:fixed;right:22px;bottom:22px;z-index:999999;background:#102040;color:#fff;padding:13px 16px;border-radius:16px;box-shadow:0 18px 45px rgba(15,35,70,.25);font-weight:900}.pdv-cobranza-toast.ok{background:#166534}.pdv-cobranza-toast.error{background:#b91c1c}
.pdv-dashboard-v128 .kpis:not(.cashier-kpis){display:grid!important;grid-template-columns:repeat(5,minmax(170px,1fr))!important;gap:18px!important}.pdv-dashboard-v128 .kpis:not(.cashier-kpis) .kpi{min-height:132px!important;border-radius:26px!important;padding:22px!important;background:radial-gradient(circle at 92% 10%,rgba(37,99,235,.12),transparent 28%),linear-gradient(145deg,#fff,#f7fbff)!important;box-shadow:0 18px 40px rgba(15,35,70,.08)!important}.pdv-dashboard-v128 .kpis:not(.cashier-kpis) .kpi span{font-size:31px!important;margin-bottom:12px!important}.pdv-dashboard-v128 .kpis:not(.cashier-kpis) .kpi b{font-size:28px!important;letter-spacing:-.04em!important}.pdv-dashboard-v128 .kpis:not(.cashier-kpis) .kpi small{font-size:13px!important;font-weight:900!important}.pdv-dashboard-v128 .pdv-kpi-cxc{border-color:#fca5a5!important}.pdv-dashboard-v128 .pdv-kpi-cxp{border-color:#fdba74!important}.pdv-dashboard-v128 .pdv-kpi-quotes{border-color:#fbbf24!important}.pdv-dashboard-v128 .pdv-hide-stock-card{display:none!important}.pdv-dashboard-v128 .grid.three{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pdv-dashboard-v128 .pdv-chart-card{border-radius:28px!important;background:linear-gradient(180deg,#fff,#f8fbff)!important;box-shadow:0 20px 45px rgba(15,35,70,.08)!important;border:1px solid #dbe7f5!important;overflow:hidden!important}.pdv-dashboard-v128 .pdv-chart-card h2{font-size:25px!important;letter-spacing:-.04em!important}.pdv-dashboard-v128 .bars{height:290px!important;border-radius:22px!important;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)!important;border:1px solid #e5eef9!important;padding:24px 16px 14px!important}.pdv-dashboard-v128 .bar{background:linear-gradient(180deg,#2563eb 0%,#38bdf8 100%)!important;border-radius:18px 18px 8px 8px!important;box-shadow:0 12px 22px rgba(37,99,235,.24)!important}.pdv-dashboard-v128 .hbar-track span{background:linear-gradient(90deg,#0b2557,#2563eb,#38bdf8)!important}.pdv-dashboard-v128 .list-row,.pdv-dashboard-v128 .hbar-row{border-radius:18px!important;background:#fff!important;border:1px solid #e5eef9!important;box-shadow:0 10px 24px rgba(15,35,70,.06)!important;padding:14px 15px!important}.pdv-dashboard-v128 .empty,.pdv-dashboard-v128 .muted{color:#64748b!important;font-weight:700!important}
@media(max-width:1180px){.pdv-dashboard-v128 .kpis:not(.cashier-kpis){grid-template-columns:repeat(3,minmax(0,1fr))!important}.pdv-cobranza-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pdv-dashboard-v128 .grid.two,.pdv-dashboard-v128 .grid.three{grid-template-columns:1fr!important}}
@media(max-width:720px){.pdv-dashboard-v128 .kpis:not(.cashier-kpis){grid-template-columns:1fr!important}.pdv-cobranza-card{padding:24px}.pdv-cobranza-summary{grid-template-columns:1fr}.pdv-cobranza-actions{flex-direction:column}.pdv-cobranza-secondary,.pdv-cobranza-primary{width:100%}.pdv-cobranza-actions-inline{flex-direction:column;align-items:stretch}.pdv-cobranza-actions-inline>*{width:100%;justify-content:center}}
/* v120 ocultaba la quinta tarjeta; en v128 la reutilizamos para CxP pendiente */
.pdv-dashboard-v128 .dashboard-page .kpis:not(.cashier-kpis) .kpi:nth-child(5),
.pdv-dashboard-v128 .kpis:not(.cashier-kpis) .kpi:nth-child(5){display:block!important}
