/*
 * QGabarito Visual V2 — Compacto Sóbrio
 * 2026-09-14
 *
 * Fonte visual exclusiva: protótipo aprovado gemini-code-1789404134673(1).html.
 * Princípios: fundo #f6f7f9; superfícies brancas; linhas finas; texto quase
 * preto; azul institucional apenas para ação/ligação; sem sombras decorativas;
 * raios pequenos; cor semafórica apenas quando comunica estado/desempenho.
 *
 * Esta camada é deliberadamente carregada por último no <head>. Ela altera
 * apenas apresentação e não redefine regras de negócio, permissões ou estado.
 */

:root {
    --qgv2-bg: #f6f7f9;
    --qgv2-surface: #ffffff;
    --qgv2-surface-soft: #fafafa;
    --qgv2-text: #111318;
    --qgv2-text-2: #444b55;
    --qgv2-muted: #747c87;
    --qgv2-line: #d9dde3;
    --qgv2-line-soft: #e8eaed;
    --qgv2-blue: #0a4d96;
    --qgv2-blue-hover: #073d77;
    --qgv2-score-low: #b91c1c;
    --qgv2-score-high: #15803d;
    --qgv2-score-mid: #1e293b;
    --qgv2-radius-control: 4px;
    --qgv2-radius-surface: 4px;
    --qgv2-max: 1220px;

    /* Convergência dos tokens legados para o contrato aprovado. */
    --bg: var(--qgv2-bg);
    --surface: var(--qgv2-surface);
    --text: var(--qgv2-text);
    --muted: var(--qgv2-muted);
    --border: var(--qgv2-line);
    --brand: var(--qgv2-blue);
    --brand-hover: var(--qgv2-blue-hover);
    --ok: var(--qgv2-score-high);
    --bad: var(--qgv2-score-low);
    --warn: #8a4b08;
    --ok-bg: #f5faf6;
    --bad-bg: #fdf7f7;
    --warn-bg: #fdfaf4;

    --color-page: var(--qgv2-bg);
    --color-surface: var(--qgv2-surface);
    --color-surface-soft: var(--qgv2-surface-soft);
    --color-text: var(--qgv2-text);
    --color-text-muted: var(--qgv2-muted);
    --color-border: var(--qgv2-line);
    --color-primary: var(--qgv2-blue);
    --color-success: var(--qgv2-score-high);
    --color-danger: var(--qgv2-score-low);

    --critical-navy: var(--qgv2-text);
    --critical-text: var(--qgv2-text);
    --critical-muted: var(--qgv2-muted);
    --critical-border: var(--qgv2-line);
    --critical-soft: var(--qgv2-surface-soft);

    --editor-text: var(--qgv2-text);
    --editor-label: var(--qgv2-text-2);
    --editor-muted: var(--qgv2-muted);
    --editor-surface: var(--qgv2-surface);
    --editor-border: var(--qgv2-line);
    --editor-brand: var(--qgv2-blue);

    /* Shell global padronizado: 80 px em todas as páginas aplicáveis. */
    --qgs-topbar-height: 80px;
    --qgs-logo-width: 132px;
    --qgs-page: var(--qgv2-bg);
    --qgs-surface: var(--qgv2-surface);
    --qgs-surface-soft: var(--qgv2-surface-soft);
    --qgs-footer: var(--qgv2-surface);
    --qgs-text-strong: var(--qgv2-text);
    --qgs-text: var(--qgv2-muted);
    --qgs-nav: var(--qgv2-text-2);
    --qgs-line: var(--qgv2-line);
    --qgs-line-strong: var(--qgv2-line);
    --qgs-logo-primary: #0d3f75;
    --qgs-logo-muted: #8f9baa;
    --qgs-primary: var(--qgv2-blue);
    --qgs-primary-hover: var(--qgv2-blue-hover);
    --qgs-primary-soft: var(--qgv2-surface-soft);
    --qgs-primary-soft-hover: #f3f4f6;
    --qgs-primary-soft-border: var(--qgv2-line);
    --qgs-shadow: 0 10px 28px rgba(17, 19, 24, .12);
}

