:root{--morado:#5a2e91;--morado-osc:#45206f;--morado-medio:#8a5bd0;--morado-suave:#f1ebf9;--lima:#afd856;--lima-osc:#93bc3c;--lima-suave:#f2f9e4;--rosa:#ff7bf5;--amarillo:#ffe500;--naranja:#ff5a00;--tinta:#1d1530;--tinta-2:#5b5368;--tinta-3:#716a80;--fondo:#ffffff;--fondo-2:#f7f4fb;--linea:#e8e3ef;--verde:#2f7d32;--verde-suave:#e6f4e4;--alerta:#c2410c;--alerta-suave:#fff0e6;--sombra:0 1px 2px rgba(29,21,48,0.05),0 10px 30px rgba(29,21,48,0.08);--ease-out:cubic-bezier(0.23,1,0.32,1);--titulo:"Rubik",system-ui,sans-serif;--texto:"Barlow",system-ui,-apple-system,sans-serif;--mono:"Space Mono",ui-monospace,monospace;--radio-tarjeta:22px;--radio-pill:999px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--fondo);color:var(--tinta);font:17px/1.5 var(--texto);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:var(--titulo);letter-spacing:-.02em;margin:0}h1{font-size:clamp(34px,5vw,52px);line-height:1.05}h1,h2{font-weight:800}h2{font-size:clamp(24px,3.4vw,32px);line-height:1.1}a{color:var(--morado)}.wrap{max-width:1140px;margin:0 auto;padding:0 20px}.etq{display:block;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-3)}.muted{color:var(--tinta-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radio-pill);padding:13px 22px;font-family:var(--titulo);font-weight:700;font-size:15px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .16s var(--ease-out),background-color .15s ease}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:3px solid var(--rosa);outline-offset:2px}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.btn-morado{background:var(--morado);color:#fff}.btn-morado:hover{background:var(--morado-osc)}.btn-lima{background:var(--lima);color:var(--tinta)}.btn-lima:hover{background:var(--lima-osc)}.btn-fantasma{background:transparent;color:var(--tinta);box-shadow:inset 0 0 0 1.5px var(--linea)}.btn-fantasma:hover{box-shadow:inset 0 0 0 1.5px var(--morado);color:var(--morado)}.btn-mini{padding:8px 13px;font-size:13px}label{font-size:14.5px;font-weight:600;color:var(--tinta-2)}.f,label{display:block}.f{width:100%;margin-top:6px;border:1.5px solid var(--linea);border-radius:12px;background:var(--fondo);padding:11px 13px;font-size:16px;outline:0;transition:border-color .15s,box-shadow .15s}.f:focus{border-color:var(--morado);box-shadow:0 0 0 3px var(--morado-suave)}textarea.f{resize:vertical;min-height:84px}.hero{color:#fff;text-align:center;padding:84px 20px 72px;background:radial-gradient(900px 520px at 50% -12%,rgba(175,216,86,.2),transparent 65%),linear-gradient(170deg,#6534a3 0,var(--morado) 50%,#4a2480 100%)}.hero .lead{font-size:19px;color:#e6dcf5;max-width:31em;margin:0 auto 34px}.hero h1 em{font-style:normal;color:var(--lima)}.cotiza{display:flex;align-items:center;gap:6px;background:#fff;border-radius:var(--radio-pill);padding:8px 8px 8px 24px;text-align:left;box-shadow:0 28px 60px -24px rgba(0,0,0,.42);max-width:640px;margin:0 auto}.cotiza:focus-within{box-shadow:0 0 0 5px rgba(175,216,86,.6),0 28px 60px -24px rgba(0,0,0,.42)}.cotiza input{flex:1 1;min-width:0;border:0;outline:0;font-size:18px;font-weight:500;background:none;padding:12px 0}.error{color:var(--amarillo);font-size:15px;font-weight:600;margin:10px 0 0;min-height:1.3em}.error.oscuro{color:var(--alerta)}.pasos{list-style:none;margin:0 0 26px;padding:0}.pasos,.pasos li{display:flex;gap:8px}.pasos li{align-items:center;flex:1 1;font-family:var(--titulo);font-size:13.5px;font-weight:600;color:var(--tinta-3)}.pasos li span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--fondo-2);border:1px solid var(--linea);font-size:12.5px;flex:none}.pasos li:after{content:"";flex:1 1;height:2px;background:var(--linea);border-radius:2px;min-width:8px}.pasos li:last-child:after{display:none}.pasos li.actual{color:var(--morado)}.pasos li.actual span{background:var(--morado);border-color:var(--morado);color:#fff}.pasos li.hecho span{background:var(--lima);border-color:var(--lima);color:var(--tinta)}.card{max-width:960px;margin:0 auto;background:var(--fondo);border:1px solid var(--linea);border-radius:28px;box-shadow:var(--sombra);padding:30px}.titulo-paso{font-size:28px;margin:0 0 18px}.prod{display:grid;grid-template-columns:150px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.prod-img{aspect-ratio:1;border-radius:20px;background:var(--morado-suave);display:grid;place-items:center;color:var(--tinta);font-family:var(--titulo);font-weight:800}.prod-nombre{font-size:26px;font-weight:700;line-height:1.15;margin:10px 0 4px}.prod-meta{margin:0;color:var(--tinta-2);font-size:15px}.sello{display:inline-flex;align-items:center;gap:6px;font-family:var(--titulo);font-size:12px;font-weight:700;color:#3f6212;background:var(--lima-suave);padding:4px 10px;border-radius:var(--radio-pill);white-space:nowrap}.sello-amarillo{color:#6b5a00;background:#fff7b8}.campos-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:12px}.cantidad{display:inline-flex;align-items:center;gap:2px;margin-top:16px;border:1px solid var(--linea);border-radius:var(--radio-pill);padding:3px}.cantidad button{width:32px;height:32px;border:0;border-radius:50%;background:none;cursor:pointer;font-size:18px;font-weight:700;color:var(--morado)}.cantidad button:hover{background:var(--morado-suave)}.cantidad output{min-width:22px;text-align:center;font-family:var(--titulo);font-weight:700}.aviso{background:#fff7b8;border-radius:12px;padding:10px 14px;font-size:15px;color:#5c4d00;margin:14px 0 4px}.total-grande{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;background:var(--morado);color:#fff;border-radius:22px;padding:22px 26px;margin:26px 0 12px;position:relative;overflow:hidden}.total-grande:after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:var(--lima);opacity:.18}.total-grande .etq{color:var(--lima)}.total-grande strong{display:block;font-family:var(--titulo);font-size:clamp(38px,6vw,54px);font-weight:800;margin:6px 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.total-grande small{color:#e3d8f3;font-size:15px;display:block;max-width:34em}.desglose{border:1px solid var(--linea);border-radius:16px;padding:0 18px}.desglose summary{cursor:pointer;padding:14px 0;font-family:var(--titulo);font-weight:600;font-size:14.5px;list-style:none;display:flex;justify-content:space-between;color:var(--morado)}.desglose summary::-webkit-details-marker{display:none}.desglose summary:after{content:"+";font-size:20px;font-weight:500}.desglose[open] summary:after{content:"−"}.fila{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px dashed var(--linea);font-size:15.5px}.fila span:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.fila-total{font-weight:700;border-top:2px solid var(--morado);padding:12px 0 14px}.regalo-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-gap:30px;gap:30px;align-items:start}.campos{display:grid;grid-gap:14px;gap:14px}.fila-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.check{display:flex;align-items:center;gap:10px;font-weight:600;cursor:pointer;font-size:15.5px}.check input{width:18px;height:18px;accent-color:var(--morado);margin:0}.barra-total{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--linea);margin-top:26px;padding-top:20px}.barra-total strong{display:block;font-family:var(--titulo);font-size:32px;font-weight:800;color:var(--morado);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.acciones{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.metodos{border:0;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.metodo{border:1.5px solid var(--linea);border-radius:14px;padding:12px 14px;cursor:pointer;font-family:var(--titulo);font-weight:700;font-size:14.5px;position:relative}.metodo input{position:absolute;opacity:0;pointer-events:none}.metodo small{display:block;font-family:var(--texto);font-weight:500;color:var(--tinta-2);font-size:13.5px}.metodo:has(input:checked){border-color:var(--morado);box-shadow:0 0 0 3px var(--morado-suave)}.resumen{border:1px solid var(--linea);border-radius:18px;padding:18px;margin-bottom:14px}.resumen-prod{display:flex;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--linea)}.resumen-prod small{display:block;color:var(--tinta-2);font-size:14.5px}.resumen-datos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px 24px;gap:14px 24px;margin:14px 0 0}.resumen-datos dt{font-size:13px;color:var(--tinta-3);font-weight:600}.resumen-datos dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}.señal{display:inline-flex;gap:6px;padding:5px 9px 5px 8px;border-radius:7px;background:var(--amarillo);color:var(--tinta);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.ruta,.señal{align-items:center;font-family:var(--mono)}.ruta{display:flex;gap:8px;flex-wrap:wrap;font-size:12.5px}.ruta b{background:var(--fondo-2);border:1px solid var(--linea);border-radius:6px;padding:3px 8px}.ruta i{color:var(--tinta-3);font-style:normal}.linea-tiempo{list-style:none;margin:0;padding:0}.linea-tiempo li{display:flex;gap:14px;position:relative;padding-bottom:18px}.linea-tiempo li:before{content:"";position:absolute;left:8px;top:20px;bottom:0;width:2px;background:var(--linea)}.linea-tiempo li:last-child:before{display:none}.linea-tiempo li.hecho:before{background:var(--lima)}.punto{width:18px;height:18px;border-radius:50%;border:2px solid var(--linea);background:var(--fondo);flex:none;margin-top:2px;position:relative;z-index:1}.hecho .punto{background:var(--lima);border-color:var(--lima)}.actual .punto{background:var(--morado);border-color:var(--morado);box-shadow:0 0 0 5px var(--morado-suave)}.linea-tiempo b{display:block;font-family:var(--titulo);font-weight:600;font-size:15.5px}.linea-tiempo li:not(.hecho):not(.actual) b{color:var(--tinta-3);font-weight:500}.linea-tiempo small{color:var(--tinta-3);font-size:14px}.aviso-pase{display:flex;gap:12px;align-items:start;background:var(--lima-suave);color:#3f6212;border-radius:16px;padding:14px 18px;margin-bottom:16px;font-size:15.5px}.aviso-pase.alerta{background:var(--alerta-suave);color:var(--alerta)}.aviso-pase b{display:block;font-family:var(--titulo)}.aviso-pase p{margin:4px 0 0}.aviso-pase .acciones{margin-top:10px}.pase{border:1px solid var(--linea);border-radius:var(--radio-tarjeta);background:var(--fondo);padding:18px 20px;margin-bottom:14px}.pase-cab{display:flex;justify-content:space-between;gap:12px;align-items:start;flex-wrap:wrap}.pase-cab h3{font-size:17px}.pase-estado{font-family:var(--titulo);font-weight:700;font-size:13px;padding:4px 10px;border-radius:var(--radio-pill);background:var(--fondo-2);color:var(--tinta-2)}.pase-estado.actual{background:var(--morado);color:#fff}.pase-estado.hecho{background:var(--lima);color:var(--tinta)}.pase-estado.alerta{background:var(--alerta-suave);color:var(--alerta)}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--linea)}.nav-in{max-width:1280px;margin:0 auto;padding:10px 20px;justify-content:space-between;gap:12px;flex-wrap:wrap}.nav-der,.nav-in{display:flex;align-items:center}.nav-der{gap:10px}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs a{padding:8px 14px;border-radius:var(--radio-pill);text-decoration:none;font-family:var(--titulo);font-weight:700;font-size:14px;color:var(--tinta-2)}.tabs a.activo{background:var(--tinta);color:#fff}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.kpi{background:var(--fondo-2);border-radius:18px;padding:16px 18px}.kpi b{display:block;font-family:var(--titulo);font-size:30px;font-weight:800;color:var(--morado);margin-top:6px}.kpi.alerta b{color:var(--alerta)}.tablero{display:grid;grid-gap:12px;gap:12px;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);overflow-x:auto;padding-bottom:12px}.columna{background:var(--fondo-2);border-radius:18px;padding:12px;min-width:240px}.columna header{display:flex;justify-content:space-between;align-items:baseline;padding:2px 6px 10px}.columna header span{font-family:var(--titulo);font-weight:700;font-size:14px}.columna header b{font-family:var(--titulo);font-size:18px;color:var(--morado)}.columna-vacia{color:var(--tinta-3);font-size:14px;text-align:center;padding:18px 6px}.ficha{background:var(--fondo);border:1px solid var(--linea);border-radius:18px;padding:12px 14px;margin-bottom:10px}.ficha.nueva{background:#fbf8ff}.ficha header{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.ficha header b{font-family:var(--titulo);font-size:14.5px}.ficha header span{font-family:var(--titulo);font-weight:700;font-size:13px;color:var(--morado);white-space:nowrap}.ficha-items{margin:8px 0 4px;font-size:14px}.ficha small{color:var(--tinta-3);font-size:12.5px;display:block}.marca{display:inline-block;font-family:var(--titulo);font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:var(--radio-pill);margin:6px 4px 0 0;background:var(--fondo-2);color:var(--tinta-2)}.marca.m-alerta{background:var(--alerta-suave);color:var(--alerta)}.marca.m-lima{background:var(--lima-suave);color:#3f6212}.marca.m-rosa{background:#ffe3fd;color:#8a1c83}.marca.m-morado{background:var(--morado-suave);color:var(--morado)}.ficha-acciones{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}.detalle-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:30px;gap:30px;align-items:start}.bitacora{list-style:none;margin:0;padding:0;font-size:14.5px}.bitacora li{display:grid;grid-template-columns:64px minmax(0,1fr);grid-gap:10px;gap:10px;padding:8px 0;border-top:1px dashed var(--linea)}.bitacora time{color:var(--tinta-3);font-family:var(--mono);font-size:12px}.despacho{border:1px solid var(--linea);border-radius:var(--radio-tarjeta);padding:18px 20px;margin-bottom:14px;background:var(--fondo)}.despacho.estado-armando{background:#fffbe0}.despacho header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.despacho h3{font-size:18px}.paquete{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-top:1px dashed var(--linea);font-size:14.5px}.vacio{text-align:center;color:var(--tinta-2);padding:40px 20px;background:var(--fondo-2);border-radius:18px}.leyendo{display:flex;gap:22px;align-items:center;padding:12px 4px}.spinner{width:46px;height:46px;border-radius:50%;flex:none;border:4px solid var(--morado-suave);border-top-color:var(--morado);animation:gira .6s linear infinite}@keyframes gira{to{transform:rotate(1turn)}}.ley-lista{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.ley-lista li{color:var(--tinta-3);font-weight:600;transition:color .2s}.ley-lista li:before{content:"";display:inline-block;width:14px;height:14px;margin-right:10px;vertical-align:-2px;border-radius:50%;border:2px solid}.ley-lista li.listo{color:var(--tinta)}.toasts{position:fixed;bottom:18px;right:18px;display:grid;grid-gap:10px;gap:10px;z-index:60;max-width:min(420px,calc(100vw - 36px))}.toast{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--tinta);color:#ede7f6;border-radius:16px;padding:14px 18px;box-shadow:var(--sombra);font-size:15px;animation:entra .24s var(--ease-out) both}.toast button{border:0;background:none;color:var(--lima);font-weight:700;cursor:pointer;font:inherit}@keyframes entra{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width:820px){.hero{padding:60px 16px 40px}.campos-3,.detalle-grid,.metodos,.regalo-grid,.resumen-datos{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:20px;border-radius:22px}.prod{grid-template-columns:84px minmax(0,1fr);gap:16px}.prod-nombre{font-size:21px}.fila-2{grid-template-columns:1fr}}