.gs-janela { left: 20px; top: 24px; width: 1160px; height: 752px; }
.gs-janela .app-corpo { flex: 1; min-height: 0; padding: 12px; }

.dor-fundo { position: absolute; inset: 0; }
.dor-fundo .ficticio { left: 40px; bottom: 16px; }
.dor-fonte { position: absolute; width: 314px; height: 150px; display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 20px 22px; background: var(--branco); border: 1px solid var(--ui-borda); border-radius: 12px; box-shadow: var(--sombra-curta); }
.dor-fonte b { font: 700 21px/1.2 var(--fonte-display); color: var(--verde-profundo); }
.dor-fonte span { font-size: 16px; line-height: 1.35; color: var(--texto-secundario); }
.dor-pergunta { position: absolute; left: 372px; top: 310px; width: 456px; text-align: center; font: 800 44px/1.15 var(--fonte-display); color: var(--branco); }
.dor-painel { position: absolute; left: 60px; top: 76px; width: 1080px; height: 690px; display: flex; flex-direction: column; align-items: center; padding: 42px 44px; background: var(--branco); border-radius: 16px; box-shadow: var(--sombra-curta); }
.dor-painel img { width: 190px; height: auto; }
.dor-painel-tit { margin-top: 26px; font: 800 38px/1.15 var(--fonte-display); color: var(--verde-profundo); }
.dor-painel-sub { margin-top: 10px; max-width: 700px; text-align: center; font-size: 18px; line-height: 1.45; color: var(--texto-secundario); }
.dor-respostas { flex: 1; min-height: 0; width: 100%; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 22px; }
.dor-resp { display: flex; flex-direction: column; gap: 7px; min-width: 0; padding: 15px; background: var(--ui-zebra); border: 1px solid var(--ui-borda); border-radius: 12px; }
.dor-resp span { font-size: 14px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--verde-sispeq); }
.dor-graf { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; }
.dor-graf .gf-bh-linha { grid-template-columns: 62px 1fr 34px; gap: 6px; font-size: 11px; }
.dor-graf .gf-bh-rot, .dor-graf .gf-bh-linha b { font-size: 11px; text-transform: none; letter-spacing: 0; }
.dor-resp > b { font: 800 29px/1.1 var(--fonte-display); color: var(--grafite); white-space: nowrap; }
.dor-resp small { font-size: 13.5px; line-height: 1.35; color: var(--texto-secundario); }

.qc-grade { height: 100%; display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr); gap: 10px; }
.qc-cartao { display: flex; flex-direction: column; gap: 5px; min-width: 0; min-height: 0; padding: 14px 16px; background: var(--branco); border: 1px solid var(--ui-borda); border-radius: 12px; }
.qc-cartao:hover { border-color: var(--verde-sispeq); opacity: 1; }
.qc-nome { font-size: 14.5px; font-weight: 700; color: var(--verde-profundo); }
.qc-graf { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; }
.qc-graf .gf-barras { max-height: 140px; }
.qc-graf .gf-bh-linha { grid-template-columns: 62px 1fr 32px; gap: 6px; font-size: 11.5px; }
.qc-emp { width: 100%; display: flex; flex-direction: column; gap: 12px; }
.qc-emp .gf-legenda { font-size: 11px; gap: 5px 10px; }
.qc-num { font: 800 29px/1.1 var(--fonte-display); color: var(--grafite); white-space: nowrap; }
.qc-rot { font-size: 13px; line-height: 1.3; color: var(--texto-secundario); }

.ql-grade { height: 100%; display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(5, 1fr); gap: 8px; }
.ql-cartao { display: flex; flex-direction: column; justify-content: center; gap: 3px; min-height: 0; padding: 9px 14px; background: var(--branco); border: 1px solid var(--ui-borda); border-radius: 10px; }
.ql-topo { display: flex; justify-content: space-between; align-items: center; }
.ql-num { width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--verde-sispeq); color: var(--branco); font-size: 11.5px; font-weight: 700; }
.ql-sentido { padding: 2px 9px; border: 1px solid var(--ui-borda); border-radius: 99px; font-size: 10.5px; font-weight: 700; color: var(--ui-secao); }
.ql-cartao b { font-size: 13.5px; color: var(--verde-profundo); }
.ql-cartao p { margin: 0; font-size: 12px; line-height: 1.35; color: var(--texto-secundario); }