/* Tema escuro preserva a mesma linguagem: preto/grafite, cinza, branco e azul. */
html[data-theme="dark"] {
    --qgv2-bg: #111318;
    --qgv2-surface: #181b20;
    --qgv2-surface-soft: #1e2228;
    --qgv2-text: #f4f5f7;
    --qgv2-text-2: #d2d6dc;
    --qgv2-muted: #9aa2ad;
    --qgv2-line: #30343a;
    --qgv2-line-soft: #262a30;
    --qgv2-blue: #72a9df;
    --qgv2-blue-hover: #8ab9e7;
    --qgv2-score-low: #ef7777;
    --qgv2-score-high: #63bd7d;
    --qgv2-score-mid: #d7dbe1;

    --bg: var(--qgv2-bg);
    --surface: var(--qgv2-surface);
    --text: var(--qgv2-text);
    --muted: var(--qgv2-muted);
    --border: var(--qgv2-line);
    --brand: var(--qgv2-blue);
    --brand-hover: var(--qgv2-blue-hover);
    --ok: var(--qgv2-score-high);
    --bad: var(--qgv2-score-low);
    --ok-bg: #17231b;
    --bad-bg: #271919;
    --warn-bg: #292116;

    --qgs-page: var(--qgv2-bg);
    --qgs-surface: var(--qgv2-surface);
    --qgs-surface-soft: var(--qgv2-surface-soft);
    --qgs-footer: var(--qgv2-surface);
    --qgs-text-strong: var(--qgv2-text);
    --qgs-text: var(--qgv2-muted);
    --qgs-nav: var(--qgv2-text-2);
    --qgs-line: var(--qgv2-line);
    --qgs-line-strong: var(--qgv2-line);
    --qgs-logo-primary: #d8e8f8;
    --qgs-logo-muted: #6c7785;
    --qgs-primary: var(--qgv2-blue);
    --qgs-primary-hover: var(--qgv2-blue-hover);
    --qgs-primary-soft: var(--qgv2-surface-soft);
    --qgs-primary-soft-hover: #252a31;
    --qgs-primary-soft-border: var(--qgv2-line);
    --qgs-shadow: 0 12px 30px rgba(0, 0, 0, .30);
}

/* ============================================================
   BASE GLOBAL
   ============================================================ */
html,
body {
    background: var(--qgv2-bg) !important;
    color: var(--qgv2-text) !important;
}

body {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    line-height: 1.4 !important;
    -webkit-font-smoothing: antialiased;
}

a { color: var(--qgv2-blue); }
a:hover { color: var(--qgv2-blue-hover); }

.page-shell,
.users-page-shell,
.professor-page-shell,
.editor-page-shell,
.moderator-page-shell,
.import-page-shell,
.support-page-shell,
.dup-page-shell,
.editorial-page-shell,
.taxonomy-page-shell,
.permalink-page-shell,
.critical-page-shell,
.admin-page-shell,
.admin-logs-page-shell,
.personal-stats-page-shell {
    width: min(calc(100% - 32px), var(--qgv2-max)) !important;
    max-width: var(--qgv2-max) !important;
    margin-inline: auto !important;
    padding-top: 22px !important;
    padding-bottom: 56px !important;
}

/* Títulos compactos e editoriais, como no arquivo de referência. */
body > main h1 {
    color: var(--qgv2-text);
    font-size: 25px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -.035em;
}
body > main h2 {
    color: var(--qgv2-text);
    font-size: 14.5px;
    line-height: 1.28;
    font-weight: 700;
}
body > main h3 {
    color: var(--qgv2-text);
    font-size: 13.5px;
    line-height: 1.3;
    font-weight: 700;
}
body > main p,
body > main li,
body > main dd,
body > main td {
    color: var(--qgv2-text-2);
}

.breadcrumb,
.breadcrumb.qg-breadcrumb-trail,
nav.qg-breadcrumb-trail {
    gap: 7px !important;
    margin-bottom: 14px !important;
    color: var(--qgv2-muted) !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
}
.breadcrumb strong,
.breadcrumb [aria-current="page"],
.qg-breadcrumb-current {
    color: var(--qgv2-text) !important;
    font-weight: 600 !important;
}

