/* ============================================================
   DANGOFE OS · Taller · COMPRAS (compra del taller, compra del técnico con devolución, 606)
   Prototipo de pantallas, 3 versiones (html[data-cv="1|2|3"]), con los mismos tokens
   del panel «Tablero» aprobado (.tal-wrap.tp). Prefijos: tal-compra- (administradora)
   y ptx-compra- (técnico). Claro sin sombras · Noche azul con bordes de luz.
   ============================================================ */
.tal-wrap.tp .tal-compra { display: flex; flex-direction: column; gap: 12px; }
.tal-wrap.tp .tal-compra-card { background: var(--tp-card); border: 1px solid var(--tp-borde); border-radius: var(--tp-r); padding: 14px 16px; -webkit-backdrop-filter: blur(var(--tp-blur)); backdrop-filter: blur(var(--tp-blur)); }
.tal-wrap.tp .tal-compra-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.tal-wrap.tp .tal-compra-head h3 { margin: 0; font-size: 15px; font-weight: 800; display: flex; align-items: center; gap: 8px; }
.tal-wrap.tp .tal-compra-head h3 svg { width: 16px; height: 16px; color: var(--tp-azul); }
.tal-wrap.tp .tal-compra-head .tal-compra-sub { font-size: 12.5px; color: var(--tp-txt2); width: 100%; margin-top: -4px; }
.tal-wrap.tp .tal-compra-tools { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
/* pendientes de compras: pastillas con número */
.tal-wrap.tp .tal-compra-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tal-wrap.tp .tal-compra-chip { display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; padding: 7px 12px; font-size: 12.5px; font-weight: 600; border: 1px solid var(--tp-borde2); background: var(--tp-card3); color: var(--tp-txt); cursor: pointer; }
.tal-wrap.tp .tal-compra-chip b { font-weight: 800; font-size: 13.5px; }
.tal-wrap.tp .tal-compra-chip svg { width: 14px; height: 14px; }
.tal-wrap.tp .tal-compra-chip--amb { background: rgba(var(--tp-amb), .14); border-color: rgba(var(--tp-amb), .45); color: #92400e; }
.tal-wrap.tp .tal-compra-chip--roj { background: rgba(var(--tp-roj), .12); border-color: rgba(var(--tp-roj), .4); color: #b91c1c; }
.tal-wrap.tp .tal-compra-chip--ver { background: rgba(var(--tp-ver), .12); border-color: rgba(var(--tp-ver), .4); color: #15803d; }
.tal-wrap.tp .tal-compra-chip--az { background: rgba(var(--tp-cel), .12); border-color: rgba(var(--tp-cel), .4); color: var(--tp-azul); }
.tal-wrap.tp .tal-compra-chip.is-on { outline: 2px solid rgba(var(--tp-cel), .6); outline-offset: 1px; }
[data-theme='dark'] .tal-wrap.tp .tal-compra-chip--amb { color: #fcd34d; } [data-theme='dark'] .tal-wrap.tp .tal-compra-chip--roj { color: #fca5a5; } [data-theme='dark'] .tal-wrap.tp .tal-compra-chip--ver { color: #86efac; }
/* estados */
.tal-wrap.tp .tal-compra-est { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; padding: 3px 9px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.tal-wrap.tp .tal-compra-est::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.tal-wrap.tp .tal-compra-est--revisar { background: rgba(var(--tp-amb), .16); color: #b45309; }
.tal-wrap.tp .tal-compra-est--devolver { background: rgba(var(--tp-mor), .16); color: #6d28d9; }
.tal-wrap.tp .tal-compra-est--aprobada { background: rgba(var(--tp-ver), .16); color: #15803d; }
.tal-wrap.tp .tal-compra-est--devuelta { background: rgba(var(--tp-cel), .16); color: var(--tp-azul); }
.tal-wrap.tp .tal-compra-est--rechazada, .tal-wrap.tp .tal-compra-est--anulada { background: rgba(var(--tp-roj), .14); color: #b91c1c; }
[data-theme='dark'] .tal-wrap.tp .tal-compra-est--revisar { color: #fcd34d; } [data-theme='dark'] .tal-wrap.tp .tal-compra-est--devolver { color: #c4b5fd; } [data-theme='dark'] .tal-wrap.tp .tal-compra-est--aprobada { color: #86efac; } [data-theme='dark'] .tal-wrap.tp .tal-compra-est--rechazada, [data-theme='dark'] .tal-wrap.tp .tal-compra-est--anulada { color: #fca5a5; }
.tal-wrap.tp .tal-compra-tag { display: inline-flex; align-items: center; gap: 4px; border-radius: 999px; padding: 2px 8px; font-size: 10.5px; font-weight: 800; letter-spacing: .04em; border: 1px solid var(--tp-borde2); color: var(--tp-txt2); }
.tal-wrap.tp .tal-compra-tag--sin { border-color: rgba(var(--tp-amb), .5); color: #92400e; } [data-theme='dark'] .tal-wrap.tp .tal-compra-tag--sin { color: #fcd34d; }
.tal-wrap.tp .tal-compra-tag--606 { border-color: rgba(var(--tp-ver), .5); color: #15803d; } [data-theme='dark'] .tal-wrap.tp .tal-compra-tag--606 { color: #86efac; }
/* filtros */
.tal-wrap.tp .tal-compra-filtros { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 10px; }
.tal-wrap.tp .tal-compra-filtro { font-size: 12px; font-weight: 600; padding: 5px 10px; border-radius: 999px; border: 1px solid var(--tp-borde2); background: var(--tp-card3); color: var(--tp-txt); cursor: pointer; display: inline-flex; gap: 5px; align-items: center; }
.tal-wrap.tp .tal-compra-filtro .n { font-size: 10.5px; font-weight: 800; border-radius: 999px; padding: 1px 6px; background: rgba(var(--tp-cel), .14); color: var(--tp-azul); }
.tal-wrap.tp .tal-compra-filtro.is-on { background: rgb(var(--tp-az)); color: #fff; border-color: transparent; } .tal-wrap.tp .tal-compra-filtro.is-on .n { background: rgba(255,255,255,.22); color: #fff; }
/* tabla de compras (V1 y V3) */
.tal-wrap.tp .tal-compra-th, .tal-wrap.tp .tal-compra-fila { display: grid; grid-template-columns: 112px 92px minmax(140px, 1.4fr) minmax(110px, 1fr) 110px 150px 22px; gap: 10px; align-items: center; }
.tal-wrap.tp .tal-compra-th { padding: 4px 10px 7px; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--tp-txt3); border-bottom: 1px solid var(--tp-borde); }
.tal-wrap.tp .tal-compra-th > span:nth-child(5) { text-align: right; }
.tal-wrap.tp .tal-compra-fila { padding: 9px 10px; border-radius: 10px; border: 0; border-bottom: 1px solid var(--tp-borde); background: transparent; width: 100%; text-align: left; color: var(--tp-txt); cursor: pointer; font: inherit; min-height: 46px; }
.tal-wrap.tp .tal-compra-fila:last-child { border-bottom: 0; }
.tal-wrap.tp .tal-compra-fila:hover, .tal-wrap.tp .tal-compra-fila.is-on { background: rgba(var(--tp-cel), .08); }
.tal-wrap.tp .tal-compra-fila__num { font-weight: 800; color: var(--tp-azul); font-size: 12.5px; }
.tal-wrap.tp .tal-compra-fila__fecha { font-size: 12.5px; color: var(--tp-txt2); }
.tal-wrap.tp .tal-compra-fila__prov { display: flex; flex-direction: column; min-width: 0; }
.tal-wrap.tp .tal-compra-fila__prov b { font-weight: 700; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tal-wrap.tp .tal-compra-fila__prov small { font-size: 11.5px; color: var(--tp-txt3); }
.tal-wrap.tp .tal-compra-fila__quien { font-size: 12.5px; display: inline-flex; gap: 5px; align-items: center; }
.tal-wrap.tp .tal-compra-fila__quien svg { width: 13px; height: 13px; color: var(--tp-txt3); }
.tal-wrap.tp .tal-compra-fila__total { text-align: right; font-weight: 800; font-size: 13px; }
.tal-wrap.tp .tal-compra-fila__est { display: flex; gap: 4px; flex-wrap: wrap; }
.tal-wrap.tp .tal-compra-fila__go { color: var(--tp-txt3); display: grid; place-items: center; }
.tal-wrap.tp .tal-compra-fila__go svg { width: 14px; height: 14px; }
/* tarjetas (V2) */
.tal-wrap.tp .tal-compra-grupos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
.tal-wrap.tp .tal-compra-grupo__tit { font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--tp-txt3); margin: 0 4px 8px; display: flex; justify-content: space-between; }
.tal-wrap.tp .tal-compra-tarjeta { display: block; width: 100%; text-align: left; font: inherit; color: var(--tp-txt); border: 1px solid var(--tp-borde); border-radius: 14px; background: var(--tp-card3); padding: 11px 12px; cursor: pointer; margin-bottom: 8px; transition: transform .3s, border-color .3s; }
.tal-wrap.tp .tal-compra-tarjeta:hover, .tal-wrap.tp .tal-compra-tarjeta.is-on { transform: translateY(-2px); border-color: rgba(var(--tp-cel), .5); }
.tal-wrap.tp .tal-compra-tarjeta__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 4px; }
.tal-wrap.tp .tal-compra-tarjeta__top b { font-weight: 800; color: var(--tp-azul); font-size: 12.5px; }
.tal-wrap.tp .tal-compra-tarjeta__prov { font-weight: 700; font-size: 13.5px; }
.tal-wrap.tp .tal-compra-tarjeta__sub { font-size: 12px; color: var(--tp-txt2); margin-top: 2px; display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.tal-wrap.tp .tal-compra-tarjeta__total { font-size: 17px; font-weight: 800; margin-top: 6px; letter-spacing: -.01em; }
.tal-wrap.tp .tal-compra-tarjeta__tags { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 6px; }
/* bandeja (V3): lista + detalle */
.tal-wrap.tp .tal-compra-bandeja { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 12px; align-items: start; }
/* detalle */
.tal-wrap.tp .tal-compra-det__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.tal-wrap.tp .tal-compra-det__num { font-size: 19px; font-weight: 800; letter-spacing: .02em; }
.tal-wrap.tp .tal-compra-det__strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--tp-borde); border-radius: 14px; background: var(--tp-card2); overflow: hidden; margin-bottom: 10px; }
.tal-wrap.tp .tal-compra-det__cell { padding: 10px 12px; border-left: 1px solid var(--tp-borde); min-width: 0; }
.tal-wrap.tp .tal-compra-det__cell:first-child { border-left: 0; }
.tal-wrap.tp .tal-compra-det__cell b { display: block; font-size: 14px; font-weight: 800; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tal-wrap.tp .tal-compra-det__cell small { display: block; font-size: 11.5px; color: var(--tp-txt2); }
.tal-wrap.tp .tal-compra-lineas { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.tal-wrap.tp .tal-compra-lineas th { text-align: left; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--tp-txt3); padding: 4px 8px 7px; border-bottom: 1px solid var(--tp-borde); }
.tal-wrap.tp .tal-compra-lineas td { padding: 8px; border-bottom: 1px solid var(--tp-borde); vertical-align: middle; }
.tal-wrap.tp .tal-compra-lineas tr:last-child td { border-bottom: 0; }
.tal-wrap.tp .tal-compra-lineas .r { text-align: right; font-variant-numeric: tabular-nums; }
.tal-wrap.tp .tal-compra-lineas .tal-compra-inv { font-size: 11px; font-weight: 800; color: #15803d; display: inline-flex; gap: 4px; align-items: center; } [data-theme='dark'] .tal-wrap.tp .tal-compra-lineas .tal-compra-inv { color: #86efac; }
.tal-wrap.tp .tal-compra-lineas .tal-compra-inv svg { width: 12px; height: 12px; }
.tal-wrap.tp .tal-compra-total { display: flex; justify-content: flex-end; gap: 18px; padding: 10px 8px 0; font-size: 13px; }
.tal-wrap.tp .tal-compra-total b { font-size: 16px; font-weight: 800; }
.tal-wrap.tp .tal-compra-arch { display: flex; align-items: center; gap: 10px; border: 1px dashed var(--tp-borde2); border-radius: 12px; padding: 10px 12px; margin-top: 10px; font-size: 12.5px; }
.tal-wrap.tp .tal-compra-arch__ico { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--tp-tile); color: var(--tp-azul); flex: none; }
.tal-wrap.tp .tal-compra-arch__ico svg { width: 18px; height: 18px; }
.tal-wrap.tp .tal-compra-arch b { display: block; font-size: 13px; }
.tal-wrap.tp .tal-compra-arch small { color: var(--tp-txt2); }
.tal-wrap.tp .tal-compra-arch--falta { border-color: rgba(var(--tp-amb), .55); background: rgba(var(--tp-amb), .07); }
.tal-wrap.tp .tal-compra-acciones { position: sticky; bottom: 8px; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 12px; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--tp-borde2); background: var(--tp-card); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.tal-wrap.tp .tal-compra-acciones .tal-compra-info { font-size: 12.5px; color: var(--tp-txt2); flex: 1 1 200px; }
.tal-wrap.tp .tal-compra-acciones .tal-btn--primary { margin-left: auto; }
.tal-wrap.tp .tal-compra-paso { display: flex; gap: 8px; align-items: center; font-size: 12.5px; color: var(--tp-txt2); flex-wrap: wrap; margin: 0 0 10px; }
.tal-wrap.tp .tal-compra-paso i { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-weight: 800; font-size: 11.5px; border: 2px solid var(--tp-borde2); }
.tal-wrap.tp .tal-compra-paso i.is-on { background: rgb(var(--tp-az)); border-color: transparent; color: #fff; }
.tal-wrap.tp .tal-compra-paso i.is-ok { background: rgba(var(--tp-ver), .16); border-color: rgba(var(--tp-ver), .6); color: #15803d; }
/* formulario */
.tal-wrap.tp .tal-compra-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.tal-wrap.tp .tal-compra-form .ancho { grid-column: 1 / -1; }
.tal-wrap.tp .tal-compra-campo { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; min-width: 0; }
.tal-wrap.tp .tal-compra-campo > span { font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--tp-txt3); }
.tal-wrap.tp .tal-compra-campo input, .tal-wrap.tp .tal-compra-campo select, .tal-wrap.tp .tal-compra-campo textarea { padding: 8px 10px; font-size: 13px; border-radius: 12px; border: 1px solid var(--tp-borde2); background: var(--tp-card3); color: var(--tp-txt); font-family: inherit; width: 100%; box-sizing: border-box; }
.tal-wrap.tp .tal-compra-campo small { font-size: 11.5px; color: var(--tp-txt3); }
.tal-wrap.tp .tal-compra-campo small.ok { color: #15803d; } [data-theme='dark'] .tal-wrap.tp .tal-compra-campo small.ok { color: #86efac; }
.tal-wrap.tp .tal-compra-renglones { border: 1px solid var(--tp-borde); border-radius: 14px; background: var(--tp-card2); padding: 10px 12px; }
.tal-wrap.tp .tal-compra-renglon { display: grid; grid-template-columns: minmax(0, 2fr) 70px 110px 110px 28px; gap: 8px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--tp-borde); }
.tal-wrap.tp .tal-compra-renglon:last-of-type { border-bottom: 0; }
.tal-wrap.tp .tal-compra-renglon input { width: 100%; box-sizing: border-box; padding: 7px 9px; font-size: 12.5px; border-radius: 10px; border: 1px solid var(--tp-borde2); background: var(--tp-card3); color: var(--tp-txt); font-family: inherit; }
.tal-wrap.tp .tal-compra-renglon .r { text-align: right; font-weight: 800; font-size: 12.5px; }
.tal-wrap.tp .tal-compra-renglon__inv { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; }
.tal-wrap.tp .tal-compra-renglon__inv input { width: 16px; height: 16px; padding: 0; }
.tal-wrap.tp .tal-compra-renglones__cab { display: grid; grid-template-columns: minmax(0, 2fr) 70px 110px 110px 28px; gap: 8px; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--tp-txt3); padding: 0 0 6px; }
.tal-wrap.tp .tal-compra-renglones__cab > span:nth-child(3), .tal-wrap.tp .tal-compra-renglones__cab > span:nth-child(4) { text-align: right; }
.tal-wrap.tp .tal-compra-subir { border: 1px dashed rgba(var(--tp-cel), .55); border-radius: 14px; padding: 14px; text-align: center; background: rgba(var(--tp-cel), .05); cursor: pointer; }
.tal-wrap.tp .tal-compra-subir b { display: block; font-size: 13.5px; }
.tal-wrap.tp .tal-compra-subir small { color: var(--tp-txt2); }
.tal-wrap.tp .tal-compra-subir svg { width: 22px; height: 22px; color: var(--tp-azul); }
.tal-wrap.tp .tal-compra-aviso { border-radius: 12px; padding: 9px 12px; font-size: 12.5px; background: rgba(var(--tp-amb), .12); border: 1px solid rgba(var(--tp-amb), .4); color: #92400e; display: flex; gap: 8px; align-items: center; }
[data-theme='dark'] .tal-wrap.tp .tal-compra-aviso { color: #fcd34d; }
.tal-wrap.tp .tal-compra-aviso svg { width: 14px; height: 14px; flex: none; }
.tal-wrap.tp .tal-compra-aviso--ok { background: rgba(var(--tp-ver), .12); border-color: rgba(var(--tp-ver), .4); color: #15803d; } [data-theme='dark'] .tal-wrap.tp .tal-compra-aviso--ok { color: #86efac; }
/* hoja lateral (V1) */
.tal-wrap.tp .tal-compra-hoja { position: fixed; top: 0; right: 0; bottom: 0; width: min(560px, 100%); z-index: 1200; background: var(--tp-card); border-left: 1px solid var(--tp-borde2); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); padding: 16px; overflow: auto; transform: translateX(100%); transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.tal-wrap.tp .tal-compra-hoja.is-on { transform: none; }
.tal-wrap.tp .tal-compra-velo { position: fixed; inset: 0; z-index: 1199; background: rgba(3,8,24,.35); opacity: 0; pointer-events: none; transition: opacity .3s; }
.tal-wrap.tp .tal-compra-velo.is-on { opacity: 1; pointer-events: auto; }
@media (max-width: 720px) { .tal-wrap.tp .tal-compra-hoja { top: auto; left: 0; width: 100%; max-height: 92vh; border-left: 0; border-top: 1px solid var(--tp-borde2); border-radius: 22px 22px 0 0; transform: translateY(100%); } .tal-wrap.tp .tal-compra-hoja.is-on { transform: none; } }
/* vacío */
.tal-wrap.tp .tal-compra-vacio { padding: 26px 12px; text-align: center; color: var(--tp-txt2); font-size: 13px; }
/* ---------- técnico (Mi mesa) ---------- */
.pt-wrap.pm .ptx-compra { display: flex; flex-direction: column; gap: 10px; }
.pt-wrap.pm .ptx-compra__resumen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pt-wrap.pm .ptx-compra__kpi { border-radius: 16px; padding: 10px 12px; background: var(--pm-suave, rgba(255,255,255,.6)); border: 1px solid var(--pm-borde, rgba(3,38,155,.12)); }
.pt-wrap.pm .ptx-compra__kpi b { display: block; font-size: 18px; font-weight: 800; }
.pt-wrap.pm .ptx-compra__kpi span { font-size: 11.5px; color: var(--text-secondary); }
.pt-wrap.pm .ptx-compra__subir { display: flex; align-items: center; gap: 12px; border-radius: 18px; padding: 14px; background: linear-gradient(135deg, #03269b, #1d4ed8); color: #fff; border: 0; width: 100%; text-align: left; font: inherit; cursor: pointer; }
.pt-wrap.pm .ptx-compra__subir b { display: block; font-size: 15px; font-weight: 800; }
.pt-wrap.pm .ptx-compra__subir small { opacity: .85; font-size: 12px; }
.pt-wrap.pm .ptx-compra__subir svg { width: 26px; height: 26px; flex: none; }
.pt-wrap.pm .ptx-compra__it { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 11px 12px; border-radius: 16px; background: var(--pm-suave, rgba(255,255,255,.6)); border: 1px solid var(--pm-borde, rgba(3,38,155,.12)); }
.pt-wrap.pm .ptx-compra__it b { font-size: 13.5px; font-weight: 800; display: block; }
.pt-wrap.pm .ptx-compra__it small { font-size: 11.5px; color: var(--text-secondary); display: block; }
.pt-wrap.pm .ptx-compra__it .monto { font-weight: 800; font-size: 14px; text-align: right; }
.pt-wrap.pm .ptx-compra__ico { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: rgba(59,130,246,.14); color: #0b3dd6; }
.pt-wrap.pm .ptx-compra__ico svg { width: 20px; height: 20px; }
.pt-wrap.pm .ptx-compra__pasos { display: flex; gap: 6px; align-items: center; font-size: 11px; font-weight: 700; color: var(--text-secondary); margin-top: 4px; flex-wrap: wrap; }
.pt-wrap.pm .ptx-compra__pasos i { font-style: normal; border-radius: 999px; padding: 2px 8px; border: 1px solid var(--pm-borde, rgba(3,38,155,.15)); }
.pt-wrap.pm .ptx-compra__pasos i.is-ok { background: rgba(34,197,94,.14); color: #15803d; border-color: transparent; }
.pt-wrap.pm .ptx-compra__pasos i.is-on { background: #03269b; color: #fff; border-color: transparent; }
/* tamaños */
@media (max-width: 1000px) {
  .tal-wrap.tp .tal-compra-grupos { grid-template-columns: minmax(0, 1fr); }
  .tal-wrap.tp .tal-compra-bandeja { grid-template-columns: minmax(0, 1fr); }
  .tal-wrap.tp .tal-compra-det__strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tal-wrap.tp .tal-compra-det__cell:nth-child(3) { border-left: 0; } .tal-wrap.tp .tal-compra-det__cell:nth-child(n+3) { border-top: 1px solid var(--tp-borde); }
  .tal-wrap.tp .tal-compra-th, .tal-wrap.tp .tal-compra-fila { grid-template-columns: 104px minmax(120px, 1.3fr) minmax(100px, 1fr) 104px 22px; }
  .tal-wrap.tp .tal-compra-th > span:nth-child(2), .tal-wrap.tp .tal-compra-fila__fecha, .tal-wrap.tp .tal-compra-th > span:nth-child(6), .tal-wrap.tp .tal-compra-fila__est { display: none; }
}
@media (max-width: 720px) {
  .tal-wrap.tp .tal-compra-th { display: none; }
  .tal-wrap.tp .tal-compra-fila { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "num total" "prov total" "quien est"; gap: 2px 10px; }
  .tal-wrap.tp .tal-compra-fila__num { grid-area: num; } .tal-wrap.tp .tal-compra-fila__prov { grid-area: prov; } .tal-wrap.tp .tal-compra-fila__quien { grid-area: quien; } .tal-wrap.tp .tal-compra-fila__total { grid-area: total; align-self: start; } .tal-wrap.tp .tal-compra-fila__est { grid-area: est; display: flex; justify-content: flex-end; } .tal-wrap.tp .tal-compra-fila__go { display: none; }
  .tal-wrap.tp .tal-compra-form { grid-template-columns: minmax(0, 1fr); }
  .tal-wrap.tp .tal-compra-renglones__cab { display: none; }
  .tal-wrap.tp .tal-compra-renglon { grid-template-columns: minmax(0, 1fr) 64px 96px 28px; grid-template-areas: "desc cant costo x" "inv inv sub sub"; }
  .tal-wrap.tp .tal-compra-renglon > :nth-child(1) { grid-area: desc; } .tal-wrap.tp .tal-compra-renglon > :nth-child(2) { grid-area: cant; } .tal-wrap.tp .tal-compra-renglon > :nth-child(3) { grid-area: costo; } .tal-wrap.tp .tal-compra-renglon > :nth-child(4) { grid-area: sub; } .tal-wrap.tp .tal-compra-renglon > :nth-child(5) { grid-area: x; } .tal-wrap.tp .tal-compra-renglon > :nth-child(6) { grid-area: inv; }
  .pt-wrap.pm .ptx-compra__resumen { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- ajustes tras la primera captura ---------- */
.tal-wrap.tp .tal-compra-hoja .tal-compra-det__cell b, .tal-wrap.tp .tal-compra-bandeja .tal-compra-det__cell b { white-space: normal; }
.tal-wrap.tp .tal-compra-hoja .tal-compra-det__strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tal-wrap.tp .tal-compra-hoja .tal-compra-det__cell:nth-child(3) { border-left: 0; } .tal-wrap.tp .tal-compra-hoja .tal-compra-det__cell:nth-child(n+3) { border-top: 1px solid var(--tp-borde); }
.tal-wrap.tp .tal-compra-form + .tal-compra-acciones, .tal-wrap.tp .tal-compra-paso ~ .tal-compra-acciones { position: static; }
.tal-wrap.tp .tal-compra-hoja .tal-compra-acciones { position: sticky; }

/* ---------- compra inteligente: leer la factura al subirla (Karla, 2026-10-13) ---------- */
.tal-wrap.tp .tal-compra-leyendo { display: flex; align-items: center; gap: 12px; border: 1px solid rgba(var(--tp-cel), .45); border-radius: 14px; padding: 12px 14px; background: rgba(var(--tp-cel), .07); font-size: 12.5px; }
.tal-wrap.tp .tal-compra-leyendo > div { flex: 1 1 auto; min-width: 0; }
.tal-wrap.tp .tal-compra-leyendo b { display: block; font-size: 13.5px; }
.tal-wrap.tp .tal-compra-leyendo small { color: var(--tp-txt2); }
.tal-wrap.tp .tal-compra-leyendo .tal-compra-arch__ico { animation: tal-compra-late 1.2s ease-in-out infinite; }
.tal-wrap.tp .tal-compra-leyendo__barra { height: 4px; border-radius: 999px; background: rgba(var(--tp-cel), .18); overflow: hidden; margin-top: 8px; }
.tal-wrap.tp .tal-compra-leyendo__barra i { display: block; width: 38%; height: 100%; border-radius: 999px; background: rgb(var(--tp-cel)); animation: tal-compra-lee 1.3s ease-in-out infinite; }
@keyframes tal-compra-lee { 0% { transform: translateX(-110%); } 100% { transform: translateX(290%); } }
@keyframes tal-compra-late { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }
.tal-wrap.tp .tal-compra-leido { display: flex; align-items: center; gap: 10px; border-radius: 12px; padding: 9px 12px; font-size: 12.5px; border: 1px solid rgba(var(--tp-cel), .4); background: rgba(var(--tp-cel), .10); color: var(--tp-txt); flex-wrap: wrap; }
.tal-wrap.tp .tal-compra-leido > svg { width: 16px; height: 16px; color: var(--tp-azul); flex: none; }
.tal-wrap.tp .tal-compra-leido > span { flex: 1 1 200px; }
.tal-wrap.tp .tal-compra-leido b { color: var(--tp-azul); }
.tal-wrap.tp .tal-compra-campo.is-leido > span::after { content: 'leído'; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: rgba(var(--tp-cel), .14); color: var(--tp-azul); font-size: 9.5px; letter-spacing: .04em; text-transform: none; }
.tal-wrap.tp .tal-compra-campo.is-leido input { border-color: rgba(var(--tp-cel), .55); }
.tal-wrap.tp .tal-compra-renglon.is-leido input[data-l="descripcion"] { border-color: rgba(var(--tp-cel), .55); background: rgba(var(--tp-cel), .05); }
@media (prefers-reduced-motion: reduce) { .tal-wrap.tp .tal-compra-leyendo .tal-compra-arch__ico, .tal-wrap.tp .tal-compra-leyendo__barra i { animation: none; } }

/* ---------- lectura según el contrato de compra_leer (2026-10-13): estados por campo, candidata, progreso, cuadre, interruptor ---------- */
.tal-wrap.tp .tal-compra-leyendo { justify-content: space-between; flex-wrap: wrap; }
.tal-wrap.tp .tal-compra-leyendo__barra i { width: 0; animation: none; transition: width .25s ease; }
.tal-wrap.tp .tal-compra-leyendo__pct { font-weight: 700; color: var(--tp-azul); font-size: 12px; }
.tal-wrap.tp .tal-compra-campo.is-revisar > span::after { content: 'revisar'; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: rgba(var(--tp-amb), .16); color: #92400e; font-size: 9.5px; letter-spacing: .04em; text-transform: none; }
[data-theme='dark'] .tal-wrap.tp .tal-compra-campo.is-revisar > span::after { color: #fcd34d; }
.tal-wrap.tp .tal-compra-campo.is-revisar input { border-color: rgba(var(--tp-amb), .7); background: rgba(var(--tp-amb), .07); }
.tal-wrap.tp .tal-compra-cand { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; margin-top: 2px; padding: 5px 9px; border-radius: 999px; border: 1px dashed rgba(var(--tp-amb), .7); background: rgba(var(--tp-amb), .08); color: #92400e; font: inherit; font-size: 11.5px; font-weight: 700; cursor: pointer; text-align: left; }
[data-theme='dark'] .tal-wrap.tp .tal-compra-cand { color: #fcd34d; }
.tal-wrap.tp .tal-compra-cand svg { width: 12px; height: 12px; flex: none; }
.tal-wrap.tp .tal-compra-fallo { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; border-radius: 12px; padding: 9px 12px; font-size: 12.5px; border: 1px solid rgba(var(--tp-amb), .5); background: rgba(var(--tp-amb), .12); color: #92400e; }
[data-theme='dark'] .tal-wrap.tp .tal-compra-fallo { color: #fcd34d; }
.tal-wrap.tp .tal-compra-fallo > svg { width: 16px; height: 16px; flex: none; }
.tal-wrap.tp .tal-compra-fallo > span { flex: 1 1 200px; }
.tal-wrap.tp .tal-compra-interruptor { position: relative; display: flex; align-items: center; gap: 12px; cursor: pointer; padding: 10px 12px; border: 1px solid var(--tp-borde2); border-radius: 12px; background: var(--tp-card3); font-size: 12.5px; }
.tal-wrap.tp .tal-compra-interruptor input { position: absolute; opacity: 0; width: 0; height: 0; }
.tal-wrap.tp .tal-compra-interruptor i { flex: none; width: 40px; height: 24px; border-radius: 999px; background: var(--tp-borde2); position: relative; transition: background .25s; }
.tal-wrap.tp .tal-compra-interruptor i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .25s; }
.tal-wrap.tp .tal-compra-interruptor input:checked + i { background: rgb(var(--tp-az)); }
.tal-wrap.tp .tal-compra-interruptor input:checked + i::after { transform: translateX(16px); }
.tal-wrap.tp .tal-compra-interruptor b { display: block; font-size: 13px; }
.tal-wrap.tp .tal-compra-interruptor small { color: var(--tp-txt2); }
.tal-wrap.tp .tal-compra-cuadre { display: flex; align-items: center; gap: 8px; border-radius: 12px; padding: 9px 12px; font-size: 12.5px; border: 1px solid rgba(var(--tp-ver), .4); background: rgba(var(--tp-ver), .10); color: #15803d; }
[data-theme='dark'] .tal-wrap.tp .tal-compra-cuadre { color: #86efac; }
.tal-wrap.tp .tal-compra-cuadre.is-mal { border-color: rgba(var(--tp-amb), .5); background: rgba(var(--tp-amb), .12); color: #92400e; }
[data-theme='dark'] .tal-wrap.tp .tal-compra-cuadre.is-mal { color: #fcd34d; }
.tal-wrap.tp .tal-compra-cuadre svg { width: 14px; height: 14px; flex: none; }
