/* estilos/ec-disenador.css - el disenador dentro del presupuesto (js/ec-disenador.js) - 17/10/2026 (k1114, k1117) */
html.ecd-bloq, html.ecd-bloq body{overflow:hidden}
#ecdOv{position:fixed;inset:0;z-index:2147483000;background:#f8fafc;display:flex;flex-direction:column;font:14px/1.45 Inter,"Segoe UI",Arial,sans-serif;color:#0f172a}
#ecdOv *{box-sizing:border-box}
#ecdOv button{font:inherit;cursor:pointer}
#ecdOv button:disabled{cursor:default;opacity:.45}
.ecd-cab{display:flex;align-items:center;gap:14px;padding:10px 16px;background:#0f172a;color:#fff}
.ecd-tit b{font-size:16px}
.ecd-tit span{color:#cbd5e1;margin-left:6px}
.ecd-tec{margin-left:auto;font-size:12.5px;color:#cbd5e1;text-align:right}
.ecd-x{background:none;border:0;color:#fff;font-size:28px;line-height:1;padding:0 4px}
.ecd-cuerpo{flex:1 1 auto;display:grid;grid-template-columns:320px minmax(0,1fr) 300px;min-height:0}
.ecd-izq,.ecd-der{background:#fff;border-right:1px solid #e2e8f0;overflow:auto;padding:12px}
.ecd-der{border-right:0;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;gap:12px}
.ecd-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ecd-tabs button{flex:1 1 auto;border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:7px 10px;font-weight:700;font-size:12.5px;color:#334155}
.ecd-tabs button.on{background:#005a9c;border-color:#005a9c;color:#fff}
.ecd-panel{display:flex;flex-direction:column;gap:8px}
.ecd-sub{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#64748b;margin-top:6px}
.ecd-nota{margin:0;font-size:12px;color:#64748b}
.ecd-gr{background:#005a9c;color:#fff;border:0;border-radius:10px;padding:11px 14px;font-weight:800}
.ecd-op{border:1px solid #cbd5e1;background:#fff;border-radius:9px;padding:8px 12px;font-weight:700;color:#0f172a;text-align:left}
.ecd-op-c{text-align:center}
.ecd-op:hover,.ecd-gr:hover{filter:brightness(.95)}
.ecd-op-vec{display:flex;flex-direction:column;gap:1px;border-color:#93c5fd;background:#eff6ff}
.ecd-op-vec small{font-weight:500;font-size:11.5px;color:#475569}
.ecd-grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ecd-grid2 .ecd-op{text-align:center;padding:8px 6px}
.ecd-fila{display:flex;align-items:center;gap:8px}
.ecd-fila input[type=range]{flex:1 1 auto}
.ecd-fila select{border:1px solid #cbd5e1;border-radius:8px;padding:6px}
.ecd-fila b{min-width:42px;text-align:right;font-size:12.5px}
#ecdDor,#ecdNombre{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:8px 10px;font:inherit;resize:vertical}
#ecdDor{font-family:Consolas,monospace;font-size:12.5px}
/* letras */
.ecd-fsel{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #cbd5e1;background:#fff;border-radius:9px;padding:8px 12px;font-size:18px !important;text-align:left}
.ecd-fsel span{font:12px Arial,sans-serif;color:#64748b}
.ecd-flista{border:1px solid #cbd5e1;border-radius:10px;max-height:300px;overflow:auto;padding:4px;display:flex;flex-direction:column;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.12)}
.ecd-fcat{position:sticky;top:-4px;background:#f1f5f9;font:800 10.5px Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:#64748b;padding:6px 8px;margin:4px -4px 2px}
.ecd-flista button{border:0;background:none;text-align:left;padding:6px 8px;border-radius:7px;font-size:19px !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ecd-flista button:hover{background:#eff6ff}
.ecd-flista button.on{background:#dbeafe}
.ecd-fuentes{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ecd-fuentes button{border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:7px 6px;font-size:15px !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ecd-fuentes button.on{border-color:#005a9c;box-shadow:0 0 0 2px rgba(0,90,156,.2)}
.ecd-estilo{flex-wrap:wrap}
.ecd-tg{width:36px;height:32px;border:1px solid #cbd5e1;background:#fff;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#334155;font-size:15px !important;padding:0}
.ecd-tg.on{background:#0f172a;border-color:#0f172a;color:#fff}
.ecd-sep{width:1px;height:22px;background:#e2e8f0;margin:0 2px}
/* colores */
.ecd-tintas{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ecd-tintas button[data-c]{width:26px;height:26px;border-radius:50%;border:1px solid #cbd5e1;padding:0}
.ecd-tintas button.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #005a9c}
.ecd-otro{border:1px dashed #64748b;background:#fff;border-radius:999px;padding:4px 10px;font-weight:700;font-size:12px !important;color:#0f172a}
.ecd-otro.on{border-style:solid;border-color:#005a9c;color:#005a9c}
.ecd-cnom{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:#334155}
/* (k1172) el color del vinilo: sus muestras (los especiales, con la foto del vinilo) */
.ecd-vin{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid #e2e8f0}
.ecd-vins{display:flex;flex-wrap:wrap;gap:6px}
.ecd-vins button{width:28px;height:28px;border-radius:50%;border:1px solid rgba(15,23,42,.22);padding:0;cursor:pointer;background-size:cover}
.ecd-vins button.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #005a9c}
.ecd-vsub span{font-weight:600;text-transform:none;letter-spacing:0;color:#94a3b8}
.ecd-cnom i{width:16px;height:16px;border-radius:4px;border:1px solid #cbd5e1;display:inline-block}
.ecd-pop{border:1px solid #cbd5e1;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;background:#f8fafc}
.ecd-pbus,.ecd-gbus{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:8px 10px;font:inherit;background:#fff}
/* (k1129) el codigo QR (pestana Texto) */
.ecd-qin{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:8px 10px;font:inherit;background:#fff;color:#0f172a}
textarea.ecd-qin{resize:vertical;min-height:64px}
.ecd-qin:focus{outline:2px solid #005a9c;outline-offset:1px;border-color:#005a9c}
.ecd-qrab{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;font-weight:800}
.ecd-qrab small{font-weight:600;color:#64748b;font-size:11.5px}
@media (max-width:760px){.ecd-qin{font-size:16px}}
/* (k1130) el disenador libre: un diseno por sitio */
.ecd-sitios{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px}
.ecd-sit-t{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-right:2px}
.ecd-sitios button{border:1px dashed #94a3b8;background:#fff;color:#475569;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:700;cursor:pointer}
.ecd-sitios button.tiene{border-style:solid;border-color:#16a34a;color:#166534;background:#f0fdf4}
.ecd-sitios button.on{border-style:solid;border-color:#0f172a;background:#0f172a;color:#fff}
.ecd-sitios button:focus-visible{outline:2px solid #005a9c;outline-offset:2px}
.ecd-traer{display:inline-block;margin-top:6px;border:1px solid #005a9c;background:#fff;color:#005a9c;border-radius:8px;padding:5px 10px;font-weight:700;font-size:12.5px;cursor:pointer}
.ecd-pgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-height:220px;overflow:auto}
.ecd-pgrid button{display:flex;align-items:center;gap:6px;border:1px solid #e2e8f0;background:#fff;border-radius:7px;padding:4px 6px;font-size:12px !important;text-align:left;min-width:0}
.ecd-pgrid button:hover{border-color:#005a9c}
.ecd-pgrid i{width:22px;height:22px;border-radius:5px;border:1px solid rgba(15,23,42,.15);flex:0 0 auto}
.ecd-pgrid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ecd-libre{width:46px;height:36px;border:0;padding:0;background:none}
.ecd-hex{flex:1 1 auto;border:1px solid #cbd5e1;border-radius:8px;padding:7px 9px;font:13px Consolas,monospace;text-transform:uppercase}
/* imagen: colores del vector y sustituir */
.ecd-vpal{display:flex;flex-wrap:wrap;gap:8px}
.ecd-vit{position:relative}
.ecd-vsw{width:34px;height:34px;border-radius:9px;border:1px solid #94a3b8;padding:0}
.ecd-vsw.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #005a9c}
.ecd-vx{position:absolute;top:-7px;right:-7px;width:18px;height:18px;border-radius:50%;border:1px solid #fecaca;background:#fff;color:#b91c1c;font-size:12px !important;line-height:1;padding:0}
.ecd-csde{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ecd-csde button[data-csf]{width:28px;height:28px;border-radius:7px;border:1px solid #94a3b8;padding:0}
.ecd-csde button.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #005a9c}
.ecd-gota{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:4px 10px;font-weight:700;font-size:12px !important}
.ecd-gota.on{background:#0f172a;color:#fff;border-color:#0f172a}
/* galeria */
.ecd-gcats{display:flex;flex-wrap:wrap;gap:5px}
.ecd-gcats button{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:4px 10px;font-weight:700;font-size:12px !important;color:#334155}
.ecd-gcats button.on{background:#0f172a;border-color:#0f172a;color:#fff}
.ecd-gal{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.ecd-gal button{border:1px solid #e2e8f0;background:#fff;border-radius:9px;padding:5px;display:flex;align-items:center;justify-content:center;aspect-ratio:1}
.ecd-gal button svg{width:100%;height:auto;max-width:40px}
.ecd-gal button:hover,.ecd-plant button:hover{border-color:#005a9c}
.ecd-plant{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ecd-plant button{border:1px solid #e2e8f0;background:#fff;border-radius:9px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11.5px !important;font-weight:700;color:#334155}
.ecd-plv{display:flex;background:#f1f5f9;border-radius:6px;padding:2px}
.ecd-chk{display:flex;align-items:center;gap:6px;font-size:13px}
/* el lienzo */
.ecd-centro{display:flex;flex-direction:column;min-width:0;min-height:0}
.ecd-lienzo{flex:1 1 auto;min-height:0;position:relative;overflow:hidden}
.ecd-lienzo canvas{display:block;touch-action:none;cursor:default}
.ecd-hist{position:absolute;top:10px;left:10px;display:flex;gap:4px}
.ecd-hist button{width:36px;height:34px;border:1px solid #cbd5e1;background:rgba(255,255,255,.92);border-radius:9px;font-size:18px !important;color:#0f172a;padding:0}
.ecd-edit{position:absolute;margin:0;padding:3px 0;border:0;outline:1.5px dashed #2563eb;outline-offset:2px;background:rgba(255,255,255,.04);resize:none;overflow:hidden;white-space:pre;transform-origin:50% 50%;z-index:2}
.ecd-objbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;padding:8px;background:#fff;border-top:1px solid #e2e8f0}
.ecd-objbar[hidden],.ecd-objbar [hidden]{display:none}
.ecd-objbar button{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:6px 10px;font-weight:700;font-size:12.5px !important}
.ecd-objbar .ecd-mal{color:#b91c1c;border-color:#fecaca}
.ecd-objbar .ecd-azul{background:#005a9c;border-color:#005a9c;color:#fff}
.ecd-rot{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700}
.ecd-rot b{min-width:38px}
.ecd-pista{text-align:center;font-size:11.5px;color:#94a3b8;padding:4px 8px 8px}
/* la columna de la derecha */
.ecd-bloque{display:flex;flex-direction:column;gap:7px}
.ecd-crece{flex:1 1 auto}
.ecd-bt{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#64748b}
.ecd-sws{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ecd-sw{border:1px solid #e2e8f0;background:#fff;border-radius:9px;padding:4px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px !important;color:#334155}
.ecd-sw img{width:100%;aspect-ratio:1;object-fit:contain}
.ecd-sw span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ecd-sw.on{border-color:#005a9c;box-shadow:0 0 0 2px rgba(0,90,156,.2)}
.ecd-seg{display:flex;border:1px solid #cbd5e1;border-radius:9px;overflow:hidden}
.ecd-seg button{flex:1;border:0;background:#fff;padding:7px;font-weight:700;font-size:12.5px !important;color:#334155}
.ecd-seg button.on{background:#0f172a;color:#fff}
/* (k1582) la leyenda del pedido (su encargo 74), en la columna de la derecha */
.ecd-ped{display:flex;flex-direction:column;gap:2px;font-size:12.5px;line-height:1.4;color:#334155}
.ecd-ped p{margin:0}
.ecd-ped b{color:#0f172a}
.ecd-ped .ecd-ped-imp{margin-top:6px}
.ecd-ped .ecd-ped-imp span{color:#64748b}
.ecd-ped .ecd-ped-tin{display:flex;align-items:center;gap:8px;margin-top:2px}
.ecd-ped-sw{flex:0 0 auto;width:24px;height:14px;border-radius:3px;border:1px solid #64748b}
.ecd-ped-cmyk{flex:0 0 auto;display:inline-flex;gap:2px}
.ecd-ped-cmyk i{width:11px;height:14px;border-radius:2px}
.ecd-comp{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ecd-comp li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 9px;border-radius:9px;font-size:12.5px;border:1px solid}
.ecd-comp li span{flex:1 1 140px}
.ecd-comp li.ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.ecd-comp li.av{background:#fffbeb;border-color:#fde68a;color:#92400e}
.ecd-comp li.mal{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.ecd-comp li.inf{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}   /* (k1250s) informativo (las costuras): no cuenta como aviso */
.ecd-comp li button{border:1px solid currentColor;background:#fff;color:inherit;border-radius:7px;padding:3px 8px;font-weight:700;font-size:12px !important}
.ecd-guarda{background:#16a34a;color:#fff;border:0;border-radius:10px;padding:12px 14px;font-weight:800;font-size:15px !important}
.ecd-guarda:disabled{opacity:.6;cursor:default}
/* las preguntas */
.ecd-modal{position:absolute;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:16px;z-index:5}
.ecd-mcaja{background:#fff;border-radius:14px;padding:20px 22px;max-width:440px;width:100%;box-shadow:0 20px 50px rgba(15,23,42,.3)}
.ecd-mcaja p{margin:0 0 16px;font-size:14px;line-height:1.5;color:#0f172a;word-break:break-word}
.ecd-mbts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.ecd-mbts .ecd-op{text-align:center}
/* movil: el diseno fijo arriba y las opciones debajo, con la pagina que se desplaza entera */
@media (max-width:980px){
  .ecd-cuerpo{display:flex;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch}
  .ecd-centro{order:-1;position:sticky;top:0;z-index:3;background:#f8fafc;flex:0 0 auto;height:min(54vh,480px);border-bottom:1px solid #e2e8f0;box-shadow:0 6px 14px rgba(15,23,42,.08)}
  .ecd-izq,.ecd-der{flex:0 0 auto;overflow:visible;border-right:0;border-left:0}
  .ecd-der{border-top:1px solid #e2e8f0}
  .ecd-objbar{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:6px 8px}
  .ecd-objbar button,.ecd-rot{flex:0 0 auto}
  .ecd-pista{display:none}
  .ecd-tec{display:none}
  .ecd-gal{grid-template-columns:repeat(6,1fr)}
}

/* ---------------------------------------------------------------- en Mi presupuesto: la fila "Diseno" (k1117)
   Siempre igual: la miniatura, el nombre (ancho fijo) y los dos botones (ancho fijo), para que no bailen de una
   impresion a otra. Al pasar por la miniatura se ve en grande; un diseno claro sale sobre fondo oscuro. */
.mdl-dz{display:grid;grid-template-columns:36px 200px auto;align-items:center;column-gap:10px;row-gap:6px;min-width:0}
.mdl-dz-prev{position:relative;width:36px;height:36px;border:1px solid #cbd5e1;border-radius:7px;display:flex;align-items:center;justify-content:center;font:800 9px Consolas,monospace;color:#475569;cursor:default;
  background:#fff linear-gradient(45deg,#e2e8f0 25%,transparent 25%,transparent 75%,#e2e8f0 75%) 0 0/10px 10px,#fff linear-gradient(45deg,#e2e8f0 25%,transparent 25%,transparent 75%,#e2e8f0 75%) 5px 5px/10px 10px}
.mdl-dz-prev > img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.mdl-dz-prev.is-osc,.mdl-dz-prev.is-osc .mdl-dz-big{background:#334155}
.mdl-dz-prev.is-vacio{border-style:dashed;background:#f8fafc;color:#94a3b8}
.mdl-dz-prev.is-vacio svg{width:16px;height:16px;fill:currentColor}
.mdl-dz-big{display:none;position:fixed;left:0;top:0;z-index:1000;width:260px;height:260px;padding:12px;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 14px 34px rgba(15,23,42,.22);
  background:#fff linear-gradient(45deg,#e2e8f0 25%,transparent 25%,transparent 75%,#e2e8f0 75%) 0 0/16px 16px,#fff linear-gradient(45deg,#e2e8f0 25%,transparent 25%,transparent 75%,#e2e8f0 75%) 8px 8px/16px 16px}
.mdl-dz-big img{width:100%;height:100%;object-fit:contain;display:block}
.mdl-dz-prev:hover .mdl-dz-big,.mdl-dz-prev:focus .mdl-dz-big{display:block}
.mdl-dz-nom{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#1e293b}
.mdl-dz-nom i{font-style:normal;font-weight:500;color:#94a3b8}
.mdl-dz-acc{display:flex;gap:8px;flex-wrap:wrap}
.contenidoprincipal .mdl-btn.mdl-dz-b,.mdl-btn.mdl-dz-b{min-width:150px;justify-content:center;padding:6px 12px}
.contenidoprincipal .mdl-btn.mdl-btn-dis,.mdl-btn.mdl-btn-dis{background:#005a9c;border-color:#005a9c;color:#fff !important}
.contenidoprincipal .mdl-btn.mdl-btn-dis:hover,.mdl-btn.mdl-btn-dis:hover{background:#004a80;border-color:#004a80;color:#fff !important}
@media (max-width:760px){
  .mdl-dz{grid-template-columns:36px minmax(0,1fr)}
  .mdl-dz-acc{grid-column:1 / -1}
  .contenidoprincipal .mdl-btn.mdl-dz-b,.mdl-btn.mdl-dz-b{flex:1 1 140px;min-width:0}
  .mdl-dz-big{width:200px;height:200px}
}
/* (k1120) el diseno puesto en cada prenda de la impresion, al pasar por la miniatura */
.mdl-dz-prev.is-prenda{background-image:none}
.mdl-dz-big.mdl-dz-mks{width:auto;height:auto;padding:10px;gap:10px;background:#fff}
.mdl-dz-prev:hover .mdl-dz-big.mdl-dz-mks,.mdl-dz-prev:focus .mdl-dz-big.mdl-dz-mks{display:flex}
.mdl-mk{position:relative;flex:0 0 auto;width:180px;height:210px;border-radius:9px;overflow:hidden;background:#f1f5f9}
.mdl-dz-big .mdl-mk-g{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.mdl-dz-big .mdl-mk-d{position:absolute;left:50%;top:22%;width:34%;height:40%;object-fit:contain;object-position:50% 0;transform:translateX(-50%)}
.mdl-dz-big .mdl-mk-d.mdl-mk-izquierda{left:63%;top:25%;width:15%;height:18%}
.mdl-dz-big .mdl-mk-d.mdl-mk-derecha{left:37%;top:25%;width:15%;height:18%}
.mdl-dz-big .mdl-mk-obj .mdl-mk-d{top:28%;width:44%;height:40%;object-position:50% 50%}
.mdl-mk-n{position:absolute;left:0;right:0;bottom:0;padding:4px 8px;background:rgba(255,255,255,.88);font:700 11px/1.3 Arial,sans-serif;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:760px){.mdl-mk{width:120px;height:140px}.mdl-dz-big.mdl-dz-mks{flex-wrap:wrap;max-width:calc(100vw - 24px)}}
/* (k1558b) por debajo de 1120 px, estilos2026.css limita las imagenes de .contenidoprincipal al ancho de su caja (!important):
   la foto de la prenda va mas grande que su caja (acercada a la prenda, PV.mkZona) y el diseno quedaba fuera de ella */
.contenidoprincipal .mdl-dz-big .mdl-mk img,.mdl-dz-big .mdl-mk img{max-width:none !important}
/* (k1121) "Que lo disenemos nosotros": el tercer boton de la fila Diseno (con la marca siempre en su sitio) y su idea */
.contenidoprincipal .mdl-btn.mdl-btn-nos,.mdl-btn.mdl-btn-nos{min-width:288px;gap:6px}
.mdl-btn-nos .mdl-nos-ck{display:inline-block;width:12px;visibility:hidden;font-weight:800}
.contenidoprincipal .mdl-btn.mdl-btn-nos.is-on,.mdl-btn.mdl-btn-nos.is-on{background:#ecfdf5;border-color:#10b981;color:#047857 !important}
.mdl-btn-nos.is-on .mdl-nos-ck{visibility:visible}
.mdl-dz-prev.is-nos{border-color:#10b981;background:#ecfdf5;color:#047857}
.mdl-dz-prev.is-nos svg{width:16px;height:16px;fill:currentColor}
.mdl-nos-n{font-weight:700;color:#047857}
.mdl-det-nos .mdl-det-v{flex-direction:column;align-items:stretch;gap:4px}
.mdl-nos-txt{width:100%;max-width:680px;min-height:56px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;font-size:13px;line-height:1.45;resize:vertical;box-sizing:border-box;background:#fff;color:#1e293b}
.mdl-nos-txt:focus{outline:2px solid #10b981;outline-offset:1px;border-color:#10b981}
@media (max-width:760px){.contenidoprincipal .mdl-btn.mdl-btn-nos,.mdl-btn.mdl-btn-nos{min-width:0;flex:1 1 100%}}
/* (k1124) el disenador libre: la zona a elegir, sus botones y las ventanas con campos */
#ecdOv [hidden]{display:none !important}
.ecd-sel{width:100%;margin:0 0 8px;border:1px solid #cbd5e1;border-radius:9px;padding:8px 10px;font:inherit;font-size:13.5px;background:#fff;color:#0f172a}
.ecd-lacc{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.ecd-lacc .ecd-op{text-align:center;padding:10px 12px}
.ecd-lacc .ecd-pres{background:#005a9c;border-color:#005a9c;color:#fff}
.ecd-lacc .ecd-pres:hover{filter:brightness(1.08)}
.ecd-lacc .ecd-env{border-color:#25d366;color:#047857;background:#f0fdf4}
.ecd-lacc button[disabled]{opacity:.6;cursor:default}
.ecd-mform{max-width:420px;width:calc(100% - 32px)}
.ecd-mform h4{margin:0 0 6px;font-size:17px;color:#002147}
.ecd-mform p{margin:0 0 10px;font-size:13.5px;color:#475569;line-height:1.5}
.ecd-mform label{display:block;margin:0 0 4px;font-size:12.5px;font-weight:700;color:#334155}
.ecd-mform input[type=email],.ecd-mform input[type=password],.ecd-mform input[type=text],.ecd-mform textarea{width:100%;box-sizing:border-box;border:1.5px solid #cbd5e1;border-radius:9px;padding:9px 11px;font:inherit;font-size:14px;margin:0 0 10px;background:#fff}
.ecd-mform textarea{min-height:70px;resize:vertical}
.ecd-mform .ecd-merr{color:#b42318;font-size:13px;font-weight:600;margin:0 0 8px}
.ecd-mform .ecd-mok{color:#047857;font-size:13px;font-weight:600;margin:0 0 8px}
.ecd-mform .ecd-mlnk{border:0;background:none;padding:0;color:#005a9c;font-weight:700;cursor:pointer;font:inherit;font-size:13px}
/* (k1125) la galeria por tematicas: portadas, sus disenos y volver */
.ecd-gtemas{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin-top:8px}
.ecd-gt{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:5px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:6px;cursor:pointer;text-align:left;font:inherit;min-width:0}
.ecd-gt:hover{border-color:#005a9c;box-shadow:0 4px 12px rgba(0,33,71,.08)}
.ecd-gt-im{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:7px;background:#f8fafc;overflow:hidden}
.ecd-gt-im img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 0 1px rgba(15,23,42,.3))}
.ecd-gt-im svg{width:44%;height:44%;fill:#94a3b8}
.ecd-gt-n{font-size:12.5px;font-weight:700;color:#0f172a;line-height:1.25;overflow:hidden;text-overflow:ellipsis}
.ecd-gt small{position:absolute;right:10px;top:10px;background:rgba(255,255,255,.94);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700;color:#475569}
.ecd-gvolver{display:flex;align-items:center;gap:10px;margin:10px 0 8px}
.ecd-gvolver button{border:0;background:none;color:#005a9c;font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:0;white-space:nowrap}
.ecd-gvolver b{font-size:13px;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ecd-gdis{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;margin-bottom:6px}
.ecd-gd{aspect-ratio:1/1;border:1px solid #e2e8f0;border-radius:9px;background:#fff;padding:3px;cursor:pointer;min-width:0}
.ecd-gd:hover{border-color:#005a9c;box-shadow:0 3px 10px rgba(0,33,71,.1)}
.ecd-gd img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 0 1px rgba(15,23,42,.3))}
/* (k1126) Magnific: la biblioteca de iconos y la IA */
.ecd-gt-mg .ecd-gt-im{background:linear-gradient(135deg,#eef2ff,#f5f3ff)}
.ecd-gt-mg .ecd-gt-im svg{fill:#6366f1}
.ecd-mgf{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 10px}
.ecd-mgf button,.ecd-mgs button{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:5px 12px;font:inherit;font-size:12.5px;font-weight:600;color:#334155;cursor:pointer}
.ecd-mgf button:hover,.ecd-mgs button:hover{border-color:#005a9c}
.ecd-mgf button.on{background:#002147;border-color:#002147;color:#fff}
.ecd-mgs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.ecd-ia{margin-top:6px}
.ecd-op-ia{background:linear-gradient(135deg,#eef2ff,#f5f3ff) !important;border-color:#c7d2fe !important;color:#3730a3 !important;text-align:left}
.ecd-op-ia b{display:block;font-size:12.5px}
.ecd-op-ia small{display:block;font-weight:500;color:#6366f1;font-size:11px;margin-top:2px}
/* (k1135) capas */
.ecd-bt span{font-weight:600;text-transform:none;letter-spacing:0;color:#94a3b8}
.ecd-capas-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto}
.ecd-capas-l li{display:flex;align-items:center;gap:4px;border:1px solid #e2e8f0;border-radius:8px;padding:3px;background:#fff}
.ecd-capas-l li.on{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}
.ecd-capas-l li.bloq .ecd-capa span{color:#94a3b8}
.ecd-capas-l button{border:0;background:transparent;border-radius:6px;padding:4px 6px;font-size:12px;color:#475569;cursor:pointer;line-height:1}
.ecd-capas-l button:hover:not([disabled]){background:#f1f5f9}
.ecd-capas-l button[disabled]{opacity:.3;cursor:default}
.ecd-capas-l .ecd-capa{flex:1;min-width:0;display:flex;align-items:center;gap:7px;text-align:left;font-weight:600;color:#0f172a;padding:5px 6px}
.ecd-capa i{flex:0 0 22px;height:22px;border-radius:5px;background:#eff6ff;color:#1d4ed8;font-style:normal;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center}
.ecd-capa span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ecd-cbloq.on{background:#fef3c7 !important}
.ecd-capas-l button:focus-visible{outline:2px solid #005a9c;outline-offset:1px}
/* (k1140) LA CABECERA: el logo, ImagePro Ecamisetas.com . Disenador Online y el copyright */
.ecd-cab{gap:16px;padding:8px 16px;background:linear-gradient(90deg,#001a3a 0%,#002a5a 55%,#004280 100%);box-shadow:0 2px 12px rgba(0,20,50,.28);min-height:54px}
.ecd-marca{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.ecd-logo{height:30px;width:auto;display:block;filter:brightness(0) invert(1)}
.ecd-msep{width:1px;height:32px;background:rgba(255,255,255,.25)}
.ecd-mtxt{display:flex;flex-direction:column;line-height:1.12}
.ecd-mtxt b{font-size:17px;font-weight:800;letter-spacing:.01em;color:#fff}
.ecd-mtxt b i{font-style:normal;font-weight:600;color:#8ccaff}
.ecd-mtxt small{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#a8c4e6}
.ecd-tit{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.ecd-tit>span{margin:0;font-weight:700;font-size:14px;color:#fff;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ecd-tit .ecd-tec{margin:0;font-size:12px;color:#bcd2ee;text-align:right}
.ecd-copy{flex:0 0 auto;font-size:11px;color:#94b3d9;white-space:nowrap;border-left:1px solid rgba(255,255,255,.18);padding-left:14px}
.ecd-x{border-radius:9px;width:38px;height:38px;display:flex;align-items:center;justify-content:center}
.ecd-x:hover{background:rgba(255,255,255,.12)}
@media (max-width:980px){.ecd-copy{display:none}}
@media (max-width:760px){.ecd-msep,.ecd-mtxt small{display:none}.ecd-logo{height:22px}.ecd-mtxt b{font-size:14px}.ecd-cab{gap:10px;padding:6px 10px;min-height:46px}.ecd-tit>span{font-size:12.5px}}
/* (k1140) LA COLUMNA DE LA DERECHA, SIN DESPLAZARSE: colores pequenos, ubicacion y tamano, botones en rejilla */
.ecd-der{gap:10px;padding:10px 12px}
.ecd-bt b{font-weight:700;text-transform:none;letter-spacing:0;color:#0f172a;margin-left:4px}
.ecd-sws{display:flex;flex-wrap:wrap;gap:5px}
.ecd-sw{width:32px;height:32px;padding:2px;border-radius:8px;flex:0 0 auto;display:block}
.ecd-sw img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:6px;display:block}
.ecd-sw span{display:none}
.ecd-sw.on{border-color:#005a9c;box-shadow:0 0 0 2px #005a9c}
.ecd-zsel{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ecd-zsel label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;color:#64748b;min-width:0}
.ecd-zsel .ecd-sel{margin:0;padding:7px 8px;font-size:13px;min-width:0}
.ecd-zfila{justify-content:space-between;gap:10px}
.ecd-zfila .ecd-seg{flex:1 1 auto}
.ecd-zfila .ecd-seg button{padding:6px 4px}
.ecd-zfila .ecd-chk{flex:0 0 auto;font-size:12.5px;white-space:nowrap}
.ecd-comp{gap:4px}
.ecd-comp li{padding:5px 8px;font-size:12px;border-radius:8px}
.ecd-pie{margin-top:auto;padding-top:10px;border-top:1px solid #e2e8f0;gap:6px}
#ecdNombre{padding:7px 9px}
.ecd-lacc{gap:6px;margin-top:4px}
.ecd-lacc .ecd-pres{padding:11px 12px;font-size:14px !important}
.ecd-lacc2{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ecd-lacc2 button{font-size:12.5px !important;padding:9px 6px !important;text-align:center;border-radius:9px;line-height:1.2}
.ecd-lacc .ecd-env{text-align:center}
.ecd-capas-l{max-height:176px}
.ecd-capas-l li.grp{border-left:3px solid #7c3aed}
/* (k1140) varias a la vez y grupos */
.ecd-objbar .ecd-grp{border-color:#c4b5fd;color:#5b21b6;background:#f5f3ff}
.ecd-objbar .ecd-rot[hidden]{display:none}
/* (k1140b) LA BARRA DE HERRAMIENTAS, vertical y con iconos; el panel al lado */
.ecd-cuerpo{grid-template-columns:372px minmax(0,1fr) 300px}
.ecd-izq{display:grid;grid-template-columns:78px minmax(0,1fr);padding:0;overflow:hidden}
.ecd-izq .ecd-tabs{grid-column:1;display:flex;flex-direction:column;flex-wrap:nowrap;gap:4px;margin:0;padding:10px 6px;background:#f1f5f9;border-right:1px solid #e2e8f0;overflow-y:auto}
.ecd-izq .ecd-tabs button{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:transparent;border-radius:10px;padding:9px 2px 8px;font-size:11px !important;font-weight:700;color:#475569;line-height:1.1}
.ecd-izq .ecd-tabs button i{width:28px;height:28px;display:flex;align-items:center;justify-content:center}
.ecd-izq .ecd-tabs button svg,.ecd-ini-g svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ecd-izq .ecd-tabs button:hover{background:#e2e8f0;color:#0f172a}
.ecd-izq .ecd-tabs button.on{background:#005a9c;color:#fff;box-shadow:0 4px 12px rgba(0,90,156,.25)}
.ecd-izq .ecd-panel{grid-column:2;padding:12px;overflow-y:auto;min-height:0;min-width:0}
/* LAS VISTAS junto a la prenda */
.ecd-vistas{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:8px;z-index:2}
.ecd-vistas[hidden]{display:none}
.ecd-vista{width:76px;border:1px solid #cbd5e1;background:#fff;border-radius:11px;padding:4px 4px 5px;display:flex;flex-direction:column;align-items:center;gap:3px;box-shadow:0 2px 8px rgba(15,23,42,.08);cursor:pointer}
.ecd-vista:hover{border-color:#005a9c}
.ecd-vista.on{border-color:#005a9c;box-shadow:0 0 0 2px #005a9c}
.ecd-vimg{position:relative;width:66px;height:66px;display:block;border-radius:8px;background:#f8fafc;overflow:hidden}
.ecd-vimg img{width:100%;height:100%;object-fit:contain;display:block}
.ecd-vimg.sin img{opacity:.45}
.ecd-vimg.pecho::after{content:"";position:absolute;left:58%;top:30%;width:12px;height:12px;border:2px solid #2563eb;border-radius:3px;background:rgba(37,99,235,.15)}
.ecd-vn{font-size:11px;font-weight:700;color:#334155;line-height:1.1}
.ecd-vista.tiene .ecd-vn b{color:#16a34a}
/* EMPEZAR */
.ecd-ini{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(241,245,249,.55);z-index:3;padding:16px}
.ecd-ini-c{position:relative;background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(15,23,42,.22);padding:22px 22px 16px;width:min(520px,100%);text-align:center}
.ecd-ini-t{display:block;font-size:19px;font-weight:800;color:#0f172a;margin:0 0 14px}
.ecd-ini-g{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ecd-ini-g button{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:14px 8px;color:#0f172a}
.ecd-ini-g button:hover{border-color:#005a9c;background:#eff6ff}
.ecd-ini-g i{width:42px;height:42px;border-radius:50%;background:#005a9c;color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:2px}
.ecd-ini-g span{font-weight:800;font-size:14px}
.ecd-ini-g small{font-size:11.5px;color:#64748b}
.ecd-ini-c p{margin:12px 0 0;font-size:12.5px;color:#475569}
.ecd-ini-x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:24px !important;line-height:1;color:#64748b}
/* LA AYUDA en la cabecera */
.ecd-ayuda{display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-size:12.5px;font-weight:700;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 12px;white-space:nowrap;flex:0 0 auto}
.ecd-ayuda:hover{background:rgba(255,255,255,.12)}
.ecd-ayuda svg{width:17px;height:17px;fill:#25d366}
@media (max-width:980px){
  .ecd-izq{display:flex;flex-direction:column;overflow:visible}
  .ecd-izq .ecd-tabs{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #e2e8f0;padding:6px}
  .ecd-izq .ecd-tabs button{flex:1 1 0;padding:6px 4px}
  .ecd-izq .ecd-panel{overflow:visible}
  .ecd-vistas{top:auto;bottom:8px;right:8px;flex-direction:row}
  .ecd-vista{width:60px}.ecd-vimg{width:50px;height:50px}
}
@media (max-width:760px){.ecd-ayuda span{display:none}.ecd-ayuda{padding:6px 8px}.ecd-ini-g{grid-template-columns:1fr}}
/* (k1140c) el nombre del diseno en la cabecera; la columna de la derecha mas compacta (cabe con capas) */
.ecd-nom{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:9px;padding:0 9px;height:34px;flex:0 1 240px;min-width:110px;cursor:text}
.ecd-nom:hover{background:rgba(255,255,255,.16)}
.ecd-nom:focus-within{background:#fff;border-color:#fff}
.ecd-nom svg{width:15px;height:15px;fill:none;stroke:#bcd2ee;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.ecd-nom #ecdNombre{background:transparent;border:0;outline:0;color:#fff;font:inherit;font-size:13.5px;font-weight:700;width:100%;min-width:0;padding:0;border-radius:0;resize:none}
.ecd-nom:focus-within #ecdNombre{color:#0f172a}
.ecd-nom:focus-within svg{stroke:#005a9c}
#ecdEstado:empty{display:none}
.ecd-zsel{grid-template-columns:.85fr 1.15fr}
.ecd-zsel .ecd-sel{font-size:12.5px;padding:7px 5px}
.ecd-capas-l{max-height:150px;gap:3px}
.ecd-capas-l li{padding:1px 3px}
.ecd-capas-l .ecd-capa{padding:3px 6px}
.ecd-capa i{flex:0 0 20px;height:20px;font-size:11px}
.ecd-comp li{padding:4px 8px}
.ecd-der .ecd-bloque{gap:6px}
@media (max-width:980px){.ecd-nom{flex:1 1 auto}}
@media (max-width:760px){.ecd-nom{height:30px;min-width:0}.ecd-nom svg{display:none}}

/* (k1145) EN EL MOVIL: la cabecera cabe entera (el nombre, la ayuda y la X de cerrar, que se salia) y el "Por donde quieres
   empezar" no se corta (2 x 2, sin las explicaciones) */
@media (max-width:760px){
  .ecd-marca{flex:0 1 auto;min-width:0;overflow:hidden}
  .ecd-mtxt{min-width:0}
  .ecd-mtxt b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ecd-nom{flex:1 1 60px;min-width:44px}
  .ecd-x{width:34px;height:34px;flex:0 0 auto}
  .ecd-ini{align-items:flex-start;padding:10px;overflow:auto}
  .ecd-ini-c{padding:16px 12px 12px}
  .ecd-ini-t{font-size:16px;margin:0 28px 10px}
  .ecd-ini-g{grid-template-columns:1fr 1fr;gap:8px}
  .ecd-ini-g button{padding:10px 6px}
  .ecd-ini-g i{width:34px;height:34px}
  .ecd-ini-g span{font-size:13px}
  .ecd-ini-g small,.ecd-ini-c p{display:none}
}
@media (max-width:480px){
  .ecd-mtxt,.ecd-msep,.ecd-tit{display:none}
  .ecd-marca{flex:0 0 auto;overflow:visible}
  .ecd-logo{height:20px;width:auto}
  .ecd-nom{flex:1 1 auto}
  .ecd-cab{gap:8px;padding:6px 8px}
}

/* (k1146) la N y la K de negrita y cursiva, centradas en su marco (antes les tocaba el ancho de los numeros de la fila) */
.ecd-fila .ecd-tg b,.ecd-fila .ecd-tg i{min-width:0;width:auto;text-align:center;font-size:15px;line-height:1;display:block}
/* la X de cerrar, mas a la vista */
#ecdOv .ecd-x{background:rgba(255,255,255,.16);border:1.5px solid rgba(255,255,255,.7);border-radius:10px;width:40px;height:40px;font-size:27px;font-weight:700;color:#fff;cursor:pointer;flex:0 0 auto;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
#ecdOv .ecd-x:hover,#ecdOv .ecd-x:focus-visible{background:#dc2626;border-color:#dc2626;outline:none}
/* las vistas: la manga derecha de una foto al reves y las mangas un poco de cerca */
.ecd-vimg.espejo img{transform:scaleX(-1)}
.ecd-vimg.manga img{transform:scale(1.45);transform-origin:52% 24%}
.ecd-vimg.manga.espejo img{transform:scale(-1.45,1.45)}
.ecd-vimg.sin{opacity:.5}
/* hasta dos arreglos en la comprobacion */
.ecd-comp-b{display:flex;flex-wrap:wrap;gap:6px}
/* (k1147) la lista de las letras, flotante bajo su boton (dentro del panel se aplastaba a 52 px de alto) */
.ecd-fwrap{position:relative}
.ecd-fwrap .ecd-fsel{width:100%}
.ecd-flista > *{flex:0 0 auto}   /* cada letra, con su alto (la columna flex las apretaba a 12 px y no se leian) */
.ecd-fwrap .ecd-flista{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;max-height:420px;box-shadow:0 14px 34px rgba(15,23,42,.22)}
.ecd-fsel.on{border-color:#005a9c;box-shadow:0 0 0 2px rgba(0,90,156,.18)}
.ecd-fsel.on span{transform:rotate(180deg)}
/* (k1147) lo que pasa al subir, justo debajo de su boton */
.ecd-subest{margin:2px 0 0;padding:8px 10px;border-radius:9px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:12.5px;line-height:1.4}
.ecd-subest.mal{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.ecd-subest[hidden]{display:none}
/* (k1147) la zona: el tamano debajo de la ubicacion (lado a lado se cortaba) */
.ecd-zsel{grid-template-columns:1fr}
.ecd-zsel .ecd-sel{font-size:13px;padding:7px 8px}
/* (k1147) el nombre del diseno, encima de los botones del pie */
.ecd-nomb{display:flex;flex-direction:column;gap:4px;margin:0 0 2px}
.ecd-nomb span{font:800 10.5px Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#64748b}
.ecd-nomb input{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:8px 10px;font:600 14px Inter,Arial,sans-serif;color:#0f172a;background:#fff;outline:0}
.ecd-nomb input:focus{border-color:#005a9c;box-shadow:0 0 0 3px rgba(0,90,156,.15)}
/* (k1147) las muestras de color un poco mas pequenas: con el nombre del diseno en el pie, la columna cabe sin desplazarse */
.ecd-sw{width:29px;height:29px}
/* (k1147) lo que pide la impresion, bajo el boton de subir; y el aviso al subir */
.ecd-req{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.ecd-req li{position:relative;padding-left:18px;font-size:12px;color:#475569;line-height:1.35}
.ecd-req li::before{content:"";position:absolute;left:3px;top:4px;width:8px;height:5px;border-left:2px solid #16a34a;border-bottom:2px solid #16a34a;transform:rotate(-45deg)}
.ecd-subest.av{background:#fffbeb;border-color:#fde68a;color:#92400e}
.ecd-subest .ecd-subop{display:inline-block;margin:6px 0 0;padding:5px 10px !important;font-size:12px !important}
/* (k1147) la columna de la derecha nunca se desplaza: con muchos avisos, solo la lista de la Comprobacion ocupa lo que queda */
.ecd-der .ecd-crece{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.ecd-der .ecd-crece .ecd-comp{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin}
.ecd-der .ecd-crece .ecd-comp li{flex:0 0 auto}
@media (max-width:980px){.ecd-der .ecd-crece,.ecd-der .ecd-crece .ecd-comp{overflow:visible}}
/* (k1147) las capas, plegadas */
.ecd-bt-tg{display:flex;align-items:center;gap:5px;width:100%;border:0;background:none;padding:2px 0;cursor:pointer;text-align:left;font-family:inherit}
.ecd-bt-tg b{color:#0f172a;text-transform:none;letter-spacing:0;font-weight:700}
.ecd-bt-tg i{margin-left:auto;font-style:normal;transition:transform .15s;color:#64748b}
.ecd-bt-tg[aria-expanded="true"] i{transform:rotate(180deg)}
.ecd-bt-tg:hover{color:#0f172a}
.ecd-capas-l[hidden]{display:none}
.ecd-capas .ecd-capas-l{margin-top:6px}
/* (k1147) la Comprobacion, compacta: el texto y sus botones (a la derecha, o debajo si no caben); lo que esta bien, en
   una linea ligera con su marca; "Zoom ajustado" en la fila de la Zona y el nombre del diseno en una fila */
.ecd-der{gap:8px}
.ecd-der .ecd-comp li{flex-wrap:wrap;gap:3px 8px;line-height:1.35;padding:3px 8px}
.ecd-der .ecd-comp li span{flex:1 1 auto;min-width:0}
.ecd-der .ecd-comp li .ecd-comp-b{flex:0 0 auto;display:flex;gap:4px;margin-left:auto}
.ecd-der .ecd-comp li button{white-space:nowrap;padding:2px 8px;font-size:11.5px !important}
.ecd-der .ecd-comp li.ok{background:none;border-color:transparent;padding:1px 4px 1px 21px;position:relative;color:#166534}
.ecd-der .ecd-comp li.ok::before{content:"";position:absolute;left:6px;top:5px;width:8px;height:4px;border-left:2px solid #16a34a;border-bottom:2px solid #16a34a;transform:rotate(-45deg)}
.ecd-bt-fila{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ecd-bt-fila .ecd-chk{font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;color:#334155;white-space:nowrap;margin:0}
.ecd-zfila[hidden]{display:none}
.ecd-der .ecd-nomb{flex-direction:row;align-items:center;gap:8px}
.ecd-der .ecd-nomb span{flex:0 0 auto}
.ecd-der .ecd-nomb input{flex:1 1 auto;min-width:0;padding:7px 9px;font-size:13.5px}
/* (k1147) un texto fijo de un diseno de la galeria (solo su color) y los colores fijos de su dibujo */
.ecd-fijo{margin:0;padding:8px 10px;border-radius:9px;background:#f1f5f9;border:1px solid #e2e8f0;font-size:12.5px;line-height:1.45;color:#334155}
.ecd-fijo b{color:#0f172a}
.ecd-vsw-f{display:block;cursor:default}
/* (k1147) Capas y Comprobacion en acordeon (una abierta cada vez): la columna no se pasa nunca */
.ecd-der .ecd-crece.ecd-pleg{flex:0 0 auto}
.ecd-der .ecd-crece.ecd-pleg .ecd-comp{display:none}
.ecd-crece:not(.ecd-pleg) #ecdCompT{cursor:default}
.ecd-crece:not(.ecd-pleg) #ecdCompT i{display:none}
#ecdCompN{font-size:11px;font-weight:800;border-radius:999px;padding:1px 8px;margin-left:2px}
#ecdCompN:empty{display:none}
#ecdCompN.ok{background:#dcfce7;color:#166534}
#ecdCompN.av{background:#fef3c7;color:#92400e}
#ecdCompN.mal{background:#fee2e2;color:#991b1b}
.ecd-der .ecd-capas.ecd-abre{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.ecd-der .ecd-capas.ecd-abre .ecd-capas-l{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin}
@media (max-width:980px){.ecd-der .ecd-capas.ecd-abre .ecd-capas-l{overflow:visible}}
/* (k1147) los mensajes, en un aviso sobre el lienzo */
.ecd-aviso{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:6;max-width:min(560px,calc(100% - 24px));background:rgba(15,23,42,.92);color:#fff;border-radius:10px;padding:8px 14px;font-size:13px;line-height:1.45;text-align:center;box-shadow:0 8px 24px rgba(15,23,42,.25)}
.ecd-aviso:empty{display:none}
.ecd-aviso b{color:#fff}
.ecd-aviso button{margin:4px 0 0 6px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;border-radius:7px;padding:3px 9px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.ecd-aviso button:hover{background:rgba(255,255,255,.12)}
/* (k1163) "Cambiar la tecnica": las opciones, con su precio */
.ecd-tecm{max-width:470px}
.ecd-tecl{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
.ecd-tecb{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1.5px solid #cbd5e1;border-radius:12px;background:#fff;padding:10px 12px;cursor:pointer;font:inherit;color:#0f172a}
.ecd-tecb:hover,.ecd-tecb:focus-visible{border-color:#005a9c;background:#f8fbff;outline:none}
.ecd-tecb.rec{border-color:#16a34a;background:#f6fef9}
.ecd-tect{flex:1;min-width:0}
.ecd-tect b{display:block;font-size:14px;color:#0f172a}
.ecd-tect small{display:block;margin-top:2px;font-size:12.5px;line-height:1.35;color:#475569;word-break:break-word}
.ecd-tecp{flex:none;font-weight:800;font-size:13.5px;color:#002147;white-space:nowrap;font-variant-numeric:tabular-nums}
.ecd-tecr{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;background:#dcfce7;color:#166534;font-size:10.5px;font-style:normal;font-weight:800;vertical-align:1px}
/* (k1184) DORSALES: una casilla por prenda, por tallas (las del presupuesto) */
.ecd-dorq b{color:#0f172a}
.ecd-dorg{display:flex;flex-direction:column;gap:7px}
.ecd-dorr{display:grid;grid-template-columns:46px minmax(0,1fr);gap:6px;align-items:start}
.ecd-dorr>b{display:flex;flex-direction:column;min-width:0;padding-top:6px;font-size:13px;line-height:1.15;color:#0f172a}
.ecd-dorr>b span{font-size:10.5px;font-weight:600;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ecd-dorr>b i{font-style:normal;font-size:10.5px;font-weight:600;color:#64748b}
.ecd-dorr.sobra>b,.ecd-dorr.sobra>b i{color:#b45309}
.ecd-dori{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.ecd-dori label{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}
.ecd-dori input{box-sizing:border-box;height:32px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit;font-size:14px;font-weight:800;color:#0f172a;padding:0 4px}
.ecd-dori input.ecd-dnum{width:38px;text-align:center;font-variant-numeric:tabular-nums}
.ecd-dori.nom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.ecd-dori.nom.dos{grid-template-columns:minmax(0,1fr)}
.ecd-dorB{display:flex;flex-direction:column;gap:8px}
.ecd-dori.nom label{flex-direction:row;align-items:center;gap:5px;width:100%}
.ecd-dori.nom input:not(.ecd-dnum){flex:1 1 auto;width:auto;min-width:0;text-align:left;padding:0 9px;text-transform:uppercase}
.ecd-dori input::placeholder{color:#94a3b8;font-weight:600;text-transform:none}
.ecd-dori input:placeholder-shown{border-style:dashed}
.ecd-dori input:focus{outline:none;border-color:#005a9c;border-style:solid;box-shadow:0 0 0 2px rgba(0,90,156,.2)}
.ecd-dori input.mal{border-color:#dc2626;border-style:solid;background:#fef2f2;color:#b91c1c}
.ecd-dori small{max-width:54px;font-size:10px;font-weight:700;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ecd-dori.ref:not(.nom) label{width:54px}
.ecd-dori.nom small{flex:none;max-width:none;min-width:22px;text-align:right}
.ecd-dorbt{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.ecd-dorbt .ecd-op2{padding:8px 10px;font-size:12.5px;color:#334155}
.ecd-lnk{align-self:flex-start;border:0;background:none;padding:2px 0;color:#005a9c;font:inherit;font-size:12.5px;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
#ecdDorF{grid-template-columns:repeat(4,minmax(0,1fr))}
#ecdDorF button{padding:6px 3px;font-size:12.5px !important}
/* (k1191) DORSALES EN TABLA (el menu "Dorsales", debajo de QR): talla, nombre y numero de cada prenda; sin desplazar la
   columna (lo que no cabe, por paginas) */
.ecd-dorg .ecd-dort{margin-top:-4px}
.ecd-dort{width:100%;border-collapse:separate;border-spacing:0 4px;table-layout:fixed}
.ecd-dort th{font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#64748b;text-align:left;padding:0 3px 1px}
.ecd-dort th.t,.ecd-dort td.t{width:46px}
.ecd-dort th.n,.ecd-dort td.n{width:56px;text-align:center}
.ecd-dort th.x,.ecd-dort td.x{width:22px}
.ecd-dort td{padding:0 3px;vertical-align:middle}
.ecd-dort td.t b{display:block;font-size:13px;line-height:1.1;color:#0f172a}
.ecd-dort td.t small{display:block;font-size:10px;line-height:1.15;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ecd-dort input{box-sizing:border-box;width:100%;height:30px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit;font-size:13.5px;font-weight:800;color:#0f172a;padding:0 7px}
.ecd-dort td.m input{text-transform:uppercase}
.ecd-dort td.n input{text-align:center;padding:0 2px;font-variant-numeric:tabular-nums}
.ecd-dort td.t input{padding:0 3px;text-align:center;text-transform:uppercase}
.ecd-dort input::placeholder{color:#94a3b8;font-weight:600;text-transform:none}
.ecd-dort input:placeholder-shown{border-style:dashed}
.ecd-dort input:focus{outline:none;border-color:#005a9c;border-style:solid;box-shadow:0 0 0 2px rgba(0,90,156,.2)}
.ecd-dort input.mal{border-color:#dc2626;border-style:solid;background:#fef2f2;color:#b91c1c}
.ecd-dort input[data-dref]{background:#f8fafc}
.ecd-dort tr.sobra td.t b,.ecd-dort tr.sobra td.t input{color:#b45309}
.ecd-dort td.x button{border:0;background:none;color:#94a3b8;font-size:18px;line-height:1;padding:2px;cursor:pointer}
.ecd-dort td.x button:hover{color:#dc2626}
.ecd-dorpg{display:flex;align-items:center;justify-content:center;gap:10px;margin:2px 0;font-size:12.5px;font-weight:700;color:#334155}
.ecd-dorpg button{width:30px;height:28px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:16px;line-height:1;cursor:pointer;color:#0f172a}
.ecd-dorpg button:disabled{opacity:.4;cursor:default}
.ecd-dorver{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 8px}
.ecd-dorver .ecd-tg{width:100%;justify-content:center;font-weight:800}
.ecd-gr.ecd-dora{margin-top:8px}
/* (k1190) LAS PAGINAS DEL DISENADOR LIBRE (el usuario: "poder anadir paginas y leyenda descriptiva en el lienzo ... delante,
   detras, izquierda, derecha ... luego tiene que afectar el precio del presupuesto"): encima del lienzo, cada sitio elegido
   es una pagina; la que lleva diseno, una impresion del presupuesto. En el lienzo, la leyenda (solo en pantalla) */
.ecd-pags{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:7px 12px;background:#fff;border-bottom:1px solid #e2e8f0}
.ecd-pags[hidden]{display:none}
.ecd-pags-t{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#64748b}
.ecd-pags-l{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1 1 auto;min-width:0}
.ecd-pag{display:flex;align-items:stretch;border:1px solid #cbd5e1;border-radius:9px;background:#fff;overflow:hidden}
.ecd-pag:hover{border-color:#005a9c}
.ecd-pag.on{border-color:#005a9c;box-shadow:0 0 0 1px #005a9c}
.ecd-pag-b{display:flex;align-items:center;gap:6px;margin:0;border:0;background:none;padding:5px 10px 5px 6px;font-size:12.5px !important;font-weight:700;color:#334155;white-space:nowrap;cursor:pointer}
.ecd-pag-b b{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:11px}
.ecd-pag.on .ecd-pag-b b{background:#005a9c;color:#fff}
.ecd-pag-b i{font-style:normal;font-weight:800;color:#16a34a}
.ecd-pag-b small{font-size:11px;font-weight:600;color:#94a3b8}
.ecd-pag-x{margin:0;border:0;border-left:1px solid #e2e8f0;background:#f8fafc;padding:0 8px;font-size:15px !important;line-height:1;color:#64748b;cursor:pointer}
.ecd-pag-x:hover{background:#fef2f2;color:#b91c1c}
.ecd-pag-mw{position:relative}
.ecd-pag-mas{margin:0;border:1px dashed #94a3b8;border-radius:9px;background:#f8fafc;padding:5px 10px;font-size:12.5px !important;font-weight:700;color:#005a9c;white-space:nowrap;cursor:pointer}
.ecd-pag-mas:hover,.ecd-pag-mas[aria-expanded="true"]{border-style:solid;border-color:#005a9c;background:#eff6ff}
.ecd-pag-pop{position:absolute;left:0;top:calc(100% + 6px);z-index:7;display:flex;flex-direction:column;min-width:220px;padding:5px;background:#fff;border:1px solid #e2e8f0;border-radius:11px;box-shadow:0 14px 34px rgba(15,23,42,.18)}
.ecd-pag-pop button{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:0;border:0;background:none;border-radius:8px;padding:8px 10px;text-align:left;font-size:13px !important;color:#0f172a;cursor:pointer}
.ecd-pag-pop button:hover,.ecd-pag-pop button:focus-visible{background:#eff6ff;outline:none}
.ecd-pag-pop small{font-size:11.5px;color:#64748b;white-space:nowrap}
.ecd-pags-pr{margin-left:auto;font-size:12px;color:#166534;white-space:nowrap}
@media (max-width:1400px){.ecd-pags-pr span{display:none}}
.ecd-pags-pr b{font-weight:800}
.ecd-pags-pr.cero{color:#94a3b8}
.ecd-ley{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:2;max-width:calc(100% - 210px);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 6px;padding:5px 13px;border:1px solid #cbd5e1;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 2px 8px rgba(15,23,42,.08);font-size:12.5px;line-height:1.3;color:#334155;text-align:center;pointer-events:none}
.ecd-ley[hidden]{display:none}
.ecd-ley b{color:#005a9c}
.ecd-ley-s{color:#94a3b8}
.ecd-vista{position:relative}
/* las vistas, siempre todas: en una pantalla baja se encoge su foto (nunca se tapan) */
.ecd-vistas{bottom:10px;pointer-events:none}
.ecd-vista{pointer-events:auto;flex:0 1 auto;min-height:0}
.ecd-vimg{flex:0 1 66px;height:auto;min-height:24px;aspect-ratio:1/1;width:auto;max-width:66px}
.ecd-vpag{position:absolute;top:2px;left:2px;z-index:1;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#005a9c;color:#fff;font-style:normal;font-size:10.5px;font-weight:800;line-height:18px;text-align:center}
@media (max-width:980px){
  .ecd-pags{gap:5px 8px;padding:5px 8px}
  .ecd-pags-t{display:none}
  .ecd-pag-b{padding:4px 8px 4px 5px;font-size:12px !important}
  .ecd-pag-mas{padding:4px 9px;font-size:12px !important}
  .ecd-pags-pr{font-size:11.5px}
  .ecd-pags-pr span{display:none}
  .ecd-ley{top:8px;max-width:calc(100% - 100px);padding:4px 10px;font-size:11.5px}
  .ecd-vistas{top:auto}
  .ecd-vimg{flex:none;width:50px;height:50px;max-width:none}
  .ecd-ley-t{display:none}
}
/* (k1191b) los dorsales: la plantilla de Excel (descargarla y subirla rellena) */
.ecd-dorxl{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ecd-dorxl .ecd-op2{padding:7px 8px;font-size:12.5px;color:#334155}
/* (k1191b) los cuatro botones de la tabla, iguales y en una linea */
.ecd-dorbt{grid-template-columns:1fr 1fr}
.ecd-dorbt .ecd-op,.ecd-dorxl .ecd-op{padding:7px 8px;font-size:12.5px;line-height:1.25;white-space:nowrap}
/* (k1192) la sublimacion: los colores que no se verian, tachados; y sus muestras en la comprobacion */
.ecd-tintas button.no{opacity:.45;cursor:not-allowed;background-image:linear-gradient(135deg,transparent 43%,#dc2626 43%,#dc2626 57%,transparent 57%)!important}
.ecd-comp .sub-sw{display:inline-block;width:13px;height:13px;margin:0 3px 0 0;border-radius:3px;border:1px solid #94a3b8;vertical-align:-2px}
/* (k1192) la ventana de las costuras */
.ecd-mcaja.ecd-cost{max-width:420px}
.ecd-mcaja.ecd-cost p{margin:0 0 10px;line-height:1.45}
/* (k1250) LAS NOTAS DEL CLIENTE (la pestana Notas): no se imprimen; en el lienzo, en un lado libre */
.ecd-notat{box-sizing:border-box;width:100%;min-height:128px;resize:vertical;border:1px solid #fcd34d;border-radius:10px;background:#fffbeb;padding:9px 11px;font:inherit;font-size:13.5px;line-height:1.45;color:#78350f}
.ecd-notat:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.25)}
.ecd-notat::placeholder{color:#b49a6c}
.ecd-notaf{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}
.ecd-notaq{align-self:center;color:#b91c1c}
@media (max-width:760px){.ecd-notat{font-size:16px}}
/* (k1250) LA PAGINA DE LOS DORSALES: verlos en la espalda (una simulacion), de prenda en prenda */
.ecd-dorvb{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:6px}
.ecd-dorvb i{display:inline-flex;width:18px;height:18px}
.ecd-dorvb svg,.ecd-pag-dor .ecd-pag-b b svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ecd-dornav{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:6px;margin-top:6px;padding:5px;border:1px solid #c4b5fd;border-radius:10px;background:#f5f3ff}
.ecd-dornav button{height:30px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:18px !important;line-height:1;color:#0f172a;cursor:pointer;padding:0}
.ecd-dornav button:hover{border-color:#7c3aed;color:#5b21b6}
.ecd-dornav span{min-width:0;text-align:center;font-size:12.5px;font-weight:700;color:#4c1d95;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ecd-dorvx{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}
.ecd-dorvx .ecd-lnk{align-self:center;white-space:nowrap}
.ecd-pag-dor .ecd-pag-b b{width:19px;padding:3px;box-sizing:border-box;background:#ede9fe;color:#5b21b6}
.ecd-pag-dor:hover{border-color:#7c3aed}
.ecd-pag-dor.on{border-color:#7c3aed;box-shadow:0 0 0 1px #7c3aed}
.ecd-pag-dor.on .ecd-pag-b b{background:#7c3aed;color:#fff}
.ecd-pag-dor .ecd-pag-b small{color:#7c3aed}
/* (k1250n) un articulo sin fotos para disenar (Mi presupuesto): el aviso para subir su diseno */
.ecd-bloq{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.ecd-bloq-c{background:#fff;border-radius:14px;padding:20px 22px;max-width:440px;width:100%;box-shadow:0 20px 50px rgba(15,23,42,.3);color:#0f172a;font-family:inherit}
.ecd-bloq-c b{display:block;font-size:16px;margin:0 0 8px}
.ecd-bloq-c p{margin:0 0 16px;font-size:14px;line-height:1.5;color:#334155}
.ecd-bloq-c .ecd-gr{cursor:pointer;font-size:14px}

/* (k1462) la barra de abajo, siempre: los botones (con algo elegido) o la pista, y la lupa a la derecha */
.ecd-objbar{flex-wrap:nowrap}
.ecd-objs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;flex:1 1 0;min-width:0}
.ecd-objbar .ecd-pista{flex:1 1 0;min-width:0;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ecd-zoom{display:flex;align-items:center;flex:0 0 auto;margin-left:auto;border:1px solid #cbd5e1;border-radius:9px;background:#fff;overflow:hidden}
.ecd-objbar .ecd-zoom button{border:0;border-radius:0;padding:0;width:34px;height:32px;display:flex;align-items:center;justify-content:center;color:#0f172a;background:#fff;cursor:pointer}
.ecd-objbar .ecd-zoom button+button{border-left:1px solid #e2e8f0}
.ecd-objbar .ecd-zoom .ecd-zoomv{width:auto;min-width:56px;padding:0 6px;font-size:12px !important;font-variant-numeric:tabular-nums;color:#334155}
.ecd-objbar .ecd-zoom button:hover:not(:disabled){background:#f1f5f9}
.ecd-objbar .ecd-zoom button:disabled{color:#cbd5e1;cursor:default}
.ecd-objbar .ecd-zoom .ecd-zoomv:disabled{color:#64748b}
.ecd-zoom svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
/* (k1462) la muestra de un color en el que casi no se ve el diseno */
.ecd-sw{position:relative}
.ecd-sw.ecd-sw-av::after{content:'!';position:absolute;top:-5px;right:-5px;width:15px;height:15px;border-radius:50%;background:#d97706;color:#fff;font:800 10px/15px Arial,sans-serif;text-align:center;box-shadow:0 0 0 2px #fff}
@media (max-width:980px){
  .ecd-objs{flex-wrap:nowrap;justify-content:flex-start;flex:0 0 auto}
  .ecd-zoom{position:sticky;right:0}
}
/* (k1553) ENCARGO 59: las muestras de color de la derecha, al triple; una pestana por color encima del lienzo; el color del
   diseno en cada prenda; la tecnica y el tamano */
.ecd-conpres .ecd-der .ecd-sws .ecd-sw{width:87px;height:87px;border-radius:12px}   /* (k1565) solo con los colores del presupuesto */
.ecd-conpres .ecd-der .ecd-sws{gap:8px}
.ecd-cols{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px 2px}
.ecd-cols[hidden]{display:none}
.ecd-col{display:inline-flex;align-items:center;gap:7px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;padding:3px 12px 3px 3px;font:600 12.5px/1.2 Inter,'Segoe UI',Arial,sans-serif;color:#0f172a;cursor:pointer}
.ecd-col img{width:24px;height:24px;border-radius:50%;object-fit:cover;background:#e2e8f0}
.ecd-col:hover,.ecd-col:focus-visible{border-color:#005a9c;outline:0}
.ecd-col.on{background:#002147;border-color:#002147;color:#fff}
.ecd-col-t{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid #94a3b8}
.ecd-tin{margin-top:10px}
.ecd-tin[hidden]{display:none}
.ecd-tins{display:flex;gap:4px;margin:4px 0}
.ecd-tins button{flex:1 1 0;border:1px solid #cbd5e1;background:#fff;border-radius:7px;padding:6px 4px;font:600 12px Inter,'Segoe UI',Arial,sans-serif;cursor:pointer}
.ecd-tins button.on{background:#002147;border-color:#002147;color:#fff}
.ecd-tin-auto{border:0;background:none;padding:2px 0;color:#005a9c;font:600 11.5px Inter,'Segoe UI',Arial,sans-serif;text-decoration:underline;cursor:pointer;text-align:left}
.ecd-tecsel{width:100%}
/* (k1586) Tecnica y tamano: la lista como la de la ficha (estilos/ec-presupuestador.css, .pz-tec-*) */
.ecd-tecdd{position:relative}
.ecd-tecdd-btn{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 10px;border:1.5px solid #cbd5e1;border-radius:10px;background:#fff;text-align:left;font:inherit;font-size:13px;cursor:pointer;color:#0f172a}
.ecd-tecdd-btn:hover{border-color:#94a3b8}
.ecd-tecdd.abierta .ecd-tecdd-btn{border-color:#005a9c;box-shadow:0 0 0 3px rgba(0,90,156,.15)}
.ecd-tecdd-bi,.ecd-tecdd-gi{flex:none;display:grid;place-items:center;border-radius:7px;background:var(--gc,#005a9c);color:#fff}
.ecd-tecdd-bi{width:24px;height:24px}
.ecd-tecdd-gi{width:26px;height:26px;border-radius:8px;box-shadow:0 2px 6px rgba(15,23,42,.15)}
.ecd-tecdd-bi svg,.ecd-tecdd-gi svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ecd-tecdd-nom{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.ecd-tecdd-nom b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ecd-tecdd-nom em{font-style:normal;font-size:11.5px;color:#64748b}
.ecd-tecdd-pr{flex:none;font-weight:700;color:#002147;white-space:nowrap;font-variant-numeric:tabular-nums}
.ecd-tecdd-car{flex:none;width:8px;height:8px;border:solid #475569;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.ecd-tecdd.abierta .ecd-tecdd-car{transform:rotate(-135deg) translateY(-2px)}
.ecd-tecdd-lista{position:fixed;z-index:200;overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #d5dee8;border-radius:14px;box-shadow:0 24px 60px rgba(15,27,45,.28),0 2px 6px rgba(15,27,45,.08);padding:0 0 6px}
.ecd-tecdd-cab{position:sticky;top:0;z-index:3;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:11px 14px 10px;background:#fff;border-bottom:1px solid #e2e8f0;font-size:12px;color:#475569}
.ecd-tecdd-cab b{font-size:14px;font-weight:800;color:#0f172a}
.ecd-tecdd-g{display:flex;align-items:center;gap:9px;margin:6px 0 0;padding:8px 14px 8px 11px;background:var(--gb,#eef5fc);border-left:3px solid var(--gc,#005a9c)}
.ecd-tecdd-gn{font-size:12.5px;font-weight:800;color:var(--gc,#005a9c)}
.ecd-tecdd-gd{margin-left:auto;font-size:11.5px;color:#475569;white-space:nowrap}
.ecd-tecdd-op{display:grid;grid-template-columns:16px minmax(0,1fr) auto 84px;align-items:center;gap:9px;width:100%;padding:8px 14px;border:0;background:none;text-align:left;font:inherit;font-size:13px;color:#0f172a;cursor:pointer}
.ecd-tecdd-op:hover,.ecd-tecdd-op:focus{background:#f1f5f9;outline:0}
.ecd-tecdd-op.on{background:#e8f0fa;font-weight:700}
.ecd-tecdd-ck{width:16px;height:16px;border-radius:50%;border:1.5px solid #cbd5e1;background:#fff}
.ecd-tecdd-op.on .ecd-tecdd-ck{border-color:#002147;background:#002147;box-shadow:inset 0 0 0 3px #fff}
.ecd-tecdd-on{min-width:0}
.ecd-tecdd-med{font-style:normal;font-size:11.5px;font-weight:600;color:#475569;background:#f1f5f9;border-radius:6px;padding:2px 7px;white-space:nowrap}
.ecd-tecdd-op .ecd-tecdd-pr{justify-self:end}
.ecd-tecdd-pr.con{color:#64748b;font-weight:600}
.ecd-tecdd-mejor,.ecd-tecdd-tuyo{font-style:normal;margin-left:5px;padding:1px 6px;border-radius:6px;font-size:10.5px;font-weight:700;white-space:nowrap}
.ecd-tecdd-mejor{background:#dcfce7;color:#166534}
.ecd-tecdd-tuyo{background:#fef3c7;color:#92400e}
.ecd-tecdd-pie{margin:8px 14px 2px;font-size:11.5px;color:#64748b}
@media (max-width:560px){.ecd-tecdd-op{grid-template-columns:16px minmax(0,1fr) auto;row-gap:3px}.ecd-tecdd-op .ecd-tecdd-med{grid-column:2;grid-row:2;justify-self:start}.ecd-tecdd-op .ecd-tecdd-pr{grid-column:3;grid-row:1/span 2}}
/* (k1606) girar el area de impresion desde el lienzo (su encargo 89) */
.ecd-hist .ecd-oricv{display:inline-flex;align-items:center;gap:6px;width:auto;height:34px;margin-left:4px;padding:0 10px;border:1px solid #cbd5e1;border-radius:9px;background:rgba(255,255,255,.92);color:#0f172a;font-weight:700;font-size:12.5px !important;cursor:pointer;white-space:nowrap}
.ecd-hist .ecd-oricv:hover{border-color:#94a3b8;background:#fff}
.ecd-oricv svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ecd-hist .ecd-oricv[hidden]{display:none}
@media (max-width:760px){.ecd-hist .ecd-oricv{padding:0 9px}.ecd-hist .ecd-oricv span{display:none}}   /* (k1606c) en el movil, solo el icono: no choca con la etiqueta de la zona */

/* (k1640) el color del diseno en cada prenda: los demas colores y uno libre */
.ecd-tin-pal{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 2px}
.ecd-tin-pal button{width:22px;height:22px;border-radius:50%;border:1px solid #cbd5e1;padding:0;cursor:pointer}
.ecd-tin-pal button.on,.ecd-tin-lib.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #005a9c}
.ecd-tin-lib{position:relative;width:22px;height:22px;border-radius:50%;border:1px dashed #94a3b8;display:inline-flex;align-items:center;justify-content:center;font:700 13px/1 Inter,'Segoe UI',Arial,sans-serif;color:#475569;cursor:pointer;overflow:hidden}
.ecd-tin-lib.on{border-style:solid;color:transparent}
.ecd-tin-lib input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}
.ecd-tin-n{font:600 11px Inter,'Segoe UI',Arial,sans-serif;color:#475569;margin:2px 0 4px}
.ecd-nota-tin{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:6px 8px;color:#1e3a8a}
/* (k1663) el progreso al guardar: los pasos (el actual gira, los hechos con su marca), la barra y el tanto por ciento */
.ecd-prog .ecd-mcaja{max-width:380px;padding:22px 22px 18px}
.ecd-prog h4{margin:0 0 3px;font-size:17px;font-weight:800;color:#002147}
.ecd-prog .ecd-prog-sub{margin:0 0 14px;font-size:13px;color:#64748b}
.ecd-prog-bar{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.ecd-prog-bar i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#005a9c,#0ea5e9);transition:width .35s ease}
.ecd-prog .ecd-prog-pc{margin:6px 0 12px;font-size:12px;font-weight:700;color:#005a9c;text-align:right;font-variant-numeric:tabular-nums}
.ecd-prog ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.ecd-prog li{display:flex;align-items:center;gap:10px;font-size:13.5px;line-height:1.35;color:#94a3b8}
.ecd-prog li:before{content:"";flex:0 0 18px;height:18px;box-sizing:border-box;border-radius:50%;border:2px solid #cbd5e1}
.ecd-prog li.on{color:#0f172a;font-weight:600}
.ecd-prog li.on:before{border-color:#005a9c;border-right-color:transparent;animation:ecdProgGira .8s linear infinite}
.ecd-prog li.ok{color:#334155}
.ecd-prog li.ok:before{border:0;background:#16a34a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.5 12.5l4 4 9-9' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
@keyframes ecdProgGira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ecd-prog li.on:before{animation:none}.ecd-prog-bar i{transition:none}}