/* ============================================================
   SUPERFÍCIES — SEM CARD-ITIS
   ============================================================ */
.card {
    background: var(--qgv2-surface) !important;
    border: 1px solid var(--qgv2-line) !important;
    border-radius: var(--qgv2-radius-surface) !important;
    box-shadow: none !important;
    padding: 16px 17px !important;
    margin-bottom: 14px !important;
}

/* Qualquer família explicitamente denominada card/panel/hero deixa de usar
   sombras decorativas e cantos excessivamente arredondados. */
:where(
    [class$="-card"], [class*="-card "], [class*=" card-"],
    [class$="-panel"], [class*="-panel "], [class*=" panel-"],
    [class$="-hero"], [class*="-hero "], [class*=" hero-"]
) {
    box-shadow: none !important;
    border-radius: var(--qgv2-radius-surface) !important;
}

/* Heróis de página viram cabeçalho editorial: sem caixa flutuante. */
:where(
    .personal-stats-hero,
    .myq-hero,
    .dup-hero,
    .dup-detail-hero,
    .critical-hero,
    .editorial-hero,
    .editorial-detail-hero,
    .taxonomy-hero,
    .permalink-hero,
    .never-hero,
    .wrong-hero,
    .adaptive-hero,
    .temporal-hero,
    .study-plan-hero,
    .study-sessions-hero,
    .syllabus-hero,
    .target-hero,
    .moderation-hero,
    .moderator-case-hero,
    .reports-hero,
    .subscription-hero,
    .support-hero,
    .import-hero,
    .import-batch-hero,
    .editor-question-hero
) {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 2px solid var(--qgv2-text) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 20px 0 !important;
}

