.osk{position:fixed;inset-inline:0;inset-block-end:0;z-index:950;padding:8px 10px 10px;background:#1b1f27;border-top:1px solid rgba(255,255,255,.12);box-shadow:0 -10px 34px #00000059;animation:osk-up .14s ease-out}@keyframes osk-up{0%{transform:translateY(100%)}}.osk__bar{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:0 2px}.osk__label{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#ffffff8c;white-space:nowrap}.osk__preview{flex:1;min-height:32px;display:flex;align-items:center;padding:0 10px;border-radius:8px;background:#ffffff14;color:#fff;font-family:var(--mono);font-size:15px;white-space:pre-wrap;overflow:hidden}.osk__bar-actions{display:flex;gap:6px}.osk__rows{display:flex;flex-direction:column;gap:6px;max-width:900px;margin:0 auto}.osk--numeric .osk__rows{max-width:320px}.osk__row{display:flex;justify-content:center;gap:6px}.osk__key{flex:1;min-width:34px;max-width:78px;min-height:46px;border:0;border-radius:8px;background:#333a47;color:#fff;font-size:17px;font-weight:600;cursor:pointer;transition:transform .05s ease,background .12s ease}.osk__key:hover{background:#3f4757}.osk__key:active{transform:translateY(1px);background:#4b5566}.osk--numeric .osk__key{min-height:54px;font-family:var(--mono);font-size:21px}.osk__key--util{max-width:96px;background:#4a5364;font-size:14px}.osk__key--util.is-on{background:var(--plum-500)}.osk__key--space{flex:4;max-width:none}.osk__key--done{max-width:110px;background:var(--green);font-size:14px;letter-spacing:.05em}.osk__key--done:hover{background:var(--green-dark)}.input.is-osk-active{border-color:var(--plum-500);box-shadow:0 0 0 3px #74246a33}body:has(.osk) .screen{padding-bottom:320px}@media (max-width: 640px){.osk__key{min-width:26px;min-height:42px;font-size:15px}}@media print{.osk{display:none!important}}.rack__legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px;font-size:12.5px;font-weight:600;color:var(--ink-soft)}.rack__legend span{display:inline-flex;align-items:center;gap:6px}.rack__hint{margin-inline-start:auto;font-weight:400;font-style:italic}.rack__swatch{width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.18)}.rack__swatch--free{background:#bbf7d0}.rack__swatch--busy{background:#f59e42}.rack__swatch--picked{background:#3b82f6}.rack__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px;max-height:62vh;overflow:auto;padding:4px;background:var(--panel-sunken);border-radius:var(--radius)}.rack__cell{position:relative;min-height:46px;border:1px solid rgba(0,0,0,.16);border-radius:6px;font-family:var(--mono);font-size:15px;font-weight:700;color:#16181d;cursor:pointer;transition:transform .05s ease,box-shadow .12s ease}.rack__cell:hover{box-shadow:0 0 0 2px #10141c2e}.rack__cell:active{transform:translateY(1px)}.rack__cell.is-free{background:#bbf7d0}.rack__cell.is-busy{background:#f59e42}.rack__cell.is-picked{background:#3b82f6;color:#fff;box-shadow:0 0 0 3px #3b82f659}.rack__badge{position:absolute;top:2px;inset-inline-end:3px;min-width:15px;height:15px;display:grid;place-items:center;border-radius:999px;background:#0000008c;color:#fff;font-size:9.5px;font-family:var(--font)}.rack-chips{display:inline-flex;gap:4px;flex-wrap:wrap}.rack-chip{min-width:26px;padding:1px 7px;border-radius:5px;background:#f59e42;color:#2b1a05;font-family:var(--mono);font-size:12px;font-weight:700;text-align:center}@media (max-width: 640px){.rack__grid{grid-template-columns:repeat(auto-fill,minmax(46px,1fr))}.rack__cell{min-height:40px;font-size:13px}}.pos{display:grid;grid-template-rows:auto minmax(220px,1fr) auto;gap:var(--gap);height:100%;min-height:0}.pos__header{display:grid;grid-template-columns:auto minmax(140px,200px) auto minmax(0,1fr) auto;align-items:center;gap:var(--gap);padding:10px 12px;background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.pos__billno{display:flex;align-items:baseline;gap:9px}.pos__billno span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.pos__billno strong{font-family:var(--mono);font-size:22px}.pos__custname{min-height:40px;display:flex;align-items:center;padding:0 12px;border-radius:var(--radius);background:var(--panel-sunken);font-size:15px;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pos__custname--empty{color:var(--ink-soft);font-weight:400;font-style:italic}.pos__custchip{min-width:62px;min-height:40px;display:grid;place-items:center;padding:0 12px;border-radius:var(--radius);background:#fdf3bd;border:1px solid #ecd97a;font-family:var(--mono);font-size:17px;font-weight:700}.pos__body{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap);min-height:0}.pos__lines{display:flex;flex-direction:column;min-height:0}.pos__lines .table-wrap{flex:1;min-height:0}.pos__rail{display:flex;flex-direction:column;gap:8px;min-height:0;overflow-y:auto}.railbtn{flex:1;min-height:56px;display:grid;place-items:center;gap:2px;padding:8px 6px;border:0;border-radius:var(--radius);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;cursor:pointer;box-shadow:var(--shadow);transition:transform .05s ease,filter .12s ease}.railbtn:hover:not(:disabled){filter:brightness(1.06)}.railbtn:active:not(:disabled){transform:translateY(1px)}.railbtn:disabled{opacity:.4;cursor:not-allowed}.railbtn__icon{font-size:19px;line-height:1}.pos__toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-top:1px solid var(--panel-line);background:var(--panel-sunken)}.pos__pieces{margin-inline-start:auto;display:flex;align-items:baseline;gap:7px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.pos__pieces b{font-family:var(--mono);font-size:20px;color:var(--ink)}.pos__footer{display:grid;grid-template-columns:minmax(300px,1.05fr) minmax(280px,1fr);gap:var(--gap)}.pos__keys{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;padding:12px;background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.pos__sidekeys{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:8px}.sidekey{display:grid;place-items:center;gap:2px;border:1px solid var(--panel-line);border-radius:var(--radius);background:#fffdf0;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;padding:6px 4px}.sidekey:hover{background:#fdf3bd}.sidekey__icon{font-size:20px;line-height:1}.sidekey--danger{background:#fdecea;color:var(--red-dark);border-color:#f6c9c2}.pos__totals{display:flex;flex-direction:column;gap:9px;padding:12px;background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.totalrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,150px);align-items:center;gap:10px}.totalrow__label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);text-align:end}.totalrow__value{min-height:40px;display:flex;align-items:center;justify-content:flex-end;padding:0 12px;border-radius:var(--radius);background:var(--panel-sunken);font-family:var(--mono);font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}.totalrow--grand .totalrow__value{background:#eef7f1;color:var(--green-dark);font-size:24px}.totalrow--member .totalrow__value{background:#1c1f26;color:#ffd76a}.pos__pay{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:auto}.menu{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--gap);min-height:60vh}.menu__tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.menu__tab{min-height:44px;padding:0 16px;border:2px solid transparent;border-radius:var(--radius);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#1b1e24;cursor:pointer}.menu__tab.is-active{border-color:#1b1e24;box-shadow:0 0 0 3px #1b1e241f}.menu__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;align-content:start}.tile{min-height:66px;padding:6px 5px;display:grid;place-items:center;gap:2px;border:1px solid rgba(0,0,0,.14);border-radius:var(--radius);font-size:12.5px;font-weight:700;line-height:1.2;text-align:center;color:#16181d;cursor:pointer;transition:transform .05s ease}.tile:active{transform:translateY(1px)}.tile.is-picked{outline:3px solid var(--red);outline-offset:-3px}.tile__price{font-family:var(--mono);font-size:11px;font-weight:600;opacity:.72}.tile__count{position:absolute}.menu__side{display:flex;flex-direction:column;gap:9px;min-height:0}.menu__cart{flex:1;min-height:140px;overflow:auto;border:1px solid var(--panel-line);border-radius:var(--radius);background:#fff}@media (max-width: 1100px){.menu{grid-template-columns:minmax(0,1fr)}.menu__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 1000px){.pos__body{grid-template-columns:minmax(0,1fr)}.pos__rail{flex-direction:row;overflow-x:auto}.railbtn{min-width:96px}.pos__footer{grid-template-columns:minmax(0,1fr)}.pos__header{grid-template-columns:auto minmax(0,1fr)}}@media (max-width: 620px){.menu__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pos__keys{grid-template-columns:76px minmax(0,1fr)}}.pos__custbal{padding:10px;margin-bottom:10px;border-radius:var(--radius);background:var(--panel-sunken)}.pos__custbal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:13px;font-weight:700}.pos__custbal .stat{padding:7px 9px;background:#fff}.pos__custbal .stat__value{font-size:15px}.modal--full .menu{grid-template-columns:minmax(0,1fr) 320px;height:100%;min-height:0}.modal--full .menu__grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));align-content:start;overflow-y:auto;max-height:100%}.modal--full .menu__side{height:100%}.modal--full .menu__cart{flex:1}@media (max-width: 979px){.modal--full .menu{grid-template-columns:minmax(0,1fr);height:auto}}.balance{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:var(--gap);height:100%;min-height:0;align-items:stretch}.balance__col{display:grid;gap:var(--gap);min-height:0;align-content:start;overflow-y:auto}.balance__col--pay{align-content:stretch;grid-template-rows:auto 1fr}.balance__grid{min-height:0}.balance__grid .table-wrap{max-height:26vh}.balance__actions{margin-top:auto}@media (max-width: 979px){.balance{grid-template-columns:minmax(0,1fr);height:auto}.balance__grid .table-wrap{max-height:220px}}.balance__payGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--gap);align-items:start}.balance__payGrid .numpad__key{min-height:40px;font-size:17px}.balance__actions{display:flex;flex-direction:column;gap:8px}@media (max-width: 979px){.balance__payGrid{grid-template-columns:minmax(0,1fr)}}.balance .panel__body{padding:10px 12px}.balance .pos__totals{gap:6px}.balance .totalrow__value,.balance .totalrow .input{min-height:34px;font-size:16px}.balance .totalrow--grand .totalrow__value{font-size:19px}.balance .btn--lg{min-height:46px;font-size:14px}.balance__payGrid .numpad{gap:6px}.report{padding:22px 26px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.report__toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px}.report__head{margin-bottom:18px}.report__shop{margin:0 0 6px;font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:26px;letter-spacing:.02em}.report__title{margin:0 0 8px;padding-bottom:7px;border-bottom:2px solid #1b1e24;font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:16px;font-weight:600}.report__meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:Georgia,Times New Roman,serif;font-size:13px;color:#333}.report__table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:14px}.report__table th{padding:7px 9px;border:1px solid #1b1e24;background:#f2f4f7;text-align:start;font-weight:700;font-size:11.5px;white-space:nowrap}.report__table td{padding:6px 9px;border:1px solid #c9ced6}.report__table .num{text-align:end;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.report__table tfoot td{border:1px solid #1b1e24;background:#e7eaee;font-weight:700}.report__neg{color:var(--red-dark)}.report__group{margin-bottom:20px;break-inside:avoid}.report__grouphead{display:flex;justify-content:space-between;gap:14px;margin:0 0 7px;padding:7px 10px;background:#1f232b;color:#fff;border-radius:6px 6px 0 0;font-size:13.5px}.report__grouphead .num{font-family:var(--mono)}.report__grand{margin-top:14px;padding:11px 14px;border:2px solid #1b1e24;background:#f2f4f7;font-size:15px;text-align:end}.report__blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.report__block{border:1px solid #1b1e24;break-inside:avoid}.report__block h3{margin:0;padding:8px 12px;border-bottom:1px solid #1b1e24;background:#e7eaee;font-family:Georgia,Times New Roman,serif;font-size:14px;letter-spacing:.04em;text-align:center}.report__block--grand h3{background:#1f232b;color:#fff}.report__line{display:flex;justify-content:space-between;gap:14px;padding:7px 12px;border-bottom:1px solid #e3e6ea;font-size:13.5px}.report__line:last-child{border-bottom:0}.report__line .num{font-family:var(--mono);font-variant-numeric:tabular-nums}.report__line.is-strong{border-top:2px solid #1b1e24;font-weight:700;font-size:15px}.report__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.report__actions .field{min-width:170px}:root{--plum-900: #2e0a2a;--plum-800: #3d0f37;--plum-700: #4a1042;--plum-600: #5d1a54;--plum-500: #74246a;--panel: #ffffff;--panel-sunken: #f4f5f7;--panel-line: #dfe3e8;--ink: #16181d;--ink-soft: #5b6472;--ink-invert: #ffffff;--green: #35b46a;--green-dark: #248b50;--amber: #f0a537;--red: #e0523f;--red-dark: #b93a29;--blue: #3b82f6;--violet: #8b5cf6;--cyan: #22b8cf;--radius: 10px;--radius-lg: 14px;--gap: 10px;--shadow: 0 1px 2px rgba(16, 20, 28, .08), 0 4px 14px rgba(16, 20, 28, .08);--shadow-lift: 0 8px 30px rgba(16, 20, 28, .22);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans Arabic", sans-serif;--mono: "SF Mono", "Roboto Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--plum-800);-webkit-font-smoothing:antialiased;overscroll-behavior:none}[dir=rtl] body{font-family:"Noto Sans Arabic",var(--font)}button,input,select,textarea{font:inherit;color:inherit}.app{display:grid;grid-template-rows:auto 1fr;height:100%;overflow:hidden}.topbar{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--plum-900);color:var(--ink-invert);border-bottom:1px solid rgba(255,255,255,.09)}.topbar__brand{display:flex;align-items:baseline;gap:10px;margin-inline-end:12px;white-space:nowrap}.topbar__brand strong{font-size:15px;letter-spacing:.04em}.topbar__clock{font-family:var(--mono);font-size:12px;opacity:.68}.topbar__nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.topbar__nav::-webkit-scrollbar{display:none}.navlink{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:8px;border:0;background:transparent;color:#ffffffbd;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.navlink:hover{background:#ffffff1a;color:#fff}.navlink.is-active{background:#fffffff0;color:var(--plum-800)}.topbar__spacer{flex:1}.topbar__user{display:flex;align-items:center;gap:10px;font-size:12px;color:#fffc}.topbar__role{padding:2px 8px;border-radius:999px;background:#ffffff24;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.screen{overflow:auto;padding:14px;background:var(--plum-700)}.panel{background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--panel-line);background:var(--panel-sunken)}.panel__title{margin:0;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft)}.panel__body{padding:12px 14px}.panel__body--flush{padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 16px;border:1px solid transparent;border-radius:var(--radius);background:var(--panel-sunken);color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .06s ease,filter .12s ease}.btn:hover:not(:disabled){filter:brightness(.96)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--outline{background:transparent;border-color:var(--panel-line)}.btn--primary{background:var(--plum-600);color:#fff}.btn--cash{background:var(--green);color:#fff;font-size:17px;letter-spacing:.14em}.btn--knet{background:var(--amber);color:#3a2504;letter-spacing:.14em}.btn--danger{background:var(--red);color:#fff}.btn--ghost-danger{background:#fdecea;color:var(--red-dark)}.btn--blue{background:var(--blue);color:#fff}.btn--wide{width:100%}.btn--lg{min-height:54px;font-size:16px}.btn--sm{min-height:32px;padding:0 11px;font-size:12.5px}.field{display:flex;flex-direction:column;gap:5px}.field__label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft)}.input,.select{min-height:40px;padding:0 11px;border:1px solid var(--panel-line);border-radius:var(--radius);background:#fff;outline:none}.input:focus,.select:focus{border-color:var(--plum-500);box-shadow:0 0 0 3px #74246a24}.input--num{font-family:var(--mono);text-align:end;font-variant-numeric:tabular-nums}.checkbox{display:flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer}.checkbox input{width:18px;height:18px;accent-color:var(--plum-600)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}.row{display:flex;align-items:center;gap:var(--gap);flex-wrap:wrap}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{position:sticky;top:0;z-index:1;padding:9px 11px;background:var(--panel-sunken);border-bottom:1px solid var(--panel-line);text-align:start;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}.table td{padding:9px 11px;border-bottom:1px solid #eef0f3}.table tbody tr{cursor:default}.table tbody tr.is-clickable{cursor:pointer}.table tbody tr.is-clickable:hover{background:#f8f9fb}.table tbody tr.is-selected{background:#e9f6ee}.table tbody tr.is-cancelled td{color:#9aa2ad;text-decoration:line-through}.table tfoot td{padding:10px 11px;border-top:2px solid var(--panel-line);background:var(--panel-sunken);font-weight:700}.num{font-family:var(--mono);text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.empty{padding:32px 16px;text-align:center;color:var(--ink-soft);font-size:13.5px}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em}.tag--yes{background:#e3f6ea;color:var(--green-dark)}.tag--no{background:#fdecea;color:var(--red-dark)}.tag--muted{background:#eef0f3;color:var(--ink-soft)}.tag--warn{background:#fdf1dc;color:#8a5a11}.stat{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border-radius:var(--radius);background:var(--panel-sunken)}.stat__label{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.stat__value{font-family:var(--mono);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.toast-stack{position:fixed;inset-block-end:18px;inset-inline-end:18px;display:flex;flex-direction:column;gap:8px;z-index:900}.toast{min-width:260px;max-width:400px;padding:11px 14px;border-radius:var(--radius);background:#1f232b;color:#fff;font-size:13.5px;box-shadow:var(--shadow-lift);animation:toast-in .16s ease-out}.toast--error{background:var(--red-dark)}.toast--success{background:var(--green-dark)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#1408148c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:800}.modal{width:min(100%,var(--modal-width, 560px));max-height:92vh;display:flex;flex-direction:column;background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);overflow:hidden}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--panel-line)}.modal__title{margin:0;font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.modal__body{padding:16px;overflow:auto}.modal__foot{display:flex;justify-content:flex-end;gap:9px;padding:12px 16px;border-top:1px solid var(--panel-line);background:var(--panel-sunken)}.icon-btn{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;font-size:19px;line-height:1;color:var(--ink-soft);cursor:pointer}.icon-btn:hover{background:var(--panel-sunken)}.numpad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.numpad__key{min-height:52px;border:1px solid var(--panel-line);border-radius:var(--radius);background:#fff;font-family:var(--mono);font-size:21px;font-weight:600;cursor:pointer;transition:transform .05s ease}.numpad__key:active{transform:translateY(1px);background:var(--panel-sunken)}.numpad__key--wide{grid-column:span 2}.numpad__key--action{background:#eef1f5;font-family:var(--font);font-size:14px;letter-spacing:.04em}.numpad__key--danger{background:#fdecea;color:var(--red-dark);font-family:var(--font);font-size:14px}.numpad__display{grid-column:1 / -1;min-height:46px;display:flex;align-items:center;justify-content:flex-end;padding:0 13px;border-radius:var(--radius);background:#fffbe6;border:1px solid #f2e39a;font-family:var(--mono);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.login{display:grid;place-items:center;height:100%;padding:20px;background:radial-gradient(1200px 600px at 50% -10%,var(--plum-600),var(--plum-900))}.login__card{width:min(100%,380px);padding:26px;border-radius:16px;background:#fff;box-shadow:var(--shadow-lift)}.login__title{margin:0 0 4px;font-size:21px;letter-spacing:.02em}.login__sub{margin:0 0 20px;font-size:13px;color:var(--ink-soft)}.login__error{margin-bottom:14px;padding:10px 12px;border-radius:var(--radius);background:#fdecea;color:var(--red-dark);font-size:13px}@media (max-width: 900px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.screen{padding:10px}}.modal-backdrop--full{padding:0}.modal--full{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0}.modal--full .modal__body{flex:1;min-height:0}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff}.no-print,.topbar,.toast-stack,.modal-backdrop{display:none!important}.app{display:block;height:auto;overflow:visible}.screen{padding:0;background:#fff;overflow:visible}.report{padding:0;border-radius:0;box-shadow:none}.report__table{font-size:10.5px}.report__table th,.report__table tfoot td,.report__block h3{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report__grouphead{background:#333!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report__group,.report__block,.report__table tr{break-inside:avoid}.tag{border:1px solid #999;background:transparent!important;color:#000!important}}html,body{max-width:100%;overflow-x:hidden}.app,.app>*,.screen,.screen>*,.panel,.pos,.pos>*,.pos__header,.pos__header>*,.pos__body,.pos__body>*,.pos__footer,.pos__footer>*,.pos__lines,.pos__keys,.pos__totals,.pos__toolbar,.menu,.menu>*,.topbar,.topbar__nav,.grid-2>*,.grid-3>*,.grid-4>*,.row>*{min-width:0}.app{grid-template-columns:minmax(0,1fr)}.screen>div:not([class]){grid-template-columns:minmax(0,1fr)}.report{overflow-x:auto}.report__table{min-width:640px}.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}.topbar__nav{flex:1 1 auto}@media (max-width: 1199px){.pos__body{grid-template-columns:minmax(0,1fr) 112px}.railbtn{min-height:50px;font-size:11px}.pos__footer{grid-template-columns:minmax(260px,1fr) minmax(250px,1fr)}.menu{grid-template-columns:minmax(0,1fr) 260px}.menu__grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width: 979px){.grid-2{grid-template-columns:minmax(0,1fr)}.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.pos{height:auto;grid-template-rows:auto auto auto}.pos__lines{min-height:220px}.pos__lines .table-wrap{min-height:150px;max-height:40vh}.pos__body{grid-template-columns:minmax(0,1fr)}.pos__rail{flex-direction:row;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.pos__rail::-webkit-scrollbar{display:none}.railbtn{flex:0 0 auto;min-width:92px;min-height:54px}.pos__footer{grid-template-columns:minmax(0,1fr)}.menu{grid-template-columns:minmax(0,1fr);min-height:0}.menu__cart{max-height:200px}.menu__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report__actions .field{min-width:140px}.report{padding:16px 14px}.report__blocks{grid-template-columns:minmax(0,1fr)}}@media (max-width: 759px){.screen{padding:9px}.topbar{flex-wrap:wrap;padding:7px 10px;gap:5px}.topbar__brand{margin-inline-end:6px}.topbar__brand strong{font-size:13px}.topbar__clock,.topbar__user span:not(.topbar__role){display:none}.topbar__nav{order:3;width:100%;padding-top:4px}.navlink{padding:7px 11px;font-size:12.5px}.pos__header{grid-template-columns:auto minmax(0,1fr) auto;row-gap:8px}.pos__custname{grid-column:1 / -1;order:4}.pos__billno strong{font-size:19px}.pos__keys{grid-template-columns:78px minmax(0,1fr);padding:9px}.sidekey{font-size:9.5px}.numpad__key{min-height:46px;font-size:18px}.pos__pay{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pos__pay .btn{padding:0 6px;font-size:13px;letter-spacing:.04em}.totalrow{grid-template-columns:minmax(0,1fr) minmax(96px,130px)}.totalrow__value{font-size:17px}.totalrow--grand .totalrow__value{font-size:20px}.menu__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.menu__tab{min-height:40px;padding:0 12px;font-size:12px}.modal-backdrop{padding:8px}.modal{width:100%;max-height:94vh}.modal__body{padding:12px}.modal__foot{flex-wrap:wrap;padding:10px 12px}.modal__foot .btn{flex:1 1 auto}.panel__head{flex-wrap:wrap;gap:8px}.panel__head .row{flex-wrap:wrap}.table{font-size:12.5px}.table th,.table td{padding:8px}}@media (max-width: 519px){.screen{padding:7px}.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.grid-4 .stat,.grid-3 .stat{min-width:0}.pos__custbal .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.pos__header{grid-template-columns:minmax(0,1fr) auto}.pos__billno{grid-column:1 / -1;justify-content:space-between}.pos__custchip{min-width:52px;font-size:15px}.pos__toolbar{gap:6px;padding:7px}.pos__toolbar .btn--sm{font-size:11.5px;padding:0 9px}.pos__pieces{width:100%;justify-content:flex-end;margin-inline-start:0}.pos__keys{grid-template-columns:66px minmax(0,1fr)}.pos__pay{grid-template-columns:repeat(2,minmax(0,1fr))}.pos__pay .btn:last-child{grid-column:1 / -1}.menu__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{min-height:58px;font-size:11.5px}.login__card{padding:20px}.report__meta{flex-direction:column;gap:4px}.report__shop{font-size:21px}.toast{min-width:0;width:calc(100vw - 36px)}.btn{padding:0 12px}}@media (max-height: 560px){.app{grid-template-rows:auto auto;height:auto;min-height:100%;overflow:visible}.pos{height:auto}.pos__lines .table-wrap{max-height:240px}.screen{overflow:visible}}@media (pointer: coarse){.btn--sm{min-height:38px}.table tbody tr.is-clickable td{padding-top:11px;padding-bottom:11px}.checkbox input{width:21px;height:21px}}
