*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f0f2f5;color:#111;font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}input,textarea{user-select:text;-webkit-user-select:text}#app{height:100vh;height:100dvh;display:flex;flex-direction:column;background:#f0f2f5;overflow:hidden}.pgBar{background:#075e54;color:#fff;padding:12px 14px;display:flex;align-items:center;gap:10px;flex-shrink:0;box-shadow:0 1px 2px #00000026}.hdrBtn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#ffffff26;border-radius:50%;cursor:pointer;font-size:20px;flex-shrink:0}.hdrBtn:active{background:#ffffff4d}.pgBar .title{flex:1;font-size:17px;font-weight:600;letter-spacing:.2px;min-width:0}.pgBar .title .sub{font-size:11px;opacity:.85;margin-top:2px;font-weight:400;letter-spacing:.5px;text-transform:uppercase}.pgBar .exit{background:#ffffff26;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer}.body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.body:after{content:"";display:block;height:20px}.openScreen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#075e54,#128c7e);color:#fff;padding:24px;position:relative}.openScreen .brand{font-size:30px;font-weight:700;letter-spacing:.5px;text-align:center}.openScreen .tag{font-size:13px;opacity:.8;margin-top:6px;letter-spacing:1.5px;text-transform:uppercase}.openScreen .openBtn{margin-top:48px;background:#25d366;color:#fff;border:none;padding:22px 64px;border-radius:14px;font-size:20px;font-weight:600;letter-spacing:.5px;box-shadow:0 8px 24px #25d36666;cursor:pointer}.openScreen .openBtn:active{transform:scale(.97)}.openScreen .footer{position:absolute;bottom:20px;font-size:11px;opacity:.6;letter-spacing:1px}.pinScreen{height:100%;display:flex;flex-direction:column;padding:32px 24px 24px;background:#075e54;color:#fff}.pinTitle{font-size:18px;font-weight:600;text-align:center;margin-bottom:8px}.pinSub{text-align:center;opacity:.8;font-size:13px;margin-bottom:32px}.pinDots{display:flex;justify-content:center;gap:18px;margin-bottom:36px}.pinDot{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.5)}.pinDot.filled{background:#fff;border-color:#fff}.pinPad{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:280px;margin:0 auto;width:100%}.pinKey{background:#ffffff26;border:none;color:#fff;aspect-ratio:1;border-radius:50%;font-size:28px;font-weight:400;cursor:pointer;transition:background .1s}.pinKey:active{background:#ffffff59}.pinKey.fn{background:transparent;font-size:14px;font-weight:500;opacity:.8}.pinKey.fn:active{background:#ffffff1a}.pinErr{color:#ffb4b4;text-align:center;margin-top:18px;font-size:13px;min-height:18px}.dashHero{background:linear-gradient(135deg,#075e54,#128c7e);color:#fff;padding:22px 20px 24px;border-radius:0 0 20px 20px;text-align:center}.dashHero .dhLbl{font-size:12px;opacity:.85;letter-spacing:.8px;text-transform:uppercase}.dashHero .dhVal{font-size:34px;font-weight:700;margin-top:4px;letter-spacing:-.5px}.dashHero .dhSub{font-size:12px;opacity:.85;margin-top:6px}.dashGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px 12px 0}.dashCard{background:#fff;border-radius:14px;padding:14px;box-shadow:0 1px 3px #0000000f;cursor:pointer;border-left:4px solid #075E54}.dashCard:active{background:#fafafa}.dashCard.good{border-left-color:#25d366}.dashCard.bad{border-left-color:#d32f2f}.dashCard.warn{border-left-color:#ff6b35}.dashCard .dcIco{font-size:18px;margin-bottom:6px}.dashCard .dcLbl{font-size:11px;color:#666;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.dashCard .dcVal{font-size:20px;font-weight:700;color:#075e54;margin-top:4px;line-height:1.15}.dashCard.good .dcVal{color:#25d366}.dashCard.bad .dcVal{color:#d32f2f}.dashCard.warn .dcVal{color:#ff6b35}.dashCard .dcSub{font-size:11px;color:#888;margin-top:4px}.hero{background:linear-gradient(135deg,#075e54,#128c7e);color:#fff;padding:18px 18px 24px;border-radius:0 0 20px 20px}.hero .greet{font-size:13px;opacity:.85;letter-spacing:.5px}.hero .name{font-size:22px;font-weight:700;margin-top:2px}.hero .statRow{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}.hero .miniStat{background:#ffffff26;padding:10px 12px;border-radius:10px}.hero .miniStat .lbl{font-size:10px;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.hero .miniStat .val{font-size:16px;font-weight:700;margin-top:2px}.searchTop{background:#fff;margin:14px 14px 0;padding:12px 16px;border-radius:14px;display:flex;align-items:center;gap:10px;box-shadow:0 2px 8px #0000000f}.searchTop .ico{width:34px;height:34px;border-radius:50%;background:#075e54;color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.searchTop input{flex:1;border:none;outline:none;font-size:14px;background:transparent;color:#333}.menuGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px 12px 0}.menuTile{background:#fff;border-radius:14px;padding:14px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;min-height:90px;box-shadow:0 1px 3px #0000000d;position:relative}.menuTile:active{background:#f5f5f5;transform:scale(.96)}.menuTile .ti{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:6px}.menuTile .tl{font-size:11px;font-weight:500;color:#333;line-height:1.2;padding:0 2px}.menuTile .tBadge{position:absolute;top:6px;right:6px;background:#ff6b35;color:#fff;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}.menuTile .tNew{position:absolute;top:6px;left:6px;background:#ff6b35;color:#fff;padding:1px 5px;border-radius:3px;font-size:8px;font-weight:700;letter-spacing:.5px}.menuSect{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1.2px;padding:18px 18px 4px;font-weight:600}.bnav{background:#fff;display:flex;flex-shrink:0;border-top:1px solid #eee;padding:6px 4px 8px;box-shadow:0 -2px 8px #0000000a}.bnav .bni{flex:1;display:flex;flex-direction:column;align-items:center;padding:6px 2px;cursor:pointer;gap:3px;position:relative}.bnav .bni .bicon{font-size:20px;color:#888}.bnav .bni .blbl{font-size:10px;color:#888;font-weight:500}.bnav .bni.active .bicon{color:#075e54}.bnav .bni.active .blbl{color:#075e54;font-weight:600}.bnav .bni .bdot{position:absolute;top:4px;right:calc(50% - 16px);width:6px;height:6px;border-radius:50%;background:#ff6b35}.wiz{display:flex;flex-direction:column;flex:1;min-height:0;background:#ece5dd}.wizBody{flex:1;overflow-y:auto;padding:16px;min-height:0}.bub{background:#fff;padding:10px 14px;border-radius:8px 8px 8px 2px;margin-bottom:10px;max-width:85%;box-shadow:0 1px 1px #00000014;font-size:14px;animation:bubIn .2s ease-out}.bub.a{background:#dcf8c6;border-radius:8px 8px 2px;margin-left:auto}.bub .lbl{font-size:11px;color:#888;margin-bottom:2px;text-transform:uppercase;letter-spacing:.5px}.bub .val{font-weight:500}@keyframes bubIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.wizInput{background:#f0f0f0;padding:10px 12px;flex-shrink:0;display:flex;gap:8px;align-items:center;border-top:1px solid #ddd}.wizInput input,.wizInput textarea{flex:1;border:none;background:#fff;padding:12px 14px;border-radius:22px;font-size:15px;outline:none;font-family:inherit}.wizInput textarea{border-radius:14px;resize:none;min-height:44px;max-height:120px}.wizBtn{background:#075e54;color:#fff;border:none;width:44px;height:44px;border-radius:50%;font-size:20px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.wizBtn:active{background:#054640}.wizFooter{background:#fff;padding:12px;display:flex;gap:8px;flex-shrink:0;border-top:1px solid #eee}.wizFooter button{flex:1;padding:14px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}.btnBack{background:#f0f0f0;color:#333}.btnCancel{background:#ffebee;color:#d32f2f}.btnNext{background:#25d366;color:#fff}.btnSave{background:#075e54;color:#fff}.pickList{padding:12px}.pickItem{background:#fff;padding:14px 16px;border-radius:10px;margin-bottom:8px;cursor:pointer;display:flex;align-items:center;gap:12px;box-shadow:0 1px 1px #0000000d}.pickItem:active{background:#f0f0f0}.pickItem .pnm{flex:1;font-weight:500}.pickItem .px{color:#888;font-size:13px}.modeToggle{background:#fff;padding:10px 12px;display:flex;gap:6px;border-bottom:1px solid #eee}.modeToggle .mt{flex:1;padding:10px;text-align:center;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;color:#888;background:#f5f5f5}.modeToggle .mt.active{background:#075e54;color:#fff}.formScreen{background:#fff;padding-bottom:40vh}.formRow{padding:12px 16px}.formRow label{display:block;font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-weight:600}.formRow input,.formRow select,.formRow textarea{width:100%;padding:13px 14px;border:1px solid #ddd;border-radius:10px;font-size:15px;outline:none;background:#fff;font-family:inherit}.formRow input:focus,.formRow select:focus,.formRow textarea:focus{border-color:#075e54}.formActions{padding:18px 16px 24px;display:flex;gap:10px}.formActions button{flex:1;padding:16px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.searchBar{background:#fff;padding:10px 12px;display:flex;gap:8px;align-items:center;border-bottom:1px solid #eee;position:sticky;top:0;z-index:10}.searchBar input{flex:1;border:1px solid #ddd;padding:10px 14px;border-radius:20px;font-size:14px;outline:none;background:#f7f7f7}.searchBar input:focus{background:#fff;border-color:#075e54}.filterBtn{background:#075e54;color:#fff;border:none;padding:10px 14px;border-radius:20px;font-size:13px;cursor:pointer;font-weight:500;white-space:nowrap}.filterBtn.active{background:#ff6b35}.filterPanel{background:#fff;padding:8px 12px 12px;border-bottom:1px solid #eee;display:none}.filterPanel.show{display:block}.filterPanel .fpRow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.filterPanel label{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.5px;font-weight:600;display:block;margin-bottom:4px}.filterPanel input,.filterPanel select{width:100%;padding:9px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;outline:none;background:#fff}.filterPanel .fpFull{grid-column:1/-1}.filterPanel .fpActions{display:flex;gap:8px;margin-top:10px}.filterPanel .fpActions button{flex:1;padding:10px;border:none;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer}.tabs{display:flex;background:#fff;border-bottom:1px solid #eee}.tab{flex:1;padding:14px;text-align:center;font-size:13px;font-weight:500;color:#888;cursor:pointer;border-bottom:3px solid transparent}.tab.active{color:#075e54;border-color:#075e54}.stmt{background:#fff}.stmtHead{display:grid;grid-template-columns:56px 1fr 70px 70px 78px;padding:10px 8px;background:#075e54;color:#fff;font-size:10px;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.stmtRow{display:grid;grid-template-columns:56px 1fr 70px 70px 78px;padding:10px 8px;border-bottom:1px solid #f0f0f0;font-size:12px;align-items:center}.stmtRow:active{background:#f7f7f7}.stmtRow .dt{color:#666;font-size:10px}.stmtRow .ds .cat{font-size:10px;color:#888}.stmtRow .in{color:#25d366;font-weight:600;text-align:right}.stmtRow .out{color:#d32f2f;font-weight:600;text-align:right}.stmtRow .bal{font-weight:600;text-align:right}.stmtRow.reversed{opacity:.4;text-decoration:line-through}.listCard{background:#fff;margin:8px 12px;padding:14px;border-radius:10px;box-shadow:0 1px 2px #0000000d;cursor:pointer}.listCard:active{background:#fafafa}.listCard .row1{display:flex;justify-content:space-between;align-items:start;gap:8px}.listCard .desc{font-weight:600;font-size:14px;flex:1}.listCard .amt{font-weight:700;font-size:15px;white-space:nowrap}.listCard .amt.in{color:#25d366}.listCard .amt.out{color:#d32f2f}.listCard .meta{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:#888;gap:8px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px}.stat{background:#fff;padding:14px;border-radius:10px;box-shadow:0 1px 2px #0000000f}.stat .lbl{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.8px;font-weight:500}.stat .val{font-size:22px;font-weight:700;color:#075e54;margin-top:4px}.stat.alert .val{color:#d32f2f}.stat.good .val{color:#25d366}.empty{text-align:center;padding:60px 20px;color:#999}.empty .icon{font-size:48px;margin-bottom:12px;opacity:.4}.empty .msg{font-size:14px}.sellHead{background:#075e54;color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.sellHead .cartTtl{font-size:11px;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.sellHead .cartVal{font-size:22px;font-weight:700}.sellHead .cartBtn{background:#25d366;color:#fff;border:none;padding:10px 18px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer}.sellHead .cartBtn:disabled{background:#888;opacity:.6}.prodGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px}.prodCard{background:#fff;border-radius:10px;padding:10px;text-align:center;cursor:pointer;box-shadow:0 1px 2px #0000000f;position:relative;aspect-ratio:.9;display:flex;flex-direction:column;justify-content:center;align-items:center}.prodCard:active{transform:scale(.95);background:#f5f5f5}.prodIcon{font-size:32px;margin-bottom:6px}.prodNm{font-size:11px;font-weight:600;line-height:1.2}.prodPx{font-size:11px;color:#075e54;font-weight:700;margin-top:3px}.prodQty{position:absolute;top:4px;right:4px;background:#25d366;color:#fff;min-width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;padding:0 6px}.prodCard.out{opacity:.4}.prodCard .stk{font-size:9px;color:#888;margin-top:2px}.cartView{background:#fff;padding:12px;max-height:50vh;overflow-y:auto}.cartItem{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid #f0f0f0}.cartItem .ic{font-size:22px}.cartItem .nm{flex:1;font-size:13px}.cartItem .nm .px{font-size:11px;color:#888}.cartQ{display:flex;align-items:center;gap:8px}.cartQ button{width:28px;height:28px;border:1px solid #ddd;background:#fff;border-radius:50%;font-size:16px;cursor:pointer}.cartQ span{min-width:24px;text-align:center;font-weight:600}.cartTot{display:flex;justify-content:space-between;padding:14px 4px;font-size:16px;font-weight:700;border-top:2px solid #075E54;margin-top:8px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modalCard{background:#fff;width:100%;max-width:500px;max-height:90vh;border-radius:16px 16px 0 0;overflow-y:auto;padding:20px;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modalCard h3{font-size:17px;margin-bottom:14px;color:#075e54}.modalCard .row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:14px;gap:8px}.modalCard .row .l{color:#888}.modalCard .row .v{font-weight:600;text-align:right}.modalCard .actions{display:flex;gap:8px;margin-top:18px}.modalCard .actions button{flex:1;padding:14px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer}.confirm{text-align:center;padding:32px 24px;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;justify-content:center;background:#fff}.confirm .check{width:80px;height:80px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:42px;margin:0 auto 20px;animation:pop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.confirm h2{color:#075e54;font-size:22px;margin-bottom:8px}.confirm .sub{color:#888;font-size:14px;margin-bottom:24px}.confirm .details{background:#f0f2f5;padding:16px;border-radius:12px;text-align:left;margin:0 auto 24px;max-width:340px}.confirm .details .r{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;gap:8px}.confirm .details .r .l{color:#666}.confirm .details .r .v{font-weight:600;text-align:right}.confirm .btns{display:flex;flex-direction:column;gap:10px;max-width:340px;margin:0 auto;width:100%}.confirm .btns button{padding:16px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#075e54;color:#fff;padding:12px 20px;border-radius:24px;font-size:13px;z-index:200;box-shadow:0 4px 16px #0003;animation:toastIn .3s,toastOut .3s 2.7s forwards}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes toastOut{to{opacity:0;transform:translate(-50%,20px)}}.syncDot{position:fixed;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:#25d366;z-index:50}.syncDot.pending{background:orange;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.3}}.chip{display:inline-flex;align-items:center;gap:6px;background:#e0f2f1;color:#075e54;padding:6px 12px;border-radius:14px;font-size:12px;margin:3px;cursor:pointer}.chip.sel{background:#075e54;color:#fff}.chip .x{font-size:14px;opacity:.7}.zReport{padding:16px;background:#fff}.zReport h2{color:#075e54;font-size:18px;margin-bottom:4px}.zReport .zsub{color:#888;font-size:12px;margin-bottom:18px}.zSection{margin-bottom:20px}.zSection h4{font-size:11px;text-transform:uppercase;color:#888;letter-spacing:1px;margin-bottom:8px;font-weight:600}.zRow{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f5f5f5;font-size:14px;gap:8px}.zRow.tot{border-top:2px solid #075E54;border-bottom:none;font-weight:700;padding-top:10px;margin-top:4px;color:#075e54}.perms{padding:8px 12px}.permGroup{background:#fff;border-radius:10px;padding:8px 0;margin-bottom:10px}.permGroup h5{padding:8px 16px;font-size:11px;text-transform:uppercase;color:#888;letter-spacing:.8px}.permItem{display:flex;align-items:center;padding:10px 16px;cursor:pointer}.permItem:active{background:#f5f5f5}.permItem .pnm{flex:1;font-size:14px}.permCheck{width:22px;height:22px;border:2px solid #ddd;border-radius:6px;display:flex;align-items:center;justify-content:center}.permCheck.on{background:#075e54;border-color:#075e54;color:#fff}.fab{position:fixed;bottom:80px;right:20px;width:56px;height:56px;background:#25d366;color:#fff;border:none;border-radius:50%;font-size:28px;cursor:pointer;box-shadow:0 4px 12px #25d36680;z-index:20}.fab:active{transform:scale(.9)}.currencyTab{display:flex;background:#075e54;padding:4px;flex-shrink:0}.ccyT{flex:1;padding:10px;text-align:center;color:#ffffffb3;cursor:pointer;font-size:13px;font-weight:500;border-radius:6px}.ccyT.active{background:#fff;color:#075e54}.nt-training-bar{position:fixed;top:0;left:0;right:0;height:26px;background:#ff6b35;color:#fff;text-align:center;padding:5px 10px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;z-index:9999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-sizing:border-box;pointer-events:none;box-shadow:0 2px 6px #0003}body{padding-top:26px}.till-boot{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#075e54,#128c7e);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;z-index:9998}.till-boot .brand{font-size:28px;font-weight:700;letter-spacing:1px}.till-boot .sub{font-size:12px;margin-top:6px;opacity:.7;text-transform:uppercase;letter-spacing:1.2px}.till-boot .spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.2);border-top-color:#25d366;border-radius:50%;margin-top:22px;animation:till-spin .8s linear infinite}.till-boot .err{margin-top:18px;font-size:13px;color:#ffcdd2;max-width:280px;text-align:center;line-height:1.5}@keyframes till-spin{to{transform:rotate(360deg)}}.till-version{position:fixed;top:30px;right:6px;z-index:90;font-size:10px;color:#ff6b35d9;font-family:ui-monospace,SF Mono,Menlo,monospace;pointer-events:none;letter-spacing:.4px}
