@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow:wght@400;500;600;700&family=Barlow+Condensed:wght@500;600;700&display=swap";:root{--void:#0a0a0a;--carbon:#171716;--steel:#2e2e2c;--canvas:#f2f1ed;--paper:#fff;--rojo:#e2231a;--rojo-hot:#ff3527;--rojo-deep:#a8140d;--ink:#0a0a0a;--ink-2:#5a5a56;--ink-3:#96968f;--line:#dedcd5;--ok:#12854a;--warn:#c97a06;--bad:#c4151f;--display:"Bebas Neue", Impact, sans-serif;--cond:"Barlow Condensed", sans-serif;--sans:"Barlow", system-ui, sans-serif;--xs:4px;--sm:8px;--md:16px;--lg:24px;--xl:40px;--xxl:64px;--ease:cubic-bezier(.16, 1, .3, 1);--snap:cubic-bezier(.2, 0, 0, 1);--sombra:0 1px 2px #0a0a0a0d, 0 4px 10px #0a0a0a0d, 0 16px 32px #0a0a0a0f;--sombra-alta:0 8px 20px #0a0a0a1a, 0 28px 60px #0a0a0a24}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--canvas);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}button,input,textarea,select{font-family:var(--sans);color:inherit}::selection{background:var(--rojo);color:#fff}:focus-visible{outline:2.5px solid var(--rojo);outline-offset:3px}.logo-one{flex-shrink:0;width:46px;height:46px;position:relative}.logo-one .barra{background:var(--rojo);border-radius:0 10px 10px 0;width:34px;height:20px;position:absolute;top:50%;right:-6px;transform:translateY(-50%)}.logo-one .disco{background:var(--void);z-index:1;border:1.5px solid #ffffff24;border-radius:50%;align-content:center;place-items:center;display:grid;position:absolute;inset:0}.logo-one .t{font-family:var(--cond);color:#fff;letter-spacing:1.2px;margin-bottom:-1px;font-size:8px;font-weight:700;line-height:1}.logo-one .o{font-family:var(--display);color:#fff;letter-spacing:.5px;font-size:21px;line-height:.8}.app{min-height:100vh;display:flex}.side{background:var(--void);color:#8f8f89;flex-direction:column;flex-shrink:0;width:236px;padding:22px 12px 16px;display:flex;position:relative}.side:after{content:"";background:linear-gradient(180deg, var(--rojo) 0%, var(--rojo) 22%, transparent 22%);width:3px;height:100%;position:absolute;top:0;right:0}.side .marca{align-items:center;gap:12px;padding:0 10px 26px;display:flex}.side .marca .nom{font-family:var(--display);color:#fff;letter-spacing:1px;font-size:22px;line-height:.9}.side .marca .sub{font-family:var(--cond);letter-spacing:1.6px;text-transform:uppercase;color:var(--rojo);font-size:10px;font-weight:600}.side a{color:#8f8f89;font-family:var(--cond);letter-spacing:1.1px;text-transform:uppercase;transition:color .16s var(--snap), border-color .16s var(--snap), background .16s var(--snap);border-left:3px solid #0000;margin-bottom:1px;padding:11px 14px;font-size:15px;font-weight:600;text-decoration:none;display:block}.side a:hover{color:#fff;background:#ffffff0a}.side a.on{color:#fff;border-left-color:var(--rojo);background:#e2231a1a}.side .spacer{flex:1}.side .salir{color:#6b6b66;text-align:left;cursor:pointer;font-family:var(--cond);letter-spacing:1px;text-transform:uppercase;background:0 0;border:0;border-left:3px solid #0000;padding:10px 14px;font-size:13px}.side .salir:hover{color:var(--rojo-hot)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.top{background:var(--paper);border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:18px 30px;display:flex}.top h1{font-family:var(--display);letter-spacing:.8px;text-transform:uppercase;margin:0;font-size:30px;line-height:1}.top .sub{color:var(--ink-3);margin-top:2px;font-size:12.5px}.top .grow{flex:1}.body{flex:1;padding:26px 30px 70px}.btn{cursor:pointer;background:var(--rojo);color:#fff;font-family:var(--cond);letter-spacing:1.2px;text-transform:uppercase;white-space:nowrap;transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .16s;border:0;border-radius:3px;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;position:relative;box-shadow:0 3px 12px #e2231a47}.btn:hover{background:var(--rojo-hot);transform:translateY(-2px);box-shadow:0 8px 22px #e2231a5c}.btn:active{transform:translateY(0)}.btn.ghost{color:var(--ink);border:1.5px solid var(--ink);box-shadow:none;background:0 0}.btn.ghost:hover{background:var(--ink);color:#fff;box-shadow:none}.btn.negro{background:var(--void);box-shadow:none}.btn.negro:hover{background:var(--steel)}.btn.wa{background:#12854a;box-shadow:0 3px 12px #12854a42}.btn.wa:hover{background:#16a05a;box-shadow:0 8px 22px #12854a52}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn.sm{padding:8px 14px;font-size:12.5px}.card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--sombra);border-radius:4px}.card>h3{border-bottom:1px solid var(--line);font-family:var(--cond);letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-2);margin:0;padding:14px 18px;font-size:13px;font-weight:700}.card>.in{padding:20px}label.f{margin-bottom:16px;display:block}label.f>span{font-family:var(--cond);letter-spacing:1.1px;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;font-size:11.5px;font-weight:600;display:block}label.f>span em{color:var(--rojo);font-style:normal}input[type=text],input[type=tel],input[type=number],input[type=email],input[type=password],textarea,select{border:1.5px solid var(--line);width:100%;transition:border-color .16s var(--snap), box-shadow .16s var(--snap);background:#fff;border-radius:3px;outline:none;padding:11px 13px;font-size:15px}input:focus,textarea:focus,select:focus{border-color:var(--void);box-shadow:0 0 0 3px #e2231a24}textarea{resize:vertical;min-height:80px}.grid2{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:0 16px;display:grid}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1.5px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--cond);letter-spacing:.6px;color:var(--ink-2);transition:all .16s var(--snap);background:#fff;border-radius:3px;padding:7px 13px;font-size:13px;font-weight:600}.chip:hover{border-color:var(--ink-2)}.chip.on{background:var(--void);border-color:var(--void);color:#fff}.chip.no{border-color:var(--line);color:var(--ink-3);background:0 0;text-decoration:line-through}.pill{color:#fff;font-family:var(--cond);letter-spacing:1.1px;text-transform:uppercase;border-radius:3px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px;display:grid}.kpi{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:14px 16px 12px;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--ink-3);width:100%;height:3px;position:absolute;top:0;left:0}.kpi.rojo:before{background:var(--rojo)}.kpi.verde:before{background:var(--ok)}.kpi.ambar:before{background:var(--warn)}.kpi .t{font-family:var(--cond);letter-spacing:1.3px;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.kpi .v{font-family:var(--display);letter-spacing:.5px;margin:4px 0 2px;font-size:42px;line-height:.95}.kpi .s{color:var(--ink-3);font-size:11.5px}.cols{align-items:flex-start;gap:14px;padding-bottom:16px;display:flex;overflow-x:auto}.col{flex:0 0 272px}.col h4{border-bottom:2px solid var(--void);font-family:var(--cond);letter-spacing:1.3px;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;margin:0 0 10px;padding:0 2px 8px;font-size:12.5px;font-weight:700;display:flex}.col h4 .pt{border-radius:50%;flex-shrink:0;width:9px;height:9px}.col h4 b{font-family:var(--display);letter-spacing:.5px;color:var(--ink-3);margin-left:auto;font-size:17px;font-weight:400}.ord{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--ink-3);color:inherit;cursor:pointer;transition:transform .26s var(--ease), box-shadow .26s var(--ease);border-radius:4px;margin-bottom:8px;padding:13px 14px;text-decoration:none;display:block}.ord:hover{box-shadow:var(--sombra-alta);transform:translateY(-3px)}.ord .folio{font-family:var(--display);letter-spacing:1.2px;color:var(--ink);font-size:21px;line-height:1}.ord .eq{margin:3px 0 1px;font-size:14px;font-weight:600}.ord .cli{color:var(--ink-2);font-size:12.5px}.ord .pie{font-family:var(--cond);letter-spacing:.8px;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:6px;margin-top:10px;font-size:11px;display:flex}.ord .urg{background:var(--rojo);color:#fff;border-radius:2px;padding:2px 7px;font-weight:700}.ord .viejo{background:var(--warn);color:#fff;border-radius:2px;padding:2px 7px;font-weight:700}.col .nada{text-align:center;color:var(--ink-3);font-family:var(--cond);letter-spacing:1px;text-transform:uppercase;border:1px dashed var(--line);border-radius:4px;padding:20px 8px;font-size:12px}.firma{border:2px dashed var(--line);touch-action:none;background:#fff;border-radius:3px;width:100%;display:block}.fotos{flex-wrap:wrap;gap:8px;display:flex}.fotos img,.fotos .add{object-fit:cover;border:1px solid var(--line);border-radius:3px;width:86px;height:86px}.fotos .add{cursor:pointer;color:var(--ink-3);border:2px dashed var(--line);background:#fff;place-items:center;font-size:26px;transition:border-color .16s,color .16s;display:grid}.fotos .add:hover{border-color:var(--rojo);color:var(--rojo)}.tl{margin:0;padding:0;list-style:none}.tl li{gap:14px;padding-bottom:18px;display:flex;position:relative}.tl li:not(:last-child):before{content:"";background:var(--line);width:2px;position:absolute;top:18px;bottom:0;left:7px}.tl .pt{border:3px solid var(--canvas);z-index:1;border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-top:2px;box-shadow:0 0 0 1.5px}.tl .txt b{font-family:var(--cond);letter-spacing:.8px;text-transform:uppercase;font-size:14px;font-weight:700;display:block}.tl .txt small{color:var(--ink-3);font-size:12px}.login{background:var(--void);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.login:before{content:"";background:var(--rojo);opacity:.1;width:60%;height:160%;position:absolute;top:-30%;left:-10%;transform:skew(-14deg)}.login .box{background:var(--paper);z-index:1;width:100%;max-width:380px;animation:subir .7s var(--ease) both;border-radius:5px;padding:40px 36px;position:relative;box-shadow:0 30px 80px #00000080}@keyframes subir{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.login h1{font-family:var(--display);letter-spacing:1.5px;text-transform:uppercase;margin:20px 0 2px;font-size:42px;line-height:.9}.login .lema{font-family:var(--cond);letter-spacing:2px;text-transform:uppercase;color:var(--rojo);margin:0 0 28px;font-size:11.5px;font-weight:600}.login .hint{background:var(--canvas);color:var(--ink-2);text-align:center;font-size:11.5px;font-family:var(--cond);letter-spacing:.5px;border-radius:3px;margin-top:20px;padding:11px}.pub{background:var(--void);min-height:100vh;padding:30px 16px;position:relative}.pub:before{content:"";background:radial-gradient(at 50% 0,#e2231a29,#0000 60%);position:absolute;inset:0}.pub .box{background:var(--paper);z-index:1;max-width:440px;animation:subir .7s var(--ease) both;border-radius:6px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000080}.pub .hd{text-align:center;color:#fff;padding:34px 26px 28px}.pub .hd .marca-mini{font-family:var(--cond);letter-spacing:3px;text-transform:uppercase;opacity:.85;margin-bottom:14px;font-size:11px}.pub .hd h2{font-family:var(--display);letter-spacing:1.5px;text-transform:uppercase;margin:0 0 6px;font-size:46px;line-height:.9}.pub .hd p{opacity:.92;margin:0;font-size:13.5px}.pub .in{padding:24px 26px}.pub .row{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:11px 0;font-size:14px;display:flex}.pub .row span{font-family:var(--cond);letter-spacing:1.1px;text-transform:uppercase;color:var(--ink-3);flex-shrink:0;font-size:12px}.pub .row b{text-align:right;font-weight:600}.pub h4{font-family:var(--cond);letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-2);margin:24px 0 14px;font-size:12px}.pub .ft{text-align:center;background:var(--canvas);color:var(--ink-3);padding:20px 26px 26px;font-size:12px}.pub .ft b{font-family:var(--display);letter-spacing:1px;color:var(--ink);font-size:17px}.tabla{border-collapse:collapse;background:var(--paper);width:100%;font-size:14px}.tabla th{text-align:left;border-bottom:2px solid var(--void);font-family:var(--cond);letter-spacing:1.3px;text-transform:uppercase;color:var(--ink);padding:12px 18px;font-size:11.5px;font-weight:700}.tabla td{border-bottom:1px solid var(--line);padding:13px 18px}.tabla td b{font-family:var(--display);letter-spacing:.8px;font-size:18px;font-weight:400}.tabla tbody tr{cursor:pointer;transition:background .14s}.tabla tbody tr:hover td{background:var(--canvas)}.vacio{text-align:center;color:var(--ink-3);font-family:var(--cond);letter-spacing:1px;padding:70px 20px}.vacio .ic{opacity:.3;margin-bottom:12px;font-size:44px;display:block}.vacio b{font-family:var(--display);color:var(--ink);letter-spacing:1px;margin-bottom:6px;font-size:26px;display:block}.modal{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:aparecer .26s var(--ease) both;background:#0a0a0ad1;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}@keyframes aparecer{0%{opacity:0}to{opacity:1}}.modal-in{background:var(--paper);width:100%;max-width:420px;max-height:92vh;animation:subir .4s var(--ease) both;border-radius:5px;flex-direction:column;display:flex;overflow:hidden}.modal-bar{border-bottom:1px solid var(--line);font-family:var(--cond);letter-spacing:1.3px;text-transform:uppercase;align-items:center;gap:10px;padding:15px 18px;font-size:13px;font-weight:700;display:flex}.modal-bar span{color:#fff;background:var(--void);letter-spacing:1px;border-radius:2px;margin-left:auto;padding:3px 9px;font-size:11px}.modal-pie{border-top:1px solid var(--line);align-items:center;gap:14px;padding:14px 18px;display:flex}.modal-pie .nota{color:var(--ink-3);flex:1;font-size:11.5px;line-height:1.45}.papel-wrap{background:#cfcdc6;flex:1;padding:22px;overflow-y:auto}.papel{color:#111;background:#fff;width:262px;margin:0 auto;padding:15px 13px;font-family:Courier New,monospace;font-size:11px;line-height:1.42;box-shadow:0 4px 18px #0000004d}.p-c{text-align:center}.p-b{font-weight:700}.p-tit{letter-spacing:2px;font-size:18px;font-weight:700}.p-mini{font-size:9.5px;line-height:1.35}.p-folio{letter-spacing:1.5px;font-size:26px;font-weight:700}.p-hr{border-top:1px dashed #999;margin:7px 0}.p-qr{margin:6px auto;display:block}.p-corte{text-align:center;color:#555;border-top:2px dashed #333;margin:13px 0 9px;padding-top:4px;font-size:8.5px}.p-fila{justify-content:space-between;gap:8px;font-size:10px;display:flex}.p-fila span:last-child{text-align:right;word-break:break-word}.bt-log{background:var(--void);color:#4ade80;white-space:pre-wrap;border-radius:3px;max-height:240px;padding:13px;font-family:ui-monospace,monospace;font-size:11px;line-height:1.55;overflow:auto}@media (width<=860px){.app{flex-direction:column}.side{z-index:20;flex-direction:row;order:2;align-items:center;width:100%;padding:6px;position:sticky;bottom:0;overflow-x:auto}.side:after,.side .marca,.side .spacer,.side .salir{display:none}.side a{text-align:center;border-bottom:3px solid #0000;border-left:0;flex:1;margin:0;padding:12px 8px;font-size:12px}.side a.on{border-left:0;border-bottom-color:var(--rojo)}.main{order:1}.body{padding:18px 14px 40px}.top{padding:14px 16px}.top h1{font-size:24px}.grid2,.grid3{grid-template-columns:1fr}.cols{flex-direction:column}.col{flex:none;width:100%}.recepcion,.detalle{grid-template-columns:1fr!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.ticket{display:none}@media print{body{background:#fff}.app,.pub,.login{display:none!important}.ticket{width:var(--ancho,72mm);color:#000;margin:0;padding:0;font-family:Courier New,monospace;font-size:11px;line-height:1.35;display:block!important}.ticket .c{text-align:center}.ticket .b{font-weight:700}.ticket hr{border:0;border-top:1px dashed #000;margin:6px 0}.ticket .corte{text-align:center;border-top:2px dashed #000;margin:10px 0 8px;padding-top:3px;font-size:9px}.ticket .tit{letter-spacing:2px;font-size:15px;font-weight:700}.ticket .folio-xl{letter-spacing:1.5px;font-size:27px;font-weight:700}.ticket table{border-collapse:collapse;width:100%;font-size:10.5px}.ticket table td{vertical-align:top;padding:1px 0}.ticket table td:first-child{width:32%}.ticket img{margin:4px auto;display:block}.ticket .mini{font-size:8.5px;line-height:1.25}@page{margin:3mm}}
