/* Customer account */
.q-acct { --acc: var(--q-accent, #b5562f); --ink: var(--q-text, #2a211c); position: relative; max-width: 1120px; margin-inline: auto; }
.q-acct [hidden] { display: none !important; }
.q-acct .q-row--between { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.q-acct .q-small { font-size: .85rem; }
.q-acct .q-center { text-align: center; }
.q-acct h2, .q-acct h3 { font-family: var(--q-font-display); }

/* ---- Sign in / create account ---- */
.q-auth { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); overflow: hidden; border: 1px solid var(--q-line); border-radius: 26px; background: var(--q-surface); box-shadow: var(--q-shadow); }
.q-auth__side { position: relative; overflow: hidden; display: grid; align-content: center; gap: 14px; padding: clamp(28px, 5vw, 56px); color: #f6f0e6;
	background: radial-gradient(90% 70% at 100% 0%, rgb(181 86 47 / 55%), transparent 60%), radial-gradient(80% 60% at 0% 100%, rgb(201 164 92 / 35%), transparent 60%), #1c1714; }
.q-auth__side::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 220px; height: 220px; border-radius: 50%; border: 1px solid rgb(246 240 230 / 12%); box-shadow: 0 0 0 30px rgb(246 240 230 / 4%), 0 0 0 60px rgb(246 240 230 / 3%); }
.q-auth__eyebrow { margin: 0; font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: #e9c77f; }
.q-auth__side h2 { margin: 0; font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.3rem); line-height: 1.15; color: #fff; }
.q-auth__perks { display: grid; gap: 12px; margin: 10px 0 0; padding: 0; list-style: none; }
.q-auth__perks li { display: flex; align-items: center; gap: 12px; color: #e6dccd; }
.q-auth__perks span { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 10px; background: rgb(255 255 255 / 8%); border: 1px solid rgb(255 255 255 / 14%); color: #f3c969; font-weight: 700; }
.q-auth__main { display: grid; align-content: start; gap: 14px; padding: clamp(24px, 4vw, 44px); }
.q-auth__tabs { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; border-radius: 99px; background: var(--q-cream); }
.q-auth__tabs button { padding: 10px; border: 0; border-radius: 99px; background: none; color: var(--q-muted); font: inherit; font-weight: 700; cursor: pointer; transition: background .2s, color .2s, box-shadow .2s; }
.q-auth__tabs button.is-on { background: var(--q-surface); color: var(--ink); box-shadow: 0 4px 12px -6px rgb(28 23 20 / 40%); }
.q-auth__form { animation: q-acct-in .3s ease both; }
.q-auth__form h3 { margin: 0; }
.q-auth__resend { margin: 0; text-align: center; }
.q-auth__done { display: grid; justify-items: center; gap: 8px; padding: 20px 0; text-align: center; animation: q-acct-in .35s ease both; }
.q-auth__mail { display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: color-mix(in srgb, var(--q-sage) 14%, transparent); color: var(--q-sage); animation: q-acct-float 3s ease-in-out infinite; }
.q-auth__done h3 { margin: 6px 0 0; font-size: 1.5rem; }
@keyframes q-acct-in { from { opacity: 0; transform: translateY(8px); } }
@keyframes q-acct-float { 50% { transform: translateY(-5px); } }

.q-pw { position: relative; }
.q-pw input { padding-right: 46px !important; }
.q-pw__eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 8px; background: none; color: var(--q-muted); cursor: pointer; }
.q-pw__eye.is-on, .q-pw__eye:hover { color: var(--acc); background: var(--q-cream); }
.q-meter { height: 6px; margin-top: -6px; border-radius: 99px; background: var(--q-cream); overflow: hidden; }
.q-meter span { display: block; width: 0; height: 100%; border-radius: inherit; transition: width .3s, background .3s; }
.q-meter[data-s="1"] span { width: 25%; background: #c0392b; }
.q-meter[data-s="2"] span { width: 50%; background: #d98b2b; }
.q-meter[data-s="3"] span { width: 75%; background: #9bb35a; }
.q-meter[data-s="4"] span { width: 100%; background: var(--q-sage); }

/* ---- Dashboard ---- */
.q-acct__hero { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; padding: clamp(20px, 3vw, 30px); border-radius: 26px; color: #f6f0e6;
	background: radial-gradient(70% 120% at 100% 0%, rgb(181 86 47 / 55%), transparent 60%), radial-gradient(60% 100% at 0% 100%, rgb(201 164 92 / 30%), transparent 60%), #1c1714; box-shadow: var(--q-shadow); }
.q-acct__who { display: flex; align-items: center; gap: 16px; }
.q-acct__avatar { display: grid; place-items: center; flex: none; width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, #f3c969, #e0602f 60%, #93421f); color: #fff; font: 700 1.35rem/1 var(--q-font-display); box-shadow: 0 0 0 4px rgb(255 255 255 / 10%); }
.q-acct__eyebrow { margin: 0; font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #e9c77f; }
.q-acct__hero h2 { margin: 2px 0; color: #fff; font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2.2rem); }
.q-acct__meta { margin: 0; color: #cdbfaf; font-size: .88rem; }
.q-acct__ok { color: #b8d8a6; }
.q-clock--acct { background: linear-gradient(160deg, rgb(255 255 255 / 14%), rgb(255 255 255 / 4%)) !important; border-color: rgb(255 255 255 / 18%) !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.q-clock--acct .q-clock__txt strong { color: #fff !important; }
.q-clock--acct [data-date] { display: none; }
.q-clock--acct .q-clock__txt span { color: #e6dccd !important; }
.q-clock--acct .q-clock__tz { color: #f3d9a6 !important; }
.q-clock--acct .q-clock__moontxt { color: #d9d3ee !important; }

.q-acct__nav { position: sticky; top: calc(var(--q-header-h, 72px) + 8px); z-index: 5; display: flex; gap: 4px; margin-bottom: 18px; padding: 6px; overflow-x: auto; border: 1px solid var(--q-line); border-radius: 18px; background: color-mix(in srgb, var(--q-surface) 88%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 8px 24px -18px rgb(28 23 20 / 50%); scrollbar-width: none; }
.q-acct__nav a, .q-acct__nav button { display: inline-flex; align-items: center; gap: 8px; flex: none; padding: 10px 14px; border: 0; border-radius: 12px; background: none; color: var(--q-muted); font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; transition: background .2s, color .2s; }
.q-acct__nav a:hover, .q-acct__nav button:hover { color: var(--ink); background: var(--q-cream); }
.q-acct__nav a.is-on { color: #fff; background: linear-gradient(135deg, var(--acc), var(--q-accent-dark, #93421f)); box-shadow: 0 8px 18px -10px rgb(181 86 47 / 90%); }
.q-acct__nav em { padding: 1px 7px; border-radius: 99px; background: rgb(0 0 0 / 6%); font-size: .72rem; font-style: normal; }
.q-acct__nav a.is-on em { background: rgb(255 255 255 / 22%); }
.q-acct__out { margin-left: auto; }
.q-acct__panel { display: grid; gap: 14px; animation: q-acct-in .3s ease both; }
.q-acct__h { margin: 10px 0 0; font-size: 1.25rem; }

.q-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.q-stat { position: relative; overflow: hidden; display: grid; gap: 2px; padding: 18px; border-radius: 18px; color: #fff; box-shadow: var(--q-shadow); }
.q-stat::after { content: ""; position: absolute; right: -30px; top: -30px; width: 110px; height: 110px; border-radius: 50%; background: rgb(255 255 255 / 10%); }
.q-stat--a { background: linear-gradient(140deg, #2a211c, #4a3326); }
.q-stat--b { background: linear-gradient(140deg, #b5562f, #e0602f); }
.q-stat--c { background: linear-gradient(140deg, #3f6b4e, #5f7055); }
.q-stat--d { background: linear-gradient(140deg, #8a6414, #c9a45c); }
.q-stat span { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.q-stat strong { font: 600 2rem/1.1 var(--q-font-display); }
.q-stat strong small { font-size: 1rem; opacity: .7; }
.q-stat small { opacity: .85; }
.q-quick { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.q-quick a { display: grid; gap: 2px; padding: 16px 18px; border: 1px solid var(--q-line); border-radius: 16px; background: var(--q-surface); color: var(--ink); text-decoration: none; transition: transform .2s, box-shadow .2s, border-color .2s; }
.q-quick a:hover { transform: translateY(-2px); border-color: var(--acc); box-shadow: 0 14px 28px -20px rgb(28 23 20 / 60%); }
.q-quick strong { font-family: var(--q-font-display); font-size: 1.15rem; }
.q-quick span { color: var(--q-muted); font-size: .88rem; }
.q-quick a::after { content: "→"; justify-self: end; margin-top: -30px; color: var(--acc); font-weight: 700; transition: transform .2s; }
.q-quick a:hover::after { transform: translateX(4px); }

/* History */
.q-hist__filter { display: flex; flex-wrap: wrap; gap: 6px; }
.q-hist__filter .q-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border: 1px solid var(--q-line); border-radius: 99px; background: var(--q-surface); font: inherit; font-weight: 600; cursor: pointer; }
.q-hist__filter .q-chip span { padding: 0 6px; border-radius: 99px; background: var(--q-cream); font-size: .75rem; }
.q-hist__filter .q-chip.is-on { background: var(--ink); border-color: var(--ink); color: #fff; }
.q-hist__filter .q-chip.is-on span { background: rgb(255 255 255 / 18%); }
.q-hist__list { display: grid; gap: 10px; }
.q-hist { border: 1px solid var(--q-line); border-radius: 18px; background: var(--q-surface); transition: box-shadow .2s; }
.q-hist[open] { box-shadow: 0 16px 34px -24px rgb(28 23 20 / 60%); }
.q-hist summary { display: flex; align-items: center; gap: 14px; padding: 14px 16px; cursor: pointer; list-style: none; }
.q-hist summary::-webkit-details-marker { display: none; }
.q-hist__icon { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 14px; background: var(--q-cream); }
.q-hist__icon::before { content: ""; width: 22px; height: 22px; background: var(--acc); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.q-hist__icon--pickup { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 7h12l-1.2 12.2a2 2 0 0 1-2 1.8H9.2a2 2 0 0 1-2-1.8zM9 7V6a3 3 0 0 1 6 0v1' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E"); }
.q-hist__icon--delivery { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h11v10H3zM14 9h4l3 3v4h-7z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Ccircle cx='7' cy='18' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='17' cy='18' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E"); background: #eef3ea; }
.q-hist__icon--dinein { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3v8M5 3v5a2 2 0 0 0 4 0V3M7 11v10M17 21V3c-2 1-3 4-3 8h3' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"); }
.q-hist__icon--giftcard { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 8h18v4H3zM5 12h14v8H5zM12 8v12M12 8c-2-4-6-3-5 0M12 8c2-4 6-3 5 0' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E"); background: #f6efdc; }
.q-hist__icon--booking { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h16v14H4zM4 10h16M8 3v4M16 3v4' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E"); background: #eeeaf5; }
.q-hist__main { display: grid; gap: 2px; flex: 1; min-width: 0; }
.q-hist__main strong { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.q-hist__side { display: grid; justify-items: end; gap: 4px; text-align: right; }
.q-hist__side strong { font: 600 1.15rem/1 var(--q-font-display); }
.q-hist__body { display: grid; gap: 12px; padding: 0 16px 16px; border-top: 1px dashed var(--q-line); }
.q-hist__items { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.q-hist__items li { display: flex; justify-content: space-between; gap: 12px; }
.q-hist__items small { display: block; color: var(--q-muted); }
.q-hist__sum { display: grid; gap: 4px; margin: 0; padding: 10px 12px; border-radius: 12px; background: var(--q-cream); }
.q-hist__sum div { display: flex; justify-content: space-between; gap: 12px; }
.q-hist__sum dt { color: var(--q-muted); }
.q-hist__sum dd { margin: 0; text-align: right; }
.q-hist__total { font-weight: 700; }
.q-hist__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.q-hist__actions .q-btn { display: inline-flex; align-items: center; gap: 8px; }
.q-pill { display: inline-block; padding: 2px 9px; border-radius: 99px; background: var(--q-cream); color: var(--q-accent-dark, #93421f); font-family: var(--q-font-body, inherit); font-size: .72rem; font-weight: 700; }
.q-pill--delivery { background: #eef3ea; color: #3f6b4e; }
.q-pill--giftcard { background: #f6efdc; color: #8a6414; }
.q-pill--booking { background: #eeeaf5; color: #5a5470; }
.q-status-pill { display: inline-block; padding: 2px 9px; border-radius: 99px; background: #eee9e2; color: #6b5e55; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.q-status-pill--completed, .q-status-pill--paid, .q-status-pill--confirmed, .q-status-pill--active, .q-status-pill--seated { background: #e6f1e8; color: #2f6140; }
.q-status-pill--accepted, .q-status-pill--preparing, .q-status-pill--ready, .q-status-pill--out_for_delivery, .q-status-pill--pending, .q-status-pill--on_hold { background: #fdf3dd; color: #8a6414; }
.q-status-pill--cancelled, .q-status-pill--refunded, .q-status-pill--declined, .q-status-pill--no_show, .q-status-pill--void, .q-status-pill--expired { background: #fbe9e2; color: #a2401b; }

.q-next, .q-booking-row { display: flex; align-items: center; gap: 16px; padding: 14px 16px; border: 1px solid var(--q-line); border-radius: 18px; background: var(--q-surface); color: var(--ink); text-decoration: none; transition: transform .2s, box-shadow .2s; }
.q-next:hover, .q-booking-row:hover { transform: translateY(-1px); box-shadow: 0 14px 28px -22px rgb(28 23 20 / 60%); }
.q-next__date { display: grid; place-items: center; flex: none; width: 60px; height: 60px; border-radius: 14px; background: linear-gradient(140deg, var(--acc), #e0602f); color: #fff; font-size: .72rem; font-weight: 700; text-transform: uppercase; line-height: 1.1; text-align: center; }
.q-next__date strong { font: 600 1.5rem/1 var(--q-font-display); }
.q-booking-row .q-status-pill, .q-next .q-status-pill { margin-left: auto; }

.q-gcs { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.q-gcard { position: relative; overflow: hidden; display: grid; gap: 6px; aspect-ratio: 1.6; padding: 18px; border-radius: 18px; color: #fff; background: radial-gradient(90% 90% at 100% 0%, rgb(201 164 92 / 45%), transparent 60%), linear-gradient(140deg, #2a211c, #4a3326); box-shadow: 0 18px 36px -22px rgb(28 23 20 / 80%); }
.q-gcard--used, .q-gcard--void, .q-gcard--expired { filter: grayscale(.7); opacity: .75; }
.q-gcard__top { display: flex; justify-content: space-between; align-items: center; font: 600 1.1rem/1 var(--q-font-display); color: #e9c77f; }
.q-gcard__bal { align-self: end; font: 600 2rem/1 var(--q-font-display); }
.q-gcard__sub { color: #cdbfaf; font-size: .85rem; }
.q-gcard__foot { display: flex; justify-content: space-between; color: #cdbfaf; font-size: .8rem; letter-spacing: .08em; }

/* Addresses */
.q-addrs { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.q-addr { display: grid; gap: 8px; align-content: start; padding: 16px; border: 1px solid var(--q-line); border-radius: 18px; background: var(--q-surface); }
.q-addr.is-default { border-color: var(--acc); box-shadow: 0 0 0 1px var(--acc); }
.q-addr header { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-family: var(--q-font-display); font-size: 1.1rem; }
.q-addr p { margin: 0; }
.q-addr footer { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 4px; }
.q-link--bad { color: var(--q-bad) !important; }
.q-deliv { margin: 0; padding: 7px 10px; border-radius: 10px; font-size: .85rem; font-weight: 600; }
.q-deliv:empty { display: none; }
.q-deliv.is-yes { background: #e6f1e8; color: #2f6140; }
.q-deliv.is-no { background: #fbeee6; color: #a2401b; }
.q-addr-form { padding: 18px; border: 1px solid var(--q-line); border-radius: 18px; background: var(--q-surface); animation: q-acct-in .3s ease both; }

/* Profile */
.q-acct__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.q-acct__card h3 { margin: 0 0 4px; }
.q-danger { padding: 14px 16px; border: 1px solid #f0d0c6; border-radius: 16px; background: #fffaf8; }
.q-danger summary { cursor: pointer; color: var(--q-bad); font-weight: 700; }
.q-btn--danger { background: var(--q-bad) !important; border-color: var(--q-bad) !important; color: #fff !important; }
.q-empty { display: grid; justify-items: start; gap: 8px; padding: 20px; border: 1px dashed var(--q-line); border-radius: 18px; background: var(--q-surface); }
.q-empty p { margin: 0; color: var(--q-muted); }

.q-acct-toast { position: fixed; left: 50%; bottom: 24px; z-index: 50; max-width: min(92vw, 520px); padding: 12px 18px; border-radius: 14px; background: #2a211c; color: #fff; font-weight: 600; box-shadow: 0 18px 40px -16px rgb(0 0 0 / 60%); transform: translate(-50%, 140%); opacity: 0; transition: transform .3s ease, opacity .3s; }
.q-acct-toast.is-on { transform: translate(-50%, 0); opacity: 1; }
.q-acct-toast.is-bad { background: #8f2a1e; }

@media (max-width: 900px) {
	.q-auth { grid-template-columns: 1fr; }
	.q-auth__side { padding: 26px 24px; }
	.q-auth__side::after { display: none; }
	.q-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.q-quick, .q-acct__cols { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.q-acct__hero { border-radius: 20px; }
	.q-acct__hero .q-clock { width: 100%; }
	.q-acct__nav span { display: none; }
	.q-acct__nav a.is-on span { display: inline; }
	.q-hist summary { flex-wrap: wrap; }
	.q-hist__side { width: 100%; grid-auto-flow: column; justify-content: space-between; }
	.q-stat strong { font-size: 1.6rem; }
}
@media (prefers-reduced-motion: reduce) {
	.q-acct *, .q-acct *::after { animation: none !important; transition: none !important; }
}

/* Popups: confirm-your-email and welcome */
.q-acct-modal { width: min(92vw, 440px); box-sizing: border-box; padding: 30px 28px 24px; border: 0; border-radius: 24px; background: var(--q-surface, #fff); color: var(--q-text, #2a211c); text-align: center; box-shadow: 0 30px 80px -20px rgb(28 23 20 / 55%); }
.q-acct-modal[open] { animation: q-modal-in .35s cubic-bezier(.2,.9,.3,1.2) both; }
.q-acct-modal::backdrop { background: rgb(28 23 20 / 55%); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.q-acct-modal h3 { margin: 10px 0 8px; font-family: var(--q-font-display); font-size: 1.6rem; }
.q-acct-modal p { margin: 0 0 10px; line-height: 1.55; }
.q-acct-modal__icon { display: grid; place-items: center; width: 88px; height: 88px; margin: 0 auto; border-radius: 50%; background: color-mix(in srgb, var(--q-accent, #b5562f) 12%, transparent); color: var(--q-accent, #b5562f); }
.q-acct-modal__icon--ok { background: color-mix(in srgb, var(--q-sage, #5f7055) 16%, transparent); color: var(--q-sage, #5f7055); }
.q-acct-modal__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 16px; }
.q-draw { stroke-dasharray: 200; stroke-dashoffset: 200; animation: q-draw .8s .15s ease-out forwards; }
.q-draw--late { animation-delay: .7s; }
@keyframes q-draw { to { stroke-dashoffset: 0; } }
@keyframes q-modal-in { from { opacity: 0; transform: translateY(14px) scale(.96); } }

/* Gift cards: yours (with the code) and sent */
.q-gcs { grid-template-columns: repeat(auto-fill, minmax(min(100%, 460px), 1fr)); }
.q-gc { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 16px; align-items: start; padding: 14px; border: 1px solid var(--q-line); border-radius: 20px; background: var(--q-surface); }
.q-gc .q-gcard { aspect-ratio: 1.6; gap: 2px; background: linear-gradient(180deg, rgb(28 23 20 / 62%), rgb(28 23 20 / 90%)), var(--art, none) center / cover, radial-gradient(90% 90% at 100% 0%, rgb(201 164 92 / 45%), transparent 60%), linear-gradient(140deg, #2a211c, #4a3326); }
.q-gc__info { display: grid; gap: 10px; min-width: 0; }
.q-gc__code { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 10px 12px; border: 1px dashed var(--q-accent, #b5562f); border-radius: 12px; background: #fffaf6; }
.q-gc__label { width: 100%; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--q-muted); }
.q-gc__code code { flex: 1 1 auto; font: 700 1.05rem/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace; letter-spacing: .08em; color: var(--q-text); background: none; overflow-wrap: anywhere; }
.q-gc__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; margin: 0; }
.q-gc__facts dt { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--q-muted); }
.q-gc__facts dd { margin: 0; }
.q-gc__msg { margin: 0; padding: 8px 12px; border-left: 3px solid var(--q-accent, #b5562f); font-family: var(--q-font-display); font-style: italic; color: var(--q-text); }
.q-sent-gcs { display: grid; gap: 8px; }
.q-sent-gc { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid var(--q-line); border-radius: 16px; background: var(--q-surface); }
@media (max-width: 600px) {
	.q-gc { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .q-draw { animation: none; stroke-dashoffset: 0; } .q-acct-modal[open] { animation: none; } }
.q-gc { grid-template-columns: minmax(0, 240px) minmax(0, 1fr); }
.q-gc .q-gcard__bal { font-size: 1.7rem; }
.q-gc .q-gcard__foot { flex-wrap: wrap; gap: 2px 8px; font-size: .72rem; }
@media (max-width: 600px) { .q-gc { grid-template-columns: 1fr; } }
.q-auth__team { margin: 0; text-align: center; }
