/* MedQBank Mock Exam — [medqbank_mock_exam] entry (card / button), floating launcher, dashboard history.
   Scoped to .mqbme-entry / .mqbme-launcher so theme and page-builder styles are not affected. */
.mqbme-entry, .mqbme-launcher { --mqbme-navy: #0b2545; --mqbme-navy-2: #13315c; --mqbme-green: #13a86b; --mqbme-green-d: #0e8a57; --mqbme-ink: #0f1f33; --mqbme-muted: #5b6b7f; --mqbme-line: #d8e0ea; --mqbme-gold: #f59e0b; box-sizing: border-box; font-family: inherit; line-height: 1.45; }
.mqbme-entry *, .mqbme-launcher * { box-sizing: border-box; }

/* card */
.mqbme-entry--card, .mqbme-entry--panel { display: flex; align-items: center; gap: 16px; margin: 0 0 24px; padding: 20px 22px; border-radius: 14px; text-align: left; }
.mqbme-entry--card.mqbme-entry--dark { background: linear-gradient(135deg, var(--mqbme-navy) 0%, var(--mqbme-navy-2) 100%); color: #fff; border: 1px solid rgba(255, 255, 255, .08); box-shadow: 0 8px 24px rgba(11, 37, 69, .18); }
.mqbme-entry--card.mqbme-entry--light { background: #fff; color: var(--mqbme-ink); border: 1px solid var(--mqbme-line); box-shadow: 0 4px 16px rgba(15, 31, 51, .06); }
.mqbme-entry-ico { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: rgba(255, 255, 255, .12); }
.mqbme-entry--light .mqbme-entry-ico, .mqbme-entry--panel .mqbme-entry-ico { background: #e8f0fb; }
.mqbme-entry-ico svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mqbme-entry--light .mqbme-entry-ico svg, .mqbme-entry--panel .mqbme-entry-ico svg { stroke: var(--mqbme-navy); }
.mqbme-entry-body { flex: 1; min-width: 0; }
.mqbme-entry-title { display: block; margin: 0 0 2px; font-size: 1.15em; font-weight: 700; letter-spacing: -.01em; color: inherit; }
.mqbme-entry-text { display: block; font-size: .95em; opacity: .85; }
.mqbme-entry--dark .mqbme-entry-text { color: #d5deea; opacity: 1; }
.mqbme-entry-text a { color: inherit; text-decoration: underline; }
.mqbme-entry-tag { display: inline-block; margin-top: 8px; padding: 2px 10px; border-radius: 999px; background: rgba(245, 158, 11, .18); color: #b45309; font-size: .8em; font-weight: 600; }
.mqbme-entry--dark .mqbme-entry-tag { color: #fcd34d; }
.mqbme-entry-act { flex: none; }

/* button (shared) */
.mqbme-entry-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 20px; border: 0; border-radius: 10px; background: var(--mqbme-green); color: #fff !important; font-weight: 700; font-size: 1em; line-height: 1.2; text-decoration: none !important; white-space: nowrap; cursor: pointer; transition: background .15s, transform .15s; }
.mqbme-entry-btn:hover { background: var(--mqbme-green-d); }
.mqbme-entry-btn:active { transform: translateY(1px); }
.mqbme-entry-btn:focus-visible { outline: 3px solid var(--mqbme-gold); outline-offset: 2px; }
.mqbme-entry-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.mqbme-entry-btn.is-busy { opacity: .75; pointer-events: none; }

/* display="button": just the button, aligned */
.mqbme-entry--button { display: block; margin: 0 0 16px; }
.mqbme-entry--button.mqbme-align-center { text-align: center; }
.mqbme-entry--button.mqbme-align-right { text-align: right; }
.mqbme-entry--button.mqbme-align-full .mqbme-entry-btn { display: flex; width: 100%; }
.mqbme-entry--button.mqbme-entry--light .mqbme-entry-btn { background: #fff; color: var(--mqbme-navy) !important; border: 2px solid var(--mqbme-navy); }
.mqbme-entry--button.mqbme-entry--light .mqbme-entry-btn:hover { background: var(--mqbme-navy); color: #fff !important; }
.mqbme-entry--button .mqbme-entry-msg { margin: 0; color: var(--mqbme-muted); }

/* selector (no bank known) */
.mqbme-entry-select { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0; }
.mqbme-entry-select label { margin: 0; }
.mqbme-entry-select select { min-height: 44px; max-width: 100%; padding: 8px 12px; border: 1px solid var(--mqbme-line); border-radius: 10px; background: #fff; color: var(--mqbme-ink); font: inherit; }
.mqbme-entry .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* note only administrators see */
.mqbme-entry-staffnote { margin: 10px 0 0; padding: 8px 10px; border: 1px dashed #f59e0b; border-radius: 8px; background: #fffbeb; color: #78350f; font-size: .85em; }
.mqbme-entry-staffnote a { color: #78350f; text-decoration: underline; }
.mqbme-entry--note { display: block; }

/* launcher panel content */
.mqbme-entry--panel { flex-direction: column; align-items: stretch; gap: 12px; margin: 0; padding: 4px 2px 2px; color: var(--mqbme-ink); }
.mqbme-entry--panel .mqbme-entry-ico { width: 44px; height: 44px; }
.mqbme-entry--panel .mqbme-entry-btn { display: flex; width: 100%; }
.mqbme-entry--panel .mqbme-entry-select { flex-direction: column; align-items: stretch; }
.mqbme-entry--panel .mqbme-entry-select select { width: 100%; }

@media (max-width: 640px) {
  .mqbme-entry--card { flex-wrap: wrap; padding: 18px; }
  .mqbme-entry--card .mqbme-entry-act { width: 100%; }
  .mqbme-entry--card .mqbme-entry-btn, .mqbme-entry--card .mqbme-entry-select { width: 100%; }
  .mqbme-entry--card .mqbme-entry-select select, .mqbme-entry--card .mqbme-entry-select .mqbme-entry-btn { flex: 1 1 100%; width: 100%; }
}

/* floating launcher (optional) */
.mqbme-launcher { position: fixed; z-index: 9990; right: calc(var(--mqbme-lx, 24px) + env(safe-area-inset-right, 0px)); }
.mqbme-launcher--bottom-right { bottom: calc(var(--mqbme-ly, 24px) + env(safe-area-inset-bottom, 0px)); }
.mqbme-launcher--top-right { top: calc(var(--mqbme-ly, 24px) + env(safe-area-inset-top, 0px)); }
.admin-bar .mqbme-launcher--top-right { top: calc(var(--mqbme-ly, 24px) + 32px); }
.mqbme-launcher-btn { display: inline-flex; align-items: center; gap: 8px; height: 52px; padding: 0 18px 0 14px; border: 0; border-radius: 999px; background: var(--mqbme-navy); color: #fff; font: inherit; font-weight: 700; box-shadow: 0 10px 28px rgba(11, 37, 69, .32); cursor: pointer; }
.mqbme-launcher-btn:hover { background: var(--mqbme-navy-2); }
.mqbme-launcher-btn:focus-visible { outline: 3px solid var(--mqbme-gold); outline-offset: 3px; }
.mqbme-launcher-btn svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; }
.mqbme-launcher-panel { position: absolute; right: 0; width: min(340px, calc(100vw - 32px)); padding: 18px; border-radius: 16px; background: #fff; color: var(--mqbme-ink); border: 1px solid var(--mqbme-line); box-shadow: 0 18px 48px rgba(15, 31, 51, .22); }
.mqbme-launcher--bottom-right .mqbme-launcher-panel { bottom: 64px; }
.mqbme-launcher--top-right .mqbme-launcher-panel { top: 64px; }
.mqbme-launcher-panel[hidden] { display: none !important; }
.mqbme-launcher-close { position: absolute; top: 8px; right: 8px; width: 32px; height: 32px; border: 0; border-radius: 8px; background: transparent; color: var(--mqbme-muted); font-size: 22px; line-height: 1; cursor: pointer; }
.mqbme-launcher-close:hover { background: #f1f4f8; }
.mqbme-launcher .mqbme-entry-title { padding-right: 28px; }
.mqbme-launcher-err { margin: 0; color: #b42318; }
@media (max-width: 782px) {
  .admin-bar .mqbme-launcher--top-right { top: calc(var(--mqbme-ly, 24px) + 46px); }
}
@media (max-width: 640px) {
  .mqbme-launcher { right: calc(16px + env(safe-area-inset-right, 0px)); }
  .mqbme-launcher--bottom-right { bottom: calc(var(--mqbme-lym, 88px) + env(safe-area-inset-bottom, 0px)); }
  .mqbme-launcher-btn { width: 52px; padding: 0; justify-content: center; }
  .mqbme-launcher-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
  .mqbme-launcher--hide-mobile { display: none !important; }
}
@media (prefers-reduced-motion: reduce) { .mqbme-entry-btn { transition: none; } }

/* dashboard history */
.mqbme-history-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.mqbme-history-table th, .mqbme-history-table td { padding: 10px 8px; border-bottom: 1px solid #e5e9ef; text-align: left; }
.mqbme-history-table th { color: #5b6b7f; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.mqbme-history-empty { color: #5b6b7f; }
/* The launcher panel is always light, whatever theme the card defaults to. */
.mqbme-launcher .mqbme-entry--panel, .mqbme-launcher .mqbme-entry--panel .mqbme-entry-title { color: var(--mqbme-ink); }
.mqbme-launcher .mqbme-entry--panel .mqbme-entry-text { color: var(--mqbme-muted); opacity: 1; font-size: .95em; }
.mqbme-launcher .mqbme-entry--panel .mqbme-entry-tag { color: #b45309; }
