:root{--green:#075e54;--mint:#e7f5ef;--orange:#ec7d23;--red:#b42318;--ink:#15201d;--line:#d3ddd8}*{box-sizing:border-box}body{margin:0;background:#f5f7f6;color:var(--ink);font:16px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}.app-shell{max-width:600px;min-height:100dvh;margin:auto;background:#fff}header{min-height:66px;background:var(--green);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:12px 18px}header strong,header span{display:block}header strong{letter-spacing:.04em}header #mode-label{font-size:.75rem;opacity:.8}.status{font-size:.72rem;font-weight:800;background:#197a42;border-radius:30px;padding:5px 9px}.status.offline{background:#9f3028}#app{padding:22px 18px 32px}h1{font-size:1.6rem;margin:0 0 20px}h2{font-size:1.1rem}.hero{padding-top:12vh;text-align:center}.hero h1{font-size:2.25rem;line-height:1.05;letter-spacing:.04em}.hero p{color:#60716b;margin:18px 0 30px}.button{width:100%;border:0;border-radius:12px;padding:17px 16px;margin:8px 0;font-size:1rem;font-weight:800;letter-spacing:.02em;cursor:pointer;color:#fff;background:var(--green);min-height:56px}.button:disabled{opacity:.45;cursor:not-allowed}.incoming{background:var(--green)}.outgoing{background:var(--orange)}.scan{background:#126cc4}.finish{background:#0d7e4d}.outline{background:#fff;color:var(--green);border:2px solid var(--green)}.secondary{background:#fff;color:var(--green)}label{display:block;font-weight:700;margin:12px 0 6px}select{width:100%;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:1rem}.back{border:0;background:transparent;color:var(--green);font-weight:700;padding:0 0 16px;font-size:1rem}.notice{margin:12px 0;padding:12px;border-radius:10px;background:#ffe9e7;color:#8a160e;font-weight:650;font-size:.9rem}.notice.info{background:#e8f3ff;color:#125c94}.empty{color:#60716b;text-align:center;padding:30px}.cart h2{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px}.cart h2 span{background:var(--mint);color:var(--green);padding:1px 9px;border-radius:20px}.product-card{border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0;box-shadow:0 2px 7px #0028170a}.product-card h3{margin:0;font-size:1.05rem}.product-card p{margin:4px 0;font-size:.88rem}.product-name{color:#50625a}.quantity{display:flex;align-items:center;gap:12px;justify-content:center;margin:16px 0}.quantity button{width:42px;height:42px;border:0;border-radius:50%;font-size:1.55rem;color:var(--green);background:var(--mint)}.quantity input{width:90px;text-align:center;border:1px solid var(--line);border-radius:8px;padding:9px;font-size:1.1rem;font-weight:800}.remove{display:block;margin:auto;border:0;background:transparent;color:var(--red);font-weight:800;padding:8px}.modal{position:fixed;inset:0;background:#00130ddd;z-index:10;display:flex;align-items:center;padding:16px}.modal.hidden{display:none}.scanner-panel{width:100%;max-width:560px;margin:auto;color:#fff;text-align:center}.scanner-panel h2{margin:0}.camera-wrap{position:relative;background:#000;border-radius:15px;overflow:hidden;aspect-ratio:3/4;margin:16px 0}.camera-wrap video,.camera-wrap canvas{width:100%!important;height:100%!important;object-fit:cover}.scan-line{position:absolute;left:10%;right:10%;top:50%;border-top:3px solid #59ff87;box-shadow:0 0 12px #59ff87}.hint{font-size:.85rem;color:#667871}.scanner-panel .hint{color:#d6e8df}.success-screen{text-align:center;padding-top:15vh}.success-icon{margin:auto;width:72px;height:72px;border-radius:50%;background:#d9f6e2;color:#13733d;font-size:3rem;line-height:72px}.transaction-id{padding:14px;background:var(--mint);border-radius:12px;margin:24px 0}.transaction-id strong{display:block;font-size:1.05rem}@media(min-width:601px){.app-shell{box-shadow:0 0 30px #00160c18}}
