/* ══════════════════════════════════════════════════════════
   PEDIDOS Y STOCK (expedición)
   Reutiliza el sistema gp-* (toolbar, gp-btn, gp-table, gp-input,
   gp-select, gp-badge). Acá solo lo específico del módulo.
   CSP TISAX: sin estilos inline (los dinámicos van por data-s).
   ══════════════════════════════════════════════════════════ */

/* KPIs / dashboard de expedición */
.ps-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:18px;}
.ps-kpi{background:#fff;border:1px solid var(--border);border-radius:14px;padding:15px 16px;}
.ps-kpi .l{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700;}
.ps-kpi .v{font-family:'Inter',sans-serif;font-size:24px;font-weight:800;color:var(--ink);margin-top:6px;font-variant-numeric:tabular-nums;}
.ps-kpi.alert{border-color:#fecaca;background:#fff5f5;}
.ps-kpi.alert .v{color:#991b1b;}

/* Estado del pedido */
.ps-estado{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;}
.ps-estado::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;}
.ps-estado-borrador{background:#f0f0f3;color:#6b7280;}
.ps-estado-emitido{background:#e8f8f0;color:#1a7a4a;}
.ps-estado-parcial{background:#fef3c7;color:#92400e;}
.ps-estado-anulado{background:#fee2e2;color:#991b1b;}

/* Stock */
.ps-num{font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;}
.ps-stock-bajo{color:#991b1b;font-weight:800;}
.ps-chip-bajo{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:10px;font-size:9.5px;font-weight:800;background:#fee2e2;color:#991b1b;text-transform:uppercase;letter-spacing:.3px;}
tr.ps-row-bajo td{background:#fff7f7;}

/* Modal genérico (se crea dinámicamente en ps.js) */
.ps-modal-overlay{position:fixed;inset:0;background:rgba(15,15,25,.55);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:1200;overflow-y:auto;}
.ps-modal{background:var(--card);border-radius:16px;box-shadow:var(--shadow-lg);width:100%;max-width:560px;overflow:hidden;animation:psModalIn .18s ease;}
.ps-modal.wide{max-width:840px;}
@keyframes psModalIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.ps-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid var(--border);}
.ps-modal-title{font-family:'Inter',sans-serif;font-size:16px;font-weight:800;color:var(--ink);}
.ps-modal-x{background:none;border:none;cursor:pointer;color:var(--muted);font-size:22px;line-height:1;padding:2px 8px;border-radius:8px;}
.ps-modal-x:hover{background:var(--surface);color:var(--ink);}
.ps-modal-body{padding:18px 20px;max-height:68vh;overflow-y:auto;}
.ps-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:13px 20px;border-top:1px solid var(--border);background:var(--surface);}

/* Formularios */
.ps-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 14px;}
.ps-form .full{grid-column:1/-1;}
.ps-field{display:flex;flex-direction:column;gap:5px;}
.ps-field label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;}
.ps-field .gp-input,.ps-field .gp-select{width:100%;}
.ps-cot-hint{font-size:11.5px;color:var(--muted);margin-top:2px;}
@media(max-width:640px){.ps-form{grid-template-columns:1fr;}}

/* Editor de ítems del pedido */
.ps-items{margin-top:8px;border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.ps-items-row{display:grid;grid-template-columns:2.2fr 1fr 1.1fr 34px;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--border);}
.ps-items-row:last-child{border-bottom:none;}
.ps-items-head{background:var(--surface);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);}
.ps-items-row .gp-input,.ps-items-row .gp-select{width:100%;padding:7px 9px;font-size:12.5px;}
.ps-item-del{background:#fee2e2;color:#991b1b;border:none;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:16px;line-height:1;}
.ps-item-del:hover{background:#fecaca;}
.ps-add-item{margin-top:8px;}
@media(max-width:640px){.ps-items-row{grid-template-columns:1fr 1fr;}.ps-items-head{display:none;}.ps-item-del{grid-column:2;justify-self:end;}}

/* Detalle de pedido (tabla de ítems con saldo) */
.ps-det-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:14px;}
.ps-det-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:9px 12px;}
.ps-det-box .l{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-weight:700;}
.ps-det-box .v{font-size:14px;font-weight:700;color:var(--ink);margin-top:3px;}

/* Alerta de Nota de Crédito (al anular un pedido facturado) */
.ps-nc-alert{display:flex;gap:12px;align-items:flex-start;background:#fff5f5;border:1.5px solid #fecaca;border-radius:12px;padding:14px 16px;margin-bottom:12px;}
.ps-nc-alert .ico{font-size:22px;line-height:1;}
.ps-nc-alert .t{font-weight:800;color:#991b1b;font-size:14px;margin-bottom:3px;}
.ps-nc-alert .d{font-size:12.5px;color:#7f1d1d;}

/* Resultado de emisión / remito */
.ps-remito-ok{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;padding:8px 0 6px;}
.ps-remito-ok .big{font-family:'Inter',sans-serif;font-size:16px;font-weight:800;color:#1a7a4a;}
.ps-remito-ok .sub{font-size:12.5px;color:var(--muted);}

.ps-empty{text-align:center;color:var(--muted);font-size:13px;padding:34px 12px;}
.ps-saldo-pos{color:#92400e;font-weight:700;}
.ps-saldo-cero{color:#1a7a4a;font-weight:700;}
.ps-muted{color:var(--muted);}
.ps-sec-title{font-family:'Inter',sans-serif;font-size:13px;font-weight:800;color:var(--ink);margin:18px 0 8px;text-transform:uppercase;letter-spacing:.4px;}
.ps-sec-title:first-child{margin-top:0;}
