:root{--desk:#2a2c30;--bar:#1f2124;--bar-h:46px;--bar-text:#d9dadc;--case:#f3f2ee;--case-edge:#d6d4cc;--key:#fbfbf9;--key-low:#e2e1dc;--key-shadow:#b4b2aa;--key-text:#34332f;--key-hint:#8b887f;--minus:#df5f55;--minus-low:#c94a40;--vfd-bg:#0d1316;--vfd:#41f2cb;--paper:#fbfaf5;--ink:#1d1d1b;--ink-red:#c3271f;--key-row:50px;--paper-w:min(370px, calc(100% - 64px));--slot-w:min(394px, calc(100% - 24px));--mono:"SF Mono", ui-monospace, Menlo, Consolas, "Liberation Mono", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--desk);color:var(--bar-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;height:100vh;display:flex}.bar{z-index:25;height:var(--bar-h);background:var(--bar);align-items:center;gap:10px;padding:0 10px 0 14px;font-size:13px;display:flex;position:relative}.bar-title{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.icon{flex:none;width:18px;height:18px}.sync{color:#9a9da2;white-space:nowrap;cursor:default;align-items:center;gap:6px;margin-right:auto;font-size:12px;display:inline-flex}.sync:empty{display:none}.sync:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.sync[data-state=al-dia]:before{background:var(--vfd)}.sync[data-state=enviando]{color:#e8c66a}.sync[data-state=sin-conexion]{color:#f0a868}.sync[data-state=rechazada]{color:#ff8a7e;font-weight:600}.cajero{min-width:0;max-width:260px;color:var(--bar-text);font:inherit;cursor:pointer;background:#2c2f33;border:0;border-radius:999px;align-items:center;gap:8px;padding:3px 9px 3px 3px;display:inline-flex}.cajero[hidden]{display:none}.cajero:hover{background:#36393e}.cajero-initials{width:24px;height:24px;color:var(--vfd);letter-spacing:.02em;background:#41f2cb29;border-radius:50%;flex:none;place-items:center;font-size:10.5px;font-weight:700;display:grid}.cajero-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cajero .icon{color:#8d9095;width:15px;height:15px}.cajero:hover .icon{color:#fff}.day{appearance:none;color:var(--bar-text);font:inherit;cursor:pointer;background:#2c2f33 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9da2' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") right 8px center/14px no-repeat;border:0;border-radius:7px;flex:none;padding:6px 28px 6px 10px}.day:hover{background-color:#36393e}.tools{flex:none;align-items:center;gap:2px;display:flex}.tool{color:#a9acb1;min-width:32px;height:32px;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.tool[hidden]{display:none}.tool:hover{color:#fff;background:#ffffff12}.tool[aria-pressed=false]{color:#6f7277}.bar :focus-visible{outline:2px solid var(--vfd);outline-offset:1px}@media (width<=1080px){.tool-label{display:none}.tool{padding:0}}@media (width<=760px){:root{--bar-h:84px}.bar{flex-wrap:wrap;align-content:center;row-gap:8px;padding:8px 8px 8px 12px}.bar-title{order:0}.sync{order:1}.cajero{order:2;max-width:58vw}.bar:after{content:"";flex-basis:100%;order:3;height:0;margin-top:-8px}.day{flex:1 1 0;order:4;min-width:0;max-width:180px;margin-right:auto}.tools{order:5}}.alert{z-index:30;color:#fff;background:#7a1d17;margin:0;padding:10px 14px;font-size:13px;font-weight:600;position:relative}.desk{flex-direction:column;flex:1;align-items:center;min-height:0;padding:10px 12px 12px;display:flex}.paper-zone{z-index:1;min-height:0;width:var(--paper-w);flex-direction:column;flex:1;justify-content:flex-end;margin-bottom:-21px;display:flex;position:relative}.paper-head{display:none}.roll{cursor:zoom-in;flex-shrink:0}.paper{cursor:zoom-in;scrollbar-width:none;flex:none;overflow-y:auto}.paper::-webkit-scrollbar{display:none}.paper:empty:before{content:"Espacio = corte · Enter = total";text-align:center;color:#aaa79f;font-size:13px;display:block}.app.expanded .paper-zone{inset:var(--bar-h) 0 0;z-index:20;background:#18191cf7;justify-content:flex-start;align-items:center;width:auto;margin:0;padding:10px 12px 12px;position:fixed}.app.expanded .paper-head{justify-content:space-between;align-items:center;width:min(420px,100%);margin-bottom:10px;font-size:13px;display:flex}.app.expanded .roll{display:none}.app.expanded .paper{cursor:auto;scrollbar-width:thin;flex:auto;width:min(420px,100%);padding-bottom:20px}.print-head{display:none}.machine{background:var(--case);border:1px solid var(--case-edge);width:min(460px,100%);box-shadow:0 14px 34px #00000073, inset 0 -4px 0 var(--case-edge);border-radius:18px;flex-shrink:0;padding:14px 16px 18px}.slot{z-index:2;width:var(--slot-w);background:linear-gradient(#1c1c1c,#4a4a48);border-radius:7px;height:14px;margin:0 auto 10px;position:relative;box-shadow:inset 0 2px 4px #000c,0 1px #fff}.machine-head{color:#3a3935;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.brand{letter-spacing:.18em;font-size:13px;font-weight:800}.status{color:#5d5b55;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.display{background:var(--vfd-bg);border-radius:8px;align-items:center;gap:10px;height:64px;margin-bottom:14px;padding:0 16px;display:flex;overflow:hidden;box-shadow:inset 0 3px 10px #000000b3}.indicator{min-width:1.2em;color:var(--vfd);font:700 20px var(--mono);text-shadow:0 0 8px #41f2cb99}.value{text-align:right;color:var(--vfd);font:600 38px var(--mono);letter-spacing:.04em;white-space:nowrap;text-shadow:0 0 10px #41f2cb8c;flex:1}.value[data-size=m]{font-size:30px}.value[data-size=s]{letter-spacing:0;font-size:25px}.value.negative{color:#ff7a6b;text-shadow:0 0 10px #ff7a6b80}.keys{grid-template-columns:repeat(4,1fr);grid-auto-rows:var(--key-row);gap:8px;display:grid}.key{background:linear-gradient(var(--key), var(--key-low));color:var(--key-text);box-shadow:0 3px 0 var(--key-shadow);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #c9c7c0;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;transition:transform 60ms,box-shadow 60ms;display:flex}.key b{font-size:21px;font-weight:600;line-height:1}.key small{color:var(--key-hint);letter-spacing:.03em;font-size:10px}.key.pressed,.key:active{box-shadow:0 1px 0 var(--key-shadow);transform:translateY(2px)}.key.num b{font-size:24px}.key.fn b{letter-spacing:.04em;font-size:13px}.fn-cut b{color:#1d7f55}.fn-change b{color:#c0392b}.fn-clear{background:linear-gradient(#f3a093,#e27b6c);border-color:#cf6a5c}.fn-clear b,.fn-clear small{color:#fff}.key.minus{background:linear-gradient(var(--minus), var(--minus-low));border-color:var(--minus-low);box-shadow:0 3px #9d3a32}.key.minus b,.key.minus small{color:#fff}.key.tall{grid-row:span 2}.key.wide{grid-column:span 2}@media (height<=820px){:root{--key-row:42px}.display{height:54px;margin-bottom:10px}}.overlay{z-index:40;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.overlay[hidden]{display:none}.dialog{background:var(--case);width:min(440px,100vw - 32px);color:var(--key-text);border-radius:14px;padding:20px;box-shadow:0 20px 50px #00000080}.dialog h2{margin:0 0 14px;font-size:17px}.choices{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.choice{color:var(--key-text);background:linear-gradient(var(--key), var(--key-low));box-shadow:0 3px 0 var(--key-shadow);cursor:pointer;border:1px solid #c9c7c0;border-radius:8px;align-items:center;gap:12px;padding:13px 14px;font:600 17px system-ui,sans-serif;display:flex}kbd{color:#fff;min-width:1.9em;font:700 14px var(--mono);background:#34332f;border-radius:5px;place-items:center;padding:2px 6px;display:inline-grid}.tool kbd{color:#d9dadc;background:#3a3d42;border-radius:4px;min-width:0;padding:1px 5px;font-size:11px}.close-tape{color:var(--bar-text);background:#2c2f33}.dialog-hint{color:#6e6b63;margin:14px 0 0;font-size:14px}@media (prefers-reduced-motion:reduce){.fresh{animation:none}}@media print{@page{margin:12mm}body{background:#fff}.bar,.alert,.machine,.roll,.paper-head,.overlay{display:none!important}.app,.desk,.paper-zone,.app.expanded .paper-zone{background:0 0;width:90mm;height:auto;margin:0;padding:0;display:block;position:static}.print-head{color:#000;font:11px var(--mono);margin-bottom:6mm;display:block}.paper,.app.expanded .paper{width:auto;box-shadow:none;background:#fff;padding:0;font-size:12px;overflow:visible;height:auto!important}.ln,.cut{break-inside:avoid}}.dialog-text{margin:0 0 16px;font-size:15px;line-height:1.45}.dialog-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice.danger{color:#fff;background:linear-gradient(#f3a093,#e27b6c);border-color:#cf6a5c}.dialog.help{width:min(600px,100vw - 20px);max-height:calc(100vh - 20px);padding:0 20px 22px;font-size:14px;line-height:1.45;overflow-y:auto}.help-head{z-index:1;background:var(--case);border-bottom:1px solid var(--case-edge);justify-content:space-between;align-items:center;gap:10px;margin:0 -20px 4px;padding:16px 20px 12px;display:flex;position:sticky;top:0}.help-head h2{margin:0}.help-close{color:var(--key-text);background:var(--key);cursor:pointer;border:1px solid #c9c7c0;border-radius:6px;flex-shrink:0;padding:5px 9px;font:600 13px system-ui,sans-serif}.help h3{color:#1d7f55;margin:22px 0 10px;font-size:15px}.help-lead{background:#e6f6ef;border-radius:8px;margin:12px 0 0;padding:10px 12px;font-size:15px}.help-note{color:#5d5b55;margin:10px 0 0;font-size:13px}.help kbd{min-width:0;padding:1px 6px;font-size:12px}.help kbd.space{min-width:9em}.pad{background:#18191b;border-radius:10px;grid-template-columns:repeat(4,1fr);grid-auto-rows:64px;gap:6px;max-width:440px;margin:0 auto;padding:10px;display:grid}.pk{color:#f2f2f2;background:linear-gradient(#3a3b3f,#2a2b2e);border-radius:6px;flex-direction:column;justify-content:space-between;padding:5px 7px 6px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff1f,0 2px #050505}.pk .cap{font:600 12px var(--mono);color:#d8d8d8}.pk .fn{color:#41f2cb;font-size:13px;font-weight:700;line-height:1.15}.pk .fn small{color:#a9e9d9;font-size:10.5px;font-weight:500;display:block}.pk.minus .fn{color:#ff8f84}.pk.total .fn{color:#ffd166}.pk.muted{opacity:.55}.pk.muted .fn{color:#bdbdbd}.pk.digit{background:linear-gradient(#323336,#252629);justify-content:center;align-items:center}.pk.digit .num{font:600 22px var(--mono)}.pk.digit .sub{color:#8d8d8d;font-size:9.5px}.pk.tall{grid-row:span 2}.pk.wide{grid-column:span 2}.other-keys{gap:10px;margin:0;display:grid}.other-keys>div{grid-template-columns:9.5em 1fr;align-items:start;gap:10px;display:grid}.other-keys dt{padding-top:2px}.other-keys dd{margin:0}.examples{gap:12px;margin:0;padding-left:1.4em;display:grid}.examples li{gap:4px;display:grid}.ex-title{font-weight:700}.seq{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.seq kbd+kbd:before{content:none}.ex-out{color:#5d5b55;font-size:13px}.tape-help{gap:6px;margin:0;padding-left:1.2em;display:grid}@media (width<=480px){.other-keys>div{grid-template-columns:1fr;gap:4px}}.hard-reset{border-top:1px dashed #c9c7c0;margin-top:20px;padding-top:14px}.hard-reset h3{color:#b3261e;margin:0 0 4px;font-size:14px}.hard-reset p{color:#5d5b55;margin:0 0 12px;font-size:13px;line-height:1.4}.clean-form{grid-template-columns:1fr 1fr auto;gap:8px;display:grid}.clean-form input{min-width:0;font:inherit;border:1px solid #c9c7c0;border-radius:8px;padding:8px 10px;font-size:14px}@media (width<=420px){.clean-form{grid-template-columns:1fr}}.dialog.activate{text-align:center;width:min(460px,100vw - 24px)}.code-boxes{justify-content:center;gap:6px;margin:6px 0 4px;display:flex}.code-boxes span{width:38px;height:50px;font:700 26px var(--mono);background:#fff;border:2px solid #cfccc3;border-radius:8px;place-items:center;display:grid}.code-boxes span.filled{border-color:#34332f}.code-boxes span:nth-child(4){margin-right:10px}.activate-message{min-height:1.4em;margin:10px 0 0;font-weight:600}.activate-message.error{color:#b3261e}.legacy-mark{color:#6e6b63;text-align:center;margin:.6em 0;font-size:12px}.dialog.ask-help{width:min(480px,100vw - 24px)}.ask-help textarea{box-sizing:border-box;width:100%;font:inherit;resize:vertical;border:1px solid #c9c7c0;border-radius:8px;padding:10px;font-size:15px}.choice.primary{color:#fff;background:linear-gradient(#5fd1a6,#2fa57a);border-color:#23996a}.link-btn{color:#1d7f55;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:10px;padding:4px;font-size:14px;font-weight:600}.version{color:#8a877f;font-size:12px;font-weight:400}.demo-badge{color:#a9acb1;white-space:nowrap;border:1px solid #41f2cb59;border-radius:999px;flex:none;padding:4px 10px;font-size:12px;text-decoration:none}.demo-badge b{color:var(--vfd);font-weight:600}.demo-badge:hover{border-color:var(--vfd);background:#41f2cb14}.demo-badge[hidden]{display:none}
