/* ---------- Pulso Ventas → Cotizador ---------- */
.cz-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.cz-top h2{margin:0;font-size:18px;color:var(--navy);font-family:'Bricolage Grotesque',sans-serif;}
.cz-top .cz-sub{font-size:12px;color:var(--text-muted);}
.cz-acciones{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.cz-btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:8px;padding:8px 13px;font-weight:600;font-size:12.5px;cursor:pointer;font-family:'Bricolage Grotesque',sans-serif;letter-spacing:.02em;white-space:nowrap;}
.cz-btn:hover{border-color:var(--cyan);color:var(--cyan-dark);}
.cz-btn:disabled{opacity:.45;cursor:not-allowed;}
.cz-btn.prim{background:var(--cyan);border-color:var(--cyan);color:var(--navy);}
.cz-btn.prim:hover{opacity:.9;color:var(--navy);}
.cz-btn.navy{background:var(--navy);border-color:var(--navy);color:#fff;}
.cz-btn.peligro{color:var(--danger);border-color:#f3c9c9;}
.cz-btn.mini{padding:4px 9px;font-size:11.5px;}
.cz-x{border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:17px;line-height:1;padding:4px 6px;border-radius:6px;}
.cz-x:hover{background:var(--danger-bg);color:var(--danger);}

.cz-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px;}
.cz-kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;}
.cz-kpi .e{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;}
.cz-kpi .v{font-size:20px;font-weight:800;color:var(--navy);margin-top:3px;font-variant-numeric:tabular-nums;}
.cz-kpi .h{font-size:11px;color:var(--text-muted);margin-top:2px;}
.cz-filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
.cz-filtros input,.cz-filtros select{padding:7px 10px;border:1px solid var(--border);border-radius:8px;font-family:'Inter',sans-serif;background:#fff;}
.cz-filtros input{min-width:220px;flex:1;max-width:340px;}
.cz-chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;color:var(--text-muted);}
.cz-chip.on{background:var(--navy);color:#fff;border-color:var(--navy);}
.cz-tabla tbody tr{cursor:pointer;}
.cz-tabla tbody tr:hover td{background:#F7FAFC;}
.cz-tabla td{padding:9px 12px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:top;}
.cz-tabla .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
.cz-tabla .sec{font-size:11.5px;color:var(--text-muted);}
.cz-estado{display:inline-block;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;}
.cz-estado.borrador{background:#EEF2F7;color:#475569;}
.cz-estado.enviada{background:#E0F4FA;color:var(--cyan-dark);}
.cz-estado.aprobada{background:var(--success-bg);color:var(--success);}
.cz-estado.rechazada{background:var(--danger-bg);color:var(--danger);}
.cz-estado.vencida{background:var(--warning-bg);color:var(--warning);}
.cz-margen{display:inline-block;font-weight:700;font-size:12px;padding:2px 8px;border-radius:6px;font-variant-numeric:tabular-nums;}
.cz-margen.verde{background:var(--success-bg);color:var(--success);}
.cz-margen.amarillo{background:var(--warning-bg);color:var(--warning);}
.cz-margen.rojo{background:var(--danger-bg);color:var(--danger);}
.cz-vacio{text-align:center;color:var(--text-muted);padding:30px 10px;font-size:13px;}

/* Editor */
.cz-editor{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start;}
.cz-col-der{position:sticky;top:10px;display:flex;flex-direction:column;gap:12px;}
.cz-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;}
.cz-card > h3{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:8px;}
.cz-card > h3 .cz-sum{font-size:13px;letter-spacing:0;text-transform:none;color:var(--text);font-variant-numeric:tabular-nums;}
.cz-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.cz-grid .s2{grid-column:span 2;}
.cz-grid .s4{grid-column:1/-1;}
.cz-f label{display:block;font-size:10.5px;font-weight:600;color:var(--text-muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.03em;}
.cz-f input,.cz-f select,.cz-f textarea{width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:7px;font-family:'Inter',sans-serif;color:var(--text);background:#fff;}
.cz-f textarea{resize:vertical;min-height:60px;}
.cz-f input:read-only{background:#F4F6F9;}
.cz-seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.cz-seg button{border:none;background:#fff;padding:7px 12px;font-weight:600;font-size:12.5px;cursor:pointer;color:var(--text-muted);}
.cz-seg button.on{background:var(--navy);color:#fff;}
.cz-sugs{position:relative;}
.cz-sugs-lista{position:absolute;left:0;right:0;top:100%;z-index:30;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px rgba(11,31,58,.15);max-height:320px;overflow-y:auto;}
.cz-sug{padding:8px 10px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px;border-bottom:1px solid #F1F4F8;}
.cz-sug:hover,.cz-sug.act{background:#EEF9FC;}
.cz-sug .p{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:12px;white-space:nowrap;}
.cz-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-right:6px;vertical-align:middle;}

.cz-items-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.cz-itab{border:1px solid var(--border);background:#fff;border-radius:9px;padding:7px 11px;cursor:pointer;text-align:left;max-width:240px;}
.cz-itab .n{font-weight:700;font-size:12.5px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cz-itab .m{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;}
.cz-itab.on{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy);}
.cz-itab.add{border-style:dashed;color:var(--cyan-dark);font-weight:700;font-size:12.5px;}

.cz-bloque{border:1px solid var(--border);border-radius:9px;margin-bottom:10px;overflow:hidden;}
.cz-bloque > .hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;background:#F7F9FC;cursor:pointer;user-select:none;}
.cz-bloque > .hd .t{font-weight:700;font-size:12.5px;color:var(--navy);text-transform:uppercase;letter-spacing:.04em;}
.cz-bloque > .hd .s{font-variant-numeric:tabular-nums;font-weight:700;font-size:13px;}
.cz-bloque > .bd{padding:10px 12px;}
.cz-bloque.cerrado > .bd{display:none;}
.cz-quick{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 8px;}
.cz-qbtn{border:1px dashed #B8C4D4;background:#fff;border-radius:999px;padding:5px 10px;font-size:12px;cursor:pointer;color:var(--text);}
.cz-qbtn:hover{border-color:var(--cyan);color:var(--cyan-dark);background:#F2FBFD;}
.cz-qbtn small{color:var(--text-muted);margin-left:4px;}

.cz-lineas{width:100%;border-collapse:collapse;border:none;background:none;border-radius:0;}
.cz-lineas th{background:none !important;color:var(--text-muted) !important;font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;padding:4px 6px;text-align:left;border-bottom:1px solid var(--border);}
.cz-lineas td{padding:5px 6px;border-bottom:1px solid #F1F4F8;font-size:12.5px;vertical-align:middle;}
.cz-lineas td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
.cz-lineas input,.cz-lineas select{width:100%;padding:6px 7px;border:1px solid var(--border);border-radius:6px;font-family:'Inter',sans-serif;background:#fff;}
.cz-lineas input.c{width:70px;text-align:right;}
.cz-lineas input.m{width:110px;text-align:right;}
.cz-lineas .frag{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);margin-top:3px;}
.cz-lineas .frag input{width:56px;padding:3px 5px;font-size:12px;text-align:right;}
.cz-lineas .aviso{color:var(--danger);font-size:11px;}
.cz-stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:7px;overflow:hidden;background:#fff;}
.cz-stepper button{border:none;background:#F4F6F9;width:28px;height:32px;cursor:pointer;font-size:16px;color:var(--navy);}
.cz-stepper input{border:none !important;width:58px !important;text-align:center;border-radius:0 !important;padding:6px 2px !important;}

.cz-precio{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;}
.cz-precio .ref{font-size:11px;color:var(--text-muted);}
.cz-precio .ref b{color:var(--text);font-variant-numeric:tabular-nums;}

/* Resumen derecho */
.cz-total{background:var(--navy);color:#fff;border-radius:var(--radius);padding:14px 16px;}
.cz-total .fila{display:flex;justify-content:space-between;font-size:12.5px;color:#C5D3E6;padding:2px 0;font-variant-numeric:tabular-nums;}
.cz-total .grande{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.18);}
.cz-total .grande span{font-size:12px;color:#C5D3E6;text-transform:uppercase;letter-spacing:.05em;}
.cz-total .grande b{font-size:22px;font-variant-numeric:tabular-nums;}
.cz-rent .fila{display:flex;justify-content:space-between;font-size:12.5px;padding:3px 0;font-variant-numeric:tabular-nums;}
.cz-rent .fila.neg span:last-child{color:var(--text-muted);}
.cz-rent .fila.fuerte{font-weight:700;border-top:1px solid var(--border);margin-top:4px;padding-top:6px;}
.cz-medidor{margin:10px 0 4px;}
.cz-medidor .num{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;}
.cz-medidor .num.verde{color:var(--success);} .cz-medidor .num.amarillo{color:var(--warning);} .cz-medidor .num.rojo{color:var(--danger);}
.cz-barra{position:relative;height:9px;border-radius:5px;background:#EEF2F7;margin-top:6px;}
.cz-barra .fill{position:absolute;left:0;top:0;bottom:0;border-radius:5px;}
.cz-barra .fill.verde{background:var(--success);} .cz-barra .fill.amarillo{background:var(--warning);} .cz-barra .fill.rojo{background:var(--danger);}
.cz-barra .mk{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--navy);}
.cz-barra-lbl{display:flex;justify-content:space-between;font-size:10.5px;color:var(--text-muted);margin-top:4px;}
.cz-dist{display:flex;height:12px;border-radius:6px;overflow:hidden;margin:8px 0 6px;background:#EEF2F7;}
.cz-dist div{height:100%;}
.cz-dist-lista{font-size:12px;}
.cz-dist-lista .fila{display:flex;justify-content:space-between;gap:8px;padding:2px 0;font-variant-numeric:tabular-nums;}
.cz-avisos{background:var(--warning-bg);border:1px solid #F5D9A8;border-radius:8px;padding:8px 10px;font-size:12px;color:#8A4B06;}
.cz-avisos.rojo{background:var(--danger-bg);border-color:#F3C9C9;color:#991B1B;}
.cz-avisos div+div{margin-top:3px;}
.cz-guardado{font-size:11.5px;color:var(--text-muted);}
.cz-guardado.err{color:var(--danger);font-weight:600;}
.cz-bitacora{font-size:11.5px;color:var(--text-muted);max-height:220px;overflow-y:auto;}
.cz-bitacora div{padding:4px 0;border-bottom:1px dashed var(--border);}
.cz-bitacora b{color:var(--text);font-weight:600;}
.cz-compras{width:100%;font-size:12px;border-collapse:collapse;border:none;}
.cz-compras td{padding:4px 4px;border-bottom:1px solid #F1F4F8;}
.cz-compras td.num{text-align:right;font-variant-numeric:tabular-nums;}
.cz-minibar{display:none;}

/* Catálogo */
.cz-cat-tabla td{vertical-align:middle;padding:5px 8px;border-bottom:1px solid var(--border);font-size:12.5px;}
.cz-cat-tabla input{width:100%;padding:5px 7px;border:1px solid transparent;border-radius:6px;font-family:'Inter',sans-serif;background:transparent;}
.cz-cat-tabla input:hover{border-color:var(--border);}
.cz-cat-tabla input:focus{border-color:var(--cyan);background:#fff;}
.cz-cat-tabla input.m{text-align:right;max-width:120px;}
.cz-cat-tabla .viejo{color:var(--warning);font-weight:600;}
.cz-cat-tabla tr.inactivo td{opacity:.45;}
.cz-param-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}

@media (max-width:1100px){
  .cz-kpis{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:900px){
  .cz-editor{grid-template-columns:1fr;}
  .cz-col-der{position:static;}
  .cz-grid,.cz-precio,.cz-param-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cz-minibar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--navy);color:#fff;padding:10px 16px;justify-content:space-between;align-items:center;font-variant-numeric:tabular-nums;box-shadow:0 -6px 20px rgba(0,0,0,.2);}
  .cz-minibar b{font-size:16px;}
  .cz-editor{padding-bottom:60px;}
}
@media (max-width:640px){
  .cz-kpis{grid-template-columns:repeat(2,1fr);}
  .cz-filtros input{min-width:0;max-width:none;width:100%;}
  .cz-lineas thead{display:none;}
  .cz-lineas tr{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:8px 0;border-bottom:1px solid var(--border);}
  .cz-lineas td{border:none;padding:2px 0;}
  .cz-lineas td.full{grid-column:1/-1;}
}
