@font-face{font-family:Uni Sans;font-weight:900;src:url(/fuentes/UniSans-Heavy.otf)format("opentype");font-display:swap}:root{--osc:#373435;--side:#2c2a2b;--side2:#3a3839;--azul:#52658c;--azul2:#435478;--claro:#8c95ad;--azulf:#e9edf5;--azulff:#f3f5fa;--fondo:#f4f5f8;--blanco:#fff;--txt:#1e1d1e;--gris:#686770;--borde:#e1e3ea;--ok:#1e7b45;--okf:#e4f4ea;--am:#9a6400;--amf:#fff4da;--ro:#b42318;--rof:#fde8e6;--tit:"Uni Sans","Segoe UI Black","Arial Black",sans-serif;--f:"Segoe UI",Roboto,Arial,sans-serif;--r:14px;--sombra:0 1px 2px #14141e0a,0 4px 14px #14141e0d}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--fondo);color:var(--txt);font:15px/1.45 var(--f);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--azul)}svg.i{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.demo-banda{background:var(--amf);color:var(--am);text-align:center;padding:5px 12px;font-size:12.5px;font-weight:700}.app{min-height:100%;display:flex}.side{background:var(--side);color:#e9e8ea;flex-direction:column;flex:none;width:250px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.logo{color:#fff;border-bottom:1px solid #464345;align-items:center;gap:12px;margin-bottom:14px;padding:4px 8px 18px;text-decoration:none;display:flex}.logo .t1{font-family:var(--tit);letter-spacing:1.5px;font-size:21px;font-weight:900;line-height:1}.logo .t2{letter-spacing:2.2px;color:#cfcdd2;margin-top:4px;font-size:8.5px}.rolbox{background:var(--side2);color:#bebcc2;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:12px}.rolbox b{color:#fff;font-size:14px;display:block}.menu a{color:#e2e0e5;border-radius:10px;align-items:center;gap:12px;margin-bottom:2px;padding:11px 12px;font-size:14.5px;text-decoration:none;display:flex}.menu a:hover{background:var(--side2)}.menu a.active{background:var(--azul);color:#fff;font-weight:600}.menu .badge{color:#2c2a2b;background:#e0a100;border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:800}.side .pie{color:#8f8c92;margin-top:auto;padding:12px 8px 0;font-size:11px}.side .pie a{color:#aab}.salir{color:#ddd;background:0 0;border:1px solid #57545a;border-radius:8px;width:100%;margin-top:8px;padding:6px 10px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.top{background:var(--blanco);border-bottom:1px solid var(--borde);z-index:5;align-items:center;gap:14px;padding:12px 24px;display:flex;position:sticky;top:0}.top .esp{flex:1}.net{white-space:nowrap;border-radius:14px;padding:5px 10px;font-size:12px;font-weight:700}.net.on{background:var(--okf);color:var(--ok)}.net.off{background:var(--amf);color:var(--am)}.user{align-items:center;gap:8px;font-size:13.5px;display:flex}.av{background:var(--azulf);width:34px;height:34px;color:var(--azul);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.cont{width:100%;max-width:1320px;padding:22px 24px 48px}.cab{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}h1{color:var(--osc);letter-spacing:-.3px;margin:0;font-size:28px}h2{color:var(--osc);margin:0 0 12px;font-size:19px}.subt{color:var(--gris);margin-top:4px;font-size:14px}.migas{color:var(--gris);font-size:13.5px}.migas a{color:var(--gris)}.fchip{background:var(--azulf);color:var(--azul);white-space:nowrap;border-radius:8px;padding:4px 9px;font-size:11.5px;font-weight:700}.g{gap:16px;display:grid}.k4{grid-template-columns:repeat(4,minmax(0,1fr))}.c2{grid-template-columns:1.35fr 1fr}.c2b{grid-template-columns:1fr 1fr}.card{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r);box-shadow:var(--sombra);padding:18px}.card h3{color:var(--osc);align-items:center;gap:10px;margin:0 0 14px;font-size:17px;display:flex}.card h3 .der{margin-left:auto;font-size:13px;font-weight:600}.card.am{background:#fffbf1;border-color:#f3dfaf}.kpi{align-items:flex-start;gap:14px;display:flex}.kpi .ic{background:var(--azulf);width:46px;height:46px;color:var(--azul);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.kpi .ic svg{width:24px;height:24px}.kpi.am .ic{background:var(--amf);color:var(--am)}.kpi.ro .ic{background:var(--rof);color:var(--ro)}.kpi.ok .ic{background:var(--okf);color:var(--ok)}.kpi .l{color:var(--gris);font-size:13.5px;font-weight:600}.kpi .v{color:var(--osc);margin:2px 0;font-size:27px;font-weight:800;line-height:1.15}.kpi .m{color:var(--gris);font-size:12px}.tabla-cont{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--gris);background:var(--azulff);white-space:nowrap;padding:9px 10px;font-size:13px;font-weight:600}td{border-bottom:1px solid var(--borde);vertical-align:middle;padding:11px 10px}tr:last-child td{border-bottom:none}tr.clic{cursor:pointer}tr.clic:hover td{background:var(--azulff)}td.n,th.n{text-align:right;white-space:nowrap}.est{white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.e-ok{background:var(--okf);color:var(--ok)}.e-am{background:var(--amf);color:var(--am)}.e-ro{background:var(--rof);color:var(--ro)}.e-az{background:var(--azulf);color:var(--azul)}.e-gr{color:#55535a;background:#eeedf0}.lista .it{border-bottom:1px solid var(--borde);align-items:center;gap:12px;padding:11px 2px;font-size:14px;display:flex}.lista .it:last-child{border-bottom:none}.lista .it .fe{color:var(--gris);white-space:nowrap;margin-left:auto;font-size:13px}.pto{background:var(--azul);border-radius:50%;flex:none;width:9px;height:9px}.pto.am{background:#e0a100}.pto.ro{background:var(--ro)}.btn{background:var(--azul);color:#fff;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{background:var(--azul2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.osc{background:var(--osc)}.btn.ok{background:var(--ok)}.btn.sec{background:var(--blanco);color:var(--osc);border:1.5px solid var(--borde)}.btn.lin{background:var(--blanco);color:var(--azul);border:1.5px solid var(--azul)}.btn.mal{background:var(--blanco);color:var(--ro);border:1.5px solid #e9b4ae}.btn.peq{padding:6px 11px;font-size:13px}.btn.full{width:100%}.acciones{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.aviso{background:var(--azulff);color:#3b3a40;border:1px solid #d5dbe8;border-radius:12px;align-items:flex-start;gap:12px;margin:12px 0;padding:12px 14px;font-size:13.5px;display:flex}.aviso svg{color:var(--azul);margin-top:1px}.aviso.am{background:var(--amf);border-color:#f0d894}.aviso.am svg{color:var(--am)}.aviso.ro{background:var(--rof);color:#7a1a12;border-color:#f1c2bc}.aviso.ro svg{color:var(--ro)}.aviso.ok{background:var(--okf);border-color:#bfe3cc}.aviso.ok svg{color:var(--ok)}.campo{margin-bottom:12px}.campo label{color:var(--osc);margin-bottom:5px;font-size:13px;font-weight:700;display:block}.campo input,.campo select,.campo textarea{border:1.5px solid var(--borde);width:100%;color:var(--txt);background:#fff;border-radius:10px;padding:10px 12px;font-size:15px}.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--azul);outline-offset:0;border-color:var(--azul)}.campo small{color:var(--gris);margin-top:4px;font-size:12px;display:block}.fila-campos{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px;display:grid}.tabs{border-bottom:1px solid var(--borde);gap:4px;margin:6px 0 18px;display:flex;overflow-x:auto}.tabs button{color:var(--gris);white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;padding:10px 16px;font-size:14.5px;font-weight:600}.tabs button.act{color:var(--azul);border-bottom-color:var(--azul)}.carpetas{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.carpeta{border:1.5px solid var(--borde);text-align:left;color:var(--osc);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:12px;font-size:14px;font-weight:600;display:flex}.carpeta.act{border-color:var(--azul);background:var(--azulff)}.carpeta .num{color:var(--gris);margin-left:auto;font-size:12px;font-weight:700}.modal-fondo{z-index:50;background:#14141973;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:90vh;padding:22px;overflow:auto;box-shadow:0 20px 60px #00000040}.modal h2{margin-bottom:6px}.vacio{text-align:center;color:var(--gris);padding:40px 16px}.cargando{text-align:center;color:var(--gris);padding:40px}.progreso{background:#e6e8ee;border-radius:6px;height:10px;overflow:hidden}.progreso i{background:var(--azul);height:100%;transition:width .2s;display:block}.ingreso{background:linear-gradient(160deg,#2c2a2b 0%,#373435 55%,#435478 100%);justify-content:center;align-items:center;min-height:100%;padding:20px;display:flex}.ingreso .caja{background:#fff;border-radius:18px;width:100%;max-width:400px;padding:28px;box-shadow:0 20px 60px #0000004d}.ingreso .marca{color:var(--osc);align-items:center;gap:12px;margin-bottom:20px;display:flex}.ingreso .marca .t1{font-family:var(--tit);letter-spacing:1.5px;font-size:24px;font-weight:900;line-height:1}.ingreso .marca .t2{letter-spacing:2.4px;margin-top:5px;font-size:9px}@media (width<=1100px){.k4{grid-template-columns:repeat(2,minmax(0,1fr))}.c2,.c2b{grid-template-columns:1fr}}@media (width<=820px){.app{flex-direction:column}.side{width:100%;height:auto;padding:12px;position:static}.logo{border:none;margin-bottom:6px;padding-bottom:8px}.rolbox,.side .pie{display:none}.menu{gap:4px;display:flex;overflow-x:auto}.menu a{white-space:nowrap;padding:8px 12px;font-size:13.5px}.top{padding:10px 16px}.cont{padding:16px}h1{font-size:23px}.k4{grid-template-columns:1fr}.ocultar-movil{display:none}}.muro{max-width:620px;margin:0 auto;padding-bottom:90px}.muro-filtros{gap:8px;margin-bottom:14px;display:flex;overflow-x:auto}.chip{border:1.5px solid var(--borde);color:var(--osc);white-space:nowrap;background:#fff;border-radius:20px;padding:7px 14px;font-size:14px;font-weight:600}.chip.act{background:var(--osc);color:#fff;border-color:var(--osc)}.tarjeta{border:1px solid var(--borde);box-shadow:var(--sombra);background:#fff;border-radius:18px;margin-bottom:16px;overflow:hidden}.tarjeta.pendiente-envio{background:#fffcf3;border-style:dashed;border-color:#e0a100}.tarjeta-cab{align-items:center;gap:10px;padding:12px 14px;display:flex}.tarjeta-cab b{color:var(--osc);font-size:14.5px;display:block}.tarjeta-cab small{color:var(--gris);font-size:12.5px;display:block}.carrusel{scroll-snap-type:x mandatory;scrollbar-width:none;background:#ecedf1;display:flex;overflow-x:auto}.carrusel::-webkit-scrollbar{display:none}.carrusel img,.carrusel .foto-cargando{aspect-ratio:4/3;object-fit:cover;scroll-snap-align:center;cursor:zoom-in;background:#e4e6ec;flex:0 0 100%;width:100%}.puntos{justify-content:center;gap:5px;padding:8px 0 0;display:flex}.puntos i{background:var(--claro);border-radius:50%;width:6px;height:6px}.tarjeta-cuerpo{padding:10px 14px 4px}.tarjeta-cuerpo .sub{color:var(--osc);font-size:15.5px;font-weight:700}.tarjeta-cuerpo .cant{margin-top:2px;font-size:15px}.tarjeta-cuerpo .texto{margin:6px 0 0;font-size:14.5px}.fila-accion{flex-wrap:wrap;gap:8px;margin:10px 0 4px;display:flex}.fila-accion input{border:1.5px solid var(--borde);border-radius:10px;flex:1;min-width:120px;padding:10px 12px;font-size:16px}.comentarios{border-top:1px solid #f0f1f4;margin-top:8px;padding:6px 14px 12px}.comentarios p{margin:6px 0;font-size:14px}.comentarios small{color:var(--gris);margin-left:4px;font-size:11.5px}.comentarios .enlace{color:var(--gris);background:0 0;border:none;padding:4px 0;font-size:13.5px}.comentar{gap:6px;margin-top:8px;display:flex}.comentar input{border:1.5px solid var(--borde);border-radius:20px;flex:1;padding:9px 14px;font-size:15px}.comentar button{background:var(--azul);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.comentar button:disabled{background:var(--claro)}.boton-camara{background:var(--azul);color:#fff;z-index:20;border-radius:50%;justify-content:center;align-items:center;width:66px;height:66px;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 8px 24px #52658c73}.boton-camara:active{transform:scale(.95)}.paso{color:var(--azul);letter-spacing:.6px;text-transform:uppercase;margin:6px 0 8px;font-size:12px;font-weight:800}.subbtn{text-align:left;border:1.5px solid var(--borde);width:100%;color:var(--osc);background:#fff;border-radius:14px;margin-bottom:9px;padding:14px;font-size:16px;font-weight:700;display:block}.subbtn small{color:var(--gris);margin-top:3px;font-size:12.5px;font-weight:400;display:block}.subbtn.sug{border-color:var(--azul);background:var(--azulff)}.buscador,.selector-obra{border:1.5px solid var(--borde);background:#fff;border-radius:12px;width:100%;margin-bottom:10px;padding:13px 14px;font-size:17px}
