:root{--paper: #F2F1EC;--ink: #14201B;--ink-2: #4A5652;--line: #D6D4CC;--amber: #F0A202;--amber-deep: #8F5A00;--moss: #2F5D50;--moss-soft: #DCE7E2;--red: #B23A2E;--font: "Bricolage Grotesque", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}button,input{font:inherit}:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.cust{min-height:100%;display:grid;grid-template-rows:auto 1fr auto;padding:max(20px,env(safe-area-inset-top)) 24px max(20px,env(safe-area-inset-bottom));transition:background .4s}.cust.is-ready{background:var(--amber);color:var(--ink)}.cust-head{display:flex;justify-content:space-between;align-items:baseline}.cust-head h1{font-size:18px;font-weight:600;margin:0;letter-spacing:-.01em}.cust-head span{font-size:14px;color:var(--ink-2)}.cust.is-ready .cust-head span{color:var(--amber-deep)}.cust-main{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:28px}.cust-main p{max-width:30ch;margin:0;font-size:18px;line-height:1.4;color:var(--ink-2)}.cust.is-ready .cust-main p{color:var(--ink)}.num-input{width:min(100%,320px);text-align:center;font-size:64px;font-weight:800;letter-spacing:-.03em;border:0;border-bottom:3px solid var(--ink);background:transparent;padding:8px 0;border-radius:0;text-transform:uppercase}.num-input::placeholder{color:var(--line);font-weight:600}.big-num{font-size:clamp(96px,32vw,180px);font-weight:800;line-height:1;letter-spacing:-.05em;font-variation-settings:"opsz" 96;margin:0}.cust.is-ready .big-num{animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.cust.is-ready .big-num{animation:none}}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--ink-2);margin-right:8px;vertical-align:middle}.cust.is-ready .dot{background:var(--ink)}.btn{border:0;border-radius:999px;padding:18px 28px;font-size:18px;font-weight:600;cursor:pointer;width:min(100%,320px);background:var(--ink);color:var(--paper)}.btn:disabled{opacity:.45;cursor:default}.btn.ghost{background:transparent;color:var(--ink);border:2px solid currentColor}.err{color:var(--red);font-size:15px;max-width:34ch;margin:0}.cust-foot{font-size:13px;color:var(--ink-2);text-align:center}.staff{min-height:100%;padding:24px;max-width:960px;margin:0 auto}.staff-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.staff-head h1{font-size:22px;font-weight:600;margin:0}.staff-head .status{font-size:14px;color:var(--ink-2)}.staff-head .status:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:6px}.staff-head .status.on:before{background:var(--moss)}.link{background:none;border:0;color:var(--ink-2);text-decoration:underline;cursor:pointer;padding:0}.entry{display:flex;gap:12px;align-items:stretch;margin-bottom:36px}.entry input{flex:1;font-size:40px;font-weight:800;letter-spacing:-.02em;padding:8px 16px;border:2px solid var(--ink);border-radius:12px;background:#fff;text-transform:uppercase;min-width:0}.entry button{border:0;border-radius:12px;background:var(--amber);color:var(--ink);font-size:22px;font-weight:800;padding:0 32px;cursor:pointer}.entry button:disabled{opacity:.5}.cols{display:grid;grid-template-columns:1fr 1fr;gap:32px}@media(max-width:640px){.cols{grid-template-columns:1fr}.entry input{font-size:28px}}.col h2{font-size:16px;font-weight:600;margin:0 0 8px;color:var(--ink-2);display:flex;justify-content:space-between}.col h2 b{font-weight:800;color:var(--ink)}.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.row .n{font-size:32px;font-weight:800;letter-spacing:-.03em;min-width:5ch}.row .t{color:var(--ink-2);font-size:14px;flex:1}.row .act{border:0;border-radius:8px;padding:10px 14px;font-weight:600;cursor:pointer;background:var(--moss-soft);color:var(--moss)}.row .act.primary{background:var(--amber);color:var(--ink)}.row .act.quiet{background:transparent;color:var(--ink-2)}.empty{padding:24px 0;color:var(--ink-2);border-top:1px solid var(--line)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:999px;font-weight:600}.toast.error{background:var(--red)}.login{min-height:100%;display:grid;place-items:center;padding:24px}.login form{width:min(100%,380px);display:grid;gap:14px}.login h1{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0 0 8px}.login label{display:grid;gap:6px;font-size:14px;color:var(--ink-2)}.login input{padding:14px;border:2px solid var(--line);border-radius:10px;background:#fff;font-size:16px}.login input:focus{border-color:var(--ink);outline:0}.staff-nav{display:flex;gap:16px;align-items:center}.qrpage{min-height:100%;padding:24px;max-width:560px;margin:0 auto;display:grid;gap:20px;align-content:start}.qr-tools{display:flex;justify-content:space-between;align-items:center}.btn.small{width:auto;padding:10px 18px;font-size:15px}.qr-card{background:#fff;border:2px solid var(--ink);border-radius:20px;padding:32px 28px;text-align:center;display:grid;gap:16px;justify-items:center}.qr-card h1{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0}.qr-lead{font-size:18px;margin:0;color:var(--ink-2);max-width:26ch}.qr-box{width:min(100%,300px);aspect-ratio:1}.qr-box svg{width:100%;height:100%;display:block}.qr-steps{text-align:left;margin:0;padding-left:22px;font-size:16px;line-height:1.5;color:var(--ink)}.qr-url{font-weight:600;margin:0;font-size:15px;word-break:break-all}.qr-fine{margin:0;font-size:13px;color:var(--ink-2)}.qr-hint{font-size:14px;color:var(--ink-2);text-align:center;margin:0}@media print{.no-print{display:none!important}body{background:#fff}.qrpage{padding:0;max-width:none}.qr-card{border-width:3px;page-break-inside:avoid}}.land{max-width:1040px;margin:0 auto;padding:20px 24px 48px;display:grid;gap:64px}.land-head{display:flex;justify-content:space-between;align-items:center}.brand{font-weight:800;font-size:20px;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:8px}.brand-dot{width:12px;height:12px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px #f0a20240}.hero{display:grid;gap:24px;max-width:760px}.hero h1{font-size:clamp(38px,6vw,64px);font-weight:800;line-height:1.02;letter-spacing:-.03em;margin:0}.lead{font-size:19px;line-height:1.5;color:var(--ink-2);margin:0;max-width:60ch}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.hero-cta .btn{width:auto;text-decoration:none;display:inline-block;text-align:center}.demo{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:center;background:#fff;border:2px solid var(--ink);border-radius:24px;padding:28px}.demo-qr{width:220px;aspect-ratio:1}.demo-qr svg{width:100%;height:100%;display:block}.demo h2,.how h2,.pricing h2{font-size:30px;font-weight:800;letter-spacing:-.02em;margin:0 0 12px}.steps{margin:0;padding-left:22px;font-size:17px;line-height:1.6}.fine{font-size:14px;color:var(--ink-2);margin:12px 0 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:var(--moss-soft);border-radius:18px;padding:22px}.card h3{margin:0 0 8px;font-size:18px;font-weight:700}.card p{margin:0;color:var(--ink-2);line-height:1.5;font-size:15px}.how-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.how-row .num{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--amber);font-weight:800;font-size:18px;margin-bottom:12px}.how-row h3{margin:0 0 6px;font-size:18px}.how-row p{margin:0;color:var(--ink-2);line-height:1.5;font-size:15px}.pricing{background:var(--ink);color:var(--paper);border-radius:24px;padding:40px 32px;display:grid;gap:20px}.pricing .lead{color:#c9cfcb}.pricing .btn{background:var(--amber);color:var(--ink)}.land-foot{font-size:14px;color:var(--ink-2);text-align:center}.land-foot a{color:inherit}@media(max-width:760px){.demo{grid-template-columns:1fr;justify-items:center;text-align:left}.grid,.how-row{grid-template-columns:1fr}}
