:root{--blue: #0B5FD1;--blue-deep: #08408E;--tint: #E6EFFC;--bg: #F4F7FB;--ink: #16202E;--muted: #5B6675;--line: #D9E1EC;--good: #1B7F4B;--bad: #B3261E;--warn: #8A5A00;--r: 10px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:17px/1.35 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;overflow:hidden;overscroll-behavior:none;user-select:none;-webkit-user-select:none}input,textarea{user-select:text;-webkit-user-select:text}button,input,select{font:inherit;color:inherit}button{touch-action:manipulation}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.app{height:100%;display:flex;flex-direction:column}.top{flex:0 0 56px;display:flex;align-items:center;gap:14px;padding:0 12px;background:var(--blue);color:#fff}.top img{height:28px;width:auto;display:block}.top .where{font-size:14px;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top .sp{flex:1}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:18px;background:#ffffff2e;color:#fff;border:0;font-size:14px;white-space:nowrap}.chip i{width:10px;height:10px;border-radius:50%;background:#5be08e;display:inline-block}.chip.off i{background:#ffb84d}.chip.bad i{background:#ff6b6b}.tbtn{min-width:48px;height:48px;border:0;border-radius:var(--r);background:#ffffff24;color:#fff;font-weight:600;padding:0 14px}.banner{padding:10px 16px;text-align:center;font-weight:600}.banner.warn{background:#fff1d6;color:var(--warn)}.banner.bad{background:#fdeeec;color:var(--bad)}.banner.info{background:var(--tint);color:var(--blue-deep)}.btn{min-height:52px;padding:0 20px;border-radius:var(--r);border:1px solid #B8C6DA;background:#fff;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.danger{color:var(--bad);border-color:#e2b4b0}.btn.big{min-height:64px;font-size:20px;width:100%}.btn.sm{min-height:44px;padding:0 14px;font-size:15px}.btn[disabled]{opacity:.5}.field{display:grid;gap:6px}.field label{font-size:14px;font-weight:600;color:var(--muted)}.field input,.field select{min-height:52px;padding:0 14px;border:1px solid #B8C6DA;border-radius:var(--r);background:#fff;width:100%}.err{color:var(--bad);font-weight:600}.sell{flex:1;min-height:0;display:grid;grid-template-columns:1fr 400px}.catalog{display:flex;flex-direction:column;min-height:0;padding:10px;gap:10px}.searchrow{display:flex;gap:8px}.searchrow input{flex:1;min-height:52px;padding:0 14px;border:1px solid #B8C6DA;border-radius:var(--r);background:#fff}.cats{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:0 0 auto}.cats button{min-height:44px;padding:0 16px;border-radius:22px;border:1px solid #B8C6DA;background:#fff;white-space:nowrap}.cats button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;align-content:start}.tile{min-height:96px;padding:10px;border-radius:var(--r);border:1px solid var(--line);background:#fff;text-align:left;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}.tile:active{background:var(--tint)}.tile b{font-size:16px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile .pr{font-weight:700;color:var(--blue-deep)}.tile .st{font-size:13px;color:var(--muted)}.tile .st.low{color:var(--warn);font-weight:600}.cart{display:flex;flex-direction:column;min-height:0;background:#fff;border-left:1px solid var(--line)}.cart header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);font-weight:700}.lines{flex:1;overflow-y:auto}.cl{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 14px;border-bottom:1px solid var(--line);width:100%;background:#fff;border-left:0;border-right:0;border-top:0;text-align:left}.cl .nm{font-weight:600}.cl .sub{color:var(--muted);font-size:14px}.cl .tot{font-weight:700;text-align:right}.cl .step{grid-column:1 / -1;display:flex;align-items:center;gap:8px;margin-top:4px}.step button{width:48px;height:44px;border-radius:8px;border:1px solid #B8C6DA;background:#fff;font-size:22px;font-weight:700}.step .q{min-width:64px;text-align:center;font-weight:700}.empty{padding:40px 16px;text-align:center;color:var(--muted)}.totals{padding:10px 14px;border-top:1px solid var(--line);display:grid;gap:2px}.totals div{display:flex;justify-content:space-between;color:var(--muted);font-size:15px}.totals .grand{color:var(--ink);font-size:24px;font-weight:800}.cart footer{padding:10px 14px 14px;display:grid;gap:8px}@media(max-width:900px){.sell{grid-template-columns:1fr;grid-template-rows:1fr 46%}.cart{border-left:0;border-top:1px solid var(--line)}}.back{position:fixed;inset:0;z-index:50;background:#0a193280;display:flex;align-items:center;justify-content:center;padding:12px}.dlg{width:min(560px,100%);max-height:94vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 16px 48px #0a193259;display:flex;flex-direction:column}.dlg.wide{width:min(860px,100%)}.dlg>header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);font-weight:700;font-size:19px}.dlg>header button{width:48px;height:48px;border:0;background:transparent;font-size:22px}.dlg .body{padding:16px;display:flex;flex-direction:column;gap:12px;overflow:auto;min-height:0}.dlg .body>*{flex:0 0 auto}.dlg>footer{display:flex;gap:10px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--line);flex-wrap:wrap}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad button{min-height:64px;font-size:24px;font-weight:700;border-radius:var(--r);border:1px solid #B8C6DA;background:#fff}.display{min-height:60px;display:flex;align-items:center;justify-content:flex-end;padding:0 16px;border:2px solid var(--blue);border-radius:var(--r);font-size:30px;font-weight:800;background:var(--tint)}.quick{display:flex;gap:8px;flex-wrap:wrap}.quick .btn{flex:1 1 90px}.seg{display:flex;gap:8px}.seg .btn{flex:1}.seg .btn[aria-pressed=true]{background:var(--blue);color:#fff;border-color:var(--blue)}.list{display:grid;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.list>*{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff}.list>*:last-child{border-bottom:0}.pinpad{max-width:340px;margin:0 auto;width:100%}.dots{display:flex;justify-content:center;gap:14px;margin:8px 0 14px}.dots i{width:18px;height:18px;border-radius:50%;border:2px solid var(--blue)}.dots i.on{background:var(--blue)}.center{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;width:min(820px,100%)}.tiles button{min-height:84px;border-radius:var(--r);border:1px solid var(--line);background:#fff;font-size:20px;font-weight:700}.menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:16px;overflow:auto}.menu button{min-height:92px;border-radius:var(--r);border:1px solid var(--line);background:#fff;font-size:18px;font-weight:700;display:grid;place-items:center;gap:4px}.page{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:14px;max-width:960px;width:100%;margin:0 auto}.page>*{flex:0 0 auto}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:90;background:var(--ink);color:#fff;padding:12px 20px;border-radius:10px;max-width:90vw;font-weight:600}pre.rc{margin:0;padding:14px;background:#fff;border:1px dashed #B8C6DA;border-radius:8px;font:14px/1.35 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-x:auto;user-select:text}.badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:14px;font-weight:600;background:#eef3fa}.badge.good{background:#e3f4ea;color:var(--good)}.badge.bad{background:#fbe7e5;color:var(--bad)}.badge.warn{background:#fff1d6;color:var(--warn)}#receipt-print{display:none}@media print{body>*:not(#receipt-print){display:none!important}#receipt-print{display:block;width:72mm;margin:0;padding:2mm;font:11px/1.25 ui-monospace,Menlo,Consolas,monospace;white-space:pre;color:#000}@page{margin:0}body{overflow:visible}}.tbtn[aria-pressed=true]{background:#fff;color:var(--blue-deep)}
