:root{--bg: #0f172a;--panel: #1e293b;--panel-2: #334155;--text: #e2e8f0;--muted: #94a3b8;--accent: #22c55e;--accent-2: #38bdf8;--danger: #ef4444;--warn: #f59e0b}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none}.app{display:grid;grid-template-rows:auto 1fr;height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:var(--panel);border-bottom:1px solid var(--panel-2)}.topbar h1{font-size:1rem;margin:0;letter-spacing:.02em}.layout{display:grid;grid-template-columns:1fr 360px;min-height:0}.catalog{padding:1rem;overflow-y:auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.product{background:var(--panel);border:1px solid var(--panel-2);border-radius:12px;padding:.9rem;text-align:left;color:var(--text);cursor:pointer;transition:transform .05s ease,border-color .1s ease}.product:active{transform:scale(.97);border-color:var(--accent)}.product .name{font-weight:600;font-size:.95rem}.product .sku{color:var(--muted);font-size:.75rem;margin:.2rem 0}.product .price{color:var(--accent);font-weight:700}.product .stock{font-size:.72rem;color:var(--muted)}.product .stock.low{color:var(--warn)}.product .stock.out{color:var(--danger)}.cart{background:var(--panel);border-left:1px solid var(--panel-2);display:grid;grid-template-rows:auto 1fr auto;min-height:0}.cart h2{margin:0;padding:1rem;font-size:.95rem;border-bottom:1px solid var(--panel-2)}.cart-lines{overflow-y:auto;padding:.5rem}.cart-line{display:grid;grid-template-columns:1fr auto;gap:.25rem;padding:.5rem;border-radius:8px}.cart-line:hover{background:var(--panel-2)}.cart-line .name{font-size:.9rem}.cart-line .meta{color:var(--muted);font-size:.78rem}.qty{display:flex;align-items:center;gap:.4rem}.qty button{width:26px;height:26px;border-radius:6px;border:1px solid var(--panel-2);background:var(--bg);color:var(--text);cursor:pointer}.cart-foot{padding:1rem;border-top:1px solid var(--panel-2)}.total{display:flex;justify-content:space-between;font-size:1.3rem;font-weight:700;margin-bottom:.75rem}.tenders{display:flex;gap:.5rem;margin-bottom:.75rem}.btn{border:none;border-radius:10px;padding:.8rem 1rem;font-weight:700;font-size:1rem;cursor:pointer;width:100%}.btn-pay{background:var(--accent);color:#06210f}.btn-pay:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:transparent;border:1px solid var(--panel-2);color:var(--muted);flex:1}.btn-ghost.active{border-color:var(--accent-2);color:var(--accent-2)}.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;font-size:.8rem;background:var(--panel-2)}.dot{width:8px;height:8px;border-radius:50%}.dot.online{background:var(--accent)}.dot.offline{background:var(--danger)}.dot.syncing{background:var(--warn);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.3}}.center{display:grid;place-items:center;height:100%}.card{background:var(--panel);border:1px solid var(--panel-2);border-radius:14px;padding:1.5rem;width:320px}.card h2{margin:0 0 1rem}.field{display:block;margin-bottom:.75rem}.field label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.25rem}.field input,.field select{width:100%;padding:.6rem;border-radius:8px;border:1px solid var(--panel-2);background:var(--bg);color:var(--text)}.error{color:var(--danger);font-size:.85rem;margin-bottom:.5rem}.receipt{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center}.receipt .paper{background:#fff;color:#111;width:300px;padding:1rem;border-radius:6px;font-family:ui-monospace,monospace;font-size:.8rem}.receipt .paper hr{border:none;border-top:1px dashed #999}.receipt .row{display:flex;justify-content:space-between}
