/* ═══ ¿Requiere compra? — Cotizaciones Artium · Nexia · Porteo (compras-cot.js, 3-oct-2026) ═══
   Todo bajo .cmp-* / #cmpHoja. Colores y medidas de la familia (tokens de ds.css); los botones son los
   .btn de siempre. Celular primero: toques de 46-48 px, campos de 16 px (iOS no hace zoom). */

/* ── Bloque de la ficha (mismo lenguaje que el de la aprobación) ── */
.cmp-bloque{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--borde,#d5dce4);border-left:4px solid #8a94a3;
  border-radius:12px;padding:14px;margin:0 0 12px;text-align:left}
.cmp-bloque.pide{border-left-color:var(--azul,#1c3f60);background:#f7f9fc}
.cmp-bloque.espera{border-left-color:#D68910;background:#fffdf7}
.cmp-bloque.ok{border-left-color:var(--ok,#1a7f4b);background:#f6fbf7}
.cmp-bloque.gris{border-left-color:#9aa5b1;background:#fafbfc}
.cmp-txt b{display:block;font-size:15px;margin-bottom:4px;color:var(--texto,#1a2632)}
.cmp-txt p{margin:4px 0 0;font-size:13.5px;color:#55657a;line-height:1.5}
.cmp-mini{margin:6px 0 0;font-size:12.5px;color:var(--gris,#5c6b7a)}
.cmp-acciones{display:flex;flex-wrap:wrap;gap:8px}
.cmp-acciones>.btn{min-height:46px}
.cmp-chip{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;border-radius:999px;padding:4px 12px;background:var(--azul-cl,#eef2f7);color:var(--azul,#1c3f60)}
.cmp-chip.ok{background:var(--ok-cl,#e8f5ee);color:#1e6b2a}
.cmp-chip.gris{background:var(--gris-cl,#eef1f5);color:#4a5868}
.cmp-avance{margin-top:8px}
.cmp-barra{height:8px;border-radius:999px;background:var(--gris-cl,#eef1f5);overflow:hidden}
.cmp-barra>span{display:block;height:100%;background:var(--ok,#1a7f4b);border-radius:inherit;transition:width .3s}
.cmp-avance small{display:block;margin-top:4px;font-size:12.5px;color:var(--gris,#5c6b7a)}

/* Sello en la tarjeta del tablero */
.cmp-sello{display:inline-block;font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 9px;margin:2px 4px 0 0;background:#fdf3e3;color:#8a5a06}
.cmp-sello.pide{background:var(--azul-cl,#eef2f7);color:var(--azul,#1c3f60)}
.cmp-sello.ok{background:#e6f4ea;color:#1e6b2a}
.cmp-sello.gris{background:var(--gris-cl,#eef1f5);color:#5c6b7a}

/* ── Hoja «Solicitar compra» (encima de la ficha, debajo de los avisos) ── */
body.cmp-sin-scroll{overflow:hidden}
.cmp-fondo{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:20px;background:rgba(15,23,42,.45);animation:dsFondo .15s}
.cmp-hoja{position:relative;display:flex;flex-direction:column;width:min(620px,94vw);max-height:90vh;max-height:90dvh;background:#fff;border-radius:16px;
  box-shadow:var(--sombra-alta,0 16px 40px rgba(15,23,42,.22));animation:dsModal .2s cubic-bezier(.2,.8,.2,1);overflow:hidden;text-align:left;color:var(--texto,#1a2632)}
.cmp-hoja-cab{display:flex;align-items:flex-start;gap:8px;padding:16px 12px 10px 18px;border-bottom:1px solid var(--gris-cl,#eef1f5)}
.cmp-hoja-tit{flex:1;min-width:0}
.cmp-hoja-tit h3{margin:0;font-size:17px;font-weight:700}
.cmp-hoja-tit p{margin:2px 0 0;font-size:13px;color:var(--gris,#5c6b7a);overflow-wrap:anywhere}
.cmp-x{flex:none;width:46px;height:46px;border:none;border-radius:50%;background:none;font-size:18px;color:var(--gris,#5c6b7a);cursor:pointer;display:grid;place-items:center}
.cmp-x:hover{background:var(--gris-cl,#eef1f5);color:var(--texto,#1a2632)}
.cmp-hoja-cuerpo{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:12px 18px 16px}
.cmp-cargando{display:flex;align-items:center;gap:10px;color:var(--gris,#5c6b7a);font-size:14px;padding:18px 0}
.cmp-cargando .spin{border-color:var(--azul,#1c3f60);border-top-color:transparent}
.cmp-intro{margin:0 0 8px;font-size:13.5px;color:#55657a;line-height:1.5}
.cmp-todo{display:flex;gap:4px;margin:0 0 6px}
.cmp-todo .btn.link{min-height:40px;padding:6px 8px}

.cmp-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cmp-item{border:1px solid var(--borde,#d5dce4);border-radius:12px;padding:10px 12px 12px;background:#fff;transition:opacity .15s,background .15s}
.cmp-item.off{background:#f8f9fb}
.cmp-item.off .cmp-item-txt,.cmp-item.off .cmp-ctl,.cmp-item.off .cmp-campos{opacity:.5}
.cmp-item.err{border-color:var(--bad,#b42318);box-shadow:0 0 0 2px var(--bad-cl,#fdeceb)}
.cmp-item-cab{display:flex;align-items:flex-start;gap:10px;min-height:46px;cursor:pointer}
.cmp-item.manual .cmp-item-cab{cursor:default}
.cmp-chk{display:flex;align-items:flex-start;gap:10px;margin:0}
.cmp-item .cmp-chk-in{flex:none;width:24px;height:24px;margin:11px 0;accent-color:var(--azul,#1c3f60);cursor:pointer}
.cmp-item-txt{flex:1;min-width:0;padding:10px 0 0}
.cmp-item-txt b{display:block;font-size:15px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.cmp-det{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px;font-size:13px;color:#55657a;overflow-wrap:anywhere}
.cmp-orig{display:block;margin-top:2px;font-size:12px;color:var(--gris,#5c6b7a)}
.cmp-campos{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding-top:2px}
.cmp-hoja .cmp-campos input{width:100%;min-height:46px;font-size:16px;padding:8px 12px;border:1px solid var(--borde,#d5dce4);border-radius:var(--radio-ctl,10px);background:#fff;color:var(--texto,#1a2632);box-sizing:border-box}
.cmp-quitar{flex:none;width:46px;height:46px;border:1px solid var(--borde,#d5dce4);border-radius:var(--radio-ctl,10px);background:#fff;font-size:17px;cursor:pointer}
.cmp-quitar:hover{border-color:var(--bad,#b42318);background:var(--bad-cl,#fdeceb)}

.cmp-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px;padding-left:34px}
.cmp-cant{display:inline-flex;align-items:stretch;border:1px solid var(--borde,#d5dce4);border-radius:var(--radio-ctl,10px);overflow:hidden;background:#fff}
.cmp-cant button{width:46px;min-height:46px;border:none;background:var(--gris-cl,#eef1f5);font-size:20px;font-weight:600;color:var(--azul,#1c3f60);cursor:pointer}
.cmp-cant button:active{background:#dfe5ec}
.cmp-hoja .cmp-cant input{width:64px;min-height:46px;border:none;border-left:1px solid var(--borde,#d5dce4);border-right:1px solid var(--borde,#d5dce4);border-radius:0;
  text-align:center;font-size:16px;font-weight:600;padding:0 4px;color:var(--texto,#1a2632);background:#fff;box-sizing:border-box}
.cmp-seg{display:inline-flex;flex:1 1 210px;border:1px solid var(--borde,#d5dce4);border-radius:var(--radio-ctl,10px);overflow:hidden;background:#fff}
.cmp-seg button{flex:1;min-height:46px;padding:0 8px;border:none;border-left:1px solid var(--borde,#d5dce4);background:#fff;font:inherit;font-size:13.5px;color:var(--texto,#1a2632);cursor:pointer}
.cmp-seg button:first-child{border-left:none}
.cmp-seg button.on{background:var(--azul,#1c3f60);color:#fff;font-weight:600}

.cmp-agregar{width:100%;min-height:48px;margin-top:12px}
.cmp-switch{position:relative;display:flex;align-items:center;gap:12px;min-height:48px;margin:16px 0 4px;cursor:pointer}
.cmp-switch input{position:absolute;left:0;top:50%;opacity:0;width:1px;height:1px;margin:0}
.cmp-sw{flex:none;position:relative;width:46px;height:28px;border-radius:999px;background:#c3cdd9;transition:background .15s}
.cmp-sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.3);transition:transform .15s}
.cmp-switch input:checked+.cmp-sw{background:var(--ok,#1a7f4b)}
.cmp-switch input:checked+.cmp-sw::after{transform:translateX(18px)}
.cmp-switch input:focus-visible+.cmp-sw{box-shadow:var(--foco,0 0 0 3px rgba(28,63,96,.16))}
.cmp-sw-txt b{display:block;font-size:14.5px;font-weight:600}
.cmp-sw-txt small{display:block;font-size:12.5px;color:var(--gris,#5c6b7a)}
.cmp-notas{display:block;margin-top:12px}
.cmp-notas>span{display:block;font-size:13px;font-weight:600;margin-bottom:4px}
.cmp-notas small{font-weight:400;color:var(--gris,#5c6b7a)}
.cmp-hoja .cmp-notas textarea{width:100%;font-size:16px;padding:10px 12px;border:1px solid var(--borde,#d5dce4);border-radius:var(--radio-ctl,10px);resize:vertical;box-sizing:border-box;font-family:inherit}

.cmp-hoja-pie{padding:10px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--gris-cl,#eef1f5);background:#fff}
.cmp-hoja-err{margin:0 0 8px;font-size:13px;color:var(--bad,#b42318);font-weight:600}
.cmp-hoja-err:empty{display:none}
.cmp-enviar{width:100%;min-height:48px;font-size:15px}

.cmp-hoja :is(input,textarea,button):focus-visible{outline:none;box-shadow:var(--foco,0 0 0 3px rgba(28,63,96,.16))}

@media(max-width:760px){
  .cmp-fondo{place-items:end center;padding:0}
  .cmp-hoja{width:100%;max-width:none;max-height:94vh;max-height:94dvh;border-radius:18px 18px 0 0;animation-name:dsHoja}
  .cmp-hoja-cab{padding:14px 8px 10px 16px}
  .cmp-hoja-cuerpo{padding:12px 16px 16px}
  .cmp-hoja-pie{padding-left:16px;padding-right:16px}
  .cmp-ctl{padding-left:0}
  .cmp-seg{flex-basis:100%}
  .cmp-acciones>.btn{flex:1 1 auto}
}

/* ── Al marcar «Ganada»: qué cotización quedó aceptada + pregunta de compra (3-oct-2026) ── */
.cmp-fondo.hidden{display:none}
.cmp-ofs-caja{margin:0 0 10px;min-width:0}
.cmp-ofs-tit{display:block;font-size:12.5px;font-weight:600;color:#4a5a70;margin:0 0 6px}
.cmp-ofs-tit small{font-weight:400;color:var(--gris)}
.cmp-ofs{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cmp-of{display:flex;align-items:center;gap:10px;border:1px solid var(--borde);border-radius:10px;padding:10px 12px;cursor:pointer;background:#fff;min-height:48px;min-width:0}
.cmp-of.on{border-color:var(--ok);background:var(--ok-cl)}
.cmp-of input{width:20px;height:20px;flex:none;accent-color:var(--ok)}
.cmp-of-txt{flex:1;min-width:0;display:grid}
.cmp-of-txt b{font-size:14px;overflow-wrap:anywhere}
.cmp-of-txt small{font-size:12px;color:var(--gris)}
.cmp-of-val{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13.5px}
.cmp-pregunta{max-width:460px}
