@font-face{font-family:Caprasimo;src:url(fuentes/Caprasimo-Regular.ttf)}
@font-face{font-family:Clash;src:url(fuentes/ClashGrotesk-Regular.otf)}
@font-face{font-family:Clash;src:url(fuentes/ClashGrotesk-Semibold.otf);font-weight:600}
:root{--purpura:#7C1667;--uva:#4F0645;--amarillo:#FFF0A9;--lila:#EBCBF1;--hueso:#FCFBF5;--tinta:#2A1027;--gris:#76606F;--linea:#EADFE6;--fondo:#F3EEF1;--ok:#1F7A4D;--ok-bg:#DDF2E6;--fab:#8A5300;--fab-bg:#FFE9C2;--no:#A3262E;--no-bg:#F8DEDF}
*{box-sizing:border-box}body.taller{margin:0;padding:0;font:16px/1.5 Clash,Arial,sans-serif}.taller header.cabecera{display:block;padding:20px max(20px,calc((100% - 1060px)/2));background:var(--purpura);color:var(--amarillo)}.cabecera-fila{display:flex;align-items:center;gap:16px}.taller .cabecera .logo-marca{height:34px;width:auto}.usuario{margin-left:auto;color:var(--lila);font-size:14px}.taller .cabecera button{display:flex;align-items:center;gap:8px;border:1px solid #ffffff55;background:transparent;color:var(--amarillo);border-radius:30px}.cabecera svg{width:20px;height:20px}.taller .cabecera .modulos{display:flex;justify-content:center;gap:4px;margin:18px auto 0;padding:4px;border:1px solid #ffffff33;border-radius:40px;width:max-content}.taller .cabecera .modulos a{font-size:15px;font-weight:600;padding:10px 24px;border:0;border-radius:30px;color:var(--lila)}.taller .cabecera .modulos a[aria-current=page]{background:var(--amarillo);color:var(--uva)}:focus-visible{outline:3px solid #8058AF;outline-offset:3px}@media print{.taller header.cabecera{display:none}}
@media(max-width:767px){.taller header.cabecera{padding:10px 16px}.cabecera-fila{gap:10px}.taller .cabecera .logo-marca{height:28px;width:auto}.cabecera .usuario{display:none}.cabecera #salir{margin-left:auto;width:44px;min-height:44px;padding:10px;justify-content:center}.cabecera #salir span{display:none}.taller .cabecera .modulos{margin-top:8px}.taller .cabecera .modulos a{padding:8px 20px}}

.taller button{font:inherit;cursor:pointer;padding:10px 16px;border:0}
/* Componentes compartidos por Producción y Costureras. */
body:is(.costureras-app,.produccion-app){background:var(--fondo);color:var(--tinta);font-variant-numeric:tabular-nums}
:is(.costureras-app,.produccion-app) h1,:is(.costureras-app,.produccion-app) h2{font-family:Caprasimo,Georgia,serif;font-weight:400;color:var(--uva)}
:is(.costureras-app,.produccion-app) h1{font-size:clamp(23px,3vw,34px);line-height:1.25;margin:8px 0}
:is(.costureras-app,.produccion-app) h2{font-size:23px;margin:28px 0 16px}
:is(.costureras-app,.produccion-app) h3{font-size:17px;margin:0}
:is(.costureras-app,.produccion-app) p{color:var(--gris)}
.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--gris);font-weight:600}
:is(.costureras-app,.produccion-app) .tarjeta,:is(.costureras-app,.produccion-app) article,:is(.costureras-app,.produccion-app) details{background:white;border:1px solid var(--linea);border-radius:16px;padding:24px;margin:0 0 16px}
:is(.costureras-app,.produccion-app) button{background:var(--purpura);color:var(--amarillo);font-weight:600;border-radius:12px;min-height:44px}
:is(.costureras-app,.produccion-app) .secundario{color:var(--purpura);background:white;border:1px solid var(--purpura)}
:is(.costureras-app,.produccion-app) .enlace{background:none;color:var(--purpura);padding:8px}
.chip{display:inline-block;border-radius:30px;padding:4px 10px;background:var(--fondo);color:var(--gris);font-size:12px;font-weight:600}
.chip.verde{background:var(--ok-bg);color:var(--ok)}
.chip.ambar{background:var(--fab-bg);color:var(--fab)}
.meter{height:7px;background:var(--fondo);border-radius:8px;overflow:hidden;margin:12px 0}
.meter span{display:block;height:100%;background:var(--purpura);border-radius:8px}
.fila{display:flex;gap:12px;align-items:center;padding:16px 0;border-top:1px solid var(--linea)}
.fila>div{flex:1;min-width:0}
.fila small{display:block;color:var(--gris);margin-top:4px}
.fila b.cantidad{font-size:24px}
.punto{height:10px;width:10px;display:inline-block;flex-shrink:0;border-radius:50%;background:var(--familia,#8058AF)}
.skeleton{height:160px;border-radius:16px;background:linear-gradient(100deg,var(--linea),white,var(--linea));background-size:200%;animation:pulso 1.5s infinite}
.vacio{text-align:center;padding:32px;color:var(--gris)}
[hidden]{display:none!important}.chip.rojo{background:var(--no-bg);color:var(--no)}
.taller main{max-width:1100px;margin:auto}.taller button:disabled{opacity:.5;cursor:wait}.taller summary{cursor:pointer;min-height:44px}.taller svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.banner-error:empty,.toast:empty{display:none}.banner-error{background:var(--no-bg);color:var(--no);padding:16px;border-radius:12px}.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:var(--uva);color:var(--amarillo);padding:14px 24px;border-radius:14px;z-index:120;box-shadow:0 8px 30px #2a102733;max-width:90%}
@keyframes pulso{to{background-position:200%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}


:is(.costureras-app,.produccion-app) nav.pasos{display:grid;grid-template-columns:repeat(3,1fr) .7fr;gap:0;margin:24px 0 30px}
:is(.costureras-app,.produccion-app) .pasos button{background:transparent;color:var(--gris);text-align:left;position:relative;border-radius:0;padding:12px 16px;border-bottom:2px solid var(--linea)}
.pasos button small{display:block;font-size:12px;margin:8px 0 0 38px;font-weight:400}
.pasos button svg{display:none;stroke:currentColor;stroke-width:1.8;fill:none}
:is(.costureras-app,.produccion-app) .pasos button[aria-current=true]{color:var(--purpura);border-color:var(--purpura);background:#ebcbf12b}
.taller .cabecera a{color:var(--amarillo);text-decoration:none;font-size:13px}.taller #vendedores{min-height:44px;display:flex;align-items:center}
@media(max-width:767px){
 :is(.costureras-app,.produccion-app) nav.pasos{position:fixed;bottom:0;left:0;right:0;background:white;margin:0;z-index:80;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linea);padding-bottom:env(safe-area-inset-bottom)}
 :is(.costureras-app,.produccion-app) .pasos button{display:flex;align-items:center;flex-direction:column;font-size:12px;height:70px;padding:10px 2px;border:0;gap:5px;text-align:center}
 .pasos button small{display:none}
 :is(.costureras-app,.produccion-app) .pasos button[aria-current=true]{background:var(--hueso)}
 .costureras-app article{padding:20px}
}

@media(max-width:767px){.pasos .paso-numero,.pasos button small{display:none}.pasos button svg,.pasos button:last-child svg{display:block;width:22px;height:22px;margin:0}.costureras-app .fila{flex-wrap:wrap}.costureras-app .fila>div{min-width:140px}}

.taller .cabecera .modulos a{display:flex;align-items:center;min-height:44px}.taller .cabecera svg{width:20px;height:20px}

/* Bienvenida compartida del taller. */
.taller .bienvenida{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;text-align:center;background:radial-gradient(circle at 50% 40%,var(--purpura),var(--uva));color:var(--amarillo);animation:bienvenida-entra 1.4s ease-out both;cursor:pointer}
.taller .bienvenida img{width:120px;margin-bottom:22px;opacity:.95}
.taller .bienvenida .saludo{margin:0;font:400 clamp(40px,9vw,76px)/1.05 Caprasimo,Georgia,serif;color:var(--amarillo)}
.taller .bienvenida .trato{margin:10px 0 0;font-size:clamp(20px,4.5vw,30px);font-weight:600;color:#fff}
.taller .bienvenida .cargo{margin:4px 0 0;font-size:clamp(16px,3.6vw,21px);color:var(--lila);letter-spacing:.02em}
.taller .bienvenida.saliendo{animation:bienvenida-sale 1.5s ease-in forwards;pointer-events:none}
@keyframes bienvenida-entra{from{opacity:0}to{opacity:1}}
@keyframes bienvenida-sale{from{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(6px)}}
@media (prefers-reduced-motion: reduce){.taller .bienvenida,.taller .bienvenida.saliendo{animation-duration:.01s}}
.taller .bienvenida img{width:clamp(130px,22vw,190px)}.taller .bienvenida .cargo{font-size:clamp(17px,3.8vw,24px)}
.taller .bienvenida{overflow-y:auto;overflow-wrap:anywhere}
.taller .bienvenida>p{max-width:100%;flex-shrink:0}
.taller .bienvenida .taller-marca{margin:12px 0 0;font-size:14px;color:var(--lila)}
@media print{.taller .bienvenida{display:none!important}}
@media(max-width:767px){.taller .cabecera .modulos{width:auto;max-width:100%;overflow-x:auto;scrollbar-width:none;justify-content:flex-start}.taller .cabecera .modulos::-webkit-scrollbar{display:none}.taller .cabecera .modulos a{padding:8px 12px;font-size:14px;white-space:nowrap}}
.aviso-conteo{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--uva);border-left:4px solid var(--fab);margin-bottom:14px}.aviso-conteo span{color:var(--gris);font-size:14px}

.aviso-urgente{background:#7C1667;color:#FFF0A9;font-weight:700;padding:14px 16px;border-radius:12px;margin:0 0 16px;line-height:1.4}.aviso-urgente a{color:#FFF0A9;text-decoration:underline;margin-left:6px}
