@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0d1014;--color-surface:#161b22;--color-surface-2:#1d242d;--color-surface-3:#252e39;--color-border:#2a323d;--color-border-strong:#3a4554;--color-text:#e8ecf1;--color-text-muted:#8a95a5;--color-text-dim:#5a6573;--color-accent:#ff7a18;--color-accent-hot:#ff5b1f;--color-accent-dim:#b85416;--color-accent-soft:#ff7a181f;--color-success:#4ade80;--color-success-soft:#4ade801f;--color-warn:#f5c542;--color-warn-soft:#f5c5421f;--color-danger:#f04438;--color-danger-soft:#f044381f;--color-info:#5aa6f7;--color-info-soft:#5aa6f71f;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--shadow-card:0 1px 0 #ffffff05 inset, 0 6px 14px #00000059;--shadow-modal:0 30px 70px #0000008c;--tap:48px;--tap-lg:64px;--font-display:"Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--t-fast:.12s;--t-base:.18s;--ease-out:cubic-bezier(.16, 1, .3, 1);--z-toolbar:10;--z-dropdown:15;--z-modal:20;--z-toast:30;--z-overlay:40}*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-feature-settings:"cv11", "ss03";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0}body{min-height:100dvh}.qr-app{z-index:1;background:var(--color-bg);width:100%;min-height:100dvh;position:relative}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(1200px 600px at 0 -20%,#ff7a180f,#0000 60%),radial-gradient(900px 500px at 100% 120%,#5aa6f70a,#0000 60%);position:fixed;inset:0}button{font-family:inherit;font-size:inherit;border:1px solid var(--color-border-strong);background:var(--color-surface-2);color:var(--color-text);border-radius:var(--radius-sm);min-height:var(--tap);letter-spacing:.01em;cursor:pointer;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);padding:12px 16px;font-weight:600}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button[data-variant=primary]{background:linear-gradient(180deg, var(--color-accent) 0%, var(--color-accent-hot) 100%);border-color:var(--color-accent-hot);color:#1a1206;font-weight:700}button[data-variant=primary]:hover:not(:disabled){filter:brightness(1.08)}button[data-variant=danger]{background:var(--color-danger);border-color:var(--color-danger);color:#fff;font-weight:700}button[data-variant=ghost]{border-color:var(--color-border);background:0 0}button[data-variant=ghost]:hover:not(:disabled){background:var(--color-surface)}input,select,textarea{background:var(--color-bg);border:1px solid var(--color-border-strong);color:var(--color-text);border-radius:var(--radius-sm);min-height:var(--tap);width:100%;padding:12px 14px;font-family:inherit;font-size:16px}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-accent);outline-offset:-1px;border-color:var(--color-accent)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0}h1{font-size:28px;font-weight:800}h2{font-size:20px;font-weight:700}h3{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:16px;font-weight:700}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.chip{border-radius:var(--radius-xs);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700;font-family:var(--font-mono);border:1px solid;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.chip[data-tone=neutral]{color:var(--color-text-muted);background:var(--color-surface-2);border-color:var(--color-border-strong)}.chip[data-tone=accent]{color:var(--color-accent);background:var(--color-accent-soft)}.chip[data-tone=success]{color:var(--color-success);background:var(--color-success-soft)}.chip[data-tone=warn]{color:var(--color-warn);background:var(--color-warn-soft)}.chip[data-tone=danger]{color:var(--color-danger);background:var(--color-danger-soft)}.chip[data-tone=info]{color:var(--color-info);background:var(--color-info-soft)}.kbd{font-family:var(--font-mono);background:var(--color-surface-3);border:1px solid var(--color-border-strong);color:var(--color-text-muted);border-radius:3px;padding:2px 6px;font-size:11px}.scrim{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;animation:fadeIn var(--t-base) var(--ease-out);background:#05080cb8;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);width:min(90vw,560px);min-width:360px;max-width:560px;animation:rise var(--t-base) var(--ease-out);padding:28px}.modal-wide{width:min(95vw,820px);max-width:820px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms;animation-duration:.001ms;animation-iteration-count:1}}.toolbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex;position:sticky;top:0}.toolbar-brand{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:12px;font-weight:800;display:flex}.toolbar-brand-mark{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hot) 100%);color:#1a1206;border-radius:4px;place-items:center;width:28px;height:28px;font-size:14px;font-weight:900;display:grid}.page{z-index:1;flex-direction:column;min-height:100dvh;display:flex;position:relative}.page-body{flex:1;padding:20px}.hint{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:12px;font-weight:700}.field{gap:6px;display:grid}.modal-overlay-legacy{z-index:var(--z-modal);background:#00000080;place-items:center;display:grid;position:fixed;inset:0}.modal-card-legacy{background:#fff;border-radius:12px;min-width:320px;max-width:480px;padding:24px}.modal-card-legacy-wide{min-width:360px;max-width:520px}.table-card{border-radius:var(--radius-md);text-align:left;min-height:160px;color:inherit;cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);grid-template-rows:auto 1fr auto;padding:16px;display:grid;position:relative}.table-card[data-occupied=true]{background:var(--color-surface-2);border-color:var(--color-border-strong);box-shadow:var(--shadow-card)}.table-card[data-selected=true]{border-color:var(--color-accent)}.table-card[data-merge-target=true]{outline:2px solid var(--color-accent);outline-offset:2px}.table-card-head{justify-content:space-between;align-items:baseline;display:flex}.table-card-label{letter-spacing:-.02em;font-size:28px;font-weight:700}.table-card-seats{color:var(--color-text-dim);margin-top:2px;font-size:12px}.table-card-chip{padding:3px 8px;font-size:12px}.table-card-body{align-self:center;margin-top:12px}.table-card-info{gap:4px;display:grid}.table-card-info-line{color:var(--color-text-muted);font-size:12px}.table-card-empty{color:var(--color-text-dim);font-size:13px}.table-card-foot{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:8px;padding-top:12px;display:flex}.table-card-dot{background:var(--color-text-dim);border-radius:999px;width:6px;height:6px;display:inline-block}.table-card-dot[data-tone=success]{background:var(--color-success)}.table-card-dot[data-tone=warn]{background:var(--color-warn)}.table-card-dot[data-tone=accent]{background:var(--color-accent)}.table-card-dot[data-tone=info]{background:var(--color-info)}.table-card-total{color:var(--color-text);font-size:14px;font-weight:600}.cart{background:var(--color-surface);border-left:1px solid var(--color-border);grid-template-rows:auto 1fr auto;height:100%;display:grid}.cart-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;padding:16px 18px;display:flex}.cart-eyebrow{margin-bottom:4px}.cart-number{font-size:18px;font-weight:700}.cart-list{padding:8px 0;overflow-y:auto}.cart-empty{color:var(--color-text-dim);padding:12px 18px}.cart-ul{margin:0;padding:0;list-style:none}.cart-footer{border-top:1px solid var(--color-border);gap:10px;padding:16px;display:grid}.cart-total-row{justify-content:space-between;align-items:baseline;padding:4px 2px;display:flex}.cart-total-label{color:var(--color-text-muted);font-size:13px}.cart-total-amount{color:var(--color-text);font-size:24px;font-weight:700}.cart-fire{min-height:var(--tap-lg);font-size:16px}.cart-actions{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.cart-cancel{color:var(--color-danger)}.cart-row-qty{color:var(--color-accent);min-width:32px;font-size:16px;font-weight:700}.cart-row-qty[data-tone=voided]{color:var(--color-text-dim)}.cart-row-name{font-size:15px;font-weight:600}.cart-row-name[data-tone=voided]{text-decoration:line-through}.cart-row-meta{color:var(--color-text-muted);align-items:center;gap:6px;margin-top:4px;font-size:12px;display:flex}.cart-row-state{padding:2px 6px;font-size:12px}.cart-row-total{font-size:15px;font-weight:600}.cart-row-total[data-tone=voided]{text-decoration:line-through}.cart-row{text-align:left;cursor:pointer;width:100%;min-height:auto;color:var(--color-text);background:0 0;border:0;border-left:3px solid #0000;border-radius:0;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:12px 18px;display:grid}.cart-row[data-selected=true]{background:var(--color-surface-3);border-left-color:var(--color-accent)}.cart-row[data-tone=voided]{color:var(--color-text-dim)}.menu-grid{grid-template-rows:auto 1fr;height:100%;display:grid}.menu-grid-nav{border-bottom:1px solid var(--color-border);background:var(--color-surface);z-index:1;gap:6px;padding:12px 12px 8px;display:flex;position:sticky;top:0;overflow-x:auto}.menu-grid-body{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));align-content:start;gap:10px;padding:12px;display:grid;overflow-y:auto}.menu-tile{text-align:left;background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;grid-template-rows:1fr auto;min-height:96px;padding:12px;display:grid}.menu-tile[data-unavailable=true]{background:var(--color-surface);opacity:.55;cursor:not-allowed}.menu-tile-name{font-size:14px;font-weight:600;line-height:1.25}.menu-tile-price{color:var(--color-accent);margin-top:8px;font-size:14px;font-weight:600}.menu-tile-price[data-unavailable=true]{color:var(--color-text-dim)}.menu-grid-cat{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;min-height:44px;padding:10px 18px;font-size:13px;font-weight:700}.menu-grid-empty{color:var(--color-text-dim);margin:8px 4px}.menu-grid-loading{color:var(--color-text-dim);margin:0}.held-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.held-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto auto;align-items:center;gap:16px;width:100%;padding:14px 18px;display:grid}.held-row-number{color:var(--color-accent);font-size:18px;font-weight:700}.held-row-label{font-weight:600}.held-row-chip{font-size:12px}.held-row-cta{color:var(--color-text-muted)}.shift-close-step{border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border-strong);flex:1;align-items:center;gap:10px;padding:12px 16px;display:flex}.shift-close-step[data-status=active]{background:var(--color-accent-soft);border-color:var(--color-accent)}.shift-close-step[data-status=done]{border-color:var(--color-success)}.shift-close-step-mark{background:var(--color-border-strong);width:24px;height:24px;color:var(--color-text);border-radius:999px;place-items:center;font-size:12px;font-weight:700;display:grid}.shift-close-step-mark[data-status=active]{background:var(--color-accent);color:#1a1206}.shift-close-step-mark[data-status=done]{background:var(--color-success);color:#0f1c10}.shift-close-step-label{font-weight:600}.finalise-card{gap:18px;padding:24px;display:grid}.finalise-title{margin-top:6px}.finalise-stats{grid-template-columns:repeat(3,1fr);gap:18px;margin:0;display:grid}.finalise-stat-value{margin:4px 0 0;font-size:24px;font-weight:700}.finalise-variance{margin:4px 0 0;font-size:26px;font-weight:700}.finalise-variance[data-tone=success]{color:var(--color-success)}.finalise-variance[data-tone=warn]{color:var(--color-warn)}.finalise-variance[data-tone=danger]{color:var(--color-danger)}.finalise-submit{min-height:var(--tap-lg);font-size:16px}.order-pad{grid-template-rows:auto 1fr;height:100dvh;display:grid}.order-pad-back{color:var(--color-text-muted);margin-right:8px}.order-pad-number{color:var(--color-text-muted);margin-left:12px}.order-pad-version{color:var(--color-text-muted);font-size:13px}.order-pad-error{background:var(--color-danger-soft);color:var(--color-danger);border-bottom:1px solid var(--color-danger);justify-content:space-between;padding:10px 18px;display:flex}.order-pad-error-dismiss{min-height:auto;padding:4px 10px}.order-pad-body{grid-template-columns:minmax(0,1fr) 380px;display:grid;overflow:hidden}.order-pad-grid{border-right:1px solid var(--color-border);overflow:hidden}.cancel-title{margin-top:6px}.cancel-warning{color:var(--color-warn);margin-top:8px;font-size:14px}.cancel-field{margin-top:14px}.cancel-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.nav-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;gap:6px;min-height:96px;padding:20px 22px;text-decoration:none;display:grid}.nav-tile-title{letter-spacing:-.02em;font-size:22px;font-weight:700}.nav-tile-subtitle{color:var(--color-text-muted);font-size:13px}.pin-pad{border:0;gap:8px;width:240px;margin:0;padding:0;display:grid}.pin-display{border:1px solid var(--color-border-strong);letter-spacing:.25em;background:var(--color-surface-2);border-radius:8px;place-items:center;height:48px;font-size:24px;display:grid}.pin-keys{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.confirm-title{margin-top:0}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.item-editor-fields{gap:12px;display:grid}.item-editor-input{width:100%}.item-editor-textarea{width:100%;min-height:60px}.item-editor-error{color:var(--color-danger);margin:0;font-weight:600}.item-editor-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.discount-header{margin-bottom:16px}.discount-eyebrow{margin-bottom:4px}.discount-help{color:var(--color-text-muted);margin-top:8px;font-size:14px}.discount-body{gap:14px;display:grid}.discount-tabs{gap:8px;display:flex}.discount-tab{flex:1}.discount-error{color:var(--color-danger);margin:0;font-weight:600}.discount-actions{justify-content:flex-end;gap:8px;display:flex}.manager-modal{min-width:380px}.manager-header{margin-bottom:18px}.manager-eyebrow{margin-bottom:6px}.manager-title{font-size:22px}.manager-body{gap:14px;display:grid}.manager-pad{border-top:1px solid var(--color-border);place-items:center;padding-top:16px;display:grid}.manager-actions{justify-content:flex-end;gap:8px;display:flex}.void-header{margin-bottom:16px}.void-eyebrow{margin-bottom:4px}.void-itemlabel{color:var(--color-text-muted);margin-top:6px}.void-warning{color:var(--color-warn);margin-top:8px;font-size:14px}.void-error{color:var(--color-danger);margin-top:12px;font-weight:600}.void-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.qr{--qr-bar-h:76px;--qr-sheet-radius:22px;z-index:1;width:100%;min-height:100dvh;padding-bottom:calc(var(--qr-bar-h) + env(safe-area-inset-bottom));position:relative}.qr:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(680px 360px at 50% -10%,#ff7a181a,#0000 60%),radial-gradient(520px 320px at 100% 110%,#5aa6f70d,#0000 60%);position:fixed;inset:0}.qr-top{z-index:var(--z-toolbar);padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;background:color-mix(in srgb, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;top:0}.qr-brand{flex:1;align-items:center;gap:11px;min-width:0;display:flex}.qr-mark{width:36px;height:36px;font-family:var(--font-display);letter-spacing:-.01em;color:#1a1206;background:linear-gradient(160deg, #ffa552 0%, var(--color-accent) 45%, var(--color-accent-hot) 100%);border-radius:10px;flex:none;place-items:center;font-size:13.5px;font-weight:800;display:grid;position:relative;box-shadow:0 6px 16px #ff7a1859,inset 0 1px #ffffff38,inset 0 -1px #0000002e}.qr-brand-stack{gap:2px;min-width:0;display:grid}.qr-brand-name{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:15.5px;font-weight:800;line-height:1.15;overflow:hidden}.qr-brand-sub{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-dim);font-size:10.5px;font-weight:700;line-height:1}.qr-table-badge{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-accent);background:var(--color-accent-soft);border:1px solid color-mix(in srgb, var(--color-accent) 38%, transparent);white-space:nowrap;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);border-radius:999px;align-items:center;gap:7px;padding:7px 12px 7px 10px;font-size:12px;font-weight:700;display:inline-flex}.qr-table-badge:before{content:"";background:var(--color-accent);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent);border-radius:50%;animation:2.4s ease-in-out infinite qrPulse}@keyframes qrPulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-accent) 35%, transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--color-accent) 0%, transparent)}}.qr-table-badge[data-link]{cursor:pointer}.qr-table-badge[data-link]:active{transform:translateY(1px)}.qr-table-badge[data-link]:hover{background:color-mix(in srgb, var(--color-accent) 22%, transparent)}.qr-eyebrow{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-dim);margin:0;font-size:12px;font-weight:700}.qr-cats{z-index:calc(var(--z-toolbar) - 1);scrollbar-width:none;background:color-mix(in srgb, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);scroll-snap-type:x proximity;gap:8px;padding:12px 18px;display:flex;position:sticky;top:63px;overflow-x:auto}.qr-cats::-webkit-scrollbar{display:none}.qr-cat{scroll-snap-align:start;min-height:40px;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);transition:color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);border-radius:999px;flex:none;padding:9px 16px;font-size:14px;font-weight:600}.qr-cat[data-active=true]{color:#1a1206;background:linear-gradient(180deg, var(--color-accent) 0%, var(--color-accent-hot) 100%);border-color:var(--color-accent-hot);font-weight:700}.qr-menu{gap:18px;padding:8px 18px 24px;display:grid}.qr-menu-head{justify-content:space-between;align-items:baseline;margin-top:6px;display:flex}.qr-menu-head h2{letter-spacing:-.02em;font-size:22px;font-weight:800}.qr-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.qr-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);align-items:stretch;gap:14px;padding:16px;display:flex}.qr-card-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.qr-card-name{letter-spacing:-.01em;font-size:15.5px;font-weight:700}.qr-card-desc{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.qr-card-price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-accent);margin-top:auto;padding-top:6px;font-size:14px;font-weight:600}.qr-card-action{align-items:center;display:flex}.qr-add{color:#1a1206;background:linear-gradient(180deg, var(--color-accent) 0%, var(--color-accent-hot) 100%);border:1px solid var(--color-accent-hot);border-radius:999px;min-height:42px;padding:0 20px;font-size:14px;font-weight:700}.qr-add:active:not(:disabled){transform:translateY(1px)}.qr-step{background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:999px;align-items:center;gap:2px;display:inline-flex}.qr-step button{min-width:40px;min-height:40px;color:var(--color-accent);background:0 0;border:none;border-radius:999px;padding:0;font-size:20px;font-weight:700}.qr-step button:active:not(:disabled){background:var(--color-accent-soft);transform:none}.qr-step-qty{text-align:center;min-width:26px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text);font-size:15px;font-weight:700}.qr-step[data-size=sm] button{min-width:36px;min-height:36px;font-size:18px}.qr-bar-wrap{z-index:var(--z-overlay);padding:0 12px calc(12px + env(safe-area-inset-bottom));pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.qr-bar{pointer-events:auto;width:100%;height:var(--qr-bar-h);background:linear-gradient(180deg, var(--color-accent) 0%, var(--color-accent-hot) 100%);color:#1a1206;border:1px solid var(--color-accent-hot);animation:qrBarIn var(--t-base) var(--ease-out);border-radius:18px;align-items:center;gap:14px;padding:0 10px 0 20px;display:flex;box-shadow:0 10px 30px #ff7a1852,inset 0 2px #ffffff1f}@keyframes qrBarIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.qr-bar-count{min-width:30px;height:30px;font-family:var(--font-mono);background:#1a12062e;border-radius:999px;place-items:center;padding:0 8px;font-size:14px;font-weight:800;display:grid}.qr-bar-text{flex-direction:column;flex:1;min-width:0;line-height:1.15;display:flex}.qr-bar-label{font-size:15px;font-weight:700}.qr-bar-total{font-family:var(--font-mono);font-variant-numeric:tabular-nums;opacity:.78;font-size:12.5px}.qr-bar-cta{height:52px;color:var(--color-accent);background:#1a1206;border:none;border-radius:14px;align-items:center;gap:6px;padding:0 20px;font-size:15px;font-weight:800;display:inline-flex}.qr-bar-cta:active:not(:disabled){transform:translateY(1px)}.qr-scrim{z-index:var(--z-modal);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn var(--t-base) var(--ease-out);background:#05080cbd;border:none;position:fixed;inset:0}.qr-sheet{z-index:var(--z-overlay);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--qr-sheet-radius) var(--qr-sheet-radius) 0 0;width:100%;box-shadow:var(--shadow-modal);max-height:86dvh;animation:qrSheetIn var(--t-base) var(--ease-out);border-bottom:none;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}@keyframes qrSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.qr-sheet-grip{background:var(--color-border-strong);border-radius:999px;flex:none;width:40px;height:4px;margin:10px auto 4px}.qr-sheet-head{border-bottom:1px solid var(--color-border);flex:none;justify-content:space-between;align-items:center;padding:8px 20px 14px;display:flex}.qr-sheet-head h2{font-size:19px;font-weight:800}.qr-sheet-body{gap:16px;padding:16px 20px;display:grid;overflow-y:auto}.qr-line{border-bottom:1px solid var(--color-border);grid-template-columns:1fr auto;gap:6px 12px;padding-bottom:16px;display:grid}.qr-line:last-child{border-bottom:none;padding-bottom:0}.qr-line-name{font-size:15px;font-weight:600}.qr-line-total{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text);text-align:right;font-weight:600}.qr-line-ctl{grid-column:1/-1;align-items:center;gap:10px;margin-top:4px;display:flex}.qr-note{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1;min-height:40px;padding:9px 12px;font-size:14px}.qr-note:focus{outline:2px solid var(--color-accent);outline-offset:-1px;border-color:var(--color-accent)}.qr-totals{gap:8px;padding-top:4px;display:grid}.qr-totals-row{justify-content:space-between;align-items:baseline;display:flex}.qr-totals-row span:last-child{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.qr-totals-row[data-grand=true]{font-size:18px;font-weight:800}.qr-totals-note{color:var(--color-text-dim);font-size:12px}.qr-sheet-foot{padding:14px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);flex:none;gap:10px;display:grid}.qr-cta{color:#1a1206;background:linear-gradient(180deg, var(--color-accent) 0%, var(--color-accent-hot) 100%);border:1px solid var(--color-accent-hot);border-radius:16px;width:100%;min-height:56px;font-size:16px;font-weight:800}.qr-cta:disabled{opacity:.55}.qr-cta:active:not(:disabled){transform:translateY(1px)}.qr-status{gap:18px;padding:24px 18px;display:grid}.qr-status-hero{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);justify-items:center;gap:12px;padding:28px 20px;display:grid}.qr-status-order{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:34px;font-weight:800}.qr-status-sub{color:var(--color-text-muted);max-width:30ch;font-size:14px}.qr-steps{align-items:center;gap:6px;padding:4px 2px;display:flex}.qr-stepdot{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-dim);flex:1;justify-items:center;gap:7px;font-size:11px;font-weight:600;display:grid}.qr-stepdot:before{content:"";background:var(--color-border-strong);border-radius:999px;width:100%;height:4px}.qr-stepdot[data-on=true]{color:var(--color-accent)}.qr-stepdot[data-on=true]:before{background:linear-gradient(90deg, var(--color-accent), var(--color-accent-hot))}.qr-sum{gap:2px;margin:0;padding:0;list-style:none;display:grid}.qr-sum li{background:var(--color-surface);border:1px solid var(--color-border);gap:12px;padding:12px 14px;display:flex}.qr-sum li:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.qr-sum li:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.qr-sum li:only-child{border-radius:var(--radius-lg)}.qr-sum-qty{font-family:var(--font-mono);color:var(--color-accent);min-width:28px;font-weight:700}.qr-sum-name{flex:1}.qr-pay{border-radius:var(--radius-lg);background:var(--color-accent-soft);border:1px solid color-mix(in srgb, var(--color-accent) 34%, transparent);gap:8px;padding:18px;display:grid}.qr-pay-title{color:var(--color-accent);align-items:center;gap:9px;font-size:16px;font-weight:800;display:flex}.qr-pay p{color:var(--color-text-muted);margin:0;font-size:13.5px;line-height:1.5}.qr-status-actions{gap:10px;display:grid}.qr-screen{text-align:center;z-index:1;color:#1a1a1a;background:#fff;place-items:center;min-height:100dvh;padding:32px 28px;display:grid;position:relative}.qr-screen-inner{justify-items:center;gap:18px;max-width:340px;display:grid}.qr-screen-logo{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:220px;max-width:70vw;height:auto;display:block}.qr-screen h1{letter-spacing:-.01em;color:#1a1a1a;margin:4px 0 0;font-family:Playfair Display,Georgia,serif;font-size:26px;font-style:italic;font-weight:500}.qr-screen p{color:#6a6a6a;margin:0;font-size:15px;line-height:1.55}.qr-inline-msg{text-align:center;color:var(--color-text-muted);padding:40px 24px}.qr-error-msg{color:var(--color-danger);font-size:14px;font-weight:600}.qr-spinner{border:3px solid #e7e2da;border-top-color:#8b1a1a;border-radius:50%;width:30px;height:30px;animation:.7s linear infinite qrSpin}@keyframes qrSpin{to{transform:rotate(360deg)}}.qr-skel{border-radius:var(--radius-lg);background:linear-gradient(100deg, var(--color-surface) 30%, var(--color-surface-2) 50%, var(--color-surface) 70%);background-size:220% 100%;height:92px;animation:1.3s ease-in-out infinite qrShimmer}@keyframes qrShimmer{0%{background-position:180% 0}to{background-position:-40% 0}}.qr-card-tap{min-width:0;min-height:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:stretch;gap:14px;padding:0;display:flex}.qr-card-tap:active:not(:disabled){transform:none}.qr-card-thumb{object-fit:cover;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:12px;flex:none;width:66px;height:66px}.qr-detail{z-index:var(--z-overlay);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--qr-sheet-radius) var(--qr-sheet-radius) 0 0;width:100%;box-shadow:var(--shadow-modal);max-height:90dvh;animation:qrSheetIn var(--t-base) var(--ease-out);border-bottom:none;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.qr-detail-img{aspect-ratio:16/10;object-fit:cover;background:var(--color-surface-2);flex:none;width:100%}.qr-detail-noimg{aspect-ratio:16/10;background:radial-gradient(120% 120% at 50% 0%, var(--color-accent-soft), var(--color-surface-2) 70%);width:100%;color:var(--color-accent);font-family:var(--font-display);flex:none;place-items:center;font-size:40px;font-weight:800;display:grid}.qr-detail-close{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:36px;height:36px;min-height:36px;color:var(--color-text);z-index:2;transition:background var(--t-fast) var(--ease-out);background:#05080c9e;border:1px solid #ffffff24;border-radius:999px;place-items:center;padding:0;font-size:14px;display:grid;position:absolute;top:12px;right:12px}.qr-detail-close:hover:not(:disabled){background:#05080cc7}.qr-detail-close svg{width:14px;height:14px;display:block}.qr-detail-body{gap:10px;padding:18px 20px 8px;display:grid;overflow-y:auto}.qr-detail-name{letter-spacing:-.02em;font-size:22px;font-weight:800}.qr-detail-price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-accent);font-size:16px;font-weight:700}.qr-detail-desc{color:var(--color-text-muted);white-space:pre-wrap;font-size:14.5px;line-height:1.6}.qr-detail-foot{padding:14px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);flex:none;align-items:center;gap:14px;display:flex}.qr-detail-foot .qr-cta{flex:1}.qr-detail-foot .qr-step{flex:none}.qr-field{text-align:left;gap:7px;display:grid}.qr-field>span{color:var(--color-text-muted);font-size:13px;font-weight:600}.qr-field input,.qr-field textarea{background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);width:100%}.qr-linkbtn{min-height:auto;color:var(--color-text-muted);background:0 0;border:none;padding:6px 4px;font-size:13.5px;font-weight:600}.qr-linkbtn:hover:not(:disabled){color:var(--color-accent);background:0 0}.qr-signout{padding:6px 10px;font-size:12px}.qr-auth-card{width:min(100%,380px);padding:28px 24px calc(28px + env(safe-area-inset-bottom));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);justify-items:center;gap:22px;display:grid}.qr-auth-card .qr-mark{border-radius:12px;width:46px;height:46px;font-size:17px}.qr-auth-body{gap:16px;width:100%;display:grid}.qr-auth-body h1{letter-spacing:-.02em;text-align:left;font-size:23px;font-weight:800}.qr-auth-sub{color:var(--color-text-muted);text-align:left;margin:6px 0 0;font-size:13.5px;line-height:1.55}.qr-otp-input{text-align:center;width:100%;font-family:var(--font-mono);letter-spacing:.5em;background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:16px 0 16px .5em;font-size:30px;font-weight:700}.qr-auth-meta{color:var(--color-text-dim);background:var(--color-surface-2);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);text-align:center;margin:0;padding:9px 12px;font-size:12.5px}.qr-auth-meta strong{color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.1em}.qr-auth-altrow{justify-content:space-between;align-items:center;display:flex}.qr-top-right{flex:none;align-items:center;gap:6px;display:flex}.qr-points{font-family:var(--font-mono);color:var(--color-warn);background:var(--color-warn-soft);border:1px solid color-mix(in srgb, var(--color-warn) 32%, transparent);white-space:nowrap;letter-spacing:.02em;border-radius:999px;align-items:center;gap:4px;padding:6px 11px;font-size:12px;font-weight:700;display:inline-flex}.qr-points-star{font-size:11px;line-height:1}.qr-iconbtn{background:var(--color-surface);border:1px solid var(--color-border-strong);width:36px;height:36px;min-height:36px;color:var(--color-text-muted);transition:color var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);border-radius:999px;flex:none;place-items:center;padding:0;display:grid}.qr-iconbtn:hover:not(:disabled){color:var(--color-text);border-color:var(--color-border-strong)}.qr-iconbtn:active:not(:disabled){transform:translateY(1px)}.qr-iconbtn svg{width:16px;height:16px;display:block}.qr-promo-strip{gap:10px;padding:16px 0 4px;display:grid}.qr-promo-strip-title{color:var(--color-text-muted);margin:0;padding:0 18px}.qr-promo-scroll{scrollbar-width:none;scroll-snap-type:x proximity;gap:12px;padding:4px 18px 8px;display:flex;overflow-x:auto}.qr-promo-scroll::-webkit-scrollbar{display:none}.qr-promo-card{scroll-snap-align:start;border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-accent-soft), color-mix(in srgb, var(--color-accent) 6%, var(--color-surface)));border:1px solid color-mix(in srgb, var(--color-accent) 34%, transparent);flex:0 0 78%;gap:6px;padding:16px;display:grid}.qr-promo-card-title{color:var(--color-accent);font-size:15.5px;font-weight:800}.qr-promo-card-desc{color:var(--color-text-muted);font-size:13px;line-height:1.45}.qr-promo-card-code{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-text);background:var(--color-surface-2);border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);justify-self:start;margin-top:2px;padding:3px 8px;font-size:11.5px;font-weight:700}.qr-card[data-unavailable=true]{opacity:.5}.qr-card[data-unavailable=true] .qr-card-tap{cursor:not-allowed}.qr-soldout{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-dim);background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:999px;align-items:center;padding:7px 12px;font-size:12px;font-weight:700;display:inline-flex}.qr-detail-remarks{margin-top:6px}.qr-detail-remarks textarea{resize:none}.qr-promo{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);gap:8px;padding:14px 0;display:grid}.qr-promo-entry{gap:8px;display:flex}.qr-promo-entry .qr-note{text-transform:uppercase;flex:1}.qr-promo-apply{border-radius:var(--radius-md);min-height:40px;color:var(--color-accent);background:var(--color-accent-soft);border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);flex:none;padding:0 18px;font-weight:700}.qr-promo-applied{border-radius:var(--radius-md);color:var(--color-success);background:var(--color-success-soft);border:1px solid color-mix(in srgb, var(--color-success) 34%, transparent);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:13.5px;display:flex}.qr-promo-applied .qr-linkbtn{color:var(--color-text-muted)}.qr-pay-methods{gap:10px;display:grid}.qr-pay-method{text-align:left;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);gap:3px;padding:15px 16px;display:grid}.qr-pay-method-label{font-size:15px;font-weight:700}.qr-pay-method-hint{color:var(--color-text-muted);font-size:12.5px}.qr-sim-toggle{color:var(--color-text-dim);align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.45;display:flex}.qr-sim-toggle input{width:auto;min-height:auto;accent-color:var(--color-accent);margin-top:2px}.qr-fail{border-radius:var(--radius-lg);background:var(--color-danger-soft);border:1px solid color-mix(in srgb, var(--color-danger) 38%, transparent);gap:10px;padding:20px;display:grid}.qr-fail-title{color:var(--color-danger);font-size:17px;font-weight:800}.qr-fail p{color:var(--color-text-muted);margin:0;font-size:13.5px;line-height:1.5}.qr-section-title{color:var(--color-text-muted);margin:0 0 8px}.qr-points-card{border-radius:var(--radius-lg);background:var(--color-warn-soft);border:1px solid color-mix(in srgb, var(--color-warn) 32%, transparent);align-items:center;gap:14px;padding:16px 18px;display:flex}.qr-points-card p{color:var(--color-text-muted);margin:3px 0 0;font-size:12.5px}.qr-points-card strong{font-size:15px}.qr-points-badge{color:#1a1206;background:linear-gradient(180deg, var(--color-warn), #e0a92e);border-radius:999px;flex:none;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.qr-review{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);color:inherit;gap:5px;padding:18px;text-decoration:none;display:grid}.qr-review:hover{border-color:var(--color-accent);text-decoration:none}.qr-review-title{font-size:16px;font-weight:800}.qr-review-sub{color:var(--color-text-muted);font-size:13px;line-height:1.5}.qr-thumb{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:12px;flex:none;width:66px;height:66px;position:relative;overflow:hidden}.qr-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.qr-thumb-fallback{width:100%;height:100%;font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-accent);background:radial-gradient(120% 120% at 30% 20%, var(--color-accent-soft), transparent 60%), linear-gradient(160deg, var(--color-surface-2), var(--color-surface));place-items:center;font-size:24px;font-weight:800;display:grid}.qr-thumb-soldout{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);background:#05080c9e;place-items:center;font-size:9.5px;font-weight:700;display:grid;position:absolute;inset:0}.qr-step button:hover:not(:disabled){background:var(--color-accent-soft)}.qr-step button:disabled{color:var(--color-text-dim);opacity:.55}.qr-card{transition:border-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out)}.qr-card-tap:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:8px}.qr-add:hover:not(:disabled){filter:brightness(1.08)}.qr-bar:hover{filter:brightness(1.04)}.qr-bar-cta:hover{background:#0e0a04}.qr-line-remove{color:var(--color-text-dim);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:none;border-radius:4px;min-height:auto;padding:4px 6px;font-size:12px;font-weight:600}.qr-line-remove:hover:not(:disabled){color:var(--color-danger);background:var(--color-danger-soft)}.qr-otp-slots{grid-template-columns:repeat(4,1fr);gap:10px;width:100%;display:grid;position:relative}.qr-otp-slots input{opacity:0;cursor:text;letter-spacing:0;z-index:2;background:0 0;border:none;width:100%;height:100%;padding:0;font-size:16px;position:absolute;inset:0}.qr-otp-slot{aspect-ratio:1/1.15;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-strong);transition:border-color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);border-radius:12px;place-items:center;font-size:26px;font-weight:700;display:grid}.qr-otp-slot[data-state=active]{border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 18%, transparent)}.qr-otp-slot[data-state=filled]{border-color:var(--color-border-strong)}.qr-progress{grid-template-columns:repeat(3,1fr);align-items:start;gap:0;padding:14px 4px 4px;display:grid}.qr-progress-step{text-align:center;justify-items:center;gap:8px;display:grid;position:relative}.qr-progress-step:before{content:"";background:var(--color-border-strong);z-index:0;border-radius:999px;height:2px;position:absolute;top:13px;left:calc(50% + 18px);right:calc(18px - 50%)}.qr-progress-step:last-child:before{display:none}.qr-progress-dot{z-index:1;width:28px;height:28px;font-family:var(--font-mono);color:var(--color-text-dim);background:var(--color-surface);border:2px solid var(--color-border-strong);transition:color var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);border-radius:999px;place-items:center;font-size:12px;font-weight:700;display:grid;position:relative}.qr-progress-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-dim);font-size:11.5px;font-weight:700}.qr-progress-step[data-state=done] .qr-progress-dot{background:linear-gradient(180deg, var(--color-accent) 0%, var(--color-accent-hot) 100%);border-color:var(--color-accent-hot);color:#1a1206}.qr-progress-step[data-state=done] .qr-progress-label{color:var(--color-text)}.qr-progress-step[data-state=done]:before{background:linear-gradient(90deg, var(--color-accent), var(--color-accent-hot))}.qr-progress-step[data-state=current] .qr-progress-dot{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 0 5px color-mix(in srgb, var(--color-accent) 14%, transparent)}.qr-progress-step[data-state=current] .qr-progress-label{color:var(--color-accent)}.qr-meta-row{color:var(--color-text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;font-size:12px;font-weight:600;display:flex}.qr-meta-row>span{align-items:center;gap:6px;display:inline-flex}.qr-meta-row>span+span:before{content:"·";color:var(--color-text-dim);margin-right:4px}.qr-sum-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.qr-sum-card .qr-sum{display:grid}.qr-sum-card .qr-sum li{border:none;border-top:1px solid var(--color-border);background:0 0;border-radius:0;align-items:baseline;gap:12px;padding:13px 16px;display:flex}.qr-sum-card .qr-sum li:first-child{border-top:none}.qr-sum-card .qr-sum li:only-child{border-radius:var(--radius-lg)}.qr-sum-line{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text-muted);margin-left:auto;font-size:13px;font-weight:600}.qr-pay-method{text-align:left;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);transition:border-color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);grid-template-columns:38px 1fr 20px;align-items:center;gap:14px;padding:14px 16px;display:grid}.qr-pay-method-icon{background:var(--color-surface-2);border:1px solid var(--color-border-strong);width:38px;height:38px;color:var(--color-text-muted);border-radius:10px;flex:none;place-items:center;display:grid}.qr-pay-method-icon svg{width:18px;height:18px;display:block}.qr-pay-method-body{gap:2px;min-width:0;display:grid}.qr-pay-method-radio{border:2px solid var(--color-border-strong);border-radius:999px;flex:none;place-items:center;width:20px;height:20px;display:grid}.qr-pay-method-radio:after{content:"";width:8px;height:8px;transition:background var(--t-fast) var(--ease-out);background:0 0;border-radius:999px}.qr-pay-method[data-active=true]{border-color:var(--color-accent);background:var(--color-accent-soft)}.qr-pay-method[data-active=true] .qr-pay-method-icon{background:var(--color-accent-soft);border-color:color-mix(in srgb, var(--color-accent) 40%, transparent);color:var(--color-accent)}.qr-pay-method[data-active=true] .qr-pay-method-radio{border-color:var(--color-accent)}.qr-pay-method[data-active=true] .qr-pay-method-radio:after{background:var(--color-accent)}.qr-empty{text-align:center;color:var(--color-text-muted);justify-items:center;gap:10px;padding:60px 28px;display:grid}.qr-empty-mark{background:var(--color-surface);border:1px solid var(--color-border-strong);width:44px;height:44px;color:var(--color-text-muted);border-radius:999px;place-items:center;display:grid}.qr-empty-title{color:var(--color-text);font-size:15px;font-weight:700}.qr-empty-sub{max-width:28ch;font-size:13px;line-height:1.5}.qr-amount-card{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);justify-items:center;gap:6px;padding:22px 20px 24px;display:grid;position:relative;overflow:hidden}.qr-amount-card:before{content:"";background:radial-gradient(140% 100% at 50% 0%, var(--color-accent-soft), transparent 55%);pointer-events:none;position:absolute;inset:0}.qr-amount-card>*{z-index:1;position:relative}.qr-amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--color-accent);font-size:36px;font-weight:800}.qr-amount-note{color:var(--color-text-muted);max-width:32ch;font-size:12.5px}.qr-section{gap:10px;display:grid}.qr-section-head{justify-content:space-between;align-items:baseline;display:flex}.qr-section-head h3{color:var(--color-text-muted);margin:0}.qr-field-hint{color:var(--color-text-dim);margin-top:2px;font-size:12px}.qr-line-actions{align-items:center;gap:4px;display:flex}@media (width<=360px){.qr-brand-name{font-size:14.5px}.qr-brand-sub{display:none}}.qr-promo-card:active{transform:translateY(1px)}.qr-status-hero{gap:10px;padding-block:26px}.qr-status-hero .chip{margin-top:2px}.qr-landing{z-index:1;color:#1a1a1a;width:100%;max-width:100%;min-height:100dvh;font-family:var(--font-body);background:#fff;flex-direction:column;margin:0 auto;display:flex;position:relative;overflow-x:clip}.qr-landing-hero{background:#f7f9f9;flex:none;justify-content:center;align-items:center;width:100%;padding:2px 18px 0;display:flex}.qr-landing-logo-img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;max-width:420px;height:auto;display:block}.qr-landing-content{padding:0 24px calc(20px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;flex:1;align-items:center;display:flex}.qr-landing-table{color:#1a1a1a;background:#fff;border:1px solid #e7e3dc;border-radius:999px;align-items:center;gap:8px;margin-top:-18px;padding:8px 16px 8px 14px;font-size:13.5px;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #0f0f0f0a}.qr-landing-table-dot{background:#b3261e;border-radius:50%;width:8px;height:8px}.qr-landing-welcome{letter-spacing:-.005em;color:#1a1a1a;margin:22px 0 6px;font-family:Playfair Display,Georgia,serif;font-size:32px;font-weight:600}.qr-landing-prompt{color:#7c7c7c;margin:0 0 24px;font-size:15px;font-weight:500}.qr-landing-actions{flex-direction:column;gap:14px;width:100%;max-width:360px;display:flex}.qr-landing-card{text-align:left;cursor:pointer;letter-spacing:0;background:#fff;border:1px solid #0000;border-radius:16px;align-items:center;gap:14px;width:100%;min-height:68px;padding:14px 18px;font-family:inherit;font-weight:500;transition:transform .12s cubic-bezier(.16,1,.3,1),box-shadow .12s cubic-bezier(.16,1,.3,1),filter .12s cubic-bezier(.16,1,.3,1);display:flex}.qr-landing-card:active:not(:disabled){transform:translateY(1px)}.qr-landing-card-icon{border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid}.qr-landing-card-icon svg{width:22px;height:22px;display:block}.qr-landing-card-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.qr-landing-card-title{letter-spacing:-.005em;font-size:17px;font-weight:700}.qr-landing-card-sub{opacity:.85;font-size:13px;font-weight:500}.qr-landing-card-chev{opacity:.6;flex:none;place-items:center;width:18px;height:18px;display:grid}.qr-landing-card-chev svg{width:100%;height:100%}.qr-landing-card-primary{color:#fff;background:#8b1a1a;border-color:#7a1616;box-shadow:0 8px 18px #8b1a1a38}.qr-landing-card-primary:hover:not(:disabled){background:#761414;border-color:#5e0f0f;box-shadow:0 10px 22px #8b1a1a47}.qr-landing-card-primary .qr-landing-card-icon{color:#ffe9e6;background:#ffffff24}.qr-landing-card-primary .qr-landing-card-sub{color:#ffffffd1}.qr-landing-card-secondary{color:#1a1a1a;background:#fff;border-color:#e7e3dc;box-shadow:0 1px 2px #0f0f0f0a}.qr-landing-card-secondary:hover:not(:disabled){background:#f7f5f1;border-color:#d5d0c6}.qr-landing-card-secondary .qr-landing-card-icon{color:#5e6b65;background:#d8e3dd}.qr-landing-card-secondary .qr-landing-card-sub{color:#7c7c7c}.qr-landing-tos{color:#9a9a9a;margin:auto 0 4px;padding-top:32px;font-size:12px;font-weight:500}@media (width>=480px){.qr-landing-hero{padding-top:4px;padding-bottom:0}}.qr-login{z-index:1;color:#1a1a1a;width:100%;max-width:100%;min-height:100dvh;font-family:var(--font-body);background:#fff;flex-direction:column;margin:0 auto;display:flex;position:relative}.qr-login-header{padding:calc(env(safe-area-inset-top) + 14px) 18px 14px;background:#d9e8e4;border-bottom:1px solid #c6d8d3;flex:none;align-items:center;gap:12px;display:flex}.qr-login-back{color:#2c3a37;cursor:pointer;width:40px;height:40px;min-height:40px;transition:background var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);background:#fff;border:1px solid #c2d4cf;border-radius:10px;flex:none;place-items:center;padding:0;font-family:inherit;display:grid}.qr-login-back:hover:not(:disabled){background:#f3f7f6}.qr-login-back:active:not(:disabled){transform:translateY(1px)}.qr-login-back svg{width:18px;height:18px;display:block}.qr-login-title{letter-spacing:-.005em;color:#1a1a1a;margin:0;font-family:Playfair Display,Georgia,serif;font-size:22px;font-style:italic;font-weight:500}.qr-login-body{padding:28px 24px calc(20px + env(safe-area-inset-bottom));text-align:left;flex-direction:column;flex:1;gap:18px;display:flex}.qr-login-icon{color:#b91d22;background:#fde0e2;border-radius:14px;flex:none;place-items:center;width:56px;height:56px;display:grid}.qr-login-icon svg{width:26px;height:26px;display:block}.qr-login-h1{font-family:var(--font-display);letter-spacing:-.01em;color:#1a1a1a;margin:0;font-size:22px;font-weight:800}.qr-login-sub{color:#7c7c7c;max-width:32ch;margin:0;font-size:14.5px;font-weight:500;line-height:1.55}.qr-login-sub strong{color:#1a1a1a;margin-top:6px;font-size:16px;font-weight:700;display:block}.qr-login-phone{align-items:center;gap:10px;width:100%;display:flex}.qr-login-phone-prefix{color:#1a1a1a;text-align:center;background:#d9e8e4;border:1px solid #c2d4cf;border-radius:12px;flex:none;min-width:72px;padding:14px 18px;font-family:inherit;font-size:15px;font-weight:700}.qr-login-phone-input{color:#1a1a1a;background:#e7eeed;border:1px solid #d4dedb;border-radius:12px;flex:1;width:100%;min-width:0;min-height:50px;padding:14px 16px;font-family:inherit;font-size:15px;font-weight:500}.qr-login-phone-input::placeholder{color:#98a3a1;font-weight:500}.qr-login-phone-input:focus{outline-offset:-1px;background:#fff;border-color:#8b1a1a;outline:2px solid #8b1a1a}.qr-login-switch{color:#7c7c7c;text-align:center;margin:4px 0 0;font-size:13.5px}.qr-login-switch-btn{color:#8b1a1a;cursor:pointer;background:0 0;border:none;min-height:auto;padding:0 0 0 4px;font-family:inherit;font-size:13.5px;font-weight:700}.qr-login-switch-btn:hover:not(:disabled){background:0 0;text-decoration:underline}.qr-login-error{color:#b91d22;margin:0;font-size:13.5px;font-weight:600}.qr-login-foot{gap:10px;margin-top:auto;padding-top:20px;display:grid}.qr-login-cta{color:#fff;letter-spacing:.01em;cursor:pointer;width:100%;min-height:56px;transition:background var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);background:#8b1a1a;border:1px solid #7a1616;border-radius:14px;font-family:inherit;font-size:16px;font-weight:700;box-shadow:0 8px 18px #8b1a1a38}.qr-login-cta:hover:not(:disabled){background:#761414;box-shadow:0 10px 22px #8b1a1a47}.qr-login-cta:active:not(:disabled){transform:translateY(1px)}.qr-login-cta:disabled{color:#fff;cursor:not-allowed;box-shadow:none;opacity:1;background:#d6d3cd;border-color:#c8c5be}.qr-login-otp{grid-template-columns:repeat(6,1fr);gap:8px;width:100%;display:grid;position:relative}.qr-login-otp input{opacity:0;letter-spacing:0;cursor:text;z-index:2;background:0 0;border:none;width:100%;height:100%;padding:0;font-size:16px;position:absolute;inset:0}.qr-login-otp-slot{aspect-ratio:1/1.05;font-family:var(--font-body);font-variant-numeric:tabular-nums;color:#1a1a1a;transition:border-color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);background:#e7eeed;border:1px solid #d4dedb;border-radius:10px;place-items:center;font-size:22px;font-weight:700;display:grid}.qr-login-otp-slot[data-state=active]{background:#fff;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.qr-login-otp-slot[data-state=filled]{background:#fff;border-color:#b8c5c2}.qr-login-otp[data-error] .qr-login-otp-slot{background:#fdf1f1;border-color:#f0b8b8}.qr-login-otp[data-error] .qr-login-otp-slot[data-state=active]{background:#fff;border-color:#b91d22;box-shadow:0 0 0 3px #b91d222e}.qr-login-otp[data-error] .qr-login-otp-slot[data-state=filled]{border-color:#d68a8a}.qr-login-otp[data-error=invalid]{animation:.36s cubic-bezier(.36,.07,.19,.97) qrShakeX}@keyframes qrShakeX{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.qr-login-error[data-tone]{color:#b91d22;background:#b91d2214;border:1px solid #b91d222e;border-radius:10px;margin:0;padding:9px 12px}.qr-login-error[data-tone=invalid]{background:0 0;border:none;padding:0}.qr-login-meta{color:#9aa3a1;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:500;display:flex}.qr-login-meta-icon{width:14px;height:14px;display:inline-flex}.qr-login-meta-icon svg{width:14px;height:14px}.qr-login-meta-link{color:#8b1a1a;cursor:pointer;background:0 0;border:none;min-height:auto;padding:0;font-family:inherit;font-size:13px;font-weight:700}.qr-login-meta-link:hover:not(:disabled){background:0 0;text-decoration:underline}.qr-login-meta-link:disabled{color:#b8a2a2;cursor:not-allowed}.qr-login-demo{color:#b0b8b6;margin:4px 0 0;font-size:12px}.qr-login-demo strong{color:#1a1a1a;font-weight:700;font-family:var(--font-mono);letter-spacing:.06em}.qr-login-field{text-align:left;gap:6px;display:grid}.qr-login-field>span{color:#5c6360;font-size:13px;font-weight:600}.qr-login-field input{color:#1a1a1a;background:#e7eeed;border:1px solid #d4dedb;border-radius:12px;width:100%;min-height:50px;padding:14px 16px;font-family:inherit;font-size:15px}.qr-login-field input:focus{outline-offset:-1px;background:#fff;border-color:#8b1a1a;outline:2px solid #8b1a1a}.qr-verified{z-index:1;color:#1a1a1a;width:100%;max-width:100%;min-height:100dvh;font-family:var(--font-body);background:#ededed;flex-direction:column;margin:0 auto;display:flex;position:relative}.qr-verified-inner{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;padding:40px 28px;display:flex}.qr-verified-circle{color:#2d5747;background:#d8dfdc;border-radius:999px;place-items:center;width:110px;height:110px;display:grid;box-shadow:0 6px 18px #2d57472e}.qr-verified-circle svg{width:56px;height:56px;display:block}.qr-verified-title{color:#1a1a1a;margin:10px 0 2px;font-family:Playfair Display,Georgia,serif;font-size:26px;font-style:italic;font-weight:500}.qr-verified-welcome{color:#2d2d2d;margin:0;font-size:15px;font-weight:500}.qr-verified-welcome strong{font-weight:700}.qr-verified-hint{color:#8a8a8a;margin:0;font-size:13.5px;font-weight:500}.qr-login-header-noback{padding-left:24px}.qr-verified-circle-sm{width:70px;height:70px}.qr-verified-circle-sm svg{width:34px;height:34px}.qr-verified-title-sm{font-size:22px}.qr-profile-body{padding:22px 22px calc(20px + env(safe-area-inset-bottom));text-align:left;flex-direction:column;flex:1;gap:16px;display:flex}.qr-profile-hero{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:4px 4px 2px;display:flex}.qr-profile-icon{color:#8b3a4a;background:#f7dadc;border-radius:999px;flex:none;place-items:center;width:56px;height:56px;display:grid}.qr-profile-icon svg{width:28px;height:28px;display:block}.qr-profile-h1{font-family:var(--font-display);letter-spacing:-.005em;color:#1a1a1a;margin:0;font-size:19px;font-weight:800}.qr-profile-sub{color:#7c7c7c;max-width:32ch;margin:0;font-size:13.5px;font-weight:500;line-height:1.55}.qr-profile-bonus{background:#fde3df;border:1px solid #f5cdc6;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.qr-profile-bonus-icon{color:#8b1a1a;background:#8b1a1a14;border-radius:999px;flex:none;place-items:center;width:32px;height:32px;display:grid}.qr-profile-bonus-icon svg{width:22px;height:22px;display:block}.qr-profile-bonus-text{flex-direction:column;gap:2px;line-height:1.3;display:flex}.qr-profile-bonus-text strong{color:#8b1a1a;font-size:14px;font-weight:800}.qr-profile-bonus-text span{color:#7a7a7a;font-size:12.5px;font-weight:500}.qr-profile-field{text-align:left;gap:6px;display:grid}.qr-profile-field-label{color:#1a1a1a;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.qr-profile-field-label svg{color:#5c6360;width:15px;height:15px;display:block}.qr-profile-field-label em{color:#b91d22;margin-left:-2px;font-style:normal;font-weight:700}.qr-profile-field-optional{color:#8a8f8d;letter-spacing:.01em;margin-left:2px;font-size:11.5px;font-weight:500}.qr-profile-field input{color:#1a1a1a;background:#e7eeed;border:1px solid #d4dedb;border-radius:12px;width:100%;min-height:48px;padding:13px 16px;font-family:inherit;font-size:15px}.qr-profile-field input::placeholder{color:#98a3a1;font-weight:500}.qr-profile-field input:focus{outline-offset:-1px;background:#fff;border-color:#8b1a1a;outline:2px solid #8b1a1a}.qrl{--qrl-bar-h:60px;--qrl-nav-h:64px;--qrl-maroon:#8b1a1a;--qrl-maroon-dark:#761414;--qrl-text:#1a1a1a;--qrl-text-muted:#7a7a7a;--qrl-text-dim:#a3a3a3;--qrl-bg:#fff;--qrl-surface:#fff;--qrl-border:#ececec;--qrl-chip-bg:#e7eeed;--qrl-chip-border:#d4dedb;z-index:1;background:var(--qrl-bg);width:100%;min-height:100dvh;color:var(--qrl-text);font-family:var(--font-body);padding-bottom:calc(var(--qrl-bar-h) + var(--qrl-nav-h) + env(safe-area-inset-bottom));position:relative}.qrl button,.qrl a{-webkit-tap-highlight-color:transparent}.qrl .qrl-card-tap,.qrl .qrl-cat{-webkit-user-select:none;user-select:none}.qrl-card-tap,.qrl-card-tap:hover:not(:disabled),.qrl-card-tap:active:not(:disabled),.qrl-card-tap:focus,.qrl-card-tap:focus-visible{box-shadow:none;background:0 0;border-color:#0000;transform:none}.qrl-cat:hover:not(:disabled),.qrl-cat:active:not(:disabled){transform:none}.qrl-cat[data-active=true]:hover:not(:disabled),.qrl-cat[data-active=true]:active:not(:disabled){background:var(--qrl-maroon);border-color:var(--qrl-maroon-dark)}.qrl-nav-tab:hover:not(:disabled),.qrl-nav-tab:active:not(:disabled){background:0 0;border-color:#0000;transform:none}.qrl-add:active:not(:disabled),.qrl-step button:active:not(:disabled),.qrl-bar-inner:active,.qrl-iconbtn:active:not(:disabled){transform:none}.qrl-top{z-index:10;padding:calc(env(safe-area-inset-top) + 16px) 18px 12px;background:var(--qrl-bg);justify-content:space-between;align-items:flex-end;gap:12px;display:flex;position:sticky;top:0}.qrl-top-left{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.qrl-dinein{color:var(--qrl-maroon);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#fef7d6;border:1.5px solid #facd5d;border-radius:999px;align-items:center;gap:8px;padding:4px 10px;font-size:11px;font-style:italic;font-weight:700;display:inline-flex}.qrl-brand{color:var(--qrl-text);letter-spacing:-.005em;margin:0;font-family:Playfair Display,Georgia,serif;font-size:32px;font-style:italic;font-weight:500;line-height:1.05}.qrl-iconbtn{color:#2c3a37;cursor:pointer;width:40px;height:40px;min-height:40px;transition:background var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);background:#d9e8e4;border:1px solid #c2d4cf;border-radius:12px;flex:none;place-items:center;padding:0;font-family:inherit;display:grid}.qrl-iconbtn:active:not(:disabled){background:#cfe1dc}.qrl-iconbtn svg{width:18px;height:18px;display:block}.qrl-cats{z-index:9;scrollbar-width:none;background:var(--qrl-bg);gap:8px;padding:6px 18px 14px;display:flex;position:sticky;top:90px;overflow-x:auto}.qrl-cats::-webkit-scrollbar{display:none}.qrl-cat{background:var(--qrl-chip-bg);border:1px solid var(--qrl-chip-border);min-height:38px;color:var(--qrl-text-muted);letter-spacing:-.005em;cursor:pointer;transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);border-radius:999px;flex:none;align-items:center;gap:7px;padding:8px 16px;font-family:inherit;font-size:13.5px;font-weight:600;display:inline-flex}.qrl-cat svg{opacity:.65;width:14px;height:14px;display:block}.qrl-cat[data-active=true]{background:var(--qrl-maroon);border-color:var(--qrl-maroon-dark);color:#fff;box-shadow:0 4px 10px #8b1a1a38}.qrl-cat[data-active=true] svg{opacity:1}.qrl-section{gap:12px;padding:4px 18px 18px;display:grid}.qrl-section-head{justify-content:space-between;align-items:baseline;gap:10px;margin-top:6px;display:flex}.qrl-section-title{color:var(--qrl-text);align-items:baseline;gap:6px;margin:0;font-family:Playfair Display,Georgia,serif;font-size:22px;font-style:italic;font-weight:500;display:inline-flex}.qrl-section-tag{color:var(--qrl-maroon);letter-spacing:.02em;white-space:nowrap;background:#fde3df;border:1px solid #f7cdc6;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:11.5px;font-weight:700;display:inline-flex}.qrl-section-tag:before{content:"";background:var(--qrl-maroon);border-radius:999px;width:5px;height:5px}.qrl-section-foot{color:var(--qrl-text-dim);margin:6px 2px 4px;font-size:12.5px;font-style:italic;line-height:1.45}.qrl-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.qrl-card{background:var(--qrl-surface);border:1px solid var(--qrl-border);border-radius:16px;align-items:stretch;gap:12px;padding:12px;display:flex;box-shadow:0 4px 14px #1414140d}.qrl-card[data-unavailable=true]{opacity:.55}.qrl-card-tap{min-width:0;min-height:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:stretch;gap:12px;padding:0;display:flex}.qrl-card-tap:disabled{cursor:not-allowed}.qrl-card-thumb{background:#f1efe9;border-radius:12px;flex:none;width:80px;height:80px;position:relative;overflow:hidden}.qrl-card-thumb-img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--t-base,.18s) var(--ease-out,ease-out);display:block;position:absolute;inset:0}.qrl-card-thumb-img[data-loaded=true]{opacity:1}.qrl-card-thumb-fallback{width:100%;height:100%;color:var(--qrl-maroon);background:radial-gradient(120% 120% at 30% 20%,#fde3df,#0000 60%),linear-gradient(160deg,#f7f1ec,#f1efe9);place-items:center;font-family:Playfair Display,Georgia,serif;font-size:28px;font-style:italic;font-weight:600;display:grid;position:absolute;inset:0}.qrl-card-qty-badge{background:var(--qrl-maroon);color:#fff;border:2px solid #fff;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:800;display:grid;position:absolute;top:6px;left:6px;box-shadow:0 2px 6px #8b1a1a52}.qrl-card-best{background:var(--qrl-maroon);color:#fff;letter-spacing:.04em;border-radius:6px;align-items:center;gap:4px;padding:3px 8px 3px 6px;font-size:10.5px;font-weight:800;display:inline-flex;position:absolute;top:6px;left:6px}.qrl-card-best svg{width:10px;height:10px;display:block}.qrl-card-soldout{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--qrl-maroon);background:#ffffffb8;place-items:center;font-size:10px;font-weight:700;display:grid;position:absolute;inset:0}.qrl-card-main{flex-direction:column;flex:1;justify-content:space-between;gap:2px;min-width:0;padding:2px 0;display:flex}.qrl-card-name{color:var(--qrl-text);letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.qrl-card-desc{color:var(--qrl-text-muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.qrl-card-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.qrl-card-price{color:var(--qrl-text);letter-spacing:-.01em;font-size:18px;font-weight:700}.qrl-card-action{flex:none;align-items:center;display:flex}.qrl-add{background:var(--qrl-maroon);border:1px solid var(--qrl-maroon-dark);color:#fff;cursor:pointer;width:44px;height:44px;min-height:44px;transition:background 90ms var(--ease-out);-webkit-tap-highlight-color:transparent;border-radius:12px;place-items:center;padding:0;font-size:22px;font-weight:700;display:grid}.qrl-add:active:not(:disabled){background:var(--qrl-maroon-dark)}@media (hover:hover) and (pointer:fine){.qrl-add:hover:not(:disabled){background:var(--qrl-maroon-dark)}}.qrl-step{align-items:center;gap:8px;display:inline-flex}.qrl-step button{border:1px solid var(--qrl-border);width:38px;height:38px;min-height:38px;color:var(--qrl-text);cursor:pointer;transition:background 90ms var(--ease-out);-webkit-tap-highlight-color:transparent;background:#fff;border-radius:10px;place-items:center;padding:0;font-size:18px;font-weight:700;display:grid}.qrl-step button[data-variant=plus]{background:var(--qrl-maroon);border-color:var(--qrl-maroon-dark);color:#fff}.qrl-step button:active:not(:disabled){background:#f5f5f5}.qrl-step button[data-variant=plus]:active:not(:disabled){background:var(--qrl-maroon-dark)}@media (hover:hover) and (pointer:fine){.qrl-step button[data-variant=plus]:hover:not(:disabled){background:var(--qrl-maroon-dark)}}.qrl-step-qty{text-align:center;min-width:18px;color:var(--qrl-text);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.qrl-bar{left:0;right:0;bottom:calc(var(--qrl-nav-h) + env(safe-area-inset-bottom));z-index:12;pointer-events:none;justify-content:center;width:100%;display:flex;position:fixed}.qrl-bar-inner{pointer-events:auto;width:100%;height:var(--qrl-bar-h);background:var(--qrl-maroon);color:#fff;cursor:pointer;text-align:left;transition:background 90ms var(--ease-out);-webkit-tap-highlight-color:transparent;border:none;justify-content:space-between;align-items:center;gap:12px;padding:0 18px;font-family:inherit;font-size:14px;font-weight:700;display:flex}.qrl-bar-inner:active{background:var(--qrl-maroon-dark)}@media (hover:hover) and (pointer:fine){.qrl-bar-inner:hover{background:var(--qrl-maroon-dark)}}.qrl-bar-text{flex-direction:column;gap:1px;line-height:1.25;display:flex}.qrl-bar-total{letter-spacing:-.005em;font-size:16px;font-weight:800}.qrl-bar-count{opacity:.86;font-size:12.5px;font-weight:500}.qrl-bar-cta{letter-spacing:.04em;text-transform:uppercase;color:#fff;align-items:center;gap:6px;font-size:14px;font-weight:800;display:inline-flex}.qrl-bar-cta svg{width:14px;height:14px}.qrl-nav{z-index:11;border-top:1px solid var(--qrl-border);width:100%;padding-bottom:env(safe-area-inset-bottom);background:#fff;position:fixed;bottom:0;left:0;right:0}.qrl-nav-inner{width:100%;height:var(--qrl-nav-h);grid-template-columns:repeat(4,1fr);align-items:stretch;display:grid}.qrl-nav-tab{color:var(--qrl-text-muted);letter-spacing:-.005em;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:auto;padding:4px 2px;font-family:inherit;font-size:11.5px;font-weight:600;text-decoration:none;display:flex}.qrl-nav-tab svg{width:20px;height:20px;display:block}.qrl-nav-tab[data-active=true]{color:var(--qrl-maroon)}.qrl-nav-tab[data-disabled=true]{color:var(--qrl-text-dim);cursor:default}.qrl-nav-icon{display:inline-flex;position:relative}.qrl-nav-badge{background:var(--qrl-maroon);color:#fff;border:1.5px solid #fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:800;display:grid;position:absolute;top:-6px;right:-8px}.qrl-empty{text-align:center;color:var(--qrl-text-muted);justify-items:center;gap:8px;padding:60px 28px;display:grid}.qrl-empty-title{color:var(--qrl-text);font-size:15px;font-weight:700}.qrl-empty-sub{max-width:28ch;font-size:13px;line-height:1.5}.qrl-skel{background:linear-gradient(100deg,#f4f4f4 30%,#efefef 50%,#f4f4f4 70%) 0 0/220% 100%;border-radius:16px;height:104px;animation:1.3s ease-in-out infinite qrShimmer}.qrl-detail{inset:0;bottom:calc(var(--qrl-nav-h) + env(safe-area-inset-bottom));z-index:12;background:var(--qrl-bg);color:var(--qrl-text);font-family:var(--font-body);animation:qrlDetailIn var(--t-base) var(--ease-out);flex-direction:column;display:flex;position:fixed;overflow:hidden}@keyframes qrlDetailIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.qrl-detail-hero{background:#f1efe9;flex:none;width:100%;height:clamp(220px,38vh,340px);position:relative;overflow:hidden}.qrl-detail-hero-img{object-fit:cover;width:100%;height:100%;display:block}.qrl-detail-hero-fallback{width:100%;height:100%;color:var(--qrl-maroon);background:radial-gradient(120% 120% at 30% 20%,#fde3df,#0000 60%),linear-gradient(160deg,#f7f1ec,#f1efe9);place-items:center;font-family:Playfair Display,Georgia,serif;font-size:64px;font-style:italic;font-weight:600;display:grid}.qrl-detail-back{top:calc(env(safe-area-inset-top) + 14px);cursor:pointer;width:38px;height:38px;min-height:38px;color:var(--qrl-text);-webkit-tap-highlight-color:transparent;transition:background var(--t-fast) var(--ease-out);background:#fff;border:none;border-radius:999px;place-items:center;padding:0;font-family:inherit;display:grid;position:absolute;left:14px;box-shadow:0 4px 12px #1414142e}.qrl-detail-back:active:not(:disabled){background:#f5f5f5}.qrl-detail-back svg{width:18px;height:18px;display:block}.qrl-detail-best{background:var(--qrl-maroon);color:#fff;letter-spacing:.02em;border-radius:999px;align-items:center;gap:6px;padding:7px 14px 7px 11px;font-size:12.5px;font-weight:700;display:inline-flex;position:absolute;bottom:14px;left:16px;box-shadow:0 6px 16px #8b1a1a52}.qrl-detail-best svg{width:13px;height:13px;display:block}.qrl-detail-body{flex-direction:column;flex:1;gap:6px;padding:22px 22px 18px;display:flex;overflow-y:auto}.qrl-detail-name{letter-spacing:-.005em;color:var(--qrl-text);margin:0;font-family:Playfair Display,Georgia,serif;font-size:26px;font-style:italic;font-weight:500;line-height:1.15}.qrl-detail-desc{color:var(--qrl-text-muted);margin:6px 0 0;font-size:14.5px;line-height:1.5}.qrl-detail-price{color:var(--qrl-maroon);letter-spacing:-.005em;margin:10px 0 0;font-family:Playfair Display,Georgia,serif;font-size:22px;font-style:italic;font-weight:600}.qrl-detail-divider{background:var(--qrl-border);border:none;height:1px;margin:18px 0 14px}.qrl-detail-label{color:var(--qrl-text);margin:0 0 10px;font-size:14.5px;font-weight:700;display:block}.qrl-detail-textarea{border:1px solid var(--qrl-border);width:100%;min-height:92px;color:var(--qrl-text);resize:none;background:#fff;border-radius:12px;padding:14px 16px;font-family:inherit;font-size:14px;line-height:1.5}.qrl-detail-textarea::placeholder{color:#b8b8b8}.qrl-detail-textarea:focus{outline:2px solid var(--qrl-maroon);outline-offset:-1px;border-color:var(--qrl-maroon)}.qrl-detail-foot{border-top:1px solid var(--qrl-border);background:#fff;flex:none;align-items:center;gap:10px;padding:12px 16px;display:flex}.qrl-detail-stepper{flex:none;align-items:center;gap:4px;display:inline-flex}.qrl-detail-stepper button{border:1px solid var(--qrl-border);width:40px;height:40px;min-height:40px;color:var(--qrl-text);cursor:pointer;transition:background 90ms var(--ease-out);-webkit-tap-highlight-color:transparent;background:#fff;border-radius:10px;place-items:center;padding:0;font-size:18px;font-weight:700;display:grid}.qrl-detail-stepper button[data-variant=plus]{background:var(--qrl-maroon);border-color:var(--qrl-maroon-dark);color:#fff}.qrl-detail-stepper button:active:not(:disabled){background:#f5f5f5}.qrl-detail-stepper button[data-variant=plus]:active:not(:disabled){background:var(--qrl-maroon-dark)}.qrl-detail-stepper button:disabled{opacity:.5;cursor:not-allowed}.qrl-detail-stepper button svg{width:16px;height:16px;display:block}.qrl-detail-stepper-qty{text-align:center;min-width:22px;color:var(--qrl-text);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.qrl-detail-cta{background:var(--qrl-maroon);color:#fff;border:1px solid var(--qrl-maroon-dark);cursor:pointer;min-height:48px;transition:background 90ms var(--ease-out);-webkit-tap-highlight-color:transparent;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-family:inherit;font-size:14.5px;font-weight:700;display:inline-flex}.qrl-detail-cta:active:not(:disabled){background:var(--qrl-maroon-dark)}.qrl-detail-cta svg{width:16px;height:16px;display:block}.qrl-detail-cta:disabled{opacity:.55;cursor:not-allowed}.qrl[data-page=rewards]{padding-bottom:calc(var(--qrl-nav-h) + env(safe-area-inset-bottom));background:#f4f4f4}.qrl-rewards{gap:14px;padding:8px 18px;display:grid}.qrl-rewards-title{color:var(--qrl-text);letter-spacing:-.005em;margin:8px 4px 0;font-family:Playfair Display,Georgia,serif;font-size:28px;font-style:italic;font-weight:500}.qrl-rewards-user{background:#fff;border-radius:16px;align-items:center;gap:14px;padding:14px;display:flex;box-shadow:0 4px 14px #1414140d}.qrl-rewards-user-avatar{width:44px;height:44px;color:var(--qrl-maroon);text-transform:uppercase;background:#fde3df;border-radius:12px;flex:none;place-items:center;font-family:inherit;font-size:18px;font-weight:800;display:grid}.qrl-rewards-user-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.qrl-rewards-user-name{color:var(--qrl-text);letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.qrl-rewards-user-phone{color:var(--qrl-text-muted);font-variant-numeric:tabular-nums;font-size:13px}.qrl-rewards-logout{color:#2c3a37;cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:36px;transition:background var(--t-fast) var(--ease-out);background:#d9e8e4;border:1px solid #c2d4cf;border-radius:10px;flex:none;align-items:center;gap:6px;padding:7px 13px 7px 11px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.qrl-rewards-logout:active:not(:disabled){background:#cfe1dc}.qrl-rewards-logout svg{width:14px;height:14px;display:block}.qrl-rewards-hero{color:#fff;background:linear-gradient(135deg,#a82424 0%,#8b1a1a 55%,#6f1010 100%);border-radius:18px;padding:20px 22px 22px;position:relative;overflow:hidden;box-shadow:0 10px 24px #8b1a1a38}.qrl-rewards-hero:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#ffffff14,#0000);border-radius:50%;width:280px;height:280px;position:absolute;top:-40%;right:-20%}.qrl-rewards-hero-label{letter-spacing:.005em;align-items:center;gap:8px;font-size:14.5px;font-weight:600;display:inline-flex;position:relative}.qrl-rewards-hero-label svg{width:16px;height:16px;display:block}.qrl-rewards-hero-points{letter-spacing:-.02em;margin-top:6px;font-size:40px;font-weight:800;line-height:1.05;display:block;position:relative}.qrl-rewards-hero-ratio{letter-spacing:.01em;background:#0003;border-radius:8px;margin-top:12px;padding:5px 12px;font-size:12.5px;font-weight:700;display:inline-block;position:relative}.qrl-rewards-hero-note{color:#ffffffc7;margin:14px 0 0;font-size:12.5px;line-height:1.5;position:relative}.qrl-rewards-tabs{background:#e7eeed;border:1px solid #d4dedb;border-radius:14px;grid-template-columns:1fr 1fr;margin-top:4px;padding:5px;display:grid}.qrl-rewards-tab{min-height:42px;color:var(--qrl-text-muted);cursor:pointer;letter-spacing:-.005em;-webkit-tap-highlight-color:transparent;transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);background:0 0;border:none;border-radius:10px;font-family:inherit;font-size:14.5px;font-weight:700}.qrl-rewards-tab[data-active=true]{color:var(--qrl-text);background:#fff;box-shadow:0 2px 5px #0000000f}.qrl-rewards-list{gap:12px;margin:4px 0 0;padding:0;list-style:none;display:grid}.qrl-reward{background:#fff;border-radius:14px;align-items:center;gap:14px;padding:14px;display:flex;box-shadow:0 3px 10px #1414140d}.qrl-reward-icon{width:46px;height:46px;color:var(--qrl-maroon);background:#fde3df;border-radius:12px;flex:none;place-items:center;display:grid}.qrl-reward-icon svg{width:22px;height:22px;display:block}.qrl-reward-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.qrl-reward-title{color:var(--qrl-text);letter-spacing:-.005em;font-size:15.5px;font-weight:700}.qrl-reward-desc{color:var(--qrl-text-muted);font-size:13px}.qrl-reward-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.qrl-reward-pts{color:var(--qrl-maroon);letter-spacing:.01em;background:#fde3df;border-radius:6px;padding:3px 10px;font-size:11.5px;font-weight:700;display:inline-block}.qrl-reward-exp{color:var(--qrl-text-muted);font-size:11.5px;font-weight:500}.qrl-reward-redeem{background:var(--qrl-maroon);border:1px solid var(--qrl-maroon-dark);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;height:40px;min-height:40px;transition:background 90ms var(--ease-out);border-radius:12px;flex:none;justify-content:center;align-items:center;padding:0 18px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.qrl-reward-redeem:active:not(:disabled){background:var(--qrl-maroon-dark)}.qrl-reward-redeem:disabled{cursor:not-allowed;background:#cd9999;border-color:#c08989}.qrl-reward-err{color:#b03a2e;margin-top:4px;font-size:12px;font-weight:600}.qrl-reward-code{letter-spacing:.04em;color:var(--qrl-maroon);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.qrl-reward-pts[data-tone=good]{color:#1f5b34;background:#d8ecdf}.qrl-reward-pts[data-tone=pending]{color:#7a5a14;background:#fff1d4}.qrl-reward-pts[data-tone=muted]{color:#6c6c6c;background:#ececec}.qrl-reward[data-muted=true]{opacity:.7}.qrl[data-page=cart]{--qrl-cart-bar-h:84px;padding-bottom:calc(var(--qrl-cart-bar-h) + var(--qrl-nav-h) + env(safe-area-inset-bottom));background:#f4f4f4}.qrl-cart-top{z-index:10;padding:calc(env(safe-area-inset-top) + 18px) 20px 14px;background:#f4f4f4;justify-content:space-between;align-items:baseline;gap:12px;display:flex;position:sticky;top:0}.qrl-cart-top-title{color:var(--qrl-text);letter-spacing:-.005em;margin:0;font-family:Playfair Display,Georgia,serif;font-size:30px;font-style:italic;font-weight:500;line-height:1.05}.qrl-cart-top-count{color:var(--qrl-text-muted);letter-spacing:.01em;flex:none;font-size:13px;font-weight:600}.qrl-cart{gap:12px;padding:4px 16px 16px;display:grid}.qrl-cart-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.qrl-cart-line{background:#fff;border-radius:16px;flex-direction:column;padding:12px 12px 4px;display:flex;box-shadow:0 4px 14px #1414140d}.qrl-cart-line-top{align-items:flex-start;gap:12px;display:flex;position:relative}.qrl-cart-line-thumb{background:#f1efe9;border-radius:12px;flex:none;width:64px;height:64px;position:relative;overflow:hidden}.qrl-cart-line-thumb img{object-fit:cover;width:100%;height:100%;display:block}.qrl-cart-line-thumb-fallback{width:100%;height:100%;color:var(--qrl-maroon);background:radial-gradient(120% 120% at 30% 20%,#fde3df,#0000 60%),linear-gradient(160deg,#f7f1ec,#f1efe9);place-items:center;font-family:Playfair Display,Georgia,serif;font-size:26px;font-style:italic;font-weight:600;display:grid}.qrl-cart-line-body{flex-direction:column;flex:1;gap:8px;min-width:0;padding-right:28px;display:flex}.qrl-cart-line-name{color:var(--qrl-text);letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.qrl-cart-line-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.qrl-cart-line-price{color:var(--qrl-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:16px;font-weight:800}.qrl-cart-line-remove{color:#b03a2e;cursor:pointer;-webkit-tap-highlight-color:transparent;width:32px;height:32px;min-height:32px;transition:background var(--t-fast) var(--ease-out);background:#fdecea;border:none;border-radius:10px;place-items:center;padding:0;display:grid;position:absolute;top:-2px;right:0}.qrl-cart-line-remove:active:not(:disabled){background:#f9d6d2}.qrl-cart-line-remove svg{width:16px;height:16px;display:block}.qrl-cart-line-note-wrap{border-top:1px solid #f0f0f0;gap:8px;margin-top:10px;padding-top:8px;display:grid}.qrl-cart-line-note-toggle{width:100%;min-height:36px;color:var(--qrl-text-muted);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:4px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.qrl-cart-line-note-toggle:active:not(:disabled){color:var(--qrl-maroon)}.qrl-cart-line-note-label{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;display:inline-flex;overflow:hidden}.qrl-cart-line-note-label svg{opacity:.75;flex:none;width:14px;height:14px;display:block}.qrl-cart-line-note-toggle>svg{opacity:.55;flex:none;width:14px;height:14px;display:block}.qrl-cart-line-note-input{border:1px solid var(--qrl-border);width:100%;min-height:38px;color:var(--qrl-text);background:#fafafa;border-radius:10px;margin-bottom:8px;padding:9px 12px;font-family:inherit;font-size:13.5px}.qrl-cart-line-note-input::placeholder{color:#b8b8b8}.qrl-cart-line-note-input:focus{outline:2px solid var(--qrl-maroon);outline-offset:-1px;border-color:var(--qrl-maroon)}.qrl-cart-card{background:#fff;border-radius:16px;gap:12px;padding:16px 16px 14px;display:grid;box-shadow:0 4px 14px #1414140d}.qrl-cart-card-title{color:var(--qrl-text);letter-spacing:-.005em;text-transform:none;align-items:center;gap:8px;margin:0;font-family:inherit;font-size:15px;font-weight:700;display:inline-flex}.qrl-cart-card-title svg{width:16px;height:16px;color:var(--qrl-maroon);display:block}.qrl-cart-card-title[data-variant=plain]{font-size:15px}.qrl-cart-promo-entry{align-items:stretch;gap:8px;display:flex}.qrl-cart-promo-input{border:1px solid var(--qrl-border);min-width:0;min-height:44px;color:var(--qrl-text);letter-spacing:.02em;text-transform:uppercase;background:#fff;border-radius:12px;flex:1;padding:10px 14px;font-family:inherit;font-size:14px}.qrl-cart-promo-input::placeholder{color:#b8b8b8;text-transform:none;letter-spacing:0}.qrl-cart-promo-input:focus{outline:2px solid var(--qrl-maroon);outline-offset:-1px;border-color:var(--qrl-maroon)}.qrl-cart-promo-apply{background:var(--qrl-maroon);border:1px solid var(--qrl-maroon-dark);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:44px;transition:background var(--t-fast) var(--ease-out);border-radius:12px;flex:none;padding:0 22px;font-family:inherit;font-size:14px;font-weight:700}.qrl-cart-promo-apply:active:not(:disabled){background:var(--qrl-maroon-dark)}.qrl-cart-promo-apply:disabled{cursor:not-allowed;background:#d6d3cd;border-color:#c8c5be}.qrl-cart-promo-hint{color:var(--qrl-text-dim);letter-spacing:.01em;margin:0;font-size:12px}.qrl-cart-promo-applied{background:#eaf6ee;border:1px solid #c7e4d2;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.qrl-cart-promo-applied-icon{color:#fff;background:#2e8a4f;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;display:grid}.qrl-cart-promo-applied-icon svg{width:16px;height:16px;display:block}.qrl-cart-promo-applied-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.qrl-cart-promo-applied-code{color:#1f5b34;letter-spacing:.02em;font-size:13.5px;font-weight:800}.qrl-cart-promo-applied-title{color:#356a47;font-size:12px}.qrl-cart-promo-remove{color:#1f5b34;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #c7e4d2;border-radius:10px;flex:none;min-height:34px;padding:0 12px;font-family:inherit;font-size:12.5px;font-weight:600}.qrl-cart-promo-remove:active:not(:disabled){background:#d8ecdf}.qrl-cart-promo-msg{color:var(--qrl-text-muted);margin:4px 2px 0;font-size:12.5px}.qrl-cart-promo-msg[data-tone=error]{color:#b03a2e;font-weight:600}.qrl-cart-voucher-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.qrl-cart-voucher{background:#fff8f3;border:1px solid #f1d9c4;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.qrl-cart-voucher-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.qrl-cart-voucher-code{color:var(--qrl-maroon);letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:700}.qrl-cart-voucher-title{color:var(--qrl-text-muted);font-size:12.5px}.qrl-cart-totals{gap:9px;display:grid}.qrl-cart-totals-row{justify-content:space-between;align-items:baseline;font-size:14px;display:flex}.qrl-cart-totals-row span:first-child{color:var(--qrl-text)}.qrl-cart-totals-row span:last-child{font-variant-numeric:tabular-nums;color:var(--qrl-text);font-weight:700}.qrl-cart-totals-row[data-tone=muted] span:first-child,.qrl-cart-totals-row[data-tone=muted] span:last-child{color:#8ea4a1;font-weight:600}.qrl-cart-totals-row[data-tone=discount] span:last-child{color:#2e8a4f}.qrl-cart-totals-row[data-tone=grand]{border-top:1px solid #ececec;align-items:baseline;margin-top:6px;padding-top:12px}.qrl-cart-totals-row[data-tone=grand] span:first-child{color:var(--qrl-text);font-size:16px;font-weight:800}.qrl-cart-totals-row[data-tone=grand] span:last-child{color:var(--qrl-maroon);letter-spacing:-.005em;font-family:Playfair Display,Georgia,serif;font-size:22px;font-style:italic;font-weight:600}.qrl-cart-bar{left:0;right:0;bottom:calc(var(--qrl-nav-h) + env(safe-area-inset-bottom));z-index:12;pointer-events:none;background:linear-gradient(#f4f4f400 0%,#f4f4f4 50%);padding:10px 14px 14px;position:fixed}.qrl-cart-bar-inner{pointer-events:auto;gap:8px;display:grid}.qrl-cart-bar-error{color:#b03a2e;text-align:center;background:#fdecea;border:1px solid #f7c6c1;border-radius:10px;margin:0;padding:8px 12px;font-size:12.5px;font-weight:600}.qrl-cart-pay{background:var(--qrl-maroon);border:1px solid var(--qrl-maroon-dark);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;min-height:58px;transition:background 90ms var(--ease-out);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px 0 22px;font-family:inherit;font-size:15px;font-weight:700;display:flex;box-shadow:0 8px 20px #8b1a1a52}.qrl-cart-pay:active:not(:disabled){background:var(--qrl-maroon-dark)}.qrl-cart-pay:disabled{cursor:not-allowed;box-shadow:none;background:#d6d3cd;border-color:#c8c5be}.qrl-cart-pay-label{letter-spacing:.005em;font-size:15px;font-weight:700}.qrl-cart-pay-amount{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.005em;background:#00000038;border-radius:999px;align-items:center;padding:8px 14px;font-size:14.5px;font-weight:800;display:inline-flex}.qrl-cart-empty{text-align:center;justify-items:center;gap:12px;padding:56px 28px 24px;display:grid}.qrl-cart-empty-icon{width:72px;height:72px;color:var(--qrl-maroon);background:#fde3df;border-radius:22px;place-items:center;margin-bottom:4px;display:grid}.qrl-cart-empty-icon svg{width:32px;height:32px;display:block}.qrl-cart-empty-title{color:var(--qrl-text);letter-spacing:-.005em;margin:0;font-family:Playfair Display,Georgia,serif;font-size:22px;font-style:italic;font-weight:500}.qrl-cart-empty-sub{color:var(--qrl-text-muted);max-width:28ch;margin:0;font-size:13.5px;line-height:1.5}.qrl-cart-empty-cta{background:var(--qrl-maroon);border:1px solid var(--qrl-maroon-dark);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:48px;transition:background 90ms var(--ease-out);border-radius:12px;justify-content:center;align-items:center;margin-top:10px;padding:0 28px;font-family:inherit;font-size:14.5px;font-weight:700;display:inline-flex}.qrl-cart-empty-cta:active:not(:disabled){background:var(--qrl-maroon-dark)}.qrl[data-page=pay]{--qrl-pay-bar-h:88px;padding-bottom:calc(var(--qrl-pay-bar-h) + env(safe-area-inset-bottom));background:#f7f7f7}.qrl[data-page=pay] .qrl-top{border-bottom:1px solid var(--qrl-border);background:#fff}.qrl-top[data-layout=back-title]{justify-content:flex-start;align-items:center;gap:14px}.qrl[data-page=pay] .qrl-brand{font-size:28px}.qrl-pay{gap:18px;padding:16px 16px 12px;display:grid}.qrl-pay-amount-card{text-align:center;border:1px solid var(--qrl-border);background:#fff;border-radius:16px;justify-items:center;gap:6px;padding:20px 20px 22px;display:grid;box-shadow:0 4px 14px #1414140a}.qrl-pay-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--qrl-text-muted);font-size:11.5px;font-weight:700}.qrl-pay-amount{color:var(--qrl-maroon);letter-spacing:-.005em;font-variant-numeric:tabular-nums;font-family:Playfair Display,Georgia,serif;font-size:38px;font-style:italic;font-weight:600;line-height:1.05}.qrl-pay-amount-sub{color:var(--qrl-text-muted);letter-spacing:.01em;font-size:13px}.qrl-pay-section-title{font-family:var(--font-display);color:var(--qrl-text);letter-spacing:-.01em;margin:4px 2px -4px;font-size:17px;font-weight:700}.qrl-pay-methods{gap:10px;display:grid}.qrl-pay-method{border:1.5px solid var(--qrl-border);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;min-height:72px;transition:border-color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);background:#fff;border-radius:14px;grid-template-columns:48px 1fr 22px;align-items:center;gap:14px;padding:12px 16px;font-family:inherit;display:grid;box-shadow:0 2px 8px #14141408}.qrl-pay-method:active:not(:disabled){background:#fafafa}.qrl-pay-method-icon{background:var(--qrl-chip-bg);border:1px solid var(--qrl-chip-border);color:#2c3a37;width:48px;height:48px;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);border-radius:12px;flex:none;place-items:center;display:grid}.qrl-pay-method-icon svg{width:22px;height:22px;display:block}.qrl-pay-method-body{gap:3px;min-width:0;display:grid}.qrl-pay-method-label{color:var(--qrl-text);letter-spacing:-.005em;font-size:15.5px;font-weight:700;line-height:1.2}.qrl-pay-method-hint{color:var(--qrl-text-muted);font-size:12.5px;line-height:1.3}.qrl-pay-method-radio{width:22px;height:22px;transition:border-color var(--t-fast) var(--ease-out);border:1.5px solid #d6d6d6;border-radius:999px;flex:none;place-items:center;display:grid}.qrl-pay-method-radio svg{width:22px;height:22px;color:var(--qrl-maroon);display:block}.qrl-pay-method[data-active=true]{border-color:var(--qrl-maroon);box-shadow:0 4px 14px #8b1a1a1a}.qrl-pay-method[data-active=true] .qrl-pay-method-icon{background:var(--qrl-maroon);border-color:var(--qrl-maroon-dark);color:#fff}.qrl-pay-method[data-active=true] .qrl-pay-method-radio{border-color:#0000}.qrl-pay-sim{color:#6b5a1a;background:#fff8e6;border:1px solid #f3e0a6;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:12.5px;line-height:1.4;display:flex}.qrl-pay-sim input{width:16px;height:16px;min-height:16px;accent-color:var(--qrl-maroon);flex:none;margin:0}.qrl-pay-error{color:#b03a2e;text-align:center;background:#fdecea;border:1px solid #f7c6c1;border-radius:10px;margin:0;padding:10px 14px;font-size:13px;font-weight:600}.qrl-pay-fail{background:#fdecea;border:1px solid #f7c6c1;border-radius:14px;gap:8px;padding:18px 18px 16px;display:grid}.qrl-pay-fail-title{color:#8b2a20;font-family:Playfair Display,Georgia,serif;font-size:20px;font-style:italic;font-weight:500}.qrl-pay-fail-body{color:#6b3128;margin:0;font-size:13.5px;line-height:1.5}.qrl-pay-fail-actions{gap:8px;margin-top:6px;display:grid}.qrl-pay-fail-retry,.qrl-pay-fail-counter{cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:44px;transition:background var(--t-fast) var(--ease-out);border-radius:12px;font-family:inherit;font-size:14px;font-weight:700}.qrl-pay-fail-retry{background:var(--qrl-maroon);border:1px solid var(--qrl-maroon-dark);color:#fff}.qrl-pay-fail-retry:active:not(:disabled){background:var(--qrl-maroon-dark)}.qrl-pay-fail-counter{color:var(--qrl-maroon);background:#fff;border:1px solid #f1d6d6}.qrl-pay-fail-counter:active:not(:disabled){background:#fdf3f3}.qrl-pay-bar{z-index:12;padding:12px 14px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--qrl-border);background:#fff;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #1414140d}.qrl-pay-cta{background:var(--qrl-maroon);border:1px solid var(--qrl-maroon-dark);color:#fff;letter-spacing:.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;min-height:54px;transition:background 90ms var(--ease-out);border-radius:14px;justify-content:center;align-items:center;padding:0 24px;font-family:inherit;font-size:15px;font-weight:700;display:flex;box-shadow:0 6px 16px #8b1a1a47}.qrl-pay-cta:active:not(:disabled){background:var(--qrl-maroon-dark)}.qrl-pay-cta:disabled{cursor:not-allowed;box-shadow:none;background:#d6d3cd;border-color:#c8c5be}.qrl[data-page=confirmed]{padding-bottom:calc(76px + var(--qrl-nav-h) + env(safe-area-inset-bottom));background:#f4f4f4}.qrl-confirmed{gap:14px;padding:16px 16px 8px;display:grid}.qrl-confirmed-hero{text-align:center;border:1px solid var(--qrl-border);background:#fff;border-radius:18px;justify-items:center;gap:12px;padding:32px 22px 28px;display:grid;box-shadow:0 4px 14px #1414140d}.qrl-confirmed-check{color:#1e7a3d;background:#e0eee2;border-radius:50%;place-items:center;width:76px;height:76px;display:grid;box-shadow:0 6px 16px #1e7a3d26}.qrl-confirmed-check svg{width:38px;height:38px;display:block}.qrl-confirmed-title{color:var(--qrl-text);letter-spacing:-.005em;margin:4px 0 0;font-family:Playfair Display,Georgia,serif;font-size:30px;font-style:italic;font-weight:500;line-height:1.1}.qrl-confirmed-sub{font-family:var(--font-mono);color:var(--qrl-text-muted);letter-spacing:.02em;margin:0;font-size:13px}.qrl-confirmed-points{color:#8a5a00;letter-spacing:-.005em;background:#fef7d6;border:1.5px solid #facd5d;border-radius:999px;align-items:center;gap:8px;margin-top:4px;padding:8px 16px 8px 14px;font-size:13px;font-weight:700;display:inline-flex}.qrl-confirmed-points svg{color:#d49a00;width:14px;height:14px;display:block}.qrl-confirmed-summary,.qrl-confirmed-next{border:1px solid var(--qrl-border);background:#fff;border-radius:16px;gap:12px;padding:18px 20px;display:grid;box-shadow:0 4px 14px #1414140d}.qrl-confirmed-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--qrl-text-muted);font-family:inherit;font-size:11px;font-weight:700}.qrl-confirmed-items{gap:10px;margin:0;padding:0;list-style:none;display:grid}.qrl-confirmed-item{color:var(--qrl-text);grid-template-columns:1fr auto;align-items:baseline;gap:12px;font-size:15px;display:grid}.qrl-confirmed-item-name{letter-spacing:-.005em;font-weight:600}.qrl-confirmed-item-qty{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--qrl-maroon);font-size:14px;font-weight:700}.qrl-confirmed-item-line{display:none}.qrl-confirmed-total{border-top:1px solid var(--qrl-border);color:var(--qrl-text-muted);justify-content:space-between;align-items:baseline;padding-top:14px;font-size:14px;font-weight:600;display:flex}.qrl-confirmed-total-amount{color:var(--qrl-maroon);letter-spacing:-.005em;font-family:Playfair Display,Georgia,serif;font-size:22px;font-style:italic;font-weight:600}.qrl-confirmed-steps{gap:14px;margin:0;padding:0;list-style:none;display:grid}.qrl-confirmed-step{grid-template-columns:auto 1fr;align-items:start;gap:14px;display:grid}.qrl-confirmed-step-num{background:var(--qrl-maroon);color:#fff;font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:grid}.qrl-confirmed-step-text{color:var(--qrl-text-muted);padding-top:3px;font-size:14px;line-height:1.5}.qrl-confirmed-actions{left:0;right:0;bottom:calc(var(--qrl-nav-h) + env(safe-area-inset-bottom));z-index:12;pointer-events:none;background:linear-gradient(#f4f4f400,#f4f4f4 40%);padding:12px 16px 16px;position:fixed}.qrl-confirmed-cta{pointer-events:auto;background:var(--qrl-maroon);border:1px solid var(--qrl-maroon-dark);color:#fff;letter-spacing:-.005em;cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;min-height:52px;transition:background 90ms var(--ease-out);border-radius:14px;justify-content:center;align-items:center;gap:10px;font-family:inherit;font-size:15px;font-weight:700;display:inline-flex;box-shadow:0 8px 20px #8b1a1a40}.qrl-confirmed-cta:active:not(:disabled){background:var(--qrl-maroon-dark)}.qrl-confirmed-cta svg{width:18px;height:18px;display:block}.qrl[data-page=orders]{padding-bottom:calc(var(--qrl-nav-h) + env(safe-area-inset-bottom));background:#f4f4f4}.qrl-orders{gap:16px;padding:8px 18px;display:grid}.qrl-orders-title{color:var(--qrl-text);letter-spacing:-.005em;margin:8px 4px 0;font-family:Playfair Display,Georgia,serif;font-size:28px;font-style:italic;font-weight:500}.qrl-orders-section{gap:10px;display:grid}.qrl-orders-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--qrl-text-muted);margin:0 2px;font-family:inherit;font-size:11px;font-weight:700}.qrl-orders-list{gap:12px;display:grid}.qrl-order-card{border:1px solid var(--qrl-border);background:#fff;border-radius:16px;gap:8px;padding:14px 16px 12px;display:grid;box-shadow:0 3px 10px #1414140d}.qrl-order-card[data-active=true]{border-width:1.5px;border-color:#c08080;box-shadow:0 4px 14px #8b1a1a1f}.qrl-order-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.qrl-order-chip{letter-spacing:.01em;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:5px 11px;font-family:inherit;font-size:12px;font-weight:700;display:inline-flex}.qrl-order-chip svg{width:13px;height:13px;display:block}.qrl-order-chip[data-tone=pending]{color:#8a5a00;background:#fef7d6;border-color:#facd5d}.qrl-order-chip[data-tone=ready]{color:#155f6b;background:#e0eef0;border-color:#b8d8dc}.qrl-order-chip[data-tone=done]{color:#1e7a3d;background:#e0eee2;border-color:#bcd9c0}.qrl-order-chip[data-tone=held]{color:#8a4a00;background:#fde9d8;border-color:#f4c89a}.qrl-order-chip[data-tone=cancelled]{color:#7a5a58;background:#f1ebea;border-color:#d8cecc}.qrl-order-amount{color:var(--qrl-maroon);letter-spacing:-.005em;font-family:Playfair Display,Georgia,serif;font-size:20px;font-style:italic;font-weight:600}.qrl-order-card-body{flex-direction:column;gap:2px;display:flex}.qrl-order-id{color:var(--qrl-text);letter-spacing:-.005em;font-size:18px;font-weight:800}.qrl-order-itemcount{color:var(--qrl-text-muted);font-size:12.5px;font-weight:500}.qrl-order-items{border-top:1px dashed var(--qrl-border);gap:4px;margin:0;padding:8px 0 0;list-style:none;display:grid}.qrl-order-items li{color:var(--qrl-text);justify-content:space-between;align-items:baseline;gap:10px;font-size:13.5px;display:flex}.qrl-order-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.qrl-order-item-qty{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--qrl-text-muted);flex:none;font-size:12.5px;font-weight:700}.qrl-order-items-more{color:var(--qrl-text-muted);font-size:12px;font-style:italic}.qrl-order-card-foot{justify-content:flex-end;padding-top:2px;display:flex}.qrl-order-details{color:var(--qrl-maroon);cursor:pointer;letter-spacing:-.005em;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:4px;min-height:auto;padding:4px 0 4px 8px;font-family:inherit;font-size:13.5px;font-weight:700;display:inline-flex}.qrl-order-details svg{width:14px;height:14px;display:block}.qrl-order-details:active:not(:disabled){opacity:.7}.qr-method{z-index:1;color:#1a1a1a;width:100%;max-width:100%;min-height:100dvh;font-family:var(--font-body);background:#f3f4f6;flex-direction:column;margin:0 auto;display:flex;position:relative}.qr-method-header{padding:calc(env(safe-area-inset-top) + 16px) 18px 16px;background:#f3f4f6;flex:none;justify-content:center;align-items:center;display:flex}.qr-method-title{letter-spacing:-.005em;color:#5b6068;margin:0;font-family:Playfair Display,Georgia,serif;font-size:22px;font-style:italic;font-weight:500}.qr-method-body{padding:8px 18px calc(20px + env(safe-area-inset-bottom));background:#fff;border-top-left-radius:22px;border-top-right-radius:22px;flex-direction:column;flex:1;gap:18px;display:flex}.qr-method-intro{text-align:left;flex-direction:column;gap:6px;padding:22px 6px 4px;display:flex}.qr-method-h1{font-family:var(--font-display);letter-spacing:-.01em;color:#1a1a1a;margin:0;font-size:22px;font-weight:800}.qr-method-sub{color:#7c7c7c;margin:0;font-size:14px;font-weight:500}.qr-method-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.qr-method-card{color:#1a1a1a;text-align:left;cursor:pointer;letter-spacing:0;min-height:132px;transition:background .12s var(--ease-out), border-color .12s var(--ease-out), box-shadow .12s var(--ease-out), transform .12s var(--ease-out);background:#fff;border:1px solid #e7e3dc;border-radius:16px;flex-direction:column;align-items:flex-start;gap:10px;padding:16px 16px 18px;font-family:inherit;font-weight:500;display:flex;box-shadow:0 1px 2px #0f0f0f0a}.qr-method-card:active:not(:disabled){transform:translateY(1px)}.qr-method-card[data-selected=true]{color:#fff;background:#8b1a1a;border-color:#7a1616;box-shadow:0 10px 22px #8b1a1a3d}.qr-method-card-icon{color:#8b1a1a;background:#f3eee7;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.qr-method-card-icon svg{width:22px;height:22px;display:block}.qr-method-card[data-selected=true] .qr-method-card-icon{color:#ffe9e6;background:#ffffff29}.qr-method-card-text{flex-direction:column;gap:2px;display:flex}.qr-method-card-title{letter-spacing:-.005em;font-size:17px;font-weight:700}.qr-method-card-sub{color:#7c7c7c;font-size:12.5px;font-weight:500}.qr-method-card[data-selected=true] .qr-method-card-sub{color:#ffffffd1}.qr-method-address{background:#fdf2f2;border:1px solid #f7dede;border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex}.qr-method-address-row{align-items:center;gap:10px;display:flex}.qr-method-address-icon{color:#b91d22;background:#fde0e2;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.qr-method-address-icon svg{width:18px;height:18px;display:block}.qr-method-address-label{color:#1a1a1a;font-size:14.5px;font-weight:700}.qr-method-address-status{color:#b91d22;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.qr-method-address-status svg{width:16px;height:16px;display:block}.qr-method-address-status[data-state=ready]{color:#2a7a3f}.qr-method-address-status[data-state=denied],.qr-method-address-status[data-state=unavailable],.qr-method-address-status[data-state=idle]{color:#7c7c7c;font-weight:500}.qr-method-spinner{border:2px solid #b91d2240;border-top-color:#b91d22;border-radius:50%;width:14px;height:14px;animation:.72s linear infinite qrMethodSpin;display:inline-block}@keyframes qrMethodSpin{to{transform:rotate(360deg)}}.qr-method-address-field{flex-direction:column;gap:6px;display:flex}.qr-method-address-field-label{color:#7c7c7c;letter-spacing:.02em;text-transform:uppercase;font-size:12.5px;font-weight:600}.qr-method-address-input{color:#1a1a1a;resize:vertical;background:#fff;border:1px solid #e7d4d4;border-radius:12px;width:100%;min-height:84px;padding:12px 14px;font-family:inherit;font-size:14.5px;line-height:1.45}.qr-method-address-input::placeholder{color:#b1a8a8}.qr-method-address-input:focus{outline-offset:-1px;background:#fff;border-color:#8b1a1a;outline:2px solid #8b1a1a}.qr-method-foot{gap:10px;margin-top:auto;padding-top:20px;display:grid}.qr-method-cta{color:#fff;letter-spacing:.01em;cursor:pointer;width:100%;min-height:56px;transition:background var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);background:#c98a8a;border:1px solid #c08080;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-size:16px;font-weight:700;display:inline-flex}.qr-method-cta:not(:disabled){background:#8b1a1a;border-color:#7a1616;box-shadow:0 8px 18px #8b1a1a38}.qr-method-cta:not(:disabled):hover{background:#761414;box-shadow:0 10px 22px #8b1a1a47}.qr-method-cta:not(:disabled):active{transform:translateY(1px)}.qr-method-cta-chev{place-items:center;width:18px;height:18px;display:grid}.qr-method-cta-chev svg{width:100%;height:100%}.qrl-confirmed-cta-ghost{border-color:var(--qrl-border);color:var(--qrl-text);background:#fff;box-shadow:0 2px 8px #1414140d}.qrl-confirmed-cta-ghost:active:not(:disabled){background:#f7f7f7}.qrl-confirmed-actions{gap:8px;display:grid}.qrl[data-page=tracking],.qrl[data-page=thanks]{padding-bottom:calc(var(--qrl-nav-h) + env(safe-area-inset-bottom) + 84px);background:#f4f4f4}.qrl-track-top{z-index:10;padding:calc(env(safe-area-inset-top) + 16px) 18px 14px;background:#f4f4f4;align-items:center;gap:12px;display:flex;position:sticky;top:0}.qrl-track-top-text{flex-direction:column;gap:2px;min-width:0;display:flex}.qrl-track-top-title{letter-spacing:-.005em;color:var(--qrl-text);margin:0;font-family:Playfair Display,Georgia,serif;font-size:24px;font-style:italic;font-weight:500}.qrl-track-top-sub{font-family:var(--font-mono);color:var(--qrl-text-muted);letter-spacing:.02em;font-size:12px}.qrl-track{gap:14px;padding:8px 18px;display:grid}.qrl-track-hero{text-align:center;justify-items:center;gap:12px;padding:14px 12px 8px;display:grid}.qrl-track-hero-title{letter-spacing:-.005em;color:var(--qrl-text);margin:0;font-family:Playfair Display,Georgia,serif;font-size:28px;font-style:italic;font-weight:500}.qrl-track-points{color:#8a5a00;background:#fef7d6;border:1.5px solid #facd5d;border-radius:999px;align-items:center;gap:8px;padding:8px 16px 8px 14px;font-size:13px;font-weight:700;display:inline-flex}.qrl-track-points svg{color:#d49a00;width:14px;height:14px;display:block}.qrl-track-card{border:1px solid var(--qrl-border);background:#fff;border-radius:16px;gap:12px;padding:18px 20px;display:grid;box-shadow:0 4px 14px #1414140d}.qrl-track-steps{gap:0;margin:0;padding:0;list-style:none;display:grid;position:relative}.qrl-track-step{grid-template-columns:32px 1fr;column-gap:14px;padding-bottom:18px;display:grid;position:relative}.qrl-track-step:last-child{padding-bottom:0}.qrl-track-step-marker{z-index:1;background:var(--qrl-maroon);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid;position:relative}.qrl-track-step[data-state=pending] .qrl-track-step-marker{border:2px solid var(--qrl-border);background:#fff}.qrl-track-step-dot{background:var(--qrl-border);border-radius:50%;width:8px;height:8px}.qrl-track-step-marker svg{width:14px;height:14px;display:block}.qrl-track-step-conn{background:var(--qrl-maroon);border-radius:1px;width:2px;height:calc(100% - 24px);position:absolute;top:28px;left:13px}.qrl-track-step[data-state=pending] .qrl-track-step-conn,.qrl-track-step[data-state=active] .qrl-track-step-conn{background:repeating-linear-gradient(180deg, var(--qrl-border) 0 4px, transparent 4px 8px)}.qrl-track-step-body{gap:2px;padding-top:2px;display:grid}.qrl-track-step-title{color:var(--qrl-text);letter-spacing:-.005em;align-items:center;gap:8px;font-size:15px;font-weight:700;display:inline-flex}.qrl-track-step[data-state=pending] .qrl-track-step-title{color:var(--qrl-text-muted);font-weight:600}.qrl-track-step-chip{color:var(--qrl-maroon);letter-spacing:.08em;text-transform:uppercase;background:#ffe9e9;border-radius:6px;align-items:center;padding:2px 7px;font-size:10.5px;font-weight:800;display:inline-flex}.qrl-track-step-desc{color:var(--qrl-text-muted);font-size:13px;line-height:1.45}.qrl-track-delivery{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.qrl-track-delivery-icon{width:28px;height:28px;color:var(--qrl-maroon);flex:none;place-items:center;display:grid}.qrl-track-delivery-icon svg{width:18px;height:18px;display:block}.qrl-track-delivery-body{gap:2px;display:grid}.qrl-track-delivery-title{color:var(--qrl-text);font-size:14.5px;font-weight:700}.qrl-track-delivery-text{color:var(--qrl-text-muted);font-size:13px;line-height:1.4}.qrl-track-points-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.qrl-track-points-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--qrl-maroon);margin-bottom:2px;font-size:11px;font-weight:800;display:block}.qrl-track-points-value{color:var(--qrl-maroon);letter-spacing:-.005em;font-family:Playfair Display,Georgia,serif;font-size:22px;font-style:italic;font-weight:600;display:block}.qrl-track-points-total{text-align:right}.qrl-track-points-total-label{color:var(--qrl-text-muted);margin-bottom:2px;font-size:12px;font-weight:500;display:block}.qrl-track-points-total-value{color:var(--qrl-text);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800;display:block}.qrl-track-foot{left:0;right:0;bottom:calc(var(--qrl-nav-h) + env(safe-area-inset-bottom));z-index:12;background:linear-gradient(#f4f4f400,#f4f4f4 40%);padding:12px 16px 16px;position:fixed}.qrl-slider{background:var(--qrl-maroon);color:#fff;-webkit-user-select:none;user-select:none;touch-action:pan-y;border-radius:999px;justify-content:center;align-items:center;width:100%;height:56px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 20px #8b1a1a40}.qrl-slider[data-state=done]{background:#2f6b3b;box-shadow:0 8px 20px #2f6b3b40}.qrl-slider-label{letter-spacing:-.005em;pointer-events:none;font-size:15px;font-weight:700}.qrl-slider-handle{width:48px;height:48px;color:var(--qrl-maroon);cursor:grab;transition:transform .22s var(--ease-out);-webkit-tap-highlight-color:transparent;background:#fff;border:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;left:4px;box-shadow:0 2px 6px #0000002e}.qrl-slider-handle:active{cursor:grabbing;transition:none}.qrl-slider[data-state=done] .qrl-slider-handle{color:#2f6b3b}.qrl-slider[data-state=done] .qrl-slider-handle svg{transform:rotate(180deg)}.qrl-slider-handle svg{width:16px;height:16px;transition:transform .22s var(--ease-out);display:block}.qrl-slider-handle:disabled{cursor:default}.qrl-thanks{gap:14px;padding:0 18px 8px;display:grid}.qrl-thanks-hero{padding:calc(env(safe-area-inset-top) + 22px) 24px 60px;background:linear-gradient(180deg, var(--qrl-maroon) 0%, #6c0010 100%);color:#fff;text-align:center;border-bottom-right-radius:28px;border-bottom-left-radius:28px;justify-items:center;gap:10px;margin:0 -18px;display:grid}.qrl-thanks-medal{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.qrl-thanks-medal svg{width:30px;height:30px}.qrl-thanks-title{letter-spacing:-.005em;margin:6px 0 0;font-family:Playfair Display,Georgia,serif;font-size:28px;font-weight:600}.qrl-thanks-sub{opacity:.86;margin:0;font-size:14px}.qrl-thanks-card{border:1px solid var(--qrl-border);background:#fff;border-radius:16px;gap:8px;margin-top:-36px;padding:16px 18px;display:grid;box-shadow:0 4px 14px #1414140d}.qrl-thanks-card+.qrl-thanks-card{margin-top:0}.qrl-thanks-points{justify-content:space-between;align-items:center;gap:16px;display:flex}.qrl-thanks-points-eyebrow{color:var(--qrl-text-muted);margin-bottom:2px;font-size:12px;font-weight:600;display:block}.qrl-thanks-points-value{color:var(--qrl-maroon);letter-spacing:-.005em;font-family:Playfair Display,Georgia,serif;font-size:28px;font-style:italic;font-weight:600;display:block}.qrl-thanks-points-total{color:var(--qrl-text-muted);margin-top:2px;font-size:12px;display:block}.qrl-thanks-trophy{font-size:32px;line-height:1}.qrl-thanks-trophy svg{color:#c08d2b;width:36px;height:36px}.qrl-thanks-review-head{color:var(--qrl-text);align-items:center;gap:8px;font-size:15px;font-weight:700;display:inline-flex}.qrl-thanks-review-head svg{width:16px;height:16px;color:var(--qrl-maroon)}.qrl-thanks-review-body{color:var(--qrl-text-muted);margin:0;font-size:13.5px;line-height:1.45}.qrl-thanks-review-cta{background:var(--qrl-maroon);color:#fff;letter-spacing:-.005em;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;margin-top:4px;padding:0 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.qrl-thanks-review-cta svg{width:14px;height:14px}.qrl-thanks-order-eyebrow{color:var(--qrl-text);margin-bottom:4px;font-size:14px;font-weight:800}.qrl-thanks-order-qty{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--qrl-text-muted);background:#f4f4f4;border-radius:6px;padding:2px 7px;font-size:12.5px;font-weight:700}.qrl-thanks-order-amount{color:var(--qrl-text);font-size:14px;font-weight:700}.qrl-thanks-actions{gap:8px;margin-top:4px;display:grid}
