:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",sans-serif;color:#172033;background:#f3f6f8;font-size:18px;--blue:#2563eb;--line:#d7dde5;--muted:#697386}*{box-sizing:border-box}body{margin:0}.hidden{display:none!important}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid var(--line)}.topbar strong{font-size:1.12rem}.topbar small{display:block;color:var(--muted);font-size:.72rem}.ghost{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 10px;font-weight:700}main{max-width:760px;margin:auto;padding:18px 14px 90px}.hero{background:linear-gradient(135deg,#2563eb,#1687e8);color:#fff;border-radius:20px;padding:23px 20px;box-shadow:0 12px 28px #2563eb30}.hero h1{font-size:1.65rem;margin:0 0 5px}.hero p{margin:0 0 18px;opacity:.9}.primary,.secondary,.danger{border:0;border-radius:12px;padding:12px 16px;font-weight:850}.primary{background:#2563eb;color:#fff}.hero .primary{background:#fff;color:#1d4ed8;width:100%;font-size:1.08rem}.secondary{background:#eef2f7;color:#172033}.danger{background:#fee2e2;color:#b91c1c}.card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px;margin-top:12px;box-shadow:0 3px 13px #0f172a0b}.card h2,.card h3{margin:0 0 8px}.muted{color:var(--muted)}.groups,.names,.meal-tabs{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid #bdc6d2;background:#fff;border-radius:999px;padding:8px 12px;font-weight:750}.chip.active{background:#172033;color:#fff;border-color:#172033}.name-btn{width:calc(50% - 4px);border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px;text-align:left;font-weight:800}.login-code{display:grid;gap:10px}.login-code input{font-size:1.45rem;letter-spacing:.35em;text-align:center;padding:12px;border:1px solid #aeb8c6;border-radius:12px}.meal-tab{border:1px solid #b9c3cf;background:#fff;border-radius:11px;padding:9px 11px;font-weight:800}.meal-tab.active{background:#172033;color:#fff}.popular{border:1px solid #f0ca62;background:#fffae9}.menu-list{display:grid;gap:9px}.menu-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px}.menu-item h3{font-size:1rem;margin:0}.price{font-weight:850;margin-top:3px}.qty{display:flex;align-items:center;gap:8px}.qty button{width:38px;height:38px;border:0;border-radius:10px;background:#eaf1ff;color:#1d4ed8;font-size:1.2rem;font-weight:900}.qty strong{min-width:22px;text-align:center}.cartbar{position:fixed;left:12px;right:12px;bottom:75px;z-index:19;max-width:736px;margin:auto;display:flex;align-items:center;justify-content:space-between;background:#172033;color:#fff;border-radius:15px;padding:12px 15px;box-shadow:0 9px 30px #0004}.cartbar button{border:0;background:#3b82f6;color:#fff;border-radius:10px;padding:9px 13px;font-weight:850}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{flex:1;border:0;background:#fff;padding:16px 6px;font-weight:800;color:#6b7280}.bottom-nav button.active{color:#2563eb;background:#eff6ff}.modal-back{position:fixed;inset:0;z-index:50;background:#0f172a88;display:grid;place-items:center;padding:14px}.modal{background:#fff;border-radius:19px;padding:16px;width:min(620px,100%);max-height:88vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0}.close{border:0;border-radius:10px;width:40px;height:40px;font-size:1.3rem}.form{display:grid;gap:11px}.form label{display:grid;gap:5px;font-weight:750}.form input,.form textarea{width:100%;padding:10px;border:1px solid #aeb8c6;border-radius:10px}.order-line{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4}.loading,.empty{text-align:center;color:var(--muted);padding:50px 12px}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.admin-grid button{min-height:78px}.notice{padding:11px;border-radius:11px;background:#fff7df;color:#7c5700;margin:10px 0}.success{padding:11px;border-radius:11px;background:#dcfce7;color:#166534;margin:10px 0}@media(min-width:640px){.names{display:grid;grid-template-columns:repeat(3,1fr)}.name-btn{width:auto}.menu-list{grid-template-columns:repeat(2,1fr)}}
