:root{--theme:#c62828}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;background:#fafafa;color:#222}
a{color:var(--theme);text-decoration:none}
.menu{max-width:920px;margin:24px auto;padding:16px}
.header,.footer{background:var(--theme);color:#fff;padding:16px;text-align:center}
.category{margin:16px 0;padding:12px;border:1px solid #eee;background:#fff;border-radius:8px}
.category h2{margin:0 0 8px 0}
.item{padding:10px 0;border-top:1px dashed #eee}
.item:first-child{border-top:0}
.item-title{display:flex;justify-content:space-between;gap:12px;font-weight:600}
.price{white-space:nowrap}
.desc{color:#666;font-size:0.95rem;margin-top:4px}
.special{background:#fff8e1;border-radius:6px;padding:10px;margin:6px 0}
button,input,select{font:inherit}
button{background:var(--theme);color:#fff;border:0;border-radius:6px;padding:10px 14px;cursor:pointer}
button:hover{opacity:.95}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=time],input[type=color]{width:100%;max-width:420px;padding:8px;border:1px solid #ddd;border-radius:6px}
label{display:inline-block;margin:6px 8px 6px 0}
.card{background:#fff;border:1px solid #eee;border-radius:8px;padding:12px;margin:14px 0}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.error{background:#ffebee;color:#c62828;padding:8px;border-radius:6px;margin:8px 0}
.announcement{padding:10px 12px;font-weight:600;text-align:center}
#qrcode{margin:12px 0}