
.qflags { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -6px 0 2px; padding: 0 2px; }
.qf-lead { font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase; color: #64748b; margin-right: 2px; white-space: nowrap; }
.qf-lead b { color: #1e40af; font-weight: 700; }
.qf-chip { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; padding: 7px 12px 7px 10px; border: 1px solid #dbe4f0; border-radius: 999px; background: #fff; color: #0f172a; font: inherit; font-size: 13px; line-height: 1.25; text-align: left; cursor: pointer; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); transition: border-color .15s, background .15s; }
.qf-chip::before { content: "?"; flex: none; width: 18px; height: 18px; border-radius: 50%; background: #eff6ff; color: #2563eb; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.qf-chip:hover { border-color: #93c5fd; background: #f8fbff; }
.qf-q { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 640px) { .qflags { gap: 6px; } .qf-chip { font-size: 12.5px; padding: 6px 10px 6px 8px; } .qf-q { white-space: normal; } }


.qf-wrap { position: fixed; inset: 0; z-index: 9000; display: flex; align-items: center; justify-content: center; }
.qf-bg { position: absolute; inset: 0; background: rgba(15, 23, 42, .42); }
.qf-sheet { position: relative; width: min(520px, calc(100% - 32px)); max-height: min(80vh, 640px); overflow: auto; background: #fff; border-radius: 16px; padding: 22px 22px 18px; box-shadow: 0 24px 60px rgba(15, 23, 42, .28); }
.qf-x { position: absolute; top: 10px; right: 12px; width: 32px; height: 32px; border: 0; background: #f1f5f9; border-radius: 50%; font-size: 20px; line-height: 1; color: #475569; cursor: pointer; }
.qf-kicker { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #2563eb; font-weight: 700; margin-bottom: 6px; }
.qf-sheet h3 { margin: 0 32px 10px 0; font-size: 18px; line-height: 1.3; color: #0f172a; }
.qf-a p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.55; color: #1e293b; }
.qf-acts { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.qf-btn { flex: 1 1 auto; padding: 10px 14px; border-radius: 10px; border: 1px solid #cbd5e1; background: #fff; color: #0f172a; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.qf-btn.primary { background: #2563eb; border-color: #2563eb; color: #fff; }
.qf-foot { margin-top: 12px; font-size: 11.5px; line-height: 1.45; color: #64748b; }
body.qf-open { overflow: hidden; }
@media (max-width: 640px) { .qf-wrap { align-items: flex-end; } .qf-sheet { width: 100%; max-height: 86vh; border-radius: 18px 18px 0 0; padding: 18px 16px calc(16px + env(safe-area-inset-bottom)); } }
