:root{font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;color:#182621;background:#f3f7f4;font-size:18px}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem;background:#146747;color:white}header strong{display:block;font-size:.92rem}header small{display:block}main{max-width:46rem;margin:auto;padding:.8rem}h1{font-size:1.5rem;margin:.3rem 0 .8rem}h2{font-size:1.1rem;margin:1rem 0 .5rem}button{border:0;border-radius:.5rem;background:#146747;color:white;font:inherit;font-weight:700;min-height:52px;padding:.65rem .8rem;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#1f508c}input{font:inherit;min-height:52px;border:2px solid #788b80;border-radius:.4rem;padding:.5rem;width:100%;background:white}label{display:block;font-weight:700;margin:.6rem 0 .3rem}.hero{display:block;width:100%;min-height:86px;margin:.8rem 0;font-size:1.4rem}.heading{display:flex;align-items:center;gap:1rem}.heading h1{margin:0}.search{display:flex;gap:.4rem}.search input{min-width:0}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin:1rem 0}.quick button{font-size:.8rem;padding:.3rem}.row{background:white;border:1px solid #c3d0c8;border-radius:.4rem;margin:.4rem 0;padding:.6rem}.row strong{display:block;overflow-wrap:anywhere}.row .actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.row button{font-size:.9rem;min-height:48px}.total{font-size:1.5rem;font-weight:800;margin:1rem 0}#status{padding:.6rem .8rem;background:#dfebe2;font-size:.85rem}#notice{background:#ffebc2;border:1px solid #9d6500;padding:.7rem;margin-bottom:.7rem;white-space:pre-wrap}#prices>button,#payment>button,#receipt>button,#home>button:not(.hero){width:100%;margin:.35rem 0}pre{white-space:pre-wrap;overflow-wrap:anywhere}.muted{font-size:.85rem;color:#42584a}[hidden]{display:none!important}@media(max-width:360px){:root{font-size:16px}header strong{font-size:.8rem}}
.amount-dialog{width:min(94vw,420px);border:0;border-radius:12px;padding:16px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}
.scan-button{width:100%;margin:.4rem 0}.camera-dialog{width:min(95vw,480px);border:0;border-radius:12px;padding:12px}.camera-dialog video{display:block;width:100%;max-height:50vh;background:#111}.camera-dialog button{width:100%;margin:.5rem 0}#passkeyPanel button{width:100%;margin:.4rem 0}
#status strong{display:block}#status details{margin-top:.25rem}#status summary{cursor:pointer;text-decoration:underline}
