/* Additions: 5-tab bottom bar (PlaynMore), live order pill, OTP desk, receipts, "back to order" pill */
.m-bottom5 { grid-template-columns: repeat(5, 1fr) !important; }
.m-bottom5 button { font-size: .68rem; }
.m-play svg { fill: var(--gold); }
.m-play { position: relative; }
.m-play::before { content: ""; position: absolute; inset: 6px 10px; border-radius: 16px; background: radial-gradient(circle at 50% 20%, rgba(242,92,5,.35), transparent 70%); animation: playGlow 2.4s ease-in-out infinite; pointer-events: none; }
@keyframes playGlow { 50% { opacity: .35; } }
.m-live { display: flex; align-items: center; gap: 10px; width: calc(100% - 32px); margin: 10px 16px 0; padding: 10px 14px; border-radius: 14px; border: 1px solid rgba(229,184,105,.45); background: linear-gradient(90deg, rgba(242,92,5,.22), rgba(229,184,105,.12)); color: var(--text); font: 600 .9rem var(--sans); cursor: pointer; text-align: left; }
.m-live[hidden] { display: none; }
.m-live i { width: 10px; height: 10px; border-radius: 50%; background: #3ccf8e; box-shadow: 0 0 0 0 rgba(60,207,142,.7); animation: livePulse 1.6s infinite; flex: none; }
@keyframes livePulse { 70% { box-shadow: 0 0 0 9px rgba(60,207,142,0); } }
.m-live span { flex: 1; } .m-live b { color: var(--gold); }
.row-btns { display: flex; gap: 8px; flex-wrap: wrap; }

/* back-to-order pill on the restaurant website */
.r-resume { position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 60; display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; border-radius: 999px; background: var(--saffron); color: #fff; font: 700 1rem var(--sans); text-decoration: none; box-shadow: 0 14px 34px rgba(242,92,5,.5); animation: fabPulse 2.4s ease-in-out infinite; white-space: nowrap; }
.r-resume b { background: #fff; color: var(--saffron); border-radius: 999px; padding: 0 .55em; }

/* recent orders on the scan page */
.recent { text-align: left; padding: 18px; margin: 24px 0; }
.recent ul { list-style: none; padding: 0; margin: 10px 0; display: grid; gap: 10px; }
.recent li { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; }
.recent li small { display: block; color: var(--muted); }

/* OTP desk */
.otp-code { display: inline-block; font: 800 1.5rem/1 ui-monospace, Menlo, Consolas, monospace; letter-spacing: .12em; color: #1a1408; background: linear-gradient(135deg, var(--gold), #fff1d6); padding: .3em .6em; border-radius: 10px; }
.side .count.otp { background: #3ccf8e; }

/* receipt */
body.bare:has(.rcpt-wrap) { background: #ece7df; }
.rcpt-wrap { max-width: 460px; margin: 0 auto; padding: 18px 14px 40px; }
.rcpt-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 6px; }
.rcpt-tip { text-align: center; margin: 4px 0 14px; color: #6f665c; }
.rcpt { background: #fff; color: #1b1712; padding: 26px 22px; border-radius: 6px; box-shadow: 0 10px 40px rgba(0,0,0,.18); font: 14px/1.45 ui-monospace, Menlo, Consolas, "Courier New", monospace; position: relative; }
.rcpt::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; height: 10px; background: radial-gradient(circle at 6px 0, transparent 6px, #fff 6.5px) 0 0 / 12px 10px repeat-x; }
.rcpt-head { text-align: center; border-bottom: 1px dashed #999; padding-bottom: 12px; }
.rcpt-logo { width: 46px; height: 46px; margin: 0 auto 6px; border-radius: 50%; display: grid; place-items: center; background: #1b1712; color: #E5B869; font: 700 1.3rem Georgia, serif; }
.rcpt-head h1 { font: 700 1.3rem Georgia, serif; margin: 0 0 4px; color: #1b1712; }
.rcpt-head p { margin: 0; font-size: 12px; color: #444; }
.rcpt-type { margin-top: 8px !important; font-weight: 700; letter-spacing: .15em; color: #1b1712 !important; }
.rcpt-meta { margin: 12px 0; display: grid; gap: 2px; }
.rcpt-meta div { display: flex; justify-content: space-between; gap: 10px; }
.rcpt-meta dt { color: #555; } .rcpt-meta dd { margin: 0; font-weight: 600; text-align: right; } .rcpt-meta dd.big { font-size: 1.2rem; }
.rcpt-items, .rcpt-totals { width: 100%; border-collapse: collapse; }
.rcpt-items th { text-align: left; font-size: 12px; border-top: 1px dashed #999; border-bottom: 1px dashed #999; padding: 6px 0; }
.rcpt-items td { padding: 7px 0; vertical-align: top; border-bottom: 1px dotted #ddd; }
.rcpt-items small { display: block; color: #666; font-size: 11px; }
.rcpt .c { text-align: center; width: 40px; } .rcpt .r { text-align: right; white-space: nowrap; }
.rcpt-totals { margin-top: 8px; } .rcpt-totals td { padding: 3px 0; } .rcpt-totals tr.sm td { font-size: 12px; color: #555; }
.rcpt-totals tr.grand td { font-size: 1.15rem; font-weight: 800; border-top: 2px solid #1b1712; padding-top: 8px; }
.rcpt-pay { margin: 12px 0 0; padding-top: 10px; border-top: 1px dashed #999; text-align: center; }
.rcpt-foot { text-align: center; margin-top: 12px; font-size: 12px; } .rcpt-foot p { margin: 2px 0; } .rcpt-foot .muted { color: #777; }
@media print {
  @page { size: 80mm auto; margin: 4mm; }
  body, body.bare { background: #fff !important; }
  .noprint, .flash { display: none !important; }
  .rcpt-wrap { max-width: none; padding: 0; }
  .rcpt { box-shadow: none; padding: 0; border-radius: 0; }
  .rcpt::after { display: none; }
}
