/* NS POS Control Interno · Módulo Proveedores */
.pv-page{display:flex;flex-direction:column;gap:14px}
.pv-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;flex-wrap:wrap}
.pv-head h2{margin:0 0 4px;font-size:22px}.pv-head p{margin:0;color:#64748b;font-size:13px}
.pv-head-acc{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pv-muted{color:#64748b}.pv-small{font-size:12px;margin:8px 0 0}.pv-txt-warn{color:#b45309!important}
.pv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.pv-kpi{display:flex;flex-direction:column;gap:2px;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 16px;cursor:pointer;transition:border-color .15s,box-shadow .15s;font:inherit}
.pv-kpi:hover{border-color:#93c5fd;box-shadow:0 4px 14px rgba(37,99,235,.10)}
.pv-kpi span{font-size:12px;font-weight:700;color:#475569}.pv-kpi strong{font-size:24px;color:#0f172a}.pv-kpi small{font-size:12px;color:#64748b}
.pv-kpi-warn{border-left:4px solid #f59e0b}
.pv-toolbar{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr));gap:10px;align-items:end;margin-bottom:12px}
.pv-toolbar label,.pv-f label{display:block;font-size:12px;font-weight:700;color:#334155;margin:0 0 5px}
.pv-toolbar input,.pv-toolbar select,.pv-f input,.pv-f select,.pv-ficha-body textarea,.pv-modal-form textarea{width:100%;box-sizing:border-box;height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:0 12px;background:#fff;font:inherit;font-size:14px}
.pv-ficha-body textarea,.pv-modal-form textarea{height:auto;padding:10px 12px;resize:vertical}
.pv-tabla-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:12px}
.pv-tabla{width:100%;border-collapse:collapse;font-size:14px}
.pv-tabla th{position:sticky;top:0;background:#f8fafc;color:#475569;font-size:12px;font-weight:700;text-align:left;padding:10px 12px;border-bottom:1px solid #e2e8f0;white-space:nowrap}
.pv-tabla td{padding:11px 12px;border-bottom:1px solid #f1f5f9;vertical-align:top}
.pv-tabla tr:last-child td{border-bottom:0}
.pv-tabla .r{text-align:right}.pv-tabla .nw{white-space:nowrap}
.pv-fila{cursor:pointer}.pv-fila:hover td{background:#f8fbff}
.pv-fila-inactivo td{opacity:.6}.pv-fila-bloqueado td:first-child{box-shadow:inset 3px 0 #dc2626}
.pv-nombre{font-weight:700;color:#0f172a}
.pv-links{display:flex;flex-wrap:wrap;gap:4px 10px}.pv-links a{color:#1d4ed8;text-decoration:none}.pv-links a:hover{text-decoration:underline}
.pv-acc button+button{margin-left:6px}
.pv-vacio{text-align:center;color:#64748b;padding:28px!important}
.pv-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;vertical-align:middle;margin-left:4px}
.pv-bloqueado{background:#fee2e2;color:#b91c1c}.pv-inactivo{background:#e2e8f0;color:#475569}
.pv-chip{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:#e0e7ff;color:#3730a3;margin:0 4px 2px 0;white-space:nowrap}
.pv-chip-warn{background:#fef3c7;color:#92400e}.pv-chip-ok{background:#dcfce7;color:#166534}
.pv-stars{color:#f59e0b;letter-spacing:1px}.pv-stars span{color:#cbd5e1}
/* modales */
.pv-overlay{z-index:9000}
.pv-modal-form{max-width:900px!important;width:min(900px,calc(100vw - 32px))}
.pv-modal-ficha{max-width:none!important;width:min(1150px,calc(100vw - 32px));max-height:calc(100vh - 32px)!important;display:flex;flex-direction:column}
.pv-modal-form .ns-modal-header p{margin:4px 0 0;font-size:12px}
.pv-sec{margin:18px 0 10px;font-size:13px;color:#1e3a8a;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0;padding-bottom:6px}
.pv-sec:first-child{margin-top:4px}
.pv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.pv-hint{font-size:12px;display:block;margin-top:3px}.pv-hint.ok{color:#15803d}.pv-hint.err{color:#b91c1c}
.pv-nota{font-size:13px;color:#475569;background:#f1f5f9;border-radius:8px;padding:8px 12px}
.pv-error{margin-top:12px;background:#fee2e2;color:#991b1b;border-radius:10px;padding:10px 12px;font-size:14px}
.pv-ficha-head{gap:14px;align-items:flex-start!important;flex-wrap:wrap}
.pv-avatar{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);color:#fff;font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.pv-ficha-tit{flex:1;min-width:220px}.pv-ficha-tit h3{font-size:19px!important}.pv-ficha-tit p{margin:4px 0 0;color:#475569;font-size:13px}
.pv-estado-sel{height:38px;border:1px solid #cbd5e1;border-radius:10px;padding:0 8px;background:#fff;font:inherit;font-size:13px}
.pv-alerta{background:#fee2e2;color:#991b1b;padding:10px 20px;font-size:14px;font-weight:600}
.pv-alerta-gris{background:#f1f5f9;color:#475569}
.pv-tabs{display:flex;gap:4px;padding:0 16px;border-bottom:1px solid #e2e8f0;overflow-x:auto;flex:0 0 auto}
.pv-tabs button{border:0;background:none;padding:12px 14px;font:inherit;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}
.pv-tabs button.on{color:#1d4ed8;border-bottom-color:#1d4ed8}
.pv-ficha-body{overflow:auto;flex:1;background:#f8fafc}
.pv-inds{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;margin-bottom:14px}
.pv-ind{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.pv-ind span{font-size:12px;font-weight:700;color:#475569}.pv-ind strong{font-size:20px}.pv-ind small{font-size:12px;color:#64748b}
.pv-ind-ok{border-left:4px solid #16a34a}.pv-ind-warn{border-left:4px solid #f59e0b}
.pv-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.pv-box{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px}
.pv-box h4{margin:0 0 10px;font-size:14px;display:flex;justify-content:space-between;align-items:center}
.pv-obs{margin-top:12px}.pv-obs p{margin:0;font-size:14px;color:#334155}
.pv-dato{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed #e2e8f0;font-size:14px}
.pv-dato:last-child{border-bottom:0}.pv-dato span{color:#64748b}.pv-dato b{text-align:right;font-weight:600;word-break:break-word}
.pv-chart{display:flex;align-items:flex-end;gap:6px;height:130px;padding-top:6px}
.pv-chart>div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.pv-chart i{display:block;width:100%;max-width:26px;min-height:2px;background:linear-gradient(#3b82f6,#1d4ed8);border-radius:5px 5px 0 0}
.pv-chart span{font-size:10px;color:#64748b;margin-top:4px}
.pv-mini{padding:4px 10px!important;font-size:12px!important;min-height:0!important;height:auto!important}
.pv-acciones{display:flex;gap:8px;justify-content:flex-end;margin-top:10px;flex-wrap:wrap}.pv-izq{justify-content:flex-start;margin:0 0 12px}
.pv-check{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:14px}
.pv-cform{margin-bottom:12px;border-color:#93c5fd}
.pv-contactos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.pv-contacto{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.pv-contacto.principal{border-color:#93c5fd;box-shadow:inset 3px 0 #1d4ed8}
.pv-contacto-h{display:flex;justify-content:space-between;align-items:center;gap:6px}
.pv-aviso-rep{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:#fef3c7;color:#92400e;border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:14px;font-weight:600}
.pv-tabla-sm{background:#fff}
.pv-est{font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px;background:#e2e8f0;color:#334155}
.pv-est-aceptada{background:#dcfce7;color:#166534}.pv-est-enviada{background:#dbeafe;color:#1e40af}.pv-est-anulada,.pv-est-rechazada{background:#fee2e2;color:#991b1b}
.pv-rate-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px;gap:10px}
.pv-total{border-top:1px solid #e2e8f0;margin-top:4px;padding-top:10px;font-weight:700}
.pv-rate button{border:0;background:none;font-size:24px;line-height:1;color:#cbd5e1;cursor:pointer;padding:0 2px}
.pv-rate button.on{color:#f59e0b}
@media(max-width:900px){.pv-toolbar{grid-template-columns:1fr 1fr}.pv-buscar{grid-column:1/-1}}
@media(max-width:560px){.pv-toolbar{grid-template-columns:1fr}.pv-head-acc{width:100%}.pv-head-acc button{flex:1}}
.pv-kpi{align-items:flex-start;text-align:left!important}
.pv-modal-form{display:flex;flex-direction:column;max-height:calc(100vh - 32px)!important;overflow:hidden!important}
.pv-modal-form .ns-modal-body{overflow:auto;flex:1}
.pv-modal-ficha{overflow:hidden!important}
.pv-ficha-head .pv-head-acc{flex-wrap:nowrap}
.pv-ficha-head .pv-estado-sel{width:auto!important;min-width:150px;max-width:190px}
@media(max-width:900px){.pv-ficha-head .pv-head-acc{flex-wrap:wrap}}
