html,body{ height:100%; }
:root{ --navbar-gap:112px; }
body { background:#f7fafc; }
.floor-config { margin-bottom: 1em; display:flex; gap:1em; flex-wrap:wrap; }

/* ===== Layout helpers ===== */
.split-wrap{ height:calc(100vh - var(--navbar-gap)); overflow:hidden; display:flex; flex-direction:column; }
.split-col{ display:flex; flex-direction:column; min-height:0; height:100%; }
.split-scroll{ flex:1 1 auto; min-height:0; overflow:auto; -webkit-overflow-scrolling:touch; }
.split-wrap > .row{ height:100%; min-height:0; }
@media (max-width:991.98px){ .split-wrap,.split-col,.split-scroll{ height:auto; overflow:visible; } }

/* ===== Grid (left) ===== */
.floor-grid{
  display:grid; background:#f8fafc; border-radius:1.3em;
  box-shadow:0 2px 18px #0001; border:2px solid #e6eaf3;
  aspect-ratio:1/1; margin:0 auto 2em; min-width:330px; min-height:330px;
  max-width:92vw; max-height:92vw; position:relative; overflow:auto; isolation:isolate;
}
.floor-grid-cell{
  border:1px solid #e3e8f0; background:#fcfdfe; position:relative;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; font-weight:600; font-size:clamp(1rem,2.3vw,2.1rem);
  transition:background .12s; user-select:none; aspect-ratio:1/1; min-width:0; min-height:0;
  overflow:hidden; z-index:1;
}
.floor-grid-cell.has-table,
.floor-grid-cell.has-table span{
  color:#fff !important; font-weight:900; font-size:clamp(1.05rem,3vw,2.2rem);
  text-shadow:0 1px 0 #111,1px 0 0 #111,0 -1px 0 #111,-1px 0 0 #111,
              1px 1px 0 #111,-1px 1px 0 #111,1px -1px 0 #111,-1px -1px 0 #111,
              0 2px 0 #111,2px 0 0 #111,0 -2px 0 #111,-2px 0 0 #111,
              2px 2px 0 #111,-2px 2px 0 #111,2px -2px 0 #111,-2px -2px 0 #111;
  max-width:100%; max-height:100%; white-space:pre-line; text-overflow:ellipsis;
  display:flex; align-items:center; justify-content:center; line-height:1.1; text-align:center;
}
.floor-grid-cell.has-table span.long-text{ font-size:clamp(.8rem,1.5vw,1.5rem) !important; }
.floor-grid-cell.locked-empty{ background:#e9ecef !important; border:1px solid #fff; color:#b0b0b0; cursor:not-allowed; box-shadow:none !important; z-index:1; }
.floor-grid-cell.unlocked-hover:hover{ box-shadow:0 0 0 3px #7bdcc388,0 2px 16px #6662; background:#e6fbe5 !important; transition:box-shadow .14s, background .14s; }
.floor-grid-cell.dragging{ box-shadow:0 0 0 7px #38b6ff99,0 4px 30px #38b6ff55 !important; opacity:.85; z-index:5; }

@media (max-width:700px){
  .floor-grid{ min-width:220px; min-height:220px; }
  .floor-grid-cell{ font-size:clamp(.7rem,3vw,1.3rem); }
}

/* ==== Large grid label scaling ==== */
.floor-grid.size-gt-17 .floor-grid-cell.has-table,
.floor-grid.size-gt-17 .floor-grid-cell.has-table span{
  color:#111 !important; text-shadow:none !important; font-weight:700;
}
.floor-grid.size-gt-17 .floor-grid-cell.has-table span{
  font-size: clamp(.55rem, calc(var(--cell-size) * 0.52), 1.2rem) !important;
  line-height:1.05;
}
.floor-grid.size-gt-17 .floor-grid-cell.has-table span.long-text{
  font-size: clamp(.50rem, calc(var(--cell-size) * 0.45), 1.05rem) !important;
}

/* Flash hint when blocked */
.floor-grid-cell.flash-alert{ outline:2px solid #dc3545; animation: flashRed .6s ease-in-out 0s 2; }
@keyframes flashRed{ 0%{ box-shadow:0 0 0 0 rgba(220,53,69,.45); } 50%{ box-shadow:0 0 0 9px rgba(220,53,69,.15); } 100%{ box-shadow:0 0 0 0 rgba(220,53,69,0); } }

/* ===== Hover badge ===== */
#floating-badge{
  display:none; position:fixed; pointer-events:none; z-index:9999;
  font-size:1.1em; font-weight:700; box-shadow:0 2px 14px #3332;
  padding:.36em 1.1em; border-radius:2em; opacity:.93; transition:left .1s, top .1s; white-space:nowrap;
}

/* ===== Green hint overlay (grid) ===== */
.qr-hints-layer{ position:absolute; inset:0; pointer-events:none; z-index:3000; }
.qr-hint{
  position:absolute; background:#22c55e; color:#fff; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:700; font-family:Arial,Helvetica,sans-serif; line-height:1;
  box-shadow:0 1px 6px rgba(0,0,0,.18); text-shadow:none !important; -webkit-text-stroke:0 !important;
}

/* ===== Right list ===== */
tr.row-draggable:hover{ background:#eef7ff; }
#tableListTbody tr.drop-before{ border-top:4px dashed #38b6ff !important; }
#view-toggle-row[hidden]{ display:none !important; }

.qr-list-cell{ vertical-align:middle; }
.qr-list-cell .qr-cell{ min-height:3.6rem; display:flex; align-items:center; gap:.28rem .35rem; flex-wrap:wrap; }

/* Square QR slot button */
.qr-slot-btn{
  width:3.2rem; height:3.2rem; display:inline-flex; align-items:center; justify-content:center;
  padding:0; font-weight:900; border:1.5px solid #bbb; border-radius:.45rem; background:transparent;
  cursor:pointer; margin:.18rem .28rem; line-height:1; text-align:center; position:relative;
}
.qr-slot-btn:disabled{ opacity:.6; cursor:not-allowed; }

/* Inner label */
.qr-slot-label{
  display:inline-flex; flex-direction:column; gap:.03em; align-items:center; justify-content:center;
  width:calc(100% - 6px); height:calc(100% - 6px); border-radius:.35rem;
  background:#e9ecef; border:1px solid #cbd5e1; line-height:1.05;
}
.qr-slot-label.used{ background:#8af5b8; border-color:#cfd3da; }
.qr-slot-label.top{ justify-content:flex-start; padding-top:.12rem; }
.qr-slot-label > span{ display:block; }

/* Mini total tag inside slot button */
.qr-slot-sum{
  position:absolute; bottom:0; right:0; font-size:.70rem; font-weight:800;
  background:rgba(255,255,255,.95); border:1px solid #cbd5e1; border-radius:.25rem;
  padding:0 .18rem; line-height:1; pointer-events:none;
}

/* Top-right people badge inside each QR slot button */
.qr-slot-people{
  position:absolute; top:-.30rem; right:-.30rem; display:inline-flex; align-items:center; justify-content:center;
  min-width:1rem; height:1rem; padding:0 .28rem; border-radius:999px;
  background:rgba(0,0,0,.95); color:#FFF; font-size:.7rem; font-weight:800; line-height:1; pointer-events:none;
}

/* “桌號” cell as full-button */
.table > :not(caption) > * > .table-no-cell{ padding:0 !important; }
.table-no-cell{ position:relative; width:1%; white-space:nowrap; }
.table-no-gen{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; margin:0; padding:0; border:0; background:transparent; line-height:1; cursor:pointer; }
.table-no-gen:disabled{ cursor:not-allowed; }

/* Right list: scrolling niceties */
#list-section .split-scroll{ overflow:auto; padding-bottom:28px; }
#table-list-panel .table-responsive{ overflow-y:visible; }
#tableListTbody tr:last-child td{ border-bottom-width:1px; }
#list-section .split-scroll::after{ content:""; display:block; height:env(safe-area-inset-bottom,0px); }
#table-list-panel{ padding-bottom:8px; }

/* ===== Section headers (professional look) ===== */
.section-head{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:12px 16px;
  border:1px solid #e6eaf3; border-radius:14px;
  background:linear-gradient(180deg,#ffffff,#fafbff);
  box-shadow:0 1px 6px rgba(17,38,146,.06);
  position:sticky; top:6px; z-index:10;
}
.section-title{ display:flex; align-items:center; gap:12px; min-width:0; }
.section-icon{ width:36px; height:36px; border-radius:10px; display:grid; place-items:center; flex:0 0 36px; background:#e8f1ff; color:#2463eb; border:1px solid #d9e4ff; }
.section-sub{ display:block; margin-top:2px; font-size:.86rem; color:#6b7280; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.section-actions{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.section-head .input-group>.btn, .section-head .form-control{ height:36px; }
@media (max-width:575.98px){ .section-head{ padding:10px 12px; border-radius:12px; } .section-icon{ width:32px; height:32px; flex-basis:32px; } .section-sub{ display:none; } }

/* Help button (single source of truth) */
.btn-help{
  --size:22px; width:var(--size); height:var(--size); padding:0; line-height:var(--size);
  border-radius:50%; border:1.5px solid #cbd5e1; background:#fff; color:#334155;
  font-weight:800; font-size:.9rem; display:inline-grid; place-items:center; cursor:pointer; flex:0 0 auto;
}
.btn-help:hover{ background:#f8fafc; border-color:#94a3b8; }
.btn-help:focus{ outline:none; box-shadow:0 0 0 3px rgba(56,182,255,.25); }

/* Keep the title and ? on one line */
.section-text{ display:flex; align-items:center; gap:8px; flex-wrap:nowrap; min-width:0; }
.section-text h5{ margin:0; white-space:nowrap; flex:0 1 auto; }

/* Toolbar row niceties */
.toolbar-row #top-toolbar{ margin-bottom:0 !important; }
.toolbar-row .btn{ white-space:nowrap; }
.toolbar-row .form-check{ white-space:nowrap; }

/* Admin toolbar (≥1200px) */
@media (min-width:1200px){
  .admin-bar{
    background:linear-gradient(180deg,#fff,#fafbff); border:1px solid #e6eaf3; border-radius:14px;
    padding:10px 14px; box-shadow:0 1px 6px rgba(17,38,146,.06);
  }
  .admin-bar .btn, .admin-bar .form-control, .admin-bar .form-switch .form-check-input{ height:36px; }
  .admin-bar .btn{ border-radius:10px; }
  .admin-bar .vr{ width:1px; height:24px; background:#e6eaf3; margin:0 6px; }
  .admin-bar .form-switch .form-check-input{ width:100px; }
  #orderModeText.chip{ display:inline-flex; align-items:center; justify-content:center; min-height:28px; padding:0 .6rem; border-radius:999px; font-weight:700; font-size:.9rem; line-height:1; border:1px solid transparent; }
  #orderModeText.chip-primary{ background:#eef2ff; color:#273a8a; border-color:#dfe6ff; }
  .admin-bar .form-check, .admin-bar .form-check-label{ white-space:nowrap; }
  .admin-bar #top-toolbar{ margin:0 !important; }
  .admin-bar .form-check{ display:flex; align-items:center; gap:.5rem; margin:0; }
  .admin-bar .form-switch .form-check-input{ margin:0; }
  .admin-bar .form-check-label{
    display:flex; align-items:center; height:36px; line-height:1; white-space:nowrap; cursor:pointer;
  }
  .admin-bar .form-switch .form-check-label{ margin-left:.1rem; }
}

/* ===== Live stats ===== */
.section-stats{
  border:1px solid #e6eaf3; background:#fff; border-radius:14px;
  padding:10px 12px; box-shadow:0 1px 6px rgba(17,38,146,.06);
}
.stats-row{ display:flex; gap:12px; flex-wrap:wrap; align-items:stretch; }
.stat-card{ flex:1 1 240px; display:flex; align-items:center; gap:10px; border:1px solid #eef2f7; background:linear-gradient(180deg,#ffffff,#fafbff); border-radius:12px; padding:10px 12px; min-height:56px; }
.stat-icon{ display:grid; place-items:center; width:30px; height:30px; border-radius:8px; background:#eef2ff; color:#1f3fb6; flex:0 0 30px; border:1px solid #e0e7ff; }
.stat-icon--people{ background:#e8fff3; color:#059669; border-color:#c6f6d5; }
.stat-icon--orders{ background:#fff7ed; color:#c2410c; border-color:#fde7c7; }
.stat-body{ display:flex; flex-direction:column; line-height:1.2; }
.stat-label{ font-size:.86rem; color:#6b7280; }
.stat-value strong{ font-weight:800; color:#111827; }
.stat-sub{ display:inline-block; margin-left:.25rem; color:#6b7280; font-size:.82rem; }
@media (max-width:575.98px){ .section-stats{ padding:8px 10px; } .stat-card{ min-height:52px; } }

/* ===== Chips (shared look) ===== */
.hl-chip{
  background:#fff; padding:.12em .45em; border-radius:.3em;
  box-shadow:0 0 8px rgba(255,255,255,.8); line-height:1; display:inline-block;
}

/* ===== Global combo rows (used in various modals) ===== */
tr.combo-toggle{ cursor:pointer; }
tr.combo-toggle:hover{ background:#e6f2ff; }
.combo-caret{ display:inline-block; font-size:1.4rem; width:1.4rem; line-height:1; text-align:center; vertical-align:middle; }
@media (pointer:coarse){ .combo-caret{ font-size:1.6rem; width:1.6rem; } }

/* ===== CellActionModal ===== */
#cellActionModal .table th, #cellActionModal .table td{ text-align:center; vertical-align:middle; }
#cellActionModal #cellActionTmpList tr.click-row{ cursor:pointer; -webkit-tap-highlight-color:transparent; }
#cellActionModal #cellActionTmpList tr.click-row:hover{ background:#eef7ff; }
#cellActionModal #cellActionTmpList tr.click-row:active{ background:#e6f2ff; transform:scale(.998); }
#cellActionModal #cellActionTmpList tr.click-row td{ padding:1rem .75rem; }
#cellActionModal #cellActionTmpList .slot-td{ white-space:nowrap; line-height:1; }
#cellActionModal #cellActionTmpList .slot-td .slot-code{ display:inline-block; font-weight:1000; letter-spacing:.5px; line-height:1.05; font-size:clamp(1.8rem,4vw,2.8rem); padding:.05rem .2rem; }

/* Base pill */
.sum-wrap{ margin-top:.18rem; }
.sum-badge{ background:#8af5b8; color:#063b27; font-size:1rem; }
/* Make the amount chip text-only inside modal */
#cellActionModal .sum-badge{ font-stretch:condensed; font-weight:700; font-size:1.8rem; letter-spacing:.01em; background:transparent; }

/* State-driven row + total-cell coloring */
#cellActionModal #cellActionTmpList td.total-cell.is-zero,
#cellActionModal #cellActionTmpList td.total-cell.is-nonzero{ background:#e5e7eb !important; color:#475569; border-color:#d1d5db; }
#cellActionModal #cellActionTmpList tr.state-ready{ --accent:#22c55e; }
#cellActionModal #cellActionTmpList tr.state-inprogress{ --accent:#f59e0b; }
#cellActionModal #cellActionTmpList tr.state-overdue{ --accent:#ef4444; }
#cellActionModal #cellActionTmpList tr.state-ready td.total-cell.is-nonzero,
#cellActionModal #cellActionTmpList tr.state-inprogress td.total-cell.is-nonzero,
#cellActionModal #cellActionTmpList tr.state-overdue td.total-cell.is-nonzero{
  background:var(--accent) !important; border-color:var(--accent) !important; color:#fff;
}
#cellActionModal #cellActionTmpList .sum-badge.slot-sum{ color:inherit; background:transparent; }

/* ======= 現行 QR Slot 操作 Modal — CLEANED ======= */
#qrSlotActionModal .modal-header .modal-title{ display:flex; align-items:center; justify-content:center; gap:.5rem; flex-wrap:wrap; }
#qrSlotActionModal .modal-header .hl-chip.fw-bold{ font-size:2rem; line-height:1; }

#qrSlotActionModal .btn-square{
  width:clamp(64px,12vw,96px); height:clamp(64px,12vw,96px); border-radius:0;
  display:inline-flex; align-items:center; justify-content:center; padding:0;
  font-size:clamp(1.15rem,2.4vw,1.6rem); font-weight:800; line-height:1;
}

/* Scoped combo item tweaks */
#qrSlotActionModal .combo-item-row td{ border:0 !important; }
#qrSlotActionModal .combo-item-row td:first-child{ padding-left:.75rem !important; }

/* Row state fills */
#qrSlotActionModal tr.state-inprogress, #qrSlotActionModal tr.state-inprogress > td{ background:#FFEEA3 !important; }
#qrSlotActionModal tr.state-ready,      #qrSlotActionModal tr.state-ready > td{ background:#8AF5B8 !important; }
#qrSlotActionModal tr.state-overdue,    #qrSlotActionModal tr.state-overdue > td{ background:#F8B4B4 !important; color:#111; }

/* Order card w/ accent ring */
#qrSlotActionModal .order-card{ background:#f8f9fa; border:2px solid #e5e7eb; border-radius:.5rem; }
#qrSlotActionModal .order-card.state-ready{ --accent:#22c55e; }
#qrSlotActionModal .order-card.state-inprogress{ --accent:#f59e0b; }
#qrSlotActionModal .order-card.state-overdue{ --accent:#ef4444; }
#qrSlotActionModal .order-card.state-ready,
#qrSlotActionModal .order-card.state-overdue,
#qrSlotActionModal .order-card.state-inprogress{
  border-color:var(--accent) !important; box-shadow:0 0 0 var(--order-card-ring,2px) var(--accent);
}
#qrSlotActionModal .order-card.state-ready .badge.bg-secondary,
#qrSlotActionModal .order-card.state-inprogress .badge.bg-secondary,
#qrSlotActionModal .order-card.state-overdue .badge.bg-secondary{ background-color:var(--accent) !important; color:#fff; border:0; }

/* Modal width & overflow */
@media (min-width:576px){
  #qrSlotActionModal .modal-dialog{ max-width:800px; width:80vw; }
}
#qrSlotActionModal .modal-content{ overflow:hidden; }

/* ===== Right list state → slot color ===== */
#table-list-panel .qr-slot-btn.state-ready .qr-slot-label{ background:#8AF5B8; border-color:#cfd3da; }
#table-list-panel .qr-slot-btn.state-inprogress .qr-slot-label{ background:#FFEEA3; border-color:#f6d860; }
#table-list-panel .qr-slot-btn.state-overdue .qr-slot-label{ background:#F8B4B4; border-color:#ef9999; }

/* Keep the row on one line (label + inputs) */
.no-break-row{ display:flex; align-items:center; gap:.75rem; flex-wrap:nowrap; }
.no-break-row .lhs{ flex:1 1 auto; min-width:0; }
.no-break-row .lhs .form-text{ margin-top:.25rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.no-break-row .rhs{ flex:0 0 auto; width:180px; }
@media (max-width:420px){ .no-break-row .lhs .form-text{ font-size:.8rem; } }

/* ===== Wide layout when list is on ===== */
@media (min-width:1300px){
  body.list-on .container{ max-width:100% !important; padding-left:0 !important; padding-right:0 !important; }
  body.list-on .split-wrap{ padding-left:2% !important; padding-right:2% !important; }
  body.list-on #grid-section{
    flex:1 1 calc(100dvh - 350px) !important;
    max-width:min(calc(100dvh - 350px), calc(100% - 360px)) !important;
    min-width:0;
  }
  body.list-on #list-section{
    flex:1 1 360px !important;
    max-width:none !important;
    min-width:320px;
  }
}

/* ===== Grid-mode card layout for right list ===== */
#table-list-panel .table-responsive.grid-mode thead{ display:none; }
#table-list-panel .table-responsive.grid-mode table{ border:0; background:transparent; }
#table-list-panel .table-responsive.grid-mode #tableListTbody{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(var(--card-min,225px), 1fr));
  gap:var(--card-gap,12px); padding:0;
}
#table-list-panel .table-responsive.grid-mode #tableListTbody>tr{
  position:relative; display:grid; grid-template-columns:86px 1fr; align-items:stretch;
  background:#fff; border:1px solid #dee2e6; border-radius:.6rem; padding:0!important; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.06);
}
#table-list-panel .table-responsive.grid-mode #tableListTbody>tr::before{
  content:""; position:absolute; inset:0 auto 0 0; width:86px; background:var(--slab-bg,#ffe08a);
  border-top-left-radius:.6rem; border-bottom-left-radius:.6rem; pointer-events:none; z-index:0;
}
#table-list-panel .table-responsive.grid-mode #tableListTbody>tr>td{ border:0!important; padding:0!important; background:transparent; z-index:1; }
#table-list-panel .table-responsive.grid-mode #tableListTbody>tr>td.text-center.align-middle:first-child{ display:none!important; }
#table-list-panel .table-responsive.grid-mode #tableListTbody>tr>td.table-no-cell{ grid-column:1!important; align-self:stretch!important; width:86px; min-height:86px; position:relative; }
#table-list-panel .table-responsive.grid-mode #tableListTbody>tr>td.table-no-cell .table-no-gen{ position:absolute; inset:0; }
#table-list-panel .table-responsive.grid-mode #tableListTbody>tr>td:not(.table-no-cell){ grid-column:2!important; }
#table-list-panel .table-responsive.grid-mode #tableListTbody .qr-list-cell{ display:block; }
#table-list-panel .table-responsive.grid-mode #tableListTbody .qr-list-cell .qr-cell{ display:flex; flex-wrap:wrap; gap:.35rem .5rem; align-items:center; min-height:0; }
#table-list-panel .table-responsive.grid-mode #tableListTbody .table-no-cell{ margin:0; }

/* Center the right column (qr-list-cell) in grid-mode */
#table-list-panel .table-responsive.grid-mode #tableListTbody>tr>td.qr-list-cell{
  grid-column:2 !important; display:flex !important; align-items:center; justify-content:center; min-height:86px;
}
#table-list-panel .table-responsive.grid-mode #tableListTbody .qr-list-cell .qr-cell{
  display:flex; flex-wrap:wrap; gap:.35rem .5rem; align-items:center; justify-content:center; width:100%;
}

/* ===== startOrderEmbedModal ===== */
#startOrderEmbedModal .modal-dialog{ margin-left:auto; margin-right:auto; }
@media (max-width:575.98px){
  #startOrderEmbedModal .modal-dialog{ width:98vw !important; max-width:98vw !important; }
  #startOrderEmbedModal .modal-content{ height:90vh; border-radius:.5rem; }
}

/* ===== Checkout modal ===== */
#checkoutModal{ z-index:1060; } /* slot modal is ~1055 */
@media (min-width:576px){ #checkoutModal .modal-dialog{ max-width:800px; width:80vw; } }
#checkoutModal .modal-content{ overflow:hidden; }
#checkoutModal .modal-header{ background:#f8f9fa; }
#checkoutModal .modal-title{ font-weight:600; letter-spacing:.3px; }

/* Header code size */
#checkoutModal .co-slot-code{ font-size:clamp(1.25rem,4.5vw,2.4rem); line-height:1.05; letter-spacing:.2px; }
/* Amount (unified + inline-block) */
#checkoutModal .co-amount-xl{
  font-size:clamp(2.25rem, 8.5vw, 6rem); line-height:1; letter-spacing:.3px; display:inline-block;
}
/* Payment grid & buttons */
#checkoutModal .co-pay-grid{ display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
@media (max-width:420px){ #checkoutModal .co-pay-grid{ grid-template-columns:1fr; } }
#checkoutModal .co-pay{
  padding:1rem 1.25rem; font-size:clamp(1rem,2.8vw,1.25rem); border-width:2px; min-height:56px;
  border-radius:.9rem; transition:transform .06s ease, box-shadow .12s ease, background-color .12s ease;
}
#checkoutModal .co-pay:active{ transform:scale(.99); }
#checkoutModal .co-pay.active{ background:#198754; color:#fff; border-color:#198754; box-shadow:0 0 0 .25rem rgba(25,135,84,.2); }
#checkoutModal .modal-footer .btn{ padding:.85rem 1.1rem; font-size:1.05rem; border-radius:.8rem; }
#checkoutModal .co-pay .bi{ font-size:1.15em; margin-right:.5rem; vertical-align:-0.1em; }

/* ===== Dim slot modal when checkout is on top (single definition) ===== */
#qrSlotActionModal.dim--covered .modal-content{ position:relative; }
#qrSlotActionModal.dim--covered .modal-content::after{
  content:""; position:absolute; inset:0; background:rgba(0,0,0,.35); backdrop-filter:blur(1px); pointer-events:none;
}
