:root{--bg: #0a0f1a;--bg-2: #111a2c;--panel: #151f34;--panel-2: #1c2a46;--line: #263a5e;--text: #eef3ff;--muted: #8fa2c4;--accent: #2ee6a6;--accent-2: #14a37c;--warn: #ffb020;--danger: #ff5d6c;--ink-on-accent: #04231a;--ink-on-warn: #2b1900;--ink-on-danger: #2b0507;--accent-wash: rgba(46, 230, 166, .09);--grain: rgba(255, 255, 255, .03);--shadow: 0 10px 40px rgba(0, 0, 0, .45);--shadow-sm: 0 4px 14px rgba(0, 0, 0, .3);--radius: 14px;--radius-sm: 10px;--font-display: "Big Shoulders Display", sans-serif;--font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;color-scheme:dark;font-family:var(--font-body)}:root[data-theme=light]{--bg: #f5f1e8;--bg-2: #ece5d4;--panel: #ffffff;--panel-2: #f8f4e9;--line: #ded3b8;--text: #1c2333;--muted: #6b7488;--accent: #0f9e73;--accent-2: #0c7f5c;--warn: #b5720a;--danger: #c22b3d;--ink-on-accent: #ffffff;--ink-on-warn: #ffffff;--ink-on-danger: #ffffff;--accent-wash: rgba(15, 158, 115, .07);--grain: rgba(28, 35, 51, .05);--shadow: 0 10px 30px rgba(40, 32, 12, .12);--shadow-sm: 0 4px 12px rgba(40, 32, 12, .09);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background-color:var(--bg);background-image:radial-gradient(1100px 760px at 82% -12%,var(--bg-2) 0%,transparent 55%),radial-gradient(var(--grain) 1px,transparent 1px);background-size:auto,25px 25px;background-attachment:fixed,fixed;color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color .35s ease,color .35s ease}kbd{font-family:var(--font-mono);font-weight:600;background:var(--panel-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:1.5px 6px;font-size:11px;color:var(--text)}.money,.total-value,.modal-total,.c-total,.c-unit,.pay-figure span{font-variant-numeric:tabular-nums}.c-unit,.c-total,.modal-total,.pay-figure span,.fiscal-key,.money{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible{outline:none}.boot{display:grid;place-items:center;height:100%;color:var(--muted);font-size:14px}.theme-toggle{background:none;border:none;padding:0;cursor:pointer;line-height:0}.theme-toggle-track{display:inline-flex;align-items:center;width:46px;height:26px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);padding:2px;transition:background-color .25s ease,border-color .25s ease}:root[data-theme=light] .theme-toggle-track{justify-content:flex-end}.theme-toggle-thumb{width:20px;height:20px;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-size:11px;box-shadow:var(--shadow-sm);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.theme-toggle:hover .theme-toggle-track{border-color:var(--accent)}.app{display:flex;flex-direction:column;height:100%}.statusbar{display:flex;align-items:center;justify-content:space-between;padding:11px 22px;background:color-mix(in srgb,var(--bg-2) 80%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color .35s ease,border-color .35s ease}.brand{font-family:var(--font-display);font-weight:800;font-size:23px;letter-spacing:.2px;text-transform:uppercase;display:flex;align-items:baseline;gap:7px}.brand .logo{color:var(--accent);margin-right:-2px;font-size:18px;filter:drop-shadow(0 0 8px var(--accent-wash))}.brand-sub{color:var(--muted);font-family:var(--font-body);font-weight:700;font-size:11px;letter-spacing:1.5px;align-self:center;border:1px solid var(--line);border-radius:5px;padding:2px 6px}.statusbar-meta{display:flex;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;cursor:default;transition:background-color .25s ease,border-color .25s ease,color .25s ease}.chip-store{color:var(--text)}.chip-net{cursor:pointer;font-family:var(--font-body)}.chip .dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}.net-online{color:var(--accent)}.net-online .dot{background:var(--accent);box-shadow:0 0 8px var(--accent);animation:pulseDot 2.2s ease-in-out infinite}.net-offline{color:var(--warn);border-color:var(--warn)}.net-offline .dot{background:var(--warn)}.queue-warn{color:var(--warn);border-color:var(--warn)}.sync-toast{position:fixed;top:66px;right:22px;z-index:30;background:var(--accent);color:var(--ink-on-accent);font-weight:700;font-size:13px;padding:10px 16px;border-radius:10px;box-shadow:var(--shadow);animation:toastIn .3s cubic-bezier(.2,.8,.2,1)}.caixa{flex:1;display:grid;grid-template-columns:1fr 360px;gap:18px;padding:18px;min-height:0}.caixa-main{display:flex;flex-direction:column;min-height:0}.caixa-side{display:flex;flex-direction:column;gap:14px}.scan-row{display:flex;align-items:center;gap:12px;background:var(--panel);border:1.5px solid var(--line);border-radius:var(--radius);padding:4px 18px;margin-bottom:14px;box-shadow:var(--shadow-sm);transition:background-color .35s ease,border-color .2s ease,box-shadow .2s ease}.scan-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-wash)}.scan-icon{font-size:18px;opacity:.6}.scan-input{flex:1;background:transparent;border:0;outline:0;color:var(--text);font-family:var(--font-body);font-size:17px;padding:16px 0}.scan-input::placeholder{color:var(--muted)}.flash{background:color-mix(in srgb,var(--danger) 14%,var(--panel));border:1px solid var(--danger);color:var(--text);padding:10px 14px;border-radius:10px;margin-bottom:12px;font-weight:600;font-size:13.5px;animation:slideDown .22s ease}.cart{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;min-height:0;box-shadow:var(--shadow-sm);transition:background-color .35s ease,border-color .35s ease}.cart-head,.cart-list li{display:grid;grid-template-columns:1fr 70px 120px 130px;align-items:center;gap:8px;padding:13px 20px}.cart-head{color:var(--muted);font-family:var(--font-display);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:1.1px;border-bottom:1px solid var(--line)}.c-qty{text-align:center}.c-unit,.c-total{text-align:right}.cart-list{list-style:none;margin:0;padding:0;overflow-y:auto}.cart-list li{border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent);cursor:pointer;font-size:15.5px;font-family:var(--font-body);animation:rowIn .22s cubic-bezier(.2,.8,.2,1)}.cart-list li:hover{background:var(--panel-2)}.row-sel{background:var(--accent-wash)!important;box-shadow:inset 3px 0 0 var(--accent)}.c-total{font-weight:700}.cart-empty{flex:1;display:grid;place-items:center;color:var(--muted);padding:30px;font-size:14.5px}.last-sale{display:flex;align-items:center;gap:20px;animation:fadeUp .35s ease}.last-check{width:58px;height:58px;border-radius:50%;background:var(--accent-wash);border:1.5px solid var(--accent);color:var(--accent);display:grid;place-items:center;font-size:26px;font-weight:800;animation:checkPop .4s cubic-bezier(.34,1.56,.64,1);flex-shrink:0}.last-sale strong{color:var(--text);font-size:15.5px;font-weight:700}.last-total{font-family:var(--font-display);font-size:30px;font-weight:800;margin-top:2px;letter-spacing:-.5px}.last-change{color:var(--warn);margin-top:5px;font-size:13.5px}.fiscal{margin-top:11px;font-size:12.5px;font-weight:600;display:inline-flex;flex-direction:column}.fiscal .fiscal-dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:7px}.fiscal-ok{color:var(--accent)}.fiscal-ok .fiscal-dot{background:var(--accent);box-shadow:0 0 8px var(--accent)}.fiscal-wait{color:var(--warn)}.fiscal-wait .fiscal-dot{background:var(--warn);animation:pulseDot 1.4s ease-in-out infinite}.fiscal-err{color:var(--danger)}.fiscal-err .fiscal-dot{background:var(--danger)}.fiscal-key{margin-top:6px;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.6px;max-width:340px;line-height:1.6}.total-box{background:linear-gradient(155deg,var(--accent),var(--accent-2));border-radius:var(--radius);padding:22px 24px;color:var(--ink-on-accent);display:flex;flex-direction:column;box-shadow:var(--shadow);position:relative;overflow:hidden}.total-label{font-size:12px;opacity:.82;text-transform:uppercase;letter-spacing:1.2px;font-weight:700}.total-value{font-family:var(--font-display);font-size:52px;font-weight:800;line-height:1;margin:8px 0 4px;letter-spacing:-1px;animation:totalPop .28s cubic-bezier(.34,1.56,.64,1)}.total-items{font-size:12.5px;opacity:.85;font-weight:600}.btn{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:12px;padding:12px 16px;font-family:var(--font-body);font-size:15px;font-weight:700;cursor:pointer;transition:transform .05s ease,filter .15s ease,background-color .35s ease,border-color .35s ease}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-pay{background:var(--accent);color:var(--ink-on-accent);border-color:transparent;font-size:18px;padding:18px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:var(--shadow-sm)}.btn-pay kbd{background:#0000002e;border-color:transparent;color:var(--ink-on-accent)}.btn-primary{background:var(--accent);color:var(--ink-on-accent);border-color:transparent}.btn-lg{padding:16px;font-size:17px;width:100%}.btn-add{background:var(--panel-2)}.shortcuts{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);transition:background-color .35s ease,border-color .35s ease}.shortcuts h3{margin:0 0 12px;font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px}.shortcuts dl{margin:0;display:flex;flex-direction:column;gap:9px}.shortcuts dl>div{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}.shortcuts dl span{margin-left:auto}.offline-note{margin:14px 0 0;font-size:12px;color:var(--muted);line-height:1.5}.offline-note.on{color:var(--warn);font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#06091099;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;z-index:40;animation:overlayIn .18s ease}.modal{width:min(560px,92vw);background:var(--bg-2);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow);animation:modalIn .22s cubic-bezier(.2,.8,.2,1)}.modal-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}.modal-head h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:22px;text-transform:uppercase;letter-spacing:.4px}.modal-total{font-size:32px;font-weight:800;color:var(--accent)}.pay-grid{display:flex;gap:10px;margin-bottom:18px}.pay-figure{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.pay-figure label{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:600}.pay-figure span{font-size:21px;font-weight:800}.pay-figure .ok{color:var(--accent)}.pay-change{background:color-mix(in srgb,var(--warn) 12%,var(--panel));border-color:var(--warn)}.pay-change span{color:var(--warn)}.method-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.method{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:12px 6px;font-family:var(--font-body);font-weight:700;font-size:13px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.method:hover{border-color:var(--muted)}.method kbd{display:block;margin:0 auto 6px;width:fit-content}.method-on{border-color:var(--accent);background:var(--accent-wash);box-shadow:0 0 0 2px var(--accent-wash)}.pix-box{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px}.pix-qr-img{width:180px;height:180px;border-radius:8px;background:#fff;padding:8px}.pix-hint{font-size:13px;color:var(--muted);text-align:center}.pix-warn{color:var(--warn);font-weight:600}.pix-copy{font-size:13px}.amount-row{display:flex;gap:8px;margin-bottom:12px}.amount-input{flex:1;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:14px;font-family:var(--font-mono);font-size:17px;outline:none;transition:border-color .15s ease}.amount-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.pay-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}.pay-list li{display:flex;justify-content:space-between;background:var(--panel);border-radius:8px;padding:8px 12px;font-size:13.5px;animation:rowIn .2s ease}.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.hint{font-size:11.5px;color:var(--muted)}.open-screen{height:100%;display:grid;place-items:center;position:relative}.open-screen .theme-toggle{position:absolute;top:24px;right:24px}.open-card{width:min(420px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:34px;text-align:center;box-shadow:var(--shadow);animation:fadeUp .3s ease}.open-logo{font-family:var(--font-display);font-size:26px;font-weight:800;color:var(--accent);margin-bottom:22px;text-transform:uppercase;letter-spacing:.3px}.open-logo span{color:var(--muted);font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:1.5px;margin-left:4px}.open-card h1{margin:0 0 6px;font-family:var(--font-display);font-size:27px;font-weight:700;text-transform:uppercase}.open-card p{color:var(--muted);margin:0 0 20px;font-size:13.5px}.open-card label{display:block;text-align:left;font-size:11.5px;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.6px;font-weight:600}.open-input{width:100%;background:var(--bg-2);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:14px;font-family:var(--font-mono);font-size:20px;text-align:center;outline:none;transition:border-color .15s ease}.open-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.open-preview{font-family:var(--font-display);font-size:32px;font-weight:800;margin:14px 0 20px}.open-meta{margin-top:16px!important;font-size:12px}.cart-list::-webkit-scrollbar{width:8px}.cart-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}.cart-list::-webkit-scrollbar-track{background:transparent}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.45}}@keyframes rowIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes checkPop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes totalPop{0%{transform:scale(.94);opacity:.6}to{transform:scale(1);opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
