*{box-sizing:border-box}
html,body{margin:0;background:#0A0A0A;color:#FFFFFF;font-family:'Barlow',sans-serif}
a{color:#FFFFFF;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
.cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:20px clamp(16px,5vw,72px);border-bottom:1px solid rgba(255,255,255,0.08)}
.cab img{height:22px;width:auto;display:block}
.pasos{display:flex;flex-wrap:wrap;gap:6px}
.paso{display:flex;gap:8px;padding:8px 14px;transform:skewX(-10deg);font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:15px;letter-spacing:0.06em;color:rgba(255,255,255,0.45);background:transparent;border:0}
.paso.hecho{background:#2A2A2A;color:#FFFFFF}
.paso.activo{background:#CC0000;color:#FFFFFF}
.cuerpo{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;padding:clamp(28px,4vw,48px) clamp(16px,5vw,72px) 72px;max-width:1320px;margin:0 auto}
.principal{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:22px}
.h1{margin:0;font-family:'Montserrat',sans-serif;font-style:italic;font-weight:900;font-size:clamp(30px,3.6vw,46px);line-height:1;text-transform:uppercase}
.sub{color:rgba(255,255,255,0.6);font-size:16px;margin:8px 0 0}
.sec{background:#141414;border:1px solid rgba(255,255,255,0.08);padding:26px 24px;display:flex;flex-direction:column;gap:18px}
.sec.roja{border-color:rgba(204,0,0,0.6)}
.st{font-family:'Montserrat',sans-serif;font-style:italic;font-weight:900;font-size:22px;text-transform:uppercase;margin:0}
.st small{font-family:'Barlow',sans-serif;font-style:normal;font-weight:500;font-size:15px;text-transform:none;color:rgba(255,255,255,0.55);margin-left:8px}
.fl{display:flex;flex-direction:column;gap:6px;min-width:0}
.lb{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:15px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.7)}
.lb small{font-family:'Barlow',sans-serif;font-weight:500;letter-spacing:0;text-transform:none;color:rgba(255,255,255,0.45);font-size:13px}
.in{width:100%;background:#1A1A1A;border:1px solid rgba(255,255,255,0.16);color:#FFFFFF;font-family:'Barlow',sans-serif;font-size:16px;padding:12px 14px;border-radius:2px;outline:none}
.in:focus{border-color:#CC0000}
.in.error{border-color:#FF3B3B;background:#2A1414}
textarea.in{resize:vertical;min-height:110px;line-height:1.5}
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.g4{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tab{padding:10px 18px;transform:skewX(-10deg);font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;letter-spacing:0.05em;text-transform:uppercase;background:transparent;border:2px solid rgba(255,255,255,0.3)}
.tab.sel{background:#CC0000;border-color:#CC0000}
.disenos{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}
.dis{display:flex;flex-direction:column;gap:10px;padding:10px;background:#1A1A1A;border:3px solid transparent;text-align:left}
.dis.sel{border-color:#CC0000}
.dis img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block}
.dis .fila{display:flex;justify-content:space-between;align-items:center;gap:8px}
.dis .nom{font-family:'Montserrat',sans-serif;font-style:italic;font-weight:800;font-size:15px;text-transform:uppercase}
.dis .cod{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:14px;color:rgba(255,255,255,0.5)}
.dis.sel .cod{color:#FF3B3B}
.niveles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.niv{padding:18px;display:flex;flex-direction:column;gap:6px;background:#1A1A1A;border:2px solid rgba(255,255,255,0.12);text-align:left}
.niv.sel{background:#CC0000;border-color:#CC0000}
.niv .fila{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.niv .nom{font-family:'Montserrat',sans-serif;font-style:italic;font-weight:900;font-size:20px;text-transform:uppercase}
.niv .pre{font-family:'Montserrat',sans-serif;font-weight:800;font-size:18px}
.niv .res{font-size:14px;line-height:1.4;color:rgba(255,255,255,0.65)}
.niv.sel .res{color:rgba(255,255,255,0.92)}
.op{display:flex;align-items:flex-start;gap:14px;padding:16px;background:#1A1A1A;border:1px solid rgba(255,255,255,0.1);text-align:left;width:100%}
.op.sel{border-color:rgba(204,0,0,0.7)}
.caja{flex:0 0 auto;width:24px;height:24px;border:2px solid rgba(255,255,255,0.4);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px}
.sel>.caja,.marca.sel .caja{background:#CC0000;border-color:#CC0000}
.op .t{font-weight:700;font-size:17px;display:block}
.op .d{font-size:14px;line-height:1.45;color:rgba(255,255,255,0.6);display:block;margin-top:4px}
.marca{display:flex;align-items:center;gap:12px;background:none;border:0;padding:0;text-align:left;font-size:16px}
.tray{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}
.up{position:relative;border:2px dashed rgba(255,255,255,0.22);background:#121212;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;cursor:pointer;min-height:140px;overflow:hidden}
.up:hover{border-color:#CC0000}
.up.ok{border-style:solid;border-color:#2BB673}
.up.error{border-color:#FF3B3B}
.up input{position:absolute;inset:0;opacity:0;cursor:pointer}
.up .mas{font-size:32px;color:#CC0000;line-height:1}
.up .tit{font-weight:700;font-size:15px}
.up .ayuda{font-size:13px;color:rgba(255,255,255,0.5)}
.up img.prev{width:100%;height:110px;object-fit:contain;display:block}
.nota{font-size:15px;line-height:1.55;color:rgba(255,255,255,0.65)}
.nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.btn-sec{padding:15px 22px;border:2px solid rgba(255,255,255,0.35);background:transparent;font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;text-transform:uppercase}
.btn{background:#CC0000;border:0;padding:17px 30px;font-family:'Montserrat',sans-serif;font-style:italic;font-weight:900;font-size:16px;text-transform:uppercase;color:#FFFFFF}
.btn:disabled{opacity:0.6;cursor:wait}
.btn-mp{background:#009EE3;border:0;color:#FFFFFF;padding:17px 30px;font-weight:700;font-size:18px;border-radius:4px;align-self:flex-start}
.btn-mp:disabled{opacity:0.6;cursor:wait}
.aviso-error{background:#2A1414;border:1px solid #FF3B3B;padding:14px 16px;font-size:15px;line-height:1.5}
.aviso-error ul{margin:6px 0 0;padding-left:20px}
.resumen{flex:1 1 300px;min-width:0;background:#141414;border:1px solid rgba(255,255,255,0.08);border-top:4px solid #CC0000;padding:22px;display:flex;flex-direction:column;gap:16px}
.resumen .tit{font-family:'Montserrat',sans-serif;font-style:italic;font-weight:900;font-size:20px;text-transform:uppercase}
.mon{display:flex;border:1px solid rgba(255,255,255,0.25)}
.mon button{padding:6px 10px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:13px;background:transparent;border:0}
.mon button.sel{background:#FFFFFF;color:#0A0A0A}
.lin{display:flex;justify-content:space-between;gap:10px;font-size:15px}
.lin span:first-child{color:rgba(255,255,255,0.75)}
.total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid rgba(255,255,255,0.12);padding-top:14px}
.total b{font-family:'Montserrat',sans-serif;font-weight:900;font-size:30px}
.oculto{display:none !important}
.pie{border-top:1px solid rgba(255,255,255,0.08);padding:30px clamp(16px,5vw,72px);display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;color:rgba(255,255,255,0.55);font-size:15px}
.pie a{color:rgba(255,255,255,0.75)}
