:root{--bg: #111827;--panel: #1f2937;--panel-2: #374151;--line: #374151;--text: #f9fafb;--muted: #9ca3af;--accent: #16a34a;--accent-d: #15803d;--danger: #dc2626;--warn: #d97706;--info: #2563eb}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);user-select:none;-webkit-user-select:none;overflow:hidden}button{font-family:inherit;color:inherit}.tile{border:none;border-radius:10px;color:#fff;font-weight:700;font-size:17px;padding:10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;line-height:1.15;transition:filter .08s;min-height:64px}.tile:hover{filter:brightness(1.12)}.tile:active{filter:brightness(.9)}.tile .sub{font-size:13px;font-weight:600;opacity:.85}.tile.selected{outline:3px solid #fff;outline-offset:-3px}.pos{display:flex;flex-direction:column;height:100%}.statusbar{height:46px;display:flex;align-items:center;gap:14px;padding:0 14px;background:var(--panel);border-bottom:1px solid var(--line);font-size:14px}.statusbar .grow{flex:1}.badge{padding:3px 10px;border-radius:999px;font-weight:700;font-size:13px}.badge.on{background:#064e3b;color:#6ee7b7}.badge.off{background:#7f1d1d;color:#fca5a5}.badge.pending{background:#78350f;color:#fcd34d}.posbody{flex:1;display:flex;min-height:0}.catcol{width:168px;background:var(--panel);border-right:1px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.gridcol{flex:1;padding:10px;overflow-y:auto}.cartcol{width:380px;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.grid{display:grid;gap:10px}.cartlist{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.cartline{background:var(--panel-2);border-radius:8px;padding:8px 10px;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:2px 8px;border:2px solid transparent}.cartline.sel{border-color:var(--accent)}.cartline.gift{opacity:.8}.cartline .nm{font-weight:700}.cartline .qt{color:var(--muted);font-size:13px}.cartline .tot{font-weight:700;text-align:right}.cartline .gifttag{color:#6ee7b7;font-size:12px;font-weight:700}.cartline .kdvtag{color:#93c5fd;font-size:12px;font-weight:600}.cartline .voidtag{color:#fca5a5;font-size:12px;font-weight:700}.cartline.void .nm{text-decoration:line-through;color:var(--muted)}.carttotal{padding:8px 14px;border-top:1px solid var(--line)}.carttotal .row{display:flex;justify-content:space-between;align-items:baseline}.carttotal .big{font-size:30px;font-weight:800}.carttotal .muted{color:var(--muted);font-size:14px}.cartactions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 10px 8px}.actionbar{width:150px;background:var(--panel);border-left:1px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.actioncol{width:248px;background:var(--panel);border-left:1px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.kpactions{flex:1;min-height:0;overflow:hidden;display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(0,1fr);gap:6px}.kpactions .actbtn{min-height:0;font-size:13px;padding:4px;overflow:hidden}.kpbottom{flex-shrink:0;display:flex;flex-direction:column;gap:8px}.kpbuf{background:#0b1220;border-radius:8px;padding:6px 12px;min-height:34px;font-size:20px;font-weight:800;color:#fbbf24;display:flex;align-items:center;justify-content:flex-end}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.keypad button{background:var(--panel-2);border:none;border-radius:8px;color:var(--text);font-size:20px;font-weight:700;padding:12px 0;cursor:pointer}.keypad button:active{filter:brightness(.9)}.keypad .kp-act{background:#1d4ed8;font-size:15px}.oskbd{display:flex;flex-direction:column;gap:6px}.oskrow{display:flex;gap:6px}.oskrow button{flex:1;background:var(--panel-2);border:none;border-radius:6px;color:var(--text);font-size:16px;font-weight:600;padding:12px 0;cursor:pointer;min-width:0}.oskrow button:active{filter:brightness(.9)}.actbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:var(--panel-2);border:none;border-radius:8px;padding:10px 6px;font-size:14px;font-weight:700;cursor:pointer;min-height:58px;color:var(--text);text-align:center;line-height:1.1}.actbtn b{color:var(--warn);font-size:13px}.actbtn:hover{filter:brightness(1.15)}.actbtn:active{filter:brightness(.9)}.legkey{display:inline-flex;align-items:center;gap:6px;background:var(--panel-2);border-radius:6px;padding:4px 10px;font-size:13px;white-space:nowrap;cursor:pointer;border:none;color:var(--text)}.legkey b{color:var(--warn)}.legkey:hover{filter:brightness(1.15)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--panel);border-radius:14px;padding:18px;min-width:420px;max-width:92vw;max-height:92vh;overflow:auto;border:1px solid var(--line)}.modal h2{margin:0 0 14px}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.numpad button{background:var(--panel-2);border:none;border-radius:8px;font-size:22px;font-weight:700;padding:16px 0;cursor:pointer}.numpad button:active{filter:brightness(.9)}.numdisplay{background:#0b1220;border-radius:8px;padding:12px 14px;font-size:28px;font-weight:800;text-align:right;margin-bottom:10px;min-height:56px}.linkbtn{background:none;border:none;color:var(--info);cursor:pointer;padding:4px 0;font-size:13px}.linkbtn:hover{text-decoration:underline}.login{height:100%;display:flex;align-items:center;justify-content:center}.loginbox{background:var(--panel);padding:26px;border-radius:16px;width:340px}.loginbox h1{margin:0 0 4px;font-size:22px}.loginbox .pin{font-size:30px;letter-spacing:10px;text-align:center;min-height:44px}.field{width:100%;padding:10px;border-radius:8px;border:1px solid var(--line);background:#0b1220;color:var(--text);font-size:15px}.err{color:#fca5a5;font-size:14px;min-height:20px;margin:6px 0}.btn{border:none;border-radius:8px;padding:12px 16px;font-weight:700;font-size:16px;cursor:pointer;background:var(--accent);color:#fff}.btn.sec{background:var(--panel-2)}.btn.danger{background:var(--danger)}.btn:disabled{opacity:.5;cursor:default}.muted{color:var(--muted)}.center{text-align:center}.formscreen{height:100%;display:flex;flex-direction:column}.formbody{flex:1;overflow:auto;display:flex;justify-content:center;padding:24px}.formcard{width:560px;max-width:92vw;background:var(--panel);border-radius:14px;padding:22px;height:fit-content}.formrow{margin-bottom:12px}.formrow label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}select.field{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.suggestbox{position:relative}.suggest{position:absolute;left:0;right:0;top:100%;z-index:20;margin-top:2px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;max-height:260px;overflow:auto}.suggest button{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 12px;cursor:pointer;color:var(--text);font-size:15px}.suggest button.sel{background:var(--info)}.checks{display:flex;gap:20px}.checks label{display:flex;gap:8px;align-items:center;color:var(--text);font-size:15px}.checks input{width:18px;height:18px}.formactions{display:flex;gap:10px;margin-top:8px}.gridtable{width:100%;border-collapse:collapse;font-size:14px}.gridtable th{text-align:left;color:var(--muted);font-weight:600;padding:4px 6px;font-size:12px}.gridtable td{padding:2px 4px}.cell{width:100%;background:#0b1220;border:1px solid var(--line);border-radius:6px;color:var(--text);padding:7px 8px;font-size:14px}.cell:focus{outline:2px solid var(--info)}.labels-print{position:absolute;left:-10000px;top:0}.label-card{border:1px solid #000;border-radius:6px;padding:8px;text-align:center;color:#000;background:#fff}.label-card .lbl-name{font-size:13px;font-weight:600;line-height:1.1}.label-card .lbl-price{font-size:26px;font-weight:800;margin:4px 0}.label-card .lbl-unit{font-size:11px;font-weight:600;margin-bottom:2px}.label-card .lbl-domestic-logo{height:24px;width:auto;object-fit:contain;margin-bottom:3px}.label-card .lbl-date{font-size:9px;color:#333;margin-top:3px}.label-card svg{max-width:100%}@media print{body *{visibility:hidden}.labels-print,.labels-print *{visibility:visible}.labels-print{left:0;top:0;width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:6mm;padding:6mm}}.ctxmenu{position:fixed;z-index:70;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:4px;min-width:180px;box-shadow:0 8px 24px #0006;display:flex;flex-direction:column}.ctxmenu button{background:none;border:none;color:var(--text);text-align:left;padding:9px 12px;border-radius:6px;cursor:pointer;font-size:14px}.ctxmenu button:hover{background:var(--panel-2)}.repcard{flex:1;background:#0b1220;border-radius:10px;padding:14px 16px}.repbig{font-size:28px;font-weight:800;margin-top:4px}.cari-body{flex:1;display:flex;min-height:0}.cari-list{width:360px;border-right:1px solid var(--line);padding:12px;overflow-y:auto;background:var(--panel)}.cari-detail{flex:1;padding:16px 20px;overflow-y:auto}.cari-detail label{display:flex;flex-direction:column;gap:4px;font-size:13px}.menu{height:100%;display:flex;flex-direction:column}.menugrid{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;padding:28px;align-content:center;max-width:1100px;margin:0 auto;width:100%}.settings-layout{flex:1;display:flex;min-height:0}.settings-nav{width:252px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.settings-nav button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:none;color:var(--text);padding:12px 14px;border-radius:10px;cursor:pointer;font-size:15px;font-weight:600}.settings-nav button:hover{background:var(--panel-2)}.settings-nav button.active{background:var(--info);color:#fff}.settings-nav .ico{font-size:18px;width:22px;text-align:center;flex-shrink:0}.settings-content{flex:1;overflow-y:auto;padding:24px}.settings-panel{max-width:820px}.settings-panel-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.settings-panel-head h2{margin:0;font-size:20px}.settings-content .formcard{max-width:92vw}
