/* CSS do motor dos questionários (Questionários/*.html), com escopo .qz.
   Gerado por scripts/import-questionnaires.ts. Ajustes do site: qz-site.css. */

/* ==========================================================================
   Identidade visual: "folha de respostas" psicométrica, versão 5.
   Papel neutro, tinta, marca-texto, régua. Fontes embutidas (SIL OFL 1.1):
   Barlow Condensed e Barlow (© The Barlow Project Authors), Literata (© The Literata Project Authors).
   CSS moderno: custom properties, grid, :has(), color-mix(), clamp(), print-color-adjust.
   Sem dependências externas.
   ========================================================================== */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(/questionarios/fonts/barlow-condensed-500.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/questionarios/fonts/barlow-condensed-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/questionarios/fonts/barlow-condensed-700.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(/questionarios/fonts/barlow-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(/questionarios/fonts/barlow-500.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(/questionarios/fonts/barlow-600.woff2) format('woff2')}
@font-face{font-family:'Literata';font-style:normal;font-weight:400;font-display:swap;src:url(/questionarios/fonts/literata-400.woff2) format('woff2')}
@font-face{font-family:'Literata';font-style:normal;font-weight:600;font-display:swap;src:url(/questionarios/fonts/literata-600.woff2) format('woff2')}
.qz{
  color-scheme: light;
  --paper:#ECECE8; --sheet:#FFFFFF; --ink:#14161B; --ink-2:#363B45; --mute:#586070;
  --line:#BDC1C8; --line-2:#DCDFE3; --wash:#F4F4F1;
  --hl:#F7D63A; --hl-soft:#FCF0A8; --hl-deep:#E4BC00;
  --na:#2F6FC9; --na-soft:#DCE8F8;
  --asd:#C4501B; --asd-soft:#F6DFD2;
  /* classificação: verde (típico), amarelo (limítrofe), vermelho (clínico) */
  --g:#1E7B43; --g-soft:#E2F3E7; --g-zone:#BFE3CB; --g-ink:#124D2A;
  --y:#B7791F; --y-soft:#FFF3C4; --y-zone:#F9DF85; --y-ink:#5C3D00;
  --r:#B42318; --r-soft:#FBE1DE; --r-zone:#F2B8B1; --r-ink:#7A1A10;
  --seq:#1F3F6B;
  --head:"Barlow Condensed","Bahnschrift","DIN Alternate","Roboto Condensed","Arial Narrow",system-ui,sans-serif;
  --ui:"Barlow","Segoe UI","Helvetica Neue",Arial,system-ui,sans-serif;
  --text:"Literata","Sitka Text","Charter",Cambria,Georgia,"Noto Serif",serif;
  --focus:0 0 0 2px #fff,0 0 0 5px var(--ink);
  --ease:cubic-bezier(.2,.8,.2,1);
  --chk:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6.5' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='square'/%3E%3C/svg%3E");
}
.qz *,.qz *::before,.qz *::after{box-sizing:border-box}
.qz{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.qz{margin:0;background:var(--paper);color:var(--ink);font:400 1.05rem/1.6 var(--ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:lining-nums}
.qz h1,.qz h2,.qz h3,.qz h4{font-family:var(--head);font-weight:600;line-height:1.02;margin:0;letter-spacing:.004em;text-wrap:balance}
.qz p{margin:0 0 .85em}
.qz a{color:var(--ink);text-decoration-thickness:1.5px;text-underline-offset:3px}
.qz button,.qz input,.qz select{font:inherit}
.qz button{-webkit-tap-highlight-color:transparent}
.qz [hidden]{display:none!important}
.qz :focus-visible{outline:none;box-shadow:var(--focus)}
.qz .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Barra superior ---------- */
.qz .topbar{position:sticky;top:0;z-index:50;background:var(--ink);color:#fff}
.qz .topbar-in{max-width:1080px;margin:0 auto;padding:8px clamp(12px,3vw,28px);display:flex;align-items:center;gap:14px;min-height:54px}
.qz .topbar b{font:700 1.25rem/1 var(--head);letter-spacing:.02em;white-space:nowrap}
.qz .tb-prog{margin-left:auto;display:flex;align-items:baseline;gap:10px;white-space:nowrap;font-variant-numeric:tabular-nums}
.qz .tb-prog #pcount{font:700 1.3rem/1 var(--head)}
.qz .tb-prog #pleft{font:400 .88rem var(--ui);color:#C9CED8}
.qz .tb-act{display:flex;gap:8px;align-items:center}
.qz .modeseg{display:inline-flex;border:1.5px solid #7E8695}
.qz .modeseg button{background:transparent;border:0;color:#fff;padding:0 12px;min-height:38px;cursor:pointer;font:600 .92rem var(--ui)}
.qz .modeseg button[aria-pressed="true"]{background:var(--hl);color:var(--ink)}
.qz .mapbtn{background:transparent;border:1.5px solid #7E8695;color:#fff;padding:0 12px;min-height:38px;cursor:pointer;font:600 .92rem var(--ui)}
.qz .mapbtn:hover,.qz .modeseg button:hover:not([aria-pressed="true"]){background:#2A2F39}
.qz .rulerbar{display:flex;gap:1px;height:16px;padding:0 clamp(12px,3vw,28px);max-width:1080px;margin:0 auto;align-items:flex-end}
.qz .rulerbar i{flex:1;background:#4A505C;height:7px;min-width:1px}
.qz .rulerbar i.done{background:var(--hl);height:10px}
.qz .rulerbar i.cur{background:#fff;height:16px}
.qz .rulerbar i:nth-child(5n){height:12px}
.qz .rulerbar i.done:nth-child(5n){height:14px}
.qz .mappanel{background:var(--sheet);color:var(--ink);border-bottom:2px solid var(--ink)}
.qz .mappanel .in{max-width:1080px;margin:0 auto;padding:12px clamp(12px,3vw,28px)}
.qz .mappanel p{font:.9rem/1.4 var(--ui);color:var(--mute);margin:0 0 8px}
.qz .map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px;max-height:36vh;overflow:auto;padding:3px}
.qz .tile{display:grid;place-items:center;height:34px;border:1.5px solid var(--ink);border-radius:50%;color:var(--ink);text-decoration:none;font:600 .95rem var(--head);background:#fff;cursor:pointer;padding:0}
.qz .tile.done{background:var(--ink);color:#fff}
.qz .tile.now{box-shadow:0 0 0 3px var(--hl)}
@media (max-width:560px){.qz .topbar-in{gap:8px}.qz .topbar b{font-size:1.05rem;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.qz .tb-prog{flex:none}.qz .tb-prog #pleft{display:none}.qz .mapbtn .long{display:none}.qz .modeseg button,.qz .mapbtn{padding:0 9px}}

/* ---------- Página ---------- */
.qz .main{max-width:1080px;margin:0 auto;padding:clamp(10px,3vw,30px) clamp(8px,3vw,24px) 90px}
.qz .sheet{background:var(--sheet);border:1px solid var(--line);padding:clamp(18px,3.6vw,48px)}

/* ---------- Capa ---------- */
.qz .cover{border-top:10px solid var(--ink);padding:clamp(16px,3vw,32px) 0 clamp(14px,2.5vw,26px)}
.qz .cover h1{font-size:clamp(2.6rem,8vw,5.2rem);max-width:16ch;font-weight:700;letter-spacing:-.005em}
.qz .cover .sub{font:400 clamp(1.05rem,2.3vw,1.28rem)/1.55 var(--text);margin:16px 0 0;color:var(--ink-2)}
.qz .ticks{height:16px;margin:clamp(16px,2.5vw,26px) 0 0;background:
  repeating-linear-gradient(90deg,var(--ink) 0 1.5px,transparent 1.5px 10px) bottom/100% 8px no-repeat,
  repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 50px) bottom/100% 16px no-repeat;border-bottom:1.5px solid var(--ink)}
.qz dl.spec{display:grid;grid-template-columns:minmax(0,1fr);margin:0}
@media (min-width:700px){.qz dl.spec{grid-template-columns:1fr 1fr;column-gap:40px}}
.qz dl.spec div{display:flex;gap:14px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line-2);font:.98rem var(--ui)}
.qz dl.spec dt{color:var(--mute)}
.qz dl.spec dd{margin:0;font-weight:600;text-align:right}
.qz .tabs{display:flex;margin:24px 0 0;border-bottom:2px solid var(--ink);flex-wrap:wrap}
.qz .tabs button{border:0;background:transparent;padding:0 22px;min-height:50px;cursor:pointer;font:600 1.25rem var(--head);color:var(--ink-2);letter-spacing:.01em}
.qz .tabs button[aria-pressed="true"]{background:var(--ink);color:#fff}
.qz .tabs button:hover:not([aria-pressed="true"]){background:var(--hl-soft)}

/* ---------- Texto (ocupa toda a largura da folha, até a linha do capítulo) ---------- */
.qz .sec{margin-top:clamp(24px,3.6vw,38px)}
.qz .sec>h2{font-size:clamp(1.7rem,3.6vw,2.2rem);padding-top:12px;border-top:3px solid var(--ink);margin-bottom:12px}
.qz .sec h3{font-size:1.3rem;margin:18px 0 6px}
.qz .sec p,.qz .sec li{hyphens:auto;-webkit-hyphens:auto}
.qz .sec ul,.qz .sec ol{padding-left:1.3em;margin:.3em 0 1em}
.qz .sec li{margin:.3em 0}
.qz .notice{border:1.5px solid var(--ink);background:var(--hl-soft);padding:13px 18px;margin:16px 0;font:1rem/1.5 var(--ui)}
.qz .notice.info{background:#fff;border-top-width:6px}
.qz .notice.alt{background:#fff;border-style:dashed}
.qz .notice.disc{background:var(--wash);border-color:var(--line);margin-top:18px}.qz .notice.disc p{margin:0}
.qz .acc{border-top:1.5px solid var(--ink)}
.qz .acc:last-of-type{border-bottom:1.5px solid var(--ink)}
.qz .acc>summary{cursor:pointer;padding:14px 4px;min-height:52px;font:600 1.35rem var(--head);display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;letter-spacing:.005em}
.qz .acc>summary::-webkit-details-marker{display:none}
.qz .acc>summary::after{content:"+";font:400 1.9rem/1 var(--head);width:30px;text-align:center}
.qz .acc[open]>summary::after{content:"–"}
.qz .acc>summary:hover{background:var(--hl-soft)}
.qz .acc .acc-body{padding:2px 4px 18px;font-size:1rem;color:var(--ink-2)}
.qz .refs{padding-left:1.5em}.qz .refs li{font:.92rem/1.5 var(--ui);color:var(--ink-2);margin:.55em 0;word-break:break-word}

/* ---------- Identificação ---------- */
.qz .fields{display:grid;gap:16px 20px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.qz .field label{display:block;font:600 .92rem var(--ui);margin-bottom:4px}
.qz .field input,.qz .field select{width:100%;min-height:50px;border:0;border-bottom:2px solid var(--ink);border-radius:0;padding:8px 8px;background:var(--wash);color:var(--ink);font:1.05rem var(--ui)}
.qz .field input:focus,.qz .field select:focus{outline:none;background:var(--hl-soft)}
.qz .field-help{font:.85rem/1.4 var(--ui);color:var(--mute);margin:6px 0 0}
.qz .startrow{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:22px}

/* ---------- Perguntas ---------- */
.qz .stagehead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.qz .stagehead h2{font-size:clamp(1.7rem,3.6vw,2.2rem)}
.qz .stagehead .sub{font:.95rem var(--ui);color:var(--mute);margin:0}
.qz .sect-title{font-size:1.5rem;margin:30px 0 4px;padding-top:10px;border-top:3px solid var(--ink)}
.qz .item{display:grid;grid-template-columns:3.6rem minmax(0,1fr);gap:0 8px;padding:20px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.qz .item.missing{background:var(--hl);outline:6px solid var(--hl)}
.qz .inum{font-family:var(--head);color:#7C8493;line-height:1}
.qz .inum b{display:block;font-size:2.1rem;font-weight:700;font-variant-numeric:tabular-nums}
.qz .inum small{display:none;font:500 1rem var(--ui);color:var(--mute);margin-top:6px}
.qz .item:has(input:checked) .inum{color:var(--ink)}
.qz .q{margin:0 0 14px;font:500 1.12rem/1.5 var(--text)}
.qz .q .rev{font:400 .88rem var(--ui);color:var(--mute);display:block;margin-top:4px}
/* todas as alternativas de uma pergunta têm a mesma altura */
.qz .opts{display:grid;gap:8px;grid-template-columns:1fr;grid-auto-rows:1fr}
.qz .opt{position:relative;display:flex}
.qz .opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2}
.qz .box{flex:1 1 auto;width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:4px 14px;align-items:center;min-height:56px;padding:12px 16px;border:2px solid var(--ink);background:#fff;line-height:1.35;font:500 1.02rem var(--ui)}
.qz .box:not(:has(.glyph)){grid-template-columns:minmax(0,1fr) auto}
.qz .otxt{min-width:0}
.qz .kbd{display:none;justify-self:end;font:600 .8rem var(--ui);border:1.5px solid currentColor;min-width:1.7em;height:1.7em;place-items:center;border-radius:4px;opacity:.6}
.qz .opt:hover .box{background:#EEF2F7}
.qz .opt input:focus-visible+.box{box-shadow:var(--focus)}
/* após escolher: a alternativa marcada ganha um azul-acinzentado (mais forte quanto maior a intensidade) e as demais esmaecem */
.qz .opts:has(input:checked) .opt .box{background:var(--wash);color:#4B5160;border-color:var(--line)}
.qz .opts:has(input:checked) .opt:hover .box{background:#EDEEEA}
.qz .opt input:checked+.box,.qz .opts:has(input:checked) .opt input:checked+.box{background:color-mix(in srgb,#2F5F9E calc(10% + var(--lv,0) * 20%),#fff);color:var(--ink);border-color:#1F3F6B;font-weight:600}
.qz .opt input:checked+.box .kbd{display:none!important}
.qz .opt input:checked+.box::after{content:"";width:22px;height:22px;background:#1F3F6B;-webkit-mask:var(--chk) center/contain no-repeat;mask:var(--chk) center/contain no-repeat}
.qz .opts.scale .box{position:relative}
.qz .opts.scale input:checked+.box::after{position:absolute;right:10px;top:10px}
/* glifo de intensidade */
.qz .glyph{display:inline-flex;align-items:flex-end;gap:3px;height:24px}
.qz .glyph i{display:block;width:6px;border:1.8px solid currentColor;background:transparent}
.qz .glyph i.on{background:currentColor}
.qz .opt input:checked+.box .glyph i.on{background:#1F3F6B;border-color:#1F3F6B}
.qz .opt input:checked+.box .glyph i:not(.on){border-color:#6B7F9C}
/* chave visual do período (RAADS-R-BR): exibida uma vez, acima das perguntas */
.qz .stem{font-weight:400}
.qz .tkey{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:12px 0 2px}
.qz .tkey>div{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;padding:8px 10px;border:1px solid var(--line);background:var(--wash);font:500 .92rem/1.3 var(--ui)}
.qz .tkey .tl2{display:grid;grid-template-columns:auto auto;gap:3px 6px;align-items:center;font:600 .7rem/1 var(--ui);color:var(--mute)}
.qz .tkey .tl2 i{width:30px;height:10px;border:1.8px solid var(--ink);display:block}
.qz .tkey .tl2 i.on{background:var(--ink)}
/* escala curta (6 pontos) */
.qz .opts.scale{grid-template-columns:repeat(2,minmax(0,1fr))}
.qz .opts.scale .box{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;justify-items:start;gap:6px;padding:12px 14px;min-height:112px}
.qz .opts.scale .sv{font:700 1.7rem/1 var(--head)}
.qz .opts.scale .sl{font:500 .92rem/1.25 var(--ui);overflow-wrap:anywhere;hyphens:auto}
.qz .opts.scale .kbd{display:none!important}
@media (min-width:560px){.qz .opts.scale{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1060px){.qz .opts.scale{grid-template-columns:repeat(6,minmax(0,1fr))}.qz .opts.scale .box{min-height:132px}}
@media (min-width:760px){
  .qz .opts.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qz .opts.four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (hover:hover) and (min-width:760px){.qz .kbd{display:inline-grid}}

/* ---------- Modo foco ---------- */
.qz .stage[data-mode="focus"] .item{display:none;padding:clamp(8px,2vw,20px) 0 4px;border-bottom:0;grid-template-columns:minmax(0,1fr)}
.qz .stage[data-mode="focus"] .item.cur{display:grid}
.qz .stage[data-mode="focus"] .inum{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}
.qz .stage[data-mode="focus"] .inum b{font-size:clamp(3.6rem,10vw,6rem);line-height:.8;color:var(--line-2);-webkit-text-stroke:2px #7C8493;paint-order:stroke fill}
.qz .stage[data-mode="focus"] .item:has(input:checked) .inum b{color:#C9D8EC;-webkit-text-stroke:2px #1F3F6B}
.qz .stage[data-mode="focus"] .inum small{display:block}
.qz .stage[data-mode="focus"] .q{font-size:clamp(1.3rem,2.8vw,1.75rem);line-height:1.4;font-weight:500;margin-bottom:20px}
@media (min-width:960px){
  .qz .stage[data-mode="focus"] .item.cur{grid-template-columns:minmax(150px,230px) minmax(0,1fr);gap:0 40px;align-items:start}
  .qz .stage[data-mode="focus"] .inum{flex-direction:column;align-items:flex-start;position:sticky;top:120px}
}
.qz .stage[data-mode="list"] .fnav,.qz .stage[data-mode="list"] #review{display:none}
.qz .fnav{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1.5px solid var(--ink)}
.qz .fnav .hint{flex:1 1 220px;order:3;text-align:center}
.qz .autochk{display:inline-flex;gap:8px;align-items:center;font:500 .92rem var(--ui);cursor:pointer;min-height:44px}
.qz .autochk input{width:20px;height:20px;accent-color:var(--ink)}
.qz #review{margin-top:10px}
.qz #review h2{font-size:clamp(1.7rem,3.6vw,2.2rem);margin-bottom:6px}
.qz .revgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px;margin:14px 0 6px}
.qz .revgrid .tile{height:40px;font-size:1.05rem;border-radius:4px}
.qz .revgrid .tile.miss{background:var(--hl);border-style:dashed}

.qz .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:26px 0 8px}
.qz .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:0;border:2px solid var(--ink);background:#fff;color:var(--ink);font:600 1.15rem var(--head);letter-spacing:.015em;cursor:pointer}
.qz .btn:hover{background:var(--hl)}
.qz .btn.primary{background:var(--ink);color:#fff}
.qz .btn.primary:hover{background:var(--hl);color:var(--ink)}
.qz .btn[disabled]{opacity:.35;pointer-events:none}
.qz .btn svg{width:20px;height:20px;flex:none}
.qz .hint{font:.92rem/1.45 var(--ui);color:var(--mute)}
/* erros de formulário: texto + fundo marca-texto (nunca só cor) */
.qz .errsum{border:2px solid var(--ink);background:var(--hl);padding:12px 16px;margin:14px 0;font:600 1rem/1.5 var(--ui)}
.qz .errsum:focus-visible{box-shadow:var(--focus)}
.qz .linkbtn{font:700 1rem var(--head);min-width:2.2em;height:2.2em;margin:2px;border:2px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;padding:0 6px}
.qz .linkbtn:hover{background:var(--hl-soft)}
.qz .item-err,.qz .field-err{display:inline-block;margin:10px 0 0;padding:2px 8px;background:var(--hl);font:600 .95rem/1.4 var(--ui)}
.qz .field-err{margin-top:6px}
.qz .field [aria-invalid="true"]{background:var(--hl-soft);border-bottom-color:var(--ink)}

/* ---------- Resultados ---------- */
.qz .rep-head{border-top:10px solid var(--ink);padding-top:16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:6px}
.qz .rep-head h1{font-size:clamp(2.2rem,6vw,3.6rem);font-weight:700;max-width:18ch}
.qz .rep-head .meta{font:1rem var(--ui);color:var(--ink-2);margin:8px 0 0}
.qz .toolbar{display:flex;flex-wrap:wrap;gap:10px}
.qz .scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:20px 0 6px}
.qz .sc{text-align:center;display:flex;flex-direction:column;align-items:center;padding:12px 14px 14px;border:1px solid var(--line);border-top:6px solid var(--line);break-inside:avoid;background:#fff}
.qz .sc.t-g{border-top-color:var(--g)}.qz .sc.t-y{border-top-color:var(--y)}.qz .sc.t-r{border-top-color:var(--r)}
.qz .sc .l{font:500 .98rem/1.25 var(--ui);color:var(--ink-2);min-height:2.5em;display:flex;align-items:center;justify-content:center}
.qz .sc .v{font:700 clamp(2.4rem,5.4vw,3.4rem)/.95 var(--head);font-variant-numeric:tabular-nums;margin:8px 0 4px}
.qz .sc .v small{font:600 .42em/1 var(--head);color:var(--ink-2);margin-left:2px;letter-spacing:.01em}
.qz .sc .s{font:.86rem/1.35 var(--ui);color:var(--mute);margin-top:9px}
.qz .sc .s span{display:block;white-space:nowrap}
.qz .sc .s b{color:var(--ink);font-weight:600}
.qz .sc-cls{margin-top:8px}
.qz .mini{position:relative;height:10px;margin-top:10px;border-bottom:2px solid var(--ink)}
.qz .mini i{position:absolute;bottom:-6px;width:12px;height:12px;border-radius:50%;background:var(--ink);transform:translateX(-50%);box-shadow:0 0 0 2px #fff}
.qz .mini b{position:absolute;bottom:-3px;width:2px;height:15px;background:var(--ink);transform:translateX(-50%)}
.qz .block{margin-top:clamp(26px,4vw,42px);break-inside:avoid;page-break-inside:avoid}
.qz .bh>h2,.qz .block>h2{font-size:clamp(1.6rem,3.4vw,2.1rem);padding-top:10px;border-top:3px solid var(--ink)}
.qz .bh>.cap,.qz .block>.cap{font:.98rem/1.55 var(--ui);color:var(--ink-2);margin:8px 0 16px}
.qz .block h3{font:600 1.25rem/1.1 var(--head);margin:22px 0 8px}

/* Tabelas: primeira coluna à esquerda, valores centralizados */
.qz .tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.qz table.tbl{width:100%;border-collapse:collapse;font:.97rem/1.4 var(--ui);font-variant-numeric:tabular-nums;margin-top:6px}
.qz .tbl th,.qz .tbl td{padding:10px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.qz .nw{white-space:nowrap}
.qz .tbl th{hyphens:manual;-webkit-hyphens:manual}
.qz .tbl .l{text-align:left}.qz .tbl .c{text-align:center}.qz .tbl td.nw{white-space:nowrap}
/* tabelas de resultado: rótulo da escala em uma linha, todas as linhas com a mesma altura */
.qz .tbl.res td:first-child{white-space:nowrap}
.qz .tbl.res th{white-space:nowrap}
.qz .frac{display:inline-grid;grid-template-columns:3.4ch max-content;column-gap:.35em;align-items:baseline;white-space:nowrap}
.qz .frac>b{text-align:right}.qz .frac>span{text-align:left;color:var(--mute)}
.qz .tbl th.l:first-child,.qz .tbl td.l:first-child{padding-left:4px}
.qz .tbl thead th{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);font:600 .93rem/1.25 var(--ui);background:var(--wash);vertical-align:bottom}
.qz .tbl tbody tr:last-child td{border-bottom:2px solid var(--ink)}
.qz .tbl tr.hl td{background:var(--hl-soft)}
.qz .tbl td.me,.qz .tbl th.me{font-weight:700}
.qz .tbl tr.sub th{background:var(--wash);font-weight:600;padding-left:6px;border-bottom:1px solid var(--line);text-align:left}
.qz .tbl-note{font:.88rem/1.5 var(--ui);color:var(--mute);margin:10px 0 0}
.qz .kv td.l:first-child{color:var(--mute);width:38%}
.qz .kv tbody tr:last-child td{border-bottom:1px solid var(--line-2)}
.qz .mycol{display:inline-block;min-width:3.4em;padding:0 8px;line-height:1.4;background:var(--ink);color:#fff;font-weight:700;vertical-align:baseline}
.qz .badge{display:inline-flex;align-items:center;gap:5px;padding:1px 9px;border-radius:0;font:600 .86rem var(--ui);white-space:nowrap;border:1.5px solid var(--ink);background:#fff}
.qz .badge.mute{border-color:var(--line);color:var(--ink-2);background:var(--wash)}

/* Classificação por cor */
.qz .cls{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:3px 10px 3px 8px;border:1.5px solid;font:600 .88rem/1.2 var(--ui);text-align:left}
.qz .cls.long{white-space:normal}
.qz .cls i{flex:none;width:11px;height:11px;border-radius:50%;background:currentColor}
.qz .cls.g{color:var(--g-ink);border-color:var(--g);background:var(--g-soft)}.qz .cls.g i{background:var(--g)}
.qz .cls.y{color:var(--y-ink);border-color:var(--y);background:var(--y-soft)}.qz .cls.y i{background:var(--y)}
.qz .cls.r{color:var(--r-ink);border-color:var(--r);background:var(--r-soft)}.qz .cls.r i{background:var(--r)}
.qz .cls.n{color:var(--ink-2);border-color:var(--line);background:var(--wash)}.qz .cls.n i{background:var(--line)}
.qz .clskey{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:4px 0 18px}
.qz .ck{display:grid;gap:8px;align-content:start;justify-items:center;text-align:center;padding:10px 12px;border:1px solid var(--line);border-left:6px solid;font:.9rem/1.45 var(--ui);color:var(--ink-2)}
.qz .ck.g{border-left-color:var(--g)}.qz .ck.y{border-left-color:var(--y)}.qz .ck.r{border-left-color:var(--r)}

/* ---------- Gráficos ---------- */
.qz .legend{display:flex;flex-wrap:wrap;gap:6px 20px;font:.88rem/1.3 var(--ui);color:var(--ink-2);margin:2px 0 10px}
.qz .legend span{display:inline-flex;align-items:center;gap:8px}
.qz .sw{display:inline-block;width:26px;height:13px;border:1.5px solid;flex:none}
.qz .sw.na{background:var(--na-soft);border-color:var(--na)}
.qz .sw.a{border-color:var(--asd);background:repeating-linear-gradient(135deg,var(--asd-soft) 0 3px,#fff 3px 6px)}
.qz .sw.cut{width:0;height:18px;border:0;border-left:2.5px dashed var(--ink)}
.qz .sw.me{width:15px;height:15px;border-radius:50%;background:var(--ink);border-color:var(--ink);box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--ink)}

/* Régua por zonas */
.qz .zrow{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:16px 0 14px;border-top:1px solid var(--line);break-inside:avoid}
@media (min-width:760px){.qz .zrow{grid-template-columns:minmax(170px,230px) minmax(0,1fr);gap:24px;align-items:center}}
.qz .zrow .lab{font:600 1.08rem/1.2 var(--ui)}
.qz .zrow .lab small{display:block;font:400 .86rem var(--ui);color:var(--mute);margin-top:3px}
.qz .lab-cls{margin-top:8px}
.qz .zchart{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding-top:34px}
.qz .zchart .end{font:600 .82rem/24px var(--ui);color:var(--mute);font-variant-numeric:tabular-nums}
.qz .zarea{position:relative;min-width:0}
.qz .zbar{position:relative;height:24px;background:var(--wash);border:1.5px solid var(--ink)}
.qz .zn{position:absolute;top:0;bottom:0;left:var(--l);width:var(--w);display:grid;place-items:center;overflow:hidden;transform-origin:left center;transition:transform .8s var(--ease)}
.qz .zn.g{background:var(--g-zone)}.qz .zn.y{background:var(--y-zone)}.qz .zn.r{background:var(--r-zone)}
.qz .zn+.zn{border-left:1.5px solid #fff}
.qz .zn em{position:absolute;top:50%;left:var(--c);transform:translate(-50%,-50%);font:600 .64rem/1 var(--ui);letter-spacing:.05em;text-transform:uppercase;font-style:normal;white-space:nowrap}
@media (max-width:560px){.qz .zn em{display:none}}
.qz .zn.g em{color:var(--g-ink)}.qz .zn.y em{color:var(--y-ink)}.qz .zn.r em{color:var(--r-ink)}
.qz .zrow.pre .zn{transform:scaleX(0)}
.qz .mk{position:absolute;top:-3px;bottom:-3px;left:var(--x);width:0;border-left:2px solid var(--ink-2);z-index:2}
.qz .mk.na{border-left-color:var(--na)}.qz .mk.a{border-left-color:var(--asd)}
.qz .mk.cut{border-left:2.5px dashed var(--ink);top:-6px;bottom:-6px}
.qz .pin{position:absolute;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink);z-index:4;left:var(--x);transition:left .95s var(--ease)}
.qz .me-v{position:absolute;top:-10px;transform:translate(-50%,-100%);font:700 1rem/1 var(--head);background:var(--ink);color:#fff;padding:5px 8px;z-index:5;white-space:nowrap;font-variant-numeric:tabular-nums;left:var(--x);transition:left .95s var(--ease)}
.qz .me-v::after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;border:5px solid transparent;border-top-color:var(--ink);border-bottom:0}
.qz .zrow.pre .pin,.qz .zrow.pre .me-v{left:0}
.qz .mls{position:relative;height:calc(var(--rows) * 36px + 6px)}
.qz .ml{position:absolute;top:calc(8px + var(--row) * 36px);left:var(--x);transform:translateX(-50%);font:700 .86rem/1.05 var(--ui);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:center;color:var(--ink)}
.qz .ml small{display:block;font:500 .72rem/1.1 var(--ui);color:var(--mute)}
.qz .ml::before{content:"";position:absolute;left:50%;bottom:100%;height:calc(8px + var(--row) * 36px);border-left:1px dotted var(--ink-2)}
.qz .ml.L{transform:none;text-align:left}.qz .ml.L::before{left:0}
.qz .ml.R{transform:translateX(-100%);text-align:right}.qz .ml.R::before{left:auto;right:0}
.qz .ml.na{color:#1B4F96}.qz .ml.a{color:#8A3410}

/* Comparação item a item */
.qz .ic{display:grid;font:.92rem/1.35 var(--ui)}
.qz .ic-row{display:grid;grid-template-columns:2.2em minmax(0,1fr);gap:4px 12px;align-items:center;padding:9px 0;border-top:1px solid var(--line-2);break-inside:avoid}
.qz .ic-row .ic-a,.qz .ic-row .ic-b{grid-column:2}
@media (min-width:760px){.qz .ic-row{grid-template-columns:2.2em minmax(0,1.3fr) minmax(150px,.6fr) minmax(220px,1fr)}.qz .ic-row .ic-a,.qz .ic-row .ic-b{grid-column:auto}}
.qz .ic-head{display:none;font:600 .82rem var(--ui);color:var(--mute);border-top:0;border-bottom:2px solid var(--ink)}
@media (min-width:760px){.qz .ic-head{display:grid}}
.qz .ic-gl{font:600 1.15rem var(--head);padding:14px 0 4px;border-top:1.5px solid var(--ink)}
.qz .ic-n{font:700 1.05rem var(--head);color:var(--mute);text-align:center}
.qz .ic-row.hi .ic-t{font-weight:600}
.qz .lvl{display:inline-block;white-space:nowrap;padding:2px 8px;font:600 .84rem/1.25 var(--ui);border:1px solid var(--seq);background:color-mix(in srgb,var(--seq) calc(8% + var(--t) * 84%),#fff);color:var(--ink)}
.qz .lvl.dk{color:#fff}
/* resposta por nível (comparação item a item): mesma largura e altura em todas as linhas, cor pelo nível marcado */
.qz .ic-a{display:flex}
.qz .lvl[class*="c-"]{display:flex;align-items:center;justify-content:center;width:100%;max-width:190px;min-height:2.1em;box-sizing:border-box;padding:3px 8px;text-align:center;color:var(--ink);border-width:1px;border-style:solid}
.qz .lvl.c-v{background:#E2F3E7;border-color:#1E7B43}
.qz .lvl.c-a{background:#FFF3C4;border-color:#B7791F}
.qz .lvl.c-l{background:#FDE2C8;border-color:#C2561A}
.qz .lvl.c-r{background:#FBE1DE;border-color:#B42318}
.qz .ic-b{display:grid;gap:4px}
.qz .ic-bar{display:grid;grid-template-columns:minmax(80px,auto) minmax(0,1fr) 3.4em;gap:8px;align-items:center;font:.8rem/1.2 var(--ui)}
.qz .ic-bar em{font-style:normal;color:var(--ink-2);white-space:nowrap}
.qz .ic-bar b{font:700 .86rem var(--head);text-align:right;font-variant-numeric:tabular-nums}
.qz .ic-trk{position:relative;height:10px;background:var(--wash);border:1px solid var(--line)}
.qz .ic-trk i{position:absolute;left:0;top:0;bottom:0;width:var(--w)}
.qz .ic-bar.na i{background:var(--na)}.qz .ic-bar.a i{background:var(--asd)}
.qz .ic-bar.none{grid-template-columns:minmax(80px,auto) 1fr}

/* Radar */
.qz .radarwrap{display:grid;gap:10px;justify-items:center}
.qz .radar{width:100%;max-width:560px;height:auto;overflow:visible}
.qz .radar text{font-family:var(--ui)}
.qz .radar .rl{font-size:15px;font-weight:600;fill:var(--ink)}
.qz .radar .rs{font-size:13px;fill:var(--mute)}
.qz .radar .ring{fill:none;stroke:var(--line-2);stroke-width:1}
.qz .radar .ring.r4{stroke:var(--line)}
.qz .radar .spoke{stroke:var(--line);stroke-width:1}
.qz .radar .poly{transform-origin:var(--cx) var(--cy);transform-box:view-box;transition:transform .9s var(--ease),opacity .6s}
.qz .radar.pre .poly{transform:scale(.05);opacity:0}
.qz .radar .tickl{font-size:11px;fill:var(--mute)}

/* Curvas */
.qz .curves{position:relative;margin-top:6px}
.qz .curves .plot{position:relative;margin-top:38px}
.qz .curves svg{display:block;width:100%;height:auto;overflow:visible}
.qz .curves .area{opacity:0;transition:opacity .8s .2s}
.qz .curves .line{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--ease)}
.qz .curves.in .area{opacity:1}.qz .curves.in .line{stroke-dashoffset:0}
.qz .curves .ax{display:flex;justify-content:space-between;font:.84rem var(--ui);color:var(--mute);border-top:2px solid var(--ink);padding-top:5px;font-variant-numeric:tabular-nums;margin-top:-1px}
.qz .curves .flag{position:absolute;top:0;z-index:3;transform:translateX(-50%);background:var(--ink);color:#fff;font:700 1rem var(--head);padding:5px 9px;white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none}
.qz .curves .flag::after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;border:5px solid transparent;border-top-color:var(--ink);border-bottom:0}
.qz .curves .mean{position:absolute;transform:translateX(-50%);font:600 .78rem var(--ui);white-space:nowrap;padding:1px 5px;background:#fff;border:1.5px solid;pointer-events:none}
.qz .curves .mean.na{color:#1B4F96;border-color:var(--na)}
.qz .curves .mean.a{color:#8A3410;border-color:var(--asd)}
.qz .curves .cutmark{position:absolute;width:0;border-left:2.5px dashed var(--ink);pointer-events:none}

/* Respostas */
.qz .ans td:first-child{width:3.4em;color:var(--mute);font-family:var(--head);font-weight:700;font-size:1.05rem}
.qz .ans td:last-child{width:4.5em}
.qz .ans .r{font-weight:600}
.qz .rev-tag{font:.74rem var(--ui);border:1px solid var(--ink);padding:0 5px;margin-left:6px;white-space:nowrap}
.qz .foot{color:var(--mute);font:.86rem/1.45 var(--ui);margin-top:30px;border-top:1px solid var(--ink);padding-top:10px}

@media (prefers-reduced-motion:reduce){.qz *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.qz .zrow.pre .pin,.qz .zrow.pre .me-v{left:var(--x)}.qz .zrow.pre .zn{transform:none}.qz .radar.pre .poly{transform:none;opacity:1}.qz .curves .area{opacity:1}.qz .curves .line{stroke-dashoffset:0}}

/* ---------- Impressão / PDF ---------- */
@page{size:A4;margin:13mm 12mm 15mm;@bottom-center{content:counter(page) " / " counter(pages);font:8.5pt "Barlow","Segoe UI",Arial,sans-serif;color:#586070}}
@media print{
  .qz,.qz{background:#fff!important;font-size:10.5pt}
  .qz .topbar,.qz .mappanel,.qz .no-print,.qz .intro,.qz .stage,.qz .formwrap,.qz .cover,.qz .actions{display:none!important}
  .qz .main{max-width:none;padding:0}.qz .sheet{border:0;padding:0}
  .qz .rep-head{margin-top:0}
  .qz .rep-head h1{font-size:24pt;max-width:none;line-height:1.05}
  .qz .rep-head{padding-top:10px}
  .qz .scores{margin:12px 0 4px}
  .qz .tbl thead{display:table-header-group}
  .qz .tbl tr{break-inside:avoid;page-break-inside:avoid}
  .qz .tbl-wrap{overflow:visible;break-inside:avoid}
  .qz h1,.qz h2,.qz h3{break-after:avoid;page-break-after:avoid}
  /* blocos podem quebrar entre linhas de gráfico; cada linha, título, legenda e tabela curta fica inteira */
  .qz .block{break-inside:avoid;page-break-inside:avoid}
  .qz .block.flow,.qz .block.allow-break{break-inside:auto;page-break-inside:auto}
  .qz .block>h2,.qz .block>h3,.qz .block h3{break-after:avoid;page-break-after:avoid}
  .qz .bh{break-inside:avoid;page-break-inside:avoid;break-after:avoid;page-break-after:avoid}
  .qz .bh+*{break-before:avoid;page-break-before:avoid}
  .qz p,.qz li{orphans:3;widows:3}
  .qz .zrow:first-of-type{break-before:avoid}
  .qz .block.allow-break .tbl-wrap{break-inside:auto}
  .qz .scores{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}
  .qz .radar{max-width:118mm}
  .qz .curves .plot{margin-top:30px}
  /* na folha A4, os gráficos usam o layout de duas colunas */
  .qz .zrow{grid-template-columns:42mm minmax(0,1fr);gap:6mm;align-items:center}
  .qz .ic-row{grid-template-columns:2.2em minmax(0,1.3fr) 36mm 52mm}.qz .ic-row .ic-a,.qz .ic-row .ic-b{grid-column:auto}.qz .ic-head{display:grid}
  .qz .refs li{break-inside:avoid}
  .qz .curves,.qz .legend,.qz .zrow,.qz .ic-row,.qz .ic-gl,.qz .sc,.qz .notice,.qz .radarwrap,.qz .clskey,.qz .ck{break-inside:avoid;page-break-inside:avoid}
  .qz .legend,.qz .block>.cap,.qz .ic-gl{break-after:avoid;page-break-after:avoid}
  .qz .zrow.pre .pin,.qz .zrow.pre .me-v{left:var(--x)!important}
  .qz .zrow.pre .zn{transform:none!important}
  .qz .radar.pre .poly{transform:none!important;opacity:1!important}
  .qz .curves .area{opacity:1!important}.qz .curves .line{stroke-dashoffset:0!important}
  .qz *{transition:none!important;animation:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .qz a{text-decoration:none}
  .qz .block{margin-top:20pt}
  .qz .tbl th,.qz .tbl td{padding:6px 10px}
  .qz .tbl-wrap:has(+.tbl-note){break-after:avoid;page-break-after:avoid}
  .qz .tbl-note{break-before:avoid;page-break-before:avoid;break-inside:avoid}
  .qz .foot{break-before:avoid;page-break-before:avoid;margin-top:10pt}
}

/* ---- resposta numérica livre (CRT) ---- */
.qz .numin{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.qz .numin input{font:600 1.7rem/1 var(--head);font-variant-numeric:tabular-nums;width:9ch;max-width:100%;padding:12px 14px;border:2px solid var(--ink);border-radius:0;background:#fff;color:var(--ink)}
.qz .numin input:focus-visible{outline:3px solid #2F5F9E;outline-offset:2px}
.qz .numin .nu{font:500 1.05rem var(--ui);color:var(--ink-2)}
.qz .numhint{margin:8px 0 0}

/* ---- distribuição por faixas (barras empilhadas de grupos de referência) ---- */
.qz .dist{display:grid;gap:10px;margin:10px 0 4px}
.qz .dist-row{display:grid;grid-template-columns:minmax(0,16rem) minmax(0,1fr);gap:6px 14px;align-items:center;break-inside:avoid}
.qz .dist-lab{font:500 .92rem/1.25 var(--ui)}
.qz .dist-lab small{display:block;color:var(--mute);font-weight:400}
.qz .dist-bar{display:flex;height:34px;border:1.5px solid var(--ink);background:#fff}
.qz .dist-bar span{display:grid;place-items:center;min-width:0;overflow:hidden;font:600 .82rem/1 var(--ui);font-variant-numeric:tabular-nums;border-right:1.5px solid var(--ink)}
.qz .dist-bar span:last-child{border-right:0}
.qz .dist-bar span.me{background:color-mix(in srgb,#2F5F9E 30%,#fff);box-shadow:inset 0 0 0 3px var(--ink)}
.qz .dist-axis{display:grid;grid-template-columns:minmax(0,16rem) minmax(0,1fr);gap:14px;font:600 .8rem var(--ui);color:var(--mute)}
.qz .dist-axis div{display:flex}.qz .dist-axis div span{flex:1 1 0;text-align:center}
@media (max-width:620px){.qz .dist-row,.qz .dist-axis{grid-template-columns:1fr}.qz .dist-axis>span{display:none}}

/* ---- muitos cartões de resultado (mais de 5): 4 por linha, texto auxiliar pode quebrar ---- */
.qz .scores.many{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.qz .scores.many .sc .s span{white-space:normal}
@media print{.qz .scores.many{grid-template-columns:repeat(4,minmax(0,1fr))}.qz .scores.many .sc{padding:10px 8px 12px}.qz .scores.many .sc .l{font-size:.92rem}}
@media print{.qz .minor li,.qz .acc-body li{break-inside:avoid;page-break-inside:avoid}}

/* ---- visuais próprios das escalas HumanTrack (src/instruments/_escala.js) ---- */
.qz .hv,.qz .hb,.qz .sh,.qz .mo,.qz .plano-wrap,.qz .hv-rdwrap{break-inside:avoid;page-break-inside:avoid}
.qz .hv{--hv:#6B7483;margin:10px 0 4px}
.qz .hv-row{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr) 4.2rem;gap:4px 16px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-2);break-inside:avoid}
.qz .hv-row:last-of-type{border-bottom:0}
.qz .hv-lab{font:600 .98rem/1.25 var(--ui);min-width:0;overflow-wrap:anywhere}
.qz .hv-lab small{display:block;font:400 .84rem/1.3 var(--ui);color:var(--mute);margin-top:2px}
.qz .hv-tot .hv-lab{font-weight:700}
.qz .hv-trk{position:relative;height:24px;background:var(--wash);border:1px solid var(--line)}
.qz .hv-fill{position:absolute;top:0;bottom:0;left:0;background:var(--hv)}
.qz .hv-linha{position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:var(--line)}
.qz .hv-ponto{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--ink);border:3px solid #fff;box-shadow:0 0 0 1px var(--ink)}
.qz .hv-meio{position:absolute;top:-5px;bottom:-5px;width:0;border-left:2px dashed var(--ink)}
.qz .hv-ref{position:absolute;top:-7px;bottom:-7px;width:0;border-left:2px dotted var(--ink)}
.qz .hv-mk{position:absolute;top:-6px;bottom:-6px;width:0;border-left:3px solid var(--ink-2)}
.qz .hv-passo{position:absolute;bottom:-6px;width:0;height:5px;border-left:1px solid var(--mute)}
.qz .hv-val{font:700 1.25rem/1 var(--head);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.qz .hv-scale{position:relative;height:1.5em;font:600 .8rem/1 var(--ui);color:var(--mute);font-variant-numeric:tabular-nums}
.qz .hv-scale span{position:absolute;top:.2em;transform:translateX(-50%);white-space:nowrap}
.qz .hv-scale span:first-child{transform:none}
.qz .hv-scale span:last-child{transform:translateX(-100%)}
.qz .hv-eixo .hv-lab,.qz .hv-eixo .hv-val{visibility:hidden}
.qz .hv-leg{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font:.86rem/1.3 var(--ui);color:var(--ink-2)}
.qz .hv-leg span{display:inline-flex;align-items:center;gap:6px}
.qz .hv-sw{display:inline-block;width:0;height:14px;border-left:2px dashed var(--ink)}
.qz .hv-sw.ref{border-left-style:dotted}
.qz .hv-dots{display:flex;gap:6px;max-width:340px}
.qz .hv-dots i{flex:1 1 0;max-width:46px;height:30px;display:grid;place-items:center;border:1.5px solid var(--ink-2);background:#fff;font:600 .95rem/1 var(--ui);font-style:normal;color:var(--ink-2)}
.qz .hv-dots i.on{background:var(--ink-2);color:#fff}
.qz .hv-total{font:.98rem/1.3 var(--ui);margin:4px 0 10px}
.qz .hv-total b{font:700 1.7rem/1 var(--head);margin-right:4px;font-variant-numeric:tabular-nums}
.qz .mo{display:grid}
.qz .mo-row{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:6px 16px;align-items:start;padding:9px 0;border-bottom:1px solid var(--line-2);break-inside:avoid}
.qz .mo-lab{font:600 .98rem/1.25 var(--ui)}
.qz .mo-lab small{display:block;font:400 .84rem/1.3 var(--ui);color:var(--mute);margin-top:2px;font-variant-numeric:tabular-nums}
.qz .mo-sq{display:flex;flex-wrap:wrap;gap:5px}
.qz .mo-sq i{display:block;width:18px;height:18px;border:1.5px solid var(--ink-2);background:#fff}
.qz .mo-sq i.on{background:var(--ink-2)}
.qz .hb{position:relative;margin:44px 0 40px}
.qz .hb-trk{position:relative;height:30px;border:1.5px solid var(--ink);background:#fff}
.qz .hb-seg{position:absolute;top:0;bottom:0;border-left:1.5px solid var(--ink)}
.qz .hb-seg:first-child{border-left:0}
.qz .hb-me{position:absolute;top:-10px;bottom:-10px;width:0;border-left:4px solid var(--ink)}
.qz .hb-bolha{position:absolute;bottom:calc(100% + 12px);transform:translateX(-50%);background:var(--ink);color:#fff;font:700 1.05rem/1 var(--head);padding:5px 9px;white-space:nowrap;font-variant-numeric:tabular-nums}
.qz .hb-nums{position:relative;height:1.4em;margin-top:6px;font:600 .8rem/1 var(--ui);color:var(--mute);font-variant-numeric:tabular-nums}
.qz .hb-nums span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.qz .hb-nums .ini{transform:none}
.qz .hb-nums .fim{transform:translateX(-100%)}
.qz .hb-leg{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;padding:0;margin:14px 0 0;font:.9rem/1.3 var(--ui)}
.qz .hb-leg li{display:inline-flex;align-items:center;gap:6px}
.qz .hb-leg i{display:inline-block;width:14px;height:14px;border:1px solid var(--line);border-radius:3px}
.qz .hb-leg small{color:var(--mute)}
.qz .sh{display:flex;height:40px;border:1.5px solid var(--ink);background:#fff;margin:6px 0 8px}
.qz .sh span{display:grid;place-items:center;min-width:0;overflow:hidden;font:600 .9rem/1 var(--ui);white-space:nowrap;font-variant-numeric:tabular-nums}
.qz .sh .sh-p{background:var(--hv);color:#fff}
.qz .sh .sh-n{background:var(--wash);color:var(--ink);border-left:1.5px solid var(--ink)}
.qz .hv-rdwrap{margin:6px 0 2px}
.qz .hv-rd{display:block;width:100%;max-width:600px;height:auto;margin:0 auto}
.qz .hv-rd-m{display:none}
.qz .hv-rd .anel{fill:none;stroke:var(--line);stroke-width:1}
.qz .hv-rd .anel.meio{stroke:var(--ink);stroke-width:1.5;stroke-dasharray:6 5}
.qz .hv-rd .raio{stroke:var(--line);stroke-width:1}
.qz .hv-rd .forma{fill:var(--ink);fill-opacity:.12;stroke:var(--ink);stroke-width:3;stroke-linejoin:round}
.qz .hv-rd .vert{fill:var(--ink);stroke:#fff;stroke-width:3}
.qz .hv-rd .num{font-family:var(--ui);font-size:12px;fill:var(--mute)}
.qz .hv-rd .rl{font-family:var(--ui);font-size:17px;font-weight:600;fill:var(--ink)}
.qz .hv-rd .rv{font-family:var(--head);font-size:17px;font-weight:700;fill:var(--ink-2)}
.qz .plano-wrap .rl{font-family:var(--ui);font-size:15px;font-weight:600;fill:var(--ink)}
.qz .plano-wrap .tickl{font-family:var(--ui);font-size:12px;fill:var(--mute)}
@media (max-width:560px){
  .qz .hv-rdwrap{display:none}
  .qz .hv-rd-m{display:block}
  .qz .hv-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"lab val" "trk trk";gap:6px 12px}
  .qz .hv-row>.hv-lab{grid-area:lab}.qz .hv-row>.hv-trk{grid-area:trk}.qz .hv-row>.hv-val{grid-area:val}
  .qz .hv-row>.hv-dots{grid-area:trk}
  .qz .hv-eixo{grid-template-areas:"trk"}
  .qz .hv-eixo>.hv-lab,.qz .hv-eixo>.hv-val{display:none}
  .qz .hv-eixo>.hv-scale{grid-area:trk}
  .qz .mo-row{grid-template-columns:minmax(0,1fr)}
  .qz .hb-leg{gap:4px 12px}
}
@media print{
  .qz .hv-row{grid-template-columns:44mm minmax(0,1fr) 16mm}
  .qz .mo-row{grid-template-columns:44mm minmax(0,1fr)}
  .qz .hv-rd{max-width:118mm}
  .qz .hb-bolha{font-size:.95rem}
}

/* ---- gráfico de plano (dois eixos; SPQ-RS, Aspie Quiz) ---- */
.qz .plane{display:block;width:100%;max-width:640px;height:auto;overflow:visible;margin:0 auto}
.qz .plane .pbox{fill:#fff;stroke:var(--line);stroke-width:1.2}
.qz .plane .pbox-f{fill:none;stroke:var(--ink);stroke-width:1.5}
.qz .plane .pg{stroke:var(--line-2);stroke-width:1}
.qz .plane .tk{font:.82rem var(--ui);fill:var(--mute)}
.qz .plane .al{font:600 .9rem var(--ui);fill:var(--ink-2)}
.qz .plane .lb{font:600 .72rem var(--ui);fill:var(--ink-2);paint-order:stroke;stroke:#fff;stroke-width:4px}
.qz .plane .pz.g{fill:var(--g-zone);fill-opacity:.55;stroke:var(--g);stroke-width:1.2}
.qz .plane .pz.y{fill:var(--y-zone);fill-opacity:.5;stroke:var(--y);stroke-width:1.2;stroke-dasharray:5 4}
.qz .plane .pz.r{fill:var(--r-zone);fill-opacity:.5;stroke:var(--r);stroke-width:1.2;stroke-dasharray:5 4}
.qz .plane .pz.sh{fill:var(--r-soft);fill-opacity:.7;stroke:none}
.qz .plane .pd{stroke:var(--ink);stroke-width:1.6;stroke-dasharray:6 5}
.qz .plane .pd.r{stroke:var(--r);stroke-width:2.2}
.qz .plane .pt{stroke:#fff;stroke-width:3}
.qz .plane .pt.me{fill:var(--ink)}
.qz .plane .pt.na{fill:var(--na)}
.qz .plane .pt.a{fill:#fff;stroke:var(--asd);stroke-width:3.5}
.qz .plane .pl{font:700 .84rem var(--ui);fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:4px}
.qz .plane .pl.na{fill:#1B4F96}.qz .plane .pl.a{fill:#8A3410}

/* ---- mapa de quadrantes (A/ASP, modelo de Dunn) ---- */
.qz .qmap{display:grid;grid-template-columns:minmax(72px,auto) minmax(0,1fr);grid-template-areas:"ylab grid" ". xlab";gap:8px 10px;margin:6px 0 4px}
.qz .qm-xlab{grid-area:xlab;display:flex;justify-content:space-between;gap:10px;font:600 .84rem/1.25 var(--ui);color:var(--ink-2)}
.qz .qm-ylab{grid-area:ylab;display:flex;flex-direction:column;justify-content:space-between;gap:10px;font:600 .84rem/1.25 var(--ui);color:var(--ink-2)}
.qz .qm-ylab span{max-width:9ch}
.qz .qm-grid{grid-area:grid;position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;min-height:300px}
.qz .qc{position:relative;display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1.5px solid var(--ink);background:#fff}
.qz .qc.g{background:var(--g-soft);border-color:var(--g)}.qz .qc.y{background:var(--y-soft);border-color:var(--y)}.qz .qc.r{background:var(--r-soft);border-color:var(--r)}
.qz .qc b{font:600 1.08rem/1.15 var(--head)}
.qz .qc small{font:.84rem/1.35 var(--ui);color:var(--ink-2)}
.qz .qc .qc-s{font:700 1.4rem/1 var(--head);font-variant-numeric:tabular-nums}
.qz .qc .qc-s small{font:600 .9rem var(--ui);color:var(--mute)}
.qz .qm-dot{position:absolute;left:var(--x);top:var(--y);width:18px;height:18px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink);transform:translate(-50%,-50%);z-index:2}
@media (max-width:560px){.qz .qmap{grid-template-columns:56px minmax(0,1fr);gap:6px 8px}.qz .qm-ylab{font-size:.74rem}.qz .qm-grid{min-height:0}.qz .qc{padding:9px}.qz .qc b{font-size:.96rem}.qz .qc small{display:none}.qz .qc .qc-s{font-size:1.2rem}.qz .qc .cls{font-size:.78rem;padding:2px 6px}}
/* ==========================================================================
   Gráficos v7 (viz.js): tons extras de classificação, cores fixas de grupos de referência e componentes.
   Aditivo ao engine.css: não altera regras existentes (BAPQ, RAADS-R-BR e RBQ-3 ficam iguais).
   Grupos (validados para daltonismo, todos os pares, com legenda escrita): k1 #2A78D6 · k2 #EB6834 · k3 #4A3AA7 · k4 #1BAF7A
   ========================================================================== */
.qz{
  --o:#C2570F; --o-soft:#FDE8D7; --o-zone:#F6BF92; --o-ink:#6B2A04;
  --x:#701515; --x-soft:#F4D6D6; --x-zone:#D98580; --x-ink:#4A0B0B;
  --b:#2F6FC9; --b-soft:#DCE8F8; --b-zone:#B4CDF0; --b-ink:#143E7A;
  --bd:#1B4A8A; --bd-soft:#D3E0F3; --bd-zone:#7EA5DC; --bd-ink:#0E2E5C;
  --v:#6C4CC2; --v-soft:#ECE6FA; --v-zone:#CCBEF0; --v-ink:#3B2775;
  --vd:#47309A; --vd-soft:#E1D9F7; --vd-zone:#A694E2; --vd-ink:#28195F;
  --k1:#2A78D6; --k2:#EB6834; --k3:#4A3AA7; --k4:#1BAF7A; --k5:#6B7483;
}
/* Perfis descritivos: cor identifica domínio, sem sugerir corte clínico. */
.qz .domain-row,.qz .delay-row,.qz .belief-row{margin:0 0 22px;break-inside:avoid;page-break-inside:avoid}
.qz .domain-row figcaption,.qz .delay-row figcaption,.qz .belief-row figcaption{display:flex;justify-content:space-between;gap:14px;font:500 1rem/1.35 var(--ui);margin-bottom:7px}
.qz .domain-row figcaption span,.qz .delay-row figcaption span,.qz .belief-row figcaption span{font:700 1.25rem var(--head);white-space:nowrap}
.qz .domain-track{position:relative;height:17px;background:var(--line-2);border-radius:3px}
.qz .domain-track>i{display:block;height:100%;background:var(--domain);border-radius:3px}
.qz .domain-track>em{position:absolute;top:-4px;height:25px;border-left:2px dashed var(--ink)}
.qz .domain-axis{display:flex;justify-content:space-between;gap:12px;font:.78rem/1.4 var(--ui);color:var(--mute);margin-top:6px}
.qz .domain-axis span:nth-child(2){text-align:center}
.qz .delay-track{height:22px;position:relative;background:var(--line-2);border-radius:3px}
.qz .delay-track:before{content:'';position:absolute;left:50%;top:-5px;height:32px;border-left:2px dashed var(--ink)}
.qz .delay-track>i{position:absolute;top:3px;height:16px;background:var(--domain)}
.qz .delay-track>em,.qz .belief-track>em{position:absolute;top:50%;transform:translate(-50%,-50%);height:16px;width:16px;border-radius:50%;background:var(--domain);border:2px solid white;box-shadow:0 0 0 1px var(--domain)}
.qz .delay-row>small{display:flex;justify-content:space-between;gap:10px;font:.74rem/1.5 var(--ui);margin-top:9px;color:var(--mute)}
.qz .belief-track{position:relative;height:4px;background:var(--line);margin:18px 10px 38px}
.qz .belief-track>i{position:absolute;top:-4px;height:12px;border-left:1px solid var(--mute)}
.qz .belief-track small{position:absolute;top:16px;transform:translateX(-50%);font:.8rem var(--ui)}
@media(max-width:560px){.qz .delay-row>small span{display:none}.qz .domain-row figcaption,.qz .belief-row figcaption{font-size:.9rem}.qz .domain-axis{font-size:.72rem}}
/* selos, cartões, zonas da régua e chave das cores para os tons novos */
.qz .cls.o{color:var(--o-ink);border-color:var(--o);background:var(--o-soft)}.qz .cls.o i{background:var(--o)}
.qz .cls.x{color:var(--x-ink);border-color:var(--x);background:var(--x-soft)}.qz .cls.x i{background:var(--x)}
.qz .cls.b{color:var(--b-ink);border-color:var(--b);background:var(--b-soft)}.qz .cls.b i{background:var(--b)}
.qz .cls.bd{color:var(--bd-ink);border-color:var(--bd);background:var(--bd-soft)}.qz .cls.bd i{background:var(--bd)}
.qz .cls.v{color:var(--v-ink);border-color:var(--v);background:var(--v-soft)}.qz .cls.v i{background:var(--v)}
.qz .cls.vd{color:var(--vd-ink);border-color:var(--vd);background:var(--vd-soft)}.qz .cls.vd i{background:var(--vd)}
.qz .sc.t-o{border-top-color:var(--o)}.qz .sc.t-x{border-top-color:var(--x)}.qz .sc.t-b{border-top-color:var(--b)}.qz .sc.t-bd{border-top-color:var(--bd)}.qz .sc.t-v{border-top-color:var(--v)}.qz .sc.t-vd{border-top-color:var(--vd)}.qz .sc.t-n{border-top-color:var(--line)}
/* Cartões sem classificação usam cor de identificação; o selo permanece neutro. */
.qz .scores .sc.t-n:nth-child(4n+1){--accent:var(--k1)}
.qz .scores .sc.t-n:nth-child(4n+2){--accent:var(--k2)}
.qz .scores .sc.t-n:nth-child(4n+3){--accent:var(--k3)}
.qz .scores .sc.t-n:nth-child(4n+4){--accent:var(--k4)}
.qz .scores .sc.t-n{border-top-color:var(--accent);background:#fff}
.qz .scores .sc.t-n .v{color:var(--accent)}
.qz .scores .sc{min-width:0}
.qz .scores .sc .s span{white-space:normal;overflow-wrap:break-word}
.qz .scores .sc .cls{white-space:normal;max-width:100%;overflow-wrap:break-word}
.qz .scores .sc .l{overflow-wrap:break-word}
@media print{.qz .scores,.qz .scores.many{grid-template-columns:repeat(3,minmax(0,1fr))}.qz .scores .sc .cls{font-size:.8rem}.qz .scores .sc .s{font-size:.78rem}}
.qz .zn.o{background:var(--o-zone)}.qz .zn.x{background:var(--x-zone)}.qz .zn.b{background:var(--b-zone)}.qz .zn.bd{background:var(--bd-zone)}.qz .zn.v{background:var(--v-zone)}.qz .zn.vd{background:var(--vd-zone)}
.qz .zn.o em{color:var(--o-ink)}.qz .zn.x em{color:var(--x-ink)}.qz .zn.b em{color:var(--b-ink)}.qz .zn.bd em{color:#fff}.qz .zn.v em{color:var(--v-ink)}.qz .zn.vd em{color:#fff}
.qz .ck.o{border-left-color:var(--o)}.qz .ck.x{border-left-color:var(--x)}.qz .ck.b{border-left-color:var(--b)}.qz .ck.bd{border-left-color:var(--bd)}.qz .ck.v{border-left-color:var(--v)}.qz .ck.vd{border-left-color:var(--vd)}
.qz .mk.k1{border-left-color:var(--k1)}.qz .mk.k2{border-left-color:var(--k2)}.qz .mk.k3{border-left-color:var(--k3)}.qz .mk.k4{border-left-color:var(--k4)}
.qz .ml.k1{color:#1B5BAA}.qz .ml.k2{color:#A9431A}.qz .ml.k3{color:var(--k3)}.qz .ml.k4{color:#0B6E4A}
.qz .mk.k1,.qz .mk.k2,.qz .mk.k3,.qz .mk.k4{border-left-width:3px}
/* amostras de cor das legendas */
.qz .sw-t{display:inline-block;width:14px;height:14px;border-radius:3px;vertical-align:-2px;margin-right:6px;border:1px solid rgba(0,0,0,.08)}
.qz .sw-t.g{background:var(--g-zone)}.qz .sw-t.y{background:var(--y-zone)}.qz .sw-t.o{background:var(--o-zone)}.qz .sw-t.r{background:var(--r-zone)}.qz .sw-t.x{background:var(--x-zone)}
.qz .sw-t.b{background:var(--b-zone)}.qz .sw-t.bd{background:var(--bd-zone)}.qz .sw-t.v{background:var(--v-zone)}.qz .sw-t.vd{background:var(--vd-zone)}.qz .sw-t.n{background:var(--line-2)}
.qz .c-leg{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;font:.86rem/1.3 var(--ui);color:var(--ink-2);margin:10px 0 0}
.qz .c-leg span{display:inline-flex;align-items:center}

/* ---------- velocímetro ---------- */
.qz .gauges{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px 26px;align-items:start}
.qz .gauges.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.qz .gauges.n3{grid-template-columns:minmax(0,1fr)}}
.qz .gauge{margin:6px 0 0;break-inside:avoid;page-break-inside:avoid}
.qz .g-tit{font:600 1.08rem/1.2 var(--head);text-align:center;margin-bottom:4px}
.qz .g-box{position:relative;max-width:380px;margin:0 auto}
.qz .gauge-svg{display:block;width:100%;height:auto}
.qz .gz{stroke:#fff;stroke-width:1.5;opacity:.42}.qz .gz.on{opacity:1;stroke:var(--ink);stroke-width:2.5}
.qz .gz.g{fill:var(--g)}.qz .gz.y{fill:#E3A82B}.qz .gz.o{fill:var(--o)}.qz .gz.r{fill:var(--r)}.qz .gz.x{fill:var(--x)}.qz .gz.b{fill:var(--b)}.qz .gz.bd{fill:var(--bd)}.qz .gz.v{fill:var(--v)}.qz .gz.vd{fill:var(--vd)}
.qz .gsep{stroke:#fff;stroke-width:3}
.qz .gnum{font:600 12px var(--ui);fill:var(--mute)}
.qz .gneedle{stroke:var(--ink);stroke-width:5;stroke-linecap:round}
.qz .ghub{fill:var(--ink);stroke:#fff;stroke-width:3}
.qz .gmk{stroke-width:4;stroke-linecap:round}.qz .gmk.k1{stroke:var(--k1)}.qz .gmk.k2{stroke:var(--k2)}.qz .gmk.k3{stroke:var(--k3)}.qz .gmk.k4{stroke:var(--k4)}
.qz .g-val{display:flex;flex-direction:column;align-items:center;gap:3px;margin-top:2px}
.qz .g-val b{font:700 clamp(2.2rem,6vw,2.8rem)/1 var(--head)}
.qz .g-val small{font:.78rem/1 var(--ui);color:var(--mute);margin-bottom:4px}
.qz .g-val .cls{font-size:.82rem;white-space:normal;text-align:center;justify-content:center}
.qz .gleg,.qz .gmleg{list-style:none;padding:0;margin:10px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;font:.84rem/1.3 var(--ui);color:var(--ink-2)}
.qz .gleg li{display:inline-flex;align-items:center;opacity:.72}.qz .gleg li.on{opacity:1;font-weight:600;color:var(--ink)}
.qz .gleg small{color:var(--mute);margin-left:4px;font-weight:400}
.qz .gm-sw{display:inline-block;width:4px;height:14px;border-radius:2px;margin-right:6px}
.qz .gm-sw.k1{background:var(--k1)}.qz .gm-sw.k2{background:var(--k2)}.qz .gm-sw.k3{background:var(--k3)}.qz .gm-sw.k4{background:var(--k4)}

/* ---------- curva normativa ---------- */
.qz .ncurve{margin:8px 0 0;break-inside:avoid;page-break-inside:avoid}
.qz .c-tit{font:.9rem/1.4 var(--ui);color:var(--ink-2);margin-bottom:34px}
.qz .c-tit b{color:var(--ink);font-weight:600}
.qz .c-plot{position:relative;height:150px;border-bottom:1.5px solid var(--ink)}
.qz .c-plot svg{position:absolute;inset:0;width:100%;height:100%}
.qz .cz{stroke:none}
.qz .cz.g{fill:var(--g-zone)}.qz .cz.y{fill:var(--y-zone)}.qz .cz.o{fill:var(--o-zone)}.qz .cz.r{fill:var(--r-zone)}.qz .cz.x{fill:var(--x-zone)}.qz .cz.b{fill:var(--b-zone)}.qz .cz.bd{fill:var(--bd-zone)}.qz .cz.v{fill:var(--v-zone)}.qz .cz.vd{fill:var(--vd-zone)}
.qz .cline{fill:none;stroke:var(--ink-2);stroke-width:2;vector-effect:non-scaling-stroke}
.qz .cgrid{stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}
.qz .cme{stroke:var(--ink);stroke-width:3;vector-effect:non-scaling-stroke}
.qz .c-flag{position:absolute;bottom:100%;transform:translate(-50%,-6px);background:var(--ink);color:#fff;padding:3px 8px;font:.74rem/1.2 var(--ui);text-align:center;white-space:nowrap;z-index:2}
.qz .c-flag b{display:block;font:700 1rem/1.1 var(--head)}
.qz .cg{position:absolute;bottom:0;width:0;height:100%;border-left:3px solid;z-index:1}
.qz .cg.k1{border-color:var(--k1)}.qz .cg.k2{border-color:var(--k2)}.qz .cg.k3{border-color:var(--k3)}.qz .cg.k4{border-color:var(--k4)}
.qz .cg-sw{display:inline-block;width:4px;height:14px;border-radius:2px;margin-right:6px}
.qz .cg-sw.k1{background:var(--k1)}.qz .cg-sw.k2{background:var(--k2)}.qz .cg-sw.k3{background:var(--k3)}.qz .cg-sw.k4{background:var(--k4)}
.qz .c-ax{position:relative;height:34px;font:.74rem/1.15 var(--ui);color:var(--mute)}
.qz .c-ax span{position:absolute;top:4px;transform:translateX(-50%);text-align:center;white-space:nowrap}
.qz .c-ax b{display:block;color:var(--ink-2);font-weight:600}
.qz .c-read{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px;font:.9rem/1.45 var(--ui);color:var(--ink-2);margin:10px 0 0;text-align:center}
@media (max-width:560px){.qz .c-ax span:nth-child(2),.qz .c-ax span:nth-child(4){display:none}.qz .c-plot{height:120px}}

/* ---------- grupos de referência ---------- */
.qz .gr{margin:6px 0 0}
.qz .gr-leg{display:flex;flex-wrap:wrap;gap:6px 18px;font:.86rem/1.3 var(--ui);color:var(--ink-2);margin:0 0 6px}
.qz .gr-leg span{display:inline-flex;align-items:center}
.qz .gl-sw{display:inline-block;width:22px;height:10px;border-radius:5px;margin-right:6px;position:relative}
.qz .gl-sw.k1{background:var(--k1)}.qz .gl-sw.k2{background:var(--k2)}.qz .gl-sw.k3{background:var(--k3)}.qz .gl-sw.k4{background:var(--k4)}
.qz .gl-sw.sd{background:color-mix(in srgb,var(--k5) 30%,#fff);border:1px solid var(--k5)}
.qz .gr-me-sw{display:inline-block;width:12px;height:12px;background:var(--ink);transform:rotate(45deg);margin-right:8px;border:2px solid #fff;box-shadow:0 0 0 1px var(--ink)}
.qz .gr-row{display:grid;grid-template-columns:minmax(0,12.5rem) minmax(0,1fr);gap:4px 18px;align-items:center;padding:14px 0 6px;border-top:1px solid var(--line-2);break-inside:avoid;page-break-inside:avoid}
.qz .gr-lab{font:600 .98rem/1.25 var(--ui);grid-row:span 2}
.qz .gr-lab small{display:block;font-weight:400;font-size:.8rem;color:var(--mute);margin-top:2px}
.qz .gr-lab .cls{margin-top:6px;font-size:.8rem}
.qz .gr-trk{position:relative;display:flex;flex-direction:column;gap:5px;padding:26px 0 4px;background:linear-gradient(var(--line-2),var(--line-2)) left 26px / 100% calc(100% - 30px) no-repeat}
.qz .gr-trk{background:none}
.qz .gl{position:relative;height:12px;background:var(--wash);border-radius:6px}
.qz .gl-sd{position:absolute;top:0;bottom:0;border-radius:6px;opacity:.28}
.qz .gl-m{position:absolute;top:-3px;bottom:-3px;width:4px;margin-left:-2px;border-radius:2px}
.qz .gl.k1 .gl-sd,.qz .gl.k1 .gl-m{background:var(--k1)}.qz .gl.k2 .gl-sd,.qz .gl.k2 .gl-m{background:var(--k2)}.qz .gl.k3 .gl-sd,.qz .gl.k3 .gl-m{background:var(--k3)}.qz .gl.k4 .gl-sd,.qz .gl.k4 .gl-m{background:var(--k4)}
.qz .gp{position:absolute;top:22px;bottom:0;border-left:1px solid var(--line-2)}
.qz .gr-me{position:absolute;top:22px;bottom:-2px;width:0;border-left:2.5px solid var(--ink);z-index:2}
.qz .gr-me::after{content:"";position:absolute;bottom:-6px;left:-7.5px;width:12px;height:12px;background:var(--ink);transform:rotate(45deg);border:2px solid #fff}
.qz .gr-me b{position:absolute;top:-22px;left:0;transform:translateX(-50%);background:var(--ink);color:#fff;font:700 .84rem/1 var(--head);padding:3px 6px;white-space:nowrap}
.qz .gr-me.g::after,.qz .gr-me.g b{background:var(--g)}.qz .gr-me.y::after,.qz .gr-me.y b{background:#9A6410}.qz .gr-me.o::after,.qz .gr-me.o b{background:var(--o)}.qz .gr-me.r::after,.qz .gr-me.r b{background:var(--r)}.qz .gr-me.x::after,.qz .gr-me.x b{background:var(--x)}
.qz .gr-me.b::after,.qz .gr-me.b b{background:var(--b)}.qz .gr-me.bd::after,.qz .gr-me.bd b{background:var(--bd)}.qz .gr-me.v::after,.qz .gr-me.v b{background:var(--v)}.qz .gr-me.vd::after,.qz .gr-me.vd b{background:var(--vd)}
.qz .gr-me.g,.qz .gr-me.y,.qz .gr-me.o,.qz .gr-me.r,.qz .gr-me.x,.qz .gr-me.b,.qz .gr-me.bd,.qz .gr-me.v,.qz .gr-me.vd{border-left-color:var(--ink)}
.qz .gr-ax{position:relative;height:18px;font:.72rem/1 var(--ui);color:var(--mute);grid-column:2;margin-top:8px}
.qz .gr-ax span{position:absolute;transform:translateX(-50%)}
.qz .gr-ax span:first-child{transform:none}.qz .gr-ax span:last-child{transform:translateX(-100%)}
@media (max-width:560px){.qz .gr-row{grid-template-columns:minmax(0,1fr)}.qz .gr-lab{grid-row:auto}.qz .gr-ax{grid-column:1}}

/* ---------- perfil em colunas ---------- */
.qz .pf{display:grid;grid-template-columns:auto 2.4rem minmax(0,1fr);grid-template-rows:280px auto auto;gap:0 6px;margin:8px 0 0;break-inside:avoid;page-break-inside:avoid}
.qz .pf-ylab{grid-row:1;writing-mode:vertical-rl;transform:rotate(180deg);font:600 .8rem/1 var(--ui);color:var(--mute);text-align:center}
.qz .pf-y{position:relative;grid-row:1;font:.74rem/1 var(--ui);color:var(--mute)}
.qz .pf-y span{position:absolute;right:4px;transform:translateY(50%)}
.qz .pf-plot{position:relative;grid-row:1;grid-column:3;border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);overflow:visible}
.qz .pf-b{position:absolute;left:0;right:0;opacity:.8}
.qz .pf-b em{position:absolute;right:6px;top:50%;transform:translateY(-50%);font:600 .62rem/1 var(--ui);text-transform:uppercase;letter-spacing:.05em;font-style:normal;opacity:.9}
.qz .pf-b.g{background:var(--g-zone)}.qz .pf-b.y{background:var(--y-zone)}.qz .pf-b.o{background:var(--o-zone)}.qz .pf-b.r{background:var(--r-zone)}.qz .pf-b.x{background:var(--x-zone)}.qz .pf-b.b{background:var(--b-zone)}.qz .pf-b.bd{background:var(--bd-zone)}.qz .pf-b.v{background:var(--v-zone)}.qz .pf-b.vd{background:var(--vd-zone)}
.qz .pf-b.g em{color:var(--g-ink)}.qz .pf-b.y em{color:var(--y-ink)}.qz .pf-b.o em{color:var(--o-ink)}.qz .pf-b.r em{color:var(--r-ink)}.qz .pf-b.x em{color:var(--x-ink)}.qz .pf-b.b em{color:var(--b-ink)}.qz .pf-b.bd em{color:#fff}.qz .pf-b.v em{color:var(--v-ink)}.qz .pf-b.vd em{color:#fff}
.qz .pf-b+.pf-b{border-top:1.5px solid #fff}
.qz .pf-col{position:absolute;top:0;bottom:0;border-left:1px dashed rgba(20,22,27,.18)}
.qz .pf-line{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.qz .pf-line polyline{fill:none;stroke:var(--ink);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.qz .pf-line.ref polyline{stroke-width:2;stroke-dasharray:6 4}
.qz .pf-line.ref.k1 polyline{stroke:var(--k1)}.qz .pf-line.ref.k2 polyline{stroke:var(--k2)}.qz .pf-line.ref.k3 polyline{stroke:var(--k3)}.qz .pf-line.ref.k4 polyline{stroke:var(--k4)}
.qz .pf-dot{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--ink);border:3px solid #fff;transform:translate(-50%,50%);box-shadow:0 0 0 1.5px var(--ink);z-index:2}
.qz .pf-dot.g{background:var(--g)}.qz .pf-dot.y{background:#C98A16}.qz .pf-dot.o{background:var(--o)}.qz .pf-dot.r{background:var(--r)}.qz .pf-dot.x{background:var(--x)}.qz .pf-dot.b{background:var(--b)}.qz .pf-dot.bd{background:var(--bd)}.qz .pf-dot.v{background:var(--v)}.qz .pf-dot.vd{background:var(--vd)}
.qz .pf-v{position:absolute;transform:translate(-50%,-14px);font:700 .86rem/1 var(--head);background:#fff;padding:2px 4px;border:1px solid var(--line);z-index:3;white-space:nowrap}
.qz .pf-x{grid-row:2;grid-column:3;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));text-align:center;font:600 .8rem/1.2 var(--ui);padding-top:8px;gap:4px}
.qz .pf-x small{display:block;font-weight:400;color:var(--mute);font-size:.72rem}
.qz .pf-leg{grid-row:3;grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font:.84rem/1.3 var(--ui);color:var(--ink-2);margin-top:10px}
.qz .pfl-sw{display:inline-block;width:22px;border-top:2.5px dashed;margin-right:6px;vertical-align:middle}
.qz .pfl-sw.k1{border-color:var(--k1)}.qz .pfl-sw.k2{border-color:var(--k2)}.qz .pfl-sw.k3{border-color:var(--k3)}.qz .pfl-sw.k4{border-color:var(--k4)}
@media (max-width:560px){.qz .pf{grid-template-rows:230px auto auto}.qz .pf-b em{display:none}.qz .pf-x{font-size:.7rem}.qz .pf-ylab{display:none}.qz .pf{grid-template-columns:0 2rem minmax(0,1fr)}}
@media print{.qz .pf{grid-template-rows:230px auto auto}}

/* ---------- hexaflex ---------- */
.qz .hx{margin:6px 0 0;break-inside:avoid;page-break-inside:avoid}
.qz .hx-box{position:relative;max-width:560px;margin:0 auto}
.qz .hx-box svg{display:block;width:100%;height:auto}
.qz .hx-out{fill:var(--wash);stroke:var(--line);stroke-width:1.5}
.qz .hx-ring{fill:none;stroke:var(--line-2);stroke-width:1}
.qz .hx-ray{stroke:var(--line);stroke-width:1}
.qz .hx-num{font:11px var(--ui);fill:var(--mute)}
.qz .hx-shape{fill:color-mix(in srgb,var(--k1) 22%,transparent);stroke:var(--k1);stroke-width:3;stroke-linejoin:round}
.qz .hx-dot{fill:var(--ink);stroke:#fff;stroke-width:3}
.qz .hx-dot.g{fill:var(--g)}.qz .hx-dot.y{fill:#C98A16}.qz .hx-dot.o{fill:var(--o)}.qz .hx-dot.r{fill:var(--r)}
.qz .hx-lab{position:absolute;transform:translate(-50%,-50%);text-align:center;width:9.5rem;font:.78rem/1.2 var(--ui);color:var(--ink-2)}
.qz .hx-lab b{display:block;font:600 .92rem/1.15 var(--ui);color:var(--ink)}
.qz .hx-lab span{display:inline-block;margin-top:3px;font:700 .95rem/1 var(--head);padding:2px 7px;border:1.5px solid var(--line);background:#fff}
.qz .hx-lab.g span{border-color:var(--g);background:var(--g-soft)}.qz .hx-lab.y span{border-color:var(--y);background:var(--y-soft)}.qz .hx-lab.o span{border-color:var(--o);background:var(--o-soft)}.qz .hx-lab.r span{border-color:var(--r);background:var(--r-soft)}
.qz .hx-c{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;background:rgba(255,255,255,.88);padding:4px 8px;border-radius:6px}
.qz .hx-c b{display:block;font:700 1.5rem/1 var(--head)}.qz .hx-c small{font:.72rem/1.1 var(--ui);color:var(--mute)}
@media (max-width:560px){.qz .hx-lab{width:6.6rem;font-size:.66rem}.qz .hx-lab b{font-size:.74rem}.qz .hx-lab small{display:none}}

/* ---------- mapa de calor ---------- */
.qz .heat{--hc:#B42318;margin:6px 0 0}
.qz .ht-leg{display:flex;flex-wrap:wrap;gap:6px 16px;font:.84rem/1.3 var(--ui);color:var(--ink-2);margin:0 0 8px}
.qz .ht-leg span{display:inline-flex;align-items:center}
.qz .ht-sw{display:inline-block;width:18px;height:14px;margin-right:6px;border-radius:2px;background:color-mix(in srgb,var(--hc) calc(var(--q) * 85%),#F4F4F1);border:1px solid rgba(0,0,0,.08)}
.qz .ht-row{display:grid;grid-template-columns:2rem minmax(0,1fr) repeat(var(--nc),minmax(4.6rem,7.5rem));gap:3px 8px;align-items:center;padding:2px 0;break-inside:avoid;page-break-inside:avoid}
.qz .ht-head{font:600 .78rem/1.2 var(--ui);color:var(--mute);border-bottom:1.5px solid var(--ink);padding-bottom:6px}
.qz .ht-head span:nth-child(n+3){text-align:center}
.qz .ht-gl{font:600 .92rem/1.2 var(--ui);background:var(--wash);padding:7px 8px;margin-top:8px;break-after:avoid;page-break-after:avoid}
.qz .ht-gl small{font-weight:400;color:var(--mute);margin-left:8px}
.qz .ht-n{font:600 .8rem/1 var(--ui);color:var(--mute);text-align:center}
.qz .ht-t{font:.88rem/1.3 var(--ui)}
.qz .ht-c{display:block;text-align:center;font:600 .78rem/1.1 var(--ui);padding:6px 4px;border-radius:3px;background:color-mix(in srgb,var(--hc) calc(var(--q) * 85%),#F4F4F1);color:var(--ink)}
.qz .ht-c[data-v="3"],.qz .ht-c[data-v="4"]{color:#fff}
.qz .heat.strengths{--hc:#285E9C}
.qz .heat.strengths .ht-c[data-v="5"]{color:#fff}
@media (max-width:560px){.qz .ht-row{grid-template-columns:1.4rem minmax(0,1fr) repeat(var(--nc),3.7rem)}.qz .ht-t{font-size:.8rem}.qz .ht-c{font-size:.68rem;padding:5px 2px}}

/* ---------- painel de sinais ---------- */
.qz .sg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px 20px;margin-top:6px}
.qz .sg-row{border:1px solid var(--line);border-left:6px solid var(--c,var(--k5));padding:10px 12px;break-inside:avoid;page-break-inside:avoid;background:#fff}
.qz .sg-row.k1{--c:var(--k1)}.qz .sg-row.k2{--c:var(--k2)}.qz .sg-row.k3{--c:var(--k3)}.qz .sg-row.k4{--c:var(--k4)}.qz .sg-row.k5{--c:#C2477A}.qz .sg-row.k6{--c:#B7791F}
.qz .sg-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font:600 .98rem/1.2 var(--ui)}
.qz .sg-n{font:700 1.4rem/1 var(--head)}.qz .sg-n small{font:400 .8rem var(--ui);color:var(--mute)}
.qz .sg-bar{display:flex;align-items:center;gap:3px;margin:8px 0 6px}
.qz .sg-bar i{flex:1;height:12px;background:var(--wash);border:1px solid var(--line-2);border-radius:2px}
.qz .sg-bar i.on{background:var(--c,var(--k5));border-color:var(--c,var(--k5))}
.qz .sg-bar em{font:600 .78rem var(--ui);font-style:normal;color:var(--mute);margin-left:6px;min-width:2.6em;text-align:right}
.qz .sg-tags{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:5px}
.qz .sg-tags li{font:.8rem/1.25 var(--ui);padding:3px 8px;border-radius:12px;background:color-mix(in srgb,var(--c,var(--k5)) 14%,#fff);border:1px solid color-mix(in srgb,var(--c,var(--k5)) 45%,#fff)}
.qz .sg-none{font:.82rem var(--ui);color:var(--mute);margin:4px 0 0}

/* ---------- utilidades do relatório v7 ---------- */
.qz .gtag{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:7px;vertical-align:0}
.qz .gtag.k1{background:var(--k1)}.qz .gtag.k2{background:var(--k2)}.qz .gtag.k3{background:var(--k3)}.qz .gtag.k4{background:var(--k4)}
.qz .sc .v small{font-size:.45em;color:var(--mute);margin-left:2px}
.qz .duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px 28px;align-items:start}
.qz .kpi{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:10px 0 0}
.qz .kpi div{border:1px solid var(--line);padding:8px 14px;text-align:center;min-width:8rem;background:#fff}
.qz .kpi b{display:block;font:700 1.5rem/1.05 var(--head)}.qz .kpi small{font:.78rem/1.2 var(--ui);color:var(--mute)}
.qz .reflist{font:.86rem/1.45 var(--ui);color:var(--ink-2);margin:8px 0 0;padding-left:1.1rem}
@media print{.qz .gauges,.qz .duo{gap:10pt 14pt}.qz .hx-box{max-width:470px}.qz .c-plot{height:130px}.qz .sg{grid-template-columns:repeat(2,minmax(0,1fr))}.qz .gr-row{grid-template-columns:minmax(0,11rem) minmax(0,1fr)}.qz .gr-lab{grid-row:span 2}.qz .gr-ax{grid-column:2}
  .qz .gauge,.qz .ncurve,.qz .gr-row,.qz .pf,.qz .hx,.qz .ht-row,.qz .sg-row,.qz .heat .ht-head{break-inside:avoid;page-break-inside:avoid}.qz .ht-gl{break-after:avoid;page-break-after:avoid}}

