:root{--ink:#17332d;--green:#1e5949;--mint:#dceadf;--paper:#f4f0e8;--yellow:#f4b942;--red:#b44335;--white:#fff;--shadow:0 10px 30px #16342c1b;font-family:Inter,ui-rounded,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:18px}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 10% 10%,#fff 0,transparent 35%),var(--paper)}button,input{font:inherit}button{touch-action:manipulation;cursor:pointer}.hidden{display:none!important}.panel{max-width:850px;margin:5vh auto;background:#fffc;border:1px solid #fff;padding:clamp(24px,5vw,54px);border-radius:30px;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:18px}.brand>span{display:grid;place-items:center;width:70px;height:70px;border-radius:22px;background:var(--green);color:var(--yellow);font-weight:900;font-size:1.5rem}.brand small{display:block;text-transform:uppercase;letter-spacing:.16em;color:#5c756e}.brand h1{margin:3px 0;font-size:clamp(2rem,5vw,3.5rem)}label{display:grid;gap:8px;margin:30px 0 20px;font-weight:700}input{padding:16px 18px;border:2px solid #b9c8c2;border-radius:14px;background:#fff}fieldset{border:0;padding:0;margin:25px 0}legend{font-weight:800;margin-bottom:12px}.stand-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stand-choice button{min-height:130px;border:3px solid transparent;background:#fff;border-radius:20px;font-size:2rem;box-shadow:var(--shadow)}.stand-choice b{display:block;font-size:1rem}.stand-choice button.selected{border-color:var(--green);background:var(--mint)}.primary{width:100%;border:0;border-radius:16px;background:var(--green);color:white;padding:18px;font-weight:800}.register{height:100vh;height:100dvh;display:grid;grid-template-rows:auto 1fr auto}.register header{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:#fff;border-bottom:1px solid #d7ded9}.brand.compact>span{width:48px;height:48px;border-radius:14px;font-size:1rem}.brand.compact small{font-size:.65rem}.brand.compact b{display:block}.status{display:flex;align-items:center;gap:10px;font-size:.82rem}.status i{width:11px;height:11px;border-radius:50%;background:var(--yellow)}.status i.online{background:#35a267}.status button{border:0;border-radius:10px;padding:9px 12px;background:var(--mint);color:var(--ink)}.products{padding:18px;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:14px;overflow:auto}.product{position:relative;border:0;border-radius:22px;background:#fff;color:var(--ink);box-shadow:var(--shadow);padding:16px;min-height:120px;display:grid;place-content:center;text-align:center}.product b{font-size:clamp(1.2rem,3vw,2.3rem)}.product small{font-size:clamp(.85rem,1.6vw,1.2rem);margin-top:8px}.product.selected{background:var(--green);color:#fff}.product .qty{position:absolute;left:12px;top:12px;display:grid;place-items:center;min-width:45px;height:45px;padding:0 10px;border-radius:14px;background:var(--yellow);color:var(--ink);font-size:1.4rem;font-weight:900}.product .minus{position:absolute;right:10px;top:10px;width:45px;height:45px;border-radius:50%;border:0;background:#ffffffd9;color:var(--red);font-weight:900;font-size:1.4rem}footer{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:18px;padding:14px 22px calc(14px + env(safe-area-inset-bottom));background:var(--ink);color:white}footer small{display:block;text-transform:uppercase;letter-spacing:.15em}footer strong{font-size:clamp(1.8rem,4vw,3rem)}#bookBtn{border:0;border-radius:18px;background:var(--yellow);color:var(--ink);font-weight:900;font-size:clamp(1.1rem,2.5vw,1.8rem)}#bookBtn:disabled{opacity:.35}.toast{position:fixed;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%) scale(.8);padding:30px 50px;border-radius:24px;background:var(--green);color:white;font-size:2rem;font-weight:900;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}@media(max-width:700px){.panel{margin:0;min-height:100vh;border-radius:0}.stand-choice{grid-template-columns:1fr}.stand-choice button{min-height:90px}.products{grid-template-columns:repeat(2,1fr);padding:10px;gap:10px}.register header{padding:8px 10px}.status span{display:none}footer{padding:10px;grid-template-columns:1fr 1.5fr}}@media(orientation:landscape) and (max-height:600px){.products{grid-template-columns:repeat(4,1fr)}.product{min-height:90px}.brand.compact small{display:none}}
