/* Questões 3.4.0 — painel "Meu desempenho". Cores do Questões e do tema VaiConcursos (azul #1e3a8a, ciano #0e7490). */
.qd-root{--qd-blue:#1e3a8a;--qd-blue-dark:#172554;--qd-cyan:#0e7490;--qd-fg:#0f172a;--qd-muted:#475569;--qd-line:#cbd5e1;--qd-soft:#e2e8f0;--qd-tint:#f1f5f9;--qd-ok:#15803d;--qd-ok-bg:#dcfce7;--qd-no:#b91c1c;--qd-no-bg:#fee2e2;
  font:16px/1.5 var(--vc-font-body,system-ui,-apple-system,"Segoe UI",sans-serif);color:var(--qd-fg)}
.qd-root *{box-sizing:border-box}
.qd-root [hidden]{display:none!important}
.qd-root button{font:inherit;cursor:pointer}
.qd-root :is(button,a,section):focus-visible{outline:3px solid var(--qd-cyan);outline-offset:3px}

.qd-fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:9990;display:flex;align-items:center;gap:10px;min-height:56px;margin:0;
  padding:8px 18px 8px 8px;border:0;border-radius:999px;background:var(--qd-blue);color:#fff;box-shadow:0 10px 30px rgba(15,23,42,.28);text-align:left}
.qd-fab:hover{background:var(--qd-blue-dark)}
.qd-ring{width:40px;height:40px;flex-shrink:0}
.qd-ring-bg{stroke:rgba(255,255,255,.25)}.qd-ring-fg{stroke:#fff;transition:stroke-dasharray .4s}
.qd-fab-txt{display:flex;flex-direction:column;line-height:1.15}
.qd-fab-pct{font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums}
.qd-fab-txt small{font-size:.7rem;font-weight:600;opacity:.88;letter-spacing:.05em;text-transform:uppercase}

.qd-panel{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:9991;width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 110px);overflow:auto;
  background:#fff;border:1px solid var(--qd-line);border-radius:16px;box-shadow:0 18px 48px rgba(15,23,42,.2)}
.qd-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--qd-soft)}
.qd-head h2{margin:0;font-family:var(--vc-font-head,inherit);font-size:1.05rem;line-height:1.3;letter-spacing:-.01em;color:var(--qd-blue)}
.qd-where{margin:2px 0 0;font-size:.78rem;color:var(--qd-muted)}
.qd-where a{color:var(--qd-blue);text-underline-offset:.2em}
.qd-root .qd-close{flex-shrink:0;width:36px;height:36px;padding:0;border:1px solid var(--qd-line);border-radius:8px;background:#fff;color:var(--qd-muted);font-size:1.25rem;line-height:1}
.qd-root .qd-close:hover{background:var(--qd-tint)}
.qd-body{display:grid;gap:16px;padding:16px}
.qd-score{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center}
.qd-pct{display:block;font-size:2.4rem;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--qd-blue);font-variant-numeric:tabular-nums}
.qd-big small{display:block;margin-top:6px;font-size:.78rem;font-weight:600;color:var(--qd-muted)}
.qd-bar{display:flex;height:10px;border-radius:99px;background:var(--qd-no-bg);overflow:hidden}
.qd-bar.qd-empty{background:var(--qd-soft)}
.qd-bar i{display:block;background:var(--qd-ok);transition:width .4s}
.qd-legend{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:.8rem;color:var(--qd-muted);font-variant-numeric:tabular-nums}
.qd-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.qd-tile{padding:10px 6px;border-radius:10px;background:var(--qd-tint);text-align:center}
.qd-tile b{display:block;font-size:1.25rem;font-variant-numeric:tabular-nums}
.qd-tile span{font-size:.7rem;color:var(--qd-muted);text-transform:uppercase;letter-spacing:.05em}
.qd-tile.qd-ok b{color:var(--qd-ok)}
.qd-sec h3{margin:0 0 8px;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--qd-muted)}
.qd-dots{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:4px}
.qd-dots i{height:14px;border-radius:3px;background:var(--qd-soft)}
.qd-dots i.qd-r{background:var(--qd-ok)}.qd-dots i.qd-w{background:var(--qd-no)}
.qd-disc{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.qd-disc li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;font-size:.85rem}
.qd-n{min-width:0;overflow-wrap:anywhere}
.qd-p{font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.qd-mini{grid-column:1/-1;height:6px;border-radius:99px;background:var(--qd-no-bg);overflow:hidden}
.qd-mini i{display:block;height:100%;background:var(--qd-ok)}
.qd-disc li.qd-empty-txt{display:block;font-size:.88rem;color:var(--qd-muted)}
.qd-essay-row{display:flex;align-items:baseline;gap:8px;font-size:.85rem;color:var(--qd-muted)}
.qd-essay-pct{font-size:1.15rem;color:var(--qd-blue);font-variant-numeric:tabular-nums}
.qd-essay .qd-mini{display:block;margin-top:6px;background:var(--qd-soft)}.qd-essay .qd-mini i{background:var(--qd-blue)}
.qd-note{margin:0;font-size:.82rem;color:var(--qd-muted)}.qd-note:empty{display:none}
.qd-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-top:1px solid var(--qd-soft);font-size:.78rem;color:var(--qd-muted)}
.qd-foot button{min-height:34px;padding:4px 12px;border:1px solid var(--qd-blue);border-radius:7px;background:var(--qd-blue);color:#fff;font-size:.8rem;font-weight:650}
.qd-foot button.qd-sec-btn{background:#fff;color:var(--qd-blue);border-color:var(--qd-line)}
.qd-foot button:disabled{opacity:.55;cursor:default}
.qd-confirm{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
/* 3.3.0: no celular o botão fica compacto (só o anel e o percentual), para não cobrir o texto das questões,
   e o painel abre como uma folha presa à base da tela. */
@media(max-width:600px){
  .qd-fab{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));min-height:48px;gap:6px;padding:4px 12px 4px 4px;box-shadow:0 6px 18px rgba(15,23,42,.25)}
  .qd-ring{width:38px;height:38px}
  .qd-fab-txt small{display:none}
  .qd-panel{left:0;right:0;bottom:0;width:auto;max-height:min(80vh,620px);border-radius:18px 18px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0px)}
}
@media(prefers-reduced-motion:reduce){.qd-ring-fg,.qd-bar i{transition:none}}
@media print{.qd-root{display:none}}

/* 3.3.0: espaço no fim da página do tema VaiConcursos para o botão não cobrir o rodapé. */
.qd-has-fab .vc-footer-bottom{padding-bottom:76px}