.qg-home-hero-copy {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 2px solid var(--qgv2-text) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Grids de métricas tornam-se uma superfície única com divisores internos. */
:where(
    .personal-stats-summary-grid,
    .users-summary-grid,
    .myq-summary-grid,
    .pdf-summary-grid,
    .identity-summary-grid
) {
    gap: 0 !important;
    background: var(--qgv2-surface) !important;
    border: 1px solid var(--qgv2-line) !important;
    border-radius: 0 !important;
    overflow: hidden;
}
:where(
    .personal-stats-summary-grid,
    .users-summary-grid,
    .myq-summary-grid,
    .pdf-summary-grid,
    .identity-summary-grid
) > * {
    margin: 0 !important;
    border: 0 !important;
    border-right: 1px solid var(--qgv2-line-soft) !important;
    border-bottom: 1px solid var(--qgv2-line-soft) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ============================================================
   FORMULÁRIOS E CONTROLES
   ============================================================ */
body > main :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
    select,
    textarea
) {
    border-color: var(--qgv2-line) !important;
    border-radius: 3px !important;
    background: var(--qgv2-surface) !important;
    color: var(--qgv2-text) !important;
    box-shadow: none;
}
body > main :where(input, select, textarea)::placeholder {
    color: #9198a1;
}
body > main label {
    color: var(--qgv2-text-2);
}

/* Botões: cantos pequenos e nenhuma sombra. */
:where(
    .primary-button,
    .secondary-button,
    .danger-button,
    .danger-outline-button,
    .small-action-button,
    .secondary-action-button,
    .editor-primary-button,
    .editor-secondary-button,
    .import-primary-button,
    .critical-secondary-button,
    .support-btn,
    .sim-nav-button,
    .study-sessions-button-link,
    .temporal-button-link,
    .personal-stats-button-link,
    [class$="-button"], [class*="-button "]
) {
    border-radius: var(--qgv2-radius-control) !important;
    box-shadow: none !important;
    transform: none !important;
}

:where(.primary-button, .editor-primary-button, .import-primary-button) {
    background: var(--qgv2-blue) !important;
    border-color: var(--qgv2-blue) !important;
    color: #fff !important;
    font-weight: 600 !important;
}
:where(.primary-button, .editor-primary-button, .import-primary-button):hover {
    background: var(--qgv2-blue-hover) !important;
    border-color: var(--qgv2-blue-hover) !important;
}
:where(.secondary-button, .editor-secondary-button, .critical-secondary-button) {
    background: var(--qgv2-surface) !important;
    border-color: var(--qgv2-line) !important;
    color: var(--qgv2-text) !important;
    font-weight: 600 !important;
}

/* Pills decorativas perdem o formato cápsula. Contadores circulares do shell
   são restaurados em regra específica mais abaixo. */
:where(
    .badge,
    [class$="-badge"], [class*="-badge "],
    [class$="-chip"], [class*="-chip "],
    [class$="-pill"], [class*="-pill "]
) {
    border-radius: 3px !important;
    box-shadow: none !important;
}

/* Tabelas densas e lineares. */
body > main table {
    border-collapse: collapse !important;
    background: var(--qgv2-surface) !important;
    color: var(--qgv2-text) !important;
}
body > main :where(th, td) {
    border-color: var(--qgv2-line-soft) !important;
}
body > main th {
    background: var(--qgv2-surface-soft) !important;
    color: var(--qgv2-muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
}

/* Barras de progresso seguem a leitura semafórica sóbria do arquivo-base. */
:where(
    .personal-performance-track,
    .temporal-bar,
    .progress-track,
    .progress-bar,
    [class$="-progress-track"], [class*="-progress-track "]
) {
    border-radius: 3px !important;
    box-shadow: none !important;
}

/* ============================================================
   QUESTÕES E ESTUDO — CONTEÚDO É O PROTAGONISTA
   ============================================================ */
.option {
    border-color: var(--qgv2-line) !important;
    border-radius: 4px !important;
    background: var(--qgv2-surface) !important;
    box-shadow: none !important;
}
.option:hover { border-color: #aeb5be !important; }
.option-correct,
.option.is-correct {
    border-color: var(--qgv2-score-high) !important;
    background: color-mix(in srgb, var(--qgv2-score-high) 5%, var(--qgv2-surface)) !important;
}
.option-wrong,
.option.is-wrong {
    border-color: var(--qgv2-score-low) !important;
    background: color-mix(in srgb, var(--qgv2-score-low) 5%, var(--qgv2-surface)) !important;
}
.result-correct,
.is-correct .score,
.score.high { color: var(--qgv2-score-high) !important; }
.result-wrong,
.is-wrong .score,
.score.low { color: var(--qgv2-score-low) !important; }
.score.mid { color: var(--qgv2-score-mid) !important; }

/* ============================================================
   ESTATÍSTICAS — MAPEAMENTO DIRETO DO ARQUIVO APROVADO
   ============================================================ */
.personal-stats-page-shell {
    width: min(calc(100% - 32px), var(--qgv2-max)) !important;
}
.personal-stats-hero {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 26px !important;
}
.personal-stats-kicker,
.personal-weak-kicker {
    color: #59616c !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}
.personal-stats-hero h1 { font-size: 25px !important; }
.personal-stats-hero p { margin-top: 6px !important; color: #626a75 !important; font-size: 13px !important; }
.personal-stats-hero-note {
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: right !important;
    color: #69717c !important;
    font-size: 11px !important;
}
.personal-stats-hero-note strong {
    display: block !important;
    color: var(--qgv2-text) !important;
    font-size: 26px !important;
    line-height: 1 !important;
    letter-spacing: -.04em !important;
}
.personal-stats-section { margin-top: 24px !important; }
.personal-stats-heading { margin-bottom: 10px !important; }
.personal-stats-heading h2 { font-size: 14.5px !important; }
.personal-stats-heading p { margin-top: 3px !important; color: var(--qgv2-muted) !important; font-size: 12px !important; }

.personal-stats-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.personal-summary-card {
    min-height: 90px !important;
    padding: 16px 17px !important;
    background: var(--qgv2-surface) !important;
}
.personal-summary-label {
    color: var(--qgv2-muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}
.personal-summary-card > strong {
    margin-top: 7px !important;
    color: var(--qgv2-text) !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: -.035em !important;
}
.personal-summary-help { margin-top: 7px !important; color: #838a94 !important; font-size: 11.5px !important; }
.personal-summary-card.is-correct > strong { color: var(--qgv2-score-high) !important; }
.personal-summary-card.is-wrong > strong { color: var(--qgv2-score-low) !important; }

.personal-activity-card,
.personal-analytics-links,
.personal-weak-card,
.personal-stats-footer-card {
    background: var(--qgv2-surface) !important;
    border: 1px solid var(--qgv2-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.personal-activity-grid > div {
    border-color: var(--qgv2-line-soft) !important;
}
.personal-stats-method-note {
    border-left: 3px solid #94a3b8 !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .70) !important;
    color: #64748b !important;
    box-shadow: none !important;
}
html[data-theme="dark"] .personal-stats-method-note {
    background: rgba(24, 27, 32, .82) !important;
    color: var(--qgv2-muted) !important;
}
.personal-weak-grid {
    gap: 0 !important;
    border: 1px solid var(--qgv2-line) !important;
    background: var(--qgv2-surface) !important;
}
.personal-weak-item {
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--qgv2-line-soft) !important;
    border-radius: 0 !important;
    background: var(--qgv2-surface) !important;
    box-shadow: none !important;
}
.personal-weak-item:last-child { border-bottom: 0 !important; }
.personal-weak-priority,
.personal-sample-badge {
    border-radius: 3px !important;
    background: transparent !important;
    padding-inline: 0 !important;
}
.personal-performance-track {
    height: 5px !important;
    background: #eef0f2 !important;
    border-radius: 3px !important;
    overflow: hidden;
}
.personal-performance-track > span { border-radius: 3px !important; }
.personal-stats-breakdown-grid,
.personal-stats-breakdowns,
.personal-breakdown-grid {
    gap: 20px !important;
}

/* ============================================================
   NAVEGAÇÃO GLOBAL — 80 PX E SEM DECORAÇÃO DESNECESSÁRIA
   ============================================================ */
.qg-global-shell {
    height: 80px !important;
    background: var(--qgv2-surface) !important;
    border-bottom-color: var(--qgv2-line) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.qg-global-shell__inner {
    width: min(calc(100% - 32px), var(--qgv2-max)) !important;
    gap: 26px !important;
}
.qg-shell-brand-logo { width: 132px !important; }
.qg-shell-public-nav { gap: 20px !important; }
.qg-shell-public-nav a { font-size: 12px !important; font-weight: 600 !important; }

.qg-shell-modules-button,
.qg-shell-account-button {
    min-height: 36px !important;
    height: 36px !important;
    gap: 8px !important;
    border-color: var(--qgv2-line) !important;
    border-radius: 6px !important;
    background: var(--qgv2-surface) !important;
    color: var(--qgv2-text) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}
.qg-shell-modules-button { padding: 0 12px !important; }
.qg-shell-button-icon { width: 15px !important; height: 15px !important; }
.qg-shell-chevron { width: 13px !important; height: 13px !important; }

.qg-shell-runtime-tools.theme-preference-row--global { gap: 6px !important; }
.qg-shell-runtime-tools .qg-message-bell,
.qg-shell-runtime-tools .qg-notification-bell,
.qg-shell-runtime-tools .theme-preference > summary,
.qg-shell-runtime-tools .qg-theme-toggle {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    border-color: var(--qgv2-line) !important;
    border-radius: 6px !important;
    background: var(--qgv2-surface) !important;
    color: #56606d !important;
    box-shadow: none !important;
}
.qg-shell-runtime-tools .qg-message-bell-icon,
.qg-shell-runtime-tools .qg-notification-bell-icon,
.qg-shell-runtime-tools .theme-preference-summary-icon,
.qg-shell-runtime-tools .qg-theme-toggle-icon,
.qg-shell-runtime-tools .qg-message-bell-icon svg,
.qg-shell-runtime-tools .qg-notification-bell-icon svg,
.qg-shell-runtime-tools .theme-preference-summary-icon svg,
.qg-shell-runtime-tools .qg-theme-toggle-icon svg {
    width: 15px !important;
    height: 15px !important;
}
.qg-shell-account-button { padding: 0 10px 0 8px !important; max-width: 230px !important; }
.qg-shell-avatar {
    width: 22px !important;
    height: 22px !important;
    background: #f2f4f6 !important;
    color: #334155 !important;
    font-size: 9px !important;
}
html[data-theme="dark"] .qg-shell-avatar {
    background: var(--qgv2-surface-soft) !important;
    color: var(--qgv2-text-2) !important;
}

/* Contadores de sino continuam circulares por função, não decoração. */
.qg-shell-runtime-tools .qg-message-badge,
.qg-shell-runtime-tools .qg-notification-badge {
    border-radius: 9px !important;
}

/* Menus e modais são sobreposições reais: sombra leve é intencional. */
.qg-shell-menu-panel,
.qg-shell-account-panel {
    top: calc(100% + 8px) !important;
    border-color: var(--qgv2-line) !important;
    border-radius: 6px !important;
    background: var(--qgv2-surface) !important;
    box-shadow: var(--qgs-shadow) !important;
}
.qg-shell-menu-panel { padding: 16px !important; }
.qg-shell-module-link,
.qg-shell-account-links a,
.qg-shell-logout-form .qg-shell-logout {
    border-radius: 4px !important;
}
.qg-shell-module-link { padding: 9px 10px !important; }
.qg-shell-module-link strong { font-size: 13px !important; }
.qg-shell-module-link span { font-size: 11px !important; }
.qg-shell-account-head strong { font-size: 12.5px !important; }
.qg-shell-account-head span,
.qg-shell-account-links a,
.qg-shell-logout-form .qg-shell-logout { font-size: 11.5px !important; }

/* QG_FOOTER_HOME_HEIGHT_V1
   Rodapé global com a mesma presença vertical e hierarquia da Home pública. */
.qg-global-footer {
    background: var(--qgv2-surface) !important;
    border-top-color: var(--qgv2-line) !important;
}
.qg-global-footer__inner,
.qg-global-footer__bottom {
    width: min(calc(100% - 48px), var(--qgv2-max)) !important;
}
.qg-global-footer__inner {
    padding: 34px 0 28px !important;
    gap: 28px !important;
}
.qg-shell-brand--footer .qg-shell-brand-logo { width: 170px !important; }
.qg-global-footer__brand p,
.qg-global-footer__nav a { font-size: 14px !important; }
.qg-global-footer__bottom {
    padding: 18px 0 24px !important;
    font-size: 13px !important;
}

/* ============================================================
   NAVEGAÇÃO LOCAL E FEEDBACK
   ============================================================ */
.qg-global-backnav-link,
.qg-page-local-tools > a,
.qg-primary-modules,
.qg-primary-module-link,
.qg-secondary-module-link {
    border-radius: 4px !important;
    box-shadow: none !important;
}
.qg-primary-modules {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--qgv2-line) !important;
}
.qg-primary-module-link {
    min-height: 34px !important;
    padding: 6px 10px !important;
}
.qg-secondary-module-link {
    border-radius: 3px !important;
    background: transparent !important;
}
.qg-page-local-context .question-id { border-radius: 3px !important; }

/* Alerts informam por borda/texto; não viram grandes blocos coloridos. */
.alert,
.import-alert,
.support-alert,
.critical-alert,
.adaptive-alert,
.review-alert,
.study-alert,
.legislative-alert,
.taxonomy-alert,
.permalink-alert,
.new-question-alert {
    border-radius: 4px !important;
    box-shadow: none !important;
}

/* Toasters e diálogos continuam elevados por serem camadas temporárias. */
:where(
    .comment-feedback,
    .social-feedback-toast,
    .social4-toast,
    .problem-toast,
    .repeat-toast,
    .qg-library-toast,
    .keyboard-shortcut-toast,
    .qg-community-feedback
) {
    border-radius: 6px !important;
}
:where(
    .qg-confirm-dialog,
    .qg-user-response-dialog,
    .qg-auth-dialog,
    .qg-flashcard-dialog,
    .qg-library-dialog
) {
    border-radius: 8px !important;
}

/* Home: mesma sobriedade, sem sombras nos módulos. */
.qg-home-study-card,
.qg-home-final-card,
.qg-home-module-card,
.qg-home-tool-card {
    border-color: var(--qgv2-line) !important;
    border-radius: 4px !important;
    background: var(--qgv2-surface) !important;
    box-shadow: none !important;
    transform: none !important;
}

/* ============================================================
   RESPONSIVIDADE DO CONTRATO
   ============================================================ */
@media (max-width: 900px) {
    .qg-global-shell__inner,
    .qg-global-footer__inner,
    .qg-global-footer__bottom,
    .page-shell,
    .users-page-shell,
    .professor-page-shell,
    .editor-page-shell,
    .moderator-page-shell,
    .import-page-shell,
    .support-page-shell,
    .dup-page-shell,
    .editorial-page-shell,
    .taxonomy-page-shell,
    .permalink-page-shell,
    .critical-page-shell,
    .admin-page-shell,
    .admin-logs-page-shell,
    .personal-stats-page-shell {
        width: min(calc(100% - 28px), var(--qgv2-max)) !important;
    }
    .qg-global-shell__inner { gap: 14px !important; }
    .qg-shell-brand-logo { width: 118px !important; }
    .personal-stats-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 680px) {
    .qg-global-shell { height: 80px !important; }
    .qg-shell-menu-panel,
    .qg-shell-account-panel { top: 86px !important; max-height: calc(100vh - 100px) !important; }
    body > main h1 { font-size: 23px !important; }
    .personal-stats-summary-grid { grid-template-columns: 1fr !important; }
    .personal-stats-hero { align-items: flex-start !important; flex-direction: column !important; }
    .personal-stats-hero-note { text-align: left !important; }
    .qg-shell-account-name { display: none !important; }
}



/* QG_TOPNAV_DISTRIBUIDA_V1 — shell ocupa a largura da viewport; conteúdo das páginas continua centralizado. */
.qg-global-shell__inner {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    gap: 14px !important;
}
.qg-shell-primary-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-evenly !important;
    gap: 4px !important;
}
.qg-shell-top-link {
    min-height: 34px !important;
    padding: 0 10px !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: var(--qgv2-text-2) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}
.qg-shell-top-link:hover,
.qg-shell-top-link:focus-visible,
.qg-shell-top-link.is-active,
.qg-shell-top-link[aria-current="page"] {
    color: var(--qgv2-blue) !important;
    background: var(--qgv2-surface-soft) !important;
    border-color: var(--qgv2-line) !important;
}
.qg-shell-auth-actions { margin-left: auto !important; flex: 0 0 auto !important; }
.qg-shell-mobile-nav { display: none !important; }
.qg-shell-mobile-nav > summary {
    min-height: 36px !important;
    border-radius: 6px !important;
    border-color: var(--qgv2-line) !important;
    background: var(--qgv2-surface) !important;
    color: var(--qgv2-text) !important;
    box-shadow: none !important;
}
.qg-shell-mobile-nav > nav {
    border-radius: 8px !important;
    border-color: var(--qgv2-line) !important;
    background: var(--qgv2-surface) !important;
}
@media (max-width: 1080px) {
    .qg-shell-primary-nav { display: none !important; }
    .qg-shell-mobile-nav { display: block !important; }
}
@media (max-width: 680px) {
    .qg-global-shell__inner {
        width: calc(100% - 20px) !important;
        margin-left: 10px !important;
        margin-right: 10px !important;
        gap: 8px !important;
    }
}

@media print {
    /* A camada não interfere com folhas de prova/impressão. */
    .qg-global-shell,
    .qg-global-footer,
    .qg-global-backnav { display: none !important; }
    body { background: #fff !important; color: #000 !important; }
}
