:root{--accent: #e66a23;--accent-press: #c9561a;--accent-soft: #ffedd5;--canvas: #fbf9f7;--surface: #fff;--ink: #1d1a16;--ink-soft: #44403c;--muted: #a8a29e;--line: #e7e5e4;--success: #16a34a;--success-soft: #dcfce7;--error: #dc2626;--error-soft: #fee2e2;--amber: #ffc72c;--amber-soft: #fff6d6;--settle: cubic-bezier(.22, 1, .36, 1);--move: cubic-bezier(.4, 0, .2, 1);--drawer: cubic-bezier(.32, .72, 0, 1);--pull: cubic-bezier(.55, .06, .68, .19);font-family:Plus Jakarta Sans,sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}button,input{font:inherit}button{cursor:pointer}.press:active{transform:scale(.96);filter:brightness(.92)}.app{display:flex;min-height:100%;background:var(--canvas)}.rail{width:88px;flex:none;display:flex;flex-direction:column;gap:6px;padding:12px 8px;background:var(--surface);border-right:1px solid var(--line)}.rail button,.phone-tabs button{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:48px;border:0;border-radius:14px;background:transparent;color:var(--ink-soft);font-size:11px;font-weight:600}.rail button.on,.phone-tabs button.on{background:var(--accent-soft);color:var(--accent)}.rail i,.phone-tabs i{font-style:normal;font-size:18px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.top{height:64px;display:flex;align-items:center;gap:12px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--line)}.top h1{margin:0;font-size:20px}.top .clock{margin-left:auto;font-weight:600}.grow{flex:1}.content{padding:24px;overflow:auto}.phone-tabs{display:none}.pill,.btn,.ghost,.textish{border:0;border-radius:999px;min-height:48px;padding:0 16px;font-weight:700}.btn{height:56px;background:var(--accent);color:#fff}.btn.amber{background:var(--amber);color:var(--ink)}.chip.pop{animation:pop .35s cubic-bezier(.22,1,.36,1)}.btn:active{background:var(--accent-press)}.btn.tall{height:64px;font-size:18px}.ghost{height:56px;background:#fff;color:var(--ink);border:1px solid var(--line)}.textish{background:transparent;color:var(--ink-soft)}.status-pill,.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:13px;font-weight:700}.status-pill.reconnecting{background:var(--amber-soft);color:#92400e}.status-pill.offline,.chip.unpaid,.chip.late{background:var(--error-soft);color:var(--error)}.chip.unpaid,.chip.amber{background:var(--amber-soft);color:#92400e}.chip.paid,.chip.ok{background:var(--success-soft);color:var(--success)}.chip.togo{background:#e66a23;color:#fff}.from-guest{margin:0 0 8px;color:#78716c;font-size:13px}.chip.mode{background:var(--canvas);color:var(--ink-soft);border:1px solid var(--line)}.spin{width:10px;height:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.offline-bar,.pause-bar{margin:0;padding:10px 24px;background:var(--error);color:#fff;font-weight:700;animation:drop .25s var(--settle)}.pause-bar,.offline-bar.back{background:var(--amber);color:var(--ink)}.offline-bar.back{background:var(--success);color:#fff}.columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.column{display:flex;flex-direction:column;gap:12px;min-height:240px}.column h2{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;letter-spacing:.08em}.badge{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;display:inline-grid;place-items:center;animation:roll .35s var(--settle)}.strips{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.strip{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:var(--amber-soft);font-weight:700}.strip.done{background:var(--success-soft);animation:collapse .25s var(--settle) forwards}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 2px 8px #1d1a160f;animation:settle .4s var(--settle)}.card.glow{box-shadow:0 0 0 4px var(--accent-soft);animation:glow 1.5s var(--settle)}.card.ready{box-shadow:inset 0 4px 0 var(--success)}.card.out{animation:drop-away .25s var(--pull) forwards}.card h3{margin:0;font-size:28px;font-weight:800}.card header,.row,.line,.total-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.meta{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;align-items:center}.wa-tools{position:relative;display:inline-flex;align-items:center;gap:6px}.wa-mask{height:32px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--ink-soft);font-weight:700;font-size:13px}.wa-fade{animation:wa-fade .2s ease}.wa-btn{width:44px;height:44px;border:0;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center}.wa-pop{position:absolute;z-index:5;top:48px;right:0;width:280px;padding:8px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 28px #1d1a1629;transform-origin:top right;animation:wa-scale .2s var(--settle)}.wa-pop button{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:10px;padding:10px 12px;font-weight:700}.wa-pop button small,.wa-sheet button small{display:block;margin-top:4px;color:var(--ink-soft);font-size:12px;font-weight:500;line-height:1.35;white-space:normal}.wa-pop button:hover{background:var(--canvas)}.wa-pop button:disabled,.wa-sheet button:disabled{opacity:.55;cursor:default}.wa-line{margin:0 0 8px;padding:8px 10px;border-radius:10px;background:#e9f9ef;font-size:13px;line-height:1.35}.wa-line b{display:block;margin-bottom:2px;color:#128c7e;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.wa-sheet{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.wa-sheet p{margin:0;color:var(--muted);font-size:13px;font-weight:700}.wa-sheet button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px}.wa-hint{margin:0 0 4px;padding:8px 12px 4px;color:var(--muted);font-size:12px;font-weight:700}@keyframes wa-scale{0%{transform:scale(.86);opacity:0}to{transform:none;opacity:1}}@keyframes wa-fade{0%{opacity:0}to{opacity:1}}.age.late{color:var(--error);font-weight:800}.note{margin:8px 0;padding:8px 10px;border-radius:10px;background:var(--amber-soft);font-size:13px}.card ul{margin:8px 0;padding:0;list-style:none;font-size:15px;font-weight:500}.card li.pending{background:var(--amber-soft);border-radius:8px}.accept-bar{height:3px;margin-top:8px;background:var(--line);border-radius:99px;overflow:hidden}.accept-bar i{display:block;height:100%;width:100%;background:var(--accent);transform-origin:left;animation:empty 180s linear forwards}.icon-row{display:flex;gap:4px}.icon-row button,.stepper button,.key{width:40px;height:40px;border:0;border-radius:12px;background:var(--canvas);font-weight:800}.menu-pop{position:relative}.menu-pop div{position:absolute;right:0;z-index:2;display:flex;flex-direction:column;min-width:140px;padding:6px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px #1d1a161f}.menu-pop div button{border:0;background:transparent;text-align:left;padding:8px;border-radius:8px}.center-wrap,.dim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#1d1a1647}.takeover-dim{background:#1d1a16d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade .2s var(--settle)}.modal,.take-card,.link-card{width:min(560px,calc(100% - 32px));background:#fff;border-radius:24px;padding:24px;box-shadow:0 16px 40px #1d1a162e;animation:rise .35s var(--settle)}.take-card{position:relative;z-index:1;width:min(640px,calc(100% - 32px));padding:0;overflow:hidden;border-radius:24px;animation:take-in .4s var(--settle)}.take-card.small{width:min(480px,calc(100% - 32px))}.take-card.pull{animation:pull-away .45s var(--pull) forwards}.take-card.forward{animation:forward .3s var(--move)}.take-card header,.band{position:relative;display:flex;align-items:center;justify-content:space-between;height:64px;margin:0;padding:0 24px;background:var(--accent);color:#fff;font-weight:800;letter-spacing:.04em}.take-card header.dark,.band.dark{background:var(--ink)}.take-card header strong{font-size:18px;font-weight:800}.take-side{display:flex;align-items:center;gap:8px;font-weight:700}.take-chip{background:#fff;color:var(--ink);border-radius:999px;padding:2px 10px;font-size:13px;font-style:normal;font-weight:700}.take-count{background:#ffffff38;border-radius:999px;padding:2px 8px;font-size:12px}.take-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:#fff;transform-origin:left}.take-decline{margin:8px 24px 0;text-align:right;color:var(--muted);font-size:12px;font-weight:700}.take-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:nowrap;padding:8px 24px 0}.take-card header strong{white-space:nowrap}.take-num{margin:0;flex:1 1 auto;min-width:0;overflow:hidden;font-size:64px;line-height:.95;font-weight:800;white-space:nowrap;animation:fade .25s var(--settle) both}.take-pay{display:flex;flex:none;flex-direction:column;align-items:flex-end;gap:4px;animation:fade .25s var(--settle) 40ms both}.take-pay b{font-size:28px;line-height:1;white-space:nowrap}.take-pay small{color:var(--muted);font-size:12px;font-weight:700}.take-list{margin:16px 24px;padding:8px 0;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.take-list li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;animation:fade .25s var(--settle) both}.take-list li:nth-child(1){animation-delay:80ms}.take-list li:nth-child(2){animation-delay:.12s}.take-list li:nth-child(3){animation-delay:.16s}.take-list li:nth-child(4){animation-delay:.2s}.take-list li:nth-child(5){animation-delay:.24s}.take-list li b{flex:none;min-width:36px;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:14px;text-align:center}.take-list strong{display:block;font-size:20px;font-weight:500}.take-list small{display:block;color:var(--muted);font-size:15px}.take-list .more{color:var(--muted);font-weight:700}.take-note{margin:0 24px 8px;padding:12px 14px;border-radius:14px;background:var(--amber-soft);font-weight:600}.take-alert{margin:24px;font-size:28px;font-weight:800}.take-actions{display:flex;flex-wrap:wrap;gap:8px;padding:8px 24px 24px}.take-wa{flex:1 0 100%;margin:0 0 4px}.take-actions .btn{flex:2;height:64px}.take-actions .ghost{flex:1;height:64px}.take-card.small .take-actions .btn{flex:1}.takeover-dim.out{opacity:0;transition:opacity .2s var(--settle)}.stack{position:relative}.stack .back{position:absolute;left:0;right:0;top:0;height:100%;border-radius:24px;background:#fff;border:1px solid var(--line);z-index:0}.actions{display:flex;gap:8px;margin-top:16px}.actions .btn,.actions .ghost{flex:1}.code{display:flex;justify-content:center;gap:8px;margin:12px 0;font-size:40px;font-weight:800;letter-spacing:.2em}.expire{height:4px;background:var(--line);border-radius:99px;overflow:hidden}.expire i{display:block;height:100%;background:var(--accent);animation:empty 600s linear forwards}.boxes{display:flex;gap:8px;justify-content:center}.boxes input,.name-field,.search{height:56px;border:1px solid var(--line);border-radius:14px;padding:0 12px;background:#fff;font-size:20px;font-weight:700;text-align:center}.boxes input{width:52px}.boxes.bad{animation:shake .35s var(--move)}.boxes.bad input{border-color:var(--error);background:var(--error-soft)}.link-line{display:flex;align-items:center;gap:8px;margin:18px 0}.link-line b{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--canvas)}.link-line span{flex:1;height:0;border-top:3px dotted var(--muted);position:relative}.link-line.ok span{border-top:3px solid var(--success)}.link-line i{position:absolute;top:-7px;animation:travel 1s linear infinite}.dots{display:flex;gap:12px;justify-content:center;margin:12px 0}.dots b{width:16px;height:16px;border-radius:50%;background:var(--line)}.dots b.on{background:var(--ink);animation:pop .2s var(--settle)}.pad{display:grid;grid-template-columns:repeat(3,72px);gap:10px;justify-content:center}.key{width:72px;height:72px;font-size:24px}.hi{text-align:center;font-size:28px;font-weight:800;animation:fade .3s var(--settle)}.drawer-dim{background:#1d1a162e}.drawer{position:fixed;top:0;right:0;z-index:30;width:min(480px,100%);height:100%;display:flex;flex-direction:column;background:#fff;border-left:1px solid var(--line);animation:drawer-in .4s var(--drawer)}.drawer.out{animation:drawer-out .25s var(--drawer) forwards}.drawer header,.drawer footer{padding:16px;border-bottom:1px solid var(--line)}.drawer footer{margin-top:auto;border-bottom:0;border-top:1px solid var(--line)}.drawer .scroll{padding:16px;overflow:auto}.stepper{display:flex;align-items:center;gap:6px}.toast{position:fixed;top:16px;right:16px;z-index:40;width:min(360px,calc(100% - 32px));display:flex;gap:10px;padding:14px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px #1d1a1626;animation:toast-in .3s var(--settle)}.toast i{width:4px;border-radius:4px;background:var(--accent)}.popover{position:absolute;z-index:5;width:280px;padding:12px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px #1d1a161f;animation:pop .2s var(--settle)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips button,.choice{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:700}.choice.on{background:var(--accent);color:#fff;border-color:var(--accent)}.sale{display:grid;grid-template-columns:160px 1fr 380px;gap:16px;min-height:calc(100vh - 112px)}.cats{display:flex;flex-direction:column;gap:4px;position:relative}.cats button{position:relative;z-index:1;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:999px;font-weight:700}.cat-pill{position:absolute;left:0;right:0;height:40px;border-radius:999px;background:var(--accent);transition:top .2s var(--settle);z-index:0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-content:start}.tile{border:1px solid var(--line);background:#fff;border-radius:16px;padding:8px;text-align:left}.tile img{width:100%;height:92px;object-fit:cover;border-radius:12px;background:var(--canvas)}.tile.off{filter:grayscale(1);opacity:.55}.tile:active{transform:scale(.96)}.cart{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 8px #1d1a160f}.member{border:1px dashed var(--muted);border-radius:16px;padding:16px;text-align:center}.member.cardish{border-style:solid;background:linear-gradient(135deg,#fff6d6,#ffedd5);animation:flip .4s var(--settle)}.member.bad{animation:shake .35s var(--move);border-color:var(--error)}.green{color:var(--success)}.fly{position:fixed;z-index:15;width:42px;height:42px;object-fit:cover;border-radius:10px;pointer-events:none;animation:fly .45s var(--pull) forwards}.scan{width:min(420px,100%);background:#111;border-radius:24px;overflow:hidden}.scan video{width:100%;height:280px;object-fit:cover}.frame{outline:4px solid var(--accent);outline-offset:-24px}.frame.ok{outline-color:var(--success)}.change{font-size:32px;font-weight:800}.change.enough{color:var(--success)}.check{width:72px;height:72px;margin:0 auto;border-radius:50%;background:var(--success);display:grid;place-items:center;color:#fff;font-size:36px;animation:check .5s var(--settle)}.gold{display:inline-block;background:var(--amber-soft);border-radius:999px;padding:6px 10px;animation:pop .35s var(--settle)}@media(min-width:1400px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:900px){.rail{display:none}.phone-tabs{position:sticky;bottom:0;display:flex;justify-content:space-around;background:#fff;border-top:1px solid var(--line)}.columns{display:block}.column{display:none}.column.show{display:flex}.sale{grid-template-columns:1fr}.top{padding:0 12px}.content{padding:12px}}@keyframes settle{0%{opacity:0;transform:translateY(10px)}}@keyframes rise{0%{opacity:0;transform:translateY(24px) scale(.96)}}@keyframes take-in{0%{opacity:0;transform:translateY(24px) scale(.92)}70%{transform:translateY(-4px) scale(1.02)}}@keyframes pull-away{to{transform:translate(-46vw,-18vh) scale(.12);opacity:0}}@keyframes forward{0%{transform:translateY(8px) scale(.98)}}@keyframes fade{0%{opacity:0}}@keyframes roll{0%{transform:translateY(8px);opacity:0}}@keyframes drop{0%{transform:translateY(-100%)}}@keyframes drop-away{to{opacity:0;transform:translateY(16px) rotate(-2deg) scale(.96)}}@keyframes collapse{to{opacity:0;transform:scaleY(.6)}}@keyframes empty{to{transform:scaleX(0)}}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes pop{0%{transform:scale(.8)}70%{transform:scale(1.08)}}@keyframes travel{0%{left:0}to{left:100%}}@keyframes drawer-in{0%{transform:translate(24px);opacity:.6}}@keyframes drawer-out{to{transform:translate(24px);opacity:0}}@keyframes toast-in{0%{transform:translate(24px);opacity:0}}@keyframes glow{0%{box-shadow:0 0 0 6px var(--accent-soft)}to{box-shadow:0 2px 8px #1d1a160f}}@keyframes fly{to{transform:translate(var(--dx),var(--dy)) scale(.4);opacity:.2}}@keyframes flip{0%{transform:rotateX(90deg)}}@keyframes check{0%{transform:scale(.6)}70%{transform:scale(1.06)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes board-up{0%{transform:translateY(28px);opacity:0}}.board-in{animation:board-up .4s var(--settle)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}.spin{animation:spin .8s linear infinite!important}.wa-pop,.wa-fade,.chip.pop{animation:wa-fade .2s ease!important}}
